@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,648 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, booleanAttribute, inject, DestroyRef, signal, computed, forwardRef, ContentChildren, ChangeDetectionStrategy, Component, Directive } from '@angular/core';
3
+ import * as i1 from '@angular/cdk/table';
4
+ import { CdkTable, CdkTableModule, CdkHeaderRowDef, CdkColumnDef, CDK_TABLE, STICKY_POSITIONING_LISTENER, HeaderRowOutlet, FooterRowOutlet, DataRowOutlet, NoDataRowOutlet, CdkCell, CdkCellDef, CdkFooterCell, CdkFooterCellDef, CdkFooterRow, CdkCellOutlet, CdkFooterRowDef, CdkHeaderCell, CdkHeaderCellDef, CdkHeaderRow, CdkNoDataRow, CdkRow, CdkRowDef, CdkTextColumn } from '@angular/cdk/table';
5
+ import { takeUntilDestroyed, outputToObservable } from '@angular/core/rxjs-interop';
6
+ import { DataSource } from '@angular/cdk/collections';
7
+ import { BehaviorSubject, Subject, Subscription, merge, of, combineLatest, isObservable, Observable } from 'rxjs';
8
+ import { map } from 'rxjs/operators';
9
+
10
+ class Table extends CdkTable {
11
+ hideHeader = input(false, { ...(ngDevMode ? { debugName: "hideHeader" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
12
+ hideBody = input(false, { ...(ngDevMode ? { debugName: "hideBody" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
13
+ hideFooter = input(false, { ...(ngDevMode ? { debugName: "hideFooter" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
14
+ destroyRef = inject(DestroyRef);
15
+ /**
16
+ * Whether the table has any sticky header rows.
17
+ * This is used to apply the 'ngs-table-sticky-header' class.
18
+ */
19
+ _hasStickyHeader = signal(false, ...(ngDevMode ? [{ debugName: "_hasStickyHeader" }] : /* istanbul ignore next */ []));
20
+ hasStickyHeader = computed(() => this._hasStickyHeader(), ...(ngDevMode ? [{ debugName: "hasStickyHeader" }] : /* istanbul ignore next */ []));
21
+ // We define our own queries to track changes, avoiding conflict with CdkTable's internal properties.
22
+ // Angular will populate these just fine alongside the parent's queries.
23
+ headerRowDefsQuery;
24
+ columnDefsQuery;
25
+ /**
26
+ * Whether the table has any sticky columns.
27
+ */
28
+ _hasStickyColumns = signal(false, ...(ngDevMode ? [{ debugName: "_hasStickyColumns" }] : /* istanbul ignore next */ []));
29
+ hasStickyColumns = computed(() => this._hasStickyColumns(), ...(ngDevMode ? [{ debugName: "hasStickyColumns" }] : /* istanbul ignore next */ []));
30
+ _updateStickyStates() {
31
+ if (this.headerRowDefsQuery) {
32
+ const headerRowDefs = this.headerRowDefsQuery.toArray();
33
+ const hasStickyHeaderRows = headerRowDefs.some((def) => def.sticky);
34
+ this._hasStickyHeader.set(hasStickyHeaderRows);
35
+ }
36
+ if (this.columnDefsQuery) {
37
+ const colDefs = this.columnDefsQuery.toArray();
38
+ const hasStickyColumns = colDefs.some((def) => def.sticky || def.stickyEnd);
39
+ this._hasStickyColumns.set(hasStickyColumns);
40
+ // Directly set the property on the base class.
41
+ // This triggers the base class setter logic which handles style updates.
42
+ this.fixedLayout = hasStickyColumns;
43
+ }
44
+ }
45
+ ngOnInit() {
46
+ super.ngOnInit();
47
+ }
48
+ ngAfterContentInit() {
49
+ super.ngAfterContentInit();
50
+ this.headerRowDefsQuery.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
51
+ this._updateStickyStates();
52
+ });
53
+ this.columnDefsQuery.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
54
+ this._updateStickyStates();
55
+ });
56
+ this._updateStickyStates();
57
+ }
58
+ stickyCssClass = 'ngs-table-sticky';
59
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Table, deps: null, target: i0.ɵɵFactoryTarget.Component });
60
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.4", type: Table, isStandalone: true, selector: "ngs-table, table[ngs-table]", inputs: { hideHeader: { classPropertyName: "hideHeader", publicName: "hideHeader", isSignal: true, isRequired: false, transformFunction: null }, hideBody: { classPropertyName: "hideBody", publicName: "hideBody", isSignal: true, isRequired: false, transformFunction: null }, hideFooter: { classPropertyName: "hideFooter", publicName: "hideFooter", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "grid" }, properties: { "class.ngs-table-fixed-layout": "fixedLayout", "class.ngs-table-sticky": "hasStickyColumns()" }, classAttribute: "ngs-table not-prose" }, providers: [
61
+ { provide: CdkTable, useExisting: forwardRef(() => Table) },
62
+ { provide: CDK_TABLE, useExisting: forwardRef(() => Table) },
63
+ { provide: STICKY_POSITIONING_LISTENER, useValue: null },
64
+ ], queries: [{ propertyName: "headerRowDefsQuery", predicate: CdkHeaderRowDef, descendants: true }, { propertyName: "columnDefsQuery", predicate: CdkColumnDef, descendants: true }], exportAs: ["ngsTable"], usesInheritance: true, ngImport: i0, template: "<thead [class.ngs-table-sticky-header]=\"hasStickyHeader()\" [class.hidden]=\"hideHeader()\">\n <ng-container headerRowOutlet />\n</thead>\n<tbody [class.hidden]=\"hideBody()\">\n <ng-container rowOutlet />\n <ng-container noDataRowOutlet />\n</tbody>\n<tfoot [class.hidden]=\"hideFooter()\">\n <ng-container footerRowOutlet />\n</tfoot>\n", styles: [":host{background:var(--ngs-table-background);border-spacing:0;width:100%;display:table;border-collapse:collapse}:host.ngs-table-fixed-layout{table-layout:fixed;min-width:100%;width:max-content}:host ::ng-deep .ngs-header-cell{font-size:var(--ngs-table-header-cell-font-size);font-weight:var(--ngs-table-header-cell-font-weight);color:var(--ngs-table-header-cell-color);text-transform:uppercase;overflow:hidden;display:table-cell;vertical-align:middle;text-align:start}:host ::ng-deep .ngs-header-cell,:host ::ng-deep .ngs-cell,:host ::ng-deep .ngs-footer-cell{display:table-cell;vertical-align:middle;text-align:start;padding:var(--ngs-table-cell-padding);font-size:var(--ngs-table-cell-font-size);height:var(--ngs-table-row-height);background:var(--ngs-table-background)}:host ::ng-deep .ngs-header-cell.ngs-table-sticky,:host ::ng-deep .ngs-cell.ngs-table-sticky,:host ::ng-deep .ngs-footer-cell.ngs-table-sticky{position:sticky!important;background:inherit;z-index:10;background-clip:padding-box}:host ::ng-deep .ngs-header-cell.ngs-table-sticky.ngs-header-cell,:host ::ng-deep .ngs-cell.ngs-table-sticky.ngs-header-cell,:host ::ng-deep .ngs-footer-cell.ngs-table-sticky.ngs-header-cell{z-index:100;background:var(--ngs-table-header-cell-background, var(--ngs-table-background))}:host ::ng-deep .ngs-header-cell.ngs-table-sticky.ngs-footer-cell,:host ::ng-deep .ngs-cell.ngs-table-sticky.ngs-footer-cell,:host ::ng-deep .ngs-footer-cell.ngs-table-sticky.ngs-footer-cell{z-index:100;background:var(--ngs-table-header-cell-background, var(--ngs-table-background))}:host ::ng-deep .ngs-header-cell.ngs-table-sticky.ngs-table-sticky-border-elem-left:before,:host ::ng-deep .ngs-cell.ngs-table-sticky.ngs-table-sticky-border-elem-left:before,:host ::ng-deep .ngs-footer-cell.ngs-table-sticky.ngs-table-sticky-border-elem-left:before{content:\"\";position:absolute;top:0;right:0;width:1px;bottom:0;background:var(--ngs-table-border-color)}:host ::ng-deep .ngs-header-cell.ngs-table-sticky.ngs-table-sticky-border-elem-right:before,:host ::ng-deep .ngs-cell.ngs-table-sticky.ngs-table-sticky-border-elem-right:before,:host ::ng-deep .ngs-footer-cell.ngs-table-sticky.ngs-table-sticky-border-elem-right:before{content:\"\";position:absolute;top:0;left:0;width:1px;bottom:0;background:var(--ngs-table-border-color)}:host ::ng-deep .ngs-header-cell.ngs-table-sticky.ngs-table-sticky-border-elem-top:after,:host ::ng-deep .ngs-cell.ngs-table-sticky.ngs-table-sticky-border-elem-top:after,:host ::ng-deep .ngs-footer-cell.ngs-table-sticky.ngs-table-sticky-border-elem-top:after{content:\"\";position:absolute;left:0;right:0;height:1px;bottom:0;background:var(--ngs-table-border-color)}:host ::ng-deep .ngs-header-cell.ngs-table-sticky.ngs-table-sticky-border-elem-bottom:after,:host ::ng-deep .ngs-cell.ngs-table-sticky.ngs-table-sticky-border-elem-bottom:after,:host ::ng-deep .ngs-footer-cell.ngs-table-sticky.ngs-table-sticky-border-elem-bottom:after{content:\"\";position:absolute;top:0;left:0;height:1px;right:0;background:var(--ngs-table-border-color)}:host ::ng-deep .ngs-header-cell.ngs-table-sticky.ngs-table-sticky-border-elem-left,:host ::ng-deep .ngs-header-cell.ngs-table-sticky.ngs-table-sticky-border-elem-right{z-index:110}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CdkTableModule }, { kind: "directive", type: i1.DataRowOutlet, selector: "[rowOutlet]" }, { kind: "directive", type: i1.HeaderRowOutlet, selector: "[headerRowOutlet]" }, { kind: "directive", type: i1.FooterRowOutlet, selector: "[footerRowOutlet]" }, { kind: "directive", type: i1.NoDataRowOutlet, selector: "[noDataRowOutlet]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
65
+ }
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Table, decorators: [{
67
+ type: Component,
68
+ args: [{ selector: 'ngs-table, table[ngs-table]', exportAs: 'ngsTable', imports: [
69
+ CdkTableModule,
70
+ HeaderRowOutlet,
71
+ FooterRowOutlet,
72
+ DataRowOutlet,
73
+ NoDataRowOutlet,
74
+ ], providers: [
75
+ { provide: CdkTable, useExisting: forwardRef(() => Table) },
76
+ { provide: CDK_TABLE, useExisting: forwardRef(() => Table) },
77
+ { provide: STICKY_POSITIONING_LISTENER, useValue: null },
78
+ ], changeDetection: ChangeDetectionStrategy.OnPush, host: {
79
+ 'class': 'ngs-table not-prose',
80
+ '[class.ngs-table-fixed-layout]': 'fixedLayout',
81
+ '[class.ngs-table-sticky]': 'hasStickyColumns()',
82
+ 'role': 'grid'
83
+ }, template: "<thead [class.ngs-table-sticky-header]=\"hasStickyHeader()\" [class.hidden]=\"hideHeader()\">\n <ng-container headerRowOutlet />\n</thead>\n<tbody [class.hidden]=\"hideBody()\">\n <ng-container rowOutlet />\n <ng-container noDataRowOutlet />\n</tbody>\n<tfoot [class.hidden]=\"hideFooter()\">\n <ng-container footerRowOutlet />\n</tfoot>\n", styles: [":host{background:var(--ngs-table-background);border-spacing:0;width:100%;display:table;border-collapse:collapse}:host.ngs-table-fixed-layout{table-layout:fixed;min-width:100%;width:max-content}:host ::ng-deep .ngs-header-cell{font-size:var(--ngs-table-header-cell-font-size);font-weight:var(--ngs-table-header-cell-font-weight);color:var(--ngs-table-header-cell-color);text-transform:uppercase;overflow:hidden;display:table-cell;vertical-align:middle;text-align:start}:host ::ng-deep .ngs-header-cell,:host ::ng-deep .ngs-cell,:host ::ng-deep .ngs-footer-cell{display:table-cell;vertical-align:middle;text-align:start;padding:var(--ngs-table-cell-padding);font-size:var(--ngs-table-cell-font-size);height:var(--ngs-table-row-height);background:var(--ngs-table-background)}:host ::ng-deep .ngs-header-cell.ngs-table-sticky,:host ::ng-deep .ngs-cell.ngs-table-sticky,:host ::ng-deep .ngs-footer-cell.ngs-table-sticky{position:sticky!important;background:inherit;z-index:10;background-clip:padding-box}:host ::ng-deep .ngs-header-cell.ngs-table-sticky.ngs-header-cell,:host ::ng-deep .ngs-cell.ngs-table-sticky.ngs-header-cell,:host ::ng-deep .ngs-footer-cell.ngs-table-sticky.ngs-header-cell{z-index:100;background:var(--ngs-table-header-cell-background, var(--ngs-table-background))}:host ::ng-deep .ngs-header-cell.ngs-table-sticky.ngs-footer-cell,:host ::ng-deep .ngs-cell.ngs-table-sticky.ngs-footer-cell,:host ::ng-deep .ngs-footer-cell.ngs-table-sticky.ngs-footer-cell{z-index:100;background:var(--ngs-table-header-cell-background, var(--ngs-table-background))}:host ::ng-deep .ngs-header-cell.ngs-table-sticky.ngs-table-sticky-border-elem-left:before,:host ::ng-deep .ngs-cell.ngs-table-sticky.ngs-table-sticky-border-elem-left:before,:host ::ng-deep .ngs-footer-cell.ngs-table-sticky.ngs-table-sticky-border-elem-left:before{content:\"\";position:absolute;top:0;right:0;width:1px;bottom:0;background:var(--ngs-table-border-color)}:host ::ng-deep .ngs-header-cell.ngs-table-sticky.ngs-table-sticky-border-elem-right:before,:host ::ng-deep .ngs-cell.ngs-table-sticky.ngs-table-sticky-border-elem-right:before,:host ::ng-deep .ngs-footer-cell.ngs-table-sticky.ngs-table-sticky-border-elem-right:before{content:\"\";position:absolute;top:0;left:0;width:1px;bottom:0;background:var(--ngs-table-border-color)}:host ::ng-deep .ngs-header-cell.ngs-table-sticky.ngs-table-sticky-border-elem-top:after,:host ::ng-deep .ngs-cell.ngs-table-sticky.ngs-table-sticky-border-elem-top:after,:host ::ng-deep .ngs-footer-cell.ngs-table-sticky.ngs-table-sticky-border-elem-top:after{content:\"\";position:absolute;left:0;right:0;height:1px;bottom:0;background:var(--ngs-table-border-color)}:host ::ng-deep .ngs-header-cell.ngs-table-sticky.ngs-table-sticky-border-elem-bottom:after,:host ::ng-deep .ngs-cell.ngs-table-sticky.ngs-table-sticky-border-elem-bottom:after,:host ::ng-deep .ngs-footer-cell.ngs-table-sticky.ngs-table-sticky-border-elem-bottom:after{content:\"\";position:absolute;top:0;left:0;height:1px;right:0;background:var(--ngs-table-border-color)}:host ::ng-deep .ngs-header-cell.ngs-table-sticky.ngs-table-sticky-border-elem-left,:host ::ng-deep .ngs-header-cell.ngs-table-sticky.ngs-table-sticky-border-elem-right{z-index:110}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
84
+ }], propDecorators: { hideHeader: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideHeader", required: false }] }], hideBody: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideBody", required: false }] }], hideFooter: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideFooter", required: false }] }], headerRowDefsQuery: [{
85
+ type: ContentChildren,
86
+ args: [CdkHeaderRowDef, { descendants: true }]
87
+ }], columnDefsQuery: [{
88
+ type: ContentChildren,
89
+ args: [CdkColumnDef, { descendants: true }]
90
+ }] } });
91
+
92
+ /** Cell template container that adds the right classes and role. */
93
+ class Cell extends CdkCell {
94
+ constructor(elementRef) {
95
+ super(elementRef);
96
+ }
97
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Cell, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
98
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.4", type: Cell, isStandalone: true, selector: "ngs-cell, [ngs-cell], td[ngs-cell]", host: { attributes: { "role": "gridcell" }, classAttribute: "ngs-cell" }, usesInheritance: true, ngImport: i0 });
99
+ }
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Cell, decorators: [{
101
+ type: Directive,
102
+ args: [{
103
+ selector: 'ngs-cell, [ngs-cell], td[ngs-cell]',
104
+ host: {
105
+ 'class': 'ngs-cell',
106
+ 'role': 'gridcell',
107
+ },
108
+ standalone: true,
109
+ }]
110
+ }], ctorParameters: () => [{ type: i0.ElementRef }] });
111
+
112
+ /** Cell definition for the ngs-table. */
113
+ class CellDef extends CdkCellDef {
114
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: CellDef, deps: null, target: i0.ɵɵFactoryTarget.Directive });
115
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.4", type: CellDef, isStandalone: true, selector: "[ngsCellDef]", providers: [{ provide: CdkCellDef, useExisting: forwardRef(() => CellDef) }], usesInheritance: true, ngImport: i0 });
116
+ }
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: CellDef, decorators: [{
118
+ type: Directive,
119
+ args: [{
120
+ selector: '[ngsCellDef]',
121
+ standalone: true,
122
+ providers: [{ provide: CdkCellDef, useExisting: forwardRef(() => CellDef) }],
123
+ }]
124
+ }] });
125
+
126
+ /**
127
+ * Column definition for the ngs-table.
128
+ * Defines a set of cells available for a table column.
129
+ */
130
+ class ColumnDef extends CdkColumnDef {
131
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ColumnDef, deps: null, target: i0.ɵɵFactoryTarget.Directive });
132
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.4", type: ColumnDef, isStandalone: true, selector: "[ngsColumnDef]", inputs: { name: ["ngsColumnDef", "name"] }, providers: [{ provide: CdkColumnDef, useExisting: forwardRef(() => ColumnDef) }], usesInheritance: true, ngImport: i0 });
133
+ }
134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ColumnDef, decorators: [{
135
+ type: Directive,
136
+ args: [{
137
+ selector: '[ngsColumnDef]',
138
+ standalone: true,
139
+ providers: [{ provide: CdkColumnDef, useExisting: forwardRef(() => ColumnDef) }],
140
+ inputs: ['name: ngsColumnDef'],
141
+ }]
142
+ }] });
143
+
144
+ /** Footer cell template container that adds the right classes and role. */
145
+ class FooterCell extends CdkFooterCell {
146
+ constructor(elementRef) {
147
+ super(elementRef);
148
+ }
149
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: FooterCell, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
150
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.4", type: FooterCell, isStandalone: true, selector: "ngs-footer-cell, [ngs-footer-cell], td[ngs-footer-cell]", host: { attributes: { "role": "gridcell" }, classAttribute: "ngs-footer-cell" }, usesInheritance: true, ngImport: i0 });
151
+ }
152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: FooterCell, decorators: [{
153
+ type: Directive,
154
+ args: [{
155
+ selector: 'ngs-footer-cell, [ngs-footer-cell], td[ngs-footer-cell]',
156
+ host: {
157
+ 'class': 'ngs-footer-cell',
158
+ 'role': 'gridcell',
159
+ },
160
+ standalone: true,
161
+ }]
162
+ }], ctorParameters: () => [{ type: i0.ElementRef }] });
163
+
164
+ /** Footer cell definition for the ngs-table. */
165
+ class FooterCellDef extends CdkFooterCellDef {
166
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: FooterCellDef, deps: null, target: i0.ɵɵFactoryTarget.Directive });
167
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.4", type: FooterCellDef, isStandalone: true, selector: "[ngsFooterCellDef]", providers: [{ provide: CdkFooterCellDef, useExisting: forwardRef(() => FooterCellDef) }], usesInheritance: true, ngImport: i0 });
168
+ }
169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: FooterCellDef, decorators: [{
170
+ type: Directive,
171
+ args: [{
172
+ selector: '[ngsFooterCellDef]',
173
+ standalone: true,
174
+ providers: [{ provide: CdkFooterCellDef, useExisting: forwardRef(() => FooterCellDef) }],
175
+ }]
176
+ }] });
177
+
178
+ /** Footer template container that adds the right classes and role. */
179
+ class FooterRow extends CdkFooterRow {
180
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: FooterRow, deps: null, target: i0.ɵɵFactoryTarget.Component });
181
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: FooterRow, isStandalone: true, selector: "ngs-footer-row, [ngs-footer-row], tr[ngs-footer-row]", host: { attributes: { "role": "row" }, classAttribute: "ngs-footer-row" }, providers: [{ provide: CdkFooterRow, useExisting: forwardRef(() => FooterRow) }], usesInheritance: true, ngImport: i0, template: "<ng-container cdkCellOutlet />\n", styles: [":host{min-height:var(--ngs-table-row-height);display:table-row}:host:last-child ::ng-deep .ngs-footer-cell,:host:last-child ::ng-deep td{border-bottom:none}\n"], dependencies: [{ kind: "directive", type: CdkCellOutlet, selector: "[cdkCellOutlet]" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
182
+ }
183
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: FooterRow, decorators: [{
184
+ type: Component,
185
+ args: [{ selector: 'ngs-footer-row, [ngs-footer-row], tr[ngs-footer-row]', host: {
186
+ 'class': 'ngs-footer-row',
187
+ 'role': 'row',
188
+ }, changeDetection: ChangeDetectionStrategy.Default, standalone: true, imports: [CdkCellOutlet], providers: [{ provide: CdkFooterRow, useExisting: forwardRef(() => FooterRow) }], template: "<ng-container cdkCellOutlet />\n", styles: [":host{min-height:var(--ngs-table-row-height);display:table-row}:host:last-child ::ng-deep .ngs-footer-cell,:host:last-child ::ng-deep td{border-bottom:none}\n"] }]
189
+ }] });
190
+
191
+ /** Footer row definition for the ngs-table. */
192
+ class FooterRowDef extends CdkFooterRowDef {
193
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: FooterRowDef, deps: null, target: i0.ɵɵFactoryTarget.Directive });
194
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.4", type: FooterRowDef, isStandalone: true, selector: "[ngsFooterRowDef]", inputs: { columns: ["ngsFooterRowDef", "columns"], sticky: ["ngsFooterRowDefSticky", "sticky"] }, providers: [{ provide: CdkFooterRowDef, useExisting: forwardRef(() => FooterRowDef) }], usesInheritance: true, ngImport: i0 });
195
+ }
196
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: FooterRowDef, decorators: [{
197
+ type: Directive,
198
+ args: [{
199
+ selector: '[ngsFooterRowDef]',
200
+ standalone: true,
201
+ providers: [{ provide: CdkFooterRowDef, useExisting: forwardRef(() => FooterRowDef) }],
202
+ inputs: ['columns: ngsFooterRowDef', 'sticky: ngsFooterRowDefSticky'],
203
+ }]
204
+ }] });
205
+
206
+ /** Header cell template container that adds the right classes and role. */
207
+ class HeaderCell extends CdkHeaderCell {
208
+ constructor(elementRef) {
209
+ super(elementRef);
210
+ }
211
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: HeaderCell, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
212
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.4", type: HeaderCell, isStandalone: true, selector: "ngs-header-cell, [ngs-header-cell], th[ngs-header-cell]", host: { attributes: { "role": "columnheader" }, classAttribute: "ngs-header-cell" }, usesInheritance: true, ngImport: i0 });
213
+ }
214
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: HeaderCell, decorators: [{
215
+ type: Directive,
216
+ args: [{
217
+ selector: 'ngs-header-cell, [ngs-header-cell], th[ngs-header-cell]',
218
+ host: {
219
+ 'class': 'ngs-header-cell',
220
+ 'role': 'columnheader',
221
+ },
222
+ standalone: true,
223
+ }]
224
+ }], ctorParameters: () => [{ type: i0.ElementRef }] });
225
+
226
+ /** Header cell definition for the ngs-table. */
227
+ class HeaderCellDef extends CdkHeaderCellDef {
228
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: HeaderCellDef, deps: null, target: i0.ɵɵFactoryTarget.Directive });
229
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.4", type: HeaderCellDef, isStandalone: true, selector: "[ngsHeaderCellDef]", providers: [{ provide: CdkHeaderCellDef, useExisting: forwardRef(() => HeaderCellDef) }], usesInheritance: true, ngImport: i0 });
230
+ }
231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: HeaderCellDef, decorators: [{
232
+ type: Directive,
233
+ args: [{
234
+ selector: '[ngsHeaderCellDef]',
235
+ standalone: true,
236
+ providers: [{ provide: CdkHeaderCellDef, useExisting: forwardRef(() => HeaderCellDef) }],
237
+ }]
238
+ }] });
239
+
240
+ /** Header template container that adds the right classes and role. */
241
+ class HeaderRow extends CdkHeaderRow {
242
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: HeaderRow, deps: null, target: i0.ɵɵFactoryTarget.Component });
243
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: HeaderRow, isStandalone: true, selector: "ngs-header-row, [ngs-header-row], tr[ngs-header-row]", host: { attributes: { "role": "row" }, classAttribute: "ngs-header-row" }, providers: [{ provide: CdkHeaderRow, useExisting: forwardRef(() => HeaderRow) }], usesInheritance: true, ngImport: i0, template: "<ng-container cdkCellOutlet />\n", styles: [":host{height:var(--ngs-table-header-row-height);display:table-row;background:var(--ngs-data-view-header-bg, var(--color-background));width:100%}:host-context(.highlight-header) :host{position:relative;margin:var(--ngs-data-view-hl-header-margin, 0)}:host-context(.highlight-header) :host:before{content:\"\";position:absolute;left:0;right:0;background:var(--ngs-data-view-hl-header-row-bg, var(--color-surface-container));height:calc(var(--spacing, .25rem) * 12);border-radius:.5rem;z-index:0}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: CdkCellOutlet, selector: "[cdkCellOutlet]" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
244
+ }
245
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: HeaderRow, decorators: [{
246
+ type: Component,
247
+ args: [{ selector: 'ngs-header-row, [ngs-header-row], tr[ngs-header-row]', host: {
248
+ 'class': 'ngs-header-row',
249
+ 'role': 'row',
250
+ }, changeDetection: ChangeDetectionStrategy.Default, standalone: true, imports: [CdkCellOutlet], providers: [{ provide: CdkHeaderRow, useExisting: forwardRef(() => HeaderRow) }], template: "<ng-container cdkCellOutlet />\n", styles: [":host{height:var(--ngs-table-header-row-height);display:table-row;background:var(--ngs-data-view-header-bg, var(--color-background));width:100%}:host-context(.highlight-header) :host{position:relative;margin:var(--ngs-data-view-hl-header-margin, 0)}:host-context(.highlight-header) :host:before{content:\"\";position:absolute;left:0;right:0;background:var(--ngs-data-view-hl-header-row-bg, var(--color-surface-container));height:calc(var(--spacing, .25rem) * 12);border-radius:.5rem;z-index:0}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
251
+ }] });
252
+
253
+ /** Header row definition for the ngs-table. */
254
+ class HeaderRowDef extends CdkHeaderRowDef {
255
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: HeaderRowDef, deps: null, target: i0.ɵɵFactoryTarget.Directive });
256
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.4", type: HeaderRowDef, isStandalone: true, selector: "[ngsHeaderRowDef]", inputs: { columns: ["ngsHeaderRowDef", "columns"], sticky: ["ngsHeaderRowDefSticky", "sticky"] }, providers: [{ provide: CdkHeaderRowDef, useExisting: forwardRef(() => HeaderRowDef) }], usesInheritance: true, ngImport: i0 });
257
+ }
258
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: HeaderRowDef, decorators: [{
259
+ type: Directive,
260
+ args: [{
261
+ selector: '[ngsHeaderRowDef]',
262
+ standalone: true,
263
+ providers: [{ provide: CdkHeaderRowDef, useExisting: forwardRef(() => HeaderRowDef) }],
264
+ inputs: ['columns: ngsHeaderRowDef', 'sticky: ngsHeaderRowDefSticky'],
265
+ }]
266
+ }] });
267
+
268
+ /** Row that can be used to display a message when no data is shown in the table. */
269
+ class NoDataRow extends CdkNoDataRow {
270
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: NoDataRow, deps: null, target: i0.ɵɵFactoryTarget.Directive });
271
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.4", type: NoDataRow, isStandalone: true, selector: "ng-template[ngsNoDataRow]", providers: [{ provide: CdkNoDataRow, useExisting: forwardRef(() => NoDataRow) }], usesInheritance: true, ngImport: i0 });
272
+ }
273
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: NoDataRow, decorators: [{
274
+ type: Directive,
275
+ args: [{
276
+ selector: 'ng-template[ngsNoDataRow]',
277
+ standalone: true,
278
+ providers: [{ provide: CdkNoDataRow, useExisting: forwardRef(() => NoDataRow) }],
279
+ }]
280
+ }] });
281
+
282
+ /** Data row template container that adds the right classes and role. */
283
+ class Row extends CdkRow {
284
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Row, deps: null, target: i0.ɵɵFactoryTarget.Component });
285
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: Row, isStandalone: true, selector: "ngs-row, [ngs-row], tr[ngs-row]", host: { attributes: { "role": "row" }, classAttribute: "ngs-row" }, providers: [{ provide: CdkRow, useExisting: forwardRef(() => Row) }], usesInheritance: true, ngImport: i0, template: "<ng-container cdkCellOutlet />\n", styles: [":host{position:relative;display:table-row;border:none;border-top:1px solid var(--color-border);height:auto;border-radius:0;margin-top:0;background:var(--ngs-data-view-row-bg, var(--color-background));min-height:var(--ngs-table-row-height)}:host:last-child ::ng-deep .ngs-footer-cell,:host:last-child ::ng-deep td{border-bottom:none}:host-context(.highlight-header,.sticky-header,.ngs-table-sticky-header) :host:first-of-type{border-top:none!important}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: CdkCellOutlet, selector: "[cdkCellOutlet]" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
286
+ }
287
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Row, decorators: [{
288
+ type: Component,
289
+ args: [{ selector: 'ngs-row, [ngs-row], tr[ngs-row]', host: {
290
+ 'class': 'ngs-row',
291
+ 'role': 'row',
292
+ }, changeDetection: ChangeDetectionStrategy.Default, standalone: true, imports: [CdkCellOutlet], providers: [{ provide: CdkRow, useExisting: forwardRef(() => Row) }], template: "<ng-container cdkCellOutlet />\n", styles: [":host{position:relative;display:table-row;border:none;border-top:1px solid var(--color-border);height:auto;border-radius:0;margin-top:0;background:var(--ngs-data-view-row-bg, var(--color-background));min-height:var(--ngs-table-row-height)}:host:last-child ::ng-deep .ngs-footer-cell,:host:last-child ::ng-deep td{border-bottom:none}:host-context(.highlight-header,.sticky-header,.ngs-table-sticky-header) :host:first-of-type{border-top:none!important}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
293
+ }] });
294
+
295
+ /** Data row definition for the ngs-table. */
296
+ class RowDef extends CdkRowDef {
297
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: RowDef, deps: null, target: i0.ɵɵFactoryTarget.Directive });
298
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.4", type: RowDef, isStandalone: true, selector: "[ngsRowDef]", inputs: { columns: ["ngsRowDefColumns", "columns"], when: ["ngsRowDefWhen", "when"] }, providers: [{ provide: CdkRowDef, useExisting: forwardRef(() => RowDef) }], usesInheritance: true, ngImport: i0 });
299
+ }
300
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: RowDef, decorators: [{
301
+ type: Directive,
302
+ args: [{
303
+ selector: '[ngsRowDef]',
304
+ standalone: true,
305
+ providers: [{ provide: CdkRowDef, useExisting: forwardRef(() => RowDef) }],
306
+ inputs: ['columns: ngsRowDefColumns', 'when: ngsRowDefWhen'],
307
+ }]
308
+ }] });
309
+
310
+ /**
311
+ * Column that simply shows text content for the header and row cells. Assumes that the table
312
+ * is using the native table implementation (`<table>`).
313
+ *
314
+ * By default, the name of this column will be the same as the data property that it should show.
315
+ * The header can be overridden by setting the `headerText` input.
316
+ *
317
+ * Example usage:
318
+ * <table ngs-table [dataSource]="dataSource">
319
+ * <ngs-text-column name="userName"></ngs-text-column>
320
+ * <tr ngs-header-row *ngsHeaderRowDef="['userName']"></tr>
321
+ * <tr ngs-row *ngsRowDef="['userName']"></tr>
322
+ * </table>
323
+ */
324
+ class TextColumn extends CdkTextColumn {
325
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: TextColumn, deps: null, target: i0.ɵɵFactoryTarget.Component });
326
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: TextColumn, isStandalone: true, selector: "ngs-text-column", usesInheritance: true, ngImport: i0, template: "<ng-container ngsColumnDef>\n <th ngs-header-cell *ngsHeaderCellDef> {{headerText}} </th>\n <td ngs-cell *ngsCellDef=\"let data\"> {{dataAccessor(data, name)}} </td>\n</ng-container>\n", styles: ["/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: ColumnDef, selector: "[ngsColumnDef]", inputs: ["ngsColumnDef"] }, { kind: "directive", type: HeaderCellDef, selector: "[ngsHeaderCellDef]" }, { kind: "directive", type: HeaderCell, selector: "ngs-header-cell, [ngs-header-cell], th[ngs-header-cell]" }, { kind: "directive", type: CellDef, selector: "[ngsCellDef]" }, { kind: "directive", type: Cell, selector: "ngs-cell, [ngs-cell], td[ngs-cell]" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
327
+ }
328
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: TextColumn, decorators: [{
329
+ type: Component,
330
+ args: [{ selector: 'ngs-text-column', changeDetection: ChangeDetectionStrategy.Default, standalone: true, imports: [ColumnDef, HeaderCellDef, HeaderCell, CellDef, Cell], template: "<ng-container ngsColumnDef>\n <th ngs-header-cell *ngsHeaderCellDef> {{headerText}} </th>\n <td ngs-cell *ngsCellDef=\"let data\"> {{dataAccessor(data, name)}} </td>\n</ng-container>\n", styles: ["/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
331
+ }] });
332
+
333
+ class TableDataSource extends DataSource {
334
+ /** Stream that emits when a new data array is set on the data source. */
335
+ _data;
336
+ /** Stream emitting render data to the table (depends on ordered data changes). */
337
+ _renderData;
338
+ /** Stream that emits when a new filter string is set on the data source. */
339
+ _filter = new BehaviorSubject('');
340
+ /** Used to react to internal changes of the paginator that the table needs to be notified about. */
341
+ _internalPageChanges = new Subject();
342
+ /**
343
+ * Subscription to the changes that should trigger an update to the table's rendered data, such
344
+ * as filtering, sorting, pagination, or base data changes.
345
+ */
346
+ _renderChangesSubscription = Subscription.EMPTY;
347
+ /**
348
+ * Cache for quick filter strings. Maps each data object to its concatenated string representation
349
+ * used for filtering.
350
+ */
351
+ _quickFilterCache = new WeakMap();
352
+ /**
353
+ * The filtered set of data that has been matched by the filter string, or all the data if there
354
+ * is no filter. Useful for knowing the set of data the table represents.
355
+ * For example, a 'scrolled' paginator can use this to know the total number of items when
356
+ * pagination has been applied.
357
+ */
358
+ filteredData;
359
+ /**
360
+ * The sorted set of data that has been ordered by the sort state, or all the filtered data if there
361
+ * is no sort. Useful for knowing the set of data the table represents.
362
+ */
363
+ sortedData;
364
+ /** Array of data that should be rendered by the table, where each object represents one row. */
365
+ get data() {
366
+ return this._data.value;
367
+ }
368
+ set data(data) {
369
+ this._data.next(data);
370
+ if (!this._renderChangesSubscription) {
371
+ this._filterData(data);
372
+ }
373
+ }
374
+ /**
375
+ * Filter term that should be used to filter out objects from the data array. To `TableDataSource`'s
376
+ * default implementation, this string checks for stringification matches anywhere in the object.
377
+ */
378
+ get filter() {
379
+ return this._filter.value;
380
+ }
381
+ set filter(filter) {
382
+ this._filter.next(filter);
383
+ if (!this._renderChangesSubscription) {
384
+ this._filterData(this.data);
385
+ }
386
+ }
387
+ /**
388
+ * Instance of the MatSort directive used by the table to control its sorting. Sort changes
389
+ * emitted by the MatSort will trigger an update to the table's rendered data.
390
+ */
391
+ get sort() {
392
+ return this._sort;
393
+ }
394
+ set sort(sort) {
395
+ this._sort = sort;
396
+ this._updateChangeSubscription();
397
+ }
398
+ _sort = null;
399
+ /**
400
+ * Instance of the Paginator component used by the table to control what page of the data is
401
+ * displayed. Page changes emitted by the Paginator will trigger an update to the
402
+ * table's rendered data.
403
+ */
404
+ get paginator() {
405
+ return this._paginator;
406
+ }
407
+ set paginator(paginator) {
408
+ this._paginator = paginator;
409
+ this._updateChangeSubscription();
410
+ }
411
+ _paginator = null;
412
+ /**
413
+ * Data accessor function that is used for accessing data properties for sorting through
414
+ * the default sortData function.
415
+ * This default function assumes that the data objects are flat and can be accessed directly by
416
+ * the column name.
417
+ */
418
+ sortingDataAccessor = (data, sortHeaderId) => {
419
+ const value = data[sortHeaderId];
420
+ return typeof value === 'number' || typeof value === 'string' ? value : '' + value;
421
+ };
422
+ /**
423
+ * Gets a sorted copy of the data array based on the state of the MatSort. Called
424
+ * after changes are made to the filtered data or when sort changes are emitted from MatSort.
425
+ * By default, the function retrieves the active sort and its direction and compares data
426
+ * objects by retrieving data using the sortingDataAccessor. May be overridden for a
427
+ * custom implementation of data ordering.
428
+ * @param data The array of data that should be sorted.
429
+ * @param sort The connected MatSort that holds the current sort state.
430
+ */
431
+ sortData = (data, sort) => {
432
+ const active = typeof sort.active === 'function' ? sort.active() : sort.active;
433
+ const direction = typeof sort.direction === 'function' ? sort.direction() : sort.direction;
434
+ if (!active || direction === '') {
435
+ return data;
436
+ }
437
+ return data.slice().sort((a, b) => {
438
+ const valueA = this.sortingDataAccessor(a, active);
439
+ const valueB = this.sortingDataAccessor(b, active);
440
+ // If both valueA and valueB are numbers, use the numeric comparison.
441
+ // If either valueA or valueB is not a number, use the string comparison.
442
+ const comparatorResult = typeof valueA === 'number' && typeof valueB === 'number'
443
+ ? valueA - valueB
444
+ : (valueA + '').localeCompare(valueB + '');
445
+ return comparatorResult * (direction === 'asc' ? 1 : -1);
446
+ });
447
+ };
448
+ /**
449
+ * Checks if a data object matches the data source's filter string. By default, each data object
450
+ * is converted to a string of its properties and returns true if the filter has at least one
451
+ * occurrence in that string. By default, the filter string has its whitespace trimmed and the match
452
+ * is case-insensitive. May be overridden for a custom implementation of filter matching.
453
+ * @param data Data object used to check against the filter.
454
+ * @param filter Filter string that has been set on the data source.
455
+ * @returns Whether the filter matches the data.
456
+ */
457
+ filterPredicate = (data, filter) => {
458
+ // Transform the filter by converting it to lowercase and splitting into words.
459
+ const transformedFilter = filter.trim().toLowerCase();
460
+ if (!transformedFilter) {
461
+ return true;
462
+ }
463
+ const filterWords = transformedFilter.split(/\s+/);
464
+ // Get the string representation of the data.
465
+ const dataStr = this._getQuickFilterString(data);
466
+ // Check if all filter words are present in the data string (any order).
467
+ return filterWords.every(word => dataStr.indexOf(word) !== -1);
468
+ };
469
+ /**
470
+ * Gets a string representation of the data object used for quick filtering.
471
+ * Caches the result to improve performance.
472
+ * @param data
473
+ * @private
474
+ */
475
+ _getQuickFilterString(data) {
476
+ if (typeof data !== 'object' || data === null) {
477
+ return String(data).toLowerCase();
478
+ }
479
+ let cached = this._quickFilterCache.get(data);
480
+ if (cached !== undefined) {
481
+ return cached;
482
+ }
483
+ const dataStr = Object.keys(data)
484
+ .reduce((currentTerm, key) => {
485
+ const val = data[key];
486
+ return currentTerm + (val === null || val === undefined ? '' : val) + ' ';
487
+ }, '')
488
+ .toLowerCase();
489
+ this._quickFilterCache.set(data, dataStr);
490
+ return dataStr;
491
+ }
492
+ constructor(initialData = []) {
493
+ super();
494
+ this._data = new BehaviorSubject(initialData);
495
+ this._renderData = new BehaviorSubject(initialData);
496
+ this.filteredData = initialData;
497
+ this.sortedData = initialData;
498
+ this._updateChangeSubscription();
499
+ }
500
+ /**
501
+ * Subscribe to changes that should trigger an update to the table's rendered data.
502
+ */
503
+ _updateChangeSubscription() {
504
+ const sortChange = this._sort
505
+ ? merge(this._observeOutput(this._sort.sortChange), this._sort.initialized || of(undefined), of(undefined))
506
+ : of(null);
507
+ const pageChange = this._paginator
508
+ ? merge(this._observeOutput(this._paginator.page), this._internalPageChanges, this._paginator.initialized || of(undefined), of(undefined))
509
+ : of(null);
510
+ const dataStream = this._data;
511
+ // Watch for base data or filter changes to provide a filtered set of data.
512
+ const filteredData = combineLatest([dataStream, this._filter]).pipe(map(([data]) => this._filterData(data)));
513
+ // Watch for filtered data or sort changes to provide an ordered set of data.
514
+ const orderedData = combineLatest([filteredData, sortChange]).pipe(map(([data]) => this._orderData(data)));
515
+ // Watch for ordered data or page changes to provide a paged set of data.
516
+ const paginatedData = combineLatest([orderedData, pageChange]).pipe(map(([data]) => this._pageData(data)));
517
+ // Watched for paged data changes and emit the result to the table to render.
518
+ this._renderChangesSubscription.unsubscribe();
519
+ this._renderChangesSubscription = paginatedData.subscribe((data) => this._renderData.next(data));
520
+ }
521
+ _observeOutput(output) {
522
+ if (isObservable(output)) {
523
+ return output;
524
+ }
525
+ if (typeof output === 'object' && output !== null && ('subscribe' in output || 'emit' in output)) {
526
+ return new Observable((subscriber) => {
527
+ try {
528
+ const obs = outputToObservable(output);
529
+ const sub = obs.subscribe({
530
+ next: (value) => subscriber.next(value),
531
+ error: (err) => {
532
+ if (err && err.message && err.message.includes('NG0911')) {
533
+ subscriber.complete();
534
+ }
535
+ else {
536
+ subscriber.error(err);
537
+ }
538
+ },
539
+ complete: () => subscriber.complete(),
540
+ });
541
+ return () => sub.unsubscribe();
542
+ }
543
+ catch (e) {
544
+ if (e && e.message && e.message.includes('NG0911')) {
545
+ subscriber.complete();
546
+ return;
547
+ }
548
+ throw e;
549
+ }
550
+ });
551
+ }
552
+ return of();
553
+ }
554
+ /**
555
+ * Returns a filtered data array where each filter object contains the filter string within
556
+ * the result of the filterPredicate function. If no filter is set, returns the entire data
557
+ * array without changes.
558
+ */
559
+ _filterData(data) {
560
+ this.filteredData = !this.filter
561
+ ? data
562
+ : data.filter((obj) => this.filterPredicate(obj, this.filter));
563
+ if (this.paginator) {
564
+ this._updatePaginator(this.filteredData.length);
565
+ }
566
+ return this.filteredData;
567
+ }
568
+ /**
569
+ * Returns a sorted copy of the data if MatSort has a sort applied, otherwise just returns the
570
+ * data array entirely.
571
+ */
572
+ _orderData(data) {
573
+ // If there is no active sort or direction, then the data should not be ordered.
574
+ if (!this.sort) {
575
+ this.sortedData = data;
576
+ return data;
577
+ }
578
+ this.sortedData = this.sortData(data.slice(), this.sort);
579
+ return this.sortedData;
580
+ }
581
+ /**
582
+ * Returns a paged splice of the provided data array based on the provided Paginator's page
583
+ * index and length. If there is no paginator provided, returns the data array as is.
584
+ */
585
+ _pageData(data) {
586
+ if (!this.paginator) {
587
+ return data;
588
+ }
589
+ const startIndex = this.paginator.pageIndex * this.paginator.pageSize;
590
+ return data.slice(startIndex, startIndex + this.paginator.pageSize);
591
+ }
592
+ /**
593
+ * Updates the paginator to reflect the length of the filtered data, and makes sure that the page
594
+ * index does not exceed the amount of pages in the new data set.
595
+ */
596
+ _updatePaginator(filteredDataLength) {
597
+ if (!this.paginator) {
598
+ return;
599
+ }
600
+ this.paginator.length = filteredDataLength;
601
+ // If the page index is now larger than the number of pages, move the page index to the last
602
+ // page.
603
+ if (this.paginator.pageIndex > 0) {
604
+ const lastPageIndex = Math.max(0, Math.ceil(this.paginator.length / this.paginator.pageSize) - 1);
605
+ const newPageIndex = Math.min(this.paginator.pageIndex, lastPageIndex);
606
+ if (newPageIndex !== this.paginator.pageIndex) {
607
+ this.paginator.pageIndex = newPageIndex;
608
+ // Since the paginator has changed, notify the data source that the rendered data
609
+ // should be updated.
610
+ this._internalPageChanges.next();
611
+ }
612
+ }
613
+ }
614
+ /**
615
+ * Used by the CdkTable. Called when it connects to the data source.
616
+ * @docs-private
617
+ */
618
+ connect() {
619
+ if (!this._renderChangesSubscription || this._renderChangesSubscription.closed) {
620
+ this._updateChangeSubscription();
621
+ }
622
+ return this._renderData;
623
+ }
624
+ /**
625
+ * Used by the CdkTable. Called when it disconnects from the data source.
626
+ * @docs-private
627
+ */
628
+ disconnect() {
629
+ this._renderChangesSubscription.unsubscribe();
630
+ this._renderChangesSubscription = Subscription.EMPTY;
631
+ }
632
+ }
633
+
634
+ class NativeTable {
635
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: NativeTable, deps: [], target: i0.ɵɵFactoryTarget.Component });
636
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: NativeTable, isStandalone: true, selector: "table[ngs-native-table]", exportAs: ["ngsNativeTable"], ngImport: i0, template: "<ng-content/>\n", styles: [":host{background:var(--ngs-table-background);border-spacing:0;width:100%;border-collapse:collapse}:host ::ng-deep th{font-size:var(--ngs-table-header-cell-font-size);font-weight:var(--ngs-table-header-cell-font-weight);color:var(--ngs-table-header-cell-color);text-transform:uppercase;overflow:hidden;vertical-align:middle;text-align:start;padding:var(--ngs-table-cell-padding);height:var(--ngs-table-row-height);background:var(--ngs-table-background);border-bottom:1px solid var(--color-border)}:host ::ng-deep td{text-align:start;padding:var(--ngs-table-cell-padding);font-size:var(--ngs-table-cell-font-size);height:var(--ngs-table-row-height);background:var(--ngs-table-background);vertical-align:middle;border-bottom:1px solid var(--color-border)}:host ::ng-deep tr{position:relative;border:none;height:auto;border-radius:0;margin-top:0;background:var(--ngs-data-view-row-bg, var(--color-background));min-height:var(--ngs-table-row-height)}:host ::ng-deep tbody tr:last-child td{border-bottom:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
637
+ }
638
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: NativeTable, decorators: [{
639
+ type: Component,
640
+ args: [{ selector: 'table[ngs-native-table]', exportAs: 'ngsNativeTable', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content/>\n", styles: [":host{background:var(--ngs-table-background);border-spacing:0;width:100%;border-collapse:collapse}:host ::ng-deep th{font-size:var(--ngs-table-header-cell-font-size);font-weight:var(--ngs-table-header-cell-font-weight);color:var(--ngs-table-header-cell-color);text-transform:uppercase;overflow:hidden;vertical-align:middle;text-align:start;padding:var(--ngs-table-cell-padding);height:var(--ngs-table-row-height);background:var(--ngs-table-background);border-bottom:1px solid var(--color-border)}:host ::ng-deep td{text-align:start;padding:var(--ngs-table-cell-padding);font-size:var(--ngs-table-cell-font-size);height:var(--ngs-table-row-height);background:var(--ngs-table-background);vertical-align:middle;border-bottom:1px solid var(--color-border)}:host ::ng-deep tr{position:relative;border:none;height:auto;border-radius:0;margin-top:0;background:var(--ngs-data-view-row-bg, var(--color-background));min-height:var(--ngs-table-row-height)}:host ::ng-deep tbody tr:last-child td{border-bottom:none}\n"] }]
641
+ }] });
642
+
643
+ /**
644
+ * Generated bundle index. Do not edit.
645
+ */
646
+
647
+ export { Cell, CellDef, ColumnDef, FooterCell, FooterCellDef, FooterRow, FooterRowDef, HeaderCell, HeaderCellDef, HeaderRow, HeaderRowDef, NativeTable, NoDataRow, Row, RowDef, Table, TableDataSource, TextColumn };
648
+ //# sourceMappingURL=ngstarter-ui-components-table.mjs.map