yukit-web 0.0.1

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 (196) hide show
  1. package/.npm/_logs/2026-08-20T08_40_55_706Z-debug-0.log +38 -0
  2. package/.npm/_logs/2026-08-20T08_40_56_280Z-debug-0.log +14 -0
  3. package/README.md +1465 -0
  4. package/fesm2022/yukit-web-helm-accordion.mjs +141 -0
  5. package/fesm2022/yukit-web-helm-accordion.mjs.map +1 -0
  6. package/fesm2022/yukit-web-helm-alert-dialog.mjs +250 -0
  7. package/fesm2022/yukit-web-helm-alert-dialog.mjs.map +1 -0
  8. package/fesm2022/yukit-web-helm-alert.mjs +94 -0
  9. package/fesm2022/yukit-web-helm-alert.mjs.map +1 -0
  10. package/fesm2022/yukit-web-helm-aspect-ratio.mjs +47 -0
  11. package/fesm2022/yukit-web-helm-aspect-ratio.mjs.map +1 -0
  12. package/fesm2022/yukit-web-helm-attachment.mjs +211 -0
  13. package/fesm2022/yukit-web-helm-attachment.mjs.map +1 -0
  14. package/fesm2022/yukit-web-helm-autocomplete.mjs +361 -0
  15. package/fesm2022/yukit-web-helm-autocomplete.mjs.map +1 -0
  16. package/fesm2022/yukit-web-helm-avatar.mjs +152 -0
  17. package/fesm2022/yukit-web-helm-avatar.mjs.map +1 -0
  18. package/fesm2022/yukit-web-helm-badge.mjs +47 -0
  19. package/fesm2022/yukit-web-helm-badge.mjs.map +1 -0
  20. package/fesm2022/yukit-web-helm-breadcrumb.mjs +196 -0
  21. package/fesm2022/yukit-web-helm-breadcrumb.mjs.map +1 -0
  22. package/fesm2022/yukit-web-helm-bubble.mjs +121 -0
  23. package/fesm2022/yukit-web-helm-bubble.mjs.map +1 -0
  24. package/fesm2022/yukit-web-helm-button-group.mjs +86 -0
  25. package/fesm2022/yukit-web-helm-button-group.mjs.map +1 -0
  26. package/fesm2022/yukit-web-helm-button.mjs +77 -0
  27. package/fesm2022/yukit-web-helm-button.mjs.map +1 -0
  28. package/fesm2022/yukit-web-helm-calendar.mjs +937 -0
  29. package/fesm2022/yukit-web-helm-calendar.mjs.map +1 -0
  30. package/fesm2022/yukit-web-helm-card.mjs +141 -0
  31. package/fesm2022/yukit-web-helm-card.mjs.map +1 -0
  32. package/fesm2022/yukit-web-helm-carousel.mjs +270 -0
  33. package/fesm2022/yukit-web-helm-carousel.mjs.map +1 -0
  34. package/fesm2022/yukit-web-helm-checkbox.mjs +147 -0
  35. package/fesm2022/yukit-web-helm-checkbox.mjs.map +1 -0
  36. package/fesm2022/yukit-web-helm-collapsible.mjs +62 -0
  37. package/fesm2022/yukit-web-helm-collapsible.mjs.map +1 -0
  38. package/fesm2022/yukit-web-helm-combobox.mjs +624 -0
  39. package/fesm2022/yukit-web-helm-combobox.mjs.map +1 -0
  40. package/fesm2022/yukit-web-helm-command.mjs +315 -0
  41. package/fesm2022/yukit-web-helm-command.mjs.map +1 -0
  42. package/fesm2022/yukit-web-helm-context-menu.mjs +71 -0
  43. package/fesm2022/yukit-web-helm-context-menu.mjs.map +1 -0
  44. package/fesm2022/yukit-web-helm-date-picker.mjs +1517 -0
  45. package/fesm2022/yukit-web-helm-date-picker.mjs.map +1 -0
  46. package/fesm2022/yukit-web-helm-dialog.mjs +271 -0
  47. package/fesm2022/yukit-web-helm-dialog.mjs.map +1 -0
  48. package/fesm2022/yukit-web-helm-drawer.mjs +233 -0
  49. package/fesm2022/yukit-web-helm-drawer.mjs.map +1 -0
  50. package/fesm2022/yukit-web-helm-dropdown-menu.mjs +508 -0
  51. package/fesm2022/yukit-web-helm-dropdown-menu.mjs.map +1 -0
  52. package/fesm2022/yukit-web-helm-empty.mjs +125 -0
  53. package/fesm2022/yukit-web-helm-empty.mjs.map +1 -0
  54. package/fesm2022/yukit-web-helm-field.mjs +325 -0
  55. package/fesm2022/yukit-web-helm-field.mjs.map +1 -0
  56. package/fesm2022/yukit-web-helm-hover-card.mjs +102 -0
  57. package/fesm2022/yukit-web-helm-hover-card.mjs.map +1 -0
  58. package/fesm2022/yukit-web-helm-input-group.mjs +171 -0
  59. package/fesm2022/yukit-web-helm-input-group.mjs.map +1 -0
  60. package/fesm2022/yukit-web-helm-input-otp.mjs +127 -0
  61. package/fesm2022/yukit-web-helm-input-otp.mjs.map +1 -0
  62. package/fesm2022/yukit-web-helm-input.mjs +32 -0
  63. package/fesm2022/yukit-web-helm-input.mjs.map +1 -0
  64. package/fesm2022/yukit-web-helm-item.mjs +242 -0
  65. package/fesm2022/yukit-web-helm-item.mjs.map +1 -0
  66. package/fesm2022/yukit-web-helm-kbd.mjs +46 -0
  67. package/fesm2022/yukit-web-helm-kbd.mjs.map +1 -0
  68. package/fesm2022/yukit-web-helm-label.mjs +30 -0
  69. package/fesm2022/yukit-web-helm-label.mjs.map +1 -0
  70. package/fesm2022/yukit-web-helm-marker.mjs +77 -0
  71. package/fesm2022/yukit-web-helm-marker.mjs.map +1 -0
  72. package/fesm2022/yukit-web-helm-menubar.mjs +90 -0
  73. package/fesm2022/yukit-web-helm-menubar.mjs.map +1 -0
  74. package/fesm2022/yukit-web-helm-message.mjs +115 -0
  75. package/fesm2022/yukit-web-helm-message.mjs.map +1 -0
  76. package/fesm2022/yukit-web-helm-native-select.mjs +180 -0
  77. package/fesm2022/yukit-web-helm-native-select.mjs.map +1 -0
  78. package/fesm2022/yukit-web-helm-navigation-menu.mjs +173 -0
  79. package/fesm2022/yukit-web-helm-navigation-menu.mjs.map +1 -0
  80. package/fesm2022/yukit-web-helm-pagination.mjs +745 -0
  81. package/fesm2022/yukit-web-helm-pagination.mjs.map +1 -0
  82. package/fesm2022/yukit-web-helm-popover.mjs +136 -0
  83. package/fesm2022/yukit-web-helm-popover.mjs.map +1 -0
  84. package/fesm2022/yukit-web-helm-progress.mjs +60 -0
  85. package/fesm2022/yukit-web-helm-progress.mjs.map +1 -0
  86. package/fesm2022/yukit-web-helm-radio-group.mjs +185 -0
  87. package/fesm2022/yukit-web-helm-radio-group.mjs.map +1 -0
  88. package/fesm2022/yukit-web-helm-resizable.mjs +98 -0
  89. package/fesm2022/yukit-web-helm-resizable.mjs.map +1 -0
  90. package/fesm2022/yukit-web-helm-scroll-area.mjs +36 -0
  91. package/fesm2022/yukit-web-helm-scroll-area.mjs.map +1 -0
  92. package/fesm2022/yukit-web-helm-select.mjs +412 -0
  93. package/fesm2022/yukit-web-helm-select.mjs.map +1 -0
  94. package/fesm2022/yukit-web-helm-separator.mjs +33 -0
  95. package/fesm2022/yukit-web-helm-separator.mjs.map +1 -0
  96. package/fesm2022/yukit-web-helm-sheet.mjs +254 -0
  97. package/fesm2022/yukit-web-helm-sheet.mjs.map +1 -0
  98. package/fesm2022/yukit-web-helm-sidebar.mjs +857 -0
  99. package/fesm2022/yukit-web-helm-sidebar.mjs.map +1 -0
  100. package/fesm2022/yukit-web-helm-skeleton.mjs +29 -0
  101. package/fesm2022/yukit-web-helm-skeleton.mjs.map +1 -0
  102. package/fesm2022/yukit-web-helm-slider.mjs +123 -0
  103. package/fesm2022/yukit-web-helm-slider.mjs.map +1 -0
  104. package/fesm2022/yukit-web-helm-sonner.mjs +126 -0
  105. package/fesm2022/yukit-web-helm-sonner.mjs.map +1 -0
  106. package/fesm2022/yukit-web-helm-spinner.mjs +48 -0
  107. package/fesm2022/yukit-web-helm-spinner.mjs.map +1 -0
  108. package/fesm2022/yukit-web-helm-switch.mjs +126 -0
  109. package/fesm2022/yukit-web-helm-switch.mjs.map +1 -0
  110. package/fesm2022/yukit-web-helm-table.mjs +180 -0
  111. package/fesm2022/yukit-web-helm-table.mjs.map +1 -0
  112. package/fesm2022/yukit-web-helm-tabs.mjs +251 -0
  113. package/fesm2022/yukit-web-helm-tabs.mjs.map +1 -0
  114. package/fesm2022/yukit-web-helm-textarea.mjs +32 -0
  115. package/fesm2022/yukit-web-helm-textarea.mjs.map +1 -0
  116. package/fesm2022/yukit-web-helm-toggle-group.mjs +95 -0
  117. package/fesm2022/yukit-web-helm-toggle-group.mjs.map +1 -0
  118. package/fesm2022/yukit-web-helm-toggle.mjs +61 -0
  119. package/fesm2022/yukit-web-helm-toggle.mjs.map +1 -0
  120. package/fesm2022/yukit-web-helm-tooltip.mjs +57 -0
  121. package/fesm2022/yukit-web-helm-tooltip.mjs.map +1 -0
  122. package/fesm2022/yukit-web-helm-typography.mjs +205 -0
  123. package/fesm2022/yukit-web-helm-typography.mjs.map +1 -0
  124. package/fesm2022/yukit-web-helm-utils.mjs +272 -0
  125. package/fesm2022/yukit-web-helm-utils.mjs.map +1 -0
  126. package/fesm2022/yukit-web.mjs +3592 -0
  127. package/fesm2022/yukit-web.mjs.map +1 -0
  128. package/package.json +291 -0
  129. package/src/lib/theme/spartan-overwrites/accordion.css +4 -0
  130. package/src/lib/theme/theme.css +161 -0
  131. package/src/lib/theme/tokens/color.css +356 -0
  132. package/src/lib/theme/tokens/component-colors.css +167 -0
  133. package/src/lib/theme/tokens/radius.css +18 -0
  134. package/src/lib/theme/tokens/typography.css +201 -0
  135. package/types/yukit-web-helm-accordion.d.ts +32 -0
  136. package/types/yukit-web-helm-alert-dialog.d.ts +85 -0
  137. package/types/yukit-web-helm-alert.d.ts +37 -0
  138. package/types/yukit-web-helm-aspect-ratio.d.ts +16 -0
  139. package/types/yukit-web-helm-attachment.d.ts +80 -0
  140. package/types/yukit-web-helm-autocomplete.d.ts +91 -0
  141. package/types/yukit-web-helm-avatar.d.ts +45 -0
  142. package/types/yukit-web-helm-badge.d.ts +19 -0
  143. package/types/yukit-web-helm-breadcrumb.d.ts +52 -0
  144. package/types/yukit-web-helm-bubble.d.ts +46 -0
  145. package/types/yukit-web-helm-button-group.d.ts +25 -0
  146. package/types/yukit-web-helm-button.d.ts +33 -0
  147. package/types/yukit-web-helm-calendar.d.ts +89 -0
  148. package/types/yukit-web-helm-card.d.ts +49 -0
  149. package/types/yukit-web-helm-carousel.d.ts +79 -0
  150. package/types/yukit-web-helm-checkbox.d.ts +60 -0
  151. package/types/yukit-web-helm-collapsible.d.ts +22 -0
  152. package/types/yukit-web-helm-combobox.d.ts +150 -0
  153. package/types/yukit-web-helm-command.d.ts +84 -0
  154. package/types/yukit-web-helm-context-menu.d.ts +29 -0
  155. package/types/yukit-web-helm-date-picker.d.ts +574 -0
  156. package/types/yukit-web-helm-dialog.d.ts +90 -0
  157. package/types/yukit-web-helm-drawer.d.ts +71 -0
  158. package/types/yukit-web-helm-dropdown-menu.d.ts +171 -0
  159. package/types/yukit-web-helm-empty.d.ts +49 -0
  160. package/types/yukit-web-helm-field.d.ts +102 -0
  161. package/types/yukit-web-helm-hover-card.d.ts +31 -0
  162. package/types/yukit-web-helm-input-group.d.ts +47 -0
  163. package/types/yukit-web-helm-input-otp.d.ts +40 -0
  164. package/types/yukit-web-helm-input.d.ts +13 -0
  165. package/types/yukit-web-helm-item.d.ts +96 -0
  166. package/types/yukit-web-helm-kbd.d.ts +17 -0
  167. package/types/yukit-web-helm-label.d.ts +12 -0
  168. package/types/yukit-web-helm-marker.d.ts +31 -0
  169. package/types/yukit-web-helm-menubar.d.ts +35 -0
  170. package/types/yukit-web-helm-message.d.ts +44 -0
  171. package/types/yukit-web-helm-native-select.d.ts +65 -0
  172. package/types/yukit-web-helm-navigation-menu.d.ts +49 -0
  173. package/types/yukit-web-helm-pagination.d.ts +187 -0
  174. package/types/yukit-web-helm-popover.d.ts +49 -0
  175. package/types/yukit-web-helm-progress.d.ts +22 -0
  176. package/types/yukit-web-helm-radio-group.d.ts +66 -0
  177. package/types/yukit-web-helm-resizable.d.ts +27 -0
  178. package/types/yukit-web-helm-scroll-area.d.ts +11 -0
  179. package/types/yukit-web-helm-select.d.ts +114 -0
  180. package/types/yukit-web-helm-separator.d.ts +13 -0
  181. package/types/yukit-web-helm-sheet.d.ts +75 -0
  182. package/types/yukit-web-helm-sidebar.d.ts +232 -0
  183. package/types/yukit-web-helm-skeleton.d.ts +11 -0
  184. package/types/yukit-web-helm-slider.d.ts +14 -0
  185. package/types/yukit-web-helm-sonner.d.ts +52 -0
  186. package/types/yukit-web-helm-spinner.d.ts +18 -0
  187. package/types/yukit-web-helm-switch.d.ts +54 -0
  188. package/types/yukit-web-helm-table.d.ts +82 -0
  189. package/types/yukit-web-helm-tabs.d.ts +66 -0
  190. package/types/yukit-web-helm-textarea.d.ts +13 -0
  191. package/types/yukit-web-helm-toggle-group.d.ts +34 -0
  192. package/types/yukit-web-helm-toggle.d.ts +22 -0
  193. package/types/yukit-web-helm-tooltip.d.ts +17 -0
  194. package/types/yukit-web-helm-typography.d.ts +89 -0
  195. package/types/yukit-web-helm-utils.d.ts +44 -0
  196. package/types/yukit-web.d.ts +2426 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yukit-web-helm-sidebar.mjs","sources":["../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar.token.ts","../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar.service.ts","../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar.ts","../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar-content.ts","../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar-footer.ts","../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar-group.ts","../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar-group-action.ts","../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar-group-content.ts","../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar-group-label.ts","../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar-header.ts","../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar-input.ts","../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar-inset.ts","../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar-menu.ts","../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar-menu-action.ts","../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar-menu-badge.ts","../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar-menu-button.ts","../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar-menu-item.ts","../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar-menu-skeleton.ts","../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar-menu-sub.ts","../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar-menu-sub-button.ts","../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar-menu-sub-item.ts","../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar-rail.ts","../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar-separator.ts","../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar-trigger.ts","../../../projects/yukit-web/helm/sidebar/src/lib/hlm-sidebar-wrapper.ts","../../../projects/yukit-web/helm/sidebar/src/index.ts","../../../projects/yukit-web/helm/sidebar/src/yukit-web-helm-sidebar.ts"],"sourcesContent":["import { inject, InjectionToken, type ValueProvider } from '@angular/core';\n\nexport interface HlmSidebarConfig {\n\tsidebarWidth: string;\n\tsidebarWidthMobile: string;\n\tsidebarWidthIcon: string;\n\tsidebarCookieName: string;\n\tsidebarCookieMaxAge: number;\n\tsidebarKeyboardShortcut: string;\n\tmobileBreakpoint: string;\n\tcloseMobileSidebarOnMenuButtonClick: boolean;\n}\n\nconst defaultConfig: HlmSidebarConfig = {\n\tsidebarWidth: '16rem',\n\tsidebarWidthMobile: '18rem',\n\tsidebarWidthIcon: '3rem',\n\tsidebarCookieName: 'sidebar_state',\n\tsidebarCookieMaxAge: 60 * 60 * 24 * 7, // 7 days in seconds\n\tsidebarKeyboardShortcut: 'b',\n\tmobileBreakpoint: '768px',\n\tcloseMobileSidebarOnMenuButtonClick: false,\n};\n\nconst HlmSidebarConfigToken = new InjectionToken<HlmSidebarConfig>('HlmSidebarConfig');\n\nexport function provideHlmSidebarConfig(config: Partial<HlmSidebarConfig>): ValueProvider {\n\treturn { provide: HlmSidebarConfigToken, useValue: { ...defaultConfig, ...config } };\n}\n\nexport function injectHlmSidebarConfig(): HlmSidebarConfig {\n\treturn inject(HlmSidebarConfigToken, { optional: true }) ?? defaultConfig;\n}\n","import { isPlatformServer } from '@angular/common';\nimport {\n\tafterNextRender,\n\tcomputed,\n\tDestroyRef,\n\tDOCUMENT,\n\tinject,\n\tInjectable,\n\tPLATFORM_ID,\n\tREQUEST,\n\ttype Signal,\n\tsignal,\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\tprivate readonly _platformId = inject(PLATFORM_ID);\n\tprivate readonly _request = inject(REQUEST, { optional: true });\n\tprivate readonly _config = injectHlmSidebarConfig();\n\tprivate readonly _document = inject(DOCUMENT);\n\tprivate readonly _window = this._document.defaultView;\n\tprivate readonly _open = signal<boolean>(true);\n\tprivate readonly _openMobile = signal<boolean>(false);\n\tprivate readonly _isMobile = signal<boolean>(false);\n\tprivate readonly _variant = signal<SidebarVariant>('sidebar');\n\tprivate _mediaQuery: MediaQueryList | null = null;\n\n\tpublic readonly open: Signal<boolean> = this._open.asReadonly();\n\tpublic readonly openMobile: Signal<boolean> = this._openMobile.asReadonly();\n\tpublic readonly isMobile: Signal<boolean> = this._isMobile.asReadonly();\n\tpublic readonly variant: Signal<SidebarVariant> = this._variant.asReadonly();\n\n\tpublic readonly state = computed<'expanded' | 'collapsed'>(() => (this._open() ? 'expanded' : 'collapsed'));\n\n\tconstructor() {\n\t\tconst destroyRef = inject(DestroyRef);\n\t\tthis.restoreStateFromCookie();\n\n\t\tafterNextRender(() => {\n\t\t\tif (!this._window || typeof this._window.matchMedia !== 'function') return;\n\n\t\t\t// Initialize MediaQueryList\n\t\t\tthis._mediaQuery = this._window.matchMedia(`(max-width: ${this._config.mobileBreakpoint})`);\n\t\t\tthis._isMobile.set(this._mediaQuery.matches);\n\n\t\t\t// Add media query listener\n\t\t\tconst mediaQueryHandler = (e: MediaQueryListEvent) => {\n\t\t\t\tthis._isMobile.set(e.matches);\n\t\t\t\t// If switching from mobile to desktop, close mobile sidebar\n\t\t\t\tif (!e.matches) this._openMobile.set(false);\n\t\t\t};\n\t\t\tthis._mediaQuery.addEventListener('change', mediaQueryHandler);\n\n\t\t\t// Add keyboard shortcut listener\n\t\t\tconst keydownHandler = (event: KeyboardEvent) => {\n\t\t\t\tif (event.key === this._config.sidebarKeyboardShortcut && (event.ctrlKey || event.metaKey)) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tthis.toggleSidebar();\n\t\t\t\t}\n\t\t\t};\n\t\t\tthis._window.addEventListener('keydown', keydownHandler);\n\n\t\t\t// Add resize listener with debounce\n\t\t\tlet resizeTimeout: number;\n\t\t\tconst resizeHandler = () => {\n\t\t\t\tif (!this._window) return;\n\n\t\t\t\tif (resizeTimeout) this._window.clearTimeout(resizeTimeout);\n\t\t\t\tresizeTimeout = this._window.setTimeout(() => {\n\t\t\t\t\tif (this._mediaQuery) this._isMobile.set(this._mediaQuery.matches);\n\t\t\t\t}, 100);\n\t\t\t};\n\t\t\tthis._window.addEventListener('resize', resizeHandler);\n\n\t\t\t// Cleanup listeners on destroy\n\t\t\tdestroyRef.onDestroy(() => {\n\t\t\t\tif (!this._window) return;\n\n\t\t\t\tif (this._mediaQuery) this._mediaQuery.removeEventListener('change', mediaQueryHandler);\n\t\t\t\tthis._window.removeEventListener('keydown', keydownHandler);\n\t\t\t\tthis._window.removeEventListener('resize', resizeHandler);\n\t\t\t\tif (resizeTimeout) this._window.clearTimeout(resizeTimeout);\n\t\t\t});\n\t\t});\n\t}\n\n\tpublic setOpen(open: boolean): void {\n\t\tthis._open.set(open);\n\t\tthis._document.cookie = `${this._config.sidebarCookieName}=${open}; path=/; max-age=${this._config.sidebarCookieMaxAge}`;\n\t}\n\n\tpublic setOpenMobile(open: boolean): void {\n\t\tif (this._isMobile()) {\n\t\t\tthis._openMobile.set(open);\n\t\t}\n\t}\n\n\tpublic setVariant(variant: SidebarVariant): void {\n\t\tthis._variant.set(variant);\n\t}\n\n\tpublic toggleSidebar(): void {\n\t\tif (this._isMobile()) {\n\t\t\tthis._openMobile.update((value) => !value);\n\t\t} else {\n\t\t\tthis.setOpen(!this._open());\n\t\t}\n\t}\n\n\tprivate restoreStateFromCookie(): void {\n\t\tconst cookieString = isPlatformServer(this._platformId)\n\t\t\t? this._request?.headers.get('cookie')\n\t\t\t: this._document.cookie;\n\n\t\tif (!cookieString) return;\n\n\t\tconst prefix = `${this._config.sidebarCookieName}=`;\n\t\tconst cookieValue = cookieString\n\t\t\t.split(';')\n\t\t\t.map((c) => c.trim())\n\t\t\t.find((c) => c.startsWith(prefix))\n\t\t\t?.slice(prefix.length);\n\n\t\tif (cookieValue !== undefined) {\n\t\t\tthis._open.set(cookieValue === 'true');\n\t\t}\n\t}\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, input } from '@angular/core';\nimport { HlmSheetImports } from 'yukit-web/helm/sheet';\nimport { classes, hlm } from 'yukit-web/helm/utils';\nimport type { ClassValue } from 'clsx';\nimport { HlmSidebarService, type SidebarVariant } from './hlm-sidebar.service';\nimport { injectHlmSidebarConfig } from './hlm-sidebar.token';\n\n@Component({\n\tselector: 'hlm-sidebar',\n\timports: [NgTemplateOutlet, HlmSheetImports],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\t'[attr.data-slot]': '_dataSlot()',\n\t\t'[attr.data-state]': '_dataState()',\n\t\t'[attr.data-collapsible]': '_dataCollapsible()',\n\t\t'[attr.data-variant]': '_dataVariant()',\n\t\t'[attr.data-side]': '_dataSide()',\n\t},\n\ttemplate: `\n\t\t<ng-template #contentContainer>\n\t\t\t<ng-content />\n\t\t</ng-template>\n\n\t\t@if (collapsible() === 'none') {\n\t\t\t<ng-container *ngTemplateOutlet=\"contentContainer\"></ng-container>\n\t\t} @else if (_sidebarService.isMobile()) {\n\t\t\t<hlm-sheet\n\t\t\t\t[side]=\"side()\"\n\t\t\t\t[state]=\"_sidebarService.openMobile() ? 'open' : 'closed'\"\n\t\t\t\t(stateChanged)=\"_sidebarService.setOpenMobile($event === 'open')\"\n\t\t\t>\n\t\t\t\t<hlm-sheet-content\n\t\t\t\t\t*hlmSheetPortal=\"let ctx\"\n\t\t\t\t\tdata-slot=\"sidebar\"\n\t\t\t\t\tdata-sidebar=\"sidebar\"\n\t\t\t\t\tdata-mobile=\"true\"\n\t\t\t\t\tclass=\"bg-sidebar text-sidebar-foreground h-svh w-(--sidebar-width) p-0 [&>button]:hidden\"\n\t\t\t\t\t[style.--sidebar-width]=\"sidebarWidthMobile()\"\n\t\t\t\t>\n\t\t\t\t\t<div class=\"flex h-full w-full flex-col\">\n\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"contentContainer\" />\n\t\t\t\t\t</div>\n\t\t\t\t</hlm-sheet-content>\n\t\t\t</hlm-sheet>\n\t\t} @else {\n\t\t\t<!-- Sidebar gap on desktop -->\n\t\t\t<div data-slot=\"sidebar-gap\" [class]=\"_sidebarGapComputedClass()\"></div>\n\t\t\t<div data-slot=\"sidebar-container\" [attr.data-side]=\"_dataSide()\" [class]=\"_sidebarContainerComputedClass()\">\n\t\t\t\t<div data-sidebar=\"sidebar\" data-slot=\"sidebar-inner\" 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\t\t\t\t\t<ng-container *ngTemplateOutlet=\"contentContainer\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t}\n\t`,\n})\nexport class HlmSidebar {\n\tprotected readonly _sidebarService = inject(HlmSidebarService);\n\tprivate readonly _config = injectHlmSidebarConfig();\n\tpublic readonly sidebarWidthMobile = input<string>(this._config.sidebarWidthMobile);\n\n\tpublic readonly side = input<'left' | 'right'>('left');\n\tpublic readonly variant = input<SidebarVariant>(this._sidebarService.variant());\n\tpublic readonly collapsible = input<'offcanvas' | 'icon' | 'none'>('offcanvas');\n\n\tprotected readonly _sidebarGapComputedClass = computed(() =>\n\t\thlm(\n\t\t\t'transition-[width] duration-200 ease-linear relative w-(--sidebar-width) bg-transparent',\n\t\t\t'group-data-[collapsible=offcanvas]:w-0',\n\t\t\t'group-data-[side=right]:rotate-180',\n\t\t\tthis.variant() === 'floating' || this.variant() === 'inset'\n\t\t\t\t? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]'\n\t\t\t\t: 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)',\n\t\t),\n\t);\n\n\tpublic readonly sidebarContainerClass = input<ClassValue>('');\n\tprotected readonly _sidebarContainerComputedClass = computed(() =>\n\t\thlm(\n\t\t\t'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\t\t\tthis.variant() === 'floating' || this.variant() === 'inset'\n\t\t\t\t? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]'\n\t\t\t\t: 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l',\n\t\t\tthis.sidebarContainerClass(),\n\t\t),\n\t);\n\n\tprotected readonly _dataSlot = computed(() => {\n\t\treturn !this._sidebarService.isMobile() ? 'sidebar' : undefined;\n\t});\n\n\tprivate readonly _collapsibleAndNonMobile = computed(() => {\n\t\treturn this.collapsible() !== 'none' && !this._sidebarService.isMobile();\n\t});\n\n\tprotected readonly _dataState = computed(() => {\n\t\treturn this._collapsibleAndNonMobile() ? this._sidebarService.state() : undefined;\n\t});\n\n\tprotected readonly _dataCollapsible = computed(() => {\n\t\tif (this._collapsibleAndNonMobile()) {\n\t\t\treturn this._sidebarService.state() === 'collapsed' ? this.collapsible() : '';\n\t\t}\n\t\treturn undefined;\n\t});\n\n\tprotected readonly _dataVariant = computed(() => {\n\t\treturn this._collapsibleAndNonMobile() ? this.variant() : undefined;\n\t});\n\n\tprotected readonly _dataSide = computed(() => {\n\t\treturn this._collapsibleAndNonMobile() ? this.side() : undefined;\n\t});\n\n\tconstructor() {\n\t\t// Sync variant input with service\n\t\teffect(() => {\n\t\t\tthis._sidebarService.setVariant(this.variant());\n\t\t});\n\n\t\tclasses(() => {\n\t\t\tif (this.collapsible() === 'none') {\n\t\t\t\treturn hlm('bg-sidebar text-sidebar-foreground flex h-svh w-(--sidebar-width) flex-col');\n\t\t\t} else if (this._sidebarService.isMobile()) {\n\t\t\t\treturn '';\n\t\t\t} else {\n\t\t\t\treturn hlm('group peer text-sidebar-foreground hidden md:block');\n\t\t\t}\n\t\t});\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmSidebarContent],hlm-sidebar-content',\n\thost: {\n\t\t'data-slot': 'sidebar-content',\n\t\t'data-sidebar': 'content',\n\t},\n})\nexport class HlmSidebarContent {\n\tconstructor() {\n\t\tclasses(\n\t\t\t() =>\n\t\t\t\t'no-scrollbar gap-0 flex min-h-0 flex-1 flex-col overflow-auto group-data-[collapsible=icon]:overflow-hidden',\n\t\t);\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmSidebarFooter],hlm-sidebar-footer',\n\thost: {\n\t\t'data-slot': 'sidebar-footer',\n\t\t'data-sidebar': 'footer',\n\t},\n})\nexport class HlmSidebarFooter {\n\tconstructor() {\n\t\tclasses(() => 'gap-2 p-2 flex flex-col');\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmSidebarGroup],hlm-sidebar-group',\n\thost: {\n\t\t'data-slot': 'sidebar-group',\n\t\t'data-sidebar': 'group',\n\t},\n})\nexport class HlmSidebarGroup {\n\tconstructor() {\n\t\tclasses(() => 'p-2 relative flex w-full min-w-0 flex-col');\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: 'button[hlmSidebarGroupAction]',\n\thost: {\n\t\t'data-slot': 'sidebar-group-action',\n\t\t'data-sidebar': 'group-action',\n\t},\n})\nexport class HlmSidebarGroupAction {\n\tconstructor() {\n\t\tclasses(\n\t\t\t() =>\n\t\t\t\t'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-[length:--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\t\t);\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: 'div[hlmSidebarGroupContent]',\n\thost: {\n\t\t'data-slot': 'sidebar-group-content',\n\t\t'data-sidebar': 'group-content',\n\t},\n})\nexport class HlmSidebarGroupContent {\n\tconstructor() {\n\t\tclasses(() => 'text-sm w-full');\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: 'div[hlmSidebarGroupLabel], button[hlmSidebarGroupLabel]',\n\thost: {\n\t\t'data-slot': 'sidebar-group-label',\n\t\t'data-sidebar': 'group-label',\n\t},\n})\nexport class HlmSidebarGroupLabel {\n\tconstructor() {\n\t\tclasses(() => '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-[length:--spacing(4)] flex shrink-0 items-center outline-hidden [&>ng-icon]:shrink-0');\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmSidebarHeader],hlm-sidebar-header',\n\thost: {\n\t\t'data-slot': 'sidebar-header',\n\t\t'data-sidebar': 'header',\n\t},\n})\nexport class HlmSidebarHeader {\n\tconstructor() {\n\t\tclasses(() => 'gap-2 p-2 flex flex-col');\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { HlmInput } from 'yukit-web/helm/input';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: 'input[hlmSidebarInput]',\n\thostDirectives: [HlmInput],\n\thost: {\n\t\t'data-slot': 'sidebar-input',\n\t\t'data-sidebar': 'input',\n\t},\n})\nexport class HlmSidebarInput {\n\tconstructor() {\n\t\tclasses(() => 'bg-background h-8 w-full shadow-none');\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: 'main[hlmSidebarInset]',\n\thost: { 'data-slot': 'sidebar-inset' },\n})\nexport class HlmSidebarInset {\n\tconstructor() {\n\t\tclasses(() => '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\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: 'ul[hlmSidebarMenu]',\n\thost: {\n\t\t'data-slot': 'sidebar-menu',\n\t\t'data-sidebar': 'menu',\n\t},\n})\nexport class HlmSidebarMenu {\n\tconstructor() {\n\t\tclasses(() => 'gap-0 flex w-full min-w-0 flex-col');\n\t}\n}\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: 'button[hlmSidebarMenuAction]',\n\thost: {\n\t\t'data-slot': 'sidebar-menu-action',\n\t\t'data-sidebar': 'menu-action',\n\t},\n})\nexport class HlmSidebarMenuAction {\n\tpublic readonly showOnHover = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n\tconstructor() {\n\t\tclasses(() => [\n\t\t\t'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-[length:--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\t\t\tthis.showOnHover() &&\n\t\t\t'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\t\t]);\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmSidebarMenuBadge],hlm-sidebar-menu-badge',\n\thost: {\n\t\t'data-slot': 'sidebar-menu-badge',\n\t\t'data-sidebar': 'menu-badge',\n\t},\n})\nexport class HlmSidebarMenuBadge {\n\tconstructor() {\n\t\tclasses(\n\t\t\t() =>\n\t\t\t\t'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\t\t);\n\t}\n}\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, computed, Directive, effect, inject, input } from '@angular/core';\nimport { BrnTooltip, BrnTooltipPosition, provideBrnTooltipDefaultOptions } from '@spartan-ng/brain/tooltip';\nimport {\n\tDEFAULT_TOOLTIP_CONTENT_CLASSES,\n\tDEFAULT_TOOLTIP_SVG_CLASS,\n\ttooltipPositionVariants,\n} from 'yukit-web/helm/tooltip';\nimport { classes, hlm } from 'yukit-web/helm/utils';\nimport { cva } from 'class-variance-authority';\nimport { HlmSidebarService } from './hlm-sidebar.service';\nimport { injectHlmSidebarConfig } from './hlm-sidebar.token';\n\nconst sidebarMenuButtonVariants = cva(\n\t'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-[length:--spacing(4)] [&>span:last-child]:truncate',\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n\t\t\t\toutline: '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\t\t\t},\n\t\t\tsize: {\n\t\t\t\tdefault: 'h-8 text-sm',\n\t\t\t\tsm: 'h-7 text-xs',\n\t\t\t\tlg: 'h-12 text-sm group-data-[collapsible=icon]:p-0!',\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: 'default',\n\t\t\tsize: 'default',\n\t\t},\n\t},\n);\n\n@Directive({\n\tselector: 'button[hlmSidebarMenuButton], a[hlmSidebarMenuButton]',\n\tproviders: [\n\t\tprovideBrnTooltipDefaultOptions({\n\t\t\tshowDelay: 150,\n\t\t\thideDelay: 0,\n\t\t\ttooltipContentClasses: DEFAULT_TOOLTIP_CONTENT_CLASSES,\n\t\t\tsvgClasses: DEFAULT_TOOLTIP_SVG_CLASS,\n\t\t\tarrowClasses: (position: BrnTooltipPosition) => hlm(tooltipPositionVariants({ position })),\n\t\t\tposition: 'right',\n\t\t}),\n\t],\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: BrnTooltip,\n\t\t\tinputs: ['brnTooltip: tooltip'],\n\t\t},\n\t],\n\thost: {\n\t\t'data-slot': 'sidebar-menu-button',\n\t\t'data-sidebar': 'menu-button',\n\t\t'[attr.data-size]': 'size()',\n\t\t'[attr.data-active]': 'isActive()',\n\t\t'(click)': 'onClick()',\n\t},\n})\nexport class HlmSidebarMenuButton {\n\tprivate readonly _config = injectHlmSidebarConfig();\n\tprivate readonly _sidebarService = inject(HlmSidebarService);\n\tprivate readonly _brnTooltip = inject(BrnTooltip);\n\n\tpublic readonly variant = input<'default' | 'outline'>('default');\n\tpublic readonly size = input<'default' | 'sm' | 'lg'>('default');\n\tpublic readonly isActive = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\tpublic readonly closeMobileSidebarOnClick = input<boolean, BooleanInput>(\n\t\tthis._config.closeMobileSidebarOnMenuButtonClick,\n\t\t{ transform: booleanAttribute },\n\t);\n\n\tprotected readonly _isTooltipHidden = computed(\n\t\t() => this._sidebarService.state() !== 'collapsed' || this._sidebarService.isMobile(),\n\t);\n\n\tconstructor() {\n\t\tclasses(() => sidebarMenuButtonVariants({ variant: this.variant(), size: this.size() }));\n\t\teffect(() => this._brnTooltip.mutableTooltipDisabled.set(this._isTooltipHidden()));\n\t}\n\n\tprotected onClick(): void {\n\t\tif (this.closeMobileSidebarOnClick()) {\n\t\t\tthis._sidebarService.setOpenMobile(false);\n\t\t}\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: 'li[hlmSidebarMenuItem]',\n\thost: {\n\t\t'data-slot': 'sidebar-menu-item',\n\t\t'data-sidebar': 'menu-item',\n\t},\n})\nexport class HlmSidebarMenuItem {\n\tconstructor() {\n\t\tclasses(() => 'group/menu-item relative');\n\t}\n}\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { HlmSkeletonImports } from 'yukit-web/helm/skeleton';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Component({\n\tselector: 'hlm-sidebar-menu-skeleton,div[hlmSidebarMenuSkeleton]',\n\timports: [HlmSkeletonImports],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\t'data-slot': 'sidebar-menu-skeleton',\n\t\t'data-sidebar': 'menu-skeleton',\n\t},\n\ttemplate: `\n\t\t@if (showIcon()) {\n\t\t\t<hlm-skeleton data-sidebar=\"menu-skeleton-icon\" class=\"size-4 rounded-md\" />\n\t\t} @else {\n\t\t\t<hlm-skeleton\n\t\t\t\tdata-sidebar=\"menu-skeleton-text\"\n\t\t\t\tclass=\"h-4 max-w-(--skeleton-width) flex-1\"\n\t\t\t\t[style.--skeleton-width]=\"_width\"\n\t\t\t/>\n\t\t}\n\t`,\n})\nexport class HlmSidebarMenuSkeleton {\n\tpublic readonly showIcon = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\tprotected readonly _width = `${Math.floor(Math.random() * 40) + 50}%`;\n\n\tconstructor() {\n\t\tclasses(() => 'h-8 gap-2 rounded-md px-2 flex items-center');\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: 'ul[hlmSidebarMenuSub]',\n\thost: {\n\t\t'data-slot': 'sidebar-menu-sub',\n\t\t'data-sidebar': 'menu-sub',\n\t},\n})\nexport class HlmSidebarMenuSub {\n\tconstructor() {\n\t\tclasses(() => '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\t}\n}\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, inject, input } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\nimport { HlmSidebarService } from './hlm-sidebar.service';\nimport { injectHlmSidebarConfig } from './hlm-sidebar.token';\n\n@Directive({\n\tselector: 'a[hlmSidebarMenuSubButton], button[hlmSidebarMenuSubButton]',\n\thost: {\n\t\t'data-slot': 'sidebar-menu-sub-button',\n\t\t'data-sidebar': 'menu-sub-button',\n\t\t'[attr.data-active]': 'isActive()',\n\t\t'[attr.data-size]': 'size()',\n\t\t'(click)': 'onClick()',\n\t},\n})\nexport class HlmSidebarMenuSubButton {\n\tprivate readonly _sidebarService = inject(HlmSidebarService);\n\tprivate readonly _config = injectHlmSidebarConfig();\n\n\tpublic readonly closeMobileSidebarOnClick = input<boolean, BooleanInput>(\n\t\tthis._config.closeMobileSidebarOnMenuButtonClick,\n\t\t{ transform: booleanAttribute },\n\t);\n\n\tpublic readonly size = input<'sm' | 'md'>('md');\n\tpublic readonly isActive = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n\tconstructor() {\n\t\tclasses(\n\t\t\t() =>\n\t\t\t\t'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-[length:--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\t\t);\n\t}\n\n\tprotected onClick(): void {\n\t\tif (this.closeMobileSidebarOnClick()) {\n\t\t\tthis._sidebarService.setOpenMobile(false);\n\t\t}\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: 'li[hlmSidebarMenuSubItem]',\n\thost: {\n\t\t'data-slot': 'sidebar-menu-sub-item',\n\t\t'data-sidebar': 'menu-sub-item',\n\t},\n})\nexport class HlmSidebarMenuSubItem {\n\tconstructor() {\n\t\tclasses(() => 'group/menu-sub-item relative');\n\t}\n}\n","import { Directive, inject, input } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\nimport { HlmSidebarService } from './hlm-sidebar.service';\n\n@Directive({\n\tselector: 'button[hlmSidebarRail]',\n\thost: {\n\t\t'data-sidebar': 'rail',\n\t\t'data-slot': 'sidebar-rail',\n\t\t'[attr.aria-label]': 'ariaLabel()',\n\t\ttabindex: '-1',\n\t\t'(click)': 'onClick()',\n\t},\n})\nexport class HlmSidebarRail {\n\tprivate readonly _sidebarService = inject(HlmSidebarService);\n\n\tpublic readonly ariaLabel = input<string>('Toggle Sidebar', { alias: 'aria-label' });\n\n\tconstructor() {\n\t\tclasses(() => [\n\t\t\t'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\t\t\t'in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize',\n\t\t\t'[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n\t\t\t'hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full',\n\t\t\t'[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n\t\t\t'[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n\t\t]);\n\t}\n\n\tprotected onClick(): void {\n\t\tthis._sidebarService.toggleSidebar();\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { HlmSeparator } from 'yukit-web/helm/separator';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmSidebarSeparator],hlm-sidebar-separator',\n\thostDirectives: [HlmSeparator],\n\thost: {\n\t\t'data-slot': 'sidebar-separator',\n\t\t'data-sidebar': 'separator',\n\t},\n})\nexport class HlmSidebarSeparator {\n\tconstructor() {\n\t\tclasses(() => 'bg-sidebar-border mx-2 w-auto');\n\t}\n}\n","import { ChangeDetectionStrategy, Component, inject, input } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucidePanelLeft } from '@ng-icons/lucide';\nimport { HlmButton, provideBrnButtonConfig } from 'yukit-web/helm/button';\nimport { HlmSidebarService } from './hlm-sidebar.service';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'button[hlmSidebarTrigger]',\n\timports: [NgIcon],\n\tproviders: [provideIcons({ lucidePanelLeft }), provideBrnButtonConfig({ variant: 'ghost', size: 'icon-sm' })],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thostDirectives: [{ directive: HlmButton, inputs: ['variant', 'size'] }],\n\thost: {\n\t\t'data-slot': 'sidebar-trigger',\n\t\t'data-sidebar': 'trigger',\n\t\t'(click)': '_onClick()',\n\t},\n\ttemplate: `\n\t\t<ng-icon name=\"lucidePanelLeft\" />\n\t\t<span class=\"sr-only\">{{ srOnlyText() }}</span>\n\t`,\n})\nexport class HlmSidebarTrigger {\n\tprivate readonly _sidebarService = inject(HlmSidebarService);\n\n\tpublic readonly srOnlyText = input<string>('Toggle Sidebar');\n\n\tprotected _onClick(): void {\n\t\tthis._sidebarService.toggleSidebar();\n\t}\n}\n","import { Directive, input } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\nimport { injectHlmSidebarConfig } from './hlm-sidebar.token';\n\n@Directive({\n\tselector: '[hlmSidebarWrapper],hlm-sidebar-wrapper',\n\thost: {\n\t\t'data-slot': 'sidebar-wrapper',\n\t\t'[style.--sidebar-width]': 'sidebarWidth()',\n\t\t'[style.--sidebar-width-icon]': 'sidebarWidthIcon()',\n\t},\n})\nexport class HlmSidebarWrapper {\n\tprivate readonly _config = injectHlmSidebarConfig();\n\n\tpublic readonly sidebarWidth = input<string>(this._config.sidebarWidth);\n\tpublic readonly sidebarWidthIcon = input<string>(this._config.sidebarWidthIcon);\n\n\tconstructor() {\n\t\tclasses(() => 'group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full');\n\t}\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\tHlmSidebar,\n\tHlmSidebarContent,\n\tHlmSidebarFooter,\n\tHlmSidebarGroup,\n\tHlmSidebarGroupAction,\n\tHlmSidebarGroupContent,\n\tHlmSidebarGroupLabel,\n\tHlmSidebarHeader,\n\tHlmSidebarInput,\n\tHlmSidebarInset,\n\tHlmSidebarMenu,\n\tHlmSidebarMenuSkeleton,\n\tHlmSidebarMenuAction,\n\tHlmSidebarMenuBadge,\n\tHlmSidebarMenuButton,\n\tHlmSidebarMenuItem,\n\tHlmSidebarMenuSub,\n\tHlmSidebarMenuSubButton,\n\tHlmSidebarRail,\n\tHlmSidebarSeparator,\n\tHlmSidebarTrigger,\n\tHlmSidebarWrapper,\n\tHlmSidebarMenuSubItem,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive } from '@angular/core';
3
+ import { classes } from 'yukit-web/helm/utils';
4
+
5
+ class HlmSkeleton {
6
+ constructor() {
7
+ classes(() => 'bg-muted rounded-md block motion-safe:animate-pulse');
8
+ }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmSkeleton, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmSkeleton, isStandalone: true, selector: "[hlmSkeleton],hlm-skeleton", host: { attributes: { "data-slot": "skeleton" } }, ngImport: i0 }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmSkeleton, decorators: [{
13
+ type: Directive,
14
+ args: [{
15
+ selector: '[hlmSkeleton],hlm-skeleton',
16
+ host: {
17
+ 'data-slot': 'skeleton',
18
+ },
19
+ }]
20
+ }], ctorParameters: () => [] });
21
+
22
+ const HlmSkeletonImports = [HlmSkeleton];
23
+
24
+ /**
25
+ * Generated bundle index. Do not edit.
26
+ */
27
+
28
+ export { HlmSkeleton, HlmSkeletonImports };
29
+ //# sourceMappingURL=yukit-web-helm-skeleton.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yukit-web-helm-skeleton.mjs","sources":["../../../projects/yukit-web/helm/skeleton/src/lib/hlm-skeleton.ts","../../../projects/yukit-web/helm/skeleton/src/index.ts","../../../projects/yukit-web/helm/skeleton/src/yukit-web-helm-skeleton.ts"],"sourcesContent":["import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmSkeleton],hlm-skeleton',\n\thost: {\n\t\t'data-slot': 'skeleton',\n\t},\n})\nexport class HlmSkeleton {\n\tconstructor() {\n\t\tclasses(() => 'bg-muted rounded-md block motion-safe:animate-pulse');\n\t}\n}\n","import { HlmSkeleton } from './lib/hlm-skeleton';\n\nexport * from './lib/hlm-skeleton';\n\nexport const HlmSkeletonImports = [HlmSkeleton] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MASa,WAAW,CAAA;AACvB,IAAA,WAAA,GAAA;AACC,QAAA,OAAO,CAAC,MAAM,qDAAqD,CAAC;IACrE;8GAHY,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,UAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBANvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,4BAA4B;AACtC,oBAAA,IAAI,EAAE;AACL,wBAAA,WAAW,EAAE,UAAU;AACvB,qBAAA;AACD,iBAAA;;;ACJM,MAAM,kBAAkB,GAAG,CAAC,WAAW;;ACJ9C;;AAEG;;;;"}
@@ -0,0 +1,123 @@
1
+ import * as i0 from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import * as i1 from '@spartan-ng/brain/slider';
4
+ import { injectBrnSlider, BrnSlider, BrnSliderImports } from '@spartan-ng/brain/slider';
5
+ import { classes } from 'yukit-web/helm/utils';
6
+
7
+ class HlmSlider {
8
+ constructor() {
9
+ this._slider = injectBrnSlider();
10
+ classes(() => [
11
+ 'group flex w-full touch-none flex-col select-none data-vertical:h-full data-vertical:min-h-40 data-vertical:w-auto data-vertical:flex-row data-[disabled]:pointer-events-none data-[disabled]:opacity-50',
12
+ ]);
13
+ }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmSlider, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: HlmSlider, isStandalone: true, selector: "hlm-slider, brn-slider [hlm]", hostDirectives: [{ directive: i1.BrnSlider, inputs: ["id", "id", "value", "value", "disabled", "disabled", "min", "min", "max", "max", "step", "step", "minStepsBetweenThumbs", "minStepsBetweenThumbs", "inverted", "inverted", "orientation", "orientation", "showTicks", "showTicks", "maxTicks", "maxTicks", "tickLabelInterval", "tickLabelInterval", "formatTick", "formatTick", "draggableRange", "draggableRange", "draggableRangeOnly", "draggableRangeOnly", "aria-label", "aria-label", "aria-labelledby", "aria-labelledby"], outputs: ["valueChange", "valueChange"] }], ngImport: i0, template: `
16
+ <div class="relative flex w-full items-center group-data-vertical:w-auto group-data-vertical:flex-col">
17
+ <div brnSliderTrack class="bg-muted rounded-full data-horizontal:h-1 data-horizontal:w-full data-vertical:h-full data-vertical:w-1 relative grow overflow-hidden">
18
+ <div
19
+ class="bg-primary absolute select-none data-draggable-range:cursor-move data-horizontal:h-full data-vertical:w-full"
20
+ brnSliderRange
21
+ ></div>
22
+ </div>
23
+
24
+ @for (i of _slider.thumbIndexes(); track i) {
25
+ <span
26
+ class="border-ring ring-ring/50 size-3 rounded-full border bg-white transition-[color,box-shadow] hover:ring-3 focus-visible:ring-3 focus-visible:outline-hidden active:ring-3 absolute block shrink-0 select-none after:absolute after:-inset-2"
27
+ brnSliderThumb
28
+ ></span>
29
+ }
30
+ </div>
31
+
32
+ @if (_slider.showTicks()) {
33
+ <div
34
+ class="px-1.5 group-data-vertical:px-0 group-data-vertical:py-1.5 text-muted-foreground mt-3 flex w-full items-start justify-between gap-1 text-xs font-medium group-data-horizontal:group-data-inverted:flex-row-reverse group-data-vertical:ms-3 group-data-vertical:mt-0 group-data-vertical:w-auto group-data-vertical:flex-col-reverse group-data-vertical:group-data-inverted:flex-col"
35
+ >
36
+ <div
37
+ *brnSliderTick="let tick; let formattedTick = formattedTick"
38
+ class="group flex w-0 flex-col items-center justify-center gap-2 group-data-vertical:h-0 group-data-vertical:w-auto group-data-vertical:flex-row"
39
+ >
40
+ <div
41
+ class="bg-muted-foreground/70 h-1 w-px group-data-vertical:h-px group-data-vertical:w-1 group-data-horizontal:group-data-[skip]:h-0.5 group-data-vertical:group-data-[skip]:w-0.5"
42
+ ></div>
43
+ <div class="text-center group-data-[skip]:opacity-0">{{ formattedTick }}</div>
44
+ </div>
45
+ </div>
46
+ }
47
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.BrnSliderTrack, selector: "[brnSliderTrack]" }, { kind: "directive", type: i1.BrnSliderThumb, selector: "[brnSliderThumb]" }, { kind: "directive", type: i1.BrnSliderRange, selector: "[brnSliderRange]" }, { kind: "directive", type: i1.BrnSliderTick, selector: "[brnSliderTick]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
48
+ }
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmSlider, decorators: [{
50
+ type: Component,
51
+ args: [{
52
+ selector: 'hlm-slider, brn-slider [hlm]',
53
+ imports: [BrnSliderImports],
54
+ changeDetection: ChangeDetectionStrategy.OnPush,
55
+ hostDirectives: [
56
+ {
57
+ directive: BrnSlider,
58
+ inputs: [
59
+ 'id',
60
+ 'value',
61
+ 'disabled',
62
+ 'min',
63
+ 'max',
64
+ 'step',
65
+ 'minStepsBetweenThumbs',
66
+ 'inverted',
67
+ 'orientation',
68
+ 'showTicks',
69
+ 'maxTicks',
70
+ 'tickLabelInterval',
71
+ 'formatTick',
72
+ 'draggableRange',
73
+ 'draggableRangeOnly',
74
+ 'aria-label',
75
+ 'aria-labelledby',
76
+ ],
77
+ outputs: ['valueChange'],
78
+ },
79
+ ],
80
+ template: `
81
+ <div class="relative flex w-full items-center group-data-vertical:w-auto group-data-vertical:flex-col">
82
+ <div brnSliderTrack class="bg-muted rounded-full data-horizontal:h-1 data-horizontal:w-full data-vertical:h-full data-vertical:w-1 relative grow overflow-hidden">
83
+ <div
84
+ class="bg-primary absolute select-none data-draggable-range:cursor-move data-horizontal:h-full data-vertical:w-full"
85
+ brnSliderRange
86
+ ></div>
87
+ </div>
88
+
89
+ @for (i of _slider.thumbIndexes(); track i) {
90
+ <span
91
+ class="border-ring ring-ring/50 size-3 rounded-full border bg-white transition-[color,box-shadow] hover:ring-3 focus-visible:ring-3 focus-visible:outline-hidden active:ring-3 absolute block shrink-0 select-none after:absolute after:-inset-2"
92
+ brnSliderThumb
93
+ ></span>
94
+ }
95
+ </div>
96
+
97
+ @if (_slider.showTicks()) {
98
+ <div
99
+ class="px-1.5 group-data-vertical:px-0 group-data-vertical:py-1.5 text-muted-foreground mt-3 flex w-full items-start justify-between gap-1 text-xs font-medium group-data-horizontal:group-data-inverted:flex-row-reverse group-data-vertical:ms-3 group-data-vertical:mt-0 group-data-vertical:w-auto group-data-vertical:flex-col-reverse group-data-vertical:group-data-inverted:flex-col"
100
+ >
101
+ <div
102
+ *brnSliderTick="let tick; let formattedTick = formattedTick"
103
+ class="group flex w-0 flex-col items-center justify-center gap-2 group-data-vertical:h-0 group-data-vertical:w-auto group-data-vertical:flex-row"
104
+ >
105
+ <div
106
+ class="bg-muted-foreground/70 h-1 w-px group-data-vertical:h-px group-data-vertical:w-1 group-data-horizontal:group-data-[skip]:h-0.5 group-data-vertical:group-data-[skip]:w-0.5"
107
+ ></div>
108
+ <div class="text-center group-data-[skip]:opacity-0">{{ formattedTick }}</div>
109
+ </div>
110
+ </div>
111
+ }
112
+ `,
113
+ }]
114
+ }], ctorParameters: () => [] });
115
+
116
+ const HlmSliderImports = [HlmSlider];
117
+
118
+ /**
119
+ * Generated bundle index. Do not edit.
120
+ */
121
+
122
+ export { HlmSlider, HlmSliderImports };
123
+ //# sourceMappingURL=yukit-web-helm-slider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yukit-web-helm-slider.mjs","sources":["../../../projects/yukit-web/helm/slider/src/lib/hlm-slider.ts","../../../projects/yukit-web/helm/slider/src/index.ts","../../../projects/yukit-web/helm/slider/src/yukit-web-helm-slider.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { BrnSlider, BrnSliderImports, injectBrnSlider } from '@spartan-ng/brain/slider';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Component({\n\tselector: 'hlm-slider, brn-slider [hlm]',\n\timports: [BrnSliderImports],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: BrnSlider,\n\t\t\tinputs: [\n\t\t\t\t'id',\n\t\t\t\t'value',\n\t\t\t\t'disabled',\n\t\t\t\t'min',\n\t\t\t\t'max',\n\t\t\t\t'step',\n\t\t\t\t'minStepsBetweenThumbs',\n\t\t\t\t'inverted',\n\t\t\t\t'orientation',\n\t\t\t\t'showTicks',\n\t\t\t\t'maxTicks',\n\t\t\t\t'tickLabelInterval',\n\t\t\t\t'formatTick',\n\t\t\t\t'draggableRange',\n\t\t\t\t'draggableRangeOnly',\n\t\t\t\t'aria-label',\n\t\t\t\t'aria-labelledby',\n\t\t\t],\n\t\t\toutputs: ['valueChange'],\n\t\t},\n\t],\n\ttemplate: `\n\t\t<div class=\"relative flex w-full items-center group-data-vertical:w-auto group-data-vertical:flex-col\">\n\t\t\t<div brnSliderTrack class=\"bg-muted rounded-full data-horizontal:h-1 data-horizontal:w-full data-vertical:h-full data-vertical:w-1 relative grow overflow-hidden\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"bg-primary absolute select-none data-draggable-range:cursor-move data-horizontal:h-full data-vertical:w-full\"\n\t\t\t\t\tbrnSliderRange\n\t\t\t\t></div>\n\t\t\t</div>\n\n\t\t\t@for (i of _slider.thumbIndexes(); track i) {\n\t\t\t\t<span\n\t\t\t\t\tclass=\"border-ring ring-ring/50 size-3 rounded-full border bg-white transition-[color,box-shadow] hover:ring-3 focus-visible:ring-3 focus-visible:outline-hidden active:ring-3 absolute block shrink-0 select-none after:absolute after:-inset-2\"\n\t\t\t\t\tbrnSliderThumb\n\t\t\t\t></span>\n\t\t\t}\n\t\t</div>\n\n\t\t@if (_slider.showTicks()) {\n\t\t\t<div\n\t\t\t\tclass=\"px-1.5 group-data-vertical:px-0 group-data-vertical:py-1.5 text-muted-foreground mt-3 flex w-full items-start justify-between gap-1 text-xs font-medium group-data-horizontal:group-data-inverted:flex-row-reverse group-data-vertical:ms-3 group-data-vertical:mt-0 group-data-vertical:w-auto group-data-vertical:flex-col-reverse group-data-vertical:group-data-inverted:flex-col\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\t*brnSliderTick=\"let tick; let formattedTick = formattedTick\"\n\t\t\t\t\tclass=\"group flex w-0 flex-col items-center justify-center gap-2 group-data-vertical:h-0 group-data-vertical:w-auto group-data-vertical:flex-row\"\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"bg-muted-foreground/70 h-1 w-px group-data-vertical:h-px group-data-vertical:w-1 group-data-horizontal:group-data-[skip]:h-0.5 group-data-vertical:group-data-[skip]:w-0.5\"\n\t\t\t\t\t></div>\n\t\t\t\t\t<div class=\"text-center group-data-[skip]:opacity-0\">{{ formattedTick }}</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t}\n\t`,\n})\nexport class HlmSlider {\n\tprotected readonly _slider = injectBrnSlider();\n\n\tconstructor() {\n\t\tclasses(() => [\n\t\t\t'group flex w-full touch-none flex-col select-none data-vertical:h-full data-vertical:min-h-40 data-vertical:w-auto data-vertical:flex-row data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n\t\t]);\n\t}\n}\n","export * from './lib/hlm-slider';\nimport { HlmSlider } from './lib/hlm-slider';\n\nexport const HlmSliderImports = [HlmSlider] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAmEa,SAAS,CAAA;AAGrB,IAAA,WAAA,GAAA;QAFmB,IAAA,CAAA,OAAO,GAAG,eAAe,EAAE;QAG7C,OAAO,CAAC,MAAM;YACb,0MAA0M;AAC1M,SAAA,CAAC;IACH;8GAPY,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,IAAA,EAAA,OAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,KAAA,EAAA,KAAA,EAAA,KAAA,EAAA,KAAA,EAAA,MAAA,EAAA,MAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,WAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAlCX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCT,CAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAEW,SAAS,EAAA,UAAA,EAAA,CAAA;kBA/DrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,8BAA8B;oBACxC,OAAO,EAAE,CAAC,gBAAgB,CAAC;oBAC3B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,cAAc,EAAE;AACf,wBAAA;AACC,4BAAA,SAAS,EAAE,SAAS;AACpB,4BAAA,MAAM,EAAE;gCACP,IAAI;gCACJ,OAAO;gCACP,UAAU;gCACV,KAAK;gCACL,KAAK;gCACL,MAAM;gCACN,uBAAuB;gCACvB,UAAU;gCACV,aAAa;gCACb,WAAW;gCACX,UAAU;gCACV,mBAAmB;gCACnB,YAAY;gCACZ,gBAAgB;gCAChB,oBAAoB;gCACpB,YAAY;gCACZ,iBAAiB;AACjB,6BAAA;4BACD,OAAO,EAAE,CAAC,aAAa,CAAC;AACxB,yBAAA;AACD,qBAAA;AACD,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCT,CAAA,CAAA;AACD,iBAAA;;;AC/DM,MAAM,gBAAgB,GAAG,CAAC,SAAS;;ACH1C;;AAEG;;;;"}
@@ -0,0 +1,126 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, booleanAttribute, numberAttribute, computed, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import { NgIcon, provideIcons } from '@ng-icons/core';
4
+ import { lucideLoader2, lucideOctagonX, lucideTriangleAlert, lucideInfo, lucideCircleCheck } from '@ng-icons/lucide';
5
+ import * as i1 from '@spartan-ng/brain/sonner';
6
+ import { BrnSonnerImports } from '@spartan-ng/brain/sonner';
7
+ import { hlm } from 'yukit-web/helm/utils';
8
+
9
+ class HlmToaster {
10
+ constructor() {
11
+ this.invert = input(false, { ...(ngDevMode ? { debugName: "invert" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
12
+ this.theme = input('light', ...(ngDevMode ? [{ debugName: "theme" }] : /* istanbul ignore next */ []));
13
+ this.position = input('bottom-right', ...(ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []));
14
+ this.hotKey = input(['altKey', 'KeyT'], ...(ngDevMode ? [{ debugName: "hotKey" }] : /* istanbul ignore next */ []));
15
+ this.richColors = input(false, { ...(ngDevMode ? { debugName: "richColors" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
16
+ this.expand = input(false, { ...(ngDevMode ? { debugName: "expand" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
17
+ this.duration = input(4000, { ...(ngDevMode ? { debugName: "duration" } : /* istanbul ignore next */ {}), transform: numberAttribute });
18
+ this.visibleToasts = input(3, { ...(ngDevMode ? { debugName: "visibleToasts" } : /* istanbul ignore next */ {}), transform: numberAttribute });
19
+ this.closeButton = input(false, { ...(ngDevMode ? { debugName: "closeButton" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
20
+ this.toastOptions = input({}, ...(ngDevMode ? [{ debugName: "toastOptions" }] : /* istanbul ignore next */ []));
21
+ this._computedToastOptions = computed(() => {
22
+ const options = this.toastOptions();
23
+ return {
24
+ ...options,
25
+ classes: {
26
+ ...options?.classes,
27
+ toast: hlm('rounded-2xl!', options?.classes?.toast),
28
+ },
29
+ };
30
+ }, ...(ngDevMode ? [{ debugName: "_computedToastOptions" }] : /* istanbul ignore next */ []));
31
+ this.offset = input(null, ...(ngDevMode ? [{ debugName: "offset" }] : /* istanbul ignore next */ []));
32
+ this.userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : /* istanbul ignore next */ {}), alias: 'class' });
33
+ this.userStyle = input({
34
+ '--normal-bg': 'var(--popover)',
35
+ '--normal-text': 'var(--popover-foreground)',
36
+ '--normal-border': 'var(--border)',
37
+ '--border-radius': 'var(--radius)',
38
+ }, { ...(ngDevMode ? { debugName: "userStyle" } : /* istanbul ignore next */ {}), alias: 'style' });
39
+ this._computedClass = computed(() => hlm('toaster group', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : /* istanbul ignore next */ []));
40
+ }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmToaster, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.8", type: HlmToaster, isStandalone: true, selector: "hlm-toaster", inputs: { invert: { classPropertyName: "invert", publicName: "invert", isSignal: true, isRequired: false, transformFunction: null }, theme: { classPropertyName: "theme", publicName: "theme", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, hotKey: { classPropertyName: "hotKey", publicName: "hotKey", isSignal: true, isRequired: false, transformFunction: null }, richColors: { classPropertyName: "richColors", publicName: "richColors", isSignal: true, isRequired: false, transformFunction: null }, expand: { classPropertyName: "expand", publicName: "expand", isSignal: true, isRequired: false, transformFunction: null }, duration: { classPropertyName: "duration", publicName: "duration", isSignal: true, isRequired: false, transformFunction: null }, visibleToasts: { classPropertyName: "visibleToasts", publicName: "visibleToasts", isSignal: true, isRequired: false, transformFunction: null }, closeButton: { classPropertyName: "closeButton", publicName: "closeButton", isSignal: true, isRequired: false, transformFunction: null }, toastOptions: { classPropertyName: "toastOptions", publicName: "toastOptions", isSignal: true, isRequired: false, transformFunction: null }, offset: { classPropertyName: "offset", publicName: "offset", isSignal: true, isRequired: false, transformFunction: null }, userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, userStyle: { classPropertyName: "userStyle", publicName: "style", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideIcons({ lucideCircleCheck, lucideInfo, lucideTriangleAlert, lucideOctagonX, lucideLoader2 })], ngImport: i0, template: `
43
+ <brn-sonner-toaster
44
+ [class]="_computedClass()"
45
+ [invert]="invert()"
46
+ [theme]="theme()"
47
+ [position]="position()"
48
+ [hotKey]="hotKey()"
49
+ [richColors]="richColors()"
50
+ [expand]="expand()"
51
+ [duration]="duration()"
52
+ [visibleToasts]="visibleToasts()"
53
+ [closeButton]="closeButton()"
54
+ [toastOptions]="_computedToastOptions()"
55
+ [offset]="offset()"
56
+ [style]="userStyle()"
57
+ >
58
+ <ng-template #loadingIcon>
59
+ <ng-icon name="lucideLoader2" class="overflow-visible! text-base [&>svg]:motion-safe:animate-spin" />
60
+ </ng-template>
61
+ <ng-template #successIcon>
62
+ <ng-icon name="lucideCircleCheck" class="overflow-visible! text-base" />
63
+ </ng-template>
64
+ <ng-template #errorIcon>
65
+ <ng-icon name="lucideOctagonX" class="overflow-visible! text-base" />
66
+ </ng-template>
67
+ <ng-template #infoIcon>
68
+ <ng-icon name="lucideInfo" class="overflow-visible! text-base" />
69
+ </ng-template>
70
+ <ng-template #warningIcon>
71
+ <ng-icon name="lucideTriangleAlert" class="overflow-visible! text-base" />
72
+ </ng-template>
73
+ </brn-sonner-toaster>
74
+ `, isInline: true, dependencies: [{ kind: "component", type: i1.BrnSonnerToaster, selector: "brn-sonner-toaster", inputs: ["invert", "theme", "position", "hotKey", "richColors", "expand", "duration", "visibleToasts", "closeButton", "toastOptions", "offset", "class", "style"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
75
+ }
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmToaster, decorators: [{
77
+ type: Component,
78
+ args: [{
79
+ selector: 'hlm-toaster',
80
+ imports: [BrnSonnerImports, NgIcon],
81
+ providers: [provideIcons({ lucideCircleCheck, lucideInfo, lucideTriangleAlert, lucideOctagonX, lucideLoader2 })],
82
+ changeDetection: ChangeDetectionStrategy.OnPush,
83
+ template: `
84
+ <brn-sonner-toaster
85
+ [class]="_computedClass()"
86
+ [invert]="invert()"
87
+ [theme]="theme()"
88
+ [position]="position()"
89
+ [hotKey]="hotKey()"
90
+ [richColors]="richColors()"
91
+ [expand]="expand()"
92
+ [duration]="duration()"
93
+ [visibleToasts]="visibleToasts()"
94
+ [closeButton]="closeButton()"
95
+ [toastOptions]="_computedToastOptions()"
96
+ [offset]="offset()"
97
+ [style]="userStyle()"
98
+ >
99
+ <ng-template #loadingIcon>
100
+ <ng-icon name="lucideLoader2" class="overflow-visible! text-base [&>svg]:motion-safe:animate-spin" />
101
+ </ng-template>
102
+ <ng-template #successIcon>
103
+ <ng-icon name="lucideCircleCheck" class="overflow-visible! text-base" />
104
+ </ng-template>
105
+ <ng-template #errorIcon>
106
+ <ng-icon name="lucideOctagonX" class="overflow-visible! text-base" />
107
+ </ng-template>
108
+ <ng-template #infoIcon>
109
+ <ng-icon name="lucideInfo" class="overflow-visible! text-base" />
110
+ </ng-template>
111
+ <ng-template #warningIcon>
112
+ <ng-icon name="lucideTriangleAlert" class="overflow-visible! text-base" />
113
+ </ng-template>
114
+ </brn-sonner-toaster>
115
+ `,
116
+ }]
117
+ }], propDecorators: { invert: [{ type: i0.Input, args: [{ isSignal: true, alias: "invert", required: false }] }], theme: [{ type: i0.Input, args: [{ isSignal: true, alias: "theme", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], hotKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "hotKey", required: false }] }], richColors: [{ type: i0.Input, args: [{ isSignal: true, alias: "richColors", required: false }] }], expand: [{ type: i0.Input, args: [{ isSignal: true, alias: "expand", required: false }] }], duration: [{ type: i0.Input, args: [{ isSignal: true, alias: "duration", required: false }] }], visibleToasts: [{ type: i0.Input, args: [{ isSignal: true, alias: "visibleToasts", required: false }] }], closeButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeButton", required: false }] }], toastOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "toastOptions", required: false }] }], offset: [{ type: i0.Input, args: [{ isSignal: true, alias: "offset", required: false }] }], userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], userStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "style", required: false }] }] } });
118
+
119
+ const HlmToasterImports = [HlmToaster];
120
+
121
+ /**
122
+ * Generated bundle index. Do not edit.
123
+ */
124
+
125
+ export { HlmToaster, HlmToasterImports };
126
+ //# sourceMappingURL=yukit-web-helm-sonner.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yukit-web-helm-sonner.mjs","sources":["../../../projects/yukit-web/helm/sonner/src/lib/hlm-toaster.ts","../../../projects/yukit-web/helm/sonner/src/index.ts","../../../projects/yukit-web/helm/sonner/src/yukit-web-helm-sonner.ts"],"sourcesContent":["import type { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, Component, booleanAttribute, computed, input, numberAttribute } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideCircleCheck, lucideInfo, lucideLoader2, lucideOctagonX, lucideTriangleAlert } from '@ng-icons/lucide';\nimport { BrnSonnerImports, type ToasterProps } from '@spartan-ng/brain/sonner';\nimport { hlm } from 'yukit-web/helm/utils';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n\tselector: 'hlm-toaster',\n\timports: [BrnSonnerImports, NgIcon],\n\tproviders: [provideIcons({ lucideCircleCheck, lucideInfo, lucideTriangleAlert, lucideOctagonX, lucideLoader2 })],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\ttemplate: `\n\t\t<brn-sonner-toaster\n\t\t\t[class]=\"_computedClass()\"\n\t\t\t[invert]=\"invert()\"\n\t\t\t[theme]=\"theme()\"\n\t\t\t[position]=\"position()\"\n\t\t\t[hotKey]=\"hotKey()\"\n\t\t\t[richColors]=\"richColors()\"\n\t\t\t[expand]=\"expand()\"\n\t\t\t[duration]=\"duration()\"\n\t\t\t[visibleToasts]=\"visibleToasts()\"\n\t\t\t[closeButton]=\"closeButton()\"\n\t\t\t[toastOptions]=\"_computedToastOptions()\"\n\t\t\t[offset]=\"offset()\"\n\t\t\t[style]=\"userStyle()\"\n\t\t>\n\t\t\t<ng-template #loadingIcon>\n\t\t\t\t<ng-icon name=\"lucideLoader2\" class=\"overflow-visible! text-base [&>svg]:motion-safe:animate-spin\" />\n\t\t\t</ng-template>\n\t\t\t<ng-template #successIcon>\n\t\t\t\t<ng-icon name=\"lucideCircleCheck\" class=\"overflow-visible! text-base\" />\n\t\t\t</ng-template>\n\t\t\t<ng-template #errorIcon>\n\t\t\t\t<ng-icon name=\"lucideOctagonX\" class=\"overflow-visible! text-base\" />\n\t\t\t</ng-template>\n\t\t\t<ng-template #infoIcon>\n\t\t\t\t<ng-icon name=\"lucideInfo\" class=\"overflow-visible! text-base\" />\n\t\t\t</ng-template>\n\t\t\t<ng-template #warningIcon>\n\t\t\t\t<ng-icon name=\"lucideTriangleAlert\" class=\"overflow-visible! text-base\" />\n\t\t\t</ng-template>\n\t\t</brn-sonner-toaster>\n\t`,\n})\nexport class HlmToaster {\n\tpublic readonly invert = input<ToasterProps['invert'], BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\tpublic readonly theme = input<ToasterProps['theme']>('light');\n\tpublic readonly position = input<ToasterProps['position']>('bottom-right');\n\tpublic readonly hotKey = input<ToasterProps['hotkey']>(['altKey', 'KeyT']);\n\tpublic readonly richColors = input<ToasterProps['richColors'], BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\tpublic readonly expand = input<ToasterProps['expand'], BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\tpublic readonly duration = input<ToasterProps['duration'], NumberInput>(4000, {\n\t\ttransform: numberAttribute,\n\t});\n\tpublic readonly visibleToasts = input<ToasterProps['visibleToasts'], NumberInput>(3, {\n\t\ttransform: numberAttribute,\n\t});\n\tpublic readonly closeButton = input<ToasterProps['closeButton'], BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\tpublic readonly toastOptions = input<ToasterProps['toastOptions']>({});\n\n\tprotected readonly _computedToastOptions = computed(() => {\n\t\tconst options = this.toastOptions();\n\t\treturn {\n\t\t\t...options,\n\t\t\tclasses: {\n\t\t\t\t...options?.classes,\n\t\t\t\ttoast: hlm('rounded-2xl!', options?.classes?.toast),\n\t\t\t},\n\t\t};\n\t});\n\tpublic readonly offset = input<ToasterProps['offset']>(null);\n\tpublic readonly userClass = input<ClassValue>('', { alias: 'class' });\n\tpublic readonly userStyle = input<Record<string, string>>(\n\t\t{\n\t\t\t'--normal-bg': 'var(--popover)',\n\t\t\t'--normal-text': 'var(--popover-foreground)',\n\t\t\t'--normal-border': 'var(--border)',\n\t\t\t'--border-radius': 'var(--radius)',\n\t\t},\n\t\t{ alias: 'style' },\n\t);\n\n\tprotected readonly _computedClass = computed(() => hlm('toaster group', this.userClass()));\n}\n","import { HlmToaster } from './lib/hlm-toaster';\n\nexport * from './lib/hlm-toaster';\n\nexport const HlmToasterImports = [HlmToaster] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import { NgIcon, provideIcons } from '@ng-icons/core';
4
+ import { lucideLoader2 } from '@ng-icons/lucide';
5
+ import { classes } from 'yukit-web/helm/utils';
6
+
7
+ class HlmSpinner {
8
+ constructor() {
9
+ /**
10
+ * The name of the icon to be used as the spinner.
11
+ * Use provideIcons({ ... }) to register custom icons.
12
+ */
13
+ this.icon = input('lucideLoader2', ...(ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []));
14
+ /** Aria label for the spinner for accessibility. */
15
+ this.ariaLabel = input('Loading', { ...(ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {}), alias: 'aria-label' });
16
+ classes(() => 'inline-flex text-[length:--spacing(4)] motion-safe:animate-spin');
17
+ }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmSpinner, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.8", type: HlmSpinner, isStandalone: true, selector: "hlm-spinner", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "spinner", "role": "status" }, properties: { "attr.aria-label": "ariaLabel()" } }, providers: [provideIcons({ lucideLoader2 })], ngImport: i0, template: `
20
+ <ng-icon [name]="icon()" />
21
+ `, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmSpinner, decorators: [{
24
+ type: Component,
25
+ args: [{
26
+ selector: 'hlm-spinner',
27
+ imports: [NgIcon],
28
+ providers: [provideIcons({ lucideLoader2 })],
29
+ changeDetection: ChangeDetectionStrategy.OnPush,
30
+ host: {
31
+ 'data-slot': 'spinner',
32
+ role: 'status',
33
+ '[attr.aria-label]': 'ariaLabel()',
34
+ },
35
+ template: `
36
+ <ng-icon [name]="icon()" />
37
+ `,
38
+ }]
39
+ }], ctorParameters: () => [], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }] } });
40
+
41
+ const HlmSpinnerImports = [HlmSpinner];
42
+
43
+ /**
44
+ * Generated bundle index. Do not edit.
45
+ */
46
+
47
+ export { HlmSpinner, HlmSpinnerImports };
48
+ //# sourceMappingURL=yukit-web-helm-spinner.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yukit-web-helm-spinner.mjs","sources":["../../../projects/yukit-web/helm/spinner/src/lib/hlm-spinner.ts","../../../projects/yukit-web/helm/spinner/src/index.ts","../../../projects/yukit-web/helm/spinner/src/yukit-web-helm-spinner.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideLoader2 } from '@ng-icons/lucide';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Component({\n\tselector: 'hlm-spinner',\n\timports: [NgIcon],\n\tproviders: [provideIcons({ lucideLoader2 })],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\t'data-slot': 'spinner',\n\t\trole: 'status',\n\t\t'[attr.aria-label]': 'ariaLabel()',\n\t},\n\ttemplate: `\n\t\t<ng-icon [name]=\"icon()\" />\n\t`,\n})\nexport class HlmSpinner {\n\t/**\n\t * The name of the icon to be used as the spinner.\n\t * Use provideIcons({ ... }) to register custom icons.\n\t */\n\tpublic readonly icon = input<string>('lucideLoader2');\n\n\t/** Aria label for the spinner for accessibility. */\n\tpublic readonly ariaLabel = input<string>('Loading', { alias: 'aria-label' });\n\n\tconstructor() {\n\t\tclasses(() => 'inline-flex text-[length:--spacing(4)] motion-safe:animate-spin');\n\t}\n}\n","import { HlmSpinner } from './lib/hlm-spinner';\n\nexport * from './lib/hlm-spinner';\n\nexport const HlmSpinnerImports = [HlmSpinner] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAmBa,UAAU,CAAA;AAUtB,IAAA,WAAA,GAAA;AATA;;;AAGG;AACa,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAS,eAAe,2EAAC;;QAGrC,IAAA,CAAA,SAAS,GAAG,KAAK,CAAS,SAAS,iFAAI,KAAK,EAAE,YAAY,EAAA,CAAG;AAG5E,QAAA,OAAO,CAAC,MAAM,iEAAiE,CAAC;IACjF;8GAZY,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,EAAA,EAAA,SAAA,EAXX,CAAC,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAOlC;;AAET,CAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAVS,MAAM,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,aAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAYJ,UAAU,EAAA,UAAA,EAAA,CAAA;kBAdtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,aAAa;oBACvB,OAAO,EAAE,CAAC,MAAM,CAAC;oBACjB,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;oBAC5C,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,IAAI,EAAE;AACL,wBAAA,WAAW,EAAE,SAAS;AACtB,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,mBAAmB,EAAE,aAAa;AAClC,qBAAA;AACD,oBAAA,QAAQ,EAAE;;AAET,CAAA,CAAA;AACD,iBAAA;;;ACdM,MAAM,iBAAiB,GAAG,CAAC,UAAU;;ACJ5C;;AAEG;;;;"}