@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,948 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, makeEnvironmentProviders, inject, NgZone, ElementRef, ChangeDetectorRef, Renderer2, signal, input, booleanAttribute, output, viewChildren, effect, ChangeDetectionStrategy, Component, Directive } from '@angular/core';
3
+ import { Subject } from 'rxjs';
4
+ import { debounceTime } from 'rxjs/operators';
5
+
6
+ function getPointFromEvent(event) {
7
+ // TouchEvent
8
+ if (event.changedTouches !== undefined &&
9
+ event.changedTouches.length > 0) {
10
+ return {
11
+ x: event.changedTouches[0].clientX,
12
+ y: event.changedTouches[0].clientY,
13
+ };
14
+ }
15
+ // MouseEvent
16
+ else if (event.clientX !== undefined &&
17
+ event.clientY !== undefined) {
18
+ return {
19
+ x: event.clientX,
20
+ y: event.clientY,
21
+ };
22
+ }
23
+ return null;
24
+ }
25
+ function getElementPixelSize(elRef, direction) {
26
+ const rect = elRef.nativeElement.getBoundingClientRect();
27
+ return direction === 'horizontal' ? rect.width : rect.height;
28
+ }
29
+ function getInputPositiveNumber(v, defaultValue) {
30
+ if (v === null || v === undefined) {
31
+ return defaultValue;
32
+ }
33
+ v = Number(v);
34
+ return !isNaN(v) && v >= 0 ? v : defaultValue;
35
+ }
36
+ function isUserSizesValid(unit, sizes) {
37
+ // All sizes have to be not null and total should be 100
38
+ if (unit === 'percent') {
39
+ const total = sizes.reduce((_total, s) => (s !== null ? _total + s : _total), 0);
40
+ return sizes.every(s => s !== null) && total && total > 99.9 && total < 100.1;
41
+ }
42
+ // A size at null is mandatory but only one.
43
+ if (unit === 'pixel') {
44
+ return sizes.filter(s => s === null).length === 1;
45
+ }
46
+ }
47
+ function getAreaMinSize(a) {
48
+ if (a.size === null) {
49
+ return 0;
50
+ }
51
+ if (a.component.isLocked() === true) {
52
+ return a.size;
53
+ }
54
+ if (a.component.getMinSize() === null) {
55
+ return 0;
56
+ }
57
+ if (a.component.getMinSize() > a.size) {
58
+ return a.size;
59
+ }
60
+ return a.component.getMinSize();
61
+ }
62
+ function getAreaMaxSize(a) {
63
+ if (a.size === null) {
64
+ return null;
65
+ }
66
+ if (a.component.isLocked() === true) {
67
+ return a.size;
68
+ }
69
+ if (a.component.getMaxSize() === null) {
70
+ return null;
71
+ }
72
+ if (a.component.getMaxSize() < a.size) {
73
+ return a.size;
74
+ }
75
+ return a.component.getMaxSize();
76
+ }
77
+ function getGutterSideAbsorptionCapacity(unit, sideAreas, pixels, allAreasSizePixel) {
78
+ return sideAreas.reduce((acc, area) => {
79
+ const res = getAreaAbsorptionCapacity(unit, area, acc.remain, allAreasSizePixel);
80
+ acc.list.push(res);
81
+ acc.remain = res && res.pixelRemain;
82
+ return acc;
83
+ }, { remain: pixels, list: [] });
84
+ }
85
+ function getAreaAbsorptionCapacity(unit, areaSnapshot, pixels, allAreasSizePixel) {
86
+ // No pain no gain
87
+ if (pixels === 0) {
88
+ return {
89
+ areaSnapshot,
90
+ pixelAbsorb: 0,
91
+ percentAfterAbsorption: areaSnapshot.sizePercentAtStart,
92
+ pixelRemain: 0,
93
+ };
94
+ }
95
+ // Area start at zero and need to be reduced, not possible
96
+ if (areaSnapshot.sizePixelAtStart === 0 && pixels < 0) {
97
+ return {
98
+ areaSnapshot,
99
+ pixelAbsorb: 0,
100
+ percentAfterAbsorption: 0,
101
+ pixelRemain: pixels,
102
+ };
103
+ }
104
+ if (unit === 'percent') {
105
+ return getAreaAbsorptionCapacityPercent(areaSnapshot, pixels, allAreasSizePixel);
106
+ }
107
+ if (unit === 'pixel') {
108
+ return getAreaAbsorptionCapacityPixel(areaSnapshot, pixels, allAreasSizePixel);
109
+ }
110
+ }
111
+ function getAreaAbsorptionCapacityPercent(areaSnapshot, pixels, allAreasSizePixel) {
112
+ const tempPixelSize = areaSnapshot.sizePixelAtStart + pixels;
113
+ const tempPercentSize = (tempPixelSize / allAreasSizePixel) * 100;
114
+ // ENLARGE AREA
115
+ if (pixels > 0) {
116
+ // If maxSize & newSize bigger than it > absorb to max and return remaining pixels
117
+ if (areaSnapshot.area.maxSize !== null && tempPercentSize > areaSnapshot.area.maxSize) {
118
+ // Use area.area.maxSize as newPercentSize and return calculate pixels remaining
119
+ const maxSizePixel = (areaSnapshot.area.maxSize / 100) * allAreasSizePixel;
120
+ return {
121
+ areaSnapshot,
122
+ pixelAbsorb: maxSizePixel,
123
+ percentAfterAbsorption: areaSnapshot.area.maxSize,
124
+ pixelRemain: areaSnapshot.sizePixelAtStart + pixels - maxSizePixel,
125
+ };
126
+ }
127
+ return {
128
+ areaSnapshot,
129
+ pixelAbsorb: pixels,
130
+ percentAfterAbsorption: tempPercentSize > 100 ? 100 : tempPercentSize,
131
+ pixelRemain: 0,
132
+ };
133
+ }
134
+ // REDUCE AREA
135
+ else if (pixels < 0) {
136
+ // If minSize & newSize smaller than it > absorb to min and return remaining pixels
137
+ if (areaSnapshot.area.minSize !== null && tempPercentSize < areaSnapshot.area.minSize) {
138
+ // Use area.area.minSize as newPercentSize and return calculate pixels remaining
139
+ const minSizePixel = (areaSnapshot.area.minSize / 100) * allAreasSizePixel;
140
+ return {
141
+ areaSnapshot,
142
+ pixelAbsorb: minSizePixel,
143
+ percentAfterAbsorption: areaSnapshot.area.minSize,
144
+ pixelRemain: areaSnapshot.sizePixelAtStart + pixels - minSizePixel,
145
+ };
146
+ }
147
+ // If reduced under zero > return remaining pixels
148
+ else if (tempPercentSize < 0) {
149
+ // Use 0 as newPercentSize and return calculate pixels remaining
150
+ return {
151
+ areaSnapshot,
152
+ pixelAbsorb: -areaSnapshot.sizePixelAtStart,
153
+ percentAfterAbsorption: 0,
154
+ pixelRemain: pixels + areaSnapshot.sizePixelAtStart,
155
+ };
156
+ }
157
+ return {
158
+ areaSnapshot,
159
+ pixelAbsorb: pixels,
160
+ percentAfterAbsorption: tempPercentSize,
161
+ pixelRemain: 0,
162
+ };
163
+ }
164
+ }
165
+ function getAreaAbsorptionCapacityPixel(areaSnapshot, pixels, containerSizePixel) {
166
+ const tempPixelSize = areaSnapshot.sizePixelAtStart + pixels;
167
+ // ENLARGE AREA
168
+ if (pixels > 0) {
169
+ // If maxSize & newSize bigger than it > absorb to max and return remaining pixels
170
+ if (areaSnapshot.area.maxSize !== null && tempPixelSize > areaSnapshot.area.maxSize) {
171
+ return {
172
+ areaSnapshot,
173
+ pixelAbsorb: areaSnapshot.area.maxSize - areaSnapshot.sizePixelAtStart,
174
+ percentAfterAbsorption: -1,
175
+ pixelRemain: tempPixelSize - areaSnapshot.area.maxSize,
176
+ };
177
+ }
178
+ return {
179
+ areaSnapshot,
180
+ pixelAbsorb: pixels,
181
+ percentAfterAbsorption: -1,
182
+ pixelRemain: 0,
183
+ };
184
+ }
185
+ // REDUCE AREA
186
+ else if (pixels < 0) {
187
+ // If minSize & newSize smaller than it > absorb to min and return remaining pixels
188
+ if (areaSnapshot.area.minSize !== null && tempPixelSize < areaSnapshot.area.minSize) {
189
+ return {
190
+ areaSnapshot,
191
+ pixelAbsorb: areaSnapshot.area.minSize + pixels - tempPixelSize,
192
+ percentAfterAbsorption: -1,
193
+ pixelRemain: tempPixelSize - areaSnapshot.area.minSize,
194
+ };
195
+ }
196
+ // If reduced under zero > return remaining pixels
197
+ else if (tempPixelSize < 0) {
198
+ return {
199
+ areaSnapshot,
200
+ pixelAbsorb: -areaSnapshot.sizePixelAtStart,
201
+ percentAfterAbsorption: -1,
202
+ pixelRemain: pixels + areaSnapshot.sizePixelAtStart,
203
+ };
204
+ }
205
+ return {
206
+ areaSnapshot,
207
+ pixelAbsorb: pixels,
208
+ percentAfterAbsorption: -1,
209
+ pixelRemain: 0,
210
+ };
211
+ }
212
+ }
213
+ function updateAreaSize(unit, item) {
214
+ if (unit === 'percent') {
215
+ item.areaSnapshot.area.component.setSize(item.percentAfterAbsorption);
216
+ }
217
+ else if (unit === 'pixel') {
218
+ // Update size except for the wildcard size area
219
+ if (item.areaSnapshot.area.size !== null) {
220
+ item.areaSnapshot.area.component.setSize(item.areaSnapshot.sizePixelAtStart + item.pixelAbsorb);
221
+ }
222
+ }
223
+ }
224
+
225
+ /** Injection token that can be used to specify default split options. */
226
+ const SPLIT_DEFAULT_OPTIONS = new InjectionToken('SPLIT_DEFAULT_OPTIONS');
227
+ /**
228
+ * Configures the default options for the split component.
229
+ * @param options The default options to use.
230
+ * @returns The environment providers.
231
+ */
232
+ function provideSplit(options) {
233
+ return makeEnvironmentProviders([
234
+ { provide: SPLIT_DEFAULT_OPTIONS, useValue: options },
235
+ ]);
236
+ }
237
+ class Split {
238
+ shouldShowHandle(gutterIndex) {
239
+ // show if either adjacent pane has withHandle=true
240
+ const left = this.displayedAreas[gutterIndex]?.component;
241
+ const right = this.displayedAreas[gutterIndex + 1]?.component;
242
+ return !!(left?.hasHandle() || right?.hasHandle());
243
+ }
244
+ ngZone = inject(NgZone);
245
+ elRef = inject(ElementRef);
246
+ cdRef = inject(ChangeDetectorRef);
247
+ renderer = inject(Renderer2);
248
+ isInit = signal(false, ...(ngDevMode ? [{ debugName: "isInit" }] : /* istanbul ignore next */ []));
249
+ _defaultOptions = inject(SPLIT_DEFAULT_OPTIONS, {
250
+ optional: true,
251
+ });
252
+ /** The split direction. */
253
+ direction = input(this._defaultOptions?.direction ?? 'horizontal', ...(ngDevMode ? [{ debugName: "direction" }] : /* istanbul ignore next */ []));
254
+ /** The unit you want to specify area sizes. */
255
+ unit = input(this._defaultOptions?.unit ?? 'percent', ...(ngDevMode ? [{ debugName: "unit" }] : /* istanbul ignore next */ []));
256
+ /** Gutters's size (dragging elements) in pixels. */
257
+ gutterSize = input(this._defaultOptions?.gutterSize ?? 5, { ...(ngDevMode ? { debugName: "gutterSize" } : /* istanbul ignore next */ {}), transform: (v) => getInputPositiveNumber(v, 4) });
258
+ /** Gutter step while moving in pixels. */
259
+ gutterStep = input(this._defaultOptions?.gutterStep ?? 1, { ...(ngDevMode ? { debugName: "gutterStep" } : /* istanbul ignore next */ {}), transform: (v) => getInputPositiveNumber(v, 1) });
260
+ /** Set to true if you want to limit gutter move to adjacent areas only. */
261
+ restrictMove = input(this._defaultOptions?.restrictMove ?? false, { ...(ngDevMode ? { debugName: "restrictMove" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
262
+ /** Add transition when toggling visibility using `visible` or `size` changes. */
263
+ useTransition = input(this._defaultOptions?.useTransition ?? false, { ...(ngDevMode ? { debugName: "useTransition" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
264
+ /**
265
+ * Disable the dragging feature (remove cursor/image on gutters).
266
+ * `gutterClick`/`gutterDblClick` still emits.
267
+ */
268
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
269
+ /** Indicates the directionality of the areas. */
270
+ dir = input(this._defaultOptions?.dir ?? 'ltr', ...(ngDevMode ? [{ debugName: "dir" }] : /* istanbul ignore next */ []));
271
+ /**
272
+ * Milliseconds to detect a double click on a gutter. Set it around 300-500ms if
273
+ * you want to use `gutterDblClick` event.
274
+ */
275
+ gutterDblClickDuration = input(this._defaultOptions?.gutterDblClickDuration ?? 0, { ...(ngDevMode ? { debugName: "gutterDblClickDuration" } : /* istanbul ignore next */ {}), transform: (v) => getInputPositiveNumber(v, 0) });
276
+ /** Event emitted when drag starts. */
277
+ dragStart = output();
278
+ /** Event emitted when drag ends. */
279
+ dragEnd = output();
280
+ /** Event emitted when user clicks on a gutter. */
281
+ gutterClick = output();
282
+ /** Event emitted when user double clicks on a gutter. */
283
+ gutterDblClick = output();
284
+ /** Event emitted when transition ends (debounced). */
285
+ transitionEnd = output();
286
+ transitionEndSubject = new Subject();
287
+ dragProgressSubject = new Subject();
288
+ dragProgress$ = this.dragProgressSubject.asObservable();
289
+ isDragging = signal(false, ...(ngDevMode ? [{ debugName: "isDragging" }] : /* istanbul ignore next */ []));
290
+ dragListeners = [];
291
+ snapshot = null;
292
+ startPoint = null;
293
+ endPoint = null;
294
+ displayedAreas = [];
295
+ hidedAreas = [];
296
+ gutterEls = viewChildren('gutterEls', ...(ngDevMode ? [{ debugName: "gutterEls" }] : /* istanbul ignore next */ []));
297
+ isDraggingSignal = this.isDragging.asReadonly();
298
+ isDraggingPublic = this.isDragging.asReadonly();
299
+ isInitSignal = this.isInit.asReadonly();
300
+ constructor() {
301
+ // Debounce transitionEnd output
302
+ this.transitionEndSubject.pipe(debounceTime(20)).subscribe(sizes => {
303
+ this.transitionEnd.emit(sizes);
304
+ });
305
+ effect(() => {
306
+ this.direction();
307
+ this.cdRef.markForCheck();
308
+ this.build(false, false);
309
+ });
310
+ effect(() => {
311
+ this.unit();
312
+ this.cdRef.markForCheck();
313
+ this.build(false, true);
314
+ });
315
+ effect(() => {
316
+ this.gutterSize();
317
+ this.build(false, false);
318
+ });
319
+ effect(() => {
320
+ this.useTransition();
321
+ this.cdRef.markForCheck();
322
+ });
323
+ effect(() => {
324
+ this.disabled();
325
+ this.cdRef.markForCheck();
326
+ });
327
+ effect(() => {
328
+ this.renderer.setAttribute(this.elRef.nativeElement, 'dir', this.dir());
329
+ });
330
+ }
331
+ ngAfterViewInit() {
332
+ this.ngZone.runOutsideAngular(() => {
333
+ // To avoid transition at first rendering
334
+ setTimeout(() => {
335
+ this.isInit.set(true);
336
+ this.cdRef.markForCheck();
337
+ });
338
+ });
339
+ }
340
+ getNbGutters() {
341
+ return this.displayedAreas.length === 0 ? 0 : this.displayedAreas.length - 1;
342
+ }
343
+ addArea(component) {
344
+ const newArea = {
345
+ component,
346
+ order: 0,
347
+ size: 0,
348
+ minSize: null,
349
+ maxSize: null,
350
+ };
351
+ if (component.isVisible() === true) {
352
+ this.displayedAreas.push(newArea);
353
+ this.build(true, true);
354
+ }
355
+ else {
356
+ this.hidedAreas.push(newArea);
357
+ }
358
+ }
359
+ removeArea(component) {
360
+ if (this.displayedAreas.some(a => a.component === component)) {
361
+ const area = this.displayedAreas.find(a => a.component === component);
362
+ this.displayedAreas.splice(this.displayedAreas.indexOf(area), 1);
363
+ this.build(true, true);
364
+ }
365
+ else if (this.hidedAreas.some(a => a.component === component)) {
366
+ const area = this.hidedAreas.find(a => a.component === component);
367
+ this.hidedAreas.splice(this.hidedAreas.indexOf(area), 1);
368
+ }
369
+ }
370
+ updateArea(component, resetOrders, resetSizes) {
371
+ if (component.isVisible() === true) {
372
+ this.build(resetOrders, resetSizes);
373
+ }
374
+ }
375
+ updateAreaInternal(component) {
376
+ const area = this.displayedAreas.find(a => a.component === component);
377
+ if (area) {
378
+ area.size = component.getSize();
379
+ }
380
+ }
381
+ showArea(component) {
382
+ const area = this.hidedAreas.find(a => a.component === component);
383
+ if (area === undefined) {
384
+ return;
385
+ }
386
+ const areas = this.hidedAreas.splice(this.hidedAreas.indexOf(area), 1);
387
+ this.displayedAreas.push(...areas);
388
+ this.build(true, true);
389
+ }
390
+ hideArea(comp) {
391
+ const area = this.displayedAreas.find(a => a.component === comp);
392
+ if (area === undefined) {
393
+ return;
394
+ }
395
+ const areas = this.displayedAreas.splice(this.displayedAreas.indexOf(area), 1);
396
+ areas.forEach(_area => {
397
+ _area.order = 0;
398
+ _area.size = 0;
399
+ });
400
+ this.hidedAreas.push(...areas);
401
+ this.build(true, true);
402
+ }
403
+ getVisibleAreaSizes() {
404
+ return this.displayedAreas.map(a => (a.size === null ? '*' : a.size));
405
+ }
406
+ setVisibleAreaSizes(sizes) {
407
+ if (sizes.length !== this.displayedAreas.length) {
408
+ return false;
409
+ }
410
+ const formatedSizes = sizes.map(s => getInputPositiveNumber(s, null));
411
+ const isValid = isUserSizesValid(this.unit(), formatedSizes);
412
+ if (isValid === false) {
413
+ return false;
414
+ }
415
+ this.displayedAreas.forEach((area, i) => area.component.setSize(formatedSizes[i]));
416
+ this.build(false, true);
417
+ return true;
418
+ }
419
+ build(resetOrders, resetSizes) {
420
+ // ¤ AREAS ORDER
421
+ if (resetOrders === true) {
422
+ // If user provided 'order' for each area, use it to sort them.
423
+ if (this.displayedAreas.every(a => a.component.getOrder() !== null)) {
424
+ this.displayedAreas.sort((a, b) => a.component.getOrder() - b.component.getOrder());
425
+ }
426
+ // Then set real order with multiples of 2, numbers between will be used by gutters.
427
+ this.displayedAreas.forEach((area, i) => {
428
+ area.order = i * 2;
429
+ area.component.setStyleOrder(area.order);
430
+ });
431
+ }
432
+ // ¤ AREAS SIZE
433
+ if (resetSizes === true) {
434
+ const useUserSizes = isUserSizesValid(this.unit(), this.displayedAreas.map(a => a.component.getSize()));
435
+ switch (this.unit()) {
436
+ case 'percent': {
437
+ const defaultSize = 100 / this.displayedAreas.length;
438
+ this.displayedAreas.forEach(area => {
439
+ area.size = useUserSizes ? area.component.getSize() : defaultSize;
440
+ area.minSize = getAreaMinSize(area);
441
+ area.maxSize = getAreaMaxSize(area);
442
+ });
443
+ break;
444
+ }
445
+ case 'pixel': {
446
+ if (useUserSizes) {
447
+ this.displayedAreas.forEach(area => {
448
+ area.size = area.component.getSize();
449
+ area.minSize = getAreaMinSize(area);
450
+ area.maxSize = getAreaMaxSize(area);
451
+ });
452
+ }
453
+ else {
454
+ const wildcardSizeAreas = this.displayedAreas.filter(a => a.component.getSize() === null);
455
+ // No wildcard area > Need to select one arbitrarily > first
456
+ if (wildcardSizeAreas.length === 0 && this.displayedAreas.length > 0) {
457
+ this.displayedAreas.forEach((area, i) => {
458
+ area.size = i === 0 ? null : area.component.getSize();
459
+ area.minSize = i === 0 ? null : getAreaMinSize(area);
460
+ area.maxSize = i === 0 ? null : getAreaMaxSize(area);
461
+ });
462
+ }
463
+ // More than one wildcard area > Need to keep only one arbitrarly > first
464
+ else if (wildcardSizeAreas.length > 1) {
465
+ let alreadyGotOne = false;
466
+ this.displayedAreas.forEach(area => {
467
+ if (area.component.getSize() === null) {
468
+ if (alreadyGotOne === false) {
469
+ area.size = null;
470
+ area.minSize = null;
471
+ area.maxSize = null;
472
+ alreadyGotOne = true;
473
+ }
474
+ else {
475
+ area.size = 100;
476
+ area.minSize = null;
477
+ area.maxSize = null;
478
+ }
479
+ }
480
+ else {
481
+ area.size = area.component.getSize();
482
+ area.minSize = getAreaMinSize(area);
483
+ area.maxSize = getAreaMaxSize(area);
484
+ }
485
+ });
486
+ }
487
+ }
488
+ break;
489
+ }
490
+ }
491
+ }
492
+ this.refreshStyleSizes();
493
+ this.cdRef.markForCheck();
494
+ }
495
+ refreshStyleSizes() {
496
+ ///////////////////////////////////////////
497
+ // PERCENT MODE
498
+ if (this.unit() === 'percent') {
499
+ // Only one area > flex-basis 100%
500
+ if (this.displayedAreas.length === 1) {
501
+ this.displayedAreas[0].component.setStyleFlex(0, 0, `100%`, false, false);
502
+ }
503
+ // Multiple areas > use each percent basis
504
+ else {
505
+ const sumGutterSize = this.getNbGutters() * this.gutterSize();
506
+ this.displayedAreas.forEach(area => {
507
+ area.component.setStyleFlex(0, 0, `calc( ${area.size}% - ${(area.size / 100) * sumGutterSize}px )`, area.minSize !== null && area.minSize === area.size ? true : false, area.maxSize !== null && area.maxSize === area.size ? true : false);
508
+ });
509
+ }
510
+ }
511
+ ///////////////////////////////////////////
512
+ // PIXEL MODE
513
+ else if (this.unit() === 'pixel') {
514
+ this.displayedAreas.forEach(area => {
515
+ // Area with wildcard size
516
+ if (area.size === null) {
517
+ if (this.displayedAreas.length === 1) {
518
+ area.component.setStyleFlex(1, 1, `100%`, false, false);
519
+ }
520
+ else {
521
+ area.component.setStyleFlex(1, 1, `auto`, false, false);
522
+ }
523
+ }
524
+ // Area with pixel size
525
+ else {
526
+ // Only one area > flex-basis 100%
527
+ if (this.displayedAreas.length === 1) {
528
+ area.component.setStyleFlex(0, 0, `100%`, false, false);
529
+ }
530
+ // Multiple areas > use each pixel basis
531
+ else {
532
+ area.component.setStyleFlex(0, 0, `${area.size}px`, area.minSize !== null && area.minSize === area.size ? true : false, area.maxSize !== null && area.maxSize === area.size ? true : false);
533
+ }
534
+ }
535
+ });
536
+ }
537
+ }
538
+ _clickTimeout = null;
539
+ clickGutter(event, gutterNum) {
540
+ const tempPoint = getPointFromEvent(event);
541
+ // Be sure mouseup/touchend happened at same point as mousedown/touchstart to trigger click/dblclick
542
+ if (this.startPoint && this.startPoint.x === tempPoint.x && this.startPoint.y === tempPoint.y) {
543
+ // If timeout in progress and new click > clearTimeout & dblClickEvent
544
+ if (this._clickTimeout !== null) {
545
+ window.clearTimeout(this._clickTimeout);
546
+ this._clickTimeout = null;
547
+ this.notify('dblclick', gutterNum);
548
+ this.stopDragging();
549
+ }
550
+ // Else start timeout to call clickEvent at end
551
+ else {
552
+ this._clickTimeout = window.setTimeout(() => {
553
+ this._clickTimeout = null;
554
+ this.notify('click', gutterNum);
555
+ this.stopDragging();
556
+ }, this.gutterDblClickDuration());
557
+ }
558
+ }
559
+ }
560
+ startDragging(event, gutterOrder, gutterNum) {
561
+ if (event.cancelable) {
562
+ event.preventDefault();
563
+ }
564
+ event.stopPropagation();
565
+ this.startPoint = getPointFromEvent(event);
566
+ if (this.startPoint === null || this.disabled() === true) {
567
+ return;
568
+ }
569
+ this.isDragging.set(true);
570
+ this.cdRef.markForCheck();
571
+ this.snapshot = {
572
+ gutterNum,
573
+ lastSteppedOffset: 0,
574
+ allAreasSizePixel: getElementPixelSize(this.elRef, this.direction()) - this.getNbGutters() * this.gutterSize(),
575
+ allInvolvedAreasSizePercent: 100,
576
+ areasBeforeGutter: [],
577
+ areasAfterGutter: [],
578
+ };
579
+ this.displayedAreas.forEach(area => {
580
+ const areaSnapshot = {
581
+ area,
582
+ sizePixelAtStart: getElementPixelSize(area.component.elRef, this.direction()),
583
+ sizePercentAtStart: (this.unit() === 'percent' ? area.size : -1), // If pixel mode, anyway, will not be used.
584
+ };
585
+ if (area.order < gutterOrder) {
586
+ if (this.restrictMove() === true) {
587
+ this.snapshot.areasBeforeGutter = [areaSnapshot];
588
+ }
589
+ else {
590
+ this.snapshot.areasBeforeGutter.unshift(areaSnapshot);
591
+ }
592
+ }
593
+ else if (area.order > gutterOrder) {
594
+ if (this.restrictMove() === true) {
595
+ if (this.snapshot.areasAfterGutter.length === 0) {
596
+ this.snapshot.areasAfterGutter = [areaSnapshot];
597
+ }
598
+ }
599
+ else {
600
+ this.snapshot.areasAfterGutter.push(areaSnapshot);
601
+ }
602
+ }
603
+ });
604
+ this.snapshot.allInvolvedAreasSizePercent = [
605
+ ...this.snapshot.areasBeforeGutter,
606
+ ...this.snapshot.areasAfterGutter,
607
+ ].reduce((t, a) => t + (a.sizePercentAtStart > 0 ? a.sizePercentAtStart : 0), 0);
608
+ if (this.snapshot.areasBeforeGutter.length === 0 ||
609
+ this.snapshot.areasAfterGutter.length === 0) {
610
+ return;
611
+ }
612
+ this.dragListeners.push(this.renderer.listen('document', 'mouseup', this.stopDragging.bind(this)));
613
+ this.dragListeners.push(this.renderer.listen('document', 'touchend', this.stopDragging.bind(this)));
614
+ this.dragListeners.push(this.renderer.listen('document', 'touchcancel', this.stopDragging.bind(this)));
615
+ this.ngZone.runOutsideAngular(() => {
616
+ this.dragListeners.push(this.renderer.listen('document', 'mousemove', this.dragEvent.bind(this)));
617
+ this.dragListeners.push(this.renderer.listen('document', 'touchmove', this.dragEvent.bind(this)));
618
+ });
619
+ this.displayedAreas.forEach(area => area.component.lockEvents());
620
+ this.isDragging.set(true);
621
+ this.renderer.addClass(this.elRef.nativeElement, 'ngs-dragging');
622
+ this.renderer.addClass(this.gutterEls()[this.snapshot.gutterNum - 1].nativeElement, 'ngs-dragged');
623
+ this.notify('start', this.snapshot.gutterNum);
624
+ }
625
+ dragEvent(event) {
626
+ if (event.cancelable) {
627
+ event.preventDefault();
628
+ }
629
+ event.stopPropagation();
630
+ if (this._clickTimeout !== null) {
631
+ window.clearTimeout(this._clickTimeout);
632
+ this._clickTimeout = null;
633
+ }
634
+ if (this.isDragging() === false) {
635
+ return;
636
+ }
637
+ this.endPoint = getPointFromEvent(event);
638
+ if (this.endPoint === null) {
639
+ return;
640
+ }
641
+ // Calculate steppedOffset
642
+ let offset = this.direction() === 'horizontal'
643
+ ? this.startPoint.x - this.endPoint.x
644
+ : this.startPoint.y - this.endPoint.y;
645
+ if (this.dir() === 'rtl' && this.direction() === 'horizontal') {
646
+ offset = -offset;
647
+ }
648
+ const steppedOffset = Math.round(offset / this.gutterStep()) * this.gutterStep();
649
+ if (steppedOffset === this.snapshot.lastSteppedOffset) {
650
+ return;
651
+ }
652
+ this.snapshot.lastSteppedOffset = steppedOffset;
653
+ // Need to know if each gutter side areas could reacts to steppedOffset
654
+ let areasBefore = getGutterSideAbsorptionCapacity(this.unit(), this.snapshot.areasBeforeGutter, -steppedOffset, this.snapshot.allAreasSizePixel);
655
+ let areasAfter = getGutterSideAbsorptionCapacity(this.unit(), this.snapshot.areasAfterGutter, steppedOffset, this.snapshot.allAreasSizePixel);
656
+ // Each gutter side areas can't absorb all offset
657
+ if (areasBefore.remain !== 0 && areasAfter.remain !== 0) {
658
+ if (Math.abs(areasBefore.remain) === Math.abs(areasAfter.remain)) {
659
+ /** */
660
+ }
661
+ else if (Math.abs(areasBefore.remain) > Math.abs(areasAfter.remain)) {
662
+ areasAfter = getGutterSideAbsorptionCapacity(this.unit(), this.snapshot.areasAfterGutter, steppedOffset + areasBefore.remain, this.snapshot.allAreasSizePixel);
663
+ }
664
+ else {
665
+ areasBefore = getGutterSideAbsorptionCapacity(this.unit(), this.snapshot.areasBeforeGutter, -(steppedOffset - areasAfter.remain), this.snapshot.allAreasSizePixel);
666
+ }
667
+ }
668
+ // Areas before gutter can't absorbs all offset > need to recalculate sizes for areas after gutter.
669
+ else if (areasBefore.remain !== 0) {
670
+ areasAfter = getGutterSideAbsorptionCapacity(this.unit(), this.snapshot.areasAfterGutter, steppedOffset + areasBefore.remain, this.snapshot.allAreasSizePixel);
671
+ }
672
+ // Areas after gutter can't absorbs all offset > need to recalculate sizes for areas before gutter.
673
+ else if (areasAfter.remain !== 0) {
674
+ areasBefore = getGutterSideAbsorptionCapacity(this.unit(), this.snapshot.areasBeforeGutter, -(steppedOffset - areasAfter.remain), this.snapshot.allAreasSizePixel);
675
+ }
676
+ if (this.unit() === 'percent') {
677
+ // Hack because of browser messing up with sizes using calc(X% - Ypx) -> el.getBoundingClientRect()
678
+ // If not there, playing with gutters makes total going down to 99.99875% then 99.99286%, 99.98986%,..
679
+ const all = [...areasBefore.list, ...areasAfter.list];
680
+ const areaToReset = all.find(a => a.percentAfterAbsorption !== 0 &&
681
+ a.percentAfterAbsorption !== a.areaSnapshot.area.minSize &&
682
+ a.percentAfterAbsorption !== a.areaSnapshot.area.maxSize);
683
+ if (areaToReset) {
684
+ areaToReset.percentAfterAbsorption =
685
+ this.snapshot.allInvolvedAreasSizePercent -
686
+ all
687
+ .filter(a => a !== areaToReset)
688
+ .reduce((total, a) => total + a.percentAfterAbsorption, 0);
689
+ }
690
+ }
691
+ // Now we know areas could absorb steppedOffset, time to really update sizes
692
+ areasBefore.list.forEach(item => updateAreaSize(this.unit(), item));
693
+ areasAfter.list.forEach(item => updateAreaSize(this.unit(), item));
694
+ this.refreshStyleSizes();
695
+ this.notify('progress', this.snapshot.gutterNum);
696
+ }
697
+ stopDragging(event) {
698
+ if (event && event.cancelable) {
699
+ event.preventDefault();
700
+ event.stopPropagation();
701
+ }
702
+ if (this.isDragging() === false) {
703
+ return;
704
+ }
705
+ this.displayedAreas.forEach(area => area.component.unlockEvents());
706
+ while (this.dragListeners.length > 0) {
707
+ const fct = this.dragListeners.pop();
708
+ if (fct) {
709
+ fct();
710
+ }
711
+ }
712
+ // Warning: Have to be before "notify('end')"
713
+ // because "notify('end')"" can be linked to "[size]='x'" > "build()" > "stopDragging()"
714
+ this.isDragging.set(false);
715
+ this.cdRef.markForCheck();
716
+ // If moved from starting point, notify end
717
+ if (this.endPoint &&
718
+ (this.startPoint.x !== this.endPoint.x ||
719
+ this.startPoint.y !== this.endPoint.y)) {
720
+ this.notify('end', this.snapshot.gutterNum);
721
+ }
722
+ this.renderer.removeClass(this.elRef.nativeElement, 'ngs-dragging');
723
+ this.renderer.removeClass(this.gutterEls()[this.snapshot.gutterNum - 1].nativeElement, 'ngs-dragged');
724
+ this.snapshot = null;
725
+ // Needed to let (click)="clickGutter(...)" event run and verify if mouse moved or not
726
+ this.ngZone.runOutsideAngular(() => {
727
+ setTimeout(() => {
728
+ this.startPoint = null;
729
+ this.endPoint = null;
730
+ });
731
+ });
732
+ }
733
+ notify(type, gutterNum) {
734
+ const sizes = this.getVisibleAreaSizes();
735
+ if (type === 'start') {
736
+ this.dragStart.emit({ gutterNum, sizes });
737
+ }
738
+ else if (type === 'end') {
739
+ this.dragEnd.emit({ gutterNum, sizes });
740
+ }
741
+ else if (type === 'click') {
742
+ this.gutterClick.emit({ gutterNum, sizes });
743
+ }
744
+ else if (type === 'dblclick') {
745
+ this.gutterDblClick.emit({ gutterNum, sizes });
746
+ }
747
+ else if (type === 'transitionEnd') {
748
+ this.ngZone.run(() => this.transitionEndSubject.next(sizes));
749
+ }
750
+ else if (type === 'progress') {
751
+ // Stay outside zone to allow users do what they want about change detection mechanism.
752
+ this.dragProgressSubject.next({ gutterNum, sizes });
753
+ }
754
+ }
755
+ ngOnDestroy() {
756
+ this.stopDragging();
757
+ }
758
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Split, deps: [], target: i0.ɵɵFactoryTarget.Component });
759
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: Split, isStandalone: true, selector: "ngs-split", inputs: { direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, unit: { classPropertyName: "unit", publicName: "unit", isSignal: true, isRequired: false, transformFunction: null }, gutterSize: { classPropertyName: "gutterSize", publicName: "gutterSize", isSignal: true, isRequired: false, transformFunction: null }, gutterStep: { classPropertyName: "gutterStep", publicName: "gutterStep", isSignal: true, isRequired: false, transformFunction: null }, restrictMove: { classPropertyName: "restrictMove", publicName: "restrictMove", isSignal: true, isRequired: false, transformFunction: null }, useTransition: { classPropertyName: "useTransition", publicName: "useTransition", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, dir: { classPropertyName: "dir", publicName: "dir", isSignal: true, isRequired: false, transformFunction: null }, gutterDblClickDuration: { classPropertyName: "gutterDblClickDuration", publicName: "gutterDblClickDuration", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dragStart: "dragStart", dragEnd: "dragEnd", gutterClick: "gutterClick", gutterDblClick: "gutterDblClick", transitionEnd: "transitionEnd" }, host: { properties: { "class.ngs-split-horizontal": "direction() === \"horizontal\"", "class.ngs-split-vertical": "direction() === \"vertical\"", "class.ngs-split-percent": "unit() === \"percent\"", "class.ngs-split-pixel": "unit() === \"pixel\"", "class.ngs-split-disabled": "disabled()", "class.ngs-split-transition": "useTransition()", "class.ngs-dragging": "isDraggingSignal()", "class.ngs-split-init": "isInitSignal()" }, classAttribute: "ngs-split" }, viewQueries: [{ propertyName: "gutterEls", predicate: ["gutterEls"], descendants: true, isSignal: true }], exportAs: ["ngsSplit"], ngImport: i0, template: "<ng-content/>\n@for (area of displayedAreas; track area; let index = $index; let last = $last) {\n @if (!last) {\n <div\n #gutterEls\n class=\"ngs-split-gutter\"\n [style.flex-basis.px]=\"gutterSize()\"\n [style.order]=\"index * 2 + 1\"\n (mousedown)=\"startDragging($event, index * 2 + 1, index + 1)\"\n (touchstart)=\"startDragging($event, index * 2 + 1, index + 1)\"\n (mouseup)=\"clickGutter($event, index + 1)\"\n (touchend)=\"clickGutter($event, index + 1)\"\n >\n <div class=\"ngs-split-gutter-handle\" [class.has-dots]=\"shouldShowHandle(index)\">\n @if (shouldShowHandle(index)) {\n <div class=\"ngs-split-gutter-dot\"></div>\n <div class=\"ngs-split-gutter-dot\"></div>\n <div class=\"ngs-split-gutter-dot\"></div>\n }\n </div>\n </div>\n }\n}\n", styles: [":host{--ngs-split-gutter-size: 5px;--ngs-split-handle-size: 10px;--ngs-split-handle-offset: calc((var(--ngs-split-handle-size) - var(--ngs-split-gutter-size)) * .5);--ngs-split-gutter-bg: var(--color-surface-container-high);--ngs-split-gutter-hover-bg: var(--color-primary);display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;overflow:hidden;width:100%;height:100%}:host ::ng-deep>.ngs-split-gutter{position:relative;display:flex;flex-grow:0;flex-shrink:0;align-items:center;justify-content:center;background-color:transparent;z-index:10}:host ::ng-deep>.ngs-split-gutter:before{content:\"\";position:absolute;background-color:var(--ngs-split-gutter-bg);transition:background-color .2s}:host ::ng-deep>.ngs-split-gutter:hover:before{background-color:var(--ngs-split-gutter-hover-bg)}:host ::ng-deep>.ngs-split-gutter>.ngs-split-gutter-handle{position:absolute;opacity:0;display:flex;align-items:center;justify-content:center}:host ::ng-deep>.ngs-split-gutter>.ngs-split-gutter-handle.has-dots{opacity:1}:host ::ng-deep>.ngs-split-gutter>.ngs-split-gutter-handle .ngs-split-gutter-dot{width:2px;height:2px;border-radius:50%;background-color:var(--color-on-surface)}:host ::ng-deep>.ngs-split-pane{display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;min-width:0;min-height:0;overflow:hidden auto}:host ::ng-deep>.ngs-split-pane.ngs-dragging{-webkit-user-select:none;user-select:none}:host ::ng-deep>.ngs-split-pane>*{flex-shrink:0}:host ::ng-deep>.ngs-split-pane.ngs-split-pane-hidden{flex:0 1 0!important;overflow:hidden}:host.ngs-split-horizontal{flex-direction:row}:host.ngs-split-horizontal.ngs-dragging{cursor:col-resize}:host.ngs-split-horizontal ::ng-deep>.ngs-split-gutter{flex-direction:row;height:100%;width:var(--ngs-split-gutter-size);cursor:col-resize}:host.ngs-split-horizontal ::ng-deep>.ngs-split-gutter:before{width:100%;height:100%;top:0;left:0}:host.ngs-split-horizontal ::ng-deep>.ngs-split-gutter>.ngs-split-gutter-handle{width:var(--ngs-split-handle-size);height:100%;left:calc(-1 * var(--ngs-split-handle-offset));flex-direction:column;gap:2px}:host.ngs-split-horizontal ::ng-deep>.ngs-split-pane{height:100%;min-height:0}:host.ngs-split-vertical{flex-direction:column}:host.ngs-split-vertical.ngs-dragging{cursor:row-resize}:host.ngs-split-vertical ::ng-deep>.ngs-split-gutter{flex-direction:column;width:100%;height:var(--ngs-split-gutter-size);cursor:row-resize}:host.ngs-split-vertical ::ng-deep>.ngs-split-gutter:before{width:100%;height:100%;top:0;left:0}:host.ngs-split-vertical ::ng-deep>.ngs-split-gutter>.ngs-split-gutter-handle{width:100%;height:var(--ngs-split-handle-size);top:calc(-1 * var(--ngs-split-handle-offset));flex-direction:row;gap:3px}:host.ngs-split-vertical ::ng-deep>.ngs-split-pane{width:100%;min-width:0}:host.ngs-split-vertical ::ng-deep>.ngs-split-pane.ngs-split-pane-hidden{max-width:0}:host.ngs-split-disabled ::ng-deep>.ngs-split-gutter{cursor:default}:host.ngs-split-disabled ::ng-deep>.ngs-split-gutter .ngs-split-gutter-handle{background-image:none}:host.ngs-split-transition.ngs-split-init:not(.ngs-dragging) ::ng-deep>.ngs-split-gutter,:host.ngs-split-transition.ngs-split-init:not(.ngs-dragging) ::ng-deep>.ngs-split-pane{transition:flex-basis .3s}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
760
+ }
761
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Split, decorators: [{
762
+ type: Component,
763
+ args: [{ selector: 'ngs-split', exportAs: 'ngsSplit', standalone: true, imports: [], changeDetection: ChangeDetectionStrategy.OnPush, host: {
764
+ class: 'ngs-split',
765
+ '[class.ngs-split-horizontal]': 'direction() === "horizontal"',
766
+ '[class.ngs-split-vertical]': 'direction() === "vertical"',
767
+ '[class.ngs-split-percent]': 'unit() === "percent"',
768
+ '[class.ngs-split-pixel]': 'unit() === "pixel"',
769
+ '[class.ngs-split-disabled]': 'disabled()',
770
+ '[class.ngs-split-transition]': 'useTransition()',
771
+ '[class.ngs-dragging]': 'isDraggingSignal()',
772
+ '[class.ngs-split-init]': 'isInitSignal()',
773
+ }, template: "<ng-content/>\n@for (area of displayedAreas; track area; let index = $index; let last = $last) {\n @if (!last) {\n <div\n #gutterEls\n class=\"ngs-split-gutter\"\n [style.flex-basis.px]=\"gutterSize()\"\n [style.order]=\"index * 2 + 1\"\n (mousedown)=\"startDragging($event, index * 2 + 1, index + 1)\"\n (touchstart)=\"startDragging($event, index * 2 + 1, index + 1)\"\n (mouseup)=\"clickGutter($event, index + 1)\"\n (touchend)=\"clickGutter($event, index + 1)\"\n >\n <div class=\"ngs-split-gutter-handle\" [class.has-dots]=\"shouldShowHandle(index)\">\n @if (shouldShowHandle(index)) {\n <div class=\"ngs-split-gutter-dot\"></div>\n <div class=\"ngs-split-gutter-dot\"></div>\n <div class=\"ngs-split-gutter-dot\"></div>\n }\n </div>\n </div>\n }\n}\n", styles: [":host{--ngs-split-gutter-size: 5px;--ngs-split-handle-size: 10px;--ngs-split-handle-offset: calc((var(--ngs-split-handle-size) - var(--ngs-split-gutter-size)) * .5);--ngs-split-gutter-bg: var(--color-surface-container-high);--ngs-split-gutter-hover-bg: var(--color-primary);display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;overflow:hidden;width:100%;height:100%}:host ::ng-deep>.ngs-split-gutter{position:relative;display:flex;flex-grow:0;flex-shrink:0;align-items:center;justify-content:center;background-color:transparent;z-index:10}:host ::ng-deep>.ngs-split-gutter:before{content:\"\";position:absolute;background-color:var(--ngs-split-gutter-bg);transition:background-color .2s}:host ::ng-deep>.ngs-split-gutter:hover:before{background-color:var(--ngs-split-gutter-hover-bg)}:host ::ng-deep>.ngs-split-gutter>.ngs-split-gutter-handle{position:absolute;opacity:0;display:flex;align-items:center;justify-content:center}:host ::ng-deep>.ngs-split-gutter>.ngs-split-gutter-handle.has-dots{opacity:1}:host ::ng-deep>.ngs-split-gutter>.ngs-split-gutter-handle .ngs-split-gutter-dot{width:2px;height:2px;border-radius:50%;background-color:var(--color-on-surface)}:host ::ng-deep>.ngs-split-pane{display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;min-width:0;min-height:0;overflow:hidden auto}:host ::ng-deep>.ngs-split-pane.ngs-dragging{-webkit-user-select:none;user-select:none}:host ::ng-deep>.ngs-split-pane>*{flex-shrink:0}:host ::ng-deep>.ngs-split-pane.ngs-split-pane-hidden{flex:0 1 0!important;overflow:hidden}:host.ngs-split-horizontal{flex-direction:row}:host.ngs-split-horizontal.ngs-dragging{cursor:col-resize}:host.ngs-split-horizontal ::ng-deep>.ngs-split-gutter{flex-direction:row;height:100%;width:var(--ngs-split-gutter-size);cursor:col-resize}:host.ngs-split-horizontal ::ng-deep>.ngs-split-gutter:before{width:100%;height:100%;top:0;left:0}:host.ngs-split-horizontal ::ng-deep>.ngs-split-gutter>.ngs-split-gutter-handle{width:var(--ngs-split-handle-size);height:100%;left:calc(-1 * var(--ngs-split-handle-offset));flex-direction:column;gap:2px}:host.ngs-split-horizontal ::ng-deep>.ngs-split-pane{height:100%;min-height:0}:host.ngs-split-vertical{flex-direction:column}:host.ngs-split-vertical.ngs-dragging{cursor:row-resize}:host.ngs-split-vertical ::ng-deep>.ngs-split-gutter{flex-direction:column;width:100%;height:var(--ngs-split-gutter-size);cursor:row-resize}:host.ngs-split-vertical ::ng-deep>.ngs-split-gutter:before{width:100%;height:100%;top:0;left:0}:host.ngs-split-vertical ::ng-deep>.ngs-split-gutter>.ngs-split-gutter-handle{width:100%;height:var(--ngs-split-handle-size);top:calc(-1 * var(--ngs-split-handle-offset));flex-direction:row;gap:3px}:host.ngs-split-vertical ::ng-deep>.ngs-split-pane{width:100%;min-width:0}:host.ngs-split-vertical ::ng-deep>.ngs-split-pane.ngs-split-pane-hidden{max-width:0}:host.ngs-split-disabled ::ng-deep>.ngs-split-gutter{cursor:default}:host.ngs-split-disabled ::ng-deep>.ngs-split-gutter .ngs-split-gutter-handle{background-image:none}:host.ngs-split-transition.ngs-split-init:not(.ngs-dragging) ::ng-deep>.ngs-split-gutter,:host.ngs-split-transition.ngs-split-init:not(.ngs-dragging) ::ng-deep>.ngs-split-pane{transition:flex-basis .3s}\n"] }]
774
+ }], ctorParameters: () => [], propDecorators: { direction: [{ type: i0.Input, args: [{ isSignal: true, alias: "direction", required: false }] }], unit: [{ type: i0.Input, args: [{ isSignal: true, alias: "unit", required: false }] }], gutterSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "gutterSize", required: false }] }], gutterStep: [{ type: i0.Input, args: [{ isSignal: true, alias: "gutterStep", required: false }] }], restrictMove: [{ type: i0.Input, args: [{ isSignal: true, alias: "restrictMove", required: false }] }], useTransition: [{ type: i0.Input, args: [{ isSignal: true, alias: "useTransition", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], dir: [{ type: i0.Input, args: [{ isSignal: true, alias: "dir", required: false }] }], gutterDblClickDuration: [{ type: i0.Input, args: [{ isSignal: true, alias: "gutterDblClickDuration", required: false }] }], dragStart: [{ type: i0.Output, args: ["dragStart"] }], dragEnd: [{ type: i0.Output, args: ["dragEnd"] }], gutterClick: [{ type: i0.Output, args: ["gutterClick"] }], gutterDblClick: [{ type: i0.Output, args: ["gutterDblClick"] }], transitionEnd: [{ type: i0.Output, args: ["transitionEnd"] }], gutterEls: [{ type: i0.ViewChildren, args: ['gutterEls', { isSignal: true }] }] } });
775
+
776
+ class SplitPane {
777
+ ngZone = inject(NgZone);
778
+ renderer = inject(Renderer2);
779
+ split = inject(Split);
780
+ elRef = inject(ElementRef);
781
+ /**
782
+ * Order of the area. Used to maintain the order of areas when toggling their visibility.
783
+ * Toggling area visibility without specifying an `order` leads to weird behavior.
784
+ */
785
+ orderIn = input(null, { ...(ngDevMode ? { debugName: "orderIn" } : /* istanbul ignore next */ {}), alias: 'order',
786
+ transform: v => getInputPositiveNumber(v, null) });
787
+ /**
788
+ * Size of the area in selected unit (percent/pixel).
789
+ * - Percent: All areas sizes should equal to `100`, If not, all areas will have the same size.
790
+ * - Pixel: An area with wildcard size (`size="*"`) is mandatory (only one) and
791
+ * can't have `visible="false"` or `minSize`/`maxSize`/`lockSize` properties.
792
+ */
793
+ sizeIn = input(null, { ...(ngDevMode ? { debugName: "sizeIn" } : /* istanbul ignore next */ {}), alias: 'size',
794
+ transform: v => getInputPositiveNumber(v, null) });
795
+ /** Minimum pixel or percent size, should be equal to or smaller than provided `size`. */
796
+ minSizeIn = input(null, { ...(ngDevMode ? { debugName: "minSizeIn" } : /* istanbul ignore next */ {}), alias: 'minSize',
797
+ transform: v => getInputPositiveNumber(v, null) });
798
+ /** Maximum pixel or percent size, should be equal to or larger than provided `size`. */
799
+ maxSizeIn = input(null, { ...(ngDevMode ? { debugName: "maxSizeIn" } : /* istanbul ignore next */ {}), alias: 'maxSize',
800
+ transform: v => getInputPositiveNumber(v, null) });
801
+ /** Lock area size, same as `minSize`=`maxSize`=`size`. */
802
+ lockSizeIn = input(false, { ...(ngDevMode ? { debugName: "lockSizeIn" } : /* istanbul ignore next */ {}), alias: 'lockSize', transform: booleanAttribute });
803
+ /** Hide area visually but still present in the DOM, use `ngIf` to completely remove it. */
804
+ visibleIn = input(true, { ...(ngDevMode ? { debugName: "visibleIn" } : /* istanbul ignore next */ {}), alias: 'visible', transform: booleanAttribute });
805
+ /** Show handle (three dots) on the gutter adjacent to this pane. */
806
+ withHandleIn = input(false, { ...(ngDevMode ? { debugName: "withHandleIn" } : /* istanbul ignore next */ {}), alias: 'withHandle', transform: booleanAttribute });
807
+ // Writable state reflecting current effective values (can be changed programmatically by Split)
808
+ orderSig = signal(null, { ...(ngDevMode ? { debugName: "orderSig" } : /* istanbul ignore next */ {}), equal: Object.is });
809
+ sizeSig = signal(null, { ...(ngDevMode ? { debugName: "sizeSig" } : /* istanbul ignore next */ {}), equal: Object.is });
810
+ minSizeSig = signal(null, { ...(ngDevMode ? { debugName: "minSizeSig" } : /* istanbul ignore next */ {}), equal: Object.is });
811
+ maxSizeSig = signal(null, { ...(ngDevMode ? { debugName: "maxSizeSig" } : /* istanbul ignore next */ {}), equal: Object.is });
812
+ lockSizeSig = signal(false, { ...(ngDevMode ? { debugName: "lockSizeSig" } : /* istanbul ignore next */ {}), equal: Object.is });
813
+ visibleSig = signal(true, { ...(ngDevMode ? { debugName: "visibleSig" } : /* istanbul ignore next */ {}), equal: Object.is });
814
+ withHandleSig = signal(false, { ...(ngDevMode ? { debugName: "withHandleSig" } : /* istanbul ignore next */ {}), equal: Object.is });
815
+ transitionListener;
816
+ lockListeners = [];
817
+ constructor() {
818
+ this.renderer.addClass(this.elRef.nativeElement, 'ngs-split-pane');
819
+ this.split.addArea(this);
820
+ this.ngZone.runOutsideAngular(() => {
821
+ this.transitionListener = this.renderer.listen(this.elRef.nativeElement, 'transitionend', (event) => {
822
+ // Limit only flex-basis transition to trigger the event
823
+ if (event.propertyName === 'flex-basis') {
824
+ this.split.notify('transitionEnd', -1);
825
+ }
826
+ });
827
+ });
828
+ // Sync inputs to writable state
829
+ effect(() => this.orderSig.set(this.orderIn()));
830
+ effect(() => this.sizeSig.set(this.sizeIn()));
831
+ effect(() => this.minSizeSig.set(this.minSizeIn()));
832
+ effect(() => this.maxSizeSig.set(this.maxSizeIn()));
833
+ effect(() => this.lockSizeSig.set(this.lockSizeIn()));
834
+ effect(() => this.withHandleSig.set(this.withHandleIn()));
835
+ // React to visibility changes
836
+ effect(() => {
837
+ const isVisible = this.visibleIn();
838
+ this.visibleSig.set(isVisible);
839
+ if (isVisible) {
840
+ this.split.showArea(this);
841
+ this.renderer.removeClass(this.elRef.nativeElement, 'ngs-split-pane-hidden');
842
+ }
843
+ else {
844
+ this.split.hideArea(this);
845
+ this.renderer.addClass(this.elRef.nativeElement, 'ngs-split-pane-hidden');
846
+ }
847
+ });
848
+ // React to state changes that require rebuild
849
+ effect(() => {
850
+ this.orderSig();
851
+ if (!this.split.isDraggingPublic()) {
852
+ this.split.updateArea(this, true, false);
853
+ }
854
+ });
855
+ effect(() => {
856
+ this.sizeSig();
857
+ this.minSizeSig();
858
+ this.maxSizeSig();
859
+ this.lockSizeSig();
860
+ if (!this.split.isDraggingPublic()) {
861
+ this.split.updateArea(this, false, true);
862
+ }
863
+ });
864
+ effect(() => {
865
+ this.withHandleSig();
866
+ if (!this.split.isDraggingPublic()) {
867
+ this.split.updateArea(this, false, false);
868
+ }
869
+ });
870
+ }
871
+ // Imperative API used by Split
872
+ getOrder() { return this.orderSig(); }
873
+ getSize() { return this.sizeSig(); }
874
+ setSize(v) {
875
+ this.sizeSig.set(v);
876
+ this.split.updateAreaInternal(this);
877
+ }
878
+ getMinSize() { return this.minSizeSig(); }
879
+ getMaxSize() { return this.maxSizeSig(); }
880
+ isLocked() { return this.lockSizeSig(); }
881
+ isVisible() { return this.visibleSig(); }
882
+ hasHandle() { return this.withHandleSig(); }
883
+ setStyleOrder(value) {
884
+ this.renderer.setStyle(this.elRef.nativeElement, 'order', value);
885
+ }
886
+ setStyleFlex(grow, shrink, basis, isMin, isMax) {
887
+ // Need 3 separated properties to work on IE11 (https://github.com/angular/flex-layout/issues/323)
888
+ this.renderer.setStyle(this.elRef.nativeElement, 'flex-grow', grow);
889
+ this.renderer.setStyle(this.elRef.nativeElement, 'flex-shrink', shrink);
890
+ this.renderer.setStyle(this.elRef.nativeElement, 'flex-basis', basis);
891
+ if (basis === '0px' || basis === '0%') {
892
+ this.renderer.setStyle(this.elRef.nativeElement, 'overflow', 'hidden');
893
+ }
894
+ else {
895
+ this.renderer.removeStyle(this.elRef.nativeElement, 'overflow');
896
+ }
897
+ if (isMin === true) {
898
+ this.renderer.addClass(this.elRef.nativeElement, 'ngs-min');
899
+ }
900
+ else {
901
+ this.renderer.removeClass(this.elRef.nativeElement, 'ngs-min');
902
+ }
903
+ if (isMax === true) {
904
+ this.renderer.addClass(this.elRef.nativeElement, 'ngs-max');
905
+ }
906
+ else {
907
+ this.renderer.removeClass(this.elRef.nativeElement, 'ngs-max');
908
+ }
909
+ }
910
+ lockEvents() {
911
+ this.ngZone.runOutsideAngular(() => {
912
+ this.lockListeners.push(this.renderer.listen(this.elRef.nativeElement, 'selectstart', (e) => false));
913
+ this.lockListeners.push(this.renderer.listen(this.elRef.nativeElement, 'dragstart', (e) => false));
914
+ });
915
+ }
916
+ unlockEvents() {
917
+ while (this.lockListeners.length > 0) {
918
+ const fct = this.lockListeners.pop();
919
+ if (fct) {
920
+ fct();
921
+ }
922
+ }
923
+ }
924
+ ngOnDestroy() {
925
+ this.unlockEvents();
926
+ if (this.transitionListener) {
927
+ this.transitionListener();
928
+ }
929
+ this.split.removeArea(this);
930
+ }
931
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: SplitPane, deps: [], target: i0.ɵɵFactoryTarget.Directive });
932
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.4", type: SplitPane, isStandalone: true, selector: "ngs-split-pane, [ngs-split-pane]", inputs: { orderIn: { classPropertyName: "orderIn", publicName: "order", isSignal: true, isRequired: false, transformFunction: null }, sizeIn: { classPropertyName: "sizeIn", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, minSizeIn: { classPropertyName: "minSizeIn", publicName: "minSize", isSignal: true, isRequired: false, transformFunction: null }, maxSizeIn: { classPropertyName: "maxSizeIn", publicName: "maxSize", isSignal: true, isRequired: false, transformFunction: null }, lockSizeIn: { classPropertyName: "lockSizeIn", publicName: "lockSize", isSignal: true, isRequired: false, transformFunction: null }, visibleIn: { classPropertyName: "visibleIn", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, withHandleIn: { classPropertyName: "withHandleIn", publicName: "withHandle", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["ngsSplitPane"], ngImport: i0 });
933
+ }
934
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: SplitPane, decorators: [{
935
+ type: Directive,
936
+ args: [{
937
+ selector: 'ngs-split-pane, [ngs-split-pane]',
938
+ exportAs: 'ngsSplitPane',
939
+ standalone: true,
940
+ }]
941
+ }], ctorParameters: () => [], propDecorators: { orderIn: [{ type: i0.Input, args: [{ isSignal: true, alias: "order", required: false }] }], sizeIn: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], minSizeIn: [{ type: i0.Input, args: [{ isSignal: true, alias: "minSize", required: false }] }], maxSizeIn: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxSize", required: false }] }], lockSizeIn: [{ type: i0.Input, args: [{ isSignal: true, alias: "lockSize", required: false }] }], visibleIn: [{ type: i0.Input, args: [{ isSignal: true, alias: "visible", required: false }] }], withHandleIn: [{ type: i0.Input, args: [{ isSignal: true, alias: "withHandle", required: false }] }] } });
942
+
943
+ /**
944
+ * Generated bundle index. Do not edit.
945
+ */
946
+
947
+ export { SPLIT_DEFAULT_OPTIONS, Split, SplitPane, getAreaAbsorptionCapacity, getAreaAbsorptionCapacityPercent, getAreaAbsorptionCapacityPixel, getAreaMaxSize, getAreaMinSize, getElementPixelSize, getGutterSideAbsorptionCapacity, getInputPositiveNumber, getPointFromEvent, isUserSizesValid, provideSplit, updateAreaSize };
948
+ //# sourceMappingURL=ngstarter-ui-components-split.mjs.map