@ngstarter-ui/components 1.0.21

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 (415) hide show
  1. package/README.md +0 -0
  2. package/fesm2022/ngstarter-ui-components-action-required.mjs +42 -0
  3. package/fesm2022/ngstarter-ui-components-action-required.mjs.map +1 -0
  4. package/fesm2022/ngstarter-ui-components-alert.mjs +132 -0
  5. package/fesm2022/ngstarter-ui-components-alert.mjs.map +1 -0
  6. package/fesm2022/ngstarter-ui-components-announcement.mjs +86 -0
  7. package/fesm2022/ngstarter-ui-components-announcement.mjs.map +1 -0
  8. package/fesm2022/ngstarter-ui-components-autocomplete.mjs +360 -0
  9. package/fesm2022/ngstarter-ui-components-autocomplete.mjs.map +1 -0
  10. package/fesm2022/ngstarter-ui-components-avatar.mjs +235 -0
  11. package/fesm2022/ngstarter-ui-components-avatar.mjs.map +1 -0
  12. package/fesm2022/ngstarter-ui-components-badge.mjs +97 -0
  13. package/fesm2022/ngstarter-ui-components-badge.mjs.map +1 -0
  14. package/fesm2022/ngstarter-ui-components-block-loader.mjs +48 -0
  15. package/fesm2022/ngstarter-ui-components-block-loader.mjs.map +1 -0
  16. package/fesm2022/ngstarter-ui-components-bottom-sheet.mjs +327 -0
  17. package/fesm2022/ngstarter-ui-components-bottom-sheet.mjs.map +1 -0
  18. package/fesm2022/ngstarter-ui-components-breadcrumbs.mjs +209 -0
  19. package/fesm2022/ngstarter-ui-components-breadcrumbs.mjs.map +1 -0
  20. package/fesm2022/ngstarter-ui-components-button-toggle.mjs +175 -0
  21. package/fesm2022/ngstarter-ui-components-button-toggle.mjs.map +1 -0
  22. package/fesm2022/ngstarter-ui-components-button.mjs +70 -0
  23. package/fesm2022/ngstarter-ui-components-button.mjs.map +1 -0
  24. package/fesm2022/ngstarter-ui-components-card-overlay.mjs +49 -0
  25. package/fesm2022/ngstarter-ui-components-card-overlay.mjs.map +1 -0
  26. package/fesm2022/ngstarter-ui-components-card.mjs +199 -0
  27. package/fesm2022/ngstarter-ui-components-card.mjs.map +1 -0
  28. package/fesm2022/ngstarter-ui-components-carousel.mjs +614 -0
  29. package/fesm2022/ngstarter-ui-components-carousel.mjs.map +1 -0
  30. package/fesm2022/ngstarter-ui-components-checkbox.mjs +300 -0
  31. package/fesm2022/ngstarter-ui-components-checkbox.mjs.map +1 -0
  32. package/fesm2022/ngstarter-ui-components-chips.mjs +589 -0
  33. package/fesm2022/ngstarter-ui-components-chips.mjs.map +1 -0
  34. package/fesm2022/ngstarter-ui-components-code-highlighter.mjs +347 -0
  35. package/fesm2022/ngstarter-ui-components-code-highlighter.mjs.map +1 -0
  36. package/fesm2022/ngstarter-ui-components-color-picker.mjs +713 -0
  37. package/fesm2022/ngstarter-ui-components-color-picker.mjs.map +1 -0
  38. package/fesm2022/ngstarter-ui-components-color-scheme.mjs +106 -0
  39. package/fesm2022/ngstarter-ui-components-color-scheme.mjs.map +1 -0
  40. package/fesm2022/ngstarter-ui-components-color-switcher.mjs +72 -0
  41. package/fesm2022/ngstarter-ui-components-color-switcher.mjs.map +1 -0
  42. package/fesm2022/ngstarter-ui-components-command-bar.mjs +57 -0
  43. package/fesm2022/ngstarter-ui-components-command-bar.mjs.map +1 -0
  44. package/fesm2022/ngstarter-ui-components-comment-editor.mjs +1024 -0
  45. package/fesm2022/ngstarter-ui-components-comment-editor.mjs.map +1 -0
  46. package/fesm2022/ngstarter-ui-components-comparison-slider.mjs +177 -0
  47. package/fesm2022/ngstarter-ui-components-comparison-slider.mjs.map +1 -0
  48. package/fesm2022/ngstarter-ui-components-confirm.mjs +85 -0
  49. package/fesm2022/ngstarter-ui-components-confirm.mjs.map +1 -0
  50. package/fesm2022/ngstarter-ui-components-content-editor-code-block.component-Bk6QTli8.mjs +173 -0
  51. package/fesm2022/ngstarter-ui-components-content-editor-code-block.component-Bk6QTli8.mjs.map +1 -0
  52. package/fesm2022/ngstarter-ui-components-content-editor-content-editor-content-editable.directive-Bvfa2dqh.mjs +124 -0
  53. package/fesm2022/ngstarter-ui-components-content-editor-content-editor-content-editable.directive-Bvfa2dqh.mjs.map +1 -0
  54. package/fesm2022/ngstarter-ui-components-content-editor-cursor-controller-4Ak8VqGX.mjs +99 -0
  55. package/fesm2022/ngstarter-ui-components-content-editor-cursor-controller-4Ak8VqGX.mjs.map +1 -0
  56. package/fesm2022/ngstarter-ui-components-content-editor-divider-block.component-C_iRTCPH.mjs +33 -0
  57. package/fesm2022/ngstarter-ui-components-content-editor-divider-block.component-C_iRTCPH.mjs.map +1 -0
  58. package/fesm2022/ngstarter-ui-components-content-editor-embed-block-BbkC_t86.mjs +354 -0
  59. package/fesm2022/ngstarter-ui-components-content-editor-embed-block-BbkC_t86.mjs.map +1 -0
  60. package/fesm2022/ngstarter-ui-components-content-editor-heading-block.component-D9_CxTY1.mjs +114 -0
  61. package/fesm2022/ngstarter-ui-components-content-editor-heading-block.component-D9_CxTY1.mjs.map +1 -0
  62. package/fesm2022/ngstarter-ui-components-content-editor-image-block.component-B4zJyUg1.mjs +146 -0
  63. package/fesm2022/ngstarter-ui-components-content-editor-image-block.component-B4zJyUg1.mjs.map +1 -0
  64. package/fesm2022/ngstarter-ui-components-content-editor-list-block.component-Cv6wx5Xe.mjs +215 -0
  65. package/fesm2022/ngstarter-ui-components-content-editor-list-block.component-Cv6wx5Xe.mjs.map +1 -0
  66. package/fesm2022/ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-1Zi2nAX5.mjs +2548 -0
  67. package/fesm2022/ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-1Zi2nAX5.mjs.map +1 -0
  68. package/fesm2022/ngstarter-ui-components-content-editor-paragraph-block.component-C9bQvDYU.mjs +110 -0
  69. package/fesm2022/ngstarter-ui-components-content-editor-paragraph-block.component-C9bQvDYU.mjs.map +1 -0
  70. package/fesm2022/ngstarter-ui-components-content-editor-quote-block.component-BbHds2r2.mjs +141 -0
  71. package/fesm2022/ngstarter-ui-components-content-editor-quote-block.component-BbHds2r2.mjs.map +1 -0
  72. package/fesm2022/ngstarter-ui-components-content-editor-table-block.component-DlDh7Fnn.mjs +1604 -0
  73. package/fesm2022/ngstarter-ui-components-content-editor-table-block.component-DlDh7Fnn.mjs.map +1 -0
  74. package/fesm2022/ngstarter-ui-components-content-editor-video-block.component-m4DTihP2.mjs +175 -0
  75. package/fesm2022/ngstarter-ui-components-content-editor-video-block.component-m4DTihP2.mjs.map +1 -0
  76. package/fesm2022/ngstarter-ui-components-content-editor.mjs +2 -0
  77. package/fesm2022/ngstarter-ui-components-content-editor.mjs.map +1 -0
  78. package/fesm2022/ngstarter-ui-components-content-fade.mjs +35 -0
  79. package/fesm2022/ngstarter-ui-components-content-fade.mjs.map +1 -0
  80. package/fesm2022/ngstarter-ui-components-cookie-popup.mjs +107 -0
  81. package/fesm2022/ngstarter-ui-components-cookie-popup.mjs.map +1 -0
  82. package/fesm2022/ngstarter-ui-components-core.mjs +1330 -0
  83. package/fesm2022/ngstarter-ui-components-core.mjs.map +1 -0
  84. package/fesm2022/ngstarter-ui-components-country-select.mjs +489 -0
  85. package/fesm2022/ngstarter-ui-components-country-select.mjs.map +1 -0
  86. package/fesm2022/ngstarter-ui-components-crop.mjs +183 -0
  87. package/fesm2022/ngstarter-ui-components-crop.mjs.map +1 -0
  88. package/fesm2022/ngstarter-ui-components-currency-select.mjs +397 -0
  89. package/fesm2022/ngstarter-ui-components-currency-select.mjs.map +1 -0
  90. package/fesm2022/ngstarter-ui-components-data-view.mjs +1494 -0
  91. package/fesm2022/ngstarter-ui-components-data-view.mjs.map +1 -0
  92. package/fesm2022/ngstarter-ui-components-date-format-select.mjs +154 -0
  93. package/fesm2022/ngstarter-ui-components-date-format-select.mjs.map +1 -0
  94. package/fesm2022/ngstarter-ui-components-datepicker.mjs +1159 -0
  95. package/fesm2022/ngstarter-ui-components-datepicker.mjs.map +1 -0
  96. package/fesm2022/ngstarter-ui-components-dialog.mjs +357 -0
  97. package/fesm2022/ngstarter-ui-components-dialog.mjs.map +1 -0
  98. package/fesm2022/ngstarter-ui-components-divider.mjs +42 -0
  99. package/fesm2022/ngstarter-ui-components-divider.mjs.map +1 -0
  100. package/fesm2022/ngstarter-ui-components-drawer.mjs +132 -0
  101. package/fesm2022/ngstarter-ui-components-drawer.mjs.map +1 -0
  102. package/fesm2022/ngstarter-ui-components-emoji-picker.mjs +245 -0
  103. package/fesm2022/ngstarter-ui-components-emoji-picker.mjs.map +1 -0
  104. package/fesm2022/ngstarter-ui-components-empty-state.mjs +75 -0
  105. package/fesm2022/ngstarter-ui-components-empty-state.mjs.map +1 -0
  106. package/fesm2022/ngstarter-ui-components-expand.mjs +56 -0
  107. package/fesm2022/ngstarter-ui-components-expand.mjs.map +1 -0
  108. package/fesm2022/ngstarter-ui-components-expansion.mjs +193 -0
  109. package/fesm2022/ngstarter-ui-components-expansion.mjs.map +1 -0
  110. package/fesm2022/ngstarter-ui-components-filter-builder.mjs +333 -0
  111. package/fesm2022/ngstarter-ui-components-filter-builder.mjs.map +1 -0
  112. package/fesm2022/ngstarter-ui-components-form-field.mjs +230 -0
  113. package/fesm2022/ngstarter-ui-components-form-field.mjs.map +1 -0
  114. package/fesm2022/ngstarter-ui-components-form-renderer-autocomplete-many-field-BKQVlZHV.mjs +124 -0
  115. package/fesm2022/ngstarter-ui-components-form-renderer-autocomplete-many-field-BKQVlZHV.mjs.map +1 -0
  116. package/fesm2022/ngstarter-ui-components-form-renderer-checkbox-field-CoyKdvhV.mjs +22 -0
  117. package/fesm2022/ngstarter-ui-components-form-renderer-checkbox-field-CoyKdvhV.mjs.map +1 -0
  118. package/fesm2022/ngstarter-ui-components-form-renderer-datepicker-field-Bzc0TPO9.mjs +44 -0
  119. package/fesm2022/ngstarter-ui-components-form-renderer-datepicker-field-Bzc0TPO9.mjs.map +1 -0
  120. package/fesm2022/ngstarter-ui-components-form-renderer-divider-content-CwGzDCZv.mjs +17 -0
  121. package/fesm2022/ngstarter-ui-components-form-renderer-divider-content-CwGzDCZv.mjs.map +1 -0
  122. package/fesm2022/ngstarter-ui-components-form-renderer-image-content-ICTwkZPa.mjs +17 -0
  123. package/fesm2022/ngstarter-ui-components-form-renderer-image-content-ICTwkZPa.mjs.map +1 -0
  124. package/fesm2022/ngstarter-ui-components-form-renderer-input-field-RYxi-Mpw.mjs +35 -0
  125. package/fesm2022/ngstarter-ui-components-form-renderer-input-field-RYxi-Mpw.mjs.map +1 -0
  126. package/fesm2022/ngstarter-ui-components-form-renderer-radio-group-field-Cv3AGpoq.mjs +38 -0
  127. package/fesm2022/ngstarter-ui-components-form-renderer-radio-group-field-Cv3AGpoq.mjs.map +1 -0
  128. package/fesm2022/ngstarter-ui-components-form-renderer-select-field-eLcwI-BY.mjs +39 -0
  129. package/fesm2022/ngstarter-ui-components-form-renderer-select-field-eLcwI-BY.mjs.map +1 -0
  130. package/fesm2022/ngstarter-ui-components-form-renderer-text-content-BjzH_M3-.mjs +24 -0
  131. package/fesm2022/ngstarter-ui-components-form-renderer-text-content-BjzH_M3-.mjs.map +1 -0
  132. package/fesm2022/ngstarter-ui-components-form-renderer-textarea-field-4zH7FTQ1.mjs +37 -0
  133. package/fesm2022/ngstarter-ui-components-form-renderer-textarea-field-4zH7FTQ1.mjs.map +1 -0
  134. package/fesm2022/ngstarter-ui-components-form-renderer-timezone-field-BpH65Hd-.mjs +35 -0
  135. package/fesm2022/ngstarter-ui-components-form-renderer-timezone-field-BpH65Hd-.mjs.map +1 -0
  136. package/fesm2022/ngstarter-ui-components-form-renderer-toggle-field-iyqUrWxt.mjs +22 -0
  137. package/fesm2022/ngstarter-ui-components-form-renderer-toggle-field-iyqUrWxt.mjs.map +1 -0
  138. package/fesm2022/ngstarter-ui-components-form-renderer.mjs +317 -0
  139. package/fesm2022/ngstarter-ui-components-form-renderer.mjs.map +1 -0
  140. package/fesm2022/ngstarter-ui-components-gauge.mjs +44 -0
  141. package/fesm2022/ngstarter-ui-components-gauge.mjs.map +1 -0
  142. package/fesm2022/ngstarter-ui-components-grid.mjs +78 -0
  143. package/fesm2022/ngstarter-ui-components-grid.mjs.map +1 -0
  144. package/fesm2022/ngstarter-ui-components-guided-tour.mjs +736 -0
  145. package/fesm2022/ngstarter-ui-components-guided-tour.mjs.map +1 -0
  146. package/fesm2022/ngstarter-ui-components-headless-stepper.mjs +192 -0
  147. package/fesm2022/ngstarter-ui-components-headless-stepper.mjs.map +1 -0
  148. package/fesm2022/ngstarter-ui-components-icon.mjs +61 -0
  149. package/fesm2022/ngstarter-ui-components-icon.mjs.map +1 -0
  150. package/fesm2022/ngstarter-ui-components-image-designer.mjs +4016 -0
  151. package/fesm2022/ngstarter-ui-components-image-designer.mjs.map +1 -0
  152. package/fesm2022/ngstarter-ui-components-image-placeholder.mjs +20 -0
  153. package/fesm2022/ngstarter-ui-components-image-placeholder.mjs.map +1 -0
  154. package/fesm2022/ngstarter-ui-components-image-resizer.mjs +151 -0
  155. package/fesm2022/ngstarter-ui-components-image-resizer.mjs.map +1 -0
  156. package/fesm2022/ngstarter-ui-components-image-viewer.mjs +349 -0
  157. package/fesm2022/ngstarter-ui-components-image-viewer.mjs.map +1 -0
  158. package/fesm2022/ngstarter-ui-components-image-zoom-viewer.mjs +162 -0
  159. package/fesm2022/ngstarter-ui-components-image-zoom-viewer.mjs.map +1 -0
  160. package/fesm2022/ngstarter-ui-components-incidents.mjs +257 -0
  161. package/fesm2022/ngstarter-ui-components-incidents.mjs.map +1 -0
  162. package/fesm2022/ngstarter-ui-components-inline-text-edit.mjs +179 -0
  163. package/fesm2022/ngstarter-ui-components-inline-text-edit.mjs.map +1 -0
  164. package/fesm2022/ngstarter-ui-components-input-mask.mjs +180 -0
  165. package/fesm2022/ngstarter-ui-components-input-mask.mjs.map +1 -0
  166. package/fesm2022/ngstarter-ui-components-input-validator.mjs +24 -0
  167. package/fesm2022/ngstarter-ui-components-input-validator.mjs.map +1 -0
  168. package/fesm2022/ngstarter-ui-components-input.mjs +152 -0
  169. package/fesm2022/ngstarter-ui-components-input.mjs.map +1 -0
  170. package/fesm2022/ngstarter-ui-components-kanban-board.mjs +156 -0
  171. package/fesm2022/ngstarter-ui-components-kanban-board.mjs.map +1 -0
  172. package/fesm2022/ngstarter-ui-components-kbd.mjs +31 -0
  173. package/fesm2022/ngstarter-ui-components-kbd.mjs.map +1 -0
  174. package/fesm2022/ngstarter-ui-components-layout.mjs +199 -0
  175. package/fesm2022/ngstarter-ui-components-layout.mjs.map +1 -0
  176. package/fesm2022/ngstarter-ui-components-list.mjs +279 -0
  177. package/fesm2022/ngstarter-ui-components-list.mjs.map +1 -0
  178. package/fesm2022/ngstarter-ui-components-logo.mjs +51 -0
  179. package/fesm2022/ngstarter-ui-components-logo.mjs.map +1 -0
  180. package/fesm2022/ngstarter-ui-components-marquee.mjs +76 -0
  181. package/fesm2022/ngstarter-ui-components-marquee.mjs.map +1 -0
  182. package/fesm2022/ngstarter-ui-components-menu.mjs +851 -0
  183. package/fesm2022/ngstarter-ui-components-menu.mjs.map +1 -0
  184. package/fesm2022/ngstarter-ui-components-micro-chart.mjs +928 -0
  185. package/fesm2022/ngstarter-ui-components-micro-chart.mjs.map +1 -0
  186. package/fesm2022/ngstarter-ui-components-navigation.mjs +439 -0
  187. package/fesm2022/ngstarter-ui-components-navigation.mjs.map +1 -0
  188. package/fesm2022/ngstarter-ui-components-notifications.mjs +181 -0
  189. package/fesm2022/ngstarter-ui-components-notifications.mjs.map +1 -0
  190. package/fesm2022/ngstarter-ui-components-number-input.mjs +293 -0
  191. package/fesm2022/ngstarter-ui-components-number-input.mjs.map +1 -0
  192. package/fesm2022/ngstarter-ui-components-option.mjs +157 -0
  193. package/fesm2022/ngstarter-ui-components-option.mjs.map +1 -0
  194. package/fesm2022/ngstarter-ui-components-overlay.mjs +112 -0
  195. package/fesm2022/ngstarter-ui-components-overlay.mjs.map +1 -0
  196. package/fesm2022/ngstarter-ui-components-page-loading-bar.mjs +77 -0
  197. package/fesm2022/ngstarter-ui-components-page-loading-bar.mjs.map +1 -0
  198. package/fesm2022/ngstarter-ui-components-paginator.mjs +297 -0
  199. package/fesm2022/ngstarter-ui-components-paginator.mjs.map +1 -0
  200. package/fesm2022/ngstarter-ui-components-panel.mjs +123 -0
  201. package/fesm2022/ngstarter-ui-components-panel.mjs.map +1 -0
  202. package/fesm2022/ngstarter-ui-components-password-strength.mjs +335 -0
  203. package/fesm2022/ngstarter-ui-components-password-strength.mjs.map +1 -0
  204. package/fesm2022/ngstarter-ui-components-phone-input.mjs +651 -0
  205. package/fesm2022/ngstarter-ui-components-phone-input.mjs.map +1 -0
  206. package/fesm2022/ngstarter-ui-components-pin-input.mjs +193 -0
  207. package/fesm2022/ngstarter-ui-components-pin-input.mjs.map +1 -0
  208. package/fesm2022/ngstarter-ui-components-popover.mjs +302 -0
  209. package/fesm2022/ngstarter-ui-components-popover.mjs.map +1 -0
  210. package/fesm2022/ngstarter-ui-components-progress-bar.mjs +68 -0
  211. package/fesm2022/ngstarter-ui-components-progress-bar.mjs.map +1 -0
  212. package/fesm2022/ngstarter-ui-components-radio-card.mjs +102 -0
  213. package/fesm2022/ngstarter-ui-components-radio-card.mjs.map +1 -0
  214. package/fesm2022/ngstarter-ui-components-radio.mjs +147 -0
  215. package/fesm2022/ngstarter-ui-components-radio.mjs.map +1 -0
  216. package/fesm2022/ngstarter-ui-components-rail-nav.mjs +87 -0
  217. package/fesm2022/ngstarter-ui-components-rail-nav.mjs.map +1 -0
  218. package/fesm2022/ngstarter-ui-components-resizable-container.mjs +74 -0
  219. package/fesm2022/ngstarter-ui-components-resizable-container.mjs.map +1 -0
  220. package/fesm2022/ngstarter-ui-components-screen-loader.mjs +95 -0
  221. package/fesm2022/ngstarter-ui-components-screen-loader.mjs.map +1 -0
  222. package/fesm2022/ngstarter-ui-components-scroll-spy.mjs +219 -0
  223. package/fesm2022/ngstarter-ui-components-scroll-spy.mjs.map +1 -0
  224. package/fesm2022/ngstarter-ui-components-scrollbar-area.mjs +459 -0
  225. package/fesm2022/ngstarter-ui-components-scrollbar-area.mjs.map +1 -0
  226. package/fesm2022/ngstarter-ui-components-segmented.mjs +218 -0
  227. package/fesm2022/ngstarter-ui-components-segmented.mjs.map +1 -0
  228. package/fesm2022/ngstarter-ui-components-select.mjs +496 -0
  229. package/fesm2022/ngstarter-ui-components-select.mjs.map +1 -0
  230. package/fesm2022/ngstarter-ui-components-side-panel.mjs +107 -0
  231. package/fesm2022/ngstarter-ui-components-side-panel.mjs.map +1 -0
  232. package/fesm2022/ngstarter-ui-components-sidebar.mjs +435 -0
  233. package/fesm2022/ngstarter-ui-components-sidebar.mjs.map +1 -0
  234. package/fesm2022/ngstarter-ui-components-sidenav.mjs +354 -0
  235. package/fesm2022/ngstarter-ui-components-sidenav.mjs.map +1 -0
  236. package/fesm2022/ngstarter-ui-components-signature-pad.mjs +452 -0
  237. package/fesm2022/ngstarter-ui-components-signature-pad.mjs.map +1 -0
  238. package/fesm2022/ngstarter-ui-components-skeleton.mjs +22 -0
  239. package/fesm2022/ngstarter-ui-components-skeleton.mjs.map +1 -0
  240. package/fesm2022/ngstarter-ui-components-slide-toggle.mjs +93 -0
  241. package/fesm2022/ngstarter-ui-components-slide-toggle.mjs.map +1 -0
  242. package/fesm2022/ngstarter-ui-components-slider.mjs +481 -0
  243. package/fesm2022/ngstarter-ui-components-slider.mjs.map +1 -0
  244. package/fesm2022/ngstarter-ui-components-snack-bar.mjs +354 -0
  245. package/fesm2022/ngstarter-ui-components-snack-bar.mjs.map +1 -0
  246. package/fesm2022/ngstarter-ui-components-sort.mjs +140 -0
  247. package/fesm2022/ngstarter-ui-components-sort.mjs.map +1 -0
  248. package/fesm2022/ngstarter-ui-components-spinner.mjs +75 -0
  249. package/fesm2022/ngstarter-ui-components-spinner.mjs.map +1 -0
  250. package/fesm2022/ngstarter-ui-components-splash-screen.mjs +93 -0
  251. package/fesm2022/ngstarter-ui-components-splash-screen.mjs.map +1 -0
  252. package/fesm2022/ngstarter-ui-components-split.mjs +948 -0
  253. package/fesm2022/ngstarter-ui-components-split.mjs.map +1 -0
  254. package/fesm2022/ngstarter-ui-components-stepper.mjs +103 -0
  255. package/fesm2022/ngstarter-ui-components-stepper.mjs.map +1 -0
  256. package/fesm2022/ngstarter-ui-components-suggestions.mjs +72 -0
  257. package/fesm2022/ngstarter-ui-components-suggestions.mjs.map +1 -0
  258. package/fesm2022/ngstarter-ui-components-tab-panel.mjs +265 -0
  259. package/fesm2022/ngstarter-ui-components-tab-panel.mjs.map +1 -0
  260. package/fesm2022/ngstarter-ui-components-table.mjs +648 -0
  261. package/fesm2022/ngstarter-ui-components-table.mjs.map +1 -0
  262. package/fesm2022/ngstarter-ui-components-tabs.mjs +591 -0
  263. package/fesm2022/ngstarter-ui-components-tabs.mjs.map +1 -0
  264. package/fesm2022/ngstarter-ui-components-text-editor.mjs +1012 -0
  265. package/fesm2022/ngstarter-ui-components-text-editor.mjs.map +1 -0
  266. package/fesm2022/ngstarter-ui-components-thumbnail-maker.mjs +212 -0
  267. package/fesm2022/ngstarter-ui-components-thumbnail-maker.mjs.map +1 -0
  268. package/fesm2022/ngstarter-ui-components-tiles.mjs +634 -0
  269. package/fesm2022/ngstarter-ui-components-tiles.mjs.map +1 -0
  270. package/fesm2022/ngstarter-ui-components-timeline.mjs +122 -0
  271. package/fesm2022/ngstarter-ui-components-timeline.mjs.map +1 -0
  272. package/fesm2022/ngstarter-ui-components-timepicker.mjs +486 -0
  273. package/fesm2022/ngstarter-ui-components-timepicker.mjs.map +1 -0
  274. package/fesm2022/ngstarter-ui-components-timezone-select.mjs +371 -0
  275. package/fesm2022/ngstarter-ui-components-timezone-select.mjs.map +1 -0
  276. package/fesm2022/ngstarter-ui-components-toolbar.mjs +299 -0
  277. package/fesm2022/ngstarter-ui-components-toolbar.mjs.map +1 -0
  278. package/fesm2022/ngstarter-ui-components-tooltip.mjs +506 -0
  279. package/fesm2022/ngstarter-ui-components-tooltip.mjs.map +1 -0
  280. package/fesm2022/ngstarter-ui-components-tree.mjs +200 -0
  281. package/fesm2022/ngstarter-ui-components-tree.mjs.map +1 -0
  282. package/fesm2022/ngstarter-ui-components-upload.mjs +330 -0
  283. package/fesm2022/ngstarter-ui-components-upload.mjs.map +1 -0
  284. package/fesm2022/ngstarter-ui-components-video-player.mjs +516 -0
  285. package/fesm2022/ngstarter-ui-components-video-player.mjs.map +1 -0
  286. package/fesm2022/ngstarter-ui-components-video-viewer.mjs +218 -0
  287. package/fesm2022/ngstarter-ui-components-video-viewer.mjs.map +1 -0
  288. package/fesm2022/ngstarter-ui-components-visual-builder.mjs +18 -0
  289. package/fesm2022/ngstarter-ui-components-visual-builder.mjs.map +1 -0
  290. package/fesm2022/ngstarter-ui-components.mjs +6 -0
  291. package/fesm2022/ngstarter-ui-components.mjs.map +1 -0
  292. package/package.json +535 -0
  293. package/styles/_common.scss +456 -0
  294. package/styles/_global.scss +91 -0
  295. package/styles/themes/default.scss +2 -0
  296. package/types/ngstarter-ui-components-action-required.d.ts +14 -0
  297. package/types/ngstarter-ui-components-alert.d.ts +50 -0
  298. package/types/ngstarter-ui-components-announcement.d.ts +59 -0
  299. package/types/ngstarter-ui-components-autocomplete.d.ts +83 -0
  300. package/types/ngstarter-ui-components-avatar.d.ts +69 -0
  301. package/types/ngstarter-ui-components-badge.d.ts +38 -0
  302. package/types/ngstarter-ui-components-block-loader.d.ts +21 -0
  303. package/types/ngstarter-ui-components-bottom-sheet.d.ts +149 -0
  304. package/types/ngstarter-ui-components-breadcrumbs.d.ts +104 -0
  305. package/types/ngstarter-ui-components-button-toggle.d.ts +54 -0
  306. package/types/ngstarter-ui-components-button.d.ts +27 -0
  307. package/types/ngstarter-ui-components-card-overlay.d.ts +20 -0
  308. package/types/ngstarter-ui-components-card.d.ts +85 -0
  309. package/types/ngstarter-ui-components-carousel.d.ts +76 -0
  310. package/types/ngstarter-ui-components-checkbox.d.ts +94 -0
  311. package/types/ngstarter-ui-components-chips.d.ts +189 -0
  312. package/types/ngstarter-ui-components-code-highlighter.d.ts +28 -0
  313. package/types/ngstarter-ui-components-color-picker.d.ts +92 -0
  314. package/types/ngstarter-ui-components-color-scheme.d.ts +44 -0
  315. package/types/ngstarter-ui-components-color-switcher.d.ts +26 -0
  316. package/types/ngstarter-ui-components-command-bar.d.ts +28 -0
  317. package/types/ngstarter-ui-components-comment-editor.d.ts +194 -0
  318. package/types/ngstarter-ui-components-comparison-slider.d.ts +42 -0
  319. package/types/ngstarter-ui-components-confirm.d.ts +34 -0
  320. package/types/ngstarter-ui-components-content-editor.d.ts +321 -0
  321. package/types/ngstarter-ui-components-content-fade.d.ts +17 -0
  322. package/types/ngstarter-ui-components-cookie-popup.d.ts +41 -0
  323. package/types/ngstarter-ui-components-core.d.ts +421 -0
  324. package/types/ngstarter-ui-components-country-select.d.ts +78 -0
  325. package/types/ngstarter-ui-components-crop.d.ts +59 -0
  326. package/types/ngstarter-ui-components-currency-select.d.ts +82 -0
  327. package/types/ngstarter-ui-components-data-view.d.ts +391 -0
  328. package/types/ngstarter-ui-components-date-format-select.d.ts +59 -0
  329. package/types/ngstarter-ui-components-datepicker.d.ts +384 -0
  330. package/types/ngstarter-ui-components-dialog.d.ts +115 -0
  331. package/types/ngstarter-ui-components-divider.d.ts +18 -0
  332. package/types/ngstarter-ui-components-drawer.d.ts +32 -0
  333. package/types/ngstarter-ui-components-emoji-picker.d.ts +49 -0
  334. package/types/ngstarter-ui-components-empty-state.d.ts +33 -0
  335. package/types/ngstarter-ui-components-expand.d.ts +26 -0
  336. package/types/ngstarter-ui-components-expansion.d.ts +68 -0
  337. package/types/ngstarter-ui-components-filter-builder.d.ts +106 -0
  338. package/types/ngstarter-ui-components-form-field.d.ts +107 -0
  339. package/types/ngstarter-ui-components-form-renderer.d.ts +121 -0
  340. package/types/ngstarter-ui-components-gauge.d.ts +21 -0
  341. package/types/ngstarter-ui-components-grid.d.ts +45 -0
  342. package/types/ngstarter-ui-components-guided-tour.d.ts +227 -0
  343. package/types/ngstarter-ui-components-headless-stepper.d.ts +65 -0
  344. package/types/ngstarter-ui-components-icon.d.ts +17 -0
  345. package/types/ngstarter-ui-components-image-designer.d.ts +357 -0
  346. package/types/ngstarter-ui-components-image-placeholder.d.ts +8 -0
  347. package/types/ngstarter-ui-components-image-resizer.d.ts +35 -0
  348. package/types/ngstarter-ui-components-image-viewer.d.ts +63 -0
  349. package/types/ngstarter-ui-components-image-zoom-viewer.d.ts +34 -0
  350. package/types/ngstarter-ui-components-incidents.d.ts +119 -0
  351. package/types/ngstarter-ui-components-inline-text-edit.d.ts +39 -0
  352. package/types/ngstarter-ui-components-input-mask.d.ts +36 -0
  353. package/types/ngstarter-ui-components-input-validator.d.ts +5 -0
  354. package/types/ngstarter-ui-components-input.d.ts +53 -0
  355. package/types/ngstarter-ui-components-kanban-board.d.ts +68 -0
  356. package/types/ngstarter-ui-components-kbd.d.ts +13 -0
  357. package/types/ngstarter-ui-components-layout.d.ts +83 -0
  358. package/types/ngstarter-ui-components-list.d.ts +98 -0
  359. package/types/ngstarter-ui-components-logo.d.ts +26 -0
  360. package/types/ngstarter-ui-components-marquee.d.ts +27 -0
  361. package/types/ngstarter-ui-components-menu.d.ts +199 -0
  362. package/types/ngstarter-ui-components-micro-chart.d.ts +195 -0
  363. package/types/ngstarter-ui-components-navigation.d.ts +136 -0
  364. package/types/ngstarter-ui-components-notifications.d.ts +84 -0
  365. package/types/ngstarter-ui-components-number-input.d.ts +99 -0
  366. package/types/ngstarter-ui-components-option.d.ts +61 -0
  367. package/types/ngstarter-ui-components-overlay.d.ts +12 -0
  368. package/types/ngstarter-ui-components-page-loading-bar.d.ts +20 -0
  369. package/types/ngstarter-ui-components-paginator.d.ts +145 -0
  370. package/types/ngstarter-ui-components-panel.d.ts +59 -0
  371. package/types/ngstarter-ui-components-password-strength.d.ts +109 -0
  372. package/types/ngstarter-ui-components-phone-input.d.ts +103 -0
  373. package/types/ngstarter-ui-components-pin-input.d.ts +48 -0
  374. package/types/ngstarter-ui-components-popover.d.ts +94 -0
  375. package/types/ngstarter-ui-components-progress-bar.d.ts +30 -0
  376. package/types/ngstarter-ui-components-radio-card.d.ts +37 -0
  377. package/types/ngstarter-ui-components-radio.d.ts +45 -0
  378. package/types/ngstarter-ui-components-rail-nav.d.ts +36 -0
  379. package/types/ngstarter-ui-components-resizable-container.d.ts +25 -0
  380. package/types/ngstarter-ui-components-screen-loader.d.ts +34 -0
  381. package/types/ngstarter-ui-components-scroll-spy.d.ts +63 -0
  382. package/types/ngstarter-ui-components-scrollbar-area.d.ts +67 -0
  383. package/types/ngstarter-ui-components-segmented.d.ts +65 -0
  384. package/types/ngstarter-ui-components-select.d.ts +126 -0
  385. package/types/ngstarter-ui-components-side-panel.d.ts +42 -0
  386. package/types/ngstarter-ui-components-sidebar.d.ts +143 -0
  387. package/types/ngstarter-ui-components-sidenav.d.ts +86 -0
  388. package/types/ngstarter-ui-components-signature-pad.d.ts +49 -0
  389. package/types/ngstarter-ui-components-skeleton.d.ts +9 -0
  390. package/types/ngstarter-ui-components-slide-toggle.d.ts +41 -0
  391. package/types/ngstarter-ui-components-slider.d.ts +85 -0
  392. package/types/ngstarter-ui-components-snack-bar.d.ts +142 -0
  393. package/types/ngstarter-ui-components-sort.d.ts +66 -0
  394. package/types/ngstarter-ui-components-spinner.d.ts +28 -0
  395. package/types/ngstarter-ui-components-splash-screen.d.ts +31 -0
  396. package/types/ngstarter-ui-components-split.d.ts +210 -0
  397. package/types/ngstarter-ui-components-stepper.d.ts +44 -0
  398. package/types/ngstarter-ui-components-suggestions.d.ts +32 -0
  399. package/types/ngstarter-ui-components-tab-panel.d.ts +96 -0
  400. package/types/ngstarter-ui-components-table.d.ts +277 -0
  401. package/types/ngstarter-ui-components-tabs.d.ts +145 -0
  402. package/types/ngstarter-ui-components-text-editor.d.ts +191 -0
  403. package/types/ngstarter-ui-components-thumbnail-maker.d.ts +35 -0
  404. package/types/ngstarter-ui-components-tiles.d.ts +109 -0
  405. package/types/ngstarter-ui-components-timeline.d.ts +57 -0
  406. package/types/ngstarter-ui-components-timepicker.d.ts +115 -0
  407. package/types/ngstarter-ui-components-timezone-select.d.ts +75 -0
  408. package/types/ngstarter-ui-components-toolbar.d.ts +74 -0
  409. package/types/ngstarter-ui-components-tooltip.d.ts +52 -0
  410. package/types/ngstarter-ui-components-tree.d.ts +60 -0
  411. package/types/ngstarter-ui-components-upload.d.ts +134 -0
  412. package/types/ngstarter-ui-components-video-player.d.ts +67 -0
  413. package/types/ngstarter-ui-components-video-viewer.d.ts +98 -0
  414. package/types/ngstarter-ui-components-visual-builder.d.ts +8 -0
  415. package/types/ngstarter-ui-components.d.ts +2 -0
