Commit Graph

28 Commits

Author SHA1 Message Date
Robin Goetz fc8c037add feat(mcp): release and version mcp server alongside cli and brain (#1448)
* feat(mcp): release and version mcp server alongside cli and brain

Wire the MCP server package into the release pipeline so it is published
and version-synced with the cli and brain packages. Add a
replace-mcp-version generator (invoked by auto-increment-version for
nightly and prepare-manual-release for manual), a release-mcp script,
and sync the package to the current alpha version.

Also drop the orphan scope:core tag from release-ui and list mcp in the
PR template's affected-packages section.

* refactor: document release schemas and harden version error handling

Fill in the empty titles and descriptions on the release generator and
executor schemas, and declare the newVersion option so the version
generators are self-documenting and CLI-invocable.

Make the version generators throw with actionable messages instead of
silently logging and returning, validate the brain version format in
auto-increment-version, and fix the misleading source-of-truth message
in replace-ui-version.

* fix: prevent shell injection in npm publish and correct version flag hints

Validate the TAG dist-tag and publish via execFileSync with an argument
array instead of interpolating it into a shell string, removing a
shell-injection vector in the npm-publish executor.

Correct the version generators' error messages to reference the actual
--newVersion / --new-version flag rather than the reserved --version.
2026-06-10 09:58:55 +02:00
Sammy Mohamed 3f743e19f7 feat: better form control integration (#1053)
* feat: better form control integration

- general a11y described by service
- hint and error stories
- datepicker value type
- mock resizeObserver causing select failure
- form desciption test failures

* feat: autocomplete and combobox

- re-implemented form integration based on latest implementation

* fix: error state

* fix: formatting

* chore: update snapshot

* fix: format

* fix: update snapshot

* fix: autocomplete stories

* fix: test

* fix: remove not needed effects

* fix: call onTouched when autocomplete focus out

* fix: evaluate only error state in field

* fix: fix slider classes and field integration

* fix: set correct error styles to input group

* feat: add native select field control support

* fix: implement field control

* fix: emit touched when blurred for combobox

* fix: add invalid support for combobox multiple

* fix: fix autcomplete search and input styles

* feat: improve control state data attributes and hlm-error

- render hlm-error if error presetn
- add touched, dirty and matches-spartan-invalid attributes

* feat: apply field control as host directive

* test: fix some control error stories WIP

* fix: lint issues w/ type imports and sort order

* chore: remove form-field package as it is replaced by field

* chore: update snapshot

* fix: fix autocomplete providers array and error story

* fix: fix select, field error and input group

* docs: fix reactive forms examples WIP

* feat: add healthcheck and migration for hlm-form-field to hlm-field

* fix: add value accessor to date-picker multi

* docs: update field for/id

* fix: fix checkbox and rename CVA providers

* fix: add and fix tests

* docs(field): update headings

* feat(autocomplete): add inputId

* feat(combobox): add input/button id

* chore: update snapshot

* docs(date-picker): use hlm field

* docs(field): add native-select example, simplify selectId

* docs: use hlm-field for date-picker blocks

* feat: update form field usage in autocomplete story

* fix(input): unit test and remove unused ngControl

* fix: comment out missing errorState in select

* feat: remove ng-* classes

* feat: remove unused code

* fix: comment out error in unit tests

* feat: set label for attribute automatically

* refactor: rename variable

* docs: add brain input and textarea docs

* fix: apply button styles in storybook

* fix: fix select test and add missing attributes

* feat: add attributes to switch

* fix: fix field e2e tests and lint errors

* chore: fix format

* fix: add optional chain

* feat(select): add controls and aria labels to brn-select-trigger

* fix: update default value for select demo

* docs(select): add form example

* chore: update snapshot

* fix(select): add optional chain for aria-invalid

* feat(select): update e2e test form attributes

* fix(input): form unit test

* fix(select): update unit test template, add HlmFieldControlDescribedBy to select trigger button

* fix(combobox): use new combobox template for unit test

* add hlmFieldControlDescribedBy to combobox trigger button

* chore: remove console log from unit test

* fix(checkbox): use buttonName instead of id

* fix: lint issue w/ import

* test: fix unit tests

* docs: add field date picker preview

* docs: fix blocks and reactive forms

* docs: improve control, field and forms docs

* feat: add provider for error matcher

* chore: rename var

* fix: replace aria-invalid in registry styles

* feat: move state to brn, add to combo tigger

* chore: format

* feat(combobox): apply form attributes on brnComboboxTrigger

* remove need for applyControlState

* chore: update snapshot

* docs: update container width for the responsive select demo

* fix: remove aria invalid and fix chips focus styles

* feat(field): move HlmFieldControlDescribedBy and HlmFieldA11yService into brain package

* chore: update snapshot

* feat(field): update id input handling, update styles

* docs: update form examples to required

* feat: add forceInvalid to brn-field and brn-checkbox

* allow overrides to data-invalid and data-matches-spartan-invalid

* fix: add error if ngControl.control is not defined

---------

Co-authored-by: Merlin <merlin.moos@oldendorff.com>
Co-authored-by: Toni Škobić <toni.skobic@gmail.com>
Co-authored-by: Marc Stammerjohann <8985933+marcjulian@users.noreply.github.com>
2026-03-31 12:41:44 +02:00
Marc Stammerjohann 0f2fe5e21c feat(native-select): add new primitive (#1214)
* feat(native-select): add native-select

* feat(native-select): add form control to native select

* fix(native-select): lint issues

* feat(native-select): remove conflicting select styles

* feat(native-select): update select icon class size and input, add primtive deps

* feat(native-select): update snapshot

* docs(native-select): update meta

* feat(native-select): split model into input, linkedSignal and output to avoid model change events

* feat(native-select): update access modifier

* feat(native-select): use model for value, but keep valueChange as separate output
2026-02-19 12:38:39 +01:00
abiramcodes 9492ade510 fix: added field primitive to pull request template 2025-11-02 17:33:08 +05:30
moosme 7bd9eb62b1 feat(resizable): add resziable (#871)
* feat(resizable): add resizable #120

* feat(resizable): add docs

* feat(resizable): remove deps

* feat(resizable): add generator

* fix(tabs): performance

* fix: flickering

* fix: lint

* fix: add descr

* fix: run format and add descr

* fix: remove module

---------

Co-authored-by: Merlin <merlin.moos@oldendorff.com>
2025-10-24 13:27:05 +02:00
Merlin 8038cc7fbe feat(item): finalize docs 2025-10-22 15:40:07 +02:00
Phuong Tran Dong 3e8b235069 feat(empty): add empty component (#925)
* feat(empty): add empty component

* feat(empty): fix page navigation

* feat(empty): fix unit test

* feat(empty): fix review comments

* feat(empty): fix lint
2025-10-15 09:52:16 +02:00
Phuong Tran Dong 1dc22594d2 feat(button-group): add new button-group component (#917)
* feat(button-group): add new button-group component

* feat(button-group): fix lint

* feat(button-group): fix format and snapshot

* feat(button-group): fix e2e test

* feat(button-group): fix review comments

* feat(button-group): fix example imports

* feat(button-group): fix review comments and apply suggestion

* feat(button-group): update template

* feat(button-group): remove role from separator

* feat(button-group): fix snapshot

* feat(button-group): remove unnessesary margin for button group separator
2025-10-13 17:05:48 +02:00
Merlin Moos 6ac2ac661b feat(kbd): add kbd 2025-10-06 23:36:48 +02:00
Merlin Moos 55e4fc9c87 Merge remote-tracking branch 'origin/main' into input-group 2025-09-30 22:17:23 +02:00
Merlin Moos 93b81dcc9c feat(input-group): align github templates 2025-09-30 22:17:14 +02:00
Merlin Moos 6906aaaf2d feat(input-group): align github templates 2025-09-30 22:16:48 +02:00
Merlin 10ee70ab86 Merge remote-tracking branch 'origin/main' into sidebar 2025-09-15 21:58:10 +02:00
Marc Stammerjohann 79ed97dbc4 feat: autocomplete (#853)
* feat(autocomplete): add autocomplete component

* add example for async filter w/ new resource
* add example for form

* feat(autocomplete): update snapshot

* docs(autocomplete): rename page selector

* feat(autocomplete): change model to input, linkedSignal and output

* feat(autocomplete): add primitive dependencies for autocomplete

# Conflicts:
#	libs/cli/src/generators/ui/primitive-deps.ts

* feat(autocomplete): copy hlm to cli

* docs(autocomplete): fix type

Co-authored-by: Ashley Hunter <ashley.hunter@hotmail.co.uk>

* feat(autocomplete): update inputs

Co-authored-by: Ashley Hunter <ashley.hunter@hotmail.co.uk>

* feat(autocomplete): adjust to input styles, add arrowDown to trigger options

* focus input on toggle button click

* fix(autocomplete): lint error

* feat(autocomplete): override hlm-command-search-input height

* feat(autocomplete): add loading state option to differentiate empty state

* feat(autocomplete): generate snapshot

* feat(autocomplete): use BrnPopover to trigger open/close

* remove syncing of the popover state

* docs(autocomplete): add api docs for helm

* feat(autocomplete): simplify styles by creating autocomplete specific command components

* feat(autocomplete): remove unused HlmCommand

* feat(autocomplete): add filter input for command, rename previous filter to search

* docs(autocomplete): remove unused form from async example

* feat(autocomplete): remove addition * from comments

* feat(autocomplete): generate snapshot

* feat(autocomplete): update searchChange comment

* feat(autocomplete): add inputs for loading and empty text

* feat(autocomplete): allow search input to be optional

* feat(autocomplete): add background to autocomplete

* feat(autocomplete): override command filter to always true

* feat(command): set command item to active on mouseenter, use host click listener

* feat(autocomplete): allow focus active on enter only when popover is open

* feat(autocomplete): update imports and dialog attachTo

* feat(autocomplete): add @spartan-ng/brain/autocomplete supporting value as T

* feat(autocomplete): update snapshot and remove focusActiveOnEnter from command

* feat(autocomplete):  allow generic for HlmAutocomplete, add objects example with countries

* feat(autocomplete): focus first item when items change

* if ther eis not active item
* if active item is not in items
* if first item is not active item

* feat(autocomplete): use brnAutocomplete in hlm-autocomplete

* feat(autocomplete): cleanup BrnAutocomplete unused config and platform

* feat(autocomplete): move options and filter out, use only filteredOptions

* update examples

* fix(autocomplete): lint issue

* feat(autocomplete): update hlm/brain exports

* feat(autocomplete): use autocomplete list styles to set max height, update id in HlmAutocomplete

* feat(autocomplete): open popover keydown/toggle if there is a search term/options to show

* hide autocomplete list when filtered options are empty
* add aria-label input for the toggle button
* add class input for empty state

---------

Co-authored-by: Ashley Hunter <ashley.hunter@hotmail.co.uk>
2025-09-09 22:39:32 +02:00
Merlin Moos 4853c8d8fc feat(sidebar): initial sidebar #497 2025-08-24 21:02:52 +02:00
Merlin Moos c87ba101a8 feat(sidebar): initial sidebar #497 2025-08-23 10:08:32 +02:00
Benjamin Heiss a6f50e81b5 docs(repo): update folder structure info and other missing informatio… (#746)
* docs(repo): update folder structure info and other missing information in contributing guide

* docs(repo): fix urls, add cli scope, clean up readme (#747)

---------

Co-authored-by: Robin Goetz <35136007+goetzrobin@users.noreply.github.com>
2025-07-07 15:06:33 +02:00
Marc Stammerjohann 5e8f93dcf3 docs(sonner): polishing (#694) 2025-05-26 12:06:31 -04:00
Ajit Panigrahi c74302d3e1 docs: rename href to link for breadcrumb links (#678)
* docs: rename  to  for breadcrumb link

* chore: update package names in scopes

* fix: remove unknown, unused hlmL directive
2025-05-02 17:46:39 +02:00
Marc Stammerjohann ef8aaa9bf0 feat: add input-otp (#639) 2025-04-10 20:14:53 +02:00
Jakub Sapała 23b13891e7 feat: toggle-group component (#634)
* feat(toggle-group): first draft with existing brn toggle group functionalities

* chore(toggle-group): add toggle-group to scope & template

* chore: move toggle-group functionality to new brn & hlm

* fix: fix error at format and lint

* fix: fix remaining eslint error

* fix: update spartan-ng/brain version for toggle-group

* fix: resolve format issue in the toggle-group

* fix(toggle-group): resolve e2e errors

* feat(toggle-group): add healthcheck migrate toggle-group

* feat(toggle-group): add argTypes in toggle-group storybook & fix format issues

* chore: delete unnecessary comments

* chore: nightly release 2025-04-02 ⚡

* chore: nightly release 2025-04-03 ⚡

* chore: nightly release 2025-04-04 ⚡

* chore: update toggle-group dependencies

---------

Co-authored-by: Leonidas <leonidas@spartan.ng>
2025-04-08 08:53:47 +02:00
Tobias Landenberger 7022bdab9f docs: extend carousel documentation (#627)
* feat(carousel): add carousel component stories

* docs: add carousel component examples to documentation

* chore: add carousel option to pull request template

* chore: fix broken lockfile
2025-03-20 13:52:42 +01:00
robingotz 88e97b4bfd chore: add sonner to github templates and add helm tag 2024-03-26 11:53:47 -04:00
Esther White edc050aa96 feat(docs): adding icon to issue and PR templates (#218) 2024-03-20 11:38:18 -04:00
Marc 8a05e38b05 Update docs for spinner and pagination (#162)
* docs(spinner): change meta/selector/page to spinner

* docs(pagination): clean up example page

* docs(spinner): add to feature request and pr template

* docs: update roadmap
2024-02-21 17:51:20 +01:00
Marc 0f118cb7e3 feat(pagination): add pagination (#142)
* feat(pagination): add pagination

* feat(pagination): add href to previous/next and use routerLink for navigation

* feat(pagination): update storybook

* feat(pagination): use routerLink as host directive for paginationLink

* rename routerLink to link as input

* feat(pagination): expose all routerLink inputs for pagination link

* feat(pagination): run hlm-to-cli generator

* feat(pagination): add pagination on roadmap

* feat(pagination): adds icon and button dependent

* feat(pagination): add to pr and issue templates
2024-02-13 17:19:55 +01:00
robingotz 43db6070d2 fix(typography): remove orphan equal sign from story 2023-06-27 09:38:18 -04:00
Robin Goetz 5582a9b4bd build: setup initial CI and other repository helpers
Taken from the amazing config set up in the Analog repository. This is starting to feel legit...
2023-06-16 13:29:54 -04:00