* 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.
* 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>
* 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
* 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>
* 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>
* 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
* 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