@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.
Files changed (189) hide show
  1. package/.postcssrc.json +7 -0
  2. package/.storybook/main.ts +9 -0
  3. package/.storybook/manager.ts +3 -0
  4. package/.storybook/preview.ts +28 -0
  5. package/.storybook/tsconfig.json +8 -0
  6. package/.turbo/turbo-build.log +32 -0
  7. package/CHANGELOG.md +29 -0
  8. package/angular.json +52 -0
  9. package/components.json +5 -0
  10. package/dist/fesm2022/surfnet-curve-angular.mjs +4237 -0
  11. package/dist/fesm2022/surfnet-curve-angular.mjs.map +1 -0
  12. package/dist/files/geist-cyrillic-ext-wght-italic.woff2 +0 -0
  13. package/dist/files/geist-cyrillic-ext-wght-normal.woff2 +0 -0
  14. package/dist/files/geist-cyrillic-wght-italic.woff2 +0 -0
  15. package/dist/files/geist-cyrillic-wght-normal.woff2 +0 -0
  16. package/dist/files/geist-latin-ext-wght-italic.woff2 +0 -0
  17. package/dist/files/geist-latin-ext-wght-normal.woff2 +0 -0
  18. package/dist/files/geist-latin-wght-italic.woff2 +0 -0
  19. package/dist/files/geist-latin-wght-normal.woff2 +0 -0
  20. package/dist/files/geist-vietnamese-wght-italic.woff2 +0 -0
  21. package/dist/files/geist-vietnamese-wght-normal.woff2 +0 -0
  22. package/dist/styles.css +2 -0
  23. package/dist/types/surfnet-curve-angular.d.ts +1017 -0
  24. package/ng-package.json +20 -0
  25. package/package.json +73 -0
  26. package/scripts/copy-font-files.ts +15 -0
  27. package/scripts/rewrite-helm-imports.ts +60 -0
  28. package/src/foundations/design-tokens.stories.ts +198 -0
  29. package/src/lib/ui/avatar/src/index.ts +22 -0
  30. package/src/lib/ui/avatar/src/lib/hlm-avatar-badge.ts +19 -0
  31. package/src/lib/ui/avatar/src/lib/hlm-avatar-fallback.ts +20 -0
  32. package/src/lib/ui/avatar/src/lib/hlm-avatar-group-count.ts +17 -0
  33. package/src/lib/ui/avatar/src/lib/hlm-avatar-group.ts +17 -0
  34. package/src/lib/ui/avatar/src/lib/hlm-avatar-image.ts +19 -0
  35. package/src/lib/ui/avatar/src/lib/hlm-avatar.stories.ts +107 -0
  36. package/src/lib/ui/avatar/src/lib/hlm-avatar.ts +32 -0
  37. package/src/lib/ui/breadcrumb/src/index.ts +30 -0
  38. package/src/lib/ui/breadcrumb/src/lib/hlm-breadcrumb-ellipsis.ts +36 -0
  39. package/src/lib/ui/breadcrumb/src/lib/hlm-breadcrumb-item.ts +14 -0
  40. package/src/lib/ui/breadcrumb/src/lib/hlm-breadcrumb-link.ts +36 -0
  41. package/src/lib/ui/breadcrumb/src/lib/hlm-breadcrumb-list.ts +17 -0
  42. package/src/lib/ui/breadcrumb/src/lib/hlm-breadcrumb-page.ts +17 -0
  43. package/src/lib/ui/breadcrumb/src/lib/hlm-breadcrumb-separator.ts +27 -0
  44. package/src/lib/ui/breadcrumb/src/lib/hlm-breadcrumb.stories.ts +81 -0
  45. package/src/lib/ui/breadcrumb/src/lib/hlm-breadcrumb.ts +13 -0
  46. package/src/lib/ui/button/src/index.ts +6 -0
  47. package/src/lib/ui/button/src/lib/hlm-button.stories.ts +170 -0
  48. package/src/lib/ui/button/src/lib/hlm-button.token.ts +22 -0
  49. package/src/lib/ui/button/src/lib/hlm-button.ts +76 -0
  50. package/src/lib/ui/card/src/index.ts +25 -0
  51. package/src/lib/ui/card/src/lib/hlm-card-action.ts +12 -0
  52. package/src/lib/ui/card/src/lib/hlm-card-content.ts +12 -0
  53. package/src/lib/ui/card/src/lib/hlm-card-description.ts +12 -0
  54. package/src/lib/ui/card/src/lib/hlm-card-footer.ts +14 -0
  55. package/src/lib/ui/card/src/lib/hlm-card-header.ts +15 -0
  56. package/src/lib/ui/card/src/lib/hlm-card-title.ts +12 -0
  57. package/src/lib/ui/card/src/lib/hlm-card.stories.ts +105 -0
  58. package/src/lib/ui/card/src/lib/hlm-card.token.ts +19 -0
  59. package/src/lib/ui/card/src/lib/hlm-card.ts +22 -0
  60. package/src/lib/ui/checkbox/src/index.ts +5 -0
  61. package/src/lib/ui/checkbox/src/lib/hlm-checkbox.stories.ts +78 -0
  62. package/src/lib/ui/checkbox/src/lib/hlm-checkbox.ts +160 -0
  63. package/src/lib/ui/data-table/src/index.ts +14 -0
  64. package/src/lib/ui/data-table/src/lib/hlm-data-table-content.ts +87 -0
  65. package/src/lib/ui/data-table/src/lib/hlm-data-table-pagination.ts +62 -0
  66. package/src/lib/ui/data-table/src/lib/hlm-data-table-toolbar.ts +16 -0
  67. package/src/lib/ui/data-table/src/lib/hlm-data-table.stories.ts +479 -0
  68. package/src/lib/ui/data-table/src/lib/inject-data-table.ts +86 -0
  69. package/src/lib/ui/dropdown-menu/src/index.ts +45 -0
  70. package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-checkbox-indicator.ts +20 -0
  71. package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-checkbox.ts +36 -0
  72. package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-group.ts +16 -0
  73. package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-item-sub-indicator.ts +17 -0
  74. package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-item.ts +41 -0
  75. package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-label.ts +20 -0
  76. package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-radio-indicator.ts +20 -0
  77. package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-radio.ts +36 -0
  78. package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-separator.ts +14 -0
  79. package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-shortcut.ts +14 -0
  80. package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-sub.ts +58 -0
  81. package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-token.ts +26 -0
  82. package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu-trigger.ts +49 -0
  83. package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu.stories.ts +125 -0
  84. package/src/lib/ui/dropdown-menu/src/lib/hlm-dropdown-menu.ts +62 -0
  85. package/src/lib/ui/field/src/index.ts +34 -0
  86. package/src/lib/ui/field/src/lib/hlm-field-content.ts +12 -0
  87. package/src/lib/ui/field/src/lib/hlm-field-description.ts +53 -0
  88. package/src/lib/ui/field/src/lib/hlm-field-error.ts +100 -0
  89. package/src/lib/ui/field/src/lib/hlm-field-group.ts +15 -0
  90. package/src/lib/ui/field/src/lib/hlm-field-label.ts +17 -0
  91. package/src/lib/ui/field/src/lib/hlm-field-legend.ts +17 -0
  92. package/src/lib/ui/field/src/lib/hlm-field-separator.ts +24 -0
  93. package/src/lib/ui/field/src/lib/hlm-field-set.ts +15 -0
  94. package/src/lib/ui/field/src/lib/hlm-field-title.ts +15 -0
  95. package/src/lib/ui/field/src/lib/hlm-field.stories.ts +117 -0
  96. package/src/lib/ui/field/src/lib/hlm-field.ts +49 -0
  97. package/src/lib/ui/icon/src/index.ts +7 -0
  98. package/src/lib/ui/icon/src/lib/hlm-icon.token.ts +20 -0
  99. package/src/lib/ui/icon/src/lib/hlm-icon.ts +42 -0
  100. package/src/lib/ui/input/src/index.ts +5 -0
  101. package/src/lib/ui/input/src/lib/hlm-input.stories.ts +94 -0
  102. package/src/lib/ui/input/src/lib/hlm-input.ts +20 -0
  103. package/src/lib/ui/input-group/src/index.ts +22 -0
  104. package/src/lib/ui/input-group/src/lib/hlm-input-group-addon.ts +40 -0
  105. package/src/lib/ui/input-group/src/lib/hlm-input-group-button.ts +47 -0
  106. package/src/lib/ui/input-group/src/lib/hlm-input-group-input.ts +17 -0
  107. package/src/lib/ui/input-group/src/lib/hlm-input-group-text.ts +14 -0
  108. package/src/lib/ui/input-group/src/lib/hlm-input-group-textarea.ts +17 -0
  109. package/src/lib/ui/input-group/src/lib/hlm-input-group.stories.ts +133 -0
  110. package/src/lib/ui/input-group/src/lib/hlm-input-group.ts +18 -0
  111. package/src/lib/ui/label/src/index.ts +5 -0
  112. package/src/lib/ui/label/src/lib/hlm-label.stories.ts +55 -0
  113. package/src/lib/ui/label/src/lib/hlm-label.ts +17 -0
  114. package/src/lib/ui/select/src/index.ts +52 -0
  115. package/src/lib/ui/select/src/lib/hlm-select-content.ts +44 -0
  116. package/src/lib/ui/select/src/lib/hlm-select-group.ts +14 -0
  117. package/src/lib/ui/select/src/lib/hlm-select-item.ts +36 -0
  118. package/src/lib/ui/select/src/lib/hlm-select-label.ts +14 -0
  119. package/src/lib/ui/select/src/lib/hlm-select-multiple.ts +45 -0
  120. package/src/lib/ui/select/src/lib/hlm-select-placeholder.ts +17 -0
  121. package/src/lib/ui/select/src/lib/hlm-select-portal.ts +8 -0
  122. package/src/lib/ui/select/src/lib/hlm-select-scroll-down.ts +22 -0
  123. package/src/lib/ui/select/src/lib/hlm-select-scroll-up.ts +22 -0
  124. package/src/lib/ui/select/src/lib/hlm-select-separator.ts +14 -0
  125. package/src/lib/ui/select/src/lib/hlm-select-trigger.ts +59 -0
  126. package/src/lib/ui/select/src/lib/hlm-select-value-template.ts +5 -0
  127. package/src/lib/ui/select/src/lib/hlm-select-value.ts +18 -0
  128. package/src/lib/ui/select/src/lib/hlm-select-values-content.ts +9 -0
  129. package/src/lib/ui/select/src/lib/hlm-select-values.ts +5 -0
  130. package/src/lib/ui/select/src/lib/hlm-select.stories.ts +105 -0
  131. package/src/lib/ui/select/src/lib/hlm-select.ts +45 -0
  132. package/src/lib/ui/separator/src/index.ts +5 -0
  133. package/src/lib/ui/separator/src/lib/hlm-separator.stories.ts +88 -0
  134. package/src/lib/ui/separator/src/lib/hlm-separator.ts +19 -0
  135. package/src/lib/ui/sheet/src/index.ts +34 -0
  136. package/src/lib/ui/sheet/src/lib/hlm-sheet-close.ts +9 -0
  137. package/src/lib/ui/sheet/src/lib/hlm-sheet-content.ts +66 -0
  138. package/src/lib/ui/sheet/src/lib/hlm-sheet-description.ts +14 -0
  139. package/src/lib/ui/sheet/src/lib/hlm-sheet-footer.ts +12 -0
  140. package/src/lib/ui/sheet/src/lib/hlm-sheet-header.ts +12 -0
  141. package/src/lib/ui/sheet/src/lib/hlm-sheet-overlay.ts +27 -0
  142. package/src/lib/ui/sheet/src/lib/hlm-sheet-portal.ts +8 -0
  143. package/src/lib/ui/sheet/src/lib/hlm-sheet-title.ts +14 -0
  144. package/src/lib/ui/sheet/src/lib/hlm-sheet-trigger.ts +9 -0
  145. package/src/lib/ui/sheet/src/lib/hlm-sheet.ts +29 -0
  146. package/src/lib/ui/sidebar/src/index.ts +75 -0
  147. package/src/lib/ui/sidebar/src/lib/hlm-sidebar-content.ts +18 -0
  148. package/src/lib/ui/sidebar/src/lib/hlm-sidebar-footer.ts +15 -0
  149. package/src/lib/ui/sidebar/src/lib/hlm-sidebar-group-action.ts +18 -0
  150. package/src/lib/ui/sidebar/src/lib/hlm-sidebar-group-content.ts +15 -0
  151. package/src/lib/ui/sidebar/src/lib/hlm-sidebar-group-label.ts +18 -0
  152. package/src/lib/ui/sidebar/src/lib/hlm-sidebar-group.ts +15 -0
  153. package/src/lib/ui/sidebar/src/lib/hlm-sidebar-header.ts +15 -0
  154. package/src/lib/ui/sidebar/src/lib/hlm-sidebar-input.ts +17 -0
  155. package/src/lib/ui/sidebar/src/lib/hlm-sidebar-inset.ts +15 -0
  156. package/src/lib/ui/sidebar/src/lib/hlm-sidebar-menu-action.ts +24 -0
  157. package/src/lib/ui/sidebar/src/lib/hlm-sidebar-menu-badge.ts +18 -0
  158. package/src/lib/ui/sidebar/src/lib/hlm-sidebar-menu-button.ts +97 -0
  159. package/src/lib/ui/sidebar/src/lib/hlm-sidebar-menu-item.ts +15 -0
  160. package/src/lib/ui/sidebar/src/lib/hlm-sidebar-menu-skeleton.ts +33 -0
  161. package/src/lib/ui/sidebar/src/lib/hlm-sidebar-menu-sub-button.ts +41 -0
  162. package/src/lib/ui/sidebar/src/lib/hlm-sidebar-menu-sub-item.ts +15 -0
  163. package/src/lib/ui/sidebar/src/lib/hlm-sidebar-menu-sub.ts +18 -0
  164. package/src/lib/ui/sidebar/src/lib/hlm-sidebar-menu.ts +15 -0
  165. package/src/lib/ui/sidebar/src/lib/hlm-sidebar-rail.ts +34 -0
  166. package/src/lib/ui/sidebar/src/lib/hlm-sidebar-separator.ts +17 -0
  167. package/src/lib/ui/sidebar/src/lib/hlm-sidebar-trigger.ts +35 -0
  168. package/src/lib/ui/sidebar/src/lib/hlm-sidebar-wrapper.ts +24 -0
  169. package/src/lib/ui/sidebar/src/lib/hlm-sidebar.service.ts +136 -0
  170. package/src/lib/ui/sidebar/src/lib/hlm-sidebar.stories.ts +177 -0
  171. package/src/lib/ui/sidebar/src/lib/hlm-sidebar.token.ts +33 -0
  172. package/src/lib/ui/sidebar/src/lib/hlm-sidebar.ts +139 -0
  173. package/src/lib/ui/skeleton/src/index.ts +5 -0
  174. package/src/lib/ui/skeleton/src/lib/hlm-skeleton.ts +14 -0
  175. package/src/lib/ui/table/src/index.ts +25 -0
  176. package/src/lib/ui/table/src/lib/hlm-table.stories.ts +70 -0
  177. package/src/lib/ui/table/src/lib/hlm-table.ts +129 -0
  178. package/src/lib/ui/textarea/src/index.ts +5 -0
  179. package/src/lib/ui/textarea/src/lib/hlm-textarea.stories.ts +72 -0
  180. package/src/lib/ui/textarea/src/lib/hlm-textarea.ts +21 -0
  181. package/src/lib/ui/tooltip/src/index.ts +5 -0
  182. package/src/lib/ui/tooltip/src/lib/hlm-tooltip.ts +44 -0
  183. package/src/lib/ui/utils/src/index.ts +1 -0
  184. package/src/lib/ui/utils/src/lib/hlm.ts +313 -0
  185. package/src/public-api.ts +24 -0
  186. package/src/styles.css +43 -0
  187. package/tsconfig.json +45 -0
  188. package/tsconfig.lib.json +11 -0
  189. 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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"}