@egose/shadcn-theme-ng-tw 0.0.28 → 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 (244) hide show
  1. package/README.md +130 -13
  2. package/accordion/README.md +376 -34
  3. package/accordion/fesm2022/accordion.mjs +20 -20
  4. package/alert/README.md +343 -34
  5. package/alert/fesm2022/alert.mjs +18 -18
  6. package/alert-dialog/README.md +471 -5
  7. package/alert-dialog/fesm2022/alert-dialog.mjs +48 -48
  8. package/alert-dialog/types/alert-dialog.d.ts +1 -1
  9. package/aspect-ratio/README.md +272 -5
  10. package/aspect-ratio/fesm2022/aspect-ratio.mjs +9 -9
  11. package/autocomplete/README.md +473 -34
  12. package/autocomplete/fesm2022/autocomplete.mjs +54 -54
  13. package/autocomplete/types/autocomplete.d.ts +1 -1
  14. package/avatar/README.md +357 -5
  15. package/avatar/fesm2022/avatar.mjs +32 -32
  16. package/badge/README.md +289 -34
  17. package/badge/fesm2022/badge.mjs +4 -4
  18. package/basic-alert/README.md +324 -34
  19. package/basic-alert/fesm2022/basic-alert.mjs +4 -4
  20. package/basic-alert/types/basic-alert.d.ts +1 -1
  21. package/breadcrumb/README.md +406 -5
  22. package/breadcrumb/fesm2022/breadcrumb.mjs +34 -34
  23. package/button/README.md +453 -34
  24. package/button/fesm2022/button.mjs +96 -118
  25. package/button/types/button.d.ts +7 -10
  26. package/button-group/README.md +318 -5
  27. package/button-group/fesm2022/button-group.mjs +20 -20
  28. package/calendar/README.md +328 -34
  29. package/calendar/fesm2022/calendar.mjs +154 -154
  30. package/card/README.md +331 -5
  31. package/card/fesm2022/card.mjs +33 -33
  32. package/carousel/README.md +333 -5
  33. package/carousel/fesm2022/carousel.mjs +47 -44
  34. package/carousel/types/carousel.d.ts +1 -1
  35. package/checkbox/README.md +291 -34
  36. package/checkbox/fesm2022/checkbox.mjs +22 -20
  37. package/checkbox/types/checkbox.d.ts +5 -4
  38. package/collapsible/README.md +332 -5
  39. package/collapsible/fesm2022/collapsible.mjs +15 -15
  40. package/combobox/README.md +507 -5
  41. package/combobox/fesm2022/combobox.mjs +95 -92
  42. package/combobox/types/combobox.d.ts +1 -1
  43. package/command/README.md +435 -5
  44. package/command/fesm2022/command.mjs +56 -56
  45. package/confirmation-dialog/README.md +272 -34
  46. package/confirmation-dialog/fesm2022/confirmation-dialog.mjs +13 -12
  47. package/confirmation-dialog/types/confirmation-dialog.d.ts +9 -5
  48. package/context-menu/README.md +366 -5
  49. package/context-menu/fesm2022/context-menu.mjs +9 -9
  50. package/date-picker/README.md +436 -34
  51. package/date-picker/fesm2022/date-picker.mjs +79 -68
  52. package/date-picker/types/date-picker.d.ts +8 -4
  53. package/dialog/README.md +419 -34
  54. package/dialog/fesm2022/dialog.mjs +48 -48
  55. package/drawer/README.md +395 -5
  56. package/drawer/fesm2022/drawer.mjs +45 -45
  57. package/dropdown-menu/README.md +417 -5
  58. package/dropdown-menu/fesm2022/dropdown-menu.mjs +85 -73
  59. package/dropdown-menu/types/dropdown-menu.d.ts +4 -0
  60. package/empty/README.md +329 -5
  61. package/empty/fesm2022/empty.mjs +31 -31
  62. package/field/README.md +385 -5
  63. package/field/fesm2022/field.mjs +59 -59
  64. package/field/types/field.d.ts +1 -1
  65. package/form-checkbox/README.md +283 -34
  66. package/form-checkbox/fesm2022/form-checkbox.mjs +37 -19
  67. package/form-checkbox/types/form-checkbox.d.ts +7 -1
  68. package/form-date-picker/README.md +293 -34
  69. package/form-date-picker/fesm2022/form-date-picker.mjs +59 -24
  70. package/form-date-picker/types/form-date-picker.d.ts +7 -1
  71. package/form-field/README.md +327 -34
  72. package/form-field/fesm2022/form-field.mjs +30 -16
  73. package/form-field/types/form-field.d.ts +28 -20
  74. package/form-field-simple/README.md +311 -34
  75. package/form-field-simple/fesm2022/form-field-simple.mjs +4 -4
  76. package/form-searchable-multiselect/README.md +332 -34
  77. package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs +41 -21
  78. package/form-searchable-multiselect/types/form-searchable-multiselect.d.ts +8 -2
  79. package/form-select/README.md +321 -34
  80. package/form-select/fesm2022/form-select.mjs +62 -29
  81. package/form-select/types/form-select.d.ts +7 -1
  82. package/form-text-input/README.md +342 -34
  83. package/form-text-input/fesm2022/form-text-input.mjs +43 -55
  84. package/form-text-input/types/form-text-input.d.ts +9 -12
  85. package/form-textarea/README.md +318 -34
  86. package/form-textarea/fesm2022/form-textarea.mjs +42 -23
  87. package/form-textarea/types/form-textarea.d.ts +8 -1
  88. package/hover-card/README.md +256 -5
  89. package/hover-card/fesm2022/hover-card.mjs +19 -19
  90. package/icon/README.md +210 -34
  91. package/icon/fesm2022/icon.mjs +8 -8
  92. package/input/README.md +240 -34
  93. package/input/fesm2022/input.mjs +17 -12
  94. package/input/types/input.d.ts +2 -1
  95. package/input-group/README.md +335 -5
  96. package/input-group/fesm2022/input-group.mjs +37 -37
  97. package/input-group/types/input-group.d.ts +3 -3
  98. package/input-otp/README.md +375 -5
  99. package/input-otp/fesm2022/input-otp.mjs +27 -27
  100. package/item/README.md +385 -5
  101. package/item/fesm2022/item.mjs +54 -54
  102. package/kbd/README.md +291 -5
  103. package/kbd/fesm2022/kbd.mjs +13 -13
  104. package/label/README.md +243 -34
  105. package/label/fesm2022/label.mjs +9 -9
  106. package/label/types/label.d.ts +1 -1
  107. package/layout-simple/README.md +174 -44
  108. package/layout-simple/fesm2022/layout-simple.mjs +917 -398
  109. package/layout-simple/types/layout-simple.d.ts +180 -129
  110. package/menu/README.md +418 -0
  111. package/menu/fesm2022/menu.mjs +461 -0
  112. package/menu/package.json +24 -0
  113. package/menu/types/menu.d.ts +137 -0
  114. package/menubar/README.md +343 -5
  115. package/menubar/fesm2022/menubar.mjs +13 -13
  116. package/native-select/README.md +323 -5
  117. package/native-select/fesm2022/native-select.mjs +19 -19
  118. package/navigation-menu/README.md +369 -5
  119. package/navigation-menu/fesm2022/navigation-menu.mjs +37 -37
  120. package/package.json +183 -154
  121. package/pagination/README.md +388 -5
  122. package/pagination/fesm2022/pagination.mjs +63 -63
  123. package/popover/README.md +302 -34
  124. package/popover/fesm2022/popover.mjs +30 -30
  125. package/progress/README.md +311 -5
  126. package/progress/fesm2022/progress.mjs +13 -13
  127. package/radio-group/README.md +335 -34
  128. package/radio-group/fesm2022/radio-group.mjs +26 -19
  129. package/resizable/README.md +269 -5
  130. package/resizable/fesm2022/resizable.mjs +19 -19
  131. package/scroll-area/README.md +233 -5
  132. package/scroll-area/fesm2022/scroll-area.mjs +9 -9
  133. package/searchable-multiselect/README.md +294 -34
  134. package/searchable-multiselect/fesm2022/searchable-multiselect.mjs +63 -16
  135. package/searchable-multiselect/types/searchable-multiselect.d.ts +8 -2
  136. package/select/README.md +408 -34
  137. package/select/fesm2022/select.mjs +80 -72
  138. package/select/types/select.d.ts +3 -1
  139. package/separator/README.md +193 -34
  140. package/separator/fesm2022/separator.mjs +9 -9
  141. package/separator/types/separator.d.ts +1 -1
  142. package/sheet/README.md +282 -34
  143. package/sheet/fesm2022/sheet.mjs +30 -30
  144. package/sidebar/README.md +457 -5
  145. package/sidebar/fesm2022/sidebar.mjs +136 -134
  146. package/sidebar/types/sidebar.d.ts +3 -3
  147. package/skeleton/README.md +217 -5
  148. package/skeleton/fesm2022/skeleton.mjs +9 -9
  149. package/slider/README.md +273 -5
  150. package/slider/fesm2022/slider.mjs +29 -25
  151. package/sonner/README.md +317 -34
  152. package/sonner/fesm2022/sonner.mjs +9 -9
  153. package/spinner/README.md +255 -34
  154. package/spinner/fesm2022/spinner.mjs +8 -8
  155. package/switch/README.md +281 -34
  156. package/switch/fesm2022/switch.mjs +12 -14
  157. package/table/README.md +423 -5
  158. package/table/fesm2022/table.mjs +41 -41
  159. package/tabs/README.md +382 -34
  160. package/tabs/fesm2022/tabs.mjs +48 -38
  161. package/textarea/README.md +282 -5
  162. package/textarea/fesm2022/textarea.mjs +9 -9
  163. package/toggle/README.md +270 -5
  164. package/toggle/fesm2022/toggle.mjs +14 -14
  165. package/toggle-group/README.md +340 -5
  166. package/toggle-group/fesm2022/toggle-group.mjs +13 -13
  167. package/toggle-group/types/toggle-group.d.ts +13 -7
  168. package/tooltip/README.md +240 -34
  169. package/tooltip/fesm2022/tooltip.mjs +14 -14
  170. package/typography/README.md +271 -5
  171. package/typography/fesm2022/typography.mjs +53 -53
  172. package/typography/types/typography.d.ts +12 -12
  173. package/utils/README.md +274 -34
  174. package/utils/fesm2022/utils.mjs +68 -44
  175. package/accordion/fesm2022/accordion.mjs.map +0 -1
  176. package/alert/fesm2022/alert.mjs.map +0 -1
  177. package/alert-dialog/fesm2022/alert-dialog.mjs.map +0 -1
  178. package/aspect-ratio/fesm2022/aspect-ratio.mjs.map +0 -1
  179. package/autocomplete/fesm2022/autocomplete.mjs.map +0 -1
  180. package/avatar/fesm2022/avatar.mjs.map +0 -1
  181. package/badge/fesm2022/badge.mjs.map +0 -1
  182. package/basic-alert/fesm2022/basic-alert.mjs.map +0 -1
  183. package/breadcrumb/fesm2022/breadcrumb.mjs.map +0 -1
  184. package/button/fesm2022/button.mjs.map +0 -1
  185. package/button-group/fesm2022/button-group.mjs.map +0 -1
  186. package/calendar/fesm2022/calendar.mjs.map +0 -1
  187. package/card/fesm2022/card.mjs.map +0 -1
  188. package/carousel/fesm2022/carousel.mjs.map +0 -1
  189. package/checkbox/fesm2022/checkbox.mjs.map +0 -1
  190. package/collapsible/fesm2022/collapsible.mjs.map +0 -1
  191. package/combobox/fesm2022/combobox.mjs.map +0 -1
  192. package/command/fesm2022/command.mjs.map +0 -1
  193. package/confirmation-dialog/fesm2022/confirmation-dialog.mjs.map +0 -1
  194. package/context-menu/fesm2022/context-menu.mjs.map +0 -1
  195. package/date-picker/fesm2022/date-picker.mjs.map +0 -1
  196. package/dialog/fesm2022/dialog.mjs.map +0 -1
  197. package/drawer/fesm2022/drawer.mjs.map +0 -1
  198. package/dropdown-menu/fesm2022/dropdown-menu.mjs.map +0 -1
  199. package/empty/fesm2022/empty.mjs.map +0 -1
  200. package/field/fesm2022/field.mjs.map +0 -1
  201. package/form-checkbox/fesm2022/form-checkbox.mjs.map +0 -1
  202. package/form-date-picker/fesm2022/form-date-picker.mjs.map +0 -1
  203. package/form-field/fesm2022/form-field.mjs.map +0 -1
  204. package/form-field-simple/fesm2022/form-field-simple.mjs.map +0 -1
  205. package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs.map +0 -1
  206. package/form-select/fesm2022/form-select.mjs.map +0 -1
  207. package/form-text-input/fesm2022/form-text-input.mjs.map +0 -1
  208. package/form-textarea/fesm2022/form-textarea.mjs.map +0 -1
  209. package/hover-card/fesm2022/hover-card.mjs.map +0 -1
  210. package/icon/fesm2022/icon.mjs.map +0 -1
  211. package/input/fesm2022/input.mjs.map +0 -1
  212. package/input-group/fesm2022/input-group.mjs.map +0 -1
  213. package/input-otp/fesm2022/input-otp.mjs.map +0 -1
  214. package/item/fesm2022/item.mjs.map +0 -1
  215. package/kbd/fesm2022/kbd.mjs.map +0 -1
  216. package/label/fesm2022/label.mjs.map +0 -1
  217. package/layout-simple/fesm2022/layout-simple.mjs.map +0 -1
  218. package/menubar/fesm2022/menubar.mjs.map +0 -1
  219. package/native-select/fesm2022/native-select.mjs.map +0 -1
  220. package/navigation-menu/fesm2022/navigation-menu.mjs.map +0 -1
  221. package/pagination/fesm2022/pagination.mjs.map +0 -1
  222. package/popover/fesm2022/popover.mjs.map +0 -1
  223. package/progress/fesm2022/progress.mjs.map +0 -1
  224. package/radio-group/fesm2022/radio-group.mjs.map +0 -1
  225. package/resizable/fesm2022/resizable.mjs.map +0 -1
  226. package/scroll-area/fesm2022/scroll-area.mjs.map +0 -1
  227. package/searchable-multiselect/fesm2022/searchable-multiselect.mjs.map +0 -1
  228. package/select/fesm2022/select.mjs.map +0 -1
  229. package/separator/fesm2022/separator.mjs.map +0 -1
  230. package/sheet/fesm2022/sheet.mjs.map +0 -1
  231. package/sidebar/fesm2022/sidebar.mjs.map +0 -1
  232. package/skeleton/fesm2022/skeleton.mjs.map +0 -1
  233. package/slider/fesm2022/slider.mjs.map +0 -1
  234. package/sonner/fesm2022/sonner.mjs.map +0 -1
  235. package/spinner/fesm2022/spinner.mjs.map +0 -1
  236. package/switch/fesm2022/switch.mjs.map +0 -1
  237. package/table/fesm2022/table.mjs.map +0 -1
  238. package/tabs/fesm2022/tabs.mjs.map +0 -1
  239. package/textarea/fesm2022/textarea.mjs.map +0 -1
  240. package/toggle/fesm2022/toggle.mjs.map +0 -1
  241. package/toggle-group/fesm2022/toggle-group.mjs.map +0 -1
  242. package/tooltip/fesm2022/tooltip.mjs.map +0 -1
  243. package/typography/fesm2022/typography.mjs.map +0 -1
  244. package/utils/fesm2022/utils.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"label.mjs","sources":["../../../projects/label/src/lib/label.ts","../../../projects/label/src/public-api.ts","../../../projects/label/src/label.ts"],"sourcesContent":["import { Directive, computed, input } from '@angular/core';\nimport { BrnLabel } from '@spartan-ng/brain/label';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Directive({\n selector: '[hlmLabel]',\n hostDirectives: [\n {\n directive: BrnLabel,\n inputs: ['id'],\n },\n ],\n host: {\n '[class]': '_computedClass()',\n },\n})\nexport class HlmLabel {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly _computedClass = computed(() =>\n hlm(\n 'tw:flex tw:select-none tw:items-center tw:gap-2 tw:text-sm tw:font-medium tw:leading-none tw:peer-disabled:cursor-not-allowed tw:peer-disabled:opacity-50 tw:has-[[disabled]]:cursor-not-allowed tw:has-[[disabled]]:opacity-50 tw:group-data-[disabled=true]:pointer-events-none tw:group-data-[disabled=true]:opacity-50 tw:peer-data-[disabled]:cursor-not-allowed tw:peer-data-[disabled]:opacity-50',\n this.userClass(),\n ),\n );\n}\n","/*\n * Public API Surface of label\n */\n\nimport { NgModule } from '@angular/core';\nimport { HlmLabel } from './lib/label';\n\nexport * from './lib/label';\n\nexport const HlmLabelImports = [HlmLabel] as const;\n\n@NgModule({\n imports: [...HlmLabelImports],\n exports: [...HlmLabelImports],\n})\nexport class HlmLabelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAiBa,QAAQ,CAAA;IACH,SAAS,GAAG,KAAK,CAAa,EAAE,iFAAI,KAAK,EAAE,OAAO,EAAA,CAAG;AAElD,IAAA,cAAc,GAAG,QAAQ,CAAC,MAC3C,GAAG,CACD,0YAA0Y,EAC1Y,IAAI,CAAC,SAAS,EAAE,CACjB;uFACF;uGARU,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,IAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAZpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,cAAc,EAAE;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,QAAQ;4BACnB,MAAM,EAAE,CAAC,IAAI,CAAC;AACf,yBAAA;AACF,qBAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,kBAAkB;AAC9B,qBAAA;AACF,iBAAA;;;AChBD;;AAEG;AAOI,MAAM,eAAe,GAAG,CAAC,QAAQ;MAM3B,cAAc,CAAA;uGAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAAd,cAAc,EAAA,OAAA,EAAA,CANK,QAAQ,CAAA,EAAA,OAAA,EAAA,CAAR,QAAQ,CAAA,EAAA,CAAA;wGAM3B,cAAc,EAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,GAAG,eAAe,CAAC;AAC7B,oBAAA,OAAO,EAAE,CAAC,GAAG,eAAe,CAAC;AAC9B,iBAAA;;;ACdD;;AAEG;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"layout-simple.mjs","sources":["../../../projects/layout-simple/src/lib/user-menu.ts","../../../projects/layout-simple/src/lib/search.ts","../../../projects/layout-simple/src/lib/sidebar.ts","../../../projects/layout-simple/src/lib/mobile-menu-group.ts","../../../projects/layout-simple/src/lib/layout.ts","../../../projects/layout-simple/src/lib/layout.html","../../../projects/layout-simple/src/public-api.ts","../../../projects/layout-simple/src/layout-simple.ts"],"sourcesContent":["import { Component, input, TemplateRef } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { provideIcons } from '@ng-icons/core';\nimport { lucideUser } from '@ng-icons/lucide';\nimport { RouterLink } from '@angular/router';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport { HlmButton } from '@egose/shadcn-theme-ng/button';\nimport {\n HlmDropdownMenu,\n HlmDropdownMenuGroup,\n HlmDropdownMenuItem,\n HlmDropdownMenuLabel,\n HlmDropdownMenuSeparator,\n HlmDropdownMenuTrigger,\n} from '@egose/shadcn-theme-ng/dropdown-menu';\nimport { NgIcon } from '@ng-icons/core';\n\n// Interface for menu items\nexport interface UserMenuItem {\n label: string;\n icon?: any;\n action?: () => void;\n link?: string;\n class?: string;\n}\n\n// Interface for menu sections\nexport interface UserMenuSection {\n label?: string;\n separator?: boolean;\n items?: UserMenuItem[];\n}\n\n@Component({\n selector: 'eg-layout-simple-user-menu',\n imports: [\n CommonModule,\n HlmDropdownMenu,\n HlmDropdownMenuTrigger,\n HlmDropdownMenuItem,\n HlmDropdownMenuLabel,\n HlmDropdownMenuSeparator,\n HlmDropdownMenuGroup,\n HlmButton,\n NgIcon,\n RouterLink,\n ],\n providers: [\n provideIcons({\n lucideUser,\n }),\n ],\n template: `\n <ng-template #iconTemplate>\n <ng-icon [svg]=\"lucideUser\" size=\"1.5rem\" class=\"tw:[&_svg]:w-[inherit]! tw:[&_svg]:h-[inherit]!\" />\n </ng-template>\n\n @let _menuTrigger = menuTrigger();\n\n <div class=\"tw:flex tw:w-full tw:items-center tw:justify-center\">\n @if (_menuTrigger) {\n <button\n type=\"button\"\n [hlmDropdownMenuTrigger]=\"menu\"\n class=\"tw:cursor-pointer tw:bg-transparent tw:border-0 tw:p-0\"\n >\n <ng-container *ngTemplateOutlet=\"_menuTrigger\" />\n </button>\n } @else {\n <button\n hlmButton\n variant=\"primary\"\n size=\"icon\"\n [hlmDropdownMenuTrigger]=\"menu\"\n [icon]=\"iconTemplate\"\n class=\"tw:rounded-full tw:border tw:border-gray-400\"\n ></button>\n }\n\n <ng-template #menu>\n <div hlmDropdownMenu class=\"tw:w-56\">\n @for (section of menus(); track section) {\n @if (section.label) {\n <div hlmDropdownMenuLabel>{{ section.label }}</div>\n }\n @if (section.items?.length) {\n <div hlmDropdownMenuGroup>\n @for (item of section.items; track item) {\n @if (item.link) {\n <a\n hlmDropdownMenuItem\n [routerLink]=\"item.link\"\n [class]=\"hlm('tw:cursor-pointer tw:no-underline', item.class)\"\n >\n @if (item.icon) {\n <ng-icon\n [svg]=\"item.icon\"\n size=\"1rem\"\n [class]=\"\n hlm(\n 'tw:[_svg]:text-[inherit]! tw:[_svg]:bg-[inherit]! tw:cursor-pointer tw:mr-2',\n item.class\n )\n \"\n />\n }\n <span>{{ item.label }}</span>\n </a>\n } @else {\n <button\n hlmDropdownMenuItem\n (click)=\"item.action?.()\"\n [class]=\"hlm('tw:cursor-pointer tw:no-underline', item.class)\"\n >\n @if (item.icon) {\n <ng-icon\n [svg]=\"item.icon\"\n size=\"1rem\"\n [class]=\"\n hlm(\n 'tw:[_svg]:text-[inherit]! tw:[_svg]:bg-[inherit]! tw:cursor-pointer tw:mr-2',\n item.class\n )\n \"\n />\n }\n <span>{{ item.label }}</span>\n </button>\n }\n }\n </div>\n }\n @if (section.separator) {\n <div hlmDropdownMenuSeparator></div>\n }\n }\n </div>\n </ng-template>\n </div>\n `,\n})\nexport class EgLayoutSimpleUserMenu {\n hlm = hlm;\n lucideUser = lucideUser;\n\n menus = input<UserMenuSection[]>([]);\n menuTrigger = input<TemplateRef<any> | undefined>();\n}\n","import { ChangeDetectionStrategy, Component, computed, signal, input, output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { HlmPopover, HlmPopoverContent, HlmPopoverTrigger } from '@egose/shadcn-theme-ng/popover';\nimport { HlmInput } from '@egose/shadcn-theme-ng/input';\nimport { HlmButton } from '@egose/shadcn-theme-ng/button';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideSearch } from '@ng-icons/lucide';\n\nexport interface AutocompleteOption<T = unknown> {\n label: string;\n value: T;\n raw?: T;\n}\n\n@Component({\n selector: 'eg-generic-autocomplete',\n imports: [FormsModule, HlmPopover, HlmPopoverTrigger, HlmPopoverContent, HlmInput, HlmButton, NgIcon],\n providers: [provideIcons({ lucideSearch })],\n template: `\n <hlm-popover>\n <button\n hlmPopoverTrigger\n hlmButton\n variant=\"secondary\"\n appearance=\"outline\"\n type=\"button\"\n class=\"tw:w-64 tw:justify-start tw:gap-2 tw:text-muted-foreground\"\n >\n <ng-icon name=\"lucideSearch\" size=\"14px\" />\n <span class=\"tw:truncate\">{{ placeholderText() }}</span>\n </button>\n\n <hlm-popover-content class=\"tw:w-64 tw:p-2\">\n <input\n hlmInput\n [ngModel]=\"search()\"\n (ngModelChange)=\"search.set($event)\"\n [placeholder]=\"placeholderText()\"\n class=\"tw:mb-2\"\n />\n <div class=\"tw:max-h-60 tw:overflow-auto tw:flex tw:flex-col\">\n @if (filtered().length === 0) {\n <span class=\"tw:text-xs tw:text-muted-foreground tw:px-2 tw:py-2\">{{ emptyText() }}</span>\n } @else {\n @for (opt of filtered(); track opt.label) {\n <button\n type=\"button\"\n (click)=\"select(opt)\"\n class=\"tw:text-left tw:px-2 tw:py-1.5 tw:text-sm tw:rounded-sm tw:hover:bg-secondary tw:cursor-pointer\"\n >\n {{ opt.label }}\n </button>\n }\n }\n </div>\n </hlm-popover-content>\n </hlm-popover>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EgGenericAutocomplete<TItem, TParams extends object = { search: string }> {\n placeholderText = input<string>('Select an option');\n emptyText = input<string>('No options found');\n\n /** Loader function: takes search string, returns options. */\n loaderFn = input<((params: TParams) => Promise<TItem[]>) | undefined>(async () => []);\n transformValueToSearch = input<((value: TItem) => string) | undefined>((value: TItem) => String(value));\n\n public readonly search = signal<string>('');\n public readonly options = signal<TItem[]>([]);\n\n protected readonly filtered = computed<AutocompleteOption<TItem>[]>(() => {\n const opts = this.options();\n const search = this.search().toLowerCase();\n const transform = this.transformValueToSearch() ?? ((value: TItem) => String(value));\n const mapped = opts.map((o) => ({ label: transform(o), value: o, raw: o }));\n if (!search) return mapped;\n return mapped.filter((o) => o.label.toLowerCase().includes(search));\n });\n\n public readonly optionChange = output<TItem>();\n\n constructor() {\n // Trigger initial load\n this.loadOptions();\n }\n\n private async loadOptions() {\n const fn = this.loaderFn();\n if (!fn) {\n this.options.set([]);\n return;\n }\n try {\n const params = { search: this.search() } as TParams;\n const result = await fn(params);\n this.options.set(result ?? []);\n } catch {\n this.options.set([]);\n }\n }\n\n select(opt: AutocompleteOption<TItem>) {\n this.optionChange.emit(opt.value);\n this.search.set('');\n }\n}\n","import { Component, effect, input, viewChild, TemplateRef } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { BrnSheet } from '@spartan-ng/brain/sheet';\nimport { BrnSheetImports } from '@spartan-ng/brain/sheet';\nimport { HlmButtonImports } from '@egose/shadcn-theme-ng/button';\nimport { HlmLabelImports } from '@egose/shadcn-theme-ng/label';\nimport { HlmSheetImports } from '@egose/shadcn-theme-ng/sheet';\n\n@Component({\n selector: 'eg-layout-simple-sidebar',\n standalone: true,\n imports: [CommonModule, RouterModule, BrnSheetImports, HlmSheetImports, HlmButtonImports, HlmLabelImports],\n template: `\n @let _title = title();\n @let _content = content();\n\n <hlm-sheet [side]=\"side() ?? 'left'\">\n <hlm-sheet-content *brnSheetContent=\"let ctx\" class=\"tw:gap-0\">\n @if (_title) {\n <hlm-sheet-header>\n <h3 hlmSheetTitle>{{ _title }}</h3>\n </hlm-sheet-header>\n }\n\n @if (_content) {\n <ng-container *ngTemplateOutlet=\"_content; context: contentContext()\"></ng-container>\n }\n\n <hlm-sheet-footer>\n <button brnSheetClose hlmButton variant=\"secondary\" appearance=\"outline-filled\">Close</button>\n </hlm-sheet-footer>\n </hlm-sheet-content>\n </hlm-sheet>\n `,\n})\nexport class EgLayoutSimpleSidebar {\n public readonly viewchildSheetRef = viewChild(BrnSheet);\n side = input<'top' | 'bottom' | 'left' | 'right' | undefined>('left');\n title = input<string | undefined>('');\n content = input<TemplateRef<any> | undefined>();\n contentContext = input<any>();\n\n constructor() {\n effect(() => {});\n }\n\n openSheet() {\n this.viewchildSheetRef()?.open();\n }\n\n closeSheet() {\n this.viewchildSheetRef()?.close();\n }\n}\n","import { Component, input, output } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport { NgIcon } from '@ng-icons/core';\n\n@Component({\n selector: 'eg-layout-simple-mobile-menu-group',\n imports: [NgIcon, RouterLink],\n providers: [],\n template: `\n @let _label = label();\n @let _items = items();\n\n @if (_items && _items.length > 0) {\n @if (_label) {\n <div class=\"tw:px-3 tw:py-1 tw:text-xs tw:font-semibold tw:text-muted-foreground\">{{ _label }}</div>\n }\n <div class=\"tw:flex tw:flex-col\">\n @for (item of _items; track item.label) {\n @if (item.link) {\n <a\n [routerLink]=\"item.link\"\n [class]=\"\n hlm(\n 'tw:cursor-pointer tw:no-underline tw:px-3 tw:py-2 tw:text-sm tw:hover:bg-secondary tw:rounded-sm tw:flex tw:items-center tw:gap-2'\n )\n \"\n (click)=\"handleClick(item)\"\n >\n @if (item.icon) {\n <ng-icon [svg]=\"item.icon\" size=\"1rem\" [class]=\"hlm('tw:cursor-pointer tw:mr-2')\"> </ng-icon>\n }\n <span>{{ item.label }}</span>\n </a>\n } @else {\n <button\n type=\"button\"\n (click)=\"handleClick(item)\"\n [class]=\"\n hlm(\n 'tw:cursor-pointer tw:no-underline tw:px-3 tw:py-2 tw:text-sm tw:hover:bg-secondary tw:rounded-sm tw:flex tw:items-center tw:gap-2 tw:bg-transparent tw:border-0 tw:text-left tw:w-full'\n )\n \"\n >\n @if (item.icon) {\n <ng-icon [svg]=\"item.icon\" size=\"1rem\" [class]=\"hlm('tw:cursor-pointer tw:mr-2')\"> </ng-icon>\n }\n <span>{{ item.label }}</span>\n </button>\n }\n }\n </div>\n }\n `,\n})\nexport class EgLayoutSimpleMobileMenuGroup {\n hlm = hlm;\n\n label = input<string | undefined>('');\n items = input<\n {\n label: string;\n link?: string;\n icon?: string;\n action?: () => void;\n }[]\n >();\n\n itemClick = output<any>();\n\n handleClick(item: any) {\n item.action?.();\n this.itemClick.emit(item);\n }\n}\n","import { Component, input, output, computed, signal, viewChild, TemplateRef } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { ClassValue } from 'clsx';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideMenu } from '@ng-icons/lucide';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport { HlmButton } from '@egose/shadcn-theme-ng/button';\nimport { EgLayoutSimpleUserMenu, type UserMenuSection } from './user-menu';\nimport { EgGenericAutocomplete } from './search';\nimport { EgLayoutSimpleSidebar } from './sidebar';\nimport { EgLayoutSimpleMobileMenuGroup } from './mobile-menu-group';\n\n// Updated interface for left/right menu items\nexport interface MenuItem {\n label: string;\n icon?: any;\n link?: string; // optional router link\n action?: () => void; // optional click handler\n class?: string; // optional per-item CSS/Tailwind classes\n}\n\nexport interface MenuGroup {\n label?: string;\n items: MenuItem[];\n}\n\nconst commonLinkGroupClasses = 'tw:hidden tw:md:flex tw:space-x-4 tw:items-center';\nconst commonLinkClasses =\n 'tw:text-left tw:text-secondary tw:visited:text-secondary tw:hover:text-primary tw:cursor-pointer tw:no-underline';\n\n@Component({\n selector: 'eg-layout-simple',\n standalone: true,\n imports: [\n RouterLink,\n EgLayoutSimpleUserMenu,\n EgLayoutSimpleSidebar,\n EgLayoutSimpleMobileMenuGroup,\n EgGenericAutocomplete,\n HlmButton,\n NgIcon,\n ],\n providers: [\n provideIcons({\n lucideMenu,\n }),\n ],\n templateUrl: './layout.html',\n})\nexport class EgLayoutSimple<TItem, TParams extends object = { search: string }> {\n hlm = hlm;\n menuIcon = lucideMenu;\n\n sidebarEnabled = input<boolean>(false);\n sidebarTitle = input<string>('Menu');\n sidebarContent = input<TemplateRef<any> | undefined>();\n userMenuTrigger = input<TemplateRef<any> | undefined>();\n\n /** Menu data inputs */\n leftMenus = input<MenuItem[]>([]);\n leftMenuGroups = input<MenuGroup[]>([]);\n rightMenus = input<MenuItem[]>([]);\n topMenus = input<MenuItem[]>([]);\n topSecondaryMenus = input<MenuGroup[]>([]);\n userMenus = input<UserMenuSection[]>([]);\n logo = input<string>('assets/logo.png');\n logoLink = input<string>('/');\n\n logoClass = input<ClassValue>('', { alias: 'logoClass' });\n headerClass = input<ClassValue>('', { alias: 'headerClass' });\n contentClass = input<ClassValue>('', { alias: 'contentClass' });\n contentBottomClass = input<ClassValue>('', { alias: 'contentBottomClass' });\n\n /** Container class inputs */\n leftMenuClass = input<ClassValue>('', { alias: 'leftClass' });\n rightMenuClass = input<ClassValue>('', { alias: 'rightClass' });\n topMenuClass = input<ClassValue>('', { alias: 'topClass' });\n\n /** Link/button base class inputs */\n leftLinkClass = input<ClassValue>('', { alias: 'leftLinkClass' });\n rightLinkClass = input<ClassValue>('', { alias: 'rightLinkClass' });\n topLinkClass = input<ClassValue>('', { alias: 'topLinkClass' });\n\n searchEnabled = input<boolean>(false);\n loading = input<boolean>(false);\n searchPlaceholderText = input<string>('Select an page');\n searchEmptyText = input<string>('No pages found');\n searchOptionTemplate = input<TemplateRef<any>>();\n searchLoaderFn = input<(params: TParams) => Promise<TItem[]>>();\n searchTransformValueToSearch = input<(value: TItem) => string>();\n\n public readonly searchOptionChange = output<TItem>();\n\n protected readonly _logoClass = computed(() => hlm('tw:h-10', this.logoClass()));\n\n protected readonly _headerClass = computed(() =>\n hlm(\n 'tw:px-4 tw:py-2 tw:flex tw:items-center tw:justify-between tw:bg-gray-100 tw:border-b tw:border-gray-300',\n this.headerClass(),\n ),\n );\n\n protected readonly _contentClass = computed(() => hlm('tw:p-4 tw:flex tw:flex-col tw:flex-1', this.contentClass()));\n protected readonly _contentBottomClass = computed(() => hlm('tw:flex-1', this.contentBottomClass()));\n\n /** Computed merged classes for containers */\n protected readonly _computedLeftClass = computed(() => hlm(commonLinkGroupClasses, this.leftMenuClass()));\n protected readonly _computedRightClass = computed(() => hlm(commonLinkGroupClasses, this.rightMenuClass()));\n protected readonly _computedTopClass = computed(() =>\n hlm(\n 'tw:flex tw:flex-wrap tw:items-center tw:gap-x-4 tw:gap-y-1 tw:px-4 tw:py-2 tw:bg-gray-50 tw:border-b tw:border-gray-200',\n this.topMenuClass(),\n ),\n );\n protected readonly _computedTopSecondaryClass = computed(() =>\n hlm(\n 'tw:flex tw:flex-wrap tw:items-center tw:gap-x-4 tw:gap-y-1 tw:px-4 tw:py-1.5 tw:bg-gray-100/60 tw:border-b tw:border-gray-200',\n this.topMenuClass(),\n ),\n );\n\n /** Computed merged classes for link/button elements */\n protected readonly _computedLeftLinkClass = computed(() => hlm(commonLinkClasses, this.leftLinkClass()));\n protected readonly _computedRightLinkClass = computed(() => hlm(commonLinkClasses, this.rightLinkClass()));\n protected readonly _computedTopLinkClass = computed(() =>\n hlm(\n 'tw:text-secondary tw:visited:text-secondary tw:hover:text-primary tw:cursor-pointer tw:no-underline tw:text-sm',\n this.topLinkClass(),\n ),\n );\n\n mobileMenuItemClass = commonLinkClasses;\n\n footerEnabled = input<boolean>(false);\n footerMenus = input<MenuItem[]>([]);\n footerMenuClass = input<ClassValue>('', { alias: 'footerMenuClass' });\n footerLinkClass = input<ClassValue>('', { alias: 'footerLinkClass' });\n footerContent = input<string>('© 2024 My Company');\n footerClass = input<ClassValue>('', { alias: 'footerClass' });\n\n protected readonly _footerClass = computed(() =>\n hlm(\n 'tw:px-4 tw:py-4 tw:bg-gray-100 tw:border-t tw:border-gray-300 tw:text-sm tw:text-gray-600',\n this.footerClass(),\n ),\n );\n\n protected readonly _computedFooterMenuClass = computed(() =>\n hlm('tw:flex tw:flex-wrap tw:justify-center tw:space-x-4', this.footerMenuClass()),\n );\n\n protected readonly _computedFooterLinkClass = computed(() =>\n hlm('tw:text-secondary tw:hover:text-primary tw:cursor-pointer tw:no-underline', this.footerLinkClass()),\n );\n\n /** Mobile menu state */\n mobileMenuOpen = false;\n isMobile = signal(false);\n\n constructor(private breakpointObserver: BreakpointObserver) {\n this.breakpointObserver.observe([Breakpoints.Handset]).subscribe((result) => {\n this.isMobile.set(result.matches);\n });\n }\n\n toggleMobileMenu() {\n this.mobileMenuOpen = !this.mobileMenuOpen;\n }\n\n onSearchOptionChange(value: TItem) {\n this.searchOptionChange.emit(value);\n }\n\n public readonly viewchildSheetRef = viewChild(EgLayoutSimpleSidebar);\n\n openSidebar() {\n this.viewchildSheetRef()?.openSheet();\n }\n\n closeSidebar() {\n this.viewchildSheetRef()?.closeSheet();\n }\n}\n","<ng-template #menuIconTemplate>\n <ng-icon [svg]=\"menuIcon\" size=\"20px\" class=\"tw:[&_svg]:w-[inherit]! tw:[&_svg]:h-[inherit]!\" />\n</ng-template>\n\n<eg-layout-simple-sidebar\n [title]=\"sidebarTitle()\"\n [content]=\"sidebarContent()\"\n [contentContext]=\"{ close: closeSidebar.bind(this) }\"\n/>\n\n<div class=\"tw:flex tw:flex-col tw:min-h-screen\">\n <!-- Header -->\n <header [class]=\"_headerClass()\">\n <div class=\"tw:flex tw:items-center tw:space-x-4\">\n @if (sidebarEnabled()) {\n <button\n hlmButton\n variant=\"secondary\"\n appearance=\"outline\"\n size=\"icon\"\n [icon]=\"menuIconTemplate\"\n iconPosition=\"left\"\n class=\"tw:bg-transparent! tw:border-gray-400! tw:hover:border-gray-500!\"\n (click)=\"openSidebar()\"\n ></button>\n }\n\n <div class=\"logo\">\n <a [routerLink]=\"logoLink()\">\n <img [src]=\"logo()\" alt=\"Logo\" [class]=\"_logoClass()\" />\n </a>\n </div>\n <!-- Left menus (desktop) -->\n <nav [class]=\"_computedLeftClass()\">\n @for (item of leftMenus(); track item.label) { @if (item.link) {\n <a [routerLink]=\"item.link\" [class]=\"hlm(_computedLeftLinkClass(), item.class || '')\"> {{ item.label }} </a>\n } @else {\n <button type=\"button\" (click)=\"item.action?.()\" [class]=\"hlm(_computedLeftLinkClass(), item.class || '')\">\n {{ item.label }}\n </button>\n } } @for (group of leftMenuGroups(); track $index) {\n <div class=\"tw:relative tw:group\">\n <button\n type=\"button\"\n class=\"tw:text-left tw:text-secondary tw:hover:text-primary tw:cursor-pointer tw:no-underline tw:py-1 tw:flex tw:items-center tw:gap-1\"\n >\n {{ group.label ?? 'Menu' }}\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"tw:h-3 tw:w-3\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n >\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 9l-7 7-7-7\" />\n </svg>\n </button>\n <div\n class=\"tw:absolute tw:left-0 tw:top-full tw:mt-1 tw:hidden tw:group-hover:flex tw:flex-col tw:min-w-[12rem] tw:bg-popover tw:text-popover-foreground tw:border tw:border-gray-200 tw:rounded-md tw:shadow-md tw:py-1 tw:z-50\"\n >\n @if (group.label) {\n <div class=\"tw:px-3 tw:py-1 tw:text-xs tw:font-semibold tw:text-muted-foreground\">{{ group.label }}</div>\n } @for (item of group.items; track item.label) { @if (item.link) {\n <a\n [routerLink]=\"item.link\"\n [class]=\"hlm('tw:px-3 tw:py-1.5 tw:text-sm tw:no-underline tw:hover:bg-secondary tw:cursor-pointer', item.class || '')\"\n >\n {{ item.label }}\n </a>\n } @else {\n <button\n type=\"button\"\n (click)=\"item.action?.()\"\n [class]=\"hlm('tw:px-3 tw:py-1.5 tw:text-sm tw:text-left tw:hover:bg-secondary tw:cursor-pointer tw:bg-transparent tw:border-0 tw:w-full', item.class || '')\"\n >\n {{ item.label }}\n </button>\n } }\n </div>\n </div>\n }\n </nav>\n </div>\n\n <!-- Right menus (desktop) -->\n <nav [class]=\"_computedRightClass()\">\n @if (searchEnabled()) {\n <eg-generic-autocomplete\n [loaderFn]=\"searchLoaderFn()\"\n [transformValueToSearch]=\"searchTransformValueToSearch()\"\n [placeholderText]=\"searchPlaceholderText()\"\n [emptyText]=\"searchEmptyText()\"\n (optionChange)=\"onSearchOptionChange($event)\"\n ></eg-generic-autocomplete>\n } @for (item of rightMenus(); track item.label) { @if (item.link) {\n <a [routerLink]=\"item.link\" [class]=\"hlm(_computedRightLinkClass(), item.class || '')\"> {{ item.label }} </a>\n } @else {\n <button type=\"button\" (click)=\"item.action?.()\" [class]=\"hlm(_computedRightLinkClass(), item.class || '')\">\n {{ item.label }}\n </button>\n } } @let uMenus = userMenus(); @if (uMenus && uMenus.length > 0) {\n <eg-layout-simple-user-menu [menus]=\"uMenus\" [menuTrigger]=\"userMenuTrigger()\" />\n }\n </nav>\n\n <!-- Mobile menu button -->\n <button\n (click)=\"toggleMobileMenu()\"\n class=\"tw:md:hidden tw:p-2 tw:text-gray-700 tw:hover:text-primary tw:focus:outline-none tw:cursor-pointer\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"tw:h-6 tw:w-6\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 6h16M4 12h16M4 18h16\" />\n </svg>\n </button>\n </header>\n\n @let _topMenus = leftMenus().concat(rightMenus()); @let _userMenus = userMenus(); @let _leftMenuGroups =\n leftMenuGroups(); @let _topMenuItems = topMenus(); @let _topSecondaryGroups = topSecondaryMenus();\n\n <!-- Top menus (desktop) -->\n @if (_topMenuItems.length > 0) {\n <nav [class]=\"_computedTopClass()\">\n @for (item of _topMenuItems; track item.label) { @if (item.link) {\n <a [routerLink]=\"item.link\" [class]=\"hlm(_computedTopLinkClass(), item.class || '')\"> {{ item.label }} </a>\n } @else {\n <span [class]=\"hlm(_computedTopLinkClass(), item.class || '')\">{{ item.label }}</span>\n } }\n </nav>\n }\n\n <!-- Top secondary menus (desktop) — second row showing items grouped by parent label -->\n @if (_topSecondaryGroups.length > 0) {\n <nav [class]=\"_computedTopSecondaryClass()\">\n @for (group of _topSecondaryGroups; track group.label) {\n <span class=\"tw:flex tw:flex-wrap tw:items-center tw:gap-x-3\">\n @if (group.label) {\n <span class=\"tw:text-xs tw:font-semibold tw:uppercase tw:text-muted-foreground\">{{ group.label }}</span>\n } @for (item of group.items; track item.label) { @if (item.link) {\n <a\n [routerLink]=\"item.link\"\n [class]=\"hlm(_computedTopLinkClass(), 'tw:text-xs tw:hover:underline', item.class || '')\"\n >\n {{ item.label }}\n </a>\n } @else {\n <button\n type=\"button\"\n (click)=\"item.action?.()\"\n [class]=\"hlm(_computedTopLinkClass(), 'tw:text-xs tw:hover:underline', item.class || '')\"\n >\n {{ item.label }}\n </button>\n } }\n </span>\n }\n </nav>\n }\n\n <!-- Mobile menu -->\n @if (isMobile() && mobileMenuOpen) {\n <div class=\"tw:w-full tw:border-none\">\n @if (_topMenuItems.length > 0) {\n <eg-layout-simple-mobile-menu-group [items]=\"_topMenuItems\" (itemClick)=\"toggleMobileMenu()\" />\n }\n\n @for (group of _topSecondaryGroups; track group.label) { @if (group.items && group.items.length > 0) {\n <eg-layout-simple-mobile-menu-group\n [items]=\"group.items\"\n [label]=\"group.label\"\n (itemClick)=\"toggleMobileMenu()\"\n ></eg-layout-simple-mobile-menu-group>\n } }\n\n <eg-layout-simple-mobile-menu-group [items]=\"_topMenus\" (itemClick)=\"toggleMobileMenu()\" />\n\n @for (group of _leftMenuGroups; track $index) { @if (group.items && group.items.length > 0) {\n <eg-layout-simple-mobile-menu-group\n [items]=\"group.items\"\n [label]=\"group.label\"\n (itemClick)=\"toggleMobileMenu()\"\n ></eg-layout-simple-mobile-menu-group>\n } } @if ((_topMenus.length > 0 || _leftMenuGroups.length > 0) && _userMenus.length > 0) {\n <hr class=\"tw:border-gray-300 tw:my-2\" />\n } @for (section of userMenus(); track section.label) {\n <eg-layout-simple-mobile-menu-group\n [items]=\"section.items\"\n [label]=\"section.label\"\n (itemClick)=\"toggleMobileMenu()\"\n ></eg-layout-simple-mobile-menu-group>\n\n @if (section.separator) {\n <hr class=\"tw:border-gray-300 tw:my-2\" />\n } }\n </div>\n }\n\n <!-- Main content -->\n <main [class]=\"_contentClass()\">\n @if (!loading()) {\n <div class=\"tw:flex tw:items-center tw:justify-center tw:h-full\">\n <ng-content />\n </div>\n }\n <div [class]=\"_contentBottomClass()\"></div>\n </main>\n\n @if (footerEnabled()) {\n <footer [class]=\"_footerClass()\">\n <nav [class]=\"_computedFooterMenuClass()\">\n @for (item of footerMenus(); track item.label) { @if (item.link) {\n <a [routerLink]=\"item.link\" [class]=\"hlm(_computedFooterLinkClass(), item.class || '')\"> {{ item.label }} </a>\n } @else {\n <button type=\"button\" (click)=\"item.action?.()\" [class]=\"hlm(_computedFooterLinkClass(), item.class || '')\">\n {{ item.label }}\n </button>\n } }\n </nav>\n\n <div class=\"tw:mt-2 tw:text-center\">{{ footerContent() }}</div>\n </footer>\n }\n</div>\n","/*\n * Public API Surface of layout-simple\n */\n\nexport * from './lib/layout';\nexport * from './lib/user-menu';\nexport * from './lib/search';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"menubar.mjs","sources":["../../../projects/menubar/src/lib/hlm-menubar.ts","../../../projects/menubar/src/lib/hlm-menubar-token.ts","../../../projects/menubar/src/lib/hlm-menubar-trigger.ts","../../../projects/menubar/src/public-api.ts","../../../projects/menubar/src/menubar.ts"],"sourcesContent":["import { CdkMenuBar } from '@angular/cdk/menu';\nimport { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmMenubar],hlm-menubar',\n hostDirectives: [CdkMenuBar],\n host: {\n 'data-slot': 'menubar',\n },\n})\nexport class HlmMenubar {\n constructor() {\n classes(() => 'bg-background h-9 gap-1 rounded-md border p-1 shadow-xs flex items-center');\n }\n}\n","import { InjectionToken, type ValueProvider, inject } from '@angular/core';\nimport { type MenuAlign, type MenuSide } from '@spartan-ng/brain/core';\n\nexport interface HlmMenubarConfig {\n align: MenuAlign;\n side: MenuSide;\n}\n\nconst defaultConfig: HlmMenubarConfig = {\n align: 'start',\n side: 'bottom',\n};\n\nconst HlmMenubarConfigToken = new InjectionToken<HlmMenubarConfig>('HlmMenubarConfig');\n\nexport function provideHlmMenubarConfig(config: Partial<HlmMenubarConfig>): ValueProvider {\n return { provide: HlmMenubarConfigToken, useValue: { ...defaultConfig, ...config } };\n}\n\nexport function injectHlmMenubarConfig(): HlmMenubarConfig {\n return inject(HlmMenubarConfigToken, { optional: true }) ?? defaultConfig;\n}\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { CdkMenuItem, CdkMenuTrigger } from '@angular/cdk/menu';\nimport { booleanAttribute, computed, Directive, effect, forwardRef, inject, input } from '@angular/core';\nimport { createMenuPosition, MENU_SIDE, type MenuAlign, type MenuSide } from '@spartan-ng/brain/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\nimport { injectHlmMenubarConfig } from './hlm-menubar-token';\n\n@Directive({\n selector: 'button[hlmMenubarTrigger]',\n providers: [{ provide: MENU_SIDE, useExisting: forwardRef(() => HlmMenubarTrigger) }],\n hostDirectives: [\n {\n directive: CdkMenuItem,\n inputs: ['cdkMenuItemDisabled: disabled'],\n },\n {\n directive: CdkMenuTrigger,\n inputs: ['cdkMenuTriggerFor: hlmMenubarTrigger', 'cdkMenuTriggerData: hlmMenubarTriggerData'],\n outputs: ['cdkMenuOpened: hlmDropdownMenuOpened', 'cdkMenuClosed: hlmDropdownMenuClosed'],\n },\n ],\n host: {\n 'data-slot': 'menubar-trigger',\n '[disabled]': 'disabled() ',\n '[attr.data-disabled]': 'disabled() ? \"\" : null',\n },\n})\nexport class HlmMenubarTrigger {\n private readonly _cdkTrigger = inject(CdkMenuTrigger, { host: true });\n private readonly _config = injectHlmMenubarConfig();\n\n public readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\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 // CDK sets transform-origin on the menu content (a shared hlm-dropdown-menu) from the resolved\n // position; the content reads it to animate from the anchored corner and to derive its data-side.\n // Cast tolerates @angular/cdk < 21.2 (we still support >=21.0), where the property is absent and\n // the assignment is a harmless no-op.\n (this._cdkTrigger as { transformOriginSelector?: string }).transformOriginSelector = '[data-slot=\"dropdown-menu\"]';\n\n effect(() => {\n this._cdkTrigger.menuPosition = this._menuPosition();\n });\n\n classes(\n () =>\n 'hover:bg-muted aria-expanded:bg-muted rounded-sm px-2 py-1 text-sm font-medium flex items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50',\n );\n }\n}\n","/*\n * Public API Surface of menubar\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { HlmMenubar } from './lib/hlm-menubar';\nimport { HlmMenubarTrigger } from './lib/hlm-menubar-trigger';\n\nexport * from './lib/hlm-menubar';\nexport * from './lib/hlm-menubar-token';\nexport * from './lib/hlm-menubar-trigger';\n\nexport const HlmMenubarImports = [HlmMenubar, HlmMenubarTrigger] as const;\n\n@NgModule({\n imports: [...HlmMenubarImports],\n exports: [...HlmMenubarImports],\n})\nexport class HlmMenubarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"native-select.mjs","sources":["../../../projects/native-select/src/lib/hlm-native-select.ts","../../../projects/native-select/src/lib/hlm-native-select-opt-group.ts","../../../projects/native-select/src/lib/hlm-native-select-option.ts","../../../projects/native-select/src/public-api.ts","../../../projects/native-select/src/native-select.ts"],"sourcesContent":["import type { BooleanInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n forwardRef,\n inject,\n input,\n linkedSignal,\n output,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, type ControlValueAccessor } from '@angular/forms';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronDown } from '@ng-icons/lucide';\nimport { BrnFieldControl, provideBrnLabelable } from '@spartan-ng/brain/field';\nimport { type ChangeFn, type TouchFn } from '@spartan-ng/brain/forms';\nimport { classes, hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\nexport const HLM_NATIVE_SELECT_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => HlmNativeSelect),\n multi: true,\n};\n\n@Component({\n selector: 'hlm-native-select',\n imports: [NgIcon],\n providers: [\n HLM_NATIVE_SELECT_VALUE_ACCESSOR,\n provideIcons({ lucideChevronDown }),\n provideBrnLabelable(HlmNativeSelect),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [BrnFieldControl],\n host: {\n 'data-slot': 'native-select-wrapper',\n '[attr.data-size]': 'size()',\n },\n template: `\n <select\n data-slot=\"native-select\"\n [id]=\"selectId()\"\n [class]=\"_computedSelectClass()\"\n [attr.data-size]=\"size()\"\n [attr.aria-invalid]=\"_ariaInvalid() ? 'true' : null\"\n [attr.data-invalid]=\"_ariaInvalid() ? 'true' : null\"\n [attr.data-dirty]=\"_dirty?.() ? 'true' : null\"\n [attr.data-touched]=\"_touched?.() ? 'true' : null\"\n [attr.data-matches-spartan-invalid]=\"_spartanInvalid() ? 'true' : null\"\n [value]=\"value()\"\n [disabled]=\"_disabled()\"\n (change)=\"_valueChanged($event)\"\n (blur)=\"_blur()\"\n >\n <ng-content />\n </select>\n\n <ng-icon\n name=\"lucideChevronDown\"\n [class]=\"_computedSelectIconClass()\"\n aria-hidden=\"true\"\n data-slot=\"native-select-icon\"\n />\n `,\n})\nexport class HlmNativeSelect implements ControlValueAccessor {\n private readonly _fieldControl = inject(BrnFieldControl, { optional: true });\n\n private static _id = 0;\n\n public readonly selectId = input<string>(`hlm-native-select-${HlmNativeSelect._id++}`);\n\n public readonly selectClass = input<ClassValue>('');\n\n protected readonly _computedSelectClass = computed(() =>\n hlm(\n 'border-input placeholder:text-muted-foreground selection:bg-primary selection:text-primary-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 h-9 w-full min-w-0 appearance-none rounded-md border bg-transparent py-1 ps-2.5 pe-8 text-sm shadow-xs transition-[color,box-shadow] select-none focus-visible:ring-3 data-[matches-spartan-invalid=true]:ring-3 data-[size=sm]:h-8 outline-none disabled:pointer-events-none disabled:cursor-not-allowed',\n this.selectClass(),\n ),\n );\n\n public readonly selectIconClass = input<ClassValue>('');\n\n protected readonly _computedSelectIconClass = computed(() =>\n hlm(\n 'text-muted-foreground end-2.5 top-1/2 -translate-y-1/2 text-[length:--spacing(4)] pointer-events-none absolute select-none',\n this.selectIconClass(),\n ),\n );\n\n public readonly size = input<'sm' | 'default'>('default');\n\n public readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n protected readonly _disabled = linkedSignal(this.disabled);\n\n /** Whether to force the input into an invalid state. */\n public readonly forceInvalid = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /** Manual override for aria-invalid. When not set, auto-detects from the parent autocomplete error state. */\n public readonly ariaInvalidOverride = input<boolean | undefined, BooleanInput>(undefined, {\n transform: (v: BooleanInput) => (v === '' || v === undefined ? undefined : booleanAttribute(v)),\n alias: 'aria-invalid',\n });\n\n protected readonly _ariaInvalid = computed(() => this.ariaInvalidOverride() ?? this._invalid?.());\n\n public readonly valueInput = input<string | undefined | null>('', { alias: 'value' });\n public readonly value = linkedSignal(this.valueInput);\n\n public readonly valueChange = output<string | undefined | null>();\n\n protected _onChange?: ChangeFn<string | undefined | null>;\n protected _onTouched?: TouchFn;\n\n public readonly labelableId = this.selectId;\n\n protected readonly _invalid = this._fieldControl?.invalid;\n protected readonly _touched = this._fieldControl?.touched;\n protected readonly _dirty = this._fieldControl?.dirty;\n protected readonly _spartanInvalid = computed(() => this.forceInvalid() || this._fieldControl?.spartanInvalid());\n\n constructor() {\n classes(() => 'group/native-select relative w-fit has-[select:disabled]:opacity-50');\n }\n\n protected _valueChanged(event: Event): void {\n const value = (event.target as HTMLSelectElement).value;\n this.value.set(value);\n this.valueChange.emit(value);\n this._onChange?.(value);\n this._onTouched?.();\n }\n\n protected _blur(): void {\n this._onTouched?.();\n }\n\n /** CONTROL VALUE ACCESSOR */\n public writeValue(value: string | undefined | null): void {\n this.value.set(value);\n }\n\n public registerOnChange(fn: ChangeFn<string | undefined | null>): void {\n this._onChange = fn;\n }\n\n public registerOnTouched(fn: TouchFn): void {\n this._onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this._disabled.set(isDisabled);\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: 'optgroup[hlmNativeSelectOptGroup]',\n host: { 'data-slot': 'native-select-optgroup' },\n})\nexport class HlmNativeSelectOptGroup {\n constructor() {\n classes(() => 'bg-[Canvas] text-[CanvasText]');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: 'option[hlmNativeSelectOption]',\n host: { 'data-slot': 'native-select-option' },\n})\nexport class HlmNativeSelectOption {\n constructor() {\n classes(() => 'bg-[Canvas] text-[CanvasText]');\n }\n}\n","/*\n * Public API Surface of native-select\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { HlmNativeSelect } from './lib/hlm-native-select';\nimport { HlmNativeSelectOptGroup } from './lib/hlm-native-select-opt-group';\nimport { HlmNativeSelectOption } from './lib/hlm-native-select-option';\n\nexport * from './lib/hlm-native-select';\nexport * from './lib/hlm-native-select-opt-group';\nexport * from './lib/hlm-native-select-option';\n\nexport const HlmNativeSelectImports = [HlmNativeSelect, HlmNativeSelectOption, HlmNativeSelectOptGroup] as const;\n\n@NgModule({\n imports: [...HlmNativeSelectImports],\n exports: [...HlmNativeSelectImports],\n})\nexport class HlmNativeSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"navigation-menu.mjs","sources":["../../../projects/navigation-menu/src/lib/hlm-navigation-menu.ts","../../../projects/navigation-menu/src/lib/hlm-navigation-menu-content.ts","../../../projects/navigation-menu/src/lib/hlm-navigation-menu-item.ts","../../../projects/navigation-menu/src/lib/hlm-navigation-menu-link.ts","../../../projects/navigation-menu/src/lib/hlm-navigation-menu-list.ts","../../../projects/navigation-menu/src/lib/hlm-navigation-menu-portal.ts","../../../projects/navigation-menu/src/lib/hlm-navigation-menu-trigger.ts","../../../projects/navigation-menu/src/public-api.ts","../../../projects/navigation-menu/src/navigation-menu.ts"],"sourcesContent":["import { Directive } from '@angular/core';\nimport { BrnNavigationMenu } from '@spartan-ng/brain/navigation-menu';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: 'nav[hlmNavigationMenu]',\n hostDirectives: [\n {\n directive: BrnNavigationMenu,\n inputs: ['value', 'delayDuration', 'skipDelayDuration', 'orientation', 'openOn'],\n outputs: ['valueChange'],\n },\n ],\n host: {\n 'data-slot': 'navigation-menu',\n },\n})\nexport class HlmNavigationMenu {\n constructor() {\n classes(() => 'group/navigation-menu relative flex max-w-max flex-1 items-center justify-center');\n }\n}\n","import { type NumberInput } from '@angular/cdk/coercion';\nimport { Directive, input, numberAttribute } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmNavigationMenuContent],hlm-navigation-menu-content',\n host: {\n 'data-slot': 'navigation-menu-content',\n '[style.--nav-offset]': 'navOffset()',\n },\n})\nexport class HlmNavigationMenuContent {\n public readonly navOffset = input<number, NumberInput>(1.5, { transform: numberAttribute });\n\n constructor() {\n classes(() => [\n 'data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out top-0 left-0 w-full p-2 pr-2.5 md:w-auto',\n 'data-[orientation=horizontal]:data-[motion=from-end]:slide-in-from-right-52 data-[orientation=horizontal]:data-[motion=from-start]:slide-in-from-left-52 data-[orientation=horizontal]:data-[motion=to-end]:slide-out-to-right-52 data-[orientation=horizontal]:data-[motion=to-start]:slide-out-to-left-52',\n 'data-[orientation=vertical]:data-[motion=from-end]:slide-in-from-bottom-52 data-[orientation=vertical]:data-[motion=from-start]:slide-in-from-top-52 data-[orientation=vertical]:data-[motion=to-end]:slide-out-to-bottom-52 data-[orientation=vertical]:data-[motion=to-start]:slide-out-to-top-52',\n 'data-[orientation=horizontal]:mt-[--spacing(var(--nav-offset))] data-[orientation=vertical]:mx-[--spacing(var(--nav-offset))]',\n 'bg-popover text-popover-foreground ring-foreground/10 rounded-lg shadow ring-1 transition-all ease-[cubic-bezier(0.22,1,0.36,1)] outline-none data-ending-style:scale-90 data-ending-style:opacity-0 data-ending-style:duration-150 data-starting-style:scale-90 data-starting-style:opacity-0 block',\n ]);\n }\n}\n","import { Directive } from '@angular/core';\nimport { BrnNavigationMenuItem } from '@spartan-ng/brain/navigation-menu';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: 'li[hlmNavigationMenuItem]',\n hostDirectives: [{ directive: BrnNavigationMenuItem, inputs: ['id'] }],\n host: {\n 'data-slot': 'navigation-menu-item',\n },\n})\nexport class HlmNavigationMenuItem {\n constructor() {\n classes(() => 'relative has-[:focus]:z-10 data-active:z-10');\n }\n}\n","import { Directive } from '@angular/core';\nimport { BrnNavigationMenuLink } from '@spartan-ng/brain/navigation-menu';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: 'a[hlmNavigationMenuLink]',\n hostDirectives: [{ directive: BrnNavigationMenuLink, inputs: ['active'] }],\n host: {\n 'data-slot': 'navigation-menu-link',\n },\n})\nexport class HlmNavigationMenuLink {\n constructor() {\n classes(\n () =>\n \"data-[active=true]:focus:bg-muted data-[active=true]:hover:bg-muted data-[active=true]:bg-muted/50 focus-visible:ring-ring/50 hover:bg-muted focus:bg-muted flex items-center gap-1.5 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-3 focus-visible:outline-1 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)]\",\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { BrnNavigationMenuList } from '@spartan-ng/brain/navigation-menu';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: 'ul[hlmNavigationMenuList]',\n hostDirectives: [\n {\n directive: BrnNavigationMenuList,\n },\n ],\n host: {\n 'data-slot': 'navigation-menu-list',\n },\n})\nexport class HlmNavigationMenuList {\n constructor() {\n classes(() => [\n 'gap-0 group flex flex-1 list-none items-center justify-center',\n 'data-[orientation=vertical]:flex-col',\n ]);\n }\n}\n","import { Directive } from '@angular/core';\nimport { BrnNavigationMenuContent } from '@spartan-ng/brain/navigation-menu';\n\n@Directive({\n selector: '[hlmNavigationMenuPortal]',\n hostDirectives: [BrnNavigationMenuContent],\n})\nexport class HlmNavigationMenuPortal {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronDown } from '@ng-icons/lucide';\nimport { BrnNavigationMenuTrigger } from '@spartan-ng/brain/navigation-menu';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[hlmNavigationMenuTrigger]',\n imports: [NgIcon],\n providers: [provideIcons({ lucideChevronDown })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [{ directive: BrnNavigationMenuTrigger, inputs: ['align'] }],\n host: { 'data-slot': 'navigation-menu-trigger' },\n template: `\n <ng-content />\n <ng-icon\n name=\"lucideChevronDown\"\n class=\"relative top-px ml-1 size-3 transition duration-300 group-data-open/navigation-menu-trigger:rotate-180 group-data-popup-open/navigation-menu-trigger:rotate-180\"\n />\n `,\n})\nexport class HlmNavigationMenuTrigger {\n constructor() {\n classes(\n () =>\n 'bg-background hover:bg-muted focus:bg-muted data-open:hover:bg-muted data-open:focus:bg-muted data-open:bg-muted/50 focus-visible:ring-ring/50 rounded-md px-4 py-2 text-sm font-medium transition-all focus-visible:ring-3 focus-visible:outline-1 disabled:opacity-50 group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center outline-none disabled:pointer-events-none',\n );\n }\n}\n","/*\n * Public API Surface of navigation-menu\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { HlmNavigationMenu } from './lib/hlm-navigation-menu';\nimport { HlmNavigationMenuContent } from './lib/hlm-navigation-menu-content';\nimport { HlmNavigationMenuItem } from './lib/hlm-navigation-menu-item';\nimport { HlmNavigationMenuLink } from './lib/hlm-navigation-menu-link';\nimport { HlmNavigationMenuList } from './lib/hlm-navigation-menu-list';\nimport { HlmNavigationMenuPortal } from './lib/hlm-navigation-menu-portal';\nimport { HlmNavigationMenuTrigger } from './lib/hlm-navigation-menu-trigger';\n\nexport * from './lib/hlm-navigation-menu';\nexport * from './lib/hlm-navigation-menu-content';\nexport * from './lib/hlm-navigation-menu-item';\nexport * from './lib/hlm-navigation-menu-link';\nexport * from './lib/hlm-navigation-menu-list';\nexport * from './lib/hlm-navigation-menu-portal';\nexport * from './lib/hlm-navigation-menu-trigger';\n\nexport const HlmNavigationMenuImports = [\n HlmNavigationMenu,\n HlmNavigationMenuContent,\n HlmNavigationMenuItem,\n HlmNavigationMenuLink,\n HlmNavigationMenuList,\n HlmNavigationMenuPortal,\n HlmNavigationMenuTrigger,\n] as const;\n\n@NgModule({\n imports: [...HlmNavigationMenuImports],\n exports: [...HlmNavigationMenuImports],\n})\nexport class HlmNavigationMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pagination.mjs","sources":["../../../projects/pagination/src/lib/hlm-pagination.ts","../../../projects/pagination/src/lib/hlm-pagination-content.ts","../../../projects/pagination/src/lib/hlm-pagination-ellipsis.ts","../../../projects/pagination/src/lib/hlm-pagination-item.ts","../../../projects/pagination/src/lib/hlm-pagination-link.ts","../../../projects/pagination/src/lib/hlm-pagination-next.ts","../../../projects/pagination/src/lib/hlm-pagination-previous.ts","../../../projects/pagination/src/lib/hlm-numbered-pagination.ts","../../../projects/pagination/src/lib/hlm-numbered-pagination-query-params.ts","../../../projects/pagination/src/public-api.ts","../../../projects/pagination/src/pagination.ts"],"sourcesContent":["import { Directive, input } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmPagination],hlm-pagination',\n host: {\n 'data-slot': 'pagination',\n role: 'navigation',\n '[attr.aria-label]': 'ariaLabel()',\n },\n})\nexport class HlmPagination {\n /** The aria-label for the pagination component. */\n public readonly ariaLabel = input<string>('pagination', { alias: 'aria-label' });\n\n constructor() {\n classes(() => 'mx-auto flex w-full justify-center');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: 'ul[hlmPaginationContent]',\n host: { 'data-slot': 'pagination-content' },\n})\nexport class HlmPaginationContent {\n constructor() {\n classes(() => 'gap-1 flex items-center');\n }\n}\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideEllipsis } from '@ng-icons/lucide';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Component({\n selector: 'hlm-pagination-ellipsis',\n imports: [NgIcon],\n providers: [provideIcons({ lucideEllipsis })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { 'data-slot': 'pagination-ellipsis' },\n template: `\n <ng-icon name=\"lucideEllipsis\" />\n <span class=\"sr-only\">{{ srOnlyText() }}</span>\n `,\n})\nexport class HlmPaginationEllipsis {\n /** Screen reader only text for the ellipsis */\n public readonly srOnlyText = input<string>('More pages');\n\n constructor() {\n classes(\n () => \"size-9 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)] flex items-center justify-center\",\n );\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'li[hlmPaginationItem]',\n host: { 'data-slot': 'pagination-item' },\n})\nexport class HlmPaginationItem {}\n","import type { BooleanInput } from '@angular/cdk/coercion';\nimport { Directive, booleanAttribute, input } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { buttonVariants, type ButtonVariants } from '@egose/shadcn-theme-ng/button';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmPaginationLink]',\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': 'pagination-link',\n '[attr.data-active]': 'isActive() ? \"true\" : null',\n '[attr.aria-current]': 'isActive() ? \"page\" : null',\n },\n})\nexport class HlmPaginationLink {\n /** Whether the link is active (i.e., the current page). */\n public readonly isActive = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n /** The size of the button. */\n public readonly size = input<ButtonVariants['size']>('icon');\n /** The link to navigate to the page. */\n public readonly link = input<RouterLink['routerLink']>();\n\n constructor() {\n classes(() => [\n 'relative',\n buttonVariants({\n variant: this.isActive() ? 'outline' : 'ghost',\n size: this.size(),\n }),\n this.link() === undefined && 'cursor-pointer',\n ]);\n }\n}\n","import type { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport type { RouterLink } from '@angular/router';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronRight } from '@ng-icons/lucide';\nimport type { ButtonVariants } from '@egose/shadcn-theme-ng/button';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\nimport { HlmPaginationLink } from './hlm-pagination-link';\n\n@Component({\n selector: 'hlm-pagination-next',\n imports: [HlmPaginationLink, NgIcon],\n providers: [provideIcons({ lucideChevronRight })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <a\n hlmPaginationLink\n [class]=\"_computedClass()\"\n [link]=\"link()\"\n [queryParams]=\"queryParams()\"\n [queryParamsHandling]=\"queryParamsHandling()\"\n [size]=\"_size()\"\n [attr.aria-label]=\"ariaLabel()\"\n >\n <span [class]=\"_labelClass()\">{{ text() }}</span>\n <ng-icon name=\"lucideChevronRight\" class=\"rtl:rotate-180\" />\n </a>\n `,\n})\nexport class HlmPaginationNext {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n /** The link to navigate to the next page. */\n public readonly link = input<RouterLink['routerLink']>();\n /** The query parameters to pass to the next page. */\n public readonly queryParams = input<RouterLink['queryParams']>();\n /** How to handle query parameters when navigating to the next page. */\n public readonly queryParamsHandling = input<RouterLink['queryParamsHandling']>();\n\n /** The aria-label for the next page link. */\n public readonly ariaLabel = input<string>('Go to next page', { alias: 'aria-label' });\n /** The text to display for the next page link. */\n public readonly text = input<string>('Next');\n /** Whether the button should only display the icon. */\n public readonly iconOnly = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n protected readonly _labelClass = computed(() => (this.iconOnly() ? 'sr-only' : 'hidden sm:block'));\n\n protected readonly _size = computed<ButtonVariants['size']>(() => (this.iconOnly() ? 'icon' : 'default'));\n\n protected readonly _computedClass = computed(() => hlm(!this.iconOnly() && 'pe-2!', this.userClass()));\n}\n","import type { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport type { RouterLink } from '@angular/router';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronLeft } from '@ng-icons/lucide';\nimport type { ButtonVariants } from '@egose/shadcn-theme-ng/button';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\nimport { HlmPaginationLink } from './hlm-pagination-link';\n\n@Component({\n selector: 'hlm-pagination-previous',\n imports: [HlmPaginationLink, NgIcon],\n providers: [provideIcons({ lucideChevronLeft })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <a\n hlmPaginationLink\n [class]=\"_computedClass()\"\n [link]=\"link()\"\n [queryParams]=\"queryParams()\"\n [queryParamsHandling]=\"queryParamsHandling()\"\n [size]=\"_size()\"\n [attr.aria-label]=\"ariaLabel()\"\n >\n <ng-icon name=\"lucideChevronLeft\" class=\"rtl:rotate-180\" />\n <span [class]=\"_labelClass()\">{{ text() }}</span>\n </a>\n `,\n})\nexport class HlmPaginationPrevious {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n /** The link to navigate to the previous page. */\n public readonly link = input<RouterLink['routerLink']>();\n /** The query parameters to pass to the previous page. */\n public readonly queryParams = input<RouterLink['queryParams']>();\n /** How to handle query parameters when navigating to the previous page. */\n public readonly queryParamsHandling = input<RouterLink['queryParamsHandling']>();\n\n /** The aria-label for the previous page link. */\n public readonly ariaLabel = input<string>('Go to previous page', { alias: 'aria-label' });\n /** The text to display for the previous page link. */\n public readonly text = input<string>('Previous');\n /** Whether the button should only display the icon. */\n public readonly iconOnly = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n protected readonly _labelClass = computed(() => hlm(this.iconOnly() ? 'sr-only' : 'hidden sm:block'));\n\n protected readonly _size = computed<ButtonVariants['size']>(() => (this.iconOnly() ? 'icon' : 'default'));\n\n protected readonly _computedClass = computed(() => hlm(!this.iconOnly() && 'ps-2!', this.userClass()));\n}\n","import type { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n Component,\n booleanAttribute,\n computed,\n input,\n model,\n numberAttribute,\n untracked,\n} from '@angular/core';\nimport { HlmSelectImports } from '@egose/shadcn-theme-ng/select';\nimport { HlmPagination } from './hlm-pagination';\nimport { HlmPaginationContent } from './hlm-pagination-content';\nimport { HlmPaginationEllipsis } from './hlm-pagination-ellipsis';\nimport { HlmPaginationItem } from './hlm-pagination-item';\nimport { HlmPaginationLink } from './hlm-pagination-link';\nimport { HlmPaginationNext } from './hlm-pagination-next';\nimport { HlmPaginationPrevious } from './hlm-pagination-previous';\n\n@Component({\n selector: 'hlm-numbered-pagination',\n imports: [\n HlmPagination,\n HlmPaginationContent,\n HlmPaginationItem,\n HlmPaginationPrevious,\n HlmPaginationNext,\n HlmPaginationLink,\n HlmPaginationEllipsis,\n HlmSelectImports,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <div class=\"flex items-center justify-between gap-2 px-4 py-2\">\n <div class=\"flex items-center gap-1 text-sm text-nowrap text-gray-600\">\n <b>{{ totalItems() }}</b>\n total items |\n <b>{{ _lastPageNumber() }}</b>\n pages\n </div>\n\n <nav hlmPagination>\n <ul hlmPaginationContent>\n @if (showEdges() && !_isFirstPageActive()) {\n <li hlmPaginationItem (click)=\"goToPrevious()\">\n <hlm-pagination-previous />\n </li>\n }\n\n @for (page of _pages(); track page) {\n <li hlmPaginationItem>\n @if (page === '...') {\n <hlm-pagination-ellipsis />\n } @else {\n <a hlmPaginationLink [isActive]=\"currentPage() === page\" (click)=\"currentPage.set(page)\">\n {{ page }}\n </a>\n }\n </li>\n }\n\n @if (showEdges() && !_isLastPageActive()) {\n <li hlmPaginationItem (click)=\"goToNext()\">\n <hlm-pagination-next />\n </li>\n }\n </ul>\n </nav>\n\n <!-- Show Page Size selector -->\n <hlm-select [(value)]=\"itemsPerPage\" class=\"ml-auto\">\n <hlm-select-trigger class=\"w-fit\">\n <hlm-select-value />\n </hlm-select-trigger>\n <hlm-select-content *hlmSelectPortal>\n <hlm-select-group>\n @for (pageSize of _pageSizesWithCurrent(); track pageSize) {\n <hlm-select-item [value]=\"pageSize\">{{ pageSize }}</hlm-select-item>\n }\n </hlm-select-group>\n </hlm-select-content>\n </hlm-select>\n </div>\n `,\n})\nexport class HlmNumberedPagination {\n /**\n * The current (active) page.\n */\n public readonly currentPage = model.required<number>();\n\n /**\n * The number of items per paginated page.\n */\n public readonly itemsPerPage = model.required<number>();\n\n /**\n * The total number of items in the collection. Only useful when\n * doing server-side paging, where the collection size is limited\n * to a single page returned by the server API.\n */\n public readonly totalItems = input.required<number, NumberInput>({\n transform: numberAttribute,\n });\n\n /**\n * The number of page links to show.\n */\n public readonly maxSize = input<number, NumberInput>(7, {\n transform: numberAttribute,\n });\n\n /**\n * Show the first and last page buttons.\n */\n public readonly showEdges = input<boolean, BooleanInput>(true, {\n transform: booleanAttribute,\n });\n\n /**\n * The page sizes to show.\n * Defaults to [10, 20, 50, 100]\n */\n public readonly pageSizes = input<number[]>([10, 20, 50, 100]);\n\n protected readonly _pageSizesWithCurrent = computed(() => {\n const pageSizes = this.pageSizes();\n return pageSizes.includes(this.itemsPerPage())\n ? pageSizes // if current page size is included, return the same array\n : [...pageSizes, this.itemsPerPage()].sort((a, b) => a - b); // otherwise, add current page size and sort the array\n });\n\n protected readonly _isFirstPageActive = computed(() => this.currentPage() === 1);\n protected readonly _isLastPageActive = computed(() => this.currentPage() === this._lastPageNumber());\n\n protected readonly _lastPageNumber = computed(() => {\n if (this.totalItems() < 1) {\n // when there are 0 or fewer (an error case) items, there are no \"pages\" as such,\n // but it makes sense to consider a single, empty page as the last page.\n return 1;\n }\n return Math.ceil(this.totalItems() / this.itemsPerPage());\n });\n\n protected readonly _pages = computed(() => {\n const correctedCurrentPage = outOfBoundCorrection(this.totalItems(), this.itemsPerPage(), this.currentPage());\n\n if (correctedCurrentPage !== this.currentPage()) {\n // update the current page\n untracked(() => this.currentPage.set(correctedCurrentPage));\n }\n\n return createPageArray(correctedCurrentPage, this.itemsPerPage(), this.totalItems(), this.maxSize());\n });\n\n protected goToPrevious(): void {\n this.currentPage.set(this.currentPage() - 1);\n }\n\n protected goToNext(): void {\n this.currentPage.set(this.currentPage() + 1);\n }\n\n protected goToFirst(): void {\n this.currentPage.set(1);\n }\n\n protected goToLast(): void {\n this.currentPage.set(this._lastPageNumber());\n }\n}\n\ntype Page = number | '...';\n\n/**\n * Checks that the instance.currentPage property is within bounds for the current page range.\n * If not, return a correct value for currentPage, or the current value if OK.\n *\n * Copied from 'ngx-pagination' package\n */\nexport function outOfBoundCorrection(totalItems: number, itemsPerPage: number, currentPage: number): number {\n const totalPages = Math.ceil(totalItems / itemsPerPage);\n if (totalPages < currentPage && 0 < totalPages) {\n return totalPages;\n }\n\n if (currentPage < 1) {\n return 1;\n }\n\n return currentPage;\n}\n\n/**\n * Returns an array of Page objects to use in the pagination controls.\n *\n * Copied from 'ngx-pagination' package\n */\nexport function createPageArray(\n currentPage: number,\n itemsPerPage: number,\n totalItems: number,\n paginationRange: number,\n): Page[] {\n // paginationRange could be a string if passed from attribute, so cast to number.\n paginationRange = +paginationRange;\n const pages: Page[] = [];\n\n // Return 1 as default page number\n // Make sense to show 1 instead of empty when there are no items\n const totalPages = Math.max(Math.ceil(totalItems / itemsPerPage), 1);\n const halfWay = Math.ceil(paginationRange / 2);\n\n const isStart = currentPage <= halfWay;\n const isEnd = totalPages - halfWay < currentPage;\n const isMiddle = !isStart && !isEnd;\n\n const ellipsesNeeded = paginationRange < totalPages;\n let i = 1;\n\n while (i <= totalPages && i <= paginationRange) {\n let label: number | '...';\n const pageNumber = calculatePageNumber(i, currentPage, paginationRange, totalPages);\n const openingEllipsesNeeded = i === 2 && (isMiddle || isEnd);\n const closingEllipsesNeeded = i === paginationRange - 1 && (isMiddle || isStart);\n if (ellipsesNeeded && (openingEllipsesNeeded || closingEllipsesNeeded)) {\n label = '...';\n } else {\n label = pageNumber;\n }\n pages.push(label);\n i++;\n }\n\n return pages;\n}\n\n/**\n * Given the position in the sequence of pagination links [i],\n * figure out what page number corresponds to that position.\n *\n * Copied from 'ngx-pagination' package\n */\nfunction calculatePageNumber(i: number, currentPage: number, paginationRange: number, totalPages: number) {\n const halfWay = Math.ceil(paginationRange / 2);\n if (i === paginationRange) {\n return totalPages;\n }\n\n if (i === 1) {\n return i;\n }\n\n if (paginationRange < totalPages) {\n if (totalPages - halfWay < currentPage) {\n return totalPages - paginationRange + i;\n }\n if (halfWay < currentPage) {\n return currentPage - halfWay + i;\n }\n return i;\n }\n\n return i;\n}\n","import type { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n model,\n numberAttribute,\n untracked,\n} from '@angular/core';\nimport { HlmSelectImports } from '@egose/shadcn-theme-ng/select';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\nimport { createPageArray, outOfBoundCorrection } from './hlm-numbered-pagination';\nimport { HlmPagination } from './hlm-pagination';\nimport { HlmPaginationContent } from './hlm-pagination-content';\nimport { HlmPaginationEllipsis } from './hlm-pagination-ellipsis';\nimport { HlmPaginationItem } from './hlm-pagination-item';\nimport { HlmPaginationLink } from './hlm-pagination-link';\nimport { HlmPaginationNext } from './hlm-pagination-next';\nimport { HlmPaginationPrevious } from './hlm-pagination-previous';\n\n@Component({\n selector: 'hlm-numbered-pagination-query-params',\n imports: [\n HlmPagination,\n HlmPaginationContent,\n HlmPaginationItem,\n HlmPaginationPrevious,\n HlmPaginationNext,\n HlmPaginationLink,\n HlmPaginationEllipsis,\n HlmSelectImports,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <div class=\"flex items-center gap-1 text-sm text-nowrap text-gray-600\">\n <b>{{ totalItems() }}</b>\n total items |\n <b>{{ _lastPageNumber() }}</b>\n pages\n </div>\n\n <nav hlmPagination>\n <ul hlmPaginationContent>\n @if (showEdges() && !_isFirstPageActive()) {\n <li hlmPaginationItem>\n <hlm-pagination-previous\n [link]=\"link()\"\n [queryParams]=\"{ page: currentPage() - 1 }\"\n queryParamsHandling=\"merge\"\n />\n </li>\n }\n\n @for (page of _pages(); track page) {\n <li hlmPaginationItem>\n @if (page === '...') {\n <hlm-pagination-ellipsis />\n } @else {\n <a\n hlmPaginationLink\n [link]=\"currentPage() !== page ? link() : undefined\"\n [queryParams]=\"{ page }\"\n queryParamsHandling=\"merge\"\n [isActive]=\"currentPage() === page\"\n >\n {{ page }}\n </a>\n }\n </li>\n }\n\n @if (showEdges() && !_isLastPageActive()) {\n <li hlmPaginationItem>\n <hlm-pagination-next\n [link]=\"link()\"\n [queryParams]=\"{ page: currentPage() + 1 }\"\n queryParamsHandling=\"merge\"\n />\n </li>\n }\n </ul>\n </nav>\n\n <!-- Show Page Size selector -->\n <hlm-select [(value)]=\"itemsPerPage\" class=\"ml-auto\">\n <hlm-select-trigger class=\"w-fit\">\n <hlm-select-value />\n </hlm-select-trigger>\n <hlm-select-content *hlmSelectPortal>\n <hlm-select-group>\n @for (pageSize of _pageSizesWithCurrent(); track pageSize) {\n <hlm-select-item [value]=\"pageSize\">{{ pageSize }}</hlm-select-item>\n }\n </hlm-select-group>\n </hlm-select-content>\n </hlm-select>\n `,\n})\nexport class HlmNumberedPaginationQueryParams {\n /**\n * The current (active) page.\n */\n public readonly currentPage = model.required<number>();\n\n /**\n * The number of items per paginated page.\n */\n public readonly itemsPerPage = model.required<number>();\n\n /**\n * The total number of items in the collection. Only useful when\n * doing server-side paging, where the collection size is limited\n * to a single page returned by the server API.\n */\n public readonly totalItems = input.required<number, NumberInput>({\n transform: numberAttribute,\n });\n\n /**\n * The URL path to use for the pagination links.\n * Defaults to '.' (current path).\n */\n public readonly link = input<string>('.');\n\n /**\n * The number of page links to show.\n */\n public readonly maxSize = input<number, NumberInput>(7, {\n transform: numberAttribute,\n });\n\n /**\n * Show the first and last page buttons.\n */\n public readonly showEdges = input<boolean, BooleanInput>(true, {\n transform: booleanAttribute,\n });\n\n /**\n * The page sizes to show.\n * Defaults to [10, 20, 50, 100]\n */\n public readonly pageSizes = input<number[]>([10, 20, 50, 100]);\n\n protected readonly _pageSizesWithCurrent = computed(() => {\n const pageSizes = this.pageSizes();\n return pageSizes.includes(this.itemsPerPage())\n ? pageSizes // if current page size is included, return the same array\n : [...pageSizes, this.itemsPerPage()].sort((a, b) => a - b); // otherwise, add current page size and sort the array\n });\n\n protected readonly _isFirstPageActive = computed(() => this.currentPage() === 1);\n protected readonly _isLastPageActive = computed(() => this.currentPage() === this._lastPageNumber());\n\n protected readonly _lastPageNumber = computed(() => {\n if (this.totalItems() < 1) {\n // when there are 0 or fewer (an error case) items, there are no \"pages\" as such,\n // but it makes sense to consider a single, empty page as the last page.\n return 1;\n }\n return Math.ceil(this.totalItems() / this.itemsPerPage());\n });\n\n protected readonly _pages = computed(() => {\n const correctedCurrentPage = outOfBoundCorrection(this.totalItems(), this.itemsPerPage(), this.currentPage());\n\n if (correctedCurrentPage !== this.currentPage()) {\n // update the current page\n untracked(() => this.currentPage.set(correctedCurrentPage));\n }\n\n return createPageArray(correctedCurrentPage, this.itemsPerPage(), this.totalItems(), this.maxSize());\n });\n\n constructor() {\n classes(() => 'flex items-center justify-between gap-2 px-4 py-2');\n }\n}\n","/*\n * Public API Surface of pagination\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { HlmNumberedPagination } from './lib/hlm-numbered-pagination';\nimport { HlmNumberedPaginationQueryParams } from './lib/hlm-numbered-pagination-query-params';\nimport { HlmPagination } from './lib/hlm-pagination';\nimport { HlmPaginationContent } from './lib/hlm-pagination-content';\nimport { HlmPaginationEllipsis } from './lib/hlm-pagination-ellipsis';\nimport { HlmPaginationItem } from './lib/hlm-pagination-item';\nimport { HlmPaginationLink } from './lib/hlm-pagination-link';\nimport { HlmPaginationNext } from './lib/hlm-pagination-next';\nimport { HlmPaginationPrevious } from './lib/hlm-pagination-previous';\n\nexport * from './lib/hlm-numbered-pagination';\nexport * from './lib/hlm-numbered-pagination-query-params';\nexport * from './lib/hlm-pagination';\nexport * from './lib/hlm-pagination-content';\nexport * from './lib/hlm-pagination-ellipsis';\nexport * from './lib/hlm-pagination-item';\nexport * from './lib/hlm-pagination-link';\nexport * from './lib/hlm-pagination-next';\nexport * from './lib/hlm-pagination-previous';\n\nexport const HlmPaginationImports = [\n HlmPagination,\n HlmPaginationContent,\n HlmPaginationItem,\n HlmPaginationLink,\n HlmPaginationPrevious,\n HlmPaginationNext,\n HlmPaginationEllipsis,\n HlmNumberedPagination,\n HlmNumberedPaginationQueryParams,\n] as const;\n\n@NgModule({\n imports: [...HlmPaginationImports],\n exports: [...HlmPaginationImports],\n})\nexport class HlmPaginationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":";;;;;;;;;;;MAWa,aAAa,CAAA;;IAER,SAAS,GAAG,KAAK,CAAS,YAAY,iFAAI,KAAK,EAAE,YAAY,EAAA,CAAG;AAEhF,IAAA,WAAA,GAAA;AACE,QAAA,OAAO,CAAC,MAAM,oCAAoC,CAAC;IACrD;uGANW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,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,YAAA,EAAA,MAAA,EAAA,YAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBARzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gCAAgC;AAC1C,oBAAA,IAAI,EAAE;AACJ,wBAAA,WAAW,EAAE,YAAY;AACzB,wBAAA,IAAI,EAAE,YAAY;AAClB,wBAAA,mBAAmB,EAAE,aAAa;AACnC,qBAAA;AACF,iBAAA;;;MCHY,oBAAoB,CAAA;AAC/B,IAAA,WAAA,GAAA;AACE,QAAA,OAAO,CAAC,MAAM,yBAAyB,CAAC;IAC1C;uGAHW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,IAAI,EAAE,EAAE,WAAW,EAAE,oBAAoB,EAAE;AAC5C,iBAAA;;;MCUY,qBAAqB,CAAA;;IAEhB,UAAU,GAAG,KAAK,CAAS,YAAY;mFAAC;AAExD,IAAA,WAAA,GAAA;AACE,QAAA,OAAO,CACL,MAAM,sGAAsG,CAC7G;IACH;uGARW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,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,qBAAA,EAAA,EAAA,EAAA,SAAA,EARrB,CAAC,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAGnC;;;AAGT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAPS,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;;2FASL,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAXjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yBAAyB;oBACnC,OAAO,EAAE,CAAC,MAAM,CAAC;oBACjB,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;oBAC7C,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,IAAI,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE;AAC5C,oBAAA,QAAQ,EAAE;;;AAGT,EAAA,CAAA;AACF,iBAAA;;;MCTY,iBAAiB,CAAA;uGAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,IAAI,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE;AACzC,iBAAA;;;MC2BY,iBAAiB,CAAA;;IAEZ,QAAQ,GAAG,KAAK,CAAwB,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;;IAE/E,IAAI,GAAG,KAAK,CAAyB,MAAM;6EAAC;;AAE5C,IAAA,IAAI,GAAG,KAAK;wFAA4B;AAExD,IAAA,WAAA,GAAA;QACE,OAAO,CAAC,MAAM;YACZ,UAAU;AACV,YAAA,cAAc,CAAC;AACb,gBAAA,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,SAAS,GAAG,OAAO;AAC9C,gBAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;aAClB,CAAC;AACF,YAAA,IAAI,CAAC,IAAI,EAAE,KAAK,SAAS,IAAI,gBAAgB;AAC9C,SAAA,CAAC;IACJ;uGAjBW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,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,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,8BAAA,EAAA,mBAAA,EAAA,8BAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBA1B7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,cAAc,EAAE;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,UAAU;AACrB,4BAAA,MAAM,EAAE;gCACN,QAAQ;gCACR,aAAa;gCACb,UAAU;gCACV,qBAAqB;gCACrB,OAAO;gCACP,MAAM;gCACN,YAAY;gCACZ,kBAAkB;gCAClB,oBAAoB;gCACpB,YAAY;gCACZ,kBAAkB;AACnB,6BAAA;AACF,yBAAA;AACF,qBAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,WAAW,EAAE,iBAAiB;AAC9B,wBAAA,oBAAoB,EAAE,4BAA4B;AAClD,wBAAA,qBAAqB,EAAE,4BAA4B;AACpD,qBAAA;AACF,iBAAA;;;MCDY,iBAAiB,CAAA;IACZ,SAAS,GAAG,KAAK,CAAa,EAAE,iFAAI,KAAK,EAAE,OAAO,EAAA,CAAG;;AAErD,IAAA,IAAI,GAAG,KAAK;wFAA4B;;AAExC,IAAA,WAAW,GAAG,KAAK;+FAA6B;;AAEhD,IAAA,mBAAmB,GAAG,KAAK;uGAAqC;;IAGhE,SAAS,GAAG,KAAK,CAAS,iBAAiB,iFAAI,KAAK,EAAE,YAAY,EAAA,CAAG;;IAErE,IAAI,GAAG,KAAK,CAAS,MAAM;6EAAC;;IAE5B,QAAQ,GAAG,KAAK,CAAwB,KAAK,gFAC3D,SAAS,EAAE,gBAAgB,EAAA,CAC3B;AACiB,IAAA,WAAW,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,SAAS,GAAG,iBAAiB,CAAC;oFAAC;AAE/E,IAAA,KAAK,GAAG,QAAQ,CAAyB,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,GAAG,SAAS,CAAC;8EAAC;IAEtF,cAAc,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;uFAAC;uGArB3F,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,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,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,mBAAA,EAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,qBAAA,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,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAjBjB,CAAC,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAEvC;;;;;;;;;;;;;GAaT,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAhBS,iBAAiB,sGAAE,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;;2FAkBxB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBApB7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,OAAO,EAAE,CAAC,iBAAiB,EAAE,MAAM,CAAC;oBACpC,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBACjD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;AAaT,EAAA,CAAA;AACF,iBAAA;;;MCCY,qBAAqB,CAAA;IAChB,SAAS,GAAG,KAAK,CAAa,EAAE,iFAAI,KAAK,EAAE,OAAO,EAAA,CAAG;;AAErD,IAAA,IAAI,GAAG,KAAK;wFAA4B;;AAExC,IAAA,WAAW,GAAG,KAAK;+FAA6B;;AAEhD,IAAA,mBAAmB,GAAG,KAAK;uGAAqC;;IAGhE,SAAS,GAAG,KAAK,CAAS,qBAAqB,iFAAI,KAAK,EAAE,YAAY,EAAA,CAAG;;IAEzE,IAAI,GAAG,KAAK,CAAS,UAAU;6EAAC;;IAEhC,QAAQ,GAAG,KAAK,CAAwB,KAAK,gFAC3D,SAAS,EAAE,gBAAgB,EAAA,CAC3B;IACiB,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,SAAS,GAAG,iBAAiB,CAAC;oFAAC;AAElF,IAAA,KAAK,GAAG,QAAQ,CAAyB,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,GAAG,SAAS,CAAC;8EAAC;IAEtF,cAAc,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;uFAAC;uGArB3F,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,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,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,mBAAA,EAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,qBAAA,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,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAjBrB,CAAC,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAEtC;;;;;;;;;;;;;GAaT,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAhBS,iBAAiB,sGAAE,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;;2FAkBxB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBApBjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,OAAO,EAAE,CAAC,iBAAiB,EAAE,MAAM,CAAC;oBACpC,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;oBAChD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;AAaT,EAAA,CAAA;AACF,iBAAA;;;MCyDY,qBAAqB,CAAA;AAChC;;AAEG;IACa,WAAW,GAAG,KAAK,CAAC,QAAQ;oFAAU;AAEtD;;AAEG;IACa,YAAY,GAAG,KAAK,CAAC,QAAQ;qFAAU;AAEvD;;;;AAIG;IACa,UAAU,GAAG,KAAK,CAAC,QAAQ,iFACzC,SAAS,EAAE,eAAe,EAAA,CAC1B;AAEF;;AAEG;IACa,OAAO,GAAG,KAAK,CAAsB,CAAC,+EACpD,SAAS,EAAE,eAAe,EAAA,CAC1B;AAEF;;AAEG;IACa,SAAS,GAAG,KAAK,CAAwB,IAAI,iFAC3D,SAAS,EAAE,gBAAgB,EAAA,CAC3B;AAEF;;;AAGG;IACa,SAAS,GAAG,KAAK,CAAW,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;kFAAC;AAE3C,IAAA,qBAAqB,GAAG,QAAQ,CAAC,MAAK;AACvD,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;QAClC,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE;cACzC,SAAS;cACT,CAAC,GAAG,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;8FAAC;IAEiB,kBAAkB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC;2FAAC;AAC7D,IAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,eAAe,EAAE;0FAAC;AAEjF,IAAA,eAAe,GAAG,QAAQ,CAAC,MAAK;AACjD,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE;;;AAGzB,YAAA,OAAO,CAAC;QACV;AACA,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IAC3D,CAAC;wFAAC;AAEiB,IAAA,MAAM,GAAG,QAAQ,CAAC,MAAK;AACxC,QAAA,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;AAE7G,QAAA,IAAI,oBAAoB,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE;;AAE/C,YAAA,SAAS,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC7D;AAEA,QAAA,OAAO,eAAe,CAAC,oBAAoB,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IACtG,CAAC;+EAAC;IAEQ,YAAY,GAAA;AACpB,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC9C;IAEU,QAAQ,GAAA;AAChB,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC9C;IAEU,SAAS,GAAA;AACjB,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB;IAEU,QAAQ,GAAA;QAChB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;IAC9C;uGApFW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EArDtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EA7DC,aAAa,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACb,oBAAoB,EAAA,QAAA,EAAA,0BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACpB,iBAAiB,EAAA,QAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,qBAAqB,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,aAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACrB,iBAAiB,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,aAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,iBAAiB,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,qBAAqB,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAyDZ,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAlEjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,OAAO,EAAE;wBACP,aAAa;wBACb,oBAAoB;wBACpB,iBAAiB;wBACjB,qBAAqB;wBACrB,iBAAiB;wBACjB,iBAAiB;wBACjB,qBAAqB;wBACrB,gBAAgB;AACjB,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDT,EAAA,CAAA;AACF,iBAAA;;AA0FD;;;;;AAKG;SACa,oBAAoB,CAAC,UAAkB,EAAE,YAAoB,EAAE,WAAmB,EAAA;IAChG,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;IACvD,IAAI,UAAU,GAAG,WAAW,IAAI,CAAC,GAAG,UAAU,EAAE;AAC9C,QAAA,OAAO,UAAU;IACnB;AAEA,IAAA,IAAI,WAAW,GAAG,CAAC,EAAE;AACnB,QAAA,OAAO,CAAC;IACV;AAEA,IAAA,OAAO,WAAW;AACpB;AAEA;;;;AAIG;AACG,SAAU,eAAe,CAC7B,WAAmB,EACnB,YAAoB,EACpB,UAAkB,EAClB,eAAuB,EAAA;;IAGvB,eAAe,GAAG,CAAC,eAAe;IAClC,MAAM,KAAK,GAAW,EAAE;;;AAIxB,IAAA,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;AAE9C,IAAA,MAAM,OAAO,GAAG,WAAW,IAAI,OAAO;AACtC,IAAA,MAAM,KAAK,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW;AAChD,IAAA,MAAM,QAAQ,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK;AAEnC,IAAA,MAAM,cAAc,GAAG,eAAe,GAAG,UAAU;IACnD,IAAI,CAAC,GAAG,CAAC;IAET,OAAO,CAAC,IAAI,UAAU,IAAI,CAAC,IAAI,eAAe,EAAE;AAC9C,QAAA,IAAI,KAAqB;AACzB,QAAA,MAAM,UAAU,GAAG,mBAAmB,CAAC,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,CAAC;QACnF,MAAM,qBAAqB,GAAG,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC;AAC5D,QAAA,MAAM,qBAAqB,GAAG,CAAC,KAAK,eAAe,GAAG,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC;QAChF,IAAI,cAAc,KAAK,qBAAqB,IAAI,qBAAqB,CAAC,EAAE;YACtE,KAAK,GAAG,KAAK;QACf;aAAO;YACL,KAAK,GAAG,UAAU;QACpB;AACA,QAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;AACjB,QAAA,CAAC,EAAE;IACL;AAEA,IAAA,OAAO,KAAK;AACd;AAEA;;;;;AAKG;AACH,SAAS,mBAAmB,CAAC,CAAS,EAAE,WAAmB,EAAE,eAAuB,EAAE,UAAkB,EAAA;IACtG,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;AAC9C,IAAA,IAAI,CAAC,KAAK,eAAe,EAAE;AACzB,QAAA,OAAO,UAAU;IACnB;AAEA,IAAA,IAAI,CAAC,KAAK,CAAC,EAAE;AACX,QAAA,OAAO,CAAC;IACV;AAEA,IAAA,IAAI,eAAe,GAAG,UAAU,EAAE;AAChC,QAAA,IAAI,UAAU,GAAG,OAAO,GAAG,WAAW,EAAE;AACtC,YAAA,OAAO,UAAU,GAAG,eAAe,GAAG,CAAC;QACzC;AACA,QAAA,IAAI,OAAO,GAAG,WAAW,EAAE;AACzB,YAAA,OAAO,WAAW,GAAG,OAAO,GAAG,CAAC;QAClC;AACA,QAAA,OAAO,CAAC;IACV;AAEA,IAAA,OAAO,CAAC;AACV;;MCrKa,gCAAgC,CAAA;AAC3C;;AAEG;IACa,WAAW,GAAG,KAAK,CAAC,QAAQ;oFAAU;AAEtD;;AAEG;IACa,YAAY,GAAG,KAAK,CAAC,QAAQ;qFAAU;AAEvD;;;;AAIG;IACa,UAAU,GAAG,KAAK,CAAC,QAAQ,iFACzC,SAAS,EAAE,eAAe,EAAA,CAC1B;AAEF;;;AAGG;IACa,IAAI,GAAG,KAAK,CAAS,GAAG;6EAAC;AAEzC;;AAEG;IACa,OAAO,GAAG,KAAK,CAAsB,CAAC,+EACpD,SAAS,EAAE,eAAe,EAAA,CAC1B;AAEF;;AAEG;IACa,SAAS,GAAG,KAAK,CAAwB,IAAI,iFAC3D,SAAS,EAAE,gBAAgB,EAAA,CAC3B;AAEF;;;AAGG;IACa,SAAS,GAAG,KAAK,CAAW,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;kFAAC;AAE3C,IAAA,qBAAqB,GAAG,QAAQ,CAAC,MAAK;AACvD,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;QAClC,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE;cACzC,SAAS;cACT,CAAC,GAAG,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;8FAAC;IAEiB,kBAAkB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC;2FAAC;AAC7D,IAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,eAAe,EAAE;0FAAC;AAEjF,IAAA,eAAe,GAAG,QAAQ,CAAC,MAAK;AACjD,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE;;;AAGzB,YAAA,OAAO,CAAC;QACV;AACA,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IAC3D,CAAC;wFAAC;AAEiB,IAAA,MAAM,GAAG,QAAQ,CAAC,MAAK;AACxC,QAAA,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;AAE7G,QAAA,IAAI,oBAAoB,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE;;AAE/C,YAAA,SAAS,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC7D;AAEA,QAAA,OAAO,eAAe,CAAC,oBAAoB,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IACtG,CAAC;+EAAC;AAEF,IAAA,WAAA,GAAA;AACE,QAAA,OAAO,CAAC,MAAM,mDAAmD,CAAC;IACpE;uGA9EW,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,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,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAjEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+DT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAzEC,aAAa,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACb,oBAAoB,EAAA,QAAA,EAAA,0BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACpB,iBAAiB,EAAA,QAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,qBAAqB,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,aAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACrB,iBAAiB,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,aAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,iBAAiB,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,qBAAqB,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAqEZ,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBA9E5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sCAAsC;AAChD,oBAAA,OAAO,EAAE;wBACP,aAAa;wBACb,oBAAoB;wBACpB,iBAAiB;wBACjB,qBAAqB;wBACrB,iBAAiB;wBACjB,iBAAiB;wBACjB,qBAAqB;wBACrB,gBAAgB;AACjB,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+DT,EAAA,CAAA;AACF,iBAAA;;;ACnGD;;AAEG;AAwBI,MAAM,oBAAoB,GAAG;IAClC,aAAa;IACb,oBAAoB;IACpB,iBAAiB;IACjB,iBAAiB;IACjB,qBAAqB;IACrB,iBAAiB;IACjB,qBAAqB;IACrB,qBAAqB;IACrB,gCAAgC;;MAOrB,mBAAmB,CAAA;uGAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAf9B,aAAa;YACb,oBAAoB;YACpB,iBAAiB;YACjB,iBAAiB;YACjB,qBAAqB;YACrB,iBAAiB;YACjB,qBAAqB;YACrB,qBAAqB;AACrB,YAAA,gCAAgC,aARhC,aAAa;YACb,oBAAoB;YACpB,iBAAiB;YACjB,iBAAiB;YACjB,qBAAqB;YACrB,iBAAiB;YACjB,qBAAqB;YACrB,qBAAqB;YACrB,gCAAgC,CAAA,EAAA,CAAA;AAOrB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAX9B,qBAAqB;YACrB,iBAAiB;YACjB,qBAAqB;YACrB,qBAAqB;YACrB,gCAAgC,CAAA,EAAA,CAAA;;2FAOrB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,GAAG,oBAAoB,CAAC;AAClC,oBAAA,OAAO,EAAE,CAAC,GAAG,oBAAoB,CAAC;AACnC,iBAAA;;;ACzCD;;AAEG;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"popover.mjs","sources":["../../../projects/popover/src/lib/hlm-popover.ts","../../../projects/popover/src/lib/hlm-popover-content.ts","../../../projects/popover/src/lib/hlm-popover-description.ts","../../../projects/popover/src/lib/hlm-popover-header.ts","../../../projects/popover/src/lib/hlm-popover-portal.ts","../../../projects/popover/src/lib/hlm-popover-title.ts","../../../projects/popover/src/lib/hlm-popover-trigger.ts","../../../projects/popover/src/public-api.ts","../../../projects/popover/src/popover.ts"],"sourcesContent":["import { Directive } from '@angular/core';\nimport { BrnPopover } from '@spartan-ng/brain/popover';\n\n@Directive({\n selector: '[hlmPopover],hlm-popover',\n hostDirectives: [\n {\n directive: BrnPopover,\n inputs: ['align', 'attachTo', 'autoFocus', 'closeOnOutsidePointerEvents', 'offsetX', 'sideOffset', 'state'],\n outputs: ['stateChanged', 'closed'],\n },\n ],\n host: { 'data-slot': 'popover' },\n})\nexport class HlmPopover {}\n","import { Directive, ElementRef, Renderer2, effect, inject, signal } from '@angular/core';\nimport { injectExposesStateProvider } from '@spartan-ng/brain/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmPopoverContent],hlm-popover-content',\n host: { 'data-slot': 'popover-content' },\n})\nexport class HlmPopoverContent {\n private readonly _stateProvider = injectExposesStateProvider({ host: true });\n public state = this._stateProvider.state ?? signal('closed');\n private readonly _renderer = inject(Renderer2);\n private readonly _element = inject(ElementRef);\n\n constructor() {\n effect(() => {\n this._renderer.setAttribute(this._element.nativeElement, 'data-state', this.state());\n });\n\n classes(\n () =>\n 'bg-popover 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 gap-4 rounded-md p-4 text-sm shadow-md ring-1 duration-100 relative flex w-72 flex-col outline-none',\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmPopoverDescription]',\n host: { 'data-slot': 'popover-description' },\n})\nexport class HlmPopoverDescription {\n constructor() {\n classes(() => 'text-muted-foreground');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmPopoverHeader],hlm-popover-header',\n host: { 'data-slot': 'popover-header' },\n})\nexport class HlmPopoverHeader {\n constructor() {\n classes(() => 'flex flex-col gap-1 text-sm');\n }\n}\n","import { Directive } from '@angular/core';\nimport { BrnPopoverContent } from '@spartan-ng/brain/popover';\n\n@Directive({\n selector: '[hlmPopoverPortal]',\n hostDirectives: [{ directive: BrnPopoverContent, inputs: ['context', 'class'] }],\n})\nexport class HlmPopoverPortal {}\n","import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmPopoverTitle]',\n host: { 'data-slot': 'popover-title' },\n})\nexport class HlmPopoverTitle {\n constructor() {\n classes(() => 'font-medium');\n }\n}\n","import { Directive } from '@angular/core';\nimport { BrnPopoverTrigger } from '@spartan-ng/brain/popover';\n\n@Directive({\n selector: 'button[hlmPopoverTrigger],button[hlmPopoverTriggerFor]',\n hostDirectives: [\n { directive: BrnPopoverTrigger, inputs: ['id', 'brnPopoverTriggerFor: hlmPopoverTriggerFor', 'type'] },\n ],\n host: { 'data-slot': 'popover-trigger' },\n})\nexport class HlmPopoverTrigger {}\n","/*\n * Public API Surface of popover\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { HlmPopover } from './lib/hlm-popover';\nimport { HlmPopoverContent } from './lib/hlm-popover-content';\nimport { HlmPopoverDescription } from './lib/hlm-popover-description';\nimport { HlmPopoverHeader } from './lib/hlm-popover-header';\nimport { HlmPopoverPortal } from './lib/hlm-popover-portal';\nimport { HlmPopoverTitle } from './lib/hlm-popover-title';\nimport { HlmPopoverTrigger } from './lib/hlm-popover-trigger';\n\nexport * from './lib/hlm-popover';\nexport * from './lib/hlm-popover-content';\nexport * from './lib/hlm-popover-description';\nexport * from './lib/hlm-popover-header';\nexport * from './lib/hlm-popover-portal';\nexport * from './lib/hlm-popover-title';\nexport * from './lib/hlm-popover-trigger';\n\nexport const HlmPopoverImports = [\n HlmPopover,\n HlmPopoverContent,\n HlmPopoverDescription,\n HlmPopoverHeader,\n HlmPopoverPortal,\n HlmPopoverTitle,\n HlmPopoverTrigger,\n] as const;\n\n@NgModule({\n imports: [...HlmPopoverImports],\n exports: [...HlmPopoverImports],\n})\nexport class HlmPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"progress.mjs","sources":["../../../projects/progress/src/lib/hlm-progress.ts","../../../projects/progress/src/lib/hlm-progress-indicator.ts","../../../projects/progress/src/public-api.ts","../../../projects/progress/src/progress.ts"],"sourcesContent":["import { Directive } from '@angular/core';\nimport { BrnProgress } from '@spartan-ng/brain/progress';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: 'hlm-progress,[hlmProgress]',\n hostDirectives: [{ directive: BrnProgress, inputs: ['value', 'max', 'getValueLabel'] }],\n host: { 'data-slot': 'progress' },\n})\nexport class HlmProgress {\n constructor() {\n classes(() => 'bg-muted h-1.5 rounded-full relative inline-flex w-full overflow-hidden');\n }\n}\n","import { Directionality } from '@angular/cdk/bidi';\nimport { Directive, computed, inject } from '@angular/core';\nimport { BrnProgressIndicator, injectBrnProgress } from '@spartan-ng/brain/progress';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmProgressIndicator],hlm-progress-indicator',\n hostDirectives: [BrnProgressIndicator],\n host: {\n 'data-slot': 'progress-indicator',\n '[class.animate-indeterminate]': '_indeterminate()',\n '[style.transform]': '_transform()',\n },\n})\nexport class HlmProgressIndicator {\n private readonly _progress = injectBrnProgress();\n private readonly _dir = inject(Directionality);\n // Offset the indicator by the unfilled remainder. In RTL the bar fills from the inline-start\n // (visually the right), so translate the opposite way to keep the fill on the correct side.\n protected readonly _transform = computed(() => {\n const offset = 100 - (this._progress.value() ?? 100);\n return `translateX(${this._dir.valueSignal() === 'rtl' ? '' : '-'}${offset}%)`;\n });\n protected readonly _indeterminate = computed(\n () => this._progress.value() === null || this._progress.value() === undefined,\n );\n\n constructor() {\n classes(() => 'bg-primary h-full w-full flex-1 transition-all');\n }\n}\n","/*\n * Public API Surface of progress\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { HlmProgress } from './lib/hlm-progress';\nimport { HlmProgressIndicator } from './lib/hlm-progress-indicator';\n\nexport * from './lib/hlm-progress';\nexport * from './lib/hlm-progress-indicator';\n\nexport const HlmProgressImports = [HlmProgress, HlmProgressIndicator] as const;\n\n@NgModule({\n imports: [...HlmProgressImports],\n exports: [...HlmProgressImports],\n})\nexport class HlmProgressModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"radio-group.mjs","sources":["../../../projects/radio-group/src/lib/hlm-radio.ts","../../../projects/radio-group/src/lib/hlm-radio-group.ts","../../../projects/radio-group/src/lib/hlm-radio-indicator.ts","../../../projects/radio-group/src/public-api.ts","../../../projects/radio-group/src/radio-group.ts"],"sourcesContent":["import { type BooleanInput } from '@angular/cdk/coercion';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n DOCUMENT,\n effect,\n ElementRef,\n inject,\n input,\n output,\n PLATFORM_ID,\n Renderer2,\n} from '@angular/core';\nimport { BrnRadio, BrnRadioGroup, type BrnRadioChange } from '@spartan-ng/brain/radio-group';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-radio',\n imports: [BrnRadio],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[attr.aria-describedby]': 'null',\n '[attr.data-disabled]': 'disabled() ? \"\" : null',\n 'data-slot': 'radio-group-item',\n },\n template: `\n <brn-radio\n [id]=\"inputId()\"\n [class]=\"_computedClass()\"\n [value]=\"value()\"\n [required]=\"required()\"\n [disabled]=\"disabled()\"\n [attr.aria-invalid]=\"_ariaInvalid() ? 'true' : null\"\n [attr.data-invalid]=\"_ariaInvalid() ? 'true' : null\"\n [attr.data-dirty]=\"_dirty() ? 'true' : null\"\n [attr.data-touched]=\"_touched() ? 'true' : null\"\n [attr.data-matches-spartan-invalid]=\"_groupSpartanInvalid() ? 'true' : null\"\n [aria-label]=\"ariaLabel()\"\n [aria-labelledby]=\"ariaLabelledby()\"\n [aria-describedby]=\"ariaDescribedby()\"\n (change)=\"change.emit($event)\"\n >\n <ng-content select=\"[target],[indicator],hlm-radio-indicator\" indicator />\n <ng-content />\n </brn-radio>\n `,\n})\nexport class HlmRadio<T = unknown> {\n private readonly _document = inject(DOCUMENT);\n private readonly _renderer = inject(Renderer2);\n private readonly _elementRef = inject(ElementRef);\n private readonly _isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n private readonly _radioGroup = inject(BrnRadioGroup, { optional: true });\n\n protected readonly _ariaInvalid = computed(() => this._radioGroup?.controlState?.()?.invalid);\n\n protected readonly _touched = computed(() => this._radioGroup?.controlState?.()?.touched);\n protected readonly _dirty = computed(() => this._radioGroup?.controlState?.()?.dirty);\n protected readonly _groupSpartanInvalid = computed(() => this._radioGroup?.controlState?.()?.spartanInvalid);\n\n protected readonly _errorStateClass = computed(() => (this._groupSpartanInvalid() ? 'text-destructive' : ''));\n\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm(\n 'group relative flex items-center gap-x-3',\n 'data-[disabled=true]:cursor-not-allowed data-[disabled=true]: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 | undefined>(undefined);\n\n /** Used to set the aria-label attribute on the underlying brn element. */\n public readonly ariaLabel = input<string | undefined>(undefined, { alias: 'aria-label' });\n\n /** Used to set the aria-labelledby attribute on the underlying brn element. */\n public readonly ariaLabelledby = input<string | undefined>(undefined, { alias: 'aria-labelledby' });\n\n /** Used to set the aria-describedby attribute on the underlying brn element. */\n public readonly ariaDescribedby = input<string | undefined>(undefined, { alias: 'aria-describedby' });\n\n /**\n * The value this radio button represents.\n */\n public readonly value = input.required<T>();\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 /**\n * Event emitted when the checked state of this radio button changes.\n */\n // eslint-disable-next-line @angular-eslint/no-output-native\n public readonly change = output<BrnRadioChange<T>>();\n\n constructor() {\n effect(() => {\n const isDisabled = this.disabled();\n\n if (!this._elementRef.nativeElement || !this._isBrowser) return;\n\n const labelElement =\n this._elementRef.nativeElement.closest('label') ??\n this._document.querySelector(`label[for=\"${this.inputId()}\"]`);\n\n if (!labelElement) return;\n this._renderer.setAttribute(labelElement, 'data-disabled', isDisabled ? 'true' : 'false');\n });\n }\n}\n","import { computed, Directive, inject, input } from '@angular/core';\nimport { BrnFieldControlDescribedBy } from '@spartan-ng/brain/field';\nimport { BrnRadioGroup } from '@spartan-ng/brain/radio-group';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Directive({\n selector: '[hlmRadioGroup],hlm-radio-group',\n hostDirectives: [\n {\n directive: BrnRadioGroup,\n inputs: ['name', 'value', 'disabled', 'required'],\n outputs: ['valueChange'],\n },\n BrnFieldControlDescribedBy,\n ],\n host: {\n 'data-slot': 'radio-group',\n '[attr.aria-invalid]': '_ariaInvalid() ? \"true\" : null',\n '[attr.data-invalid]': '_ariaInvalid() ? \"true\" : null',\n '[attr.data-dirty]': '_dirty() ? \"true\" : null',\n '[attr.data-touched]': '_touched() ? \"true\" : null',\n },\n})\nexport class HlmRadioGroup {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n private readonly _brnRadioGroup = inject(BrnRadioGroup);\n protected readonly _ariaInvalid = computed(() => this._brnRadioGroup.controlState?.()?.invalid);\n\n protected readonly _touched = computed(() => this._brnRadioGroup.controlState?.()?.touched);\n protected readonly _dirty = computed(() => this._brnRadioGroup.controlState?.()?.dirty);\n\n protected readonly _errorState = computed(() => this._brnRadioGroup.controlState?.()?.spartanInvalid);\n\n constructor() {\n classes(() => ['grid gap-3', this.userClass(), this._errorState() ? 'data-[invalid=true]:text-destructive' : '']);\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Component({\n selector: 'hlm-radio-indicator',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'data-slot': 'radio-group-indicator',\n },\n template: ` <div class=\"group-data-[checked=true]:bg-primary size-2 rounded-full bg-transparent\"></div> `,\n})\nexport class HlmRadioIndicator {\n constructor() {\n classes(\n () =>\n 'border-input text-primary group-has-[:focus-visible]:border-ring group-has-[:focus-visible]:ring-ring/50 dark:bg-input/30 group-data=[disabled=true]:cursor-not-allowed group-data=[disabled=true]:opacity-50 relative flex aspect-square size-4 shrink-0 items-center justify-center rounded-full border shadow-xs transition-[color,box-shadow] outline-none group-has-[:focus-visible]:ring-[3px]',\n );\n }\n}\n","/*\n * Public API Surface of radio-group\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { HlmRadio } from './lib/hlm-radio';\nimport { HlmRadioGroup } from './lib/hlm-radio-group';\nimport { HlmRadioIndicator } from './lib/hlm-radio-indicator';\n\nexport * from './lib/hlm-radio';\nexport * from './lib/hlm-radio-group';\nexport * from './lib/hlm-radio-indicator';\n\nexport const HlmRadioGroupImports = [HlmRadioGroup, HlmRadio, HlmRadioIndicator] as const;\n\n@NgModule({\n imports: [...HlmRadioGroupImports],\n exports: [...HlmRadioGroupImports],\n})\nexport class HlmRadioGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"resizable.mjs","sources":["../../../projects/resizable/src/lib/hlm-resizable-group.ts","../../../projects/resizable/src/lib/hlm-resizable-handle.ts","../../../projects/resizable/src/lib/hlm-resizable-panel.ts","../../../projects/resizable/src/public-api.ts","../../../projects/resizable/src/resizable.ts"],"sourcesContent":["import { Directive } from '@angular/core';\nimport { BrnResizableGroup } from '@spartan-ng/brain/resizable';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmResizableGroup],hlm-resizable-group',\n hostDirectives: [\n {\n directive: BrnResizableGroup,\n inputs: ['direction', 'layout'],\n outputs: ['dragEnd', 'dragStart', 'layoutChange'],\n },\n ],\n host: {\n 'data-slot': 'resizable-group',\n },\n})\nexport class HlmResizableGroup {\n constructor() {\n classes(() => 'group flex h-full w-full data-[panel-group-direction=vertical]:flex-col');\n }\n}\n","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { BrnResizableHandle } from '@spartan-ng/brain/resizable';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Component({\n selector: 'hlm-resizable-handle',\n exportAs: 'hlmResizableHandle',\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [{ directive: BrnResizableHandle, inputs: ['withHandle', 'disabled'] }],\n host: {\n 'data-slot': 'resizable-handle',\n },\n template: `\n @if (_brnResizableHandle.withHandle()) {\n <div class=\"bg-border h-6 w-1 rounded-lg z-10 flex shrink-0\"></div>\n }\n `,\n})\nexport class HlmResizableHandle {\n protected readonly _brnResizableHandle = inject(BrnResizableHandle);\n\n constructor() {\n classes(() => [\n 'bg-border ring-offset-background focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:outline-hidden data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:translate-x-0 data-[panel-group-direction=vertical]:after:-translate-y-1/2 [&[data-panel-group-direction=vertical]>div]:rotate-90',\n 'data-[panel-group-direction=horizontal]:hover:cursor-ew-resize data-[panel-group-direction=vertical]:hover:cursor-ns-resize',\n ]);\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { BrnResizablePanel } from '@spartan-ng/brain/resizable';\n\n@Directive({\n selector: '[hlmResizablePanel],hlm-resizable-panel',\n exportAs: 'hlmResizablePanel',\n hostDirectives: [\n {\n directive: BrnResizablePanel,\n inputs: ['defaultSize', 'id', 'collapsible', 'maxSize', 'minSize'],\n },\n ],\n host: {\n 'data-slot': 'resizable-panel',\n },\n})\nexport class HlmResizablePanel {\n private readonly _resizablePanel = inject(BrnResizablePanel);\n\n public setSize(size: number) {\n this._resizablePanel.setSize(size);\n }\n}\n","/*\n * Public API Surface of resizable\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { HlmResizableGroup } from './lib/hlm-resizable-group';\nimport { HlmResizableHandle } from './lib/hlm-resizable-handle';\nimport { HlmResizablePanel } from './lib/hlm-resizable-panel';\n\nexport * from './lib/hlm-resizable-group';\nexport * from './lib/hlm-resizable-handle';\nexport * from './lib/hlm-resizable-panel';\n\nexport const HlmResizableImports = [HlmResizableGroup, HlmResizablePanel, HlmResizableHandle] as const;\n\n@NgModule({\n imports: [...HlmResizableImports],\n exports: [...HlmResizableImports],\n})\nexport class HlmResizableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"scroll-area.mjs","sources":["../../../projects/scroll-area/src/lib/hlm-scroll-area.ts","../../../projects/scroll-area/src/public-api.ts","../../../projects/scroll-area/src/scroll-area.ts"],"sourcesContent":["import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\nimport { provideScrollbarOptions } from 'ngx-scrollbar';\n\n@Directive({\n selector: 'ng-scrollbar[hlm],ng-scrollbar[hlmScrollbar]',\n providers: [provideScrollbarOptions({ visibility: 'hover' })],\n host: {\n 'data-slot': 'scroll-area',\n '[style.--scrollbar-thumb-color]': '\"var(--border)\"',\n '[style.--scrollbar-thumb-hover-color]': '\"var(--border)\"',\n '[style.--scrollbar-track-color]': '\"transparent\"',\n '[style.--scrollbar-track-thickness]': '\"0.625rem\"',\n '[style.--scrollbar-track-offset]': '\"1.5px\"',\n },\n})\nexport class HlmScrollArea {\n constructor() {\n classes(() => 'rounded-md [--scrollbar-thumb-shape:9999px] block');\n }\n}\n","/*\n * Public API Surface of scroll-area\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { HlmScrollArea } from './lib/hlm-scroll-area';\n\nexport * from './lib/hlm-scroll-area';\n\nexport const HlmScrollAreaImports = [HlmScrollArea] as const;\n\n@NgModule({\n imports: [...HlmScrollAreaImports],\n exports: [...HlmScrollAreaImports],\n})\nexport class HlmScrollAreaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAgBa,aAAa,CAAA;AACxB,IAAA,WAAA,GAAA;AACE,QAAA,OAAO,CAAC,MAAM,mDAAmD,CAAC;IACpE;uGAHW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,UAAA,EAAA,EAAA,+BAAA,EAAA,mBAAA,EAAA,qCAAA,EAAA,mBAAA,EAAA,+BAAA,EAAA,iBAAA,EAAA,mCAAA,EAAA,cAAA,EAAA,gCAAA,EAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAVb,CAAC,uBAAuB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAUlD,aAAa,EAAA,UAAA,EAAA,CAAA;kBAZzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8CAA8C;oBACxD,SAAS,EAAE,CAAC,uBAAuB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7D,oBAAA,IAAI,EAAE;AACJ,wBAAA,WAAW,EAAE,aAAa;AAC1B,wBAAA,iCAAiC,EAAE,iBAAiB;AACpD,wBAAA,uCAAuC,EAAE,iBAAiB;AAC1D,wBAAA,iCAAiC,EAAE,eAAe;AAClD,wBAAA,qCAAqC,EAAE,YAAY;AACnD,wBAAA,kCAAkC,EAAE,SAAS;AAC9C,qBAAA;AACF,iBAAA;;;ACfD;;AAEG;AAQI,MAAM,oBAAoB,GAAG,CAAC,aAAa;MAMrC,mBAAmB,CAAA;uGAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAAnB,mBAAmB,EAAA,OAAA,EAAA,CANK,aAAa,CAAA,EAAA,OAAA,EAAA,CAAb,aAAa,CAAA,EAAA,CAAA;wGAMrC,mBAAmB,EAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,GAAG,oBAAoB,CAAC;AAClC,oBAAA,OAAO,EAAE,CAAC,GAAG,oBAAoB,CAAC;AACnC,iBAAA;;;ACfD;;AAEG;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"searchable-multiselect.mjs","sources":["../../../projects/searchable-multiselect/src/lib/searchable-multiselect.ts","../../../projects/searchable-multiselect/src/public-api.ts","../../../projects/searchable-multiselect/src/searchable-multiselect.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, forwardRef, input, output, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { HlmPopover, HlmPopoverContent, HlmPopoverTrigger } from '@egose/shadcn-theme-ng/popover';\nimport { HlmButton } from '@egose/shadcn-theme-ng/button';\nimport { HlmCheckbox } from '@egose/shadcn-theme-ng/checkbox';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport { ClassValue } from 'clsx';\n\nexport interface SelectOption {\n label: string;\n value: string;\n}\n\n@Component({\n selector: 'eg-searchable-multiselect',\n standalone: true,\n imports: [HlmPopover, HlmPopoverTrigger, HlmPopoverContent, HlmButton, HlmCheckbox],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EgSearchableMultiselect),\n multi: true,\n },\n ],\n host: {\n '[class]': '_hostClass()',\n },\n template: `\n <div class=\"tw:flex tw:flex-col tw:gap-2 tw:w-full\">\n <!-- Selected chips -->\n <div class=\"tw:flex tw:flex-wrap tw:gap-2\">\n @if (selectedItems().length === 0) {\n <span\n class=\"tw:bg-gray-100 tw:text-gray-400 tw:rounded-full\n tw:px-2 tw:py-1 tw:inline-flex tw:items-center tw:text-xs\"\n >\n {{ placeholder() }}\n </span>\n } @else {\n @for (item of selectedItems(); track item.value) {\n <span\n class=\"tw:bg-gray-200 tw:rounded-full tw:px-2 tw:py-1\n tw:inline-flex tw:items-center tw:gap-2 tw:text-xs\"\n >\n {{ item.label }}\n <button\n type=\"button\"\n (click)=\"removeItem(item.value)\"\n class=\"tw:bg-transparent tw:border-0 tw:text-gray-600\n tw:hover:text-red-500 tw:cursor-pointer\"\n >\n ✕\n </button>\n </span>\n }\n }\n </div>\n\n <!-- Trigger -->\n <hlm-popover>\n <button hlmPopoverTrigger hlmButton variant=\"secondary\" appearance=\"outline\" type=\"button\">\n {{ selectedItems().length }} selected\n </button>\n\n <hlm-popover-content class=\"tw:w-64 tw:p-2\">\n <div class=\"tw:max-h-60 tw:overflow-auto tw:flex tw:flex-col tw:gap-1\">\n @for (option of options(); track option.value) {\n <label\n class=\"tw:flex tw:items-center tw:gap-2 tw:cursor-pointer tw:px-2 tw:py-1 tw:rounded-sm tw:hover:bg-secondary\"\n >\n <hlm-checkbox [checked]=\"isSelected(option.value)\" (changed)=\"toggle(option.value, $event)\" />\n <span class=\"tw:text-sm\">{{ option.label }}</span>\n </label>\n } @empty {\n <span class=\"tw:text-xs tw:text-muted-foreground tw:px-2 tw:py-1\">No options</span>\n }\n </div>\n </hlm-popover-content>\n </hlm-popover>\n </div>\n `,\n})\nexport class EgSearchableMultiselect implements ControlValueAccessor {\n /** Full option list with labels/values */\n options = input<SelectOption[]>([]);\n placeholder = input<string>('Start typing to add…');\n\n userClass = input<ClassValue>('', { alias: 'class' });\n\n /** Value: array of selected values (string[]) */\n value = input<string[]>([]);\n valueChange = output<string[]>();\n\n protected readonly selectedItems = signal<SelectOption[]>([]);\n protected isDisabled = false;\n private isFormBound = false;\n\n protected readonly _hostClass = computed(() => hlm(this.userClass()));\n\n protected isSelected(value: string): boolean {\n return this.selectedItems().some((s) => s.value === value);\n }\n\n protected toggle(value: string, checked: boolean): void {\n if (checked) {\n this.addItem(value);\n } else {\n this.removeItem(value);\n }\n }\n\n protected addItem(value: string): void {\n if (!this.selectedItems().some((s) => s.value === value)) {\n const opt = this.options()?.find((o) => o.value === value);\n if (!opt) return;\n const updated = [...this.selectedItems(), opt];\n this.updateValueFromSelected(updated);\n }\n }\n\n protected removeItem(value: string): void {\n const updated = this.selectedItems().filter((i) => i.value !== value);\n this.updateValueFromSelected(updated);\n }\n\n private updateSelectedFromValues(values: string[]): void {\n const opts = this.options() || [];\n this.selectedItems.set(opts.filter((o) => values.includes(o.value)));\n }\n\n private updateValueFromSelected(items: SelectOption[]): void {\n this.selectedItems.set(items);\n const values = items.map((i) => i.value);\n this.valueChange.emit(values);\n this.onChange(values);\n this.onTouched();\n }\n\n constructor() {\n // No effect needed; we read `value` input directly via writeValue for form-bound usage.\n }\n\n // --- ControlValueAccessor ---\n private onChange: (value: string[]) => void = () => {};\n private onTouched: () => void = () => {};\n\n writeValue(values: string[] | null): void {\n this.isFormBound = true;\n this.updateSelectedFromValues(values || []);\n }\n\n registerOnChange(fn: (value: string[]) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n }\n}\n","/*\n * Public API Surface of searchable-multiselect\n */\n\nexport * from './lib/searchable-multiselect';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;MAmFa,uBAAuB,CAAA;;IAElC,OAAO,GAAG,KAAK,CAAiB,EAAE;gFAAC;IACnC,WAAW,GAAG,KAAK,CAAS,sBAAsB;oFAAC;IAEnD,SAAS,GAAG,KAAK,CAAa,EAAE,iFAAI,KAAK,EAAE,OAAO,EAAA,CAAG;;IAGrD,KAAK,GAAG,KAAK,CAAW,EAAE;8EAAC;IAC3B,WAAW,GAAG,MAAM,EAAY;IAEb,aAAa,GAAG,MAAM,CAAiB,EAAE;sFAAC;IACnD,UAAU,GAAG,KAAK;IACpB,WAAW,GAAG,KAAK;AAER,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;mFAAC;AAE3D,IAAA,UAAU,CAAC,KAAa,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;IAC5D;IAEU,MAAM,CAAC,KAAa,EAAE,OAAgB,EAAA;QAC9C,IAAI,OAAO,EAAE;AACX,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB;aAAO;AACL,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACxB;IACF;AAEU,IAAA,OAAO,CAAC,KAAa,EAAA;QAC7B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE;YACxD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;AAC1D,YAAA,IAAI,CAAC,GAAG;gBAAE;YACV,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,GAAG,CAAC;AAC9C,YAAA,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC;QACvC;IACF;AAEU,IAAA,UAAU,CAAC,KAAa,EAAA;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;AACrE,QAAA,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC;IACvC;AAEQ,IAAA,wBAAwB,CAAC,MAAgB,EAAA;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE;QACjC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE;AAEQ,IAAA,uBAAuB,CAAC,KAAqB,EAAA;AACnD,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;AAC7B,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;AACxC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7B,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE;IAClB;AAEA,IAAA,WAAA,GAAA;;IAEA;;AAGQ,IAAA,QAAQ,GAA8B,MAAK,EAAE,CAAC;AAC9C,IAAA,SAAS,GAAe,MAAK,EAAE,CAAC;AAExC,IAAA,UAAU,CAAC,MAAuB,EAAA;AAChC,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;AACvB,QAAA,IAAI,CAAC,wBAAwB,CAAC,MAAM,IAAI,EAAE,CAAC;IAC7C;AAEA,IAAA,gBAAgB,CAAC,EAA6B,EAAA;AAC5C,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU;IAC9B;uGA/EW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,cAAA,EAAA,EAAA,EAAA,SAAA,EAjEvB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,uBAAuB,CAAC;AACtD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAIS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDT,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAjES,UAAU,qEAAE,iBAAiB,EAAA,QAAA,EAAA,wDAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,QAAA,EAAA,yCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,SAAS,2MAAE,WAAW,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAmEvE,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAtEnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,EAAE,WAAW,CAAC;oBACnF,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,6BAA6B,CAAC;AACtD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,cAAc;AAC1B,qBAAA;AACD,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDT,EAAA,CAAA;AACF,iBAAA;;;AClFD;;AAEG;;ACFH;;AAEG;;;;"}