@@ -0,0 +1,199 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, input, booleanAttribute, Component, inject, ElementRef, PLATFORM_ID, forwardRef, computed, EventEmitter, Injectable } from '@angular/core';
3
+ import { Router, NavigationStart } from '@angular/router';
4
+ import { filter } from 'rxjs';
5
+ import { isPlatformServer } from '@angular/common';
6
+ import * as i1 from '@angular/cdk/scrolling';
7
+ import { CdkScrollable } from '@angular/cdk/scrolling';
8
+ import { signalStore, withState, withMethods, patchState } from '@ngrx/signals';
9
+
10
+ const LAYOUT = new InjectionToken('LAYOUT');
11
+ const LAYOUT_CONTENT = new InjectionToken('LAYOUT_CONTENT');
12
+
13
+ let nextId = 0;
14
+ class Layout {
15
+ layoutId = input(`layout-${nextId++}`, ...(ngDevMode ? [{ debugName: "layoutId" }] : /* istanbul ignore next */ []));
16
+ root = input(false, { ...(ngDevMode ? { debugName: "root" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Layout, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.4", type: Layout, isStandalone: true, selector: "ngs-layout", inputs: { layoutId: { classPropertyName: "layoutId", publicName: "layoutId", isSignal: true, isRequired: false, transformFunction: null }, root: { classPropertyName: "root", publicName: "root", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.is-root": "root()" }, classAttribute: "ngs-layout" }, providers: [
19
+ {
20
+ provide: LAYOUT,
21
+ useExisting: Layout
22
+ }
23
+ ], exportAs: ["ngsLayout"], ngImport: i0, template: "<ng-content select=\"ngs-layout-topbar\"/>\n<ng-content select=\"ngs-layout-header\"/>\n<div class=\"body\">\n <ng-content select=\"ngs-layout-sidebar\"/>\n <div class=\"content\">\n <ng-content/>\n </div>\n <ng-content select=\"ngs-layout-aside\"/>\n</div>\n<ng-content select=\"ngs-layout-footer\"/>\n", styles: [":host{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden}:host.is-root{width:100dvw;height:100dvh}:host .body{display:flex;flex-grow:1;overflow:hidden;height:100%}:host .content{display:flex;flex-grow:1;flex-direction:column;overflow:hidden;position:relative}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] });
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Layout, decorators: [{
26
+ type: Component,
27
+ args: [{ selector: 'ngs-layout', exportAs: 'ngsLayout', standalone: true, providers: [
28
+ {
29
+ provide: LAYOUT,
30
+ useExisting: Layout
31
+ }
32
+ ], host: {
33
+ 'class': 'ngs-layout',
34
+ '[class.is-root]': 'root()'
35
+ }, template: "<ng-content select=\"ngs-layout-topbar\"/>\n<ng-content select=\"ngs-layout-header\"/>\n<div class=\"body\">\n <ng-content select=\"ngs-layout-sidebar\"/>\n <div class=\"content\">\n <ng-content/>\n </div>\n <ng-content select=\"ngs-layout-aside\"/>\n</div>\n<ng-content select=\"ngs-layout-footer\"/>\n", styles: [":host{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden}:host.is-root{width:100dvw;height:100dvh}:host .body{display:flex;flex-grow:1;overflow:hidden;height:100%}:host .content{display:flex;flex-grow:1;flex-direction:column;overflow:hidden;position:relative}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
36
+ }], propDecorators: { layoutId: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutId", required: false }] }], root: [{ type: i0.Input, args: [{ isSignal: true, alias: "root", required: false }] }] } });
37
+
38
+ class LayoutHeader {
39
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: LayoutHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
40
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: LayoutHeader, isStandalone: true, selector: "ngs-layout-header", host: { classAttribute: "ngs-layout-header" }, exportAs: ["ngsLayoutHeader"], ngImport: i0, template: "<ng-content />\n", styles: [":host{display:block;flex:none}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] });
41
+ }
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: LayoutHeader, decorators: [{
43
+ type: Component,
44
+ args: [{ selector: 'ngs-layout-header', exportAs: 'ngsLayoutHeader', host: {
45
+ 'class': 'ngs-layout-header',
46
+ }, template: "<ng-content />\n", styles: [":host{display:block;flex:none}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
47
+ }] });
48
+
49
+ class LayoutContent {
50
+ _router = inject(Router);
51
+ _elementRef = inject(ElementRef);
52
+ _platformId = inject(PLATFORM_ID);
53
+ scrollable = inject(CdkScrollable);
54
+ autoscrollToTop = input(true, { ...(ngDevMode ? { debugName: "autoscrollToTop" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
55
+ scrollContainer() {
56
+ return this._elementRef.nativeElement;
57
+ }
58
+ ngOnInit() {
59
+ // Scroll a page to top if url changed
60
+ this._router.events
61
+ .pipe(filter(event => event instanceof NavigationStart))
62
+ .subscribe(() => {
63
+ if (!this.autoscrollToTop()) {
64
+ return;
65
+ }
66
+ if (isPlatformServer(this._platformId)) {
67
+ return;
68
+ }
69
+ this._elementRef.nativeElement.scrollTo({
70
+ top: 0,
71
+ left: 0
72
+ });
73
+ });
74
+ }
75
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: LayoutContent, deps: [], target: i0.ɵɵFactoryTarget.Component });
76
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.4", type: LayoutContent, isStandalone: true, selector: "ngs-layout-content", inputs: { autoscrollToTop: { classPropertyName: "autoscrollToTop", publicName: "autoscrollToTop", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "ngs-layout-content ngs-scroll-lg" }, providers: [
77
+ {
78
+ provide: LAYOUT_CONTENT,
79
+ useExisting: forwardRef(() => LayoutContent)
80
+ }
81
+ ], exportAs: ["ngsLayoutContent"], hostDirectives: [{ directive: i1.CdkScrollable }], ngImport: i0, template: "<ng-content/>\n", styles: [":host{display:block;position:relative;overflow:hidden;flex-grow:1}:host:has(:not(.ngs-layout-content)){overflow:auto}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] });
82
+ }
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: LayoutContent, decorators: [{
84
+ type: Component,
85
+ args: [{ selector: 'ngs-layout-content', exportAs: 'ngsLayoutContent', hostDirectives: [
86
+ CdkScrollable
87
+ ], providers: [
88
+ {
89
+ provide: LAYOUT_CONTENT,
90
+ useExisting: forwardRef(() => LayoutContent)
91
+ }
92
+ ], host: {
93
+ 'class': 'ngs-layout-content ngs-scroll-lg'
94
+ }, template: "<ng-content/>\n", styles: [":host{display:block;position:relative;overflow:hidden;flex-grow:1}:host:has(:not(.ngs-layout-content)){overflow:auto}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
95
+ }], propDecorators: { autoscrollToTop: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoscrollToTop", required: false }] }] } });
96
+
97
+ class LayoutFooter {
98
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: LayoutFooter, deps: [], target: i0.ɵɵFactoryTarget.Component });
99
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: LayoutFooter, isStandalone: true, selector: "ngs-layout-footer", host: { classAttribute: "ngs-layout-footer" }, exportAs: ["ngsLayoutFooter"], ngImport: i0, template: "<ng-content />\n", styles: [":host{display:block;grid-area:footer;flex:none}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] });
100
+ }
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: LayoutFooter, decorators: [{
102
+ type: Component,
103
+ args: [{ selector: 'ngs-layout-footer', exportAs: 'ngsLayoutFooter', host: {
104
+ 'class': 'ngs-layout-footer',
105
+ }, template: "<ng-content />\n", styles: [":host{display:block;grid-area:footer;flex:none}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
106
+ }] });
107
+
108
+ class LayoutTopbar {
109
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: LayoutTopbar, deps: [], target: i0.ɵɵFactoryTarget.Component });
110
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: LayoutTopbar, isStandalone: true, selector: "ngs-layout-topbar", host: { classAttribute: "ngs-layout-topbar" }, exportAs: ["ngsLayoutTopbar"], ngImport: i0, template: "<ng-content />\n", styles: [":host{display:block;grid-area:topbar;flex:none}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] });
111
+ }
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: LayoutTopbar, decorators: [{
113
+ type: Component,
114
+ args: [{ selector: 'ngs-layout-topbar', exportAs: 'ngsLayoutTopbar', host: {
115
+ 'class': 'ngs-layout-topbar'
116
+ }, template: "<ng-content />\n", styles: [":host{display:block;grid-area:topbar;flex:none}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
117
+ }] });
118
+
119
+ const initialState = {
120
+ root: true
121
+ };
122
+ const LayoutSidebarStore = signalStore({ providedIn: 'root' }, withState(initialState), withMethods((store) => ({
123
+ showSidebarVisibility(layoutId, isShown) {
124
+ patchState(store, {
125
+ [layoutId]: isShown
126
+ });
127
+ }
128
+ })));
129
+
130
+ class LayoutSidebar {
131
+ _parent = inject(LAYOUT);
132
+ _layoutSidebarStore = inject(LayoutSidebarStore);
133
+ _isShown = computed(() => {
134
+ if (this._parent.layoutId() in this._layoutSidebarStore) {
135
+ return this._layoutSidebarStore[this._parent.layoutId()]();
136
+ }
137
+ return true;
138
+ }, ...(ngDevMode ? [{ debugName: "_isShown" }] : /* istanbul ignore next */ []));
139
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: LayoutSidebar, deps: [], target: i0.ɵɵFactoryTarget.Component });
140
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: LayoutSidebar, isStandalone: true, selector: "ngs-layout-sidebar", host: { properties: { "class.is-hidden": "!_isShown()" }, classAttribute: "ngs-layout-sidebar" }, exportAs: ["ngsLayoutSidebar"], ngImport: i0, template: "<ng-content/>\n", styles: [":host{display:block;z-index:101}:host:has(.ngs-sidebar.compact){z-index:102}:host.is-hidden{display:none}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] });
141
+ }
142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: LayoutSidebar, decorators: [{
143
+ type: Component,
144
+ args: [{ selector: 'ngs-layout-sidebar', exportAs: 'ngsLayoutSidebar', host: {
145
+ 'class': 'ngs-layout-sidebar',
146
+ '[class.is-hidden]': '!_isShown()'
147
+ }, template: "<ng-content/>\n", styles: [":host{display:block;z-index:101}:host:has(.ngs-sidebar.compact){z-index:102}:host.is-hidden{display:none}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
148
+ }] });
149
+
150
+ class LayoutAside {
151
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: LayoutAside, deps: [], target: i0.ɵɵFactoryTarget.Component });
152
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: LayoutAside, isStandalone: true, selector: "ngs-layout-aside", host: { classAttribute: "ngs-layout-aside" }, exportAs: ["ngsLayoutAside"], ngImport: i0, template: "<ng-content/>\n", styles: [":host{display:block;height:100%;flex:none;width:var(--ngs-layout-aside-width)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] });
153
+ }
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: LayoutAside, decorators: [{
155
+ type: Component,
156
+ args: [{ selector: 'ngs-layout-aside', exportAs: 'ngsLayoutAside', host: {
157
+ 'class': 'ngs-layout-aside',
158
+ }, template: "<ng-content/>\n", styles: [":host{display:block;height:100%;flex:none;width:var(--ngs-layout-aside-width)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
159
+ }] });
160
+
161
+ class LayoutApiService {
162
+ _layoutSidebarStore = inject(LayoutSidebarStore);
163
+ sidebarVisibility = new EventEmitter();
164
+ hideSidebar(layoutId) {
165
+ this._layoutSidebarStore.showSidebarVisibility(layoutId, false);
166
+ this.sidebarVisibility.emit({
167
+ layoutId,
168
+ shown: false
169
+ });
170
+ }
171
+ showSidebar(layoutId) {
172
+ this._layoutSidebarStore.showSidebarVisibility(layoutId, true);
173
+ this.sidebarVisibility.emit({
174
+ layoutId,
175
+ shown: true
176
+ });
177
+ }
178
+ toggleSidebar(layoutId) {
179
+ this.isSidebarShown(layoutId) ? this.hideSidebar(layoutId) : this.showSidebar(layoutId);
180
+ }
181
+ isSidebarShown(layoutId) {
182
+ return this._layoutSidebarStore[layoutId]();
183
+ }
184
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: LayoutApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
185
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: LayoutApiService, providedIn: 'root' });
186
+ }
187
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: LayoutApiService, decorators: [{
188
+ type: Injectable,
189
+ args: [{
190
+ providedIn: 'root'
191
+ }]
192
+ }] });
193
+
194
+ /**
195
+ * Generated bundle index. Do not edit.
196
+ */
197
+
198
+ export { LAYOUT, LAYOUT_CONTENT, Layout, LayoutApiService, LayoutAside, LayoutContent, LayoutFooter, LayoutHeader, LayoutSidebar, LayoutSidebarStore, LayoutTopbar };
199
+ //# sourceMappingURL=ngstarter-ui-components-layout.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngstarter-ui-components-layout.mjs","sources":["../../../projects/components/layout/src/types.ts","../../../projects/components/layout/src/layout/layout.ts","../../../projects/components/layout/src/layout/layout.html","../../../projects/components/layout/src/layout-header/layout-header.ts","../../../projects/components/layout/src/layout-header/layout-header.html","../../../projects/components/layout/src/layout-content/layout-content.ts","../../../projects/components/layout/src/layout-content/layout-content.html","../../../projects/components/layout/src/layout-footer/layout-footer.ts","../../../projects/components/layout/src/layout-footer/layout-footer.html","../../../projects/components/layout/src/layout-topbar/layout-topbar.ts","../../../projects/components/layout/src/layout-topbar/layout-topbar.html","../../../projects/components/layout/src/layout.store.ts","../../../projects/components/layout/src/layout-sidebar/layout-sidebar.ts","../../../projects/components/layout/src/layout-sidebar/layout-sidebar.html","../../../projects/components/layout/src/layout-aside/layout-aside.ts","../../../projects/components/layout/src/layout-aside/layout-aside.html","../../../projects/components/layout/src/layout-api.service.ts","../../../projects/components/layout/ngstarter-ui-components-layout.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { CdkScrollable } from '@angular/cdk/scrolling';\n\nexport const LAYOUT = new InjectionToken('LAYOUT');\n\nexport interface LayoutSidebarVisibilityChange {\n layoutId: string;\n shown: boolean;\n}\n\nexport interface LayoutContentInterface {\n scrollContainer(): HTMLElement;\n scrollable?: CdkScrollable;\n}\n\nexport const LAYOUT_CONTENT = new InjectionToken<LayoutContentInterface>('LAYOUT_CONTENT');\n\n","import { booleanAttribute, Component, input } from '@angular/core';\nimport { LAYOUT } from '../types';\n\nlet nextId = 0;\n\n@Component({\n selector: 'ngs-layout',\n exportAs: 'ngsLayout',\n standalone: true,\n templateUrl: './layout.html',\n styleUrl: './layout.scss',\n providers: [\n {\n provide: LAYOUT,\n useExisting: Layout\n }\n ],\n host: {\n 'class': 'ngs-layout',\n '[class.is-root]': 'root()'\n }\n})\nexport class Layout {\n layoutId = input<string>(`layout-${nextId++}`);\n root = input(false, {\n transform: booleanAttribute\n });\n}\n","<ng-content select=\"ngs-layout-topbar\"/>\n<ng-content select=\"ngs-layout-header\"/>\n<div class=\"body\">\n <ng-content select=\"ngs-layout-sidebar\"/>\n <div class=\"content\">\n <ng-content/>\n </div>\n <ng-content select=\"ngs-layout-aside\"/>\n</div>\n<ng-content select=\"ngs-layout-footer\"/>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-layout-header',\n exportAs: 'ngsLayoutHeader',\n templateUrl: './layout-header.html',\n styleUrl: './layout-header.scss',\n host: {\n 'class': 'ngs-layout-header',\n }\n})\nexport class LayoutHeader {\n\n}\n","<ng-content />\n","import { booleanAttribute, Component, ElementRef, forwardRef, inject, input, OnInit, PLATFORM_ID } from '@angular/core';\nimport { NavigationStart, Router } from '@angular/router';\nimport { filter } from 'rxjs';\nimport { isPlatformServer } from '@angular/common';\nimport { CdkScrollable } from '@angular/cdk/scrolling';\nimport { LAYOUT_CONTENT, LayoutContentInterface } from '../types';\n\n@Component({\n selector: 'ngs-layout-content',\n exportAs: 'ngsLayoutContent',\n templateUrl: './layout-content.html',\n styleUrl: './layout-content.scss',\n hostDirectives: [\n CdkScrollable\n ],\n providers: [\n {\n provide: LAYOUT_CONTENT,\n useExisting: forwardRef(() => LayoutContent)\n }\n ],\n host: {\n 'class': 'ngs-layout-content ngs-scroll-lg'\n }\n})\nexport class LayoutContent implements OnInit, LayoutContentInterface {\n private _router = inject(Router);\n private _elementRef = inject(ElementRef);\n private _platformId = inject(PLATFORM_ID);\n readonly scrollable = inject(CdkScrollable);\n\n autoscrollToTop = input(true, {\n transform: booleanAttribute\n });\n\n scrollContainer(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n ngOnInit() {\n // Scroll a page to top if url changed\n this._router.events\n .pipe(\n filter(event=> event instanceof NavigationStart)\n )\n .subscribe(() => {\n if (!this.autoscrollToTop()) {\n return;\n }\n\n if (isPlatformServer(this._platformId)) {\n return;\n }\n\n this._elementRef.nativeElement.scrollTo({\n top: 0,\n left: 0\n });\n })\n ;\n }\n}\n","<ng-content/>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-layout-footer',\n exportAs: 'ngsLayoutFooter',\n templateUrl: './layout-footer.html',\n styleUrl: './layout-footer.scss',\n host: {\n 'class': 'ngs-layout-footer',\n }\n})\nexport class LayoutFooter {\n\n}\n","<ng-content />\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-layout-topbar',\n exportAs: 'ngsLayoutTopbar',\n templateUrl: './layout-topbar.html',\n styleUrl: './layout-topbar.scss',\n host: {\n 'class': 'ngs-layout-topbar'\n }\n})\nexport class LayoutTopbar {\n\n}\n","<ng-content />\n","import { patchState, signalStore, withMethods, withState } from '@ngrx/signals';\n\ntype VisibilityState = {\n [propName: string]: boolean;\n};\n\nconst initialState: VisibilityState = {\n root: true\n};\n\nexport const LayoutSidebarStore = signalStore(\n { providedIn: 'root' },\n withState(initialState),\n withMethods((store) => ({\n showSidebarVisibility(layoutId: string, isShown: boolean): void {\n patchState(store, {\n [layoutId]: isShown\n });\n }\n }))\n);\n","import { Component, computed, inject } from '@angular/core';\nimport { LAYOUT } from '../types';\nimport { Layout } from '../layout/layout';\nimport { LayoutSidebarStore } from '../layout.store';\n\n@Component({\n selector: 'ngs-layout-sidebar',\n exportAs: 'ngsLayoutSidebar',\n templateUrl: './layout-sidebar.html',\n styleUrl: './layout-sidebar.scss',\n host: {\n 'class': 'ngs-layout-sidebar',\n '[class.is-hidden]': '!_isShown()'\n }\n})\nexport class LayoutSidebar {\n private _parent = inject<Layout>(LAYOUT);\n private _layoutSidebarStore = inject<any>(LayoutSidebarStore);\n\n protected _isShown = computed<boolean>(() => {\n if (this._parent.layoutId() in this._layoutSidebarStore) {\n return this._layoutSidebarStore[this._parent.layoutId()]();\n }\n\n return true;\n });\n}\n","<ng-content/>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-layout-aside',\n exportAs: 'ngsLayoutAside',\n templateUrl: './layout-aside.html',\n styleUrl: './layout-aside.scss',\n host: {\n 'class': 'ngs-layout-aside',\n }\n})\nexport class LayoutAside {\n\n}\n","<ng-content/>\n","import { EventEmitter, inject, Injectable } from '@angular/core';\nimport { LayoutSidebarVisibilityChange } from './types';\nimport { LayoutSidebarStore } from './layout.store';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LayoutApiService {\n private _layoutSidebarStore = inject<any>(LayoutSidebarStore);\n readonly sidebarVisibility = new EventEmitter<LayoutSidebarVisibilityChange>();\n\n hideSidebar(layoutId: string): void {\n this._layoutSidebarStore.showSidebarVisibility(layoutId, false);\n this.sidebarVisibility.emit({\n layoutId,\n shown: false\n });\n }\n\n showSidebar(layoutId: string): void {\n this._layoutSidebarStore.showSidebarVisibility(layoutId, true);\n this.sidebarVisibility.emit({\n layoutId,\n shown: true\n });\n }\n\n toggleSidebar(layoutId: string): void {\n this.isSidebarShown(layoutId) ? this.hideSidebar(layoutId) : this.showSidebar(layoutId);\n }\n\n isSidebarShown(layoutId: string): boolean {\n return this._layoutSidebarStore[layoutId]();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,279 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, booleanAttribute, ChangeDetectionStrategy, Component, inject, ElementRef, Directive, numberAttribute, contentChildren, output, forwardRef, ChangeDetectorRef, model } from '@angular/core';
3
+ import * as i1 from '@ngstarter-ui/components/core';
4
+ import { Ripple } from '@ngstarter-ui/components/core';
5
+ import { SelectionModel } from '@angular/cdk/collections';
6
+ import { Checkbox } from '@ngstarter-ui/components/checkbox';
7
+ import { RadioButton } from '@ngstarter-ui/components/radio';
8
+
9
+ class List {
10
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
11
+ disableRipple = input(false, { ...(ngDevMode ? { debugName: "disableRipple" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: List, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.4", type: List, isStandalone: true, selector: "ngs-list", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, disableRipple: { classPropertyName: "disableRipple", publicName: "disableRipple", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.aria-disabled": "disabled()", "class.ngs-list-disabled": "disabled()" }, classAttribute: "ngs-list" }, exportAs: ["ngsList"], ngImport: i0, template: "<ng-content />\n", styles: [":host{--ngs-list-padding: calc(var(--spacing, .25rem) * 3) 0;--ngs-list-item-padding: calc(var(--spacing, .25rem) * 1) calc(var(--spacing, .25rem) * 3);--ngs-list-item-min-height: calc(var(--spacing, .25rem) * 12);--ngs-list-item-hover-bg: var(--nav-item-hover-bg);--ngs-list-item-active-bg: var(--nav-item-active-bg);--ngs-list-item-disabled-opacity: .38;--ngs-list-item-title-font-size: 1rem;--ngs-list-item-font-size: var(--nav-item-font-size);--ngs-list-item-gap: calc(var(--spacing, .25rem) * 2);--ngs-list-item-radius: var(--nav-item-radius);display:block;padding:var(--ngs-list-padding)}:host.ngs-list-disabled{pointer-events:none;opacity:var(--ngs-list-item-disabled-opacity)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: List, decorators: [{
16
+ type: Component,
17
+ args: [{ selector: 'ngs-list', exportAs: 'ngsList', host: {
18
+ 'class': 'ngs-list',
19
+ '[attr.aria-disabled]': 'disabled()',
20
+ '[class.ngs-list-disabled]': 'disabled()',
21
+ }, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content />\n", styles: [":host{--ngs-list-padding: calc(var(--spacing, .25rem) * 3) 0;--ngs-list-item-padding: calc(var(--spacing, .25rem) * 1) calc(var(--spacing, .25rem) * 3);--ngs-list-item-min-height: calc(var(--spacing, .25rem) * 12);--ngs-list-item-hover-bg: var(--nav-item-hover-bg);--ngs-list-item-active-bg: var(--nav-item-active-bg);--ngs-list-item-disabled-opacity: .38;--ngs-list-item-title-font-size: 1rem;--ngs-list-item-font-size: var(--nav-item-font-size);--ngs-list-item-gap: calc(var(--spacing, .25rem) * 2);--ngs-list-item-radius: var(--nav-item-radius);display:block;padding:var(--ngs-list-padding)}:host.ngs-list-disabled{pointer-events:none;opacity:var(--ngs-list-item-disabled-opacity)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
22
+ }], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], disableRipple: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableRipple", required: false }] }] } });
23
+
24
+ class ActionList extends List {
25
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ActionList, deps: null, target: i0.ɵɵFactoryTarget.Component });
26
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: ActionList, isStandalone: true, selector: "ngs-action-list", host: { properties: { "attr.aria-disabled": "disabled" }, classAttribute: "ngs-action-list ngs-list" }, providers: [
27
+ { provide: List, useExisting: ActionList }
28
+ ], exportAs: ["ngsActionList"], usesInheritance: true, ngImport: i0, template: "<ng-content />\n", styles: ["/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ActionList, decorators: [{
31
+ type: Component,
32
+ args: [{ selector: 'ngs-action-list', exportAs: 'ngsActionList', host: {
33
+ 'class': 'ngs-action-list ngs-list',
34
+ '[attr.aria-disabled]': 'disabled',
35
+ }, providers: [
36
+ { provide: List, useExisting: ActionList }
37
+ ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content />\n", styles: ["/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
38
+ }] });
39
+
40
+ class NavList extends List {
41
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: NavList, deps: null, target: i0.ɵɵFactoryTarget.Component });
42
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: NavList, isStandalone: true, selector: "ngs-nav-list", host: { attributes: { "role": "navigation" }, properties: { "attr.aria-disabled": "disabled()" }, classAttribute: "ngs-nav-list" }, providers: [
43
+ { provide: List, useExisting: NavList }
44
+ ], exportAs: ["ngsNavList"], usesInheritance: true, ngImport: i0, template: "<ng-content />\n", styles: [":host{--ngs-list-padding: calc(var(--spacing, .25rem) * 3) 0;--ngs-list-item-padding: calc(var(--spacing, .25rem) * 1) calc(var(--spacing, .25rem) * 3);--ngs-list-item-min-height: calc(var(--spacing, .25rem) * 12);--ngs-list-item-hover-bg: var(--nav-item-hover-bg);--ngs-list-item-active-bg: var(--nav-item-active-bg);--ngs-list-item-disabled-opacity: .38;--ngs-list-item-title-font-size: 1rem;--ngs-list-item-font-size: var(--nav-item-font-size);--ngs-list-item-gap: calc(var(--spacing, .25rem) * 2);--ngs-list-item-radius: var(--nav-item-radius);display:block;padding:var(--ngs-list-padding)}:host.ngs-list-disabled{pointer-events:none;opacity:var(--ngs-list-item-disabled-opacity)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: NavList, decorators: [{
47
+ type: Component,
48
+ args: [{ selector: 'ngs-nav-list', exportAs: 'ngsNavList', host: {
49
+ 'class': 'ngs-nav-list',
50
+ 'role': 'navigation',
51
+ '[attr.aria-disabled]': 'disabled()',
52
+ }, providers: [
53
+ { provide: List, useExisting: NavList }
54
+ ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content />\n", styles: [":host{--ngs-list-padding: calc(var(--spacing, .25rem) * 3) 0;--ngs-list-item-padding: calc(var(--spacing, .25rem) * 1) calc(var(--spacing, .25rem) * 3);--ngs-list-item-min-height: calc(var(--spacing, .25rem) * 12);--ngs-list-item-hover-bg: var(--nav-item-hover-bg);--ngs-list-item-active-bg: var(--nav-item-active-bg);--ngs-list-item-disabled-opacity: .38;--ngs-list-item-title-font-size: 1rem;--ngs-list-item-font-size: var(--nav-item-font-size);--ngs-list-item-gap: calc(var(--spacing, .25rem) * 2);--ngs-list-item-radius: var(--nav-item-radius);display:block;padding:var(--ngs-list-padding)}:host.ngs-list-disabled{pointer-events:none;opacity:var(--ngs-list-item-disabled-opacity)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
55
+ }] });
56
+
57
+ class ListItemAvatar {
58
+ _elementRef = inject(ElementRef);
59
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ListItemAvatar, deps: [], target: i0.ɵɵFactoryTarget.Directive });
60
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.4", type: ListItemAvatar, isStandalone: true, selector: "[ngsListItemAvatar]", host: { classAttribute: "ngs-list-item-avatar" }, ngImport: i0 });
61
+ }
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ListItemAvatar, decorators: [{
63
+ type: Directive,
64
+ args: [{
65
+ selector: '[ngsListItemAvatar]',
66
+ standalone: true,
67
+ host: {
68
+ 'class': 'ngs-list-item-avatar',
69
+ },
70
+ }]
71
+ }] });
72
+
73
+ class ListItemIcon {
74
+ _elementRef = inject(ElementRef);
75
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ListItemIcon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
76
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.4", type: ListItemIcon, isStandalone: true, selector: "[ngsListItemIcon]", host: { classAttribute: "ngs-list-item-icon" }, ngImport: i0 });
77
+ }
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ListItemIcon, decorators: [{
79
+ type: Directive,
80
+ args: [{
81
+ selector: '[ngsListItemIcon]',
82
+ standalone: true,
83
+ host: {
84
+ 'class': 'ngs-list-item-icon',
85
+ },
86
+ }]
87
+ }] });
88
+
89
+ class ListItemTitle {
90
+ _elementRef = inject(ElementRef);
91
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ListItemTitle, deps: [], target: i0.ɵɵFactoryTarget.Directive });
92
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.4", type: ListItemTitle, isStandalone: true, selector: "[ngsListItemTitle]", host: { classAttribute: "ngs-list-item-title" }, ngImport: i0 });
93
+ }
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ListItemTitle, decorators: [{
95
+ type: Directive,
96
+ args: [{
97
+ selector: '[ngsListItemTitle]',
98
+ standalone: true,
99
+ host: {
100
+ 'class': 'ngs-list-item-title',
101
+ },
102
+ }]
103
+ }] });
104
+
105
+ class ListItemLine {
106
+ _elementRef = inject(ElementRef);
107
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ListItemLine, deps: [], target: i0.ɵɵFactoryTarget.Directive });
108
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.4", type: ListItemLine, isStandalone: true, selector: "[ngsListItemLine], [ngsLine]", host: { classAttribute: "ngs-list-item-line" }, ngImport: i0 });
109
+ }
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ListItemLine, decorators: [{
111
+ type: Directive,
112
+ args: [{
113
+ selector: '[ngsListItemLine], [ngsLine]',
114
+ standalone: true,
115
+ host: {
116
+ 'class': 'ngs-list-item-line',
117
+ },
118
+ }]
119
+ }] });
120
+
121
+ class ListItemMeta {
122
+ _elementRef = inject(ElementRef);
123
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ListItemMeta, deps: [], target: i0.ɵɵFactoryTarget.Directive });
124
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.4", type: ListItemMeta, isStandalone: true, selector: "[ngsListItemMeta]", host: { classAttribute: "ngs-list-item-meta" }, ngImport: i0 });
125
+ }
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ListItemMeta, decorators: [{
127
+ type: Directive,
128
+ args: [{
129
+ selector: '[ngsListItemMeta]',
130
+ standalone: true,
131
+ host: {
132
+ 'class': 'ngs-list-item-meta',
133
+ },
134
+ }]
135
+ }] });
136
+
137
+ class ListItem {
138
+ _list = inject(List, { optional: true });
139
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
140
+ lines = input(null, { ...(ngDevMode ? { debugName: "lines" } : /* istanbul ignore next */ {}), transform: numberAttribute });
141
+ _avatars = contentChildren(ListItemAvatar, { ...(ngDevMode ? { debugName: "_avatars" } : /* istanbul ignore next */ {}), descendants: true });
142
+ _icons = contentChildren(ListItemIcon, { ...(ngDevMode ? { debugName: "_icons" } : /* istanbul ignore next */ {}), descendants: true });
143
+ _titles = contentChildren(ListItemTitle, { ...(ngDevMode ? { debugName: "_titles" } : /* istanbul ignore next */ {}), descendants: true });
144
+ _lines = contentChildren(ListItemLine, { ...(ngDevMode ? { debugName: "_lines" } : /* istanbul ignore next */ {}), descendants: true });
145
+ _meta = contentChildren(ListItemMeta, { ...(ngDevMode ? { debugName: "_meta" } : /* istanbul ignore next */ {}), descendants: true });
146
+ get disableRipple() {
147
+ return this.disabled() || this._list?.disableRipple();
148
+ }
149
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ListItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
150
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.4", type: ListItem, isStandalone: true, selector: "ngs-list-item, a[ngs-list-item], button[ngs-list-item]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, lines: { classPropertyName: "lines", publicName: "lines", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.ngs-list-item-disabled": "disabled()", "attr.aria-disabled": "disabled()", "class.ngs-list-item-with-avatar": "_avatars().length > 0", "class.ngs-list-item-with-icon": "_icons().length > 0", "class.ngs-list-item-with-meta": "_meta().length > 0", "attr.data-lines": "lines()" }, classAttribute: "ngs-list-item" }, queries: [{ propertyName: "_avatars", predicate: ListItemAvatar, descendants: true, isSignal: true }, { propertyName: "_icons", predicate: ListItemIcon, descendants: true, isSignal: true }, { propertyName: "_titles", predicate: ListItemTitle, descendants: true, isSignal: true }, { propertyName: "_lines", predicate: ListItemLine, descendants: true, isSignal: true }, { propertyName: "_meta", predicate: ListItemMeta, descendants: true, isSignal: true }], exportAs: ["ngsListItem"], hostDirectives: [{ directive: i1.Ripple, inputs: ["ngsRippleDisabled", "disableRipple"] }], ngImport: i0, template: "<ng-content select=\"[ngsListItemAvatar],[ngsListItemIcon]\" />\n\n<span class=\"ngs-list-item-content\">\n <div class=\"ngs-list-item-title\">\n <ng-content select=\"[ngsListItemTitle]\" />\n </div>\n <div class=\"ngs-list-item-line\">\n <ng-content select=\"[ngsListItemLine],[ngsLine]\" />\n </div>\n <span class=\"ngs-list-item-unscoped-content\">\n <ng-content />\n </span>\n</span>\n\n<ng-content select=\"[ngsListItemMeta]\" />\n", styles: [":host{display:flex;align-items:center;padding:var(--ngs-list-item-padding);min-height:var(--ngs-list-item-min-height);cursor:pointer;position:relative;overflow:hidden;box-sizing:border-box;text-decoration:none;gap:var(--ngs-list-item-gap);border-radius:var(--ngs-list-item-radius);color:var(--nav-item-color);font-size:var(--ngs-list-item-font-size)}:host:not(.is-active):hover{color:var(--nav-item-hover-color);background:var(--ngs-list-item-hover-bg)}:host.is-active{background:var(--ngs-list-item-active-bg);color:var(--ngs-list-item-active-color)}:host.ngs-list-item-disabled{pointer-events:none;opacity:var(--ngs-list-item-disabled-opacity)}:host .ngs-list-item-content{display:flex;flex-direction:column;flex:1;overflow:hidden}:host .ngs-list-item-title{font-size:var(--ngs-list-item-title-font-size);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .ngs-list-item-title:empty{display:none}:host .ngs-list-item-line{font-size:var(--ngs-list-item-line-font-size);color:var(--ngs-list-item-line-color);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .ngs-list-item-line:empty{display:none}:host .ngs-list-item-avatar{flex-shrink:0}:host .ngs-list-item-meta{flex-shrink:0;margin-left:auto}:host .ngs-subheader{display:block;padding:16px;font-size:14px;font-weight:500;color:var(--ngs-list-item-line-color)}:host[data-lines=\"2\"]{--ngs-list-item-min-height: 72px}:host[data-lines=\"3\"]{--ngs-list-item-min-height: 88px}:host.ngs-list-item-with-avatar{--ngs-list-item-min-height: 56px}:host.ngs-list-item-with-icon{--ngs-list-item-min-height: 48px}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
151
+ }
152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ListItem, decorators: [{
153
+ type: Component,
154
+ args: [{ selector: 'ngs-list-item, a[ngs-list-item], button[ngs-list-item]', exportAs: 'ngsListItem', hostDirectives: [
155
+ {
156
+ directive: Ripple,
157
+ inputs: ['ngsRippleDisabled: disableRipple']
158
+ }
159
+ ], changeDetection: ChangeDetectionStrategy.OnPush, host: {
160
+ 'class': 'ngs-list-item',
161
+ '[class.ngs-list-item-disabled]': 'disabled()',
162
+ '[attr.aria-disabled]': 'disabled()',
163
+ '[class.ngs-list-item-with-avatar]': '_avatars().length > 0',
164
+ '[class.ngs-list-item-with-icon]': '_icons().length > 0',
165
+ '[class.ngs-list-item-with-meta]': '_meta().length > 0',
166
+ '[attr.data-lines]': 'lines()',
167
+ }, template: "<ng-content select=\"[ngsListItemAvatar],[ngsListItemIcon]\" />\n\n<span class=\"ngs-list-item-content\">\n <div class=\"ngs-list-item-title\">\n <ng-content select=\"[ngsListItemTitle]\" />\n </div>\n <div class=\"ngs-list-item-line\">\n <ng-content select=\"[ngsListItemLine],[ngsLine]\" />\n </div>\n <span class=\"ngs-list-item-unscoped-content\">\n <ng-content />\n </span>\n</span>\n\n<ng-content select=\"[ngsListItemMeta]\" />\n", styles: [":host{display:flex;align-items:center;padding:var(--ngs-list-item-padding);min-height:var(--ngs-list-item-min-height);cursor:pointer;position:relative;overflow:hidden;box-sizing:border-box;text-decoration:none;gap:var(--ngs-list-item-gap);border-radius:var(--ngs-list-item-radius);color:var(--nav-item-color);font-size:var(--ngs-list-item-font-size)}:host:not(.is-active):hover{color:var(--nav-item-hover-color);background:var(--ngs-list-item-hover-bg)}:host.is-active{background:var(--ngs-list-item-active-bg);color:var(--ngs-list-item-active-color)}:host.ngs-list-item-disabled{pointer-events:none;opacity:var(--ngs-list-item-disabled-opacity)}:host .ngs-list-item-content{display:flex;flex-direction:column;flex:1;overflow:hidden}:host .ngs-list-item-title{font-size:var(--ngs-list-item-title-font-size);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .ngs-list-item-title:empty{display:none}:host .ngs-list-item-line{font-size:var(--ngs-list-item-line-font-size);color:var(--ngs-list-item-line-color);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .ngs-list-item-line:empty{display:none}:host .ngs-list-item-avatar{flex-shrink:0}:host .ngs-list-item-meta{flex-shrink:0;margin-left:auto}:host .ngs-subheader{display:block;padding:16px;font-size:14px;font-weight:500;color:var(--ngs-list-item-line-color)}:host[data-lines=\"2\"]{--ngs-list-item-min-height: 72px}:host[data-lines=\"3\"]{--ngs-list-item-min-height: 88px}:host.ngs-list-item-with-avatar{--ngs-list-item-min-height: 56px}:host.ngs-list-item-with-icon{--ngs-list-item-min-height: 48px}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
168
+ }], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], lines: [{ type: i0.Input, args: [{ isSignal: true, alias: "lines", required: false }] }], _avatars: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => ListItemAvatar), { ...{ descendants: true }, isSignal: true }] }], _icons: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => ListItemIcon), { ...{ descendants: true }, isSignal: true }] }], _titles: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => ListItemTitle), { ...{ descendants: true }, isSignal: true }] }], _lines: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => ListItemLine), { ...{ descendants: true }, isSignal: true }] }], _meta: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => ListItemMeta), { ...{ descendants: true }, isSignal: true }] }] } });
169
+
170
+ class SelectionList extends List {
171
+ multiple = input(false, { ...(ngDevMode ? { debugName: "multiple" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
172
+ selectionChange = output();
173
+ options = contentChildren(forwardRef(() => ListOption), { ...(ngDevMode ? { debugName: "options" } : /* istanbul ignore next */ {}), descendants: true });
174
+ selectedOptions;
175
+ constructor() {
176
+ super();
177
+ }
178
+ ngOnInit() {
179
+ this.selectedOptions = new SelectionModel(this.multiple());
180
+ this.selectedOptions.changed.subscribe(event => {
181
+ if (this.multiple()) {
182
+ event.added.forEach(option => option.selected.set(true));
183
+ event.removed.forEach(option => option.selected.set(false));
184
+ }
185
+ else {
186
+ this.options().forEach(option => {
187
+ option.selected.set(this.selectedOptions.isSelected(option));
188
+ });
189
+ }
190
+ });
191
+ }
192
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: SelectionList, deps: [], target: i0.ɵɵFactoryTarget.Component });
193
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.4", type: SelectionList, isStandalone: true, selector: "ngs-selection-list", inputs: { multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectionChange: "selectionChange" }, host: { attributes: { "role": "listbox" }, properties: { "attr.aria-disabled": "disabled()", "attr.aria-multiselectable": "multiple()" }, classAttribute: "ngs-selection-list ngs-list" }, providers: [
194
+ { provide: List, useExisting: SelectionList }
195
+ ], queries: [{ propertyName: "options", predicate: i0.forwardRef(() => ListOption), descendants: true, isSignal: true }], exportAs: ["ngsSelectionList"], usesInheritance: true, ngImport: i0, template: "<ng-content />\n", styles: [":host{--ngs-list-padding: calc(var(--spacing, .25rem) * 3) 0;--ngs-list-item-padding: calc(var(--spacing, .25rem) * 1) calc(var(--spacing, .25rem) * 3);--ngs-list-item-min-height: calc(var(--spacing, .25rem) * 12);--ngs-list-item-hover-bg: var(--nav-item-hover-bg);--ngs-list-item-active-bg: var(--nav-item-active-bg);--ngs-list-item-disabled-opacity: .38;--ngs-list-item-title-font-size: 1rem;--ngs-list-item-font-size: var(--nav-item-font-size);--ngs-list-item-gap: calc(var(--spacing, .25rem) * 2);--ngs-list-item-radius: var(--nav-item-radius);display:block;padding:var(--ngs-list-padding)}:host.ngs-list-disabled{pointer-events:none;opacity:var(--ngs-list-item-disabled-opacity)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n", "/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
196
+ }
197
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: SelectionList, decorators: [{
198
+ type: Component,
199
+ args: [{ selector: 'ngs-selection-list', exportAs: 'ngsSelectionList', host: {
200
+ 'class': 'ngs-selection-list ngs-list',
201
+ '[attr.aria-disabled]': 'disabled()',
202
+ 'role': 'listbox',
203
+ '[attr.aria-multiselectable]': 'multiple()',
204
+ }, providers: [
205
+ { provide: List, useExisting: SelectionList }
206
+ ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content />\n", styles: [":host{--ngs-list-padding: calc(var(--spacing, .25rem) * 3) 0;--ngs-list-item-padding: calc(var(--spacing, .25rem) * 1) calc(var(--spacing, .25rem) * 3);--ngs-list-item-min-height: calc(var(--spacing, .25rem) * 12);--ngs-list-item-hover-bg: var(--nav-item-hover-bg);--ngs-list-item-active-bg: var(--nav-item-active-bg);--ngs-list-item-disabled-opacity: .38;--ngs-list-item-title-font-size: 1rem;--ngs-list-item-font-size: var(--nav-item-font-size);--ngs-list-item-gap: calc(var(--spacing, .25rem) * 2);--ngs-list-item-radius: var(--nav-item-radius);display:block;padding:var(--ngs-list-padding)}:host.ngs-list-disabled{pointer-events:none;opacity:var(--ngs-list-item-disabled-opacity)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n", "/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
207
+ }], ctorParameters: () => [], propDecorators: { multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], selectionChange: [{ type: i0.Output, args: ["selectionChange"] }], options: [{ type: i0.ContentChildren, args: [forwardRef(() => ListOption), { ...{ descendants: true }, isSignal: true }] }] } });
208
+
209
+ class ListOption extends ListItem {
210
+ _selectionList = inject(SelectionList);
211
+ _changeDetectorRef = inject(ChangeDetectorRef);
212
+ _avatars = contentChildren(ListItemAvatar, { ...(ngDevMode ? { debugName: "_avatars" } : /* istanbul ignore next */ {}), descendants: true });
213
+ _icons = contentChildren(ListItemIcon, { ...(ngDevMode ? { debugName: "_icons" } : /* istanbul ignore next */ {}), descendants: true });
214
+ _meta = contentChildren(ListItemMeta, { ...(ngDevMode ? { debugName: "_meta" } : /* istanbul ignore next */ {}), descendants: true });
215
+ selected = model(false, ...(ngDevMode ? [{ debugName: "selected" }] : /* istanbul ignore next */ []));
216
+ value = input(...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
217
+ selectedChange = output();
218
+ _toggle() {
219
+ if (this.disabled()) {
220
+ return;
221
+ }
222
+ if (this._selectionList.multiple()) {
223
+ this.selected.set(!this.selected());
224
+ this._selectionList.selectedOptions.toggle(this);
225
+ }
226
+ else {
227
+ this.selected.set(true);
228
+ this._selectionList.selectedOptions.select(this);
229
+ }
230
+ this.selectedChange.emit(this.selected());
231
+ this._selectionList.selectionChange.emit({
232
+ option: this,
233
+ selected: this.selected()
234
+ });
235
+ }
236
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ListOption, deps: null, target: i0.ɵɵFactoryTarget.Component });
237
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: ListOption, isStandalone: true, selector: "ngs-list-option", inputs: { selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selectedChange", selectedChange: "selectedChange" }, host: { attributes: { "role": "option" }, listeners: { "click": "_toggle()" }, properties: { "class.ngs-list-item-disabled": "disabled()", "class.ngs-list-option-selected": "selected()", "attr.aria-selected": "selected()", "attr.aria-disabled": "disabled()", "class.ngs-list-item-with-avatar": "_avatars().length > 0", "class.ngs-list-item-with-icon": "_icons().length > 0", "class.ngs-list-item-with-meta": "_meta().length > 0" }, classAttribute: "ngs-list-option ngs-list-item" }, queries: [{ propertyName: "_avatars", predicate: ListItemAvatar, descendants: true, isSignal: true }, { propertyName: "_icons", predicate: ListItemIcon, descendants: true, isSignal: true }, { propertyName: "_meta", predicate: ListItemMeta, descendants: true, isSignal: true }], exportAs: ["ngsListOption"], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[ngsListItemAvatar],[ngsListItemIcon]\" />\n\n<span class=\"ngs-list-item-content\">\n <div class=\"ngs-list-item-title\">\n <ng-content select=\"[ngsListItemTitle]\" />\n </div>\n <div class=\"ngs-list-item-line\">\n <ng-content select=\"[ngsListItemLine],[ngsLine]\" />\n </div>\n <span class=\"ngs-list-item-unscoped-content\">\n <ng-content />\n </span>\n</span>\n\n<ng-content select=\"[ngsListItemMeta]\" />\n\n@if (_selectionList.multiple()) {\n <ngs-checkbox [checked]=\"selected()\" [disabled]=\"disabled()\" />\n} @else {\n <ngs-radio-button [checked]=\"selected()\" [disabled]=\"disabled()\" />\n}\n", styles: [":host{display:flex;align-items:center;padding:var(--ngs-list-item-padding);min-height:var(--ngs-list-item-min-height);cursor:pointer;position:relative;overflow:hidden;box-sizing:border-box;text-decoration:none;gap:var(--ngs-list-item-gap);border-radius:var(--ngs-list-item-radius);color:var(--nav-item-color);font-size:var(--ngs-list-item-font-size)}:host:not(.is-active):hover{color:var(--nav-item-hover-color);background:var(--ngs-list-item-hover-bg)}:host.is-active{background:var(--ngs-list-item-active-bg);color:var(--ngs-list-item-active-color)}:host.ngs-list-item-disabled{pointer-events:none;opacity:var(--ngs-list-item-disabled-opacity)}:host .ngs-list-item-content{display:flex;flex-direction:column;flex:1;overflow:hidden}:host .ngs-list-item-title{font-size:var(--ngs-list-item-title-font-size);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .ngs-list-item-title:empty{display:none}:host .ngs-list-item-line{font-size:var(--ngs-list-item-line-font-size);color:var(--ngs-list-item-line-color);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .ngs-list-item-line:empty{display:none}:host .ngs-list-item-avatar{flex-shrink:0}:host .ngs-list-item-meta{flex-shrink:0;margin-left:auto}:host .ngs-subheader{display:block;padding:16px;font-size:14px;font-weight:500;color:var(--ngs-list-item-line-color)}:host[data-lines=\"2\"]{--ngs-list-item-min-height: 72px}:host[data-lines=\"3\"]{--ngs-list-item-min-height: 88px}:host.ngs-list-item-with-avatar{--ngs-list-item-min-height: 56px}:host.ngs-list-item-with-icon{--ngs-list-item-min-height: 48px}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n", ":host.ngs-list-option-selected{background:var(--ngs-list-item-active-bg)}:host ngs-checkbox,:host ngs-radio-button{pointer-events:none;flex-shrink:0;margin-left:auto}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: Checkbox, selector: "ngs-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["checkedChange", "disabledChange", "indeterminateChange", "change"], exportAs: ["ngsCheckbox"] }, { kind: "component", type: RadioButton, selector: "ngs-radio-button", inputs: ["id", "value", "name", "checked", "disabled"], outputs: ["checkedChange", "change"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
238
+ }
239
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ListOption, decorators: [{
240
+ type: Component,
241
+ args: [{ selector: 'ngs-list-option', exportAs: 'ngsListOption', imports: [
242
+ Checkbox,
243
+ RadioButton
244
+ ], host: {
245
+ 'class': 'ngs-list-option ngs-list-item',
246
+ '[class.ngs-list-item-disabled]': 'disabled()',
247
+ '[class.ngs-list-option-selected]': 'selected()',
248
+ '[attr.aria-selected]': 'selected()',
249
+ '[attr.aria-disabled]': 'disabled()',
250
+ 'role': 'option',
251
+ '[class.ngs-list-item-with-avatar]': '_avatars().length > 0',
252
+ '[class.ngs-list-item-with-icon]': '_icons().length > 0',
253
+ '[class.ngs-list-item-with-meta]': '_meta().length > 0',
254
+ '(click)': '_toggle()',
255
+ }, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"[ngsListItemAvatar],[ngsListItemIcon]\" />\n\n<span class=\"ngs-list-item-content\">\n <div class=\"ngs-list-item-title\">\n <ng-content select=\"[ngsListItemTitle]\" />\n </div>\n <div class=\"ngs-list-item-line\">\n <ng-content select=\"[ngsListItemLine],[ngsLine]\" />\n </div>\n <span class=\"ngs-list-item-unscoped-content\">\n <ng-content />\n </span>\n</span>\n\n<ng-content select=\"[ngsListItemMeta]\" />\n\n@if (_selectionList.multiple()) {\n <ngs-checkbox [checked]=\"selected()\" [disabled]=\"disabled()\" />\n} @else {\n <ngs-radio-button [checked]=\"selected()\" [disabled]=\"disabled()\" />\n}\n", styles: [":host{display:flex;align-items:center;padding:var(--ngs-list-item-padding);min-height:var(--ngs-list-item-min-height);cursor:pointer;position:relative;overflow:hidden;box-sizing:border-box;text-decoration:none;gap:var(--ngs-list-item-gap);border-radius:var(--ngs-list-item-radius);color:var(--nav-item-color);font-size:var(--ngs-list-item-font-size)}:host:not(.is-active):hover{color:var(--nav-item-hover-color);background:var(--ngs-list-item-hover-bg)}:host.is-active{background:var(--ngs-list-item-active-bg);color:var(--ngs-list-item-active-color)}:host.ngs-list-item-disabled{pointer-events:none;opacity:var(--ngs-list-item-disabled-opacity)}:host .ngs-list-item-content{display:flex;flex-direction:column;flex:1;overflow:hidden}:host .ngs-list-item-title{font-size:var(--ngs-list-item-title-font-size);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .ngs-list-item-title:empty{display:none}:host .ngs-list-item-line{font-size:var(--ngs-list-item-line-font-size);color:var(--ngs-list-item-line-color);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .ngs-list-item-line:empty{display:none}:host .ngs-list-item-avatar{flex-shrink:0}:host .ngs-list-item-meta{flex-shrink:0;margin-left:auto}:host .ngs-subheader{display:block;padding:16px;font-size:14px;font-weight:500;color:var(--ngs-list-item-line-color)}:host[data-lines=\"2\"]{--ngs-list-item-min-height: 72px}:host[data-lines=\"3\"]{--ngs-list-item-min-height: 88px}:host.ngs-list-item-with-avatar{--ngs-list-item-min-height: 56px}:host.ngs-list-item-with-icon{--ngs-list-item-min-height: 48px}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n", ":host.ngs-list-option-selected{background:var(--ngs-list-item-active-bg)}:host ngs-checkbox,:host ngs-radio-button{pointer-events:none;flex-shrink:0;margin-left:auto}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
256
+ }], propDecorators: { _avatars: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => ListItemAvatar), { ...{ descendants: true }, isSignal: true }] }], _icons: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => ListItemIcon), { ...{ descendants: true }, isSignal: true }] }], _meta: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => ListItemMeta), { ...{ descendants: true }, isSignal: true }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }, { type: i0.Output, args: ["selectedChange"] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], selectedChange: [{ type: i0.Output, args: ["selectedChange"] }] } });
257
+
258
+ class Subheader {
259
+ _elementRef = inject(ElementRef);
260
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Subheader, deps: [], target: i0.ɵɵFactoryTarget.Directive });
261
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.4", type: Subheader, isStandalone: true, selector: "[ngsSubheader]", host: { classAttribute: "ngs-subheader" }, ngImport: i0 });
262
+ }
263
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Subheader, decorators: [{
264
+ type: Directive,
265
+ args: [{
266
+ selector: '[ngsSubheader]',
267
+ standalone: true,
268
+ host: {
269
+ 'class': 'ngs-subheader',
270
+ },
271
+ }]
272
+ }] });
273
+
274
+ /**
275
+ * Generated bundle index. Do not edit.
276
+ */
277
+
278
+ export { ActionList, List, ListItem, ListItemAvatar, ListItemIcon, ListItemLine, ListItemMeta, ListItemTitle, ListOption, NavList, SelectionList, Subheader };
279
+ //# sourceMappingURL=ngstarter-ui-components-list.mjs.map