@surfnet/curve-angular 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.postcssrc.json +7 -0
- package/.storybook/main.ts +9 -0
- package/.storybook/manager.ts +3 -0
- package/.storybook/preview.ts +28 -0
- package/.storybook/tsconfig.json +8 -0
- package/.turbo/turbo-build.log +32 -0
- package/CHANGELOG.md +29 -0
- package/angular.json +52 -0
- package/components.json +5 -0
- package/dist/fesm2022/surfnet-curve-angular.mjs +4237 -0
- package/dist/fesm2022/surfnet-curve-angular.mjs.map +1 -0
- package/dist/files/geist-cyrillic-ext-wght-italic.woff2 +0 -0
- package/dist/files/geist-cyrillic-ext-wght-normal.woff2 +0 -0
- package/dist/files/geist-cyrillic-wght-italic.woff2 +0 -0
- package/dist/files/geist-cyrillic-wght-normal.woff2 +0 -0
- package/dist/files/geist-latin-ext-wght-italic.woff2 +0 -0
- package/dist/files/geist-latin-ext-wght-normal.woff2 +0 -0
- package/dist/files/geist-latin-wght-italic.woff2 +0 -0
- package/dist/files/geist-latin-wght-normal.woff2 +0 -0
- package/dist/files/geist-vietnamese-wght-italic.woff2 +0 -0
- package/dist/files/geist-vietnamese-wght-normal.woff2 +0 -0
- package/dist/styles.css +2 -0
- package/dist/types/surfnet-curve-angular.d.ts +1017 -0
- package/ng-package.json +20 -0
- package/package.json +73 -0
- package/scripts/copy-font-files.ts +15 -0
- package/scripts/rewrite-helm-imports.ts +60 -0
- package/src/foundations/design-tokens.stories.ts +198 -0
- package/src/lib/ui/avatar/src/index.ts +22 -0
- package/src/lib/ui/avatar/src/lib/hlm-avatar-badge.ts +19 -0
- package/src/lib/ui/avatar/src/lib/hlm-avatar-fallback.ts +20 -0
- package/src/lib/ui/avatar/src/lib/hlm-avatar-group-count.ts +17 -0
- package/src/lib/ui/avatar/src/lib/hlm-avatar-group.ts +17 -0
- package/src/lib/ui/avatar/src/lib/hlm-avatar-image.ts +19 -0
- package/src/lib/ui/avatar/src/lib/hlm-avatar.stories.ts +107 -0
- package/src/lib/ui/avatar/src/lib/hlm-avatar.ts +32 -0
- package/src/lib/ui/breadcrumb/src/index.ts +30 -0
- package/src/lib/ui/breadcrumb/src/lib/hlm-breadcrumb-ellipsis.ts +36 -0
- package/src/lib/ui/breadcrumb/src/lib/hlm-breadcrumb-item.ts +14 -0
- package/src/lib/ui/breadcrumb/src/lib/hlm-breadcrumb-link.ts +36 -0
- package/src/lib/ui/breadcrumb/src/lib/hlm-breadcrumb-list.ts +17 -0
- package/src/lib/ui/breadcrumb/src/lib/hlm-breadcrumb-page.ts +17 -0
- package/src/lib/ui/breadcrumb/src/lib/hlm-breadcrumb-separator.ts +27 -0
- package/src/lib/ui/breadcrumb/src/lib/hlm-breadcrumb.stories.ts +81 -0
- package/src/lib/ui/breadcrumb/src/lib/hlm-breadcrumb.ts +13 -0
- package/src/lib/ui/button/src/index.ts +6 -0
- package/src/lib/ui/button/src/lib/hlm-button.stories.ts +170 -0
- package/src/lib/ui/button/src/lib/hlm-button.token.ts +22 -0
- package/src/lib/ui/button/src/lib/hlm-button.ts +76 -0
- package/src/lib/ui/card/src/index.ts +25 -0
- package/src/lib/ui/card/src/lib/hlm-card-action.ts +12 -0
- package/src/lib/ui/card/src/lib/hlm-card-content.ts +12 -0
- package/src/lib/ui/card/src/lib/hlm-card-description.ts +12 -0
- package/src/lib/ui/card/src/lib/hlm-card-footer.ts +14 -0
- package/src/lib/ui/card/src/lib/hlm-card-header.ts +15 -0
- package/src/lib/ui/card/src/lib/hlm-card-title.ts +12 -0
- package/src/lib/ui/card/src/lib/hlm-card.stories.ts +105 -0
- package/src/lib/ui/card/src/lib/hlm-card.token.ts +19 -0
- package/src/lib/ui/card/src/lib/hlm-card.ts +22 -0
- package/src/lib/ui/checkbox/src/index.ts +5 -0
- package/src/lib/ui/checkbox/src/lib/hlm-checkbox.stories.ts +78 -0
- package/src/lib/ui/checkbox/src/lib/hlm-checkbox.ts +160 -0
- package/src/lib/ui/data-table/src/index.ts +14 -0
- package/src/lib/ui/data-table/src/lib/hlm-data-table-content.ts +87 -0
- package/src/lib/ui/data-table/src/lib/hlm-data-table-pagination.ts +62 -0
- package/src/lib/ui/data-table/src/lib/hlm-data-table-toolbar.ts +16 -0
- package/src/lib/ui/data-table/src/lib/hlm-data-table.stories.ts +479 -0
- package/src/lib/ui/data-table/src/lib/inject-data-table.ts +86 -0
- package/src/lib/ui/dropdown-menu/src/index.ts +45 -0
- package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-checkbox-indicator.ts +20 -0
- package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-checkbox.ts +36 -0
- package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-group.ts +16 -0
- package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-item-sub-indicator.ts +17 -0
- package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-item.ts +41 -0
- package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-label.ts +20 -0
- package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-radio-indicator.ts +20 -0
- package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-radio.ts +36 -0
- package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-separator.ts +14 -0
- package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-shortcut.ts +14 -0
- package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-sub.ts +58 -0
- package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-token.ts +26 -0
- package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-trigger.ts +49 -0
- package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu.stories.ts +125 -0
- package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu.ts +62 -0
- package/src/lib/ui/field/src/index.ts +34 -0
- package/src/lib/ui/field/src/lib/hlm-field-content.ts +12 -0
- package/src/lib/ui/field/src/lib/hlm-field-description.ts +53 -0
- package/src/lib/ui/field/src/lib/hlm-field-error.ts +100 -0
- package/src/lib/ui/field/src/lib/hlm-field-group.ts +15 -0
- package/src/lib/ui/field/src/lib/hlm-field-label.ts +17 -0
- package/src/lib/ui/field/src/lib/hlm-field-legend.ts +17 -0
- package/src/lib/ui/field/src/lib/hlm-field-separator.ts +24 -0
- package/src/lib/ui/field/src/lib/hlm-field-set.ts +15 -0
- package/src/lib/ui/field/src/lib/hlm-field-title.ts +15 -0
- package/src/lib/ui/field/src/lib/hlm-field.stories.ts +117 -0
- package/src/lib/ui/field/src/lib/hlm-field.ts +49 -0
- package/src/lib/ui/icon/src/index.ts +7 -0
- package/src/lib/ui/icon/src/lib/hlm-icon.token.ts +20 -0
- package/src/lib/ui/icon/src/lib/hlm-icon.ts +42 -0
- package/src/lib/ui/input/src/index.ts +5 -0
- package/src/lib/ui/input/src/lib/hlm-input.stories.ts +94 -0
- package/src/lib/ui/input/src/lib/hlm-input.ts +20 -0
- package/src/lib/ui/input-group/src/index.ts +22 -0
- package/src/lib/ui/input-group/src/lib/hlm-input-group-addon.ts +40 -0
- package/src/lib/ui/input-group/src/lib/hlm-input-group-button.ts +47 -0
- package/src/lib/ui/input-group/src/lib/hlm-input-group-input.ts +17 -0
- package/src/lib/ui/input-group/src/lib/hlm-input-group-text.ts +14 -0
- package/src/lib/ui/input-group/src/lib/hlm-input-group-textarea.ts +17 -0
- package/src/lib/ui/input-group/src/lib/hlm-input-group.stories.ts +133 -0
- package/src/lib/ui/input-group/src/lib/hlm-input-group.ts +18 -0
- package/src/lib/ui/label/src/index.ts +5 -0
- package/src/lib/ui/label/src/lib/hlm-label.stories.ts +55 -0
- package/src/lib/ui/label/src/lib/hlm-label.ts +17 -0
- package/src/lib/ui/select/src/index.ts +52 -0
- package/src/lib/ui/select/src/lib/hlm-select-content.ts +44 -0
- package/src/lib/ui/select/src/lib/hlm-select-group.ts +14 -0
- package/src/lib/ui/select/src/lib/hlm-select-item.ts +36 -0
- package/src/lib/ui/select/src/lib/hlm-select-label.ts +14 -0
- package/src/lib/ui/select/src/lib/hlm-select-multiple.ts +45 -0
- package/src/lib/ui/select/src/lib/hlm-select-placeholder.ts +17 -0
- package/src/lib/ui/select/src/lib/hlm-select-portal.ts +8 -0
- package/src/lib/ui/select/src/lib/hlm-select-scroll-down.ts +22 -0
- package/src/lib/ui/select/src/lib/hlm-select-scroll-up.ts +22 -0
- package/src/lib/ui/select/src/lib/hlm-select-separator.ts +14 -0
- package/src/lib/ui/select/src/lib/hlm-select-trigger.ts +59 -0
- package/src/lib/ui/select/src/lib/hlm-select-value-template.ts +5 -0
- package/src/lib/ui/select/src/lib/hlm-select-value.ts +18 -0
- package/src/lib/ui/select/src/lib/hlm-select-values-content.ts +9 -0
- package/src/lib/ui/select/src/lib/hlm-select-values.ts +5 -0
- package/src/lib/ui/select/src/lib/hlm-select.stories.ts +105 -0
- package/src/lib/ui/select/src/lib/hlm-select.ts +45 -0
- package/src/lib/ui/separator/src/index.ts +5 -0
- package/src/lib/ui/separator/src/lib/hlm-separator.stories.ts +88 -0
- package/src/lib/ui/separator/src/lib/hlm-separator.ts +19 -0
- package/src/lib/ui/sheet/src/index.ts +34 -0
- package/src/lib/ui/sheet/src/lib/hlm-sheet-close.ts +9 -0
- package/src/lib/ui/sheet/src/lib/hlm-sheet-content.ts +66 -0
- package/src/lib/ui/sheet/src/lib/hlm-sheet-description.ts +14 -0
- package/src/lib/ui/sheet/src/lib/hlm-sheet-footer.ts +12 -0
- package/src/lib/ui/sheet/src/lib/hlm-sheet-header.ts +12 -0
- package/src/lib/ui/sheet/src/lib/hlm-sheet-overlay.ts +27 -0
- package/src/lib/ui/sheet/src/lib/hlm-sheet-portal.ts +8 -0
- package/src/lib/ui/sheet/src/lib/hlm-sheet-title.ts +14 -0
- package/src/lib/ui/sheet/src/lib/hlm-sheet-trigger.ts +9 -0
- package/src/lib/ui/sheet/src/lib/hlm-sheet.ts +29 -0
- package/src/lib/ui/sidebar/src/index.ts +75 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar-content.ts +18 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar-footer.ts +15 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar-group-action.ts +18 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar-group-content.ts +15 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar-group-label.ts +18 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar-group.ts +15 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar-header.ts +15 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar-input.ts +17 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar-inset.ts +15 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar-menu-action.ts +24 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar-menu-badge.ts +18 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar-menu-button.ts +97 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar-menu-item.ts +15 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar-menu-skeleton.ts +33 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar-menu-sub-button.ts +41 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar-menu-sub-item.ts +15 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar-menu-sub.ts +18 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar-menu.ts +15 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar-rail.ts +34 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar-separator.ts +17 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar-trigger.ts +35 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar-wrapper.ts +24 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar.service.ts +136 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar.stories.ts +177 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar.token.ts +33 -0
- package/src/lib/ui/sidebar/src/lib/hlm-sidebar.ts +139 -0
- package/src/lib/ui/skeleton/src/index.ts +5 -0
- package/src/lib/ui/skeleton/src/lib/hlm-skeleton.ts +14 -0
- package/src/lib/ui/table/src/index.ts +25 -0
- package/src/lib/ui/table/src/lib/hlm-table.stories.ts +70 -0
- package/src/lib/ui/table/src/lib/hlm-table.ts +129 -0
- package/src/lib/ui/textarea/src/index.ts +5 -0
- package/src/lib/ui/textarea/src/lib/hlm-textarea.stories.ts +72 -0
- package/src/lib/ui/textarea/src/lib/hlm-textarea.ts +21 -0
- package/src/lib/ui/tooltip/src/index.ts +5 -0
- package/src/lib/ui/tooltip/src/lib/hlm-tooltip.ts +44 -0
- package/src/lib/ui/utils/src/index.ts +1 -0
- package/src/lib/ui/utils/src/lib/hlm.ts +313 -0
- package/src/public-api.ts +24 -0
- package/src/styles.css +43 -0
- package/tsconfig.json +45 -0
- package/tsconfig.lib.json +11 -0
- package/tsconfig.lib.prod.json +9 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surfnet-curve-angular.mjs","sources":["../../src/lib/ui/utils/src/lib/hlm.ts","../../src/lib/ui/avatar/src/lib/hlm-avatar.ts","../../src/lib/ui/avatar/src/lib/hlm-avatar-badge.ts","../../src/lib/ui/avatar/src/lib/hlm-avatar-fallback.ts","../../src/lib/ui/avatar/src/lib/hlm-avatar-group.ts","../../src/lib/ui/avatar/src/lib/hlm-avatar-group-count.ts","../../src/lib/ui/avatar/src/lib/hlm-avatar-image.ts","../../src/lib/ui/avatar/src/index.ts","../../src/lib/ui/breadcrumb/src/lib/hlm-breadcrumb.ts","../../src/lib/ui/icon/src/lib/hlm-icon.token.ts","../../src/lib/ui/icon/src/lib/hlm-icon.ts","../../src/lib/ui/icon/src/index.ts","../../src/lib/ui/breadcrumb/src/lib/hlm-breadcrumb-ellipsis.ts","../../src/lib/ui/breadcrumb/src/lib/hlm-breadcrumb-item.ts","../../src/lib/ui/breadcrumb/src/lib/hlm-breadcrumb-link.ts","../../src/lib/ui/breadcrumb/src/lib/hlm-breadcrumb-list.ts","../../src/lib/ui/breadcrumb/src/lib/hlm-breadcrumb-page.ts","../../src/lib/ui/breadcrumb/src/lib/hlm-breadcrumb-separator.ts","../../src/lib/ui/breadcrumb/src/index.ts","../../src/lib/ui/button/src/lib/hlm-button.token.ts","../../src/lib/ui/button/src/lib/hlm-button.ts","../../src/lib/ui/button/src/index.ts","../../src/lib/ui/card/src/lib/hlm-card.token.ts","../../src/lib/ui/card/src/lib/hlm-card.ts","../../src/lib/ui/card/src/lib/hlm-card-action.ts","../../src/lib/ui/card/src/lib/hlm-card-content.ts","../../src/lib/ui/card/src/lib/hlm-card-description.ts","../../src/lib/ui/card/src/lib/hlm-card-footer.ts","../../src/lib/ui/card/src/lib/hlm-card-header.ts","../../src/lib/ui/card/src/lib/hlm-card-title.ts","../../src/lib/ui/card/src/index.ts","../../src/lib/ui/checkbox/src/lib/hlm-checkbox.ts","../../src/lib/ui/checkbox/src/index.ts","../../src/lib/ui/table/src/lib/hlm-table.ts","../../src/lib/ui/table/src/index.ts","../../src/lib/ui/data-table/src/lib/hlm-data-table-content.ts","../../src/lib/ui/data-table/src/lib/hlm-data-table-pagination.ts","../../src/lib/ui/data-table/src/lib/hlm-data-table-toolbar.ts","../../src/lib/ui/data-table/src/lib/inject-data-table.ts","../../src/lib/ui/data-table/src/index.ts","../../src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu.ts","../../src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-checkbox.ts","../../src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-checkbox-indicator.ts","../../src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-group.ts","../../src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-item.ts","../../src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-item-sub-indicator.ts","../../src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-label.ts","../../src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-radio.ts","../../src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-radio-indicator.ts","../../src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-separator.ts","../../src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-shortcut.ts","../../src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-sub.ts","../../src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-token.ts","../../src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-trigger.ts","../../src/lib/ui/dropdown-menu/src/index.ts","../../src/lib/ui/field/src/lib/hlm-field.ts","../../src/lib/ui/field/src/lib/hlm-field-content.ts","../../src/lib/ui/field/src/lib/hlm-field-description.ts","../../src/lib/ui/field/src/lib/hlm-field-error.ts","../../src/lib/ui/field/src/lib/hlm-field-group.ts","../../src/lib/ui/label/src/lib/hlm-label.ts","../../src/lib/ui/label/src/index.ts","../../src/lib/ui/field/src/lib/hlm-field-label.ts","../../src/lib/ui/field/src/lib/hlm-field-legend.ts","../../src/lib/ui/separator/src/lib/hlm-separator.ts","../../src/lib/ui/separator/src/index.ts","../../src/lib/ui/field/src/lib/hlm-field-separator.ts","../../src/lib/ui/field/src/lib/hlm-field-set.ts","../../src/lib/ui/field/src/lib/hlm-field-title.ts","../../src/lib/ui/field/src/index.ts","../../src/lib/ui/input/src/lib/hlm-input.ts","../../src/lib/ui/input/src/index.ts","../../src/lib/ui/input-group/src/lib/hlm-input-group.ts","../../src/lib/ui/input-group/src/lib/hlm-input-group-addon.ts","../../src/lib/ui/input-group/src/lib/hlm-input-group-button.ts","../../src/lib/ui/input-group/src/lib/hlm-input-group-input.ts","../../src/lib/ui/input-group/src/lib/hlm-input-group-text.ts","../../src/lib/ui/textarea/src/lib/hlm-textarea.ts","../../src/lib/ui/textarea/src/index.ts","../../src/lib/ui/input-group/src/lib/hlm-input-group-textarea.ts","../../src/lib/ui/input-group/src/index.ts","../../src/lib/ui/select/src/lib/hlm-select.ts","../../src/lib/ui/select/src/lib/hlm-select-scroll-down.ts","../../src/lib/ui/select/src/lib/hlm-select-scroll-up.ts","../../src/lib/ui/select/src/lib/hlm-select-content.ts","../../src/lib/ui/select/src/lib/hlm-select-group.ts","../../src/lib/ui/select/src/lib/hlm-select-item.ts","../../src/lib/ui/select/src/lib/hlm-select-label.ts","../../src/lib/ui/select/src/lib/hlm-select-multiple.ts","../../src/lib/ui/select/src/lib/hlm-select-placeholder.ts","../../src/lib/ui/select/src/lib/hlm-select-portal.ts","../../src/lib/ui/select/src/lib/hlm-select-separator.ts","../../src/lib/ui/select/src/lib/hlm-select-trigger.ts","../../src/lib/ui/select/src/lib/hlm-select-value.ts","../../src/lib/ui/select/src/lib/hlm-select-value-template.ts","../../src/lib/ui/select/src/lib/hlm-select-values.ts","../../src/lib/ui/select/src/lib/hlm-select-values-content.ts","../../src/lib/ui/select/src/index.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar.token.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar.service.ts","../../src/lib/ui/sheet/src/lib/hlm-sheet-overlay.ts","../../src/lib/ui/sheet/src/lib/hlm-sheet.ts","../../src/lib/ui/sheet/src/lib/hlm-sheet-close.ts","../../src/lib/ui/sheet/src/lib/hlm-sheet-content.ts","../../src/lib/ui/sheet/src/lib/hlm-sheet-description.ts","../../src/lib/ui/sheet/src/lib/hlm-sheet-footer.ts","../../src/lib/ui/sheet/src/lib/hlm-sheet-header.ts","../../src/lib/ui/sheet/src/lib/hlm-sheet-portal.ts","../../src/lib/ui/sheet/src/lib/hlm-sheet-title.ts","../../src/lib/ui/sheet/src/lib/hlm-sheet-trigger.ts","../../src/lib/ui/sheet/src/index.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar-content.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar-footer.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar-group.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar-group-action.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar-group-content.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar-group-label.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar-header.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar-input.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar-inset.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar-menu.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar-menu-action.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar-menu-badge.ts","../../src/lib/ui/tooltip/src/lib/hlm-tooltip.ts","../../src/lib/ui/tooltip/src/index.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar-menu-button.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar-menu-item.ts","../../src/lib/ui/skeleton/src/lib/hlm-skeleton.ts","../../src/lib/ui/skeleton/src/index.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar-menu-skeleton.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar-menu-sub.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar-menu-sub-button.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar-menu-sub-item.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar-rail.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar-separator.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar-trigger.ts","../../src/lib/ui/sidebar/src/lib/hlm-sidebar-wrapper.ts","../../src/lib/ui/sidebar/src/index.ts","../../src/public-api.ts","../../src/surfnet-curve-angular.ts"],"sourcesContent":["import { isPlatformBrowser } from '@angular/common';\nimport {\n DestroyRef,\n effect,\n ElementRef,\n HostAttributeToken,\n inject,\n Injector,\n PLATFORM_ID,\n runInInjectionContext,\n} from '@angular/core';\nimport { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function hlm(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\n// Global map to track class managers per element\nconst elementClassManagers = new WeakMap<HTMLElement, ElementClassManager>();\n// Global mutation observer for all elements\nlet globalObserver: MutationObserver | null = null;\nconst observedElements = new Set<HTMLElement>();\n\ninterface ElementClassManager {\n element: HTMLElement;\n sources: Map<number, { classes: Set<string>; order: number }>;\n baseClasses: Set<string>;\n isUpdating: boolean;\n nextOrder: number;\n hasInitialized: boolean;\n restoreRafId: number | null;\n /** Transitions are suppressed until the first effect writes correct classes */\n transitionsSuppressed: boolean;\n /** Original inline transition value to restore after suppression (empty string = none was set) */\n previousTransition: string;\n /** Original inline transition priority to preserve !important when restoring */\n previousTransitionPriority: string;\n}\n\nlet sourceCounter = 0;\n\n/**\n * This function dynamically adds and removes classes for a given element without requiring\n * the a class binding (e.g. `[class]=\"...\"`) which may interfere with other class bindings.\n *\n * 1. This will merge the existing classes on the element with the new classes.\n * 2. It will also remove any classes that were previously added by this function but are no longer present in the new classes.\n * 3. Multiple calls to this function on the same element will be merged efficiently.\n */\nexport function classes(computed: () => ClassValue[] | string, options: ClassesOptions = {}) {\n runInInjectionContext(options.injector ?? inject(Injector), () => {\n const elementRef = options.elementRef ?? inject(ElementRef);\n const platformId = inject(PLATFORM_ID);\n const destroyRef = inject(DestroyRef);\n const baseClasses = inject(new HostAttributeToken('class'), { optional: true });\n\n const element = elementRef.nativeElement;\n\n // Create unique identifier for this source\n const sourceId = sourceCounter++;\n\n // Get or create the class manager for this element\n let manager = elementClassManagers.get(element);\n\n if (!manager) {\n // Initialize base classes from variation (host attribute 'class')\n const initialBaseClasses = new Set<string>();\n\n if (baseClasses) {\n toClassList(baseClasses).forEach((cls) => initialBaseClasses.add(cls));\n }\n\n manager = {\n element,\n sources: new Map(),\n baseClasses: initialBaseClasses,\n isUpdating: false,\n nextOrder: 0,\n hasInitialized: false,\n restoreRafId: null,\n transitionsSuppressed: false,\n previousTransition: '',\n previousTransitionPriority: '',\n };\n elementClassManagers.set(element, manager);\n\n // Setup global observer if needed and register this element\n setupGlobalObserver(platformId);\n observedElements.add(element);\n\n // Suppress transitions until the first effect writes correct classes and\n // the browser has painted them. This prevents CSS transition animations\n // during hydration when classes change from SSR state to client state.\n if (isPlatformBrowser(platformId)) {\n manager.previousTransition = element.style.getPropertyValue('transition');\n manager.previousTransitionPriority = element.style.getPropertyPriority('transition');\n element.style.setProperty('transition', 'none', 'important');\n manager.transitionsSuppressed = true;\n }\n }\n\n // Assign order once at registration time\n const sourceOrder = manager.nextOrder++;\n\n function updateClasses(): void {\n // Get the new classes from the computed function\n const newClasses = toClassList(computed());\n\n // Update this source's classes, keeping the original order\n manager!.sources.set(sourceId, {\n classes: new Set(newClasses),\n order: sourceOrder,\n });\n\n // Update the element\n updateElement(manager!);\n\n // Re-enable transitions after the first effect writes correct classes.\n // Deferred to next animation frame so the browser paints the class change\n // with transitions disabled first, then re-enables them.\n if (manager!.transitionsSuppressed) {\n manager!.transitionsSuppressed = false;\n manager!.restoreRafId = requestAnimationFrame(() => {\n manager!.restoreRafId = null;\n restoreTransitionSuppression(manager!);\n });\n }\n }\n\n // Register cleanup with DestroyRef\n destroyRef.onDestroy(() => {\n if (manager!.restoreRafId !== null) {\n cancelAnimationFrame(manager!.restoreRafId);\n manager!.restoreRafId = null;\n }\n\n if (manager!.transitionsSuppressed) {\n manager!.transitionsSuppressed = false;\n restoreTransitionSuppression(manager!);\n }\n\n // Remove this source from the manager\n manager!.sources.delete(sourceId);\n\n // If no more sources, clean up the manager\n if (manager!.sources.size === 0) {\n cleanupManager(element);\n } else {\n // Update element without this source's classes\n updateElement(manager!);\n }\n });\n\n /**\n * We need this effect to track changes to the computed classes. Ideally, we would use\n * afterRenderEffect here, but that doesn't run in SSR contexts, so we use a standard\n * effect which works in both browser and SSR.\n */\n effect(updateClasses);\n });\n}\n\nfunction restoreTransitionSuppression(manager: ElementClassManager): void {\n const prev = manager.previousTransition;\n if (prev) {\n manager.element.style.setProperty(\n 'transition',\n prev,\n manager.previousTransitionPriority || undefined,\n );\n } else {\n manager.element.style.removeProperty('transition');\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-wrapper-object-types\nfunction setupGlobalObserver(platformId: Object): void {\n if (isPlatformBrowser(platformId) && !globalObserver) {\n // Create single global observer that watches the entire document\n globalObserver = new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n if (mutation.type === 'attributes' && mutation.attributeName === 'class') {\n const element = mutation.target as HTMLElement;\n const manager = elementClassManagers.get(element);\n\n // Only process elements we're managing\n if (manager && observedElements.has(element)) {\n if (manager.isUpdating) continue; // Ignore changes we're making\n\n // Update base classes to include any externally added classes\n const currentClasses = toClassList(element.className);\n const allSourceClasses = new Set<string>();\n\n // Collect all classes from all sources\n for (const source of manager.sources.values()) {\n for (const className of source.classes) {\n allSourceClasses.add(className);\n }\n }\n\n // Any classes not from sources become new base classes\n manager.baseClasses.clear();\n\n for (const className of currentClasses) {\n if (!allSourceClasses.has(className)) {\n manager.baseClasses.add(className);\n }\n }\n\n updateElement(manager);\n }\n }\n }\n });\n\n // Start observing the entire document for class attribute changes\n globalObserver.observe(document, {\n attributes: true,\n attributeFilter: ['class'],\n subtree: true, // Watch all descendants\n });\n }\n}\n\nfunction updateElement(manager: ElementClassManager): void {\n if (manager.isUpdating) return; // Prevent recursive updates\n\n manager.isUpdating = true;\n\n // Handle initialization: capture base classes after first source registration\n if (!manager.hasInitialized && manager.sources.size > 0) {\n // Get current classes on element (may include SSR classes)\n const currentClasses = toClassList(manager.element.className);\n\n // Get all classes that will be applied by sources\n const allSourceClasses = new Set<string>();\n for (const source of manager.sources.values()) {\n source.classes.forEach((className) => allSourceClasses.add(className));\n }\n\n // Only consider classes as \"base\" if they're not produced by any source\n // This prevents SSR-rendered classes from being preserved as base classes\n currentClasses.forEach((className) => {\n if (!allSourceClasses.has(className)) {\n manager.baseClasses.add(className);\n }\n });\n\n manager.hasInitialized = true;\n }\n\n // Get classes from all sources, sorted by registration order (later takes precedence)\n const sortedSources = Array.from(manager.sources.entries()).sort(\n ([, a], [, b]) => a.order - b.order,\n );\n\n const allSourceClasses: string[] = [];\n for (const [, source] of sortedSources) {\n allSourceClasses.push(...source.classes);\n }\n\n // Combine base classes with all source classes, ensuring base classes take precedence\n const classesToApply =\n allSourceClasses.length > 0 || manager.baseClasses.size > 0\n ? hlm([...allSourceClasses, ...manager.baseClasses])\n : '';\n\n // Apply the classes to the element\n if (manager.element.className !== classesToApply) {\n manager.element.className = classesToApply;\n }\n\n manager.isUpdating = false;\n}\n\nfunction cleanupManager(element: HTMLElement): void {\n // Remove from global tracking\n observedElements.delete(element);\n elementClassManagers.delete(element);\n\n // If no more elements being tracked, cleanup global observer\n if (observedElements.size === 0 && globalObserver) {\n globalObserver.disconnect();\n globalObserver = null;\n }\n}\n\ninterface ClassesOptions {\n elementRef?: ElementRef<HTMLElement>;\n injector?: Injector;\n}\n\n// Cache for parsed class lists to avoid repeated string operations\nconst classListCache = new Map<string, string[]>();\n\nfunction toClassList(className: string | ClassValue[]): string[] {\n // For simple string inputs, use cache to avoid repeated parsing\n if (typeof className === 'string' && classListCache.has(className)) {\n return classListCache.get(className)!;\n }\n\n const result = clsx(className)\n .split(' ')\n .filter((c) => c.length > 0);\n\n // Cache string results, but limit cache size to prevent memory growth\n if (typeof className === 'string' && classListCache.size < 1000) {\n classListCache.set(className, result);\n }\n\n return result;\n}\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { BrnAvatar } from '@spartan-ng/brain/avatar';\nimport { classes } from '../../../utils/src';\nimport type { AvatarSizeName } from '@surfnet/curve-contracts';\n\n@Component({\n selector: 'hlm-avatar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'data-slot': 'avatar',\n '[attr.data-size]': 'size()',\n },\n template: `\n @if (_image()?.canShow()) {\n <ng-content select=\"[hlmAvatarImage],[brnAvatarImage]\" />\n } @else {\n <ng-content select=\"[hlmAvatarFallback],[brnAvatarFallback]\" />\n }\n <ng-content />\n `,\n})\nexport class HlmAvatar extends BrnAvatar {\n public readonly size = input<AvatarSizeName>('default');\n\n constructor() {\n super();\n classes(\n () =>\n 'size-8 rounded-full after:rounded-full data-[size=lg]:size-10 data-[size=sm]:size-6 group/avatar after:border-border relative flex shrink-0 select-none after:absolute after:inset-0 after:border after:mix-blend-darken dark:after:mix-blend-lighten',\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmAvatarBadge],hlm-avatar-badge',\n host: {\n 'data-slot': 'avatar-badge',\n },\n})\nexport class HlmAvatarBadge {\n constructor() {\n classes(() => [\n 'bg-primary text-primary-foreground ring-background absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-blend-color ring-2 select-none',\n 'group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>ng-icon]:hidden',\n 'group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>ng-icon]:text-[calc(var(--spacing)*2)]',\n 'group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>ng-icon]:text-[calc(var(--spacing)*2)]',\n ]);\n }\n}\n","import { Directive } from '@angular/core';\nimport { BrnAvatarFallback } from '@spartan-ng/brain/avatar';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmAvatarFallback]',\n exportAs: 'avatarFallback',\n hostDirectives: [BrnAvatarFallback],\n host: {\n 'data-slot': 'avatar-fallback',\n },\n})\nexport class HlmAvatarFallback {\n constructor() {\n classes(\n () =>\n 'bg-muted text-muted-foreground rounded-full flex size-full items-center justify-center text-sm group-data-[size=sm]/avatar:text-xs',\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmAvatarGroup],hlm-avatar-group',\n host: {\n 'data-slot': 'avatar-group',\n },\n})\nexport class HlmAvatarGroup {\n constructor() {\n classes(\n () =>\n '*:data-[slot=avatar]:ring-background group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2',\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmAvatarGroupCount],hlm-avatar-group-count',\n host: {\n 'data-slot': 'avatar-group-count',\n },\n})\nexport class HlmAvatarGroupCount {\n constructor() {\n classes(\n () =>\n 'bg-muted text-muted-foreground ring-background relative flex size-8 shrink-0 items-center justify-center rounded-full text-sm ring-2 group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>ng-icon]:text-base group-has-data-[size=lg]/avatar-group:[&>ng-icon]:text-xl group-has-data-[size=sm]/avatar-group:[&>ng-icon]:text-xs',\n );\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { BrnAvatarImage } from '@spartan-ng/brain/avatar';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: 'img[hlmAvatarImage]',\n exportAs: 'avatarImage',\n hostDirectives: [BrnAvatarImage],\n host: {\n 'data-slot': 'avatar-image',\n },\n})\nexport class HlmAvatarImage {\n public readonly canShow = inject(BrnAvatarImage).canShow;\n\n constructor() {\n classes(() => 'rounded-full aspect-square size-full object-cover');\n }\n}\n","import { HlmAvatar } from './lib/hlm-avatar';\nimport { HlmAvatarBadge } from './lib/hlm-avatar-badge';\nimport { HlmAvatarFallback } from './lib/hlm-avatar-fallback';\nimport { HlmAvatarGroup } from './lib/hlm-avatar-group';\nimport { HlmAvatarGroupCount } from './lib/hlm-avatar-group-count';\nimport { HlmAvatarImage } from './lib/hlm-avatar-image';\n\nexport * from './lib/hlm-avatar';\nexport * from './lib/hlm-avatar-badge';\nexport * from './lib/hlm-avatar-fallback';\nexport * from './lib/hlm-avatar-group';\nexport * from './lib/hlm-avatar-group-count';\nexport * from './lib/hlm-avatar-image';\n\nexport const HlmAvatarImports = [\n HlmAvatar,\n HlmAvatarBadge,\n HlmAvatarFallback,\n HlmAvatarGroup,\n HlmAvatarGroupCount,\n HlmAvatarImage,\n] as const;\n","import { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[hlmBreadcrumb]',\n host: {\n 'data-slot': 'breadcrumb',\n role: 'navigation',\n '[attr.aria-label]': 'ariaLabel()',\n },\n})\nexport class HlmBreadcrumb {\n public readonly ariaLabel = input<string>('breadcrumb', { alias: 'aria-label' });\n}\n","import { InjectionToken, type ValueProvider, inject } from '@angular/core';\nimport type { IconSize } from './hlm-icon';\n\nexport interface HlmIconConfig {\n size: IconSize;\n}\n\nconst defaultConfig: HlmIconConfig = {\n size: 'base',\n};\n\nconst HlmIconConfigToken = new InjectionToken<HlmIconConfig>('HlmIconConfig');\n\nexport function provideHlmIconConfig(config: Partial<HlmIconConfig>): ValueProvider {\n return { provide: HlmIconConfigToken, useValue: { ...defaultConfig, ...config } };\n}\n\nexport function injectHlmIconConfig(): HlmIconConfig {\n return inject(HlmIconConfigToken, { optional: true }) ?? defaultConfig;\n}\n","import { Directive, computed, input } from '@angular/core';\nimport { injectHlmIconConfig } from './hlm-icon.token';\n\nexport type IconSize =\n | 'xs'\n | 'sm'\n | 'base'\n | 'lg'\n | 'xl'\n | 'none'\n | (Record<never, never> & string);\n\n@Directive({\n selector: 'ng-icon[hlmIcon], ng-icon[hlm]',\n host: {\n '[style.--ng-icon__size]': '_computedSize()',\n },\n})\nexport class HlmIcon {\n private readonly _config = injectHlmIconConfig();\n public readonly size = input<IconSize>(this._config.size);\n\n protected readonly _computedSize = computed(() => {\n const size = this.size();\n\n switch (size) {\n case 'xs':\n return '12px';\n case 'sm':\n return '16px';\n case 'base':\n return '24px';\n case 'lg':\n return '32px';\n case 'xl':\n return '48px';\n default: {\n return size;\n }\n }\n });\n}\n","import { NgIcon } from '@ng-icons/core';\nimport { HlmIcon } from './lib/hlm-icon';\n\nexport * from './lib/hlm-icon';\nexport * from './lib/hlm-icon.token';\n\nexport const HlmIconImports = [HlmIcon, NgIcon] as const;\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { phosphorDotsThree } from '@ng-icons/phosphor-icons/regular';\nimport { HlmIcon } from '../../../icon/src';\nimport { hlm } from '../../../utils/src';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-breadcrumb-ellipsis',\n imports: [NgIcon, HlmIcon],\n providers: [provideIcons({ phosphorDotsThree })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n [class]=\"_computedClass()\"\n >\n <ng-icon hlm size=\"sm\" name=\"phosphorDotsThree\" />\n <span class=\"sr-only\">{{ srOnlyText() }}</span>\n </span>\n `,\n})\nexport class HlmBreadcrumbEllipsis {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n /** Screen reader only text for the ellipsis */\n public readonly srOnlyText = input<string>('More');\n\n protected readonly _computedClass = computed(() =>\n hlm(\n 'size-5 [&>ng-icon]:text-[calc(var(--spacing)*4)] flex items-center justify-center',\n this.userClass(),\n ),\n );\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmBreadcrumbItem]',\n host: {\n 'data-slot': 'breadcrumb-item',\n },\n})\nexport class HlmBreadcrumbItem {\n constructor() {\n classes(() => 'gap-1.5 inline-flex items-center');\n }\n}\n","import { Directive, input } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmBreadcrumbLink]',\n hostDirectives: [\n {\n directive: RouterLink,\n inputs: [\n 'target',\n 'queryParams',\n 'fragment',\n 'queryParamsHandling',\n 'state',\n 'info',\n 'relativeTo',\n 'preserveFragment',\n 'skipLocationChange',\n 'replaceUrl',\n 'routerLink: link',\n ],\n },\n ],\n host: {\n 'data-slot': 'breadcrumb-link',\n },\n})\nexport class HlmBreadcrumbLink {\n /** The link to navigate to the page. */\n public readonly link = input<RouterLink['routerLink']>();\n\n constructor() {\n classes(() => 'hover:text-foreground transition-colors');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmBreadcrumbList]',\n host: {\n 'data-slot': 'breadcrumb-list',\n },\n})\nexport class HlmBreadcrumbList {\n constructor() {\n classes(\n () =>\n 'text-muted-foreground gap-1.5 text-sm sm:gap-2.5 flex flex-wrap items-center wrap-break-word',\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmBreadcrumbPage]',\n host: {\n 'data-slot': 'breadcrumb-page',\n role: 'link',\n 'aria-disabled': 'true',\n 'aria-current': 'page',\n },\n})\nexport class HlmBreadcrumbPage {\n constructor() {\n classes(() => 'text-foreground font-normal');\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { phosphorCaretRight } from '@ng-icons/phosphor-icons/regular';\nimport { classes } from '../../../utils/src';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[hlmBreadcrumbSeparator]',\n imports: [NgIcon],\n providers: [provideIcons({ phosphorCaretRight })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'data-slot': 'breadcrumb-separator',\n role: 'presentation',\n 'aria-hidden': 'true',\n },\n template: `\n <ng-content>\n <ng-icon name=\"phosphorCaretRight\" />\n </ng-content>\n `,\n})\nexport class HlmBreadcrumbSeparator {\n constructor() {\n classes(() => '[&>ng-icon]:text-[calc(var(--spacing)*3.5)] [&>ng-icon]:flex');\n }\n}\n","import { HlmBreadcrumb } from './lib/hlm-breadcrumb';\nimport { HlmBreadcrumbEllipsis } from './lib/hlm-breadcrumb-ellipsis';\nimport { HlmBreadcrumbItem } from './lib/hlm-breadcrumb-item';\nimport { HlmBreadcrumbLink } from './lib/hlm-breadcrumb-link';\nimport { HlmBreadcrumbList } from './lib/hlm-breadcrumb-list';\nimport { HlmBreadcrumbPage } from './lib/hlm-breadcrumb-page';\nimport { HlmBreadcrumbSeparator } from './lib/hlm-breadcrumb-separator';\n\nexport * from './lib/hlm-breadcrumb';\nexport * from './lib/hlm-breadcrumb-ellipsis';\nexport * from './lib/hlm-breadcrumb-item';\nexport * from './lib/hlm-breadcrumb-link';\nexport * from './lib/hlm-breadcrumb-list';\nexport * from './lib/hlm-breadcrumb-page';\nexport * from './lib/hlm-breadcrumb-separator';\n\nexport const HlmBreadcrumbImports = [\n HlmBreadcrumb,\n HlmBreadcrumbEllipsis,\n HlmBreadcrumbSeparator,\n HlmBreadcrumbItem,\n HlmBreadcrumbLink,\n HlmBreadcrumbPage,\n HlmBreadcrumbList,\n] as const;\n\n/**\n * @deprecated Use `HlmBreadcrumbImports` instead.\n */\nexport const HlmBreadCrumbImports = HlmBreadcrumbImports;\n","import { InjectionToken, type ValueProvider, inject } from '@angular/core';\nimport type { ButtonVariants } from './hlm-button';\n\nexport interface BrnButtonConfig {\n variant: ButtonVariants['variant'];\n size: ButtonVariants['size'];\n}\n\nconst defaultConfig: BrnButtonConfig = {\n variant: 'default',\n size: 'default',\n};\n\nconst BrnButtonConfigToken = new InjectionToken<BrnButtonConfig>('BrnButtonConfig');\n\nexport function provideBrnButtonConfig(config: Partial<BrnButtonConfig>): ValueProvider {\n return { provide: BrnButtonConfigToken, useValue: { ...defaultConfig, ...config } };\n}\n\nexport function injectBrnButtonConfig(): BrnButtonConfig {\n return inject(BrnButtonConfigToken, { optional: true }) ?? defaultConfig;\n}\n","import { Directive, input, signal } from '@angular/core';\nimport { BrnButton } from '@spartan-ng/brain/button';\nimport { classes } from '../../../utils/src';\nimport type { ButtonSizeName, ButtonVariantName } from '@surfnet/curve-contracts';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport type { ClassValue } from 'clsx';\nimport { injectBrnButtonConfig } from './hlm-button.token';\n\nconst variantClasses = {\n default: 'bg-primary text-primary-foreground hover:bg-primary/80',\n outline:\n 'border-border bg-background hover:bg-muted hover:text-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 aria-expanded:bg-muted aria-expanded:text-foreground shadow-xs',\n secondary:\n 'bg-secondary text-secondary-foreground aria-expanded:bg-secondary aria-expanded:text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)]',\n ghost:\n 'hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground',\n destructive:\n 'bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30',\n link: 'text-link underline-offset-4 hover:underline',\n} satisfies Record<ButtonVariantName, string>;\n\nconst sizeClasses = {\n default:\n 'h-9 gap-1.5 px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2',\n xs: \"h-6 gap-1 rounded-[min(var(--radius-md),8px)] px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*3)]\",\n sm: 'h-8 gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5',\n lg: 'h-10 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2',\n icon: 'size-9',\n 'icon-xs':\n \"size-6 rounded-[min(var(--radius-md),8px)] in-data-[slot=button-group]:rounded-md [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*3)]\",\n 'icon-sm': 'size-8 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-md',\n 'icon-lg': 'size-10',\n} satisfies Record<ButtonSizeName, string>;\n\nexport const buttonVariants = cva(\n \"focus-visible:border-ring focus-visible:ring-ring/50 data-[matches-spartan-invalid=true]:ring-destructive/20 dark:data-[matches-spartan-invalid=true]:ring-destructive/40 data-[matches-spartan-invalid=true]:border-destructive dark:data-[matches-spartan-invalid=true]:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-px data-[matches-spartan-invalid=true]:ring-3 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)] group/button inline-flex shrink-0 items-center justify-center whitespace-nowrap transition-all outline-none select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0\",\n {\n variants: {\n variant: variantClasses,\n size: sizeClasses,\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport type ButtonVariants = VariantProps<typeof buttonVariants>;\n\n@Directive({\n selector: 'button[hlmBtn], a[hlmBtn]',\n exportAs: 'hlmBtn',\n hostDirectives: [{ directive: BrnButton, inputs: ['disabled'] }],\n host: { 'data-slot': 'button' },\n})\nexport class HlmButton {\n private readonly _config = injectBrnButtonConfig();\n\n private readonly _additionalClasses = signal<ClassValue>('');\n\n public readonly variant = input<ButtonVariants['variant']>(this._config.variant);\n\n public readonly size = input<ButtonVariants['size']>(this._config.size);\n\n constructor() {\n classes(() => [\n buttonVariants({ variant: this.variant(), size: this.size() }),\n this._additionalClasses(),\n ]);\n }\n\n setClass(classes: string): void {\n this._additionalClasses.set(classes);\n }\n}\n","import { HlmButton } from './lib/hlm-button';\n\nexport * from './lib/hlm-button';\nexport * from './lib/hlm-button.token';\n\nexport const HlmButtonImports = [HlmButton] as const;\n","import { inject, InjectionToken, type ValueProvider } from '@angular/core';\n\nexport type HlmCardConfig = {\n size: 'sm' | 'default';\n};\n\nconst defaultConfig: HlmCardConfig = {\n size: 'default',\n};\n\nconst HlmCardConfigToken = new InjectionToken<HlmCardConfig>('HlmCardConfig');\n\nexport function provideHlmCardConfig(config: Partial<HlmCardConfig>): ValueProvider {\n return { provide: HlmCardConfigToken, useValue: { ...defaultConfig, ...config } };\n}\n\nexport function injectHlmCardConfig(): HlmCardConfig {\n return inject(HlmCardConfigToken, { optional: true }) ?? defaultConfig;\n}\n","import { Directive, input } from '@angular/core';\nimport { classes } from '../../../utils/src';\nimport { HlmCardConfig, injectHlmCardConfig } from './hlm-card.token';\n\n@Directive({\n selector: '[hlmCard],hlm-card',\n host: {\n 'data-slot': 'card',\n '[attr.data-size]': 'size()',\n },\n})\nexport class HlmCard {\n private readonly _defaultConfig = injectHlmCardConfig();\n public readonly size = input<HlmCardConfig['size']>(this._defaultConfig.size);\n\n constructor() {\n classes(\n () =>\n 'ring-foreground/10 bg-card text-card-foreground gap-(--card-spacing) overflow-hidden rounded-xl py-(--card-spacing) text-sm shadow-xs ring-1 [--card-spacing:--spacing(6)] has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(4)] *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl group/card flex flex-col',\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmCardAction]',\n host: { 'data-slot': 'card-action' },\n})\nexport class HlmCardAction {\n constructor() {\n classes(() => 'col-start-2 row-span-2 row-start-1 self-start justify-self-end');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmCardContent]',\n host: { 'data-slot': 'card-content' },\n})\nexport class HlmCardContent {\n constructor() {\n classes(() => 'px-(--card-spacing)');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmCardDescription]',\n host: { 'data-slot': 'card-description' },\n})\nexport class HlmCardDescription {\n constructor() {\n classes(() => 'text-muted-foreground text-sm');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmCardFooter],hlm-card-footer',\n host: { 'data-slot': 'card-footer' },\n})\nexport class HlmCardFooter {\n constructor() {\n classes(\n () => 'rounded-b-xl px-(--card-spacing) [.border-t]:pt-(--card-spacing) flex items-center',\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmCardHeader],hlm-card-header',\n host: { 'data-slot': 'card-header' },\n})\nexport class HlmCardHeader {\n constructor() {\n classes(\n () =>\n 'gap-1 rounded-t-xl px-(--card-spacing) [.border-b]:pb-(--card-spacing) group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]',\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmCardTitle]',\n host: { 'data-slot': 'card-title' },\n})\nexport class HlmCardTitle {\n constructor() {\n classes(() => 'text-base leading-normal font-medium group-data-[size=sm]/card:text-sm');\n }\n}\n","import { HlmCard } from './lib/hlm-card';\nimport { HlmCardAction } from './lib/hlm-card-action';\nimport { HlmCardContent } from './lib/hlm-card-content';\nimport { HlmCardDescription } from './lib/hlm-card-description';\nimport { HlmCardFooter } from './lib/hlm-card-footer';\nimport { HlmCardHeader } from './lib/hlm-card-header';\nimport { HlmCardTitle } from './lib/hlm-card-title';\n\nexport * from './lib/hlm-card';\nexport * from './lib/hlm-card-action';\nexport * from './lib/hlm-card-content';\nexport * from './lib/hlm-card-description';\nexport * from './lib/hlm-card-footer';\nexport * from './lib/hlm-card-header';\nexport * from './lib/hlm-card-title';\n\nexport const HlmCardImports = [\n HlmCard,\n HlmCardAction,\n HlmCardContent,\n HlmCardDescription,\n HlmCardFooter,\n HlmCardHeader,\n HlmCardTitle,\n] as const;\n","import type { BooleanInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n forwardRef,\n input,\n linkedSignal,\n model,\n output,\n viewChild,\n} from '@angular/core';\nimport { type ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { phosphorCheck } from '@ng-icons/phosphor-icons/regular';\nimport { BrnCheckbox } from '@spartan-ng/brain/checkbox';\nimport { BrnFieldControlDescribedBy } from '@spartan-ng/brain/field';\nimport type { ChangeFn, TouchFn } from '@spartan-ng/brain/forms';\nimport { HlmIcon } from '../../../icon/src';\nimport { hlm } from '../../../utils/src';\nimport type { ClassValue } from 'clsx';\n\nexport const HLM_CHECKBOX_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => HlmCheckbox),\n multi: true,\n};\n\n@Component({\n selector: 'hlm-checkbox',\n imports: [BrnCheckbox, NgIcon, HlmIcon],\n providers: [HLM_CHECKBOX_VALUE_ACCESSOR],\n viewProviders: [provideIcons({ phosphorCheck })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [BrnFieldControlDescribedBy],\n host: {\n class: 'contents peer',\n 'data-slot': 'checkbox',\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[attr.data-disabled]': '_disabled() ? \"\" : null',\n },\n template: `\n <brn-checkbox\n [id]=\"inputId()\"\n [name]=\"name()\"\n [class]=\"_computedClass()\"\n [checked]=\"checked()\"\n [(indeterminate)]=\"indeterminate\"\n [disabled]=\"_disabled()\"\n [required]=\"required()\"\n [aria-label]=\"ariaLabel()\"\n [aria-labelledby]=\"ariaLabelledby()\"\n [aria-describedby]=\"ariaDescribedby()\"\n [forceInvalid]=\"forceInvalid()\"\n (checkedChange)=\"_handleChange($event)\"\n (touched)=\"_onTouched?.()\"\n >\n @if (checked() || indeterminate()) {\n <span class=\"flex items-center justify-center text-current transition-none\">\n <ng-icon hlm size=\"14px\" name=\"phosphorCheck\" />\n </span>\n }\n </brn-checkbox>\n `,\n})\nexport class HlmCheckbox implements ControlValueAccessor {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly _computedClass = computed(() =>\n hlm(\n 'border-input dark:bg-input/30 data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary data-checked:border-primary data-[matches-spartan-invalid=true]:aria-checked:border-primary data-[matches-spartan-invalid=true]:border-destructive dark:data-[matches-spartan-invalid=true]:border-destructive/50 focus-visible:border-ring focus-visible:ring-ring/50 data-[matches-spartan-invalid=true]:ring-destructive/20 dark:data-[matches-spartan-invalid=true]:ring-destructive/40 flex size-4 items-center justify-center rounded-[4px] border shadow-xs transition-shadow group-has-disabled/field:opacity-50 focus-visible:ring-3 data-[matches-spartan-invalid=true]:ring-3 peer shrink-0 cursor-default outline-none disabled:cursor-not-allowed disabled:opacity-50',\n this.userClass(),\n this._errorStateClass(),\n ),\n );\n\n /** Used to set the id on the underlying brn element. */\n public readonly inputId = input<string | null>(null);\n\n /** Used to set the aria-label attribute on the underlying brn element. */\n public readonly ariaLabel = input<string | null>(null, { alias: 'aria-label' });\n\n /** Used to set the aria-labelledby attribute on the underlying brn element. */\n public readonly ariaLabelledby = input<string | null>(null, { alias: 'aria-labelledby' });\n\n /** Used to set the aria-describedby attribute on the underlying brn element. */\n public readonly ariaDescribedby = input<string | null>(null, { alias: 'aria-describedby' });\n\n /** The checked state of the checkbox. */\n public readonly checkedInput = input<boolean, BooleanInput>(false, {\n alias: 'checked',\n transform: booleanAttribute,\n });\n public readonly checked = linkedSignal(this.checkedInput);\n\n /** Emits when checked state changes. */\n public readonly checkedChange = output<boolean>();\n\n /**\n * The indeterminate state of the checkbox.\n * For example, a \"select all/deselect all\" checkbox may be in the indeterminate state when some but not all of its sub-controls are checked.\n */\n public readonly indeterminate = model<boolean>(false);\n\n /** The name attribute of the checkbox. */\n public readonly name = input<string | null>(null);\n\n /** Whether the checkbox is required. */\n public readonly required = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /** Whether the checkbox is disabled. */\n public readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /** Whether to force the checkbox into an invalid state. */\n public readonly forceInvalid = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n protected readonly _disabled = linkedSignal(this.disabled);\n\n private readonly _brnCheckbox = viewChild.required(BrnCheckbox);\n\n private readonly _spartanInvalid = computed(\n () => this.forceInvalid() || this._brnCheckbox().spartanInvalid?.(),\n );\n protected readonly _errorStateClass = computed(() =>\n this._spartanInvalid()\n ? 'border-destructive focus-visible:border-destructive focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40'\n : '',\n );\n\n protected _onChange?: ChangeFn<boolean>;\n protected _onTouched?: TouchFn;\n\n protected _handleChange(value: boolean): void {\n if (this._disabled()) return;\n this.checked.set(value);\n this.checkedChange.emit(value);\n this._onChange?.(value);\n }\n\n /** CONTROL VALUE ACCESSOR */\n writeValue(value: boolean): void {\n this.checked.set(value);\n }\n\n registerOnChange(fn: ChangeFn<boolean>): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: TouchFn): void {\n this._onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabled.set(isDisabled);\n }\n}\n","import { HlmCheckbox } from './lib/hlm-checkbox';\n\nexport * from './lib/hlm-checkbox';\n\nexport const HlmCheckboxImports = [HlmCheckbox] as const;\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: 'div[hlmTableContainer]',\n host: { 'data-slot': 'table-container' },\n})\nexport class HlmTableContainer {\n constructor() {\n classes(() => 'relative w-full overflow-x-auto');\n }\n}\n\n/**\n * Directive to apply Shadcn-like styling to a <table> element.\n */\n@Directive({\n selector: 'table[hlmTable]',\n host: { 'data-slot': 'table' },\n})\nexport class HlmTable {\n constructor() {\n classes(() => 'w-full caption-bottom text-sm');\n }\n}\n\n/**\n * Directive to apply Shadcn-like styling to a <thead> element\n * within an HlmTable context.\n */\n@Directive({\n selector: 'thead[hlmTHead],thead[hlmTableHeader]',\n host: { 'data-slot': 'table-header' },\n})\nexport class HlmTHead {\n constructor() {\n classes(() => '[&_tr]:border-b');\n }\n}\n\n/**\n * Directive to apply Shadcn-like styling to a <tbody> element\n * within an HlmTable context.\n */\n@Directive({\n selector: 'tbody[hlmTBody],tbody[hlmTableBody]',\n host: { 'data-slot': 'table-body' },\n})\nexport class HlmTBody {\n constructor() {\n classes(() => '[&_tr:last-child]:border-0');\n }\n}\n\n/**\n * Directive to apply Shadcn-like styling to a <tfoot> element\n * within an HlmTable context.\n */\n@Directive({\n selector: 'tfoot[hlmTFoot],tfoot[hlmTableFooter]',\n host: { 'data-slot': 'table-footer' },\n})\nexport class HlmTFoot {\n constructor() {\n classes(() => 'bg-muted/50 border-t font-medium [&>tr]:last:border-b-0');\n }\n}\n\n/**\n * Directive to apply Shadcn-like styling to a <tr> element\n * within an HlmTable context.\n */\n@Directive({\n selector: 'tr[hlmTr],tr[hlmTableRow]',\n host: { 'data-slot': 'table-row' },\n})\nexport class HlmTr {\n constructor() {\n classes(\n () =>\n 'hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors has-aria-expanded:bg-muted/50',\n );\n }\n}\n\n/**\n * Directive to apply Shadcn-like styling to a <th> element\n * within an HlmTable context.\n */\n@Directive({\n selector: 'th[hlmTh],th[hlmTableHead]',\n host: { 'data-slot': 'table-head' },\n})\nexport class HlmTh {\n constructor() {\n classes(\n () =>\n 'text-foreground h-10 px-2 text-start align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pe-0',\n );\n }\n}\n\n/**\n * Directive to apply Shadcn-like styling to a <td> element\n * within an HlmTable context.\n */\n@Directive({\n selector: 'td[hlmTd],td[hlmTableCell]',\n host: { 'data-slot': 'table-cell' },\n})\nexport class HlmTd {\n constructor() {\n classes(() => 'p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pe-0');\n }\n}\n\n/**\n * Directive to apply Shadcn-like styling to a <caption> element\n * within an HlmTable context.\n */\n@Directive({\n selector: 'caption[hlmCaption],caption[hlmTableCaption]',\n host: { 'data-slot': 'table-caption' },\n})\nexport class HlmCaption {\n constructor() {\n classes(() => 'text-muted-foreground mt-4 text-sm');\n }\n}\n","import {\n HlmCaption,\n HlmTable,\n HlmTableContainer,\n HlmTBody,\n HlmTd,\n HlmTFoot,\n HlmTh,\n HlmTHead,\n HlmTr,\n} from './lib/hlm-table';\n\nexport * from './lib/hlm-table';\n\nexport const HlmTableImports = [\n HlmCaption,\n HlmTableContainer,\n HlmTable,\n HlmTBody,\n HlmTd,\n HlmTFoot,\n HlmTh,\n HlmTHead,\n HlmTr,\n] as const;\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { HlmTableImports } from '../../../table/src';\nimport { FlexRenderDirective, type ColumnDef, type Table } from '@tanstack/angular-table';\n\n/**\n * Renders a TanStack table instance into the styled helm `table` directives. Mirrors React's\n * `DataTableContent`: header groups, body rows (with `data-state=\"selected\"` per selected\n * row), and an empty-state row when there are no rows.\n *\n * String / primitive header and cell defs are rendered as inert escaped text by `*flexRender`\n * (matching React's `flexRender` of a string node); component cell defs created with\n * `flexRenderComponent()` are mounted in place. To render markup, return a\n * `flexRenderComponent()` rather than an HTML string — raw strings are never parsed as HTML.\n */\n@Component({\n selector: 'hlm-data-table-content',\n imports: [HlmTableImports, FlexRenderDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'data-slot': 'data-table-content',\n class: 'block overflow-hidden rounded-md border',\n },\n template: `\n <div hlmTableContainer>\n <table hlmTable>\n <thead hlmTableHeader>\n @for (headerGroup of table().getHeaderGroups(); track headerGroup.id) {\n <tr hlmTableRow>\n @for (header of headerGroup.headers; track header.id) {\n <th hlmTableHead>\n @if (!header.isPlaceholder) {\n <ng-container\n *flexRender=\"\n header.column.columnDef.header;\n props: header.getContext();\n let headerContent\n \"\n >\n {{ headerContent }}\n </ng-container>\n }\n </th>\n }\n </tr>\n }\n </thead>\n <tbody hlmTableBody>\n @if (table().getRowModel().rows.length) {\n @for (row of table().getRowModel().rows; track row.id) {\n <tr hlmTableRow [attr.data-state]=\"row.getIsSelected() ? 'selected' : null\">\n @for (cell of row.getVisibleCells(); track cell.id) {\n <td hlmTableCell>\n <ng-container\n *flexRender=\"\n cell.column.columnDef.cell;\n props: cell.getContext();\n let cellContent\n \"\n >\n {{ cellContent }}\n </ng-container>\n </td>\n }\n </tr>\n }\n } @else {\n <tr hlmTableRow>\n <td hlmTableCell [attr.colspan]=\"columns().length\" class=\"h-24 text-center\">\n {{ noResultsLabel() }}\n </td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n `,\n})\nexport class HlmDataTableContent<TData> {\n /** The TanStack table instance, e.g. from `injectDataTable`. */\n public readonly table = input.required<Table<TData>>();\n\n /** The column defs — used to span the empty-state row across all columns. */\n public readonly columns = input.required<ColumnDef<TData, unknown>[]>();\n\n /** Content shown in the body when there are no rows. */\n public readonly noResultsLabel = input<string>('No results.');\n}\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { HlmButton } from '../../../button/src';\nimport { type Table } from '@tanstack/angular-table';\n\n/**\n * Selection summary plus Previous / Next paging controls. Mirrors React's\n * `DataTablePagination`.\n */\n@Component({\n selector: 'hlm-data-table-pagination',\n imports: [HlmButton],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'data-slot': 'data-table-pagination',\n class: 'flex items-center justify-end gap-2 py-4',\n },\n template: `\n <div class=\"text-muted-foreground flex-1 text-sm\">\n {{\n selectionLabel()(\n table().getFilteredSelectedRowModel().rows.length,\n table().getFilteredRowModel().rows.length\n )\n }}\n </div>\n <div class=\"flex gap-2\">\n <button\n hlmBtn\n variant=\"outline\"\n size=\"sm\"\n [disabled]=\"!table().getCanPreviousPage()\"\n (click)=\"table().previousPage()\"\n >\n {{ previousLabel() }}\n </button>\n <button\n hlmBtn\n variant=\"outline\"\n size=\"sm\"\n [disabled]=\"!table().getCanNextPage()\"\n (click)=\"table().nextPage()\"\n >\n {{ nextLabel() }}\n </button>\n </div>\n `,\n})\nexport class HlmDataTablePagination<TData> {\n /** The TanStack table instance, e.g. from `injectDataTable`. */\n public readonly table = input.required<Table<TData>>();\n\n /** Label for the \"previous page\" button. */\n public readonly previousLabel = input<string>('Previous');\n\n /** Label for the \"next page\" button. */\n public readonly nextLabel = input<string>('Next');\n\n /** Builds the selection-summary text from the selected and total row counts. */\n public readonly selectionLabel = input<(selectedCount: number, totalCount: number) => string>(\n (selectedCount, totalCount) => `${selectedCount} of ${totalCount} row(s) selected.`,\n );\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n/**\n * Layout wrapper for data-table controls (filter inputs, column toggles, actions). Mirrors\n * React's `DataTableToolbar` — a styled flex row above the table.\n */\n@Directive({\n selector: '[hlmDataTableToolbar]',\n host: { 'data-slot': 'data-table-toolbar' },\n})\nexport class HlmDataTableToolbar {\n constructor() {\n classes(() => 'flex items-center gap-2 py-4');\n }\n}\n","import { signal, type WritableSignal } from '@angular/core';\nimport {\n createAngularTable,\n getCoreRowModel,\n getFilteredRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n type ColumnDef,\n type ColumnFiltersState,\n type PaginationState,\n type Row,\n type RowSelectionState,\n type SortingState,\n type Table,\n type Updater,\n type VisibilityState,\n} from '@tanstack/angular-table';\n\ninterface InjectDataTableOptions<TData> {\n data: TData[];\n columns: ColumnDef<TData, unknown>[];\n /** Derive a stable row id (e.g. from a record's id) so row selection survives data changes. */\n getRowId?: (originalRow: TData, index: number, parent?: Row<TData>) => string;\n initialSorting?: SortingState;\n initialColumnFilters?: ColumnFiltersState;\n initialColumnVisibility?: VisibilityState;\n initialPagination?: PaginationState;\n}\n\n/** Apply a TanStack `Updater` (value or `(old) => new`) to a writable signal. */\nfunction applyUpdater<T>(state: WritableSignal<T>): (updater: Updater<T>) => void {\n return (updater) =>\n state.set(typeof updater === 'function' ? (updater as (old: T) => T)(state()) : updater);\n}\n\n/**\n * Angular analog of React's `useDataTable`. Wraps `createAngularTable` with the core,\n * sorted, filtered and paginated row models and manages sorting, column-filter,\n * column-visibility, row-selection and pagination state with signals.\n *\n * Must be called from an injection context (a component constructor or field initializer),\n * since `createAngularTable` injects. Pass an options factory so reactive `data` re-renders\n * the table:\n *\n * ```ts\n * readonly table = injectDataTable(() => ({ data: this.data(), columns }));\n * ```\n */\nfunction injectDataTable<TData>(options: () => InjectDataTableOptions<TData>): Table<TData> {\n const initial = options();\n\n const sorting = signal<SortingState>(initial.initialSorting ?? []);\n const columnFilters = signal<ColumnFiltersState>(initial.initialColumnFilters ?? []);\n const columnVisibility = signal<VisibilityState>(initial.initialColumnVisibility ?? {});\n const rowSelection = signal<RowSelectionState>({});\n const pagination = signal<PaginationState>(\n initial.initialPagination ?? { pageIndex: 0, pageSize: 10 },\n );\n\n return createAngularTable(() => {\n const { data, columns, getRowId } = options();\n return {\n data,\n columns,\n getRowId,\n state: {\n sorting: sorting(),\n columnFilters: columnFilters(),\n columnVisibility: columnVisibility(),\n rowSelection: rowSelection(),\n pagination: pagination(),\n },\n onSortingChange: applyUpdater(sorting),\n onColumnFiltersChange: applyUpdater(columnFilters),\n onColumnVisibilityChange: applyUpdater(columnVisibility),\n onRowSelectionChange: applyUpdater(rowSelection),\n onPaginationChange: applyUpdater(pagination),\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getPaginationRowModel: getPaginationRowModel(),\n };\n });\n}\n\nexport { injectDataTable, type InjectDataTableOptions };\n","import { HlmDataTableContent } from './lib/hlm-data-table-content';\nimport { HlmDataTablePagination } from './lib/hlm-data-table-pagination';\nimport { HlmDataTableToolbar } from './lib/hlm-data-table-toolbar';\n\nexport * from './lib/inject-data-table';\nexport * from './lib/hlm-data-table-content';\nexport * from './lib/hlm-data-table-pagination';\nexport * from './lib/hlm-data-table-toolbar';\n\nexport const HlmDataTableImports = [\n HlmDataTableContent,\n HlmDataTablePagination,\n HlmDataTableToolbar,\n] as const;\n","import { type NumberInput } from '@angular/cdk/coercion';\nimport { CdkMenu } from '@angular/cdk/menu';\nimport { Directive, inject, input, numberAttribute, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmDropdownMenu],hlm-dropdown-menu',\n hostDirectives: [CdkMenu],\n host: {\n 'data-slot': 'dropdown-menu',\n '[attr.data-state]': '_state()',\n '[attr.data-side]': '_side()',\n '[style.--side-offset]': 'sideOffset()',\n },\n})\nexport class HlmDropdownMenu {\n private readonly _host = inject(CdkMenu);\n\n protected readonly _state = signal('open');\n protected readonly _side = signal('top');\n\n public readonly sideOffset = input<number, NumberInput>(1, { transform: numberAttribute });\n\n constructor() {\n classes(\n () =>\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 my-[--spacing(var(--side-offset))] min-w-[8rem] origin-top overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md',\n );\n\n this.setSideWithDarkMagic();\n // this is a best effort, but does not seem to work currently\n // TODO: figure out a way for us to know the host is about to be closed. might not be possible with CDK\n this._host.closed.pipe(takeUntilDestroyed()).subscribe(() => this._state.set('closed'));\n }\n\n private setSideWithDarkMagic() {\n /**\n * This is an ugly workaround to at least figure out the correct side of where a submenu\n * will appear and set the attribute to the host accordingly\n *\n * First of all we take advantage of the menu stack not being aware of the root\n * object immediately after it is added. This code executes before the root element is added,\n * which means the stack is still empty and the peek method returns undefined.\n */\n const isRoot = this._host.menuStack.peek() === undefined;\n setTimeout(() => {\n // our menu trigger directive leaves the last position used for use immediately after opening\n // we can access it here and determine the correct side.\n // eslint-disable-next-line\n const ps = (this._host as any)._parentTrigger._spartanLastPosition;\n if (!ps) {\n // if we have no last position we default to the most likely option\n // I hate that we have to do this and hope we can revisit soon and improve\n this._side.set(isRoot ? 'top' : 'left');\n return;\n }\n const side = isRoot ? ps.originY : ps.originX === 'end' ? 'right' : 'left';\n this._side.set(side);\n });\n }\n}\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { CdkMenuItemCheckbox } from '@angular/cdk/menu';\nimport { Directive, booleanAttribute, inject, input } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmDropdownMenuCheckbox]',\n hostDirectives: [\n {\n directive: CdkMenuItemCheckbox,\n inputs: ['cdkMenuItemDisabled: disabled', 'cdkMenuItemChecked: checked'],\n outputs: ['cdkMenuItemTriggered: triggered'],\n },\n ],\n host: {\n 'data-slot': 'dropdown-menu-checkbox-item',\n '[attr.data-disabled]': 'disabled() ? \"\" : null',\n '[attr.data-checked]': 'checked() ? \"\" : null',\n },\n})\nexport class HlmDropdownMenuCheckbox {\n private readonly _cdkMenuItem = inject(CdkMenuItemCheckbox);\n public readonly checked = input<boolean, BooleanInput>(this._cdkMenuItem.checked, {\n transform: booleanAttribute,\n });\n public readonly disabled = input<boolean, BooleanInput>(this._cdkMenuItem.disabled, {\n transform: booleanAttribute,\n });\n\n constructor() {\n classes(\n () =>\n 'hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground group relative flex w-full cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm transition-colors outline-none select-none has-[>hlm-dropdown-menu-checkbox-indicator:last-child]:ps-2 has-[>hlm-dropdown-menu-checkbox-indicator:last-child]:pe-8 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 has-[>hlm-dropdown-menu-checkbox-indicator:last-child]:[&>hlm-dropdown-menu-checkbox-indicator]:start-auto has-[>hlm-dropdown-menu-checkbox-indicator:last-child]:[&>hlm-dropdown-menu-checkbox-indicator]:end-2',\n );\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { phosphorCheck } from '@ng-icons/phosphor-icons/regular';\nimport { classes } from '../../../utils/src';\n\n@Component({\n selector: 'hlm-dropdown-menu-checkbox-indicator',\n imports: [NgIcon],\n providers: [provideIcons({ phosphorCheck })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: ` <ng-icon class=\"text-base\" name=\"phosphorCheck\" /> `,\n})\nexport class HlmDropdownMenuCheckboxIndicator {\n constructor() {\n classes(\n () =>\n 'pointer-events-none absolute left-2 flex size-3.5 items-center justify-center opacity-0 group-data-[checked]:opacity-100',\n );\n }\n}\n","import { CdkMenuGroup } from '@angular/cdk/menu';\nimport { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmDropdownMenuGroup],hlm-dropdown-menu-group',\n hostDirectives: [CdkMenuGroup],\n host: {\n 'data-slot': 'dropdown-menu-group',\n },\n})\nexport class HlmDropdownMenuGroup {\n constructor() {\n classes(() => 'block');\n }\n}\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { CdkMenuItem } from '@angular/cdk/menu';\nimport { booleanAttribute, Directive, HOST_TAG_NAME, inject, input } from '@angular/core';\nimport { classes } from '../../../utils/src';\nimport type { DropdownMenuItemVariantName } from '@surfnet/curve-contracts';\n\n@Directive({\n selector: '[hlmDropdownMenuItem],hlm-dropdown-menu-item',\n hostDirectives: [\n {\n directive: CdkMenuItem,\n inputs: ['cdkMenuItemDisabled: disabled'],\n outputs: ['cdkMenuItemTriggered: triggered'],\n },\n ],\n host: {\n 'data-slot': 'dropdown-menu-item',\n '[attr.disabled]': '_isButton && disabled() ? \"\" : null',\n '[attr.data-disabled]': 'disabled() ? \"\" : null',\n '[attr.data-variant]': 'variant()',\n '[attr.data-inset]': 'inset() ? \"\" : null',\n },\n})\nexport class HlmDropdownMenuItem {\n protected readonly _isButton = inject(HOST_TAG_NAME) === 'button';\n\n public readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n public readonly variant = input<DropdownMenuItemVariantName>('default');\n\n public readonly inset = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n constructor() {\n classes(\n () =>\n \"hover:bg-accent focus-visible:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[ng-icon]:!text-destructive [&_ng-icon:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0 [&_svg:not([class*='text-'])]:text-base\",\n );\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { phosphorCaretRight } from '@ng-icons/phosphor-icons/regular';\nimport { classes } from '../../../utils/src';\n\n@Component({\n selector: 'hlm-dropdown-menu-item-sub-indicator',\n imports: [NgIcon],\n providers: [provideIcons({ phosphorCaretRight })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: ` <ng-icon name=\"phosphorCaretRight\" class=\"text-base rtl:rotate-180\" /> `,\n})\nexport class HlmDropdownMenuItemSubIndicator {\n constructor() {\n classes(() => 'ms-auto size-4');\n }\n}\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmDropdownMenuLabel],hlm-dropdown-menu-label',\n host: {\n 'data-slot': 'dropdown-menu-label',\n '[attr.data-inset]': 'inset() ? \"\" : null',\n },\n})\nexport class HlmDropdownMenuLabel {\n constructor() {\n classes(() => 'block px-2 py-1.5 text-sm font-medium data-[inset]:pl-8');\n }\n\n public readonly inset = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n}\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { CdkMenuItemRadio } from '@angular/cdk/menu';\nimport { Directive, booleanAttribute, inject, input } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmDropdownMenuRadio]',\n hostDirectives: [\n {\n directive: CdkMenuItemRadio,\n inputs: ['cdkMenuItemDisabled: disabled', 'cdkMenuItemChecked: checked'],\n outputs: ['cdkMenuItemTriggered: triggered'],\n },\n ],\n host: {\n 'data-slot': 'dropdown-menu-radio-item',\n '[attr.data-disabled]': 'disabled() ? \"\" : null',\n '[attr.data-checked]': 'checked() ? \"\" : null',\n },\n})\nexport class HlmDropdownMenuRadio {\n private readonly _cdkMenuItem = inject(CdkMenuItemRadio);\n public readonly checked = input<boolean, BooleanInput>(this._cdkMenuItem.checked, {\n transform: booleanAttribute,\n });\n public readonly disabled = input<boolean, BooleanInput>(this._cdkMenuItem.disabled, {\n transform: booleanAttribute,\n });\n\n constructor() {\n classes(\n () =>\n 'hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground group relative flex w-full cursor-default items-center rounded-sm py-1.5 ps-8 pe-2 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n );\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { phosphorCircle } from '@ng-icons/phosphor-icons/regular';\nimport { classes } from '../../../utils/src';\n\n@Component({\n selector: 'hlm-dropdown-menu-radio-indicator',\n imports: [NgIcon],\n providers: [provideIcons({ phosphorCircle })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: ` <ng-icon name=\"phosphorCircle\" class=\"text-[0.5rem] *:[svg]:fill-current\" /> `,\n})\nexport class HlmDropdownMenuRadioIndicator {\n constructor() {\n classes(\n () =>\n 'pointer-events-none absolute start-2 flex size-3.5 items-center justify-center opacity-0 group-data-[checked]:opacity-100',\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmDropdownMenuSeparator],hlm-dropdown-menu-separator',\n host: {\n 'data-slot': 'dropdown-menu-separator',\n },\n})\nexport class HlmDropdownMenuSeparator {\n constructor() {\n classes(() => 'bg-border -mx-1 my-1 block h-px');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmDropdownMenuShortcut],hlm-dropdown-menu-shortcut',\n host: {\n 'data-slot': 'dropdown-menu-shortcut',\n },\n})\nexport class HlmDropdownMenuShortcut {\n constructor() {\n classes(() => 'text-muted-foreground ml-auto text-xs tracking-widest');\n }\n}\n","import { CdkMenu } from '@angular/cdk/menu';\nimport { Directive, inject, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmDropdownMenuSub],hlm-dropdown-menu-sub',\n hostDirectives: [CdkMenu],\n host: {\n 'data-slot': 'dropdown-menu-sub',\n '[attr.data-state]': '_state()',\n '[attr.data-side]': '_side()',\n },\n})\nexport class HlmDropdownMenuSub {\n private readonly _host = inject(CdkMenu);\n\n protected readonly _state = signal('open');\n protected readonly _side = signal('top');\n\n constructor() {\n this.setSideWithDarkMagic();\n // this is a best effort, but does not seem to work currently\n // TODO: figure out a way for us to know the host is about to be closed. might not be possible with CDK\n this._host.closed.pipe(takeUntilDestroyed()).subscribe(() => this._state.set('closed'));\n\n classes(\n () =>\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-top overflow-hidden rounded-md border p-1 shadow-lg',\n );\n }\n\n private setSideWithDarkMagic() {\n /**\n * This is an ugly workaround to at least figure out the correct side of where a submenu\n * will appear and set the attribute to the host accordingly\n *\n * First of all we take advantage of the menu stack not being aware of the root\n * object immediately after it is added. This code executes before the root element is added,\n * which means the stack is still empty and the peek method returns undefined.\n */\n const isRoot = this._host.menuStack.peek() === undefined;\n setTimeout(() => {\n // our menu trigger directive leaves the last position used for use immediately after opening\n // we can access it here and determine the correct side.\n // eslint-disable-next-line\n const ps = (this._host as any)._parentTrigger._spartanLastPosition;\n if (!ps) {\n // if we have no last position we default to the most likely option\n // I hate that we have to do this and hope we can revisit soon and improve\n this._side.set(isRoot ? 'top' : 'left');\n return;\n }\n const side = isRoot ? ps.originY : ps.originX === 'end' ? 'right' : 'left';\n this._side.set(side);\n });\n }\n}\n","import { InjectionToken, type ValueProvider, inject } from '@angular/core';\nimport { type MenuAlign, type MenuSide } from '@spartan-ng/brain/core';\n\nexport interface HlmDropdownMenuConfig {\n align: MenuAlign;\n side: MenuSide;\n}\n\nconst defaultConfig: HlmDropdownMenuConfig = {\n align: 'start',\n side: 'bottom',\n};\n\nconst HlmDropdownMenuConfigToken = new InjectionToken<HlmDropdownMenuConfig>(\n 'HlmDropdownMenuConfig',\n);\n\nexport function provideHlmDropdownMenuConfig(\n config: Partial<HlmDropdownMenuConfig>,\n): ValueProvider {\n return { provide: HlmDropdownMenuConfigToken, useValue: { ...defaultConfig, ...config } };\n}\n\nexport function injectHlmDropdownMenuConfig(): HlmDropdownMenuConfig {\n return inject(HlmDropdownMenuConfigToken, { optional: true }) ?? defaultConfig;\n}\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { computed, Directive, effect, inject, input } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { createMenuPosition, type MenuAlign, type MenuSide } from '@spartan-ng/brain/core';\nimport { injectHlmDropdownMenuConfig } from './hlm-dropdown-menu-token';\n\n@Directive({\n selector: '[hlmDropdownMenuTrigger]',\n hostDirectives: [\n {\n directive: CdkMenuTrigger,\n inputs: [\n 'cdkMenuTriggerFor: hlmDropdownMenuTrigger',\n 'cdkMenuTriggerData: hlmDropdownMenuTriggerData',\n ],\n outputs: ['cdkMenuOpened: hlmDropdownMenuOpened', 'cdkMenuClosed: hlmDropdownMenuClosed'],\n },\n ],\n host: {\n 'data-slot': 'dropdown-menu-trigger',\n },\n})\nexport class HlmDropdownMenuTrigger {\n private readonly _cdkTrigger = inject(CdkMenuTrigger, { host: true });\n private readonly _config = injectHlmDropdownMenuConfig();\n\n public readonly align = input<MenuAlign>(this._config.align);\n public readonly side = input<MenuSide>(this._config.side);\n\n private readonly _menuPosition = computed(() => createMenuPosition(this.align(), this.side()));\n\n constructor() {\n // once the trigger opens we wait until the next tick and then grab the last position\n // used to position the menu. we store this in our trigger which the brnMenu directive has\n // access to through DI\n this._cdkTrigger.opened.pipe(takeUntilDestroyed()).subscribe(() =>\n setTimeout(\n () =>\n // eslint-disable-next-line\n ((this._cdkTrigger as any)._spartanLastPosition = // eslint-disable-next-line\n (this._cdkTrigger as any).overlayRef._positionStrategy._lastPosition),\n ),\n );\n\n effect(() => {\n this._cdkTrigger.menuPosition = this._menuPosition();\n });\n }\n}\n","import { HlmDropdownMenu } from './lib/hlm-dropdown-menu';\nimport { HlmDropdownMenuCheckbox } from './lib/hlm-dropdown-menu-checkbox';\nimport { HlmDropdownMenuCheckboxIndicator } from './lib/hlm-dropdown-menu-checkbox-indicator';\nimport { HlmDropdownMenuGroup } from './lib/hlm-dropdown-menu-group';\nimport { HlmDropdownMenuItem } from './lib/hlm-dropdown-menu-item';\nimport { HlmDropdownMenuItemSubIndicator } from './lib/hlm-dropdown-menu-item-sub-indicator';\nimport { HlmDropdownMenuLabel } from './lib/hlm-dropdown-menu-label';\nimport { HlmDropdownMenuRadio } from './lib/hlm-dropdown-menu-radio';\nimport { HlmDropdownMenuRadioIndicator } from './lib/hlm-dropdown-menu-radio-indicator';\nimport { HlmDropdownMenuSeparator } from './lib/hlm-dropdown-menu-separator';\nimport { HlmDropdownMenuShortcut } from './lib/hlm-dropdown-menu-shortcut';\nimport { HlmDropdownMenuSub } from './lib/hlm-dropdown-menu-sub';\n\nimport { HlmDropdownMenuTrigger } from './lib/hlm-dropdown-menu-trigger';\n\nexport * from './lib/hlm-dropdown-menu';\nexport * from './lib/hlm-dropdown-menu-checkbox';\nexport * from './lib/hlm-dropdown-menu-checkbox-indicator';\nexport * from './lib/hlm-dropdown-menu-group';\nexport * from './lib/hlm-dropdown-menu-item';\nexport * from './lib/hlm-dropdown-menu-item-sub-indicator';\nexport * from './lib/hlm-dropdown-menu-label';\nexport * from './lib/hlm-dropdown-menu-radio';\nexport * from './lib/hlm-dropdown-menu-radio-indicator';\nexport * from './lib/hlm-dropdown-menu-separator';\nexport * from './lib/hlm-dropdown-menu-shortcut';\nexport * from './lib/hlm-dropdown-menu-sub';\nexport * from './lib/hlm-dropdown-menu-token';\nexport * from './lib/hlm-dropdown-menu-trigger';\n\nexport const HlmDropdownMenuImports = [\n HlmDropdownMenu,\n HlmDropdownMenuCheckbox,\n HlmDropdownMenuCheckboxIndicator,\n HlmDropdownMenuGroup,\n HlmDropdownMenuItem,\n HlmDropdownMenuItemSubIndicator,\n HlmDropdownMenuLabel,\n HlmDropdownMenuRadio,\n HlmDropdownMenuRadioIndicator,\n HlmDropdownMenuSeparator,\n HlmDropdownMenuShortcut,\n HlmDropdownMenuSub,\n HlmDropdownMenuTrigger,\n] as const;\n","import { Directive, input } from '@angular/core';\nimport { BrnField } from '@spartan-ng/brain/field';\nimport { classes } from '../../../utils/src';\nimport type { FieldOrientationName } from '@surfnet/curve-contracts';\nimport { cva, VariantProps } from 'class-variance-authority';\nimport type { ClassValue } from 'clsx';\n\nconst fieldVariants = cva(\n 'data-[matches-spartan-invalid=true]:text-destructive gap-3 group/field flex w-full',\n {\n variants: {\n orientation: {\n vertical: 'flex-col *:w-full [&>.sr-only]:w-auto',\n horizontal: [\n 'flex-row items-center',\n '*:data-[slot=field-label]:flex-auto',\n 'has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px',\n ],\n responsive: [\n 'flex-col *:w-full @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto [&>.sr-only]:w-auto',\n '@md/field-group:*:data-[slot=field-label]:flex-auto',\n '@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px',\n ],\n } satisfies Record<FieldOrientationName, ClassValue>,\n },\n defaultVariants: {\n orientation: 'vertical',\n },\n },\n);\n\nexport type FieldVariants = VariantProps<typeof fieldVariants>;\n\n@Directive({\n selector: '[hlmField],hlm-field',\n hostDirectives: [{ directive: BrnField, inputs: ['data-invalid', 'forceInvalid'] }],\n host: {\n role: 'group',\n 'data-slot': 'field',\n '[attr.data-orientation]': 'orientation()',\n },\n})\nexport class HlmField {\n public readonly orientation = input<FieldVariants['orientation']>('vertical');\n\n constructor() {\n classes(() => fieldVariants({ orientation: this.orientation() }));\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmFieldContent],hlm-field-content',\n host: { 'data-slot': 'field-content' },\n})\nexport class HlmFieldContent {\n constructor() {\n classes(() => 'gap-1 group/field-content flex flex-1 flex-col leading-snug');\n }\n}\n","import { Directive, effect, EffectRef, inject, input, OnDestroy } from '@angular/core';\nimport { BrnFieldA11yService } from '@spartan-ng/brain/field';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmFieldDescription],hlm-field-description',\n host: {\n 'data-slot': 'field-description',\n '[attr.id]': 'id()',\n },\n})\nexport class HlmFieldDescription implements OnDestroy {\n private static _id = 0;\n\n private readonly _a11y = inject(BrnFieldA11yService, { optional: true, host: true });\n\n public readonly id = input<string>(`hlm-field-description-${HlmFieldDescription._id++}`);\n\n private _registeredId?: string;\n\n private readonly _cleanup: EffectRef | null = this._a11y\n ? effect(() => {\n const a11y = this._a11y;\n if (!a11y) return;\n\n const id = this.id();\n if (this._registeredId && this._registeredId !== id) {\n a11y.unregisterDescription(this._registeredId);\n }\n\n if (this._registeredId !== id) {\n a11y.registerDescription(id);\n this._registeredId = id;\n }\n })\n : null;\n\n constructor() {\n classes(() => [\n 'text-muted-foreground text-start text-sm [[data-variant=legend]+&]:-mt-1.5 leading-normal font-normal group-has-data-horizontal/field:text-balance',\n 'last:mt-0 nth-last-2:-mt-1',\n '[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4',\n ]);\n }\n\n ngOnDestroy() {\n this._cleanup?.destroy();\n\n if (this._registeredId) {\n this._a11y?.unregisterDescription(this._registeredId);\n }\n }\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n EffectRef,\n inject,\n input,\n OnDestroy,\n} from '@angular/core';\nimport { BrnField, BrnFieldA11yService } from '@spartan-ng/brain/field';\nimport { classes } from '../../../utils/src';\n\n@Component({\n selector: 'hlm-field-error',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'alert',\n 'data-slot': 'field-error',\n '[attr.id]': 'id()',\n '[hidden]': '!_display()',\n },\n template: `\n @if (_display()) {\n <ng-content />\n }\n `,\n})\nexport class HlmFieldError implements OnDestroy {\n private static _id = 0;\n\n private readonly _field = inject(BrnField, { optional: true });\n private readonly _a11y = inject(BrnFieldA11yService, { optional: true, host: true });\n\n private _registeredId?: string | undefined;\n\n private readonly _hasParentField = !!this._field;\n\n /** The unique ID for the field error. If none is supplied, it will be auto-generated. */\n public readonly id = input<string>(`hlm-field-error-${HlmFieldError._id++}`);\n\n /**\n * The name of the specific validator error key to match (e.g. 'required').\n * When omitted, the error is shown if any validation error is present.\n */\n public readonly validator = input<string>();\n\n /** Forces the error message to be visible regardless of the control's validation state. */\n public readonly forceShow = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n protected readonly _display = computed(\n () => !this._hasParentField || this.forceShow() || this._hasError(),\n );\n\n protected readonly _hasError = computed(() => {\n const errors = this._field?.errors();\n if (!errors) return false;\n\n const validator = this.validator();\n const spartanInvalid = this._field?.controlState()?.spartanInvalid;\n\n if (!spartanInvalid) return false;\n\n return validator ? validator in errors : Object.keys(errors).length > 0;\n });\n\n private readonly _cleanup: EffectRef | null = this._a11y\n ? effect(() => {\n const a11y = this._a11y;\n if (!a11y) return;\n\n const id = this.id();\n const hasError = this._hasError();\n\n if (this._registeredId && (this._registeredId !== id || !hasError)) {\n a11y.unregisterError(this._registeredId);\n this._registeredId = undefined;\n }\n\n if (hasError && this._registeredId !== id) {\n a11y.registerError(id);\n this._registeredId = id;\n }\n })\n : null;\n\n constructor() {\n classes(() => 'text-destructive text-sm font-normal');\n }\n\n ngOnDestroy() {\n this._cleanup?.destroy();\n\n if (this._registeredId) {\n this._a11y?.unregisterError(this._registeredId);\n }\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmFieldGroup],hlm-field-group',\n host: { 'data-slot': 'field-group' },\n})\nexport class HlmFieldGroup {\n constructor() {\n classes(\n () =>\n 'gap-7 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4 group/field-group @container/field-group flex w-full flex-col',\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { BrnLabel } from '@spartan-ng/brain/label';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmLabel]',\n hostDirectives: [{ directive: BrnLabel, inputs: ['id', 'for'] }],\n host: { 'data-slot': 'label' },\n})\nexport class HlmLabel {\n constructor() {\n classes(\n () =>\n 'gap-2 text-sm leading-none font-medium group-data-[disabled=true]:opacity-50 peer-disabled:opacity-50 flex items-center select-none group-data-[disabled=true]:pointer-events-none peer-disabled:cursor-not-allowed',\n );\n }\n}\n","import { HlmLabel } from './lib/hlm-label';\n\nexport * from './lib/hlm-label';\n\nexport const HlmLabelImports = [HlmLabel] as const;\n","import { Directive } from '@angular/core';\nimport { HlmLabel } from '../../../label/src';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmFieldLabel],hlm-field-label',\n hostDirectives: [HlmLabel],\n host: { 'data-slot': 'field-label' },\n})\nexport class HlmFieldLabel {\n constructor() {\n classes(() => [\n 'has-data-checked:bg-primary/5 has-data-checked:border-primary/30 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10 gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border *:data-[slot=field]:p-3 group/field-label peer/field-label flex w-fit',\n 'has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col',\n ]);\n }\n}\n","import { Directive, input } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: 'legend[hlmFieldLegend]',\n host: {\n 'data-slot': 'field-legend',\n '[attr.data-variant]': 'variant()',\n },\n})\nexport class HlmFieldLegend {\n public readonly variant = input<'label' | 'legend'>('legend');\n\n constructor() {\n classes(() => 'mb-3 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base');\n }\n}\n","import { Directive } from '@angular/core';\nimport { BrnSeparator } from '@spartan-ng/brain/separator';\nimport { classes } from '../../../utils/src';\n\nexport const hlmSeparatorClass =\n 'inline-flex shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch';\n\n@Directive({\n selector: '[hlmSeparator],hlm-separator',\n hostDirectives: [{ directive: BrnSeparator, inputs: ['orientation', 'decorative'] }],\n host: {\n 'data-slot': 'separator',\n },\n})\nexport class HlmSeparator {\n constructor() {\n classes(() => hlmSeparatorClass);\n }\n}\n","import { HlmSeparator } from './lib/hlm-separator';\n\nexport * from './lib/hlm-separator';\n\nexport const HlmSeparatorImports = [HlmSeparator] as const;\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { HlmSeparator } from '../../../separator/src';\nimport { classes } from '../../../utils/src';\n\n@Component({\n selector: 'hlm-field-separator',\n imports: [HlmSeparator],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { 'data-slot': 'field-separator' },\n template: `\n <hlm-separator class=\"absolute inset-0 top-1/2\" />\n <span\n data-slot=\"field-separator-content\"\n class=\"text-muted-foreground px-2 bg-background relative mx-auto block w-fit\"\n >\n <ng-content />\n </span>\n `,\n})\nexport class HlmFieldSeparator {\n constructor() {\n classes(() => '-my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2 relative');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: 'fieldset[hlmFieldSet]',\n host: { 'data-slot': 'field-set' },\n})\nexport class HlmFieldSet {\n constructor() {\n classes(\n () =>\n 'gap-6 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3 flex flex-col',\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmFieldTitle],hlm-field-title',\n host: { 'data-slot': 'field-label' },\n})\nexport class HlmFieldTitle {\n constructor() {\n classes(\n () =>\n 'gap-2 text-sm leading-snug font-medium group-data-[disabled=true]/field:opacity-50 flex w-fit items-center',\n );\n }\n}\n","import { HlmField } from './lib/hlm-field';\nimport { HlmFieldContent } from './lib/hlm-field-content';\nimport { HlmFieldDescription } from './lib/hlm-field-description';\nimport { HlmFieldError } from './lib/hlm-field-error';\nimport { HlmFieldGroup } from './lib/hlm-field-group';\nimport { HlmFieldLabel } from './lib/hlm-field-label';\nimport { HlmFieldLegend } from './lib/hlm-field-legend';\nimport { HlmFieldSeparator } from './lib/hlm-field-separator';\nimport { HlmFieldSet } from './lib/hlm-field-set';\nimport { HlmFieldTitle } from './lib/hlm-field-title';\n\nexport * from './lib/hlm-field';\nexport * from './lib/hlm-field-content';\nexport * from './lib/hlm-field-description';\nexport * from './lib/hlm-field-error';\nexport * from './lib/hlm-field-group';\nexport * from './lib/hlm-field-label';\nexport * from './lib/hlm-field-legend';\nexport * from './lib/hlm-field-separator';\nexport * from './lib/hlm-field-set';\nexport * from './lib/hlm-field-title';\n\nexport const HlmFieldImports = [\n HlmField,\n HlmFieldContent,\n HlmFieldDescription,\n HlmFieldError,\n HlmFieldGroup,\n HlmFieldLabel,\n HlmFieldLegend,\n HlmFieldSeparator,\n HlmFieldSet,\n HlmFieldTitle,\n] as const;\n","import { Directive } from '@angular/core';\nimport { BrnFieldControlDescribedBy } from '@spartan-ng/brain/field';\nimport { BrnInput } from '@spartan-ng/brain/input';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmInput]',\n hostDirectives: [\n { directive: BrnInput, inputs: ['id', 'forceInvalid'] },\n BrnFieldControlDescribedBy,\n ],\n})\nexport class HlmInput {\n constructor() {\n classes(\n () =>\n 'dark:bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/50 data-[matches-spartan-invalid=true]:ring-destructive/20 dark:data-[matches-spartan-invalid=true]:ring-destructive/40 data-[matches-spartan-invalid=true]:border-destructive dark:data-[matches-spartan-invalid=true]:border-destructive/50 h-9 rounded-md border bg-transparent px-2.5 py-1 text-base shadow-xs transition-[color,box-shadow] file:h-7 file:text-sm file:font-medium focus-visible:ring-3 data-[matches-spartan-invalid=true]:ring-3 md:text-sm file:text-foreground placeholder:text-muted-foreground w-full min-w-0 outline-none file:inline-flex file:border-0 file:bg-transparent disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50',\n );\n }\n}\n","import { HlmInput } from './lib/hlm-input';\n\nexport * from './lib/hlm-input';\n\nexport const HlmInputImports = [HlmInput] as const;\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmInputGroup],hlm-input-group',\n host: {\n 'data-slot': 'input-group',\n role: 'group',\n },\n})\nexport class HlmInputGroup {\n constructor() {\n classes(\n () =>\n 'border-input dark:bg-input/30 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][data-matches-spartan-invalid=true]]:ring-destructive/20 has-[[data-slot][data-matches-spartan-invalid=true]]:border-destructive dark:has-[[data-slot][data-matches-spartan-invalid=true]]:ring-destructive/40 h-9 rounded-md border shadow-xs transition-[color,box-shadow] in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot][data-matches-spartan-invalid=true]]:ring-3 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pe-1.5 has-[>[data-align=inline-start]]:[&>input]:ps-1.5 group/input-group relative flex w-full min-w-0 items-center outline-none has-[>textarea]:h-auto',\n );\n }\n}\n","import { Directive, input } from '@angular/core';\nimport { classes } from '../../../utils/src';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nconst inputGroupAddonVariants = cva(\n \"text-muted-foreground h-auto gap-2 py-1.5 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)] flex cursor-text items-center justify-center select-none\",\n {\n variants: {\n align: {\n 'inline-start': 'ps-2 has-[>button]:-ms-1 has-[>kbd]:ms-[-0.15rem] order-first',\n 'inline-end': 'pe-2 has-[>button]:-me-1 has-[>kbd]:me-[-0.15rem] order-last',\n 'block-start':\n 'px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2 order-first w-full justify-start',\n 'block-end':\n 'px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2 order-last w-full justify-start',\n },\n },\n defaultVariants: {\n align: 'inline-start',\n },\n },\n);\n\ntype InputGroupAddonVariants = VariantProps<typeof inputGroupAddonVariants>;\n\n@Directive({\n selector: '[hlmInputGroupAddon],hlm-input-group-addon',\n host: {\n role: 'group',\n 'data-slot': 'input-group-addon',\n '[attr.data-align]': 'align()',\n },\n})\nexport class HlmInputGroupAddon {\n public readonly align = input<InputGroupAddonVariants['align']>('inline-start');\n\n constructor() {\n classes(() => inputGroupAddonVariants({ align: this.align() }));\n }\n}\n","import { Directive, input } from '@angular/core';\nimport { HlmButton, provideBrnButtonConfig } from '../../../button/src';\nimport { classes } from '../../../utils/src';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nconst inputGroupAddonVariants = cva('gap-2 text-sm flex items-center shadow-none', {\n variants: {\n size: {\n xs: \"h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-1.5 [&>ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*3.5)]\",\n sm: '',\n 'icon-xs': 'size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>ng-icon]:p-0',\n 'icon-sm': 'size-8 p-0 has-[>ng-icon]:p-0',\n },\n },\n defaultVariants: {\n size: 'xs',\n },\n});\n\ntype InputGroupAddonVariants = VariantProps<typeof inputGroupAddonVariants>;\n\n@Directive({\n selector: 'button[hlmInputGroupButton]',\n providers: [\n provideBrnButtonConfig({\n variant: 'ghost',\n }),\n ],\n hostDirectives: [\n {\n directive: HlmButton,\n inputs: ['variant'],\n },\n ],\n host: {\n '[attr.data-size]': 'size()',\n '[type]': 'type()',\n },\n})\nexport class HlmInputGroupButton {\n public readonly size = input<InputGroupAddonVariants['size']>('xs');\n public readonly type = input<'button' | 'submit' | 'reset'>('button');\n\n constructor() {\n classes(() => inputGroupAddonVariants({ size: this.size() }));\n }\n}\n","import { Directive } from '@angular/core';\nimport { HlmInput } from '../../../input/src';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: 'input[hlmInputGroupInput]',\n hostDirectives: [HlmInput],\n host: { 'data-slot': 'input-group-control' },\n})\nexport class HlmInputGroupInput {\n constructor() {\n classes(\n () =>\n `rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 data-[matches-spartan-invalid=true]:ring-0 dark:bg-transparent flex-1`,\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmInputGroupText],hlm-input-group-text',\n})\nexport class HlmInputGroupText {\n constructor() {\n classes(\n () =>\n \"text-muted-foreground gap-2 text-sm [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)] flex items-center [&_ng-icon]:pointer-events-none\",\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { BrnFieldControlDescribedBy } from '@spartan-ng/brain/field';\nimport { BrnTextarea } from '@spartan-ng/brain/textarea';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmTextarea]',\n hostDirectives: [\n { directive: BrnTextarea, inputs: ['id', 'forceInvalid'] },\n BrnFieldControlDescribedBy,\n ],\n host: { 'data-slot': 'textarea' },\n})\nexport class HlmTextarea {\n constructor() {\n classes(\n () =>\n 'border-input dark:bg-input/30 focus-visible:border-ring focus-visible:ring-ring/50 data-[matches-spartan-invalid=true]:ring-destructive/20 dark:data-[matches-spartan-invalid=true]:ring-destructive/40 data-[matches-spartan-invalid=true]:border-destructive dark:data-[matches-spartan-invalid=true]:border-destructive/50 rounded-md border bg-transparent px-2.5 py-2 text-base shadow-xs transition-[color,box-shadow] focus-visible:ring-3 data-[matches-spartan-invalid=true]:ring-3 md:text-sm placeholder:text-muted-foreground flex field-sizing-content min-h-16 w-full outline-none disabled:cursor-not-allowed disabled:opacity-50',\n );\n }\n}\n","import { HlmTextarea } from './lib/hlm-textarea';\n\nexport * from './lib/hlm-textarea';\n\nexport const HlmTextareaImports = [HlmTextarea] as const;\n","import { Directive } from '@angular/core';\nimport { HlmTextarea } from '../../../textarea/src';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: 'textarea[hlmInputGroupTextarea]',\n hostDirectives: [HlmTextarea],\n host: { 'data-slot': 'input-group-control' },\n})\nexport class HlmInputGroupTextarea {\n constructor() {\n classes(\n () =>\n 'rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 data-[matches-spartan-invalid=true]:ring-0 dark:bg-transparent flex-1 resize-none',\n );\n }\n}\n","import { HlmInputGroup } from './lib/hlm-input-group';\nimport { HlmInputGroupAddon } from './lib/hlm-input-group-addon';\nimport { HlmInputGroupButton } from './lib/hlm-input-group-button';\nimport { HlmInputGroupInput } from './lib/hlm-input-group-input';\nimport { HlmInputGroupText } from './lib/hlm-input-group-text';\nimport { HlmInputGroupTextarea } from './lib/hlm-input-group-textarea';\n\nexport * from './lib/hlm-input-group';\nexport * from './lib/hlm-input-group-addon';\nexport * from './lib/hlm-input-group-button';\nexport * from './lib/hlm-input-group-input';\nexport * from './lib/hlm-input-group-text';\nexport * from './lib/hlm-input-group-textarea';\n\nexport const HlmInputGroupImports = [\n HlmInputGroup,\n HlmInputGroupAddon,\n HlmInputGroupButton,\n HlmInputGroupInput,\n HlmInputGroupText,\n HlmInputGroupTextarea,\n] as const;\n","import { Directive } from '@angular/core';\nimport { provideBrnDialogDefaultOptions } from '@spartan-ng/brain/dialog';\nimport { BrnPopover, provideBrnPopoverConfig } from '@spartan-ng/brain/popover';\nimport { BrnSelect } from '@spartan-ng/brain/select';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmSelect],hlm-select',\n providers: [\n provideBrnPopoverConfig({\n align: 'start',\n sideOffset: 6,\n }),\n provideBrnDialogDefaultOptions({\n autoFocus: 'first-heading',\n }),\n ],\n hostDirectives: [\n {\n directive: BrnSelect,\n inputs: ['disabled', 'value', 'isItemEqualToValue', 'itemToString'],\n outputs: ['valueChange'],\n },\n {\n directive: BrnPopover,\n inputs: [\n 'align',\n 'autoFocus',\n 'closeDelay',\n 'closeOnOutsidePointerEvents',\n 'sideOffset',\n 'state',\n 'offsetX',\n 'restoreFocus',\n ],\n outputs: ['stateChanged', 'closed'],\n },\n ],\n host: { 'data-slot': 'select' },\n})\nexport class HlmSelect {\n constructor() {\n classes(() => 'block');\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { phosphorCaretDown } from '@ng-icons/phosphor-icons/regular';\nimport { BrnSelectScrollDown } from '@spartan-ng/brain/select';\nimport { classes } from '../../../utils/src';\n\n@Component({\n selector: 'hlm-select-scroll-down',\n imports: [NgIcon],\n providers: [provideIcons({ phosphorCaretDown })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [BrnSelectScrollDown],\n template: ` <ng-icon name=\"phosphorCaretDown\" /> `,\n})\nexport class HlmSelectScrollDown {\n constructor() {\n classes(\n () =>\n \"bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)] sticky bottom-0 w-full data-hidden:hidden\",\n );\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { phosphorCaretUp } from '@ng-icons/phosphor-icons/regular';\nimport { BrnSelectScrollUp } from '@spartan-ng/brain/select';\nimport { classes } from '../../../utils/src';\n\n@Component({\n selector: 'hlm-select-scroll-up',\n imports: [NgIcon],\n providers: [provideIcons({ phosphorCaretUp })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [BrnSelectScrollUp],\n template: ` <ng-icon name=\"phosphorCaretUp\" /> `,\n})\nexport class HlmSelectScrollUp {\n constructor() {\n classes(\n () =>\n \"bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)] sticky top-0 w-full data-hidden:hidden\",\n );\n }\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n} from '@angular/core';\nimport { BrnSelectContent } from '@spartan-ng/brain/select';\nimport { classes, hlm } from '../../../utils/src';\nimport { HlmSelectScrollDown } from './hlm-select-scroll-down';\nimport { HlmSelectScrollUp } from './hlm-select-scroll-up';\n\n@Component({\n selector: 'hlm-select-content',\n imports: [HlmSelectScrollUp, HlmSelectScrollDown],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [BrnSelectContent],\n template: `\n @if (showScroll()) {\n <hlm-select-scroll-up />\n }\n\n <div role=\"listbox\" [class]=\"_computedListboxClasses()\">\n <ng-content />\n </div>\n\n @if (showScroll()) {\n <hlm-select-scroll-down />\n }\n `,\n})\nexport class HlmSelectContent {\n protected readonly _computedListboxClasses = computed(() => hlm('flex flex-col'));\n\n public readonly showScroll = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n constructor() {\n classes(\n () =>\n 'bg-popover no-scrollbar text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 max-h-72 min-w-36 flex-col rounded-md shadow-md ring-1 duration-100 relative flex w-(--brn-select-width) overflow-x-hidden overflow-y-auto',\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { BrnSelectGroup } from '@spartan-ng/brain/select';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmSelectGroup],hlm-select-group',\n hostDirectives: [{ directive: BrnSelectGroup }],\n host: { 'data-slot': 'select-group' },\n})\nexport class HlmSelectGroup {\n constructor() {\n classes(() => 'scroll-my-1 p-1');\n }\n}\n","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { phosphorCheck } from '@ng-icons/phosphor-icons/regular';\nimport { BrnSelectItem } from '@spartan-ng/brain/select';\nimport { classes } from '../../../utils/src';\n\n@Component({\n selector: 'hlm-select-item',\n imports: [NgIcon],\n providers: [provideIcons({ phosphorCheck })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [{ directive: BrnSelectItem, inputs: ['id', 'disabled', 'value'] }],\n host: { 'data-slot': 'select-item' },\n template: `\n <ng-content />\n @if (_active()) {\n <ng-icon\n name=\"phosphorCheck\"\n class=\"absolute end-2 flex items-center justify-center text-[calc(var(--spacing)*4)]\"\n aria-hidden=\"true\"\n />\n }\n `,\n})\nexport class HlmSelectItem {\n private readonly _brnSelectItem = inject(BrnSelectItem);\n\n protected readonly _active = this._brnSelectItem.active;\n\n constructor() {\n classes(\n () =>\n 'data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground gap-2 rounded-sm py-1.5 ps-2 pe-8 text-sm *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 relative flex w-full cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0',\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { BrnSelectLabel } from '@spartan-ng/brain/select';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmSelectLabel],hlm-select-label',\n hostDirectives: [{ directive: BrnSelectLabel, inputs: ['id'] }],\n host: { 'data-slot': 'select-label' },\n})\nexport class HlmSelectLabel {\n constructor() {\n classes(() => 'text-muted-foreground px-2 py-1.5 text-xs flex');\n }\n}\n","import { Directive } from '@angular/core';\nimport { provideBrnDialogDefaultOptions } from '@spartan-ng/brain/dialog';\nimport { BrnPopover, provideBrnPopoverConfig } from '@spartan-ng/brain/popover';\nimport { BrnSelectMultiple } from '@spartan-ng/brain/select';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmSelectMultiple],hlm-select-multiple',\n providers: [\n provideBrnPopoverConfig({\n align: 'start',\n sideOffset: 6,\n }),\n provideBrnDialogDefaultOptions({\n autoFocus: 'first-heading',\n }),\n ],\n hostDirectives: [\n {\n directive: BrnSelectMultiple,\n inputs: ['disabled', 'value', 'isItemEqualToValue', 'itemToString'],\n outputs: ['valueChange'],\n },\n {\n directive: BrnPopover,\n inputs: [\n 'align',\n 'autoFocus',\n 'closeDelay',\n 'closeOnOutsidePointerEvents',\n 'sideOffset',\n 'state',\n 'offsetX',\n 'restoreFocus',\n ],\n outputs: ['stateChanged', 'closed'],\n },\n ],\n host: { 'data-slot': 'select' },\n})\nexport class HlmSelectMultiple {\n constructor() {\n classes(() => 'block');\n }\n}\n","import { Directive } from '@angular/core';\nimport { BrnSelectPlaceholder } from '@spartan-ng/brain/select';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmSelectPlaceholder],hlm-select-placeholder',\n hostDirectives: [BrnSelectPlaceholder],\n host: { 'data-slot': 'select-placeholder' },\n})\nexport class HlmSelectPlaceholder {\n constructor() {\n classes(\n () =>\n \"gap-2 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)] flex items-center data-hidden:hidden [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0\",\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { BrnPopoverContent } from '@spartan-ng/brain/popover';\n\n@Directive({\n selector: '[hlmSelectPortal]',\n hostDirectives: [{ directive: BrnPopoverContent, inputs: ['context', 'class'] }],\n})\nexport class HlmSelectPortal {}\n","import { Directive } from '@angular/core';\nimport { BrnSelectSeparator } from '@spartan-ng/brain/select';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmSelectSeparator],hlm-select-separator',\n hostDirectives: [{ directive: BrnSelectSeparator, inputs: ['orientation'] }],\n host: { 'data-slot': 'select-separator' },\n})\nexport class HlmSelectSeparator {\n constructor() {\n classes(() => 'bg-border -mx-1 my-1 h-px pointer-events-none');\n }\n}\n","import type { BooleanInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n} from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { phosphorCaretUpDown } from '@ng-icons/phosphor-icons/regular';\nimport { BrnFieldControlDescribedBy } from '@spartan-ng/brain/field';\nimport { BrnSelectTrigger } from '@spartan-ng/brain/select';\nimport { hlm } from '../../../utils/src';\nimport type { SelectTriggerSizeName } from '@surfnet/curve-contracts';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-select-trigger',\n imports: [NgIcon, BrnSelectTrigger, BrnFieldControlDescribedBy],\n providers: [provideIcons({ phosphorCaretUpDown })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <button\n brnSelectTrigger\n brnFieldControlDescribedBy\n [forceInvalid]=\"forceInvalid()\"\n [id]=\"buttonId()\"\n [class]=\"_computedClass()\"\n [attr.data-size]=\"size()\"\n data-slot=\"select-trigger\"\n >\n <ng-content />\n <ng-icon\n name=\"phosphorCaretUpDown\"\n class=\"text-muted-foreground text-[calc(var(--spacing)*4)] ms-auto\"\n />\n </button>\n `,\n})\nexport class HlmSelectTrigger {\n private static _id = 0;\n\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm(\n 'border-input data-placeholder:text-muted-foreground dark:bg-input/30 dark:hover:bg-input/50 focus-visible:border-ring focus-visible:ring-ring/50 data-[matches-spartan-invalid=true]:ring-destructive/20 dark:data-[matches-spartan-invalid=true]:ring-destructive/40 data-[matches-spartan-invalid=true]:border-destructive dark:data-[matches-spartan-invalid=true]:border-destructive/50 gap-1.5 rounded-md border bg-transparent py-2 ps-2.5 pe-2 text-sm shadow-xs transition-[color,box-shadow] focus-visible:ring-3 data-[matches-spartan-invalid=true]:ring-3 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:gap-1.5 flex w-fit items-center justify-between whitespace-nowrap outline-none disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0',\n this.userClass(),\n ),\n );\n\n public readonly buttonId = input<string>(`hlm-select-trigger-${HlmSelectTrigger._id++}`);\n\n public readonly size = input<SelectTriggerSizeName>('default');\n\n /** Whether to force the trigger into an invalid state. */\n public readonly forceInvalid = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n}\n","import { Directive, inject } from '@angular/core';\nimport { BrnSelectValue } from '@spartan-ng/brain/select';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmSelectValue],hlm-select-value',\n hostDirectives: [{ directive: BrnSelectValue, inputs: ['placeholder'] }],\n host: { '[attr.data-slot]': '!_hidden() ? \"select-value\" : null' },\n})\nexport class HlmSelectValue {\n private readonly _brnSelectValue = inject(BrnSelectValue);\n\n protected readonly _hidden = this._brnSelectValue.hidden;\n\n constructor() {\n classes(() => 'data-hidden:hidden');\n }\n}\n","import { Directive } from '@angular/core';\nimport { BrnSelectValueTemplate } from '@spartan-ng/brain/select';\n\n@Directive({ selector: '[hlmSelectValueTemplate]', hostDirectives: [BrnSelectValueTemplate] })\nexport class HlmSelectValueTemplate {}\n","import { Directive } from '@angular/core';\nimport { BrnSelectValues } from '@spartan-ng/brain/select';\n\n@Directive({ selector: '[hlmSelectValues]', hostDirectives: [BrnSelectValues] })\nexport class HlmSelectValues {}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({ selector: '[hlmSelectValuesContent],hlm-select-values-content' })\nexport class HlmSelectValuesContent {\n constructor() {\n classes(() => 'gap-2 flex');\n }\n}\n","import { HlmSelect } from './lib/hlm-select';\nimport { HlmSelectContent } from './lib/hlm-select-content';\nimport { HlmSelectGroup } from './lib/hlm-select-group';\nimport { HlmSelectItem } from './lib/hlm-select-item';\nimport { HlmSelectLabel } from './lib/hlm-select-label';\nimport { HlmSelectMultiple } from './lib/hlm-select-multiple';\nimport { HlmSelectPlaceholder } from './lib/hlm-select-placeholder';\nimport { HlmSelectPortal } from './lib/hlm-select-portal';\nimport { HlmSelectScrollDown } from './lib/hlm-select-scroll-down';\nimport { HlmSelectScrollUp } from './lib/hlm-select-scroll-up';\nimport { HlmSelectSeparator } from './lib/hlm-select-separator';\nimport { HlmSelectTrigger } from './lib/hlm-select-trigger';\nimport { HlmSelectValue } from './lib/hlm-select-value';\nimport { HlmSelectValueTemplate } from './lib/hlm-select-value-template';\nimport { HlmSelectValues } from './lib/hlm-select-values';\nimport { HlmSelectValuesContent } from './lib/hlm-select-values-content';\n\nexport * from './lib/hlm-select';\nexport * from './lib/hlm-select-content';\nexport * from './lib/hlm-select-group';\nexport * from './lib/hlm-select-item';\nexport * from './lib/hlm-select-label';\nexport * from './lib/hlm-select-multiple';\nexport * from './lib/hlm-select-placeholder';\nexport * from './lib/hlm-select-portal';\nexport * from './lib/hlm-select-scroll-down';\nexport * from './lib/hlm-select-scroll-up';\nexport * from './lib/hlm-select-separator';\nexport * from './lib/hlm-select-trigger';\nexport * from './lib/hlm-select-value';\nexport * from './lib/hlm-select-value-template';\nexport * from './lib/hlm-select-values';\nexport * from './lib/hlm-select-values-content';\n\nexport const HlmSelectImports = [\n HlmSelect,\n HlmSelectContent,\n HlmSelectGroup,\n HlmSelectItem,\n HlmSelectLabel,\n HlmSelectMultiple,\n HlmSelectPlaceholder,\n HlmSelectPortal,\n HlmSelectScrollDown,\n HlmSelectScrollUp,\n HlmSelectSeparator,\n HlmSelectTrigger,\n HlmSelectValue,\n HlmSelectValues,\n HlmSelectValuesContent,\n HlmSelectValueTemplate,\n] as const;\n","import { inject, InjectionToken, type ValueProvider } from '@angular/core';\n\nexport interface HlmSidebarConfig {\n sidebarWidth: string;\n sidebarWidthMobile: string;\n sidebarWidthIcon: string;\n sidebarCookieName: string;\n sidebarCookieMaxAge: number;\n sidebarKeyboardShortcut: string;\n mobileBreakpoint: string;\n closeMobileSidebarOnMenuButtonClick: boolean;\n}\n\nconst defaultConfig: HlmSidebarConfig = {\n sidebarWidth: '16rem',\n sidebarWidthMobile: '18rem',\n sidebarWidthIcon: '3rem',\n sidebarCookieName: 'sidebar_state',\n sidebarCookieMaxAge: 60 * 60 * 24 * 7, // 7 days in seconds\n sidebarKeyboardShortcut: 'b',\n mobileBreakpoint: '768px',\n closeMobileSidebarOnMenuButtonClick: false,\n};\n\nconst HlmSidebarConfigToken = new InjectionToken<HlmSidebarConfig>('HlmSidebarConfig');\n\nexport function provideHlmSidebarConfig(config: Partial<HlmSidebarConfig>): ValueProvider {\n return { provide: HlmSidebarConfigToken, useValue: { ...defaultConfig, ...config } };\n}\n\nexport function injectHlmSidebarConfig(): HlmSidebarConfig {\n return inject(HlmSidebarConfigToken, { optional: true }) ?? defaultConfig;\n}\n","import { isPlatformServer } from '@angular/common';\nimport {\n afterNextRender,\n computed,\n DestroyRef,\n DOCUMENT,\n inject,\n Injectable,\n PLATFORM_ID,\n REQUEST,\n type Signal,\n signal,\n} from '@angular/core';\nimport { injectHlmSidebarConfig } from './hlm-sidebar.token';\n\nexport type SidebarVariant = 'sidebar' | 'floating' | 'inset';\n\n@Injectable({ providedIn: 'root' })\nexport class HlmSidebarService {\n private readonly _platformId = inject(PLATFORM_ID);\n private readonly _request = inject(REQUEST, { optional: true });\n private readonly _config = injectHlmSidebarConfig();\n private readonly _document = inject(DOCUMENT);\n private readonly _window = this._document.defaultView;\n private readonly _open = signal<boolean>(true);\n private readonly _openMobile = signal<boolean>(false);\n private readonly _isMobile = signal<boolean>(false);\n private readonly _variant = signal<SidebarVariant>('sidebar');\n private _mediaQuery: MediaQueryList | null = null;\n\n public readonly open: Signal<boolean> = this._open.asReadonly();\n public readonly openMobile: Signal<boolean> = this._openMobile.asReadonly();\n public readonly isMobile: Signal<boolean> = this._isMobile.asReadonly();\n public readonly variant: Signal<SidebarVariant> = this._variant.asReadonly();\n\n public readonly state = computed<'expanded' | 'collapsed'>(() =>\n this._open() ? 'expanded' : 'collapsed',\n );\n\n constructor() {\n const destroyRef = inject(DestroyRef);\n this.restoreStateFromCookie();\n\n afterNextRender(() => {\n if (!this._window) return;\n\n // Initialize MediaQueryList\n this._mediaQuery = this._window.matchMedia(`(max-width: ${this._config.mobileBreakpoint})`);\n this._isMobile.set(this._mediaQuery.matches);\n\n // Add media query listener\n const mediaQueryHandler = (e: MediaQueryListEvent) => {\n this._isMobile.set(e.matches);\n // If switching from mobile to desktop, close mobile sidebar\n if (!e.matches) this._openMobile.set(false);\n };\n this._mediaQuery.addEventListener('change', mediaQueryHandler);\n\n // Add keyboard shortcut listener\n const keydownHandler = (event: KeyboardEvent) => {\n if (\n event.key === this._config.sidebarKeyboardShortcut &&\n (event.ctrlKey || event.metaKey)\n ) {\n event.preventDefault();\n this.toggleSidebar();\n }\n };\n this._window.addEventListener('keydown', keydownHandler);\n\n // Add resize listener with debounce\n let resizeTimeout: number;\n const resizeHandler = () => {\n if (!this._window) return;\n\n if (resizeTimeout) this._window.clearTimeout(resizeTimeout);\n resizeTimeout = this._window.setTimeout(() => {\n if (this._mediaQuery) this._isMobile.set(this._mediaQuery.matches);\n }, 100);\n };\n this._window.addEventListener('resize', resizeHandler);\n\n // Cleanup listeners on destroy\n destroyRef.onDestroy(() => {\n if (!this._window) return;\n\n if (this._mediaQuery) this._mediaQuery.removeEventListener('change', mediaQueryHandler);\n this._window.removeEventListener('keydown', keydownHandler);\n this._window.removeEventListener('resize', resizeHandler);\n if (resizeTimeout) this._window.clearTimeout(resizeTimeout);\n });\n });\n }\n\n public setOpen(open: boolean): void {\n this._open.set(open);\n this._document.cookie = `${this._config.sidebarCookieName}=${open}; path=/; max-age=${this._config.sidebarCookieMaxAge}`;\n }\n\n public setOpenMobile(open: boolean): void {\n if (this._isMobile()) {\n this._openMobile.set(open);\n }\n }\n\n public setVariant(variant: SidebarVariant): void {\n this._variant.set(variant);\n }\n\n public toggleSidebar(): void {\n if (this._isMobile()) {\n this._openMobile.update((value) => !value);\n } else {\n this.setOpen(!this._open());\n }\n }\n\n private restoreStateFromCookie(): void {\n const cookieString = isPlatformServer(this._platformId)\n ? this._request?.headers.get('cookie')\n : this._document.cookie;\n\n if (!cookieString) return;\n\n const prefix = `${this._config.sidebarCookieName}=`;\n const cookieValue = cookieString\n .split(';')\n .map((c) => c.trim())\n .find((c) => c.startsWith(prefix))\n ?.slice(prefix.length);\n\n if (cookieValue !== undefined) {\n this._open.set(cookieValue === 'true');\n }\n }\n}\n","import { Directive, computed, effect, input, untracked } from '@angular/core';\nimport { injectCustomClassSettable } from '@spartan-ng/brain/core';\nimport { BrnSheetOverlay } from '@spartan-ng/brain/sheet';\nimport { hlm } from '../../../utils/src';\nimport type { ClassValue } from 'clsx';\n\n@Directive({\n selector: '[hlmSheetOverlay],hlm-sheet-overlay',\n hostDirectives: [BrnSheetOverlay],\n})\nexport class HlmSheetOverlay {\n private readonly _classSettable = injectCustomClassSettable({ optional: true, host: true });\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm(\n 'bg-black/10 supports-backdrop-filter:backdrop-blur-xs transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0',\n this.userClass(),\n ),\n );\n\n constructor() {\n effect(() => {\n const classValue = this._computedClass();\n untracked(() => this._classSettable?.setClassToCustomElement(classValue));\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';\nimport { BrnDialog, provideBrnDialogDefaultOptions } from '@spartan-ng/brain/dialog';\nimport { BrnSheet } from '@spartan-ng/brain/sheet';\nimport { HlmSheetOverlay } from './hlm-sheet-overlay';\n\n@Component({\n selector: 'hlm-sheet',\n exportAs: 'hlmSheet',\n imports: [HlmSheetOverlay],\n providers: [\n {\n provide: BrnDialog,\n useExisting: forwardRef(() => BrnSheet),\n },\n {\n provide: BrnSheet,\n useExisting: forwardRef(() => HlmSheet),\n },\n provideBrnDialogDefaultOptions({\n // add custom options here\n }),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <hlm-sheet-overlay />\n <ng-content />\n `,\n})\nexport class HlmSheet extends BrnSheet {}\n","import { Directive } from '@angular/core';\nimport { BrnSheetClose } from '@spartan-ng/brain/sheet';\n\n@Directive({\n selector: 'button[hlmSheetClose]',\n hostDirectives: [{ directive: BrnSheetClose, inputs: ['delay'] }],\n host: { 'data-slot': 'sheet-close' },\n})\nexport class HlmSheetClose {}\n","import type { BooleanInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n effect,\n ElementRef,\n inject,\n input,\n Renderer2,\n signal,\n} from '@angular/core';\nimport { provideIcons } from '@ng-icons/core';\nimport { phosphorX } from '@ng-icons/phosphor-icons/regular';\nimport { injectExposedSideProvider, injectExposesStateProvider } from '@spartan-ng/brain/core';\nimport { HlmButton } from '../../../button/src';\nimport { HlmIconImports } from '../../../icon/src';\nimport { classes } from '../../../utils/src';\nimport { HlmSheetClose } from './hlm-sheet-close';\n\n@Component({\n selector: 'hlm-sheet-content',\n imports: [HlmIconImports, HlmButton, HlmSheetClose],\n providers: [provideIcons({ phosphorX })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'data-slot': 'sheet-content',\n '[attr.data-side]': '_sideProvider.side()',\n '[attr.data-state]': 'state()',\n },\n template: `\n <ng-content />\n\n @if (showCloseButton()) {\n <button hlmBtn variant=\"ghost\" size=\"icon-sm\" class=\"absolute end-4 top-4\" hlmSheetClose>\n <span class=\"sr-only\">Close</span>\n <ng-icon hlm size=\"sm\" name=\"phosphorX\" />\n </button>\n }\n `,\n})\nexport class HlmSheetContent {\n private readonly _stateProvider = injectExposesStateProvider({ host: true });\n protected readonly _sideProvider = injectExposedSideProvider({ host: true });\n public readonly state = this._stateProvider.state ?? signal('closed');\n private readonly _renderer = inject(Renderer2);\n private readonly _element = inject(ElementRef);\n\n public readonly showCloseButton = input<boolean, BooleanInput>(true, {\n transform: booleanAttribute,\n });\n\n constructor() {\n classes(() => [\n 'bg-popover text-popover-foreground fixed flex flex-col gap-4 bg-clip-padding text-sm shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm',\n 'data-open:animate-in data-closed:animate-out',\n 'data-[side=top]:data-closed:slide-out-to-top data-[side=top]:data-open:slide-in-from-top',\n 'data-[side=bottom]:data-closed:slide-out-to-bottom data-[side=bottom]:data-open:slide-in-from-bottom',\n 'data-[side=left]:data-closed:slide-out-to-left data-[side=left]:data-open:slide-in-from-left',\n 'data-[side=right]:data-closed:slide-out-to-right data-[side=right]:data-open:slide-in-from-right',\n ]);\n effect(() => {\n this._renderer.setAttribute(this._element.nativeElement, 'data-state', this.state());\n });\n }\n}\n","import { Directive } from '@angular/core';\nimport { BrnSheetDescription } from '@spartan-ng/brain/sheet';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmSheetDescription]',\n hostDirectives: [BrnSheetDescription],\n host: { 'data-slot': 'sheet-description' },\n})\nexport class HlmSheetDescription {\n constructor() {\n classes(() => 'text-muted-foreground text-sm');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmSheetFooter],hlm-sheet-footer',\n host: { 'data-slot': 'sheet-footer' },\n})\nexport class HlmSheetFooter {\n constructor() {\n classes(() => 'gap-2 p-4 mt-auto flex flex-col');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmSheetHeader],hlm-sheet-header',\n host: { 'data-slot': 'sheet-header' },\n})\nexport class HlmSheetHeader {\n constructor() {\n classes(() => 'gap-1.5 p-4 flex flex-col');\n }\n}\n","import { Directive } from '@angular/core';\nimport { BrnSheetContent } from '@spartan-ng/brain/sheet';\n\n@Directive({\n selector: '[hlmSheetPortal]',\n hostDirectives: [{ directive: BrnSheetContent, inputs: ['context', 'class'] }],\n})\nexport class HlmSheetPortal {}\n","import { Directive } from '@angular/core';\nimport { BrnSheetTitle } from '@spartan-ng/brain/sheet';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmSheetTitle]',\n hostDirectives: [BrnSheetTitle],\n host: { 'data-slot': 'sheet-title' },\n})\nexport class HlmSheetTitle {\n constructor() {\n classes(() => 'text-foreground font-medium');\n }\n}\n","import { Directive } from '@angular/core';\nimport { BrnSheetTrigger } from '@spartan-ng/brain/sheet';\n\n@Directive({\n selector: 'button[hlmSheetTrigger]',\n hostDirectives: [{ directive: BrnSheetTrigger, inputs: ['id', 'side', 'type'] }],\n host: { 'data-slot': 'sheet-trigger' },\n})\nexport class HlmSheetTrigger {}\n","import { HlmSheet } from './lib/hlm-sheet';\nimport { HlmSheetClose } from './lib/hlm-sheet-close';\nimport { HlmSheetContent } from './lib/hlm-sheet-content';\nimport { HlmSheetDescription } from './lib/hlm-sheet-description';\nimport { HlmSheetFooter } from './lib/hlm-sheet-footer';\nimport { HlmSheetHeader } from './lib/hlm-sheet-header';\nimport { HlmSheetOverlay } from './lib/hlm-sheet-overlay';\nimport { HlmSheetPortal } from './lib/hlm-sheet-portal';\nimport { HlmSheetTitle } from './lib/hlm-sheet-title';\nimport { HlmSheetTrigger } from './lib/hlm-sheet-trigger';\n\nexport * from './lib/hlm-sheet';\nexport * from './lib/hlm-sheet-close';\nexport * from './lib/hlm-sheet-content';\nexport * from './lib/hlm-sheet-description';\nexport * from './lib/hlm-sheet-footer';\nexport * from './lib/hlm-sheet-header';\nexport * from './lib/hlm-sheet-overlay';\nexport * from './lib/hlm-sheet-portal';\nexport * from './lib/hlm-sheet-title';\nexport * from './lib/hlm-sheet-trigger';\n\nexport const HlmSheetImports = [\n HlmSheet,\n HlmSheetClose,\n HlmSheetContent,\n HlmSheetDescription,\n HlmSheetFooter,\n HlmSheetHeader,\n HlmSheetOverlay,\n HlmSheetPortal,\n HlmSheetTitle,\n HlmSheetTrigger,\n] as const;\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, input } from '@angular/core';\nimport { classes, hlm } from '../../../utils/src';\nimport type { ClassValue } from 'clsx';\nimport { HlmSidebarService, type SidebarVariant } from './hlm-sidebar.service';\nimport { injectHlmSidebarConfig } from './hlm-sidebar.token';\nimport { HlmSheetImports } from '../../../sheet/src';\n\n@Component({\n selector: 'hlm-sidebar',\n imports: [NgTemplateOutlet, HlmSheetImports],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-slot]': '_dataSlot()',\n '[attr.data-state]': '_dataState()',\n '[attr.data-collapsible]': '_dataCollapsible()',\n '[attr.data-variant]': '_dataVariant()',\n '[attr.data-side]': '_dataSide()',\n },\n template: `\n <ng-template #contentContainer>\n <ng-content />\n </ng-template>\n\n @if (collapsible() === 'none') {\n <ng-container *ngTemplateOutlet=\"contentContainer\"></ng-container>\n } @else if (_sidebarService.isMobile()) {\n <hlm-sheet\n [side]=\"side()\"\n [state]=\"_sidebarService.openMobile() ? 'open' : 'closed'\"\n (stateChanged)=\"_sidebarService.setOpenMobile($event === 'open')\"\n >\n <hlm-sheet-content\n *hlmSheetPortal=\"let ctx\"\n data-slot=\"sidebar\"\n data-sidebar=\"sidebar\"\n data-mobile=\"true\"\n class=\"bg-sidebar text-sidebar-foreground h-svh w-(--sidebar-width) p-0 [&>button]:hidden\"\n [style.--sidebar-width]=\"sidebarWidthMobile()\"\n >\n <div class=\"flex h-full w-full flex-col\">\n <ng-container *ngTemplateOutlet=\"contentContainer\" />\n </div>\n </hlm-sheet-content>\n </hlm-sheet>\n } @else {\n <!-- Sidebar gap on desktop -->\n <div data-slot=\"sidebar-gap\" [class]=\"_sidebarGapComputedClass()\"></div>\n <div\n data-slot=\"sidebar-container\"\n [attr.data-side]=\"_dataSide()\"\n [class]=\"_sidebarContainerComputedClass()\"\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n class=\"bg-sidebar group-data-[variant=floating]:ring-sidebar-border group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 flex size-full flex-col\"\n >\n <ng-container *ngTemplateOutlet=\"contentContainer\" />\n </div>\n </div>\n }\n `,\n})\nexport class HlmSidebar {\n protected readonly _sidebarService = inject(HlmSidebarService);\n private readonly _config = injectHlmSidebarConfig();\n public readonly sidebarWidthMobile = input<string>(this._config.sidebarWidthMobile);\n\n public readonly side = input<'left' | 'right'>('left');\n public readonly variant = input<SidebarVariant>(this._sidebarService.variant());\n public readonly collapsible = input<'offcanvas' | 'icon' | 'none'>('offcanvas');\n\n protected readonly _sidebarGapComputedClass = computed(() =>\n hlm(\n 'transition-[width] duration-200 ease-linear relative w-(--sidebar-width) bg-transparent',\n 'group-data-[collapsible=offcanvas]:w-0',\n 'group-data-[side=right]:rotate-180',\n this.variant() === 'floating' || this.variant() === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)',\n ),\n );\n\n public readonly sidebarContainerClass = input<ClassValue>('');\n protected readonly _sidebarContainerComputedClass = computed(() =>\n hlm(\n 'fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear data-[side=left]:left-0 data-[side=left]:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] data-[side=right]:right-0 data-[side=right]:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)] md:flex',\n this.variant() === 'floating' || this.variant() === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l',\n this.sidebarContainerClass(),\n ),\n );\n\n protected readonly _dataSlot = computed(() => {\n return !this._sidebarService.isMobile() ? 'sidebar' : undefined;\n });\n\n private readonly _collapsibleAndNonMobile = computed(() => {\n return this.collapsible() !== 'none' && !this._sidebarService.isMobile();\n });\n\n protected readonly _dataState = computed(() => {\n return this._collapsibleAndNonMobile() ? this._sidebarService.state() : undefined;\n });\n\n protected readonly _dataCollapsible = computed(() => {\n if (this._collapsibleAndNonMobile()) {\n return this._sidebarService.state() === 'collapsed' ? this.collapsible() : '';\n }\n return undefined;\n });\n\n protected readonly _dataVariant = computed(() => {\n return this._collapsibleAndNonMobile() ? this.variant() : undefined;\n });\n\n protected readonly _dataSide = computed(() => {\n return this._collapsibleAndNonMobile() ? this.side() : undefined;\n });\n\n constructor() {\n // Sync variant input with service\n effect(() => {\n this._sidebarService.setVariant(this.variant());\n });\n\n classes(() => {\n if (this.collapsible() === 'none') {\n return hlm('bg-sidebar text-sidebar-foreground flex h-svh w-(--sidebar-width) flex-col');\n } else if (this._sidebarService.isMobile()) {\n return '';\n } else {\n return hlm('group peer text-sidebar-foreground hidden md:block');\n }\n });\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmSidebarContent],hlm-sidebar-content',\n host: {\n 'data-slot': 'sidebar-content',\n 'data-sidebar': 'content',\n },\n})\nexport class HlmSidebarContent {\n constructor() {\n classes(\n () =>\n 'no-scrollbar gap-2 flex min-h-0 flex-1 flex-col overflow-auto group-data-[collapsible=icon]:overflow-hidden',\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmSidebarFooter],hlm-sidebar-footer',\n host: {\n 'data-slot': 'sidebar-footer',\n 'data-sidebar': 'footer',\n },\n})\nexport class HlmSidebarFooter {\n constructor() {\n classes(() => 'gap-2 p-2 flex flex-col');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmSidebarGroup],hlm-sidebar-group',\n host: {\n 'data-slot': 'sidebar-group',\n 'data-sidebar': 'group',\n },\n})\nexport class HlmSidebarGroup {\n constructor() {\n classes(() => 'p-2 relative flex w-full min-w-0 flex-col');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: 'button[hlmSidebarGroupAction]',\n host: {\n 'data-slot': 'sidebar-group-action',\n 'data-sidebar': 'group-action',\n },\n})\nexport class HlmSidebarGroupAction {\n constructor() {\n classes(\n () =>\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute end-3 top-3.5 w-5 rounded-md p-0 focus-visible:ring-2 [&>ng-icon]:text-[calc(var(--spacing)*4)] flex aspect-square items-center justify-center outline-hidden transition-transform group-data-[collapsible=icon]:hidden after:absolute after:-inset-2 md:after:hidden [&>ng-icon]:shrink-0',\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: 'div[hlmSidebarGroupContent]',\n host: {\n 'data-slot': 'sidebar-group-content',\n 'data-sidebar': 'group-content',\n },\n})\nexport class HlmSidebarGroupContent {\n constructor() {\n classes(() => 'text-sm w-full');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: 'div[hlmSidebarGroupLabel], button[hlmSidebarGroupLabel]',\n host: {\n 'data-slot': 'sidebar-group-label',\n 'data-sidebar': 'group-label',\n },\n})\nexport class HlmSidebarGroupLabel {\n constructor() {\n classes(\n () =>\n 'text-sidebar-foreground/70 ring-sidebar-ring h-8 rounded-md px-2 text-xs font-medium transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>ng-icon]:text-[calc(var(--spacing)*4)] flex shrink-0 items-center outline-hidden [&>ng-icon]:shrink-0',\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmSidebarHeader],hlm-sidebar-header',\n host: {\n 'data-slot': 'sidebar-header',\n 'data-sidebar': 'header',\n },\n})\nexport class HlmSidebarHeader {\n constructor() {\n classes(() => 'gap-2 p-2 flex flex-col');\n }\n}\n","import { Directive } from '@angular/core';\nimport { HlmInput } from '../../../input/src';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: 'input[hlmSidebarInput]',\n hostDirectives: [HlmInput],\n host: {\n 'data-slot': 'sidebar-input',\n 'data-sidebar': 'input',\n },\n})\nexport class HlmSidebarInput {\n constructor() {\n classes(() => 'bg-background h-8 w-full shadow-none');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: 'main[hlmSidebarInset]',\n host: { 'data-slot': 'sidebar-inset' },\n})\nexport class HlmSidebarInset {\n constructor() {\n classes(\n () =>\n 'bg-background md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ms-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ms-2 relative flex w-full flex-1 flex-col',\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: 'ul[hlmSidebarMenu]',\n host: {\n 'data-slot': 'sidebar-menu',\n 'data-sidebar': 'menu',\n },\n})\nexport class HlmSidebarMenu {\n constructor() {\n classes(() => 'gap-1 flex w-full min-w-0 flex-col');\n }\n}\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: 'button[hlmSidebarMenuAction]',\n host: {\n 'data-slot': 'sidebar-menu-action',\n 'data-sidebar': 'menu-action',\n },\n})\nexport class HlmSidebarMenuAction {\n public readonly showOnHover = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n constructor() {\n classes(() => [\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute end-1 top-1.5 aspect-square w-5 rounded-md p-0 peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 focus-visible:ring-2 [&>ng-icon]:text-[calc(var(--spacing)*4)] flex items-center justify-center outline-hidden transition-transform group-data-[collapsible=icon]:hidden after:absolute after:-inset-2 md:after:hidden [&>ng-icon]:shrink-0',\n this.showOnHover() &&\n 'peer-data-active/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 aria-expanded:opacity-100 md:opacity-0',\n ]);\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmSidebarMenuBadge],hlm-sidebar-menu-badge',\n host: {\n 'data-slot': 'sidebar-menu-badge',\n 'data-sidebar': 'menu-badge',\n },\n})\nexport class HlmSidebarMenuBadge {\n constructor() {\n classes(\n () =>\n 'text-sidebar-foreground peer-hover/menu-button:text-sidebar-accent-foreground peer-data-active/menu-button:text-sidebar-accent-foreground pointer-events-none absolute end-1 h-5 min-w-5 rounded-md px-1 text-xs font-medium peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 flex items-center justify-center tabular-nums select-none group-data-[collapsible=icon]:hidden',\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport {\n BrnTooltip,\n BrnTooltipPosition,\n provideBrnTooltipDefaultOptions,\n} from '@spartan-ng/brain/tooltip';\nimport { hlm } from '../../../utils/src';\nimport { cva } from 'class-variance-authority';\n\nexport const DEFAULT_TOOLTIP_SVG_CLASS =\n 'bg-foreground fill-foreground z-50 block size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px]';\n\nexport const DEFAULT_TOOLTIP_CONTENT_CLASSES = hlm(\n 'data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 rounded-md px-3 py-1.5 text-xs bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) text-balance',\n);\n\nexport const tooltipPositionVariants = cva('absolute', {\n variants: {\n position: {\n top: 'bottom-0 left-[calc(50%-5px)] translate-y-full',\n bottom: '-top-2.5 left-[calc(50%-5px)] translate-y-0 rotate-180',\n left: '-end-2.5 top-[calc(50%-5px)] translate-y-0 rotate-270 rtl:-rotate-270',\n right: '-start-2.5 top-[calc(50%-5px)] translate-y-0 rotate-90 rtl:-rotate-90',\n },\n },\n});\n\n@Directive({\n selector: '[hlmTooltip]',\n providers: [\n provideBrnTooltipDefaultOptions({\n svgClasses: DEFAULT_TOOLTIP_SVG_CLASS,\n tooltipContentClasses: DEFAULT_TOOLTIP_CONTENT_CLASSES,\n arrowClasses: (position: BrnTooltipPosition) => hlm(tooltipPositionVariants({ position })),\n }),\n ],\n hostDirectives: [\n {\n directive: BrnTooltip,\n inputs: ['brnTooltip: hlmTooltip', 'position', 'hideDelay', 'showDelay', 'tooltipDisabled'],\n },\n ],\n})\nexport class HlmTooltip {}\n","import { HlmTooltip } from './lib/hlm-tooltip';\n\nexport * from './lib/hlm-tooltip';\n\nexport const HlmTooltipImports = [HlmTooltip] as const;\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, computed, Directive, effect, inject, input } from '@angular/core';\nimport {\n BrnTooltip,\n BrnTooltipPosition,\n provideBrnTooltipDefaultOptions,\n} from '@spartan-ng/brain/tooltip';\nimport { classes, hlm } from '../../../utils/src';\nimport type {\n SidebarMenuButtonSizeName,\n SidebarMenuButtonVariantName,\n} from '@surfnet/curve-contracts';\nimport { cva } from 'class-variance-authority';\nimport { HlmSidebarService } from './hlm-sidebar.service';\nimport { injectHlmSidebarConfig } from './hlm-sidebar.token';\nimport {\n DEFAULT_TOOLTIP_CONTENT_CLASSES,\n DEFAULT_TOOLTIP_SVG_CLASS,\n tooltipPositionVariants,\n} from '../../../tooltip/src';\n\nconst sidebarMenuButtonVariants = cva(\n 'ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground gap-2 rounded-md p-2 text-start text-sm transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pe-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 data-active:font-medium peer/menu-button group/menu-button flex w-full items-center overflow-hidden outline-hidden disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_ng-icon]:shrink-0 [&_ng-icon]:text-[calc(var(--spacing)*4)] [&>span:last-child]:truncate',\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[0_0_0_1px_var(--sidebar-border)] hover:shadow-[0_0_0_1px_var(--sidebar-accent)]',\n } satisfies Record<SidebarMenuButtonVariantName, string>,\n size: {\n default: 'h-8 text-sm',\n sm: 'h-7 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:p-0!',\n } satisfies Record<SidebarMenuButtonSizeName, string>,\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\n@Directive({\n selector: 'button[hlmSidebarMenuButton], a[hlmSidebarMenuButton]',\n providers: [\n provideBrnTooltipDefaultOptions({\n showDelay: 150,\n hideDelay: 0,\n tooltipContentClasses: DEFAULT_TOOLTIP_CONTENT_CLASSES,\n svgClasses: DEFAULT_TOOLTIP_SVG_CLASS,\n arrowClasses: (position: BrnTooltipPosition) => hlm(tooltipPositionVariants({ position })),\n position: 'right',\n }),\n ],\n hostDirectives: [\n {\n directive: BrnTooltip,\n inputs: ['brnTooltip: tooltip'],\n },\n ],\n host: {\n 'data-slot': 'sidebar-menu-button',\n 'data-sidebar': 'menu-button',\n '[attr.data-size]': 'size()',\n '[attr.data-active]': 'isActive()',\n '(click)': 'onClick()',\n },\n})\nexport class HlmSidebarMenuButton {\n private readonly _config = injectHlmSidebarConfig();\n private readonly _sidebarService = inject(HlmSidebarService);\n private readonly _brnTooltip = inject(BrnTooltip);\n\n public readonly variant = input<SidebarMenuButtonVariantName>('default');\n public readonly size = input<SidebarMenuButtonSizeName>('default');\n public readonly isActive = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n public readonly closeMobileSidebarOnClick = input<boolean, BooleanInput>(\n this._config.closeMobileSidebarOnMenuButtonClick,\n { transform: booleanAttribute },\n );\n\n protected readonly _isTooltipHidden = computed(\n () => this._sidebarService.state() !== 'collapsed' || this._sidebarService.isMobile(),\n );\n\n constructor() {\n classes(() => sidebarMenuButtonVariants({ variant: this.variant(), size: this.size() }));\n effect(() => this._brnTooltip.mutableTooltipDisabled.set(this._isTooltipHidden()));\n }\n\n protected onClick(): void {\n if (this.closeMobileSidebarOnClick()) {\n this._sidebarService.setOpenMobile(false);\n }\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: 'li[hlmSidebarMenuItem]',\n host: {\n 'data-slot': 'sidebar-menu-item',\n 'data-sidebar': 'menu-item',\n },\n})\nexport class HlmSidebarMenuItem {\n constructor() {\n classes(() => 'group/menu-item relative');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmSkeleton],hlm-skeleton',\n host: {\n 'data-slot': 'skeleton',\n },\n})\nexport class HlmSkeleton {\n constructor() {\n classes(() => 'bg-muted rounded-md block motion-safe:animate-pulse');\n }\n}\n","import { HlmSkeleton } from './lib/hlm-skeleton';\n\nexport * from './lib/hlm-skeleton';\n\nexport const HlmSkeletonImports = [HlmSkeleton] as const;\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { HlmSkeletonImports } from '../../../skeleton/src';\nimport { classes } from '../../../utils/src';\n\n@Component({\n selector: 'hlm-sidebar-menu-skeleton,div[hlmSidebarMenuSkeleton]',\n imports: [HlmSkeletonImports],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'data-slot': 'sidebar-menu-skeleton',\n 'data-sidebar': 'menu-skeleton',\n },\n template: `\n @if (showIcon()) {\n <hlm-skeleton data-sidebar=\"menu-skeleton-icon\" class=\"size-4 rounded-md\" />\n } @else {\n <hlm-skeleton\n data-sidebar=\"menu-skeleton-text\"\n class=\"h-4 max-w-(--skeleton-width) flex-1\"\n [style.--skeleton-width]=\"_width\"\n />\n }\n `,\n})\nexport class HlmSidebarMenuSkeleton {\n public readonly showIcon = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n protected readonly _width = `${Math.floor(Math.random() * 40) + 50}%`;\n\n constructor() {\n classes(() => 'h-8 gap-2 rounded-md px-2 flex items-center');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: 'ul[hlmSidebarMenuSub]',\n host: {\n 'data-slot': 'sidebar-menu-sub',\n 'data-sidebar': 'menu-sub',\n },\n})\nexport class HlmSidebarMenuSub {\n constructor() {\n classes(\n () =>\n 'border-sidebar-border mx-3.5 translate-x-px gap-1 border-s px-2.5 py-0.5 group-data-[collapsible=icon]:hidden rtl:-translate-x-px flex min-w-0 flex-col',\n );\n }\n}\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, inject, input } from '@angular/core';\nimport { classes } from '../../../utils/src';\nimport { HlmSidebarService } from './hlm-sidebar.service';\nimport { injectHlmSidebarConfig } from './hlm-sidebar.token';\n\n@Directive({\n selector: 'a[hlmSidebarMenuSubButton], button[hlmSidebarMenuSubButton]',\n host: {\n 'data-slot': 'sidebar-menu-sub-button',\n 'data-sidebar': 'menu-sub-button',\n '[attr.data-active]': 'isActive()',\n '[attr.data-size]': 'size()',\n '(click)': 'onClick()',\n },\n})\nexport class HlmSidebarMenuSubButton {\n private readonly _sidebarService = inject(HlmSidebarService);\n private readonly _config = injectHlmSidebarConfig();\n\n public readonly closeMobileSidebarOnClick = input<boolean, BooleanInput>(\n this._config.closeMobileSidebarOnMenuButtonClick,\n { transform: booleanAttribute },\n );\n\n public readonly size = input<'sm' | 'md'>('md');\n public readonly isActive = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n constructor() {\n classes(\n () =>\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground h-7 gap-2 rounded-md px-2 focus-visible:ring-2 data-[size=md]:text-sm data-[size=sm]:text-xs [&>ng-icon]:text-[calc(var(--spacing)*4)] flex min-w-0 -translate-x-px items-center overflow-hidden outline-hidden group-data-[collapsible=icon]:hidden disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>ng-icon]:shrink-0 [&>span:last-child]:truncate',\n );\n }\n\n protected onClick(): void {\n if (this.closeMobileSidebarOnClick()) {\n this._sidebarService.setOpenMobile(false);\n }\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: 'li[hlmSidebarMenuSubItem]',\n host: {\n 'data-slot': 'sidebar-menu-sub-item',\n 'data-sidebar': 'menu-sub-item',\n },\n})\nexport class HlmSidebarMenuSubItem {\n constructor() {\n classes(() => 'group/menu-sub-item relative');\n }\n}\n","import { Directive, inject, input } from '@angular/core';\nimport { classes } from '../../../utils/src';\nimport { HlmSidebarService } from './hlm-sidebar.service';\n\n@Directive({\n selector: 'button[hlmSidebarRail]',\n host: {\n 'data-sidebar': 'rail',\n 'data-slot': 'sidebar-rail',\n '[attr.aria-label]': 'ariaLabel()',\n tabindex: '-1',\n '(click)': 'onClick()',\n },\n})\nexport class HlmSidebarRail {\n private readonly _sidebarService = inject(HlmSidebarService);\n\n public readonly ariaLabel = input<string>('Toggle Sidebar', { alias: 'aria-label' });\n\n constructor() {\n classes(() => [\n 'hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:start-1/2 after:w-[2px] sm:flex ltr:-translate-x-1/2 rtl:-translate-x-1/2',\n 'in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize',\n '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n 'hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full',\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n ]);\n }\n\n protected onClick(): void {\n this._sidebarService.toggleSidebar();\n }\n}\n","import { Directive } from '@angular/core';\nimport { HlmSeparator } from '../../../separator/src';\nimport { classes } from '../../../utils/src';\n\n@Directive({\n selector: '[hlmSidebarSeparator],hlm-sidebar-separator',\n hostDirectives: [HlmSeparator],\n host: {\n 'data-slot': 'sidebar-separator',\n 'data-sidebar': 'separator',\n },\n})\nexport class HlmSidebarSeparator {\n constructor() {\n classes(() => 'bg-sidebar-border mx-2 w-auto');\n }\n}\n","import { ChangeDetectionStrategy, Component, inject, input } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { phosphorSidebarSimple } from '@ng-icons/phosphor-icons/regular';\nimport { HlmButton, provideBrnButtonConfig } from '../../../button/src';\nimport { HlmSidebarService } from './hlm-sidebar.service';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[hlmSidebarTrigger]',\n imports: [NgIcon],\n providers: [\n provideIcons({ phosphorSidebarSimple }),\n provideBrnButtonConfig({ variant: 'ghost', size: 'icon-sm' }),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [{ directive: HlmButton, inputs: ['variant', 'size'] }],\n host: {\n 'data-slot': 'sidebar-trigger',\n 'data-sidebar': 'trigger',\n '(click)': '_onClick()',\n },\n template: `\n <ng-icon name=\"phosphorSidebarSimple\" />\n <span class=\"sr-only\">{{ srOnlyText() }}</span>\n `,\n})\nexport class HlmSidebarTrigger {\n private readonly _sidebarService = inject(HlmSidebarService);\n\n public readonly srOnlyText = input('Toggle Sidebar');\n\n protected _onClick(): void {\n this._sidebarService.toggleSidebar();\n }\n}\n","import { Directive, input } from '@angular/core';\nimport { classes } from '../../../utils/src';\nimport { injectHlmSidebarConfig } from './hlm-sidebar.token';\n\n@Directive({\n selector: '[hlmSidebarWrapper],hlm-sidebar-wrapper',\n host: {\n 'data-slot': 'sidebar-wrapper',\n '[style.--sidebar-width]': 'sidebarWidth()',\n '[style.--sidebar-width-icon]': 'sidebarWidthIcon()',\n },\n})\nexport class HlmSidebarWrapper {\n private readonly _config = injectHlmSidebarConfig();\n\n public readonly sidebarWidth = input<string>(this._config.sidebarWidth);\n public readonly sidebarWidthIcon = input<string>(this._config.sidebarWidthIcon);\n\n constructor() {\n classes(\n () => 'group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full',\n );\n }\n}\n","import { HlmSidebar } from './lib/hlm-sidebar';\nimport { HlmSidebarContent } from './lib/hlm-sidebar-content';\nimport { HlmSidebarFooter } from './lib/hlm-sidebar-footer';\nimport { HlmSidebarGroup } from './lib/hlm-sidebar-group';\nimport { HlmSidebarGroupAction } from './lib/hlm-sidebar-group-action';\nimport { HlmSidebarGroupContent } from './lib/hlm-sidebar-group-content';\nimport { HlmSidebarGroupLabel } from './lib/hlm-sidebar-group-label';\nimport { HlmSidebarHeader } from './lib/hlm-sidebar-header';\nimport { HlmSidebarInput } from './lib/hlm-sidebar-input';\nimport { HlmSidebarInset } from './lib/hlm-sidebar-inset';\nimport { HlmSidebarMenu } from './lib/hlm-sidebar-menu';\nimport { HlmSidebarMenuAction } from './lib/hlm-sidebar-menu-action';\nimport { HlmSidebarMenuBadge } from './lib/hlm-sidebar-menu-badge';\nimport { HlmSidebarMenuButton } from './lib/hlm-sidebar-menu-button';\nimport { HlmSidebarMenuItem } from './lib/hlm-sidebar-menu-item';\nimport { HlmSidebarMenuSkeleton } from './lib/hlm-sidebar-menu-skeleton';\nimport { HlmSidebarMenuSub } from './lib/hlm-sidebar-menu-sub';\nimport { HlmSidebarMenuSubButton } from './lib/hlm-sidebar-menu-sub-button';\nimport { HlmSidebarMenuSubItem } from './lib/hlm-sidebar-menu-sub-item';\nimport { HlmSidebarRail } from './lib/hlm-sidebar-rail';\nimport { HlmSidebarSeparator } from './lib/hlm-sidebar-separator';\nimport { HlmSidebarTrigger } from './lib/hlm-sidebar-trigger';\nimport { HlmSidebarWrapper } from './lib/hlm-sidebar-wrapper';\n\nexport * from './lib/hlm-sidebar';\nexport * from './lib/hlm-sidebar-content';\nexport * from './lib/hlm-sidebar-footer';\nexport * from './lib/hlm-sidebar-group';\nexport * from './lib/hlm-sidebar-group-action';\nexport * from './lib/hlm-sidebar-group-content';\nexport * from './lib/hlm-sidebar-group-label';\nexport * from './lib/hlm-sidebar-header';\nexport * from './lib/hlm-sidebar-input';\nexport * from './lib/hlm-sidebar-inset';\nexport * from './lib/hlm-sidebar-menu';\nexport * from './lib/hlm-sidebar-menu-action';\nexport * from './lib/hlm-sidebar-menu-badge';\nexport * from './lib/hlm-sidebar-menu-button';\nexport * from './lib/hlm-sidebar-menu-item';\nexport * from './lib/hlm-sidebar-menu-skeleton';\nexport * from './lib/hlm-sidebar-menu-sub';\nexport * from './lib/hlm-sidebar-menu-sub-button';\nexport * from './lib/hlm-sidebar-menu-sub-item';\nexport * from './lib/hlm-sidebar-rail';\nexport * from './lib/hlm-sidebar-separator';\nexport * from './lib/hlm-sidebar-trigger';\nexport * from './lib/hlm-sidebar-wrapper';\nexport * from './lib/hlm-sidebar.service';\nexport * from './lib/hlm-sidebar.token';\n\nexport const HlmSidebarImports = [\n HlmSidebar,\n HlmSidebarContent,\n HlmSidebarFooter,\n HlmSidebarGroup,\n HlmSidebarGroupAction,\n HlmSidebarGroupContent,\n HlmSidebarGroupLabel,\n HlmSidebarHeader,\n HlmSidebarInput,\n HlmSidebarInset,\n HlmSidebarMenu,\n HlmSidebarMenuSkeleton,\n HlmSidebarMenuAction,\n HlmSidebarMenuBadge,\n HlmSidebarMenuButton,\n HlmSidebarMenuItem,\n HlmSidebarMenuSub,\n HlmSidebarMenuSubButton,\n HlmSidebarRail,\n HlmSidebarSeparator,\n HlmSidebarTrigger,\n HlmSidebarWrapper,\n HlmSidebarMenuSubItem,\n] as const;\n","/*\n * Public API surface of @surfnet/curve-angular.\n * Re-export each helm component (and the shared utils) added via the Spartan CLI.\n * NOTE: there are a few components that we don't export: [icon, sheet, skeleton, tooltip],\n * because these are out of scope for now. They are included in the code because the\n * components that we do export depend on them (and they can't be consumed from a package).\n */\nexport * from './lib/ui/avatar/src';\nexport * from './lib/ui/breadcrumb/src';\nexport * from './lib/ui/button/src';\nexport * from './lib/ui/card/src';\nexport * from './lib/ui/checkbox/src';\nexport * from './lib/ui/data-table/src';\nexport * from './lib/ui/dropdown-menu/src';\nexport * from './lib/ui/field/src';\nexport * from './lib/ui/input/src';\nexport * from './lib/ui/input-group/src';\nexport * from './lib/ui/label/src';\nexport * from './lib/ui/select/src';\nexport * from './lib/ui/separator/src';\nexport * from './lib/ui/sidebar/src';\nexport * from './lib/ui/table/src';\nexport * from './lib/ui/textarea/src';\nexport * from './lib/ui/utils/src';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["defaultConfig","i1","_c0","i1.HlmLabel","i2","inputGroupAddonVariants","i1.HlmButton","i1.HlmInput","i1.HlmTextarea","i1.HlmIcon","i1.HlmSheet","i2.HlmSheetContent","i3.HlmSheetPortal","i1.HlmSeparator"],"mappings":"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"}
|