@sd-angular/core 19.0.0-beta.98 → 19.0.3

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 (368) hide show
  1. package/README.md +720 -716
  2. package/assets/images/coming-soon.svg +23 -0
  3. package/assets/images/data-empty.svg +21 -0
  4. package/assets/images/expired.svg +22 -0
  5. package/assets/images/file-error.svg +28 -0
  6. package/assets/images/filter-empty.svg +20 -0
  7. package/assets/images/filter-required.svg +21 -0
  8. package/assets/images/forbidden.svg +15 -0
  9. package/assets/images/image-error.svg +27 -0
  10. package/assets/images/maintenance.svg +23 -0
  11. package/assets/images/not-found.svg +20 -0
  12. package/assets/images/offline.svg +20 -0
  13. package/assets/images/submitted.svg +18 -0
  14. package/assets/images/success.svg +18 -0
  15. package/assets/images/unauthorized.svg +22 -0
  16. package/assets/images/unknown-error.svg +18 -0
  17. package/assets/scss/README.md +433 -353
  18. package/assets/scss/core/_inline-edit.scss +105 -0
  19. package/assets/scss/core/form.scss +58 -1
  20. package/assets/scss/core/image.scss +35 -0
  21. package/assets/scss/core/utilities/_base.scss +6 -6
  22. package/assets/scss/core/utilities/_grid.scss +4 -3
  23. package/assets/scss/core/utilities/_index.scss +1 -1
  24. package/assets/scss/core/utilities/_sizing.scss +2 -2
  25. package/assets/scss/sd-core.scss +1 -2
  26. package/components/anchor/src/components/anchor/anchor.component.d.ts +5 -5
  27. package/components/anchor/src/components/anchor-nav/anchor-nav.component.d.ts +21 -0
  28. package/components/autoid-inspector/src/autoid-inspector.component.d.ts +18 -0
  29. package/components/autoid-inspector/src/models/autoid-element.model.d.ts +45 -1
  30. package/components/autoid-inspector/src/models/autoid-export-format.model.d.ts +19 -0
  31. package/components/autoid-inspector/src/services/autoid-export.service.d.ts +10 -2
  32. package/components/autoid-inspector/src/services/autoid-scanner.service.d.ts +26 -3
  33. package/components/badge/src/badge.component.d.ts +20 -3
  34. package/components/button/src/button.component.d.ts +2 -1
  35. package/components/ckeditor-styles/index.d.ts +1 -0
  36. package/components/ckeditor-styles/src/ckeditor-styles.component.d.ts +25 -0
  37. package/components/editor/src/editor.component.d.ts +2 -0
  38. package/components/form-generic/src/components/form-builder/form-builder.component.d.ts +12 -13
  39. package/components/form-generic/src/models/form-generic-component.model.d.ts +5 -6
  40. package/components/form-generic/src/models/form-generic-expression.model.d.ts +1 -1
  41. package/components/history/models/history.model.d.ts +2 -2
  42. package/components/index.d.ts +2 -0
  43. package/components/inform/index.d.ts +2 -0
  44. package/components/inform/src/inform-action.directive.d.ts +9 -0
  45. package/components/inform/src/inform.component.d.ts +59 -0
  46. package/components/modal/src/modal.component.d.ts +3 -1
  47. package/components/modal-resizable/index.d.ts +1 -0
  48. package/components/modal-resizable/src/modal-resizable.component.d.ts +29 -0
  49. package/components/operator/index.d.ts +1 -0
  50. package/components/operator/src/operator.component.d.ts +34 -0
  51. package/components/query-bar/index.d.ts +2 -0
  52. package/components/query-bar/src/components/actions-bar/actions-bar.component.d.ts +28 -0
  53. package/components/query-bar/src/components/build-chip/build-chip.component.d.ts +67 -0
  54. package/components/query-bar/src/components/chip-popover/chip-popover.component.d.ts +73 -0
  55. package/components/query-bar/src/components/field-picker/field-picker.component.d.ts +37 -0
  56. package/components/query-bar/src/components/inline-chip/inline-chip.component.d.ts +76 -0
  57. package/components/query-bar/src/components/inline-value-chip/inline-value-chip.component.d.ts +67 -0
  58. package/components/query-bar/src/components/popover-chip/popover-chip.component.d.ts +35 -0
  59. package/components/query-bar/src/components/saved-filters-menu/saved-filters-menu.component.d.ts +39 -0
  60. package/components/query-bar/src/query-bar.component.d.ts +137 -0
  61. package/components/query-bar/src/query-bar.model.d.ts +136 -0
  62. package/components/section/src/section.component.d.ts +2 -1
  63. package/components/side-drawer/src/side-drawer.component.d.ts +7 -3
  64. package/components/stepper/index.d.ts +2 -0
  65. package/components/stepper/src/step.component.d.ts +17 -0
  66. package/components/stepper/src/stepper.component.d.ts +33 -0
  67. package/components/tab/index.d.ts +2 -0
  68. package/components/tab/src/tab-group.component.d.ts +37 -0
  69. package/components/tab/src/tab.component.d.ts +13 -0
  70. package/components/tab-router/src/decorators/tab.decorator.d.ts +2 -2
  71. package/components/tab-router/src/models/tab-router.model.d.ts +2 -2
  72. package/components/table/index.d.ts +1 -0
  73. package/components/table/src/components/column-title/column-title.component.d.ts +1 -1
  74. package/components/table/src/components/command/desktop-command.component.d.ts +14 -0
  75. package/components/table/src/components/command/pipes/command.pipe.d.ts +30 -0
  76. package/components/table/src/components/command/pipes/filter.pipe.d.ts +35 -0
  77. package/components/table/src/components/config/config.component.d.ts +9 -14
  78. package/components/table/src/components/desktop-cell/desktop-cell.component.d.ts +4 -4
  79. package/components/table/src/components/filter/column-filter/column-filter.component.d.ts +32 -0
  80. package/components/table/src/components/filter/external-filter/external-filter.component.d.ts +27 -0
  81. package/components/table/src/components/filter/index.d.ts +3 -0
  82. package/components/table/src/components/filter/mobile-filter/mobile-filter.component.d.ts +42 -0
  83. package/components/table/src/components/index.d.ts +1 -2
  84. package/components/table/src/components/selector-action/selector-action.component.d.ts +5 -5
  85. package/components/table/src/configurations/table.configuration.d.ts +3 -3
  86. package/components/table/src/directives/index.d.ts +1 -0
  87. package/components/table/src/directives/sd-table-cell-def.directive.d.ts +13 -5
  88. package/components/table/src/directives/sd-table-column-filter-def.directive.d.ts +13 -5
  89. package/components/table/src/directives/sd-table-expand-def.directive.d.ts +10 -4
  90. package/components/table/src/directives/sd-table-filter-def.directive.d.ts +5 -5
  91. package/components/table/src/directives/sd-table-footer-def.directive.d.ts +13 -5
  92. package/components/table/src/directives/sd-table-group-def.directive.d.ts +44 -0
  93. package/components/table/src/directives/sd-table-title-def.directive.d.ts +11 -5
  94. package/components/table/src/models/index.d.ts +1 -0
  95. package/components/table/src/models/table-column.model.d.ts +13 -13
  96. package/components/table/src/models/table-command.model.d.ts +3 -2
  97. package/components/table/src/models/table-item.model.d.ts +19 -4
  98. package/components/table/src/models/table-option-export.model.d.ts +3 -3
  99. package/components/table/src/models/table-option-group.model.d.ts +19 -2
  100. package/components/table/src/models/table-option-selector.model.d.ts +17 -1
  101. package/components/table/src/models/table-option-tree.model.d.ts +96 -8
  102. package/components/table/src/models/table-option.model.d.ts +24 -2
  103. package/components/table/src/pipes/sd-group.pipe.d.ts +15 -1
  104. package/components/table/src/services/table-filter/table-filter.model.d.ts +9 -9
  105. package/components/table/src/services/table-filter/table-filter.service.d.ts +2 -2
  106. package/components/table/src/services/tree/tree.util.d.ts +43 -2
  107. package/components/table/src/table.component.d.ts +42 -14
  108. package/components/upload-file/src/upload-file.component.d.ts +3 -0
  109. package/components/view/src/view.component.d.ts +35 -1
  110. package/directives/src/sd-desktop.directive.d.ts +2 -4
  111. package/directives/src/sd-mobile.directive.d.ts +2 -4
  112. package/fesm2022/sd-angular-core-components-anchor.mjs +95 -62
  113. package/fesm2022/sd-angular-core-components-anchor.mjs.map +1 -1
  114. package/fesm2022/sd-angular-core-components-autoid-inspector.mjs +254 -29
  115. package/fesm2022/sd-angular-core-components-autoid-inspector.mjs.map +1 -1
  116. package/fesm2022/sd-angular-core-components-avatar.mjs +2 -2
  117. package/fesm2022/sd-angular-core-components-avatar.mjs.map +1 -1
  118. package/fesm2022/sd-angular-core-components-badge.mjs +18 -3
  119. package/fesm2022/sd-angular-core-components-badge.mjs.map +1 -1
  120. package/fesm2022/sd-angular-core-components-button.mjs +2 -2
  121. package/fesm2022/sd-angular-core-components-button.mjs.map +1 -1
  122. package/fesm2022/sd-angular-core-components-ckeditor-styles.mjs +38 -0
  123. package/fesm2022/sd-angular-core-components-ckeditor-styles.mjs.map +1 -0
  124. package/fesm2022/sd-angular-core-components-document-builder.mjs +10 -8
  125. package/fesm2022/sd-angular-core-components-document-builder.mjs.map +1 -1
  126. package/fesm2022/sd-angular-core-components-editor.mjs +6 -2
  127. package/fesm2022/sd-angular-core-components-editor.mjs.map +1 -1
  128. package/fesm2022/sd-angular-core-components-form-generic.mjs +151 -237
  129. package/fesm2022/sd-angular-core-components-form-generic.mjs.map +1 -1
  130. package/fesm2022/sd-angular-core-components-history.mjs +3 -2
  131. package/fesm2022/sd-angular-core-components-history.mjs.map +1 -1
  132. package/fesm2022/sd-angular-core-components-inform.mjs +190 -0
  133. package/fesm2022/sd-angular-core-components-inform.mjs.map +1 -0
  134. package/fesm2022/sd-angular-core-components-mini-editor.mjs +4 -3
  135. package/fesm2022/sd-angular-core-components-mini-editor.mjs.map +1 -1
  136. package/fesm2022/sd-angular-core-components-modal-resizable.mjs +158 -0
  137. package/fesm2022/sd-angular-core-components-modal-resizable.mjs.map +1 -0
  138. package/fesm2022/sd-angular-core-components-modal.mjs +5 -4
  139. package/fesm2022/sd-angular-core-components-modal.mjs.map +1 -1
  140. package/fesm2022/sd-angular-core-components-operator.mjs +77 -0
  141. package/fesm2022/sd-angular-core-components-operator.mjs.map +1 -0
  142. package/fesm2022/sd-angular-core-components-preview.mjs +4 -4
  143. package/fesm2022/sd-angular-core-components-preview.mjs.map +1 -1
  144. package/fesm2022/sd-angular-core-components-query-bar.mjs +1384 -0
  145. package/fesm2022/sd-angular-core-components-query-bar.mjs.map +1 -0
  146. package/fesm2022/sd-angular-core-components-quick-action.mjs +2 -2
  147. package/fesm2022/sd-angular-core-components-quick-action.mjs.map +1 -1
  148. package/fesm2022/sd-angular-core-components-section.mjs.map +1 -1
  149. package/fesm2022/sd-angular-core-components-side-drawer.mjs +17 -11
  150. package/fesm2022/sd-angular-core-components-side-drawer.mjs.map +1 -1
  151. package/fesm2022/sd-angular-core-components-splitter.mjs +5 -2
  152. package/fesm2022/sd-angular-core-components-splitter.mjs.map +1 -1
  153. package/fesm2022/sd-angular-core-components-stepper.mjs +140 -0
  154. package/fesm2022/sd-angular-core-components-stepper.mjs.map +1 -0
  155. package/fesm2022/sd-angular-core-components-tab-router.mjs +3 -3
  156. package/fesm2022/sd-angular-core-components-tab-router.mjs.map +1 -1
  157. package/fesm2022/sd-angular-core-components-tab.mjs +145 -0
  158. package/fesm2022/sd-angular-core-components-tab.mjs.map +1 -0
  159. package/fesm2022/sd-angular-core-components-table.mjs +1138 -725
  160. package/fesm2022/sd-angular-core-components-table.mjs.map +1 -1
  161. package/fesm2022/sd-angular-core-components-upload-file.mjs +28 -23
  162. package/fesm2022/sd-angular-core-components-upload-file.mjs.map +1 -1
  163. package/fesm2022/sd-angular-core-components-view.mjs +44 -9
  164. package/fesm2022/sd-angular-core-components-view.mjs.map +1 -1
  165. package/fesm2022/sd-angular-core-components.mjs +2 -0
  166. package/fesm2022/sd-angular-core-components.mjs.map +1 -1
  167. package/fesm2022/sd-angular-core-directives.mjs +19 -21
  168. package/fesm2022/sd-angular-core-directives.mjs.map +1 -1
  169. package/fesm2022/sd-angular-core-forms-autocomplete.mjs +46 -14
  170. package/fesm2022/sd-angular-core-forms-autocomplete.mjs.map +1 -1
  171. package/fesm2022/sd-angular-core-forms-checkbox.mjs +101 -85
  172. package/fesm2022/sd-angular-core-forms-checkbox.mjs.map +1 -1
  173. package/fesm2022/sd-angular-core-forms-chip-calendar.mjs +101 -61
  174. package/fesm2022/sd-angular-core-forms-chip-calendar.mjs.map +1 -1
  175. package/fesm2022/sd-angular-core-forms-chip.mjs +98 -52
  176. package/fesm2022/sd-angular-core-forms-chip.mjs.map +1 -1
  177. package/fesm2022/sd-angular-core-forms-date-range.mjs +73 -10
  178. package/fesm2022/sd-angular-core-forms-date-range.mjs.map +1 -1
  179. package/fesm2022/sd-angular-core-forms-date.mjs +45 -15
  180. package/fesm2022/sd-angular-core-forms-date.mjs.map +1 -1
  181. package/fesm2022/sd-angular-core-forms-datetime.mjs +39 -14
  182. package/fesm2022/sd-angular-core-forms-datetime.mjs.map +1 -1
  183. package/fesm2022/sd-angular-core-forms-directives.mjs +18 -24
  184. package/fesm2022/sd-angular-core-forms-directives.mjs.map +1 -1
  185. package/fesm2022/sd-angular-core-forms-inline-text.mjs +167 -0
  186. package/fesm2022/sd-angular-core-forms-inline-text.mjs.map +1 -0
  187. package/fesm2022/sd-angular-core-forms-input-color.mjs +119 -0
  188. package/fesm2022/sd-angular-core-forms-input-color.mjs.map +1 -0
  189. package/fesm2022/sd-angular-core-forms-input-number.mjs +72 -14
  190. package/fesm2022/sd-angular-core-forms-input-number.mjs.map +1 -1
  191. package/fesm2022/sd-angular-core-forms-input.mjs +96 -29
  192. package/fesm2022/sd-angular-core-forms-input.mjs.map +1 -1
  193. package/fesm2022/sd-angular-core-forms-models.mjs +107 -2
  194. package/fesm2022/sd-angular-core-forms-models.mjs.map +1 -1
  195. package/fesm2022/sd-angular-core-forms-radio.mjs +134 -174
  196. package/fesm2022/sd-angular-core-forms-radio.mjs.map +1 -1
  197. package/fesm2022/sd-angular-core-forms-select.mjs +74 -23
  198. package/fesm2022/sd-angular-core-forms-select.mjs.map +1 -1
  199. package/fesm2022/sd-angular-core-forms-switch.mjs +98 -96
  200. package/fesm2022/sd-angular-core-forms-switch.mjs.map +1 -1
  201. package/fesm2022/sd-angular-core-forms-textarea.mjs +39 -12
  202. package/fesm2022/sd-angular-core-forms-textarea.mjs.map +1 -1
  203. package/fesm2022/sd-angular-core-i18n.mjs +270 -20
  204. package/fesm2022/sd-angular-core-i18n.mjs.map +1 -1
  205. package/fesm2022/sd-angular-core-modules-auth.mjs +4 -4
  206. package/fesm2022/sd-angular-core-modules-auth.mjs.map +1 -1
  207. package/fesm2022/sd-angular-core-modules-authom.mjs +1 -1
  208. package/fesm2022/sd-angular-core-modules-authom.mjs.map +1 -1
  209. package/fesm2022/sd-angular-core-modules-layout.mjs +23 -23
  210. package/fesm2022/sd-angular-core-modules-layout.mjs.map +1 -1
  211. package/fesm2022/sd-angular-core-modules-permission.mjs +3 -3
  212. package/fesm2022/sd-angular-core-modules-permission.mjs.map +1 -1
  213. package/fesm2022/sd-angular-core-pipes.mjs +2 -2
  214. package/fesm2022/sd-angular-core-pipes.mjs.map +1 -1
  215. package/fesm2022/sd-angular-core-services-api.mjs +3 -3
  216. package/fesm2022/sd-angular-core-services-api.mjs.map +1 -1
  217. package/fesm2022/sd-angular-core-services-cache.mjs +3 -2
  218. package/fesm2022/sd-angular-core-services-cache.mjs.map +1 -1
  219. package/fesm2022/sd-angular-core-services-confirm.mjs +1 -1
  220. package/fesm2022/sd-angular-core-services-confirm.mjs.map +1 -1
  221. package/fesm2022/sd-angular-core-services-excel.mjs +6 -5
  222. package/fesm2022/sd-angular-core-services-excel.mjs.map +1 -1
  223. package/fesm2022/sd-angular-core-services-notify.mjs +18 -5
  224. package/fesm2022/sd-angular-core-services-notify.mjs.map +1 -1
  225. package/fesm2022/sd-angular-core-services-storage.mjs +2 -2
  226. package/fesm2022/sd-angular-core-services-storage.mjs.map +1 -1
  227. package/fesm2022/sd-angular-core-utilities-data-state.mjs +38 -0
  228. package/fesm2022/sd-angular-core-utilities-data-state.mjs.map +1 -0
  229. package/fesm2022/sd-angular-core-utilities-models.mjs.map +1 -1
  230. package/fesm2022/sd-angular-core-utilities.mjs +1 -0
  231. package/fesm2022/sd-angular-core-utilities.mjs.map +1 -1
  232. package/forms/autocomplete/src/autocomplete.component.d.ts +29 -10
  233. package/forms/checkbox/src/checkbox.component.d.ts +24 -20
  234. package/forms/chip/src/chip.component.d.ts +29 -20
  235. package/forms/chip-calendar/src/chip-calendar.component.d.ts +31 -22
  236. package/forms/date/src/date.component.d.ts +27 -9
  237. package/forms/date-range/src/date-range.component.d.ts +32 -5
  238. package/forms/datetime/src/datetime.component.d.ts +25 -8
  239. package/forms/directives/src/item-def.directive.d.ts +10 -5
  240. package/forms/directives/src/label-def.directive.d.ts +3 -2
  241. package/forms/directives/src/suffix-def.directive.d.ts +3 -2
  242. package/forms/directives/src/view-def.directive.d.ts +9 -9
  243. package/forms/inline-text/index.d.ts +1 -0
  244. package/forms/inline-text/src/inline-text.component.d.ts +76 -0
  245. package/forms/input/src/input.component.d.ts +35 -13
  246. package/forms/input-color/index.d.ts +1 -0
  247. package/forms/input-color/src/input-color.component.d.ts +34 -0
  248. package/forms/input-number/src/input-number.component.d.ts +31 -11
  249. package/forms/models/index.d.ts +2 -0
  250. package/forms/models/src/form-control-state.d.ts +23 -0
  251. package/forms/models/src/sd-custom-validator.model.d.ts +13 -1
  252. package/forms/models/src/sd-viewed.d.ts +38 -0
  253. package/forms/radio/src/radio.component.d.ts +37 -35
  254. package/forms/select/src/select.component.d.ts +41 -14
  255. package/forms/switch/src/switch.component.d.ts +25 -23
  256. package/forms/textarea/src/textarea.component.d.ts +22 -8
  257. package/i18n/src/en.d.ts +50 -3
  258. package/modules/auth/configurations/auth.configuration.d.ts +4 -4
  259. package/modules/layout/configurations/layout.configuration.d.ts +3 -3
  260. package/modules/permission/src/configurations/permission.configuration.d.ts +3 -3
  261. package/package.json +89 -49
  262. package/sd-angular-core-19.0.3.tgz +0 -0
  263. package/services/confirm/src/lib/components/dialog-confirm/dialog-confirm.component.d.ts +3 -3
  264. package/services/confirm/src/lib/confirm.service.d.ts +9 -9
  265. package/services/notify/src/components/toast/toast.component.d.ts +4 -0
  266. package/utilities/data-state/index.d.ts +1 -0
  267. package/utilities/data-state/src/data-state.d.ts +11 -0
  268. package/utilities/index.d.ts +1 -0
  269. package/utilities/models/src/icon.model.d.ts +1 -1
  270. package/assets/scss/bootstrap-4.6.2/_alert.scss +0 -52
  271. package/assets/scss/bootstrap-4.6.2/_badge.scss +0 -54
  272. package/assets/scss/bootstrap-4.6.2/_breadcrumb.scss +0 -42
  273. package/assets/scss/bootstrap-4.6.2/_button-group.scss +0 -163
  274. package/assets/scss/bootstrap-4.6.2/_buttons.scss +0 -142
  275. package/assets/scss/bootstrap-4.6.2/_card.scss +0 -286
  276. package/assets/scss/bootstrap-4.6.2/_carousel.scss +0 -200
  277. package/assets/scss/bootstrap-4.6.2/_close.scss +0 -40
  278. package/assets/scss/bootstrap-4.6.2/_code.scss +0 -48
  279. package/assets/scss/bootstrap-4.6.2/_custom-forms.scss +0 -526
  280. package/assets/scss/bootstrap-4.6.2/_dropdown.scss +0 -192
  281. package/assets/scss/bootstrap-4.6.2/_forms.scss +0 -347
  282. package/assets/scss/bootstrap-4.6.2/_functions.scss +0 -190
  283. package/assets/scss/bootstrap-4.6.2/_grid.scss +0 -73
  284. package/assets/scss/bootstrap-4.6.2/_images.scss +0 -42
  285. package/assets/scss/bootstrap-4.6.2/_input-group.scss +0 -211
  286. package/assets/scss/bootstrap-4.6.2/_jumbotron.scss +0 -17
  287. package/assets/scss/bootstrap-4.6.2/_list-group.scss +0 -154
  288. package/assets/scss/bootstrap-4.6.2/_media.scss +0 -8
  289. package/assets/scss/bootstrap-4.6.2/_mixins.scss +0 -47
  290. package/assets/scss/bootstrap-4.6.2/_modal.scss +0 -240
  291. package/assets/scss/bootstrap-4.6.2/_nav.scss +0 -125
  292. package/assets/scss/bootstrap-4.6.2/_navbar.scss +0 -332
  293. package/assets/scss/bootstrap-4.6.2/_pagination.scss +0 -74
  294. package/assets/scss/bootstrap-4.6.2/_popover.scss +0 -170
  295. package/assets/scss/bootstrap-4.6.2/_print.scss +0 -132
  296. package/assets/scss/bootstrap-4.6.2/_progress.scss +0 -47
  297. package/assets/scss/bootstrap-4.6.2/_reboot.scss +0 -484
  298. package/assets/scss/bootstrap-4.6.2/_root.scss +0 -19
  299. package/assets/scss/bootstrap-4.6.2/_spinners.scss +0 -65
  300. package/assets/scss/bootstrap-4.6.2/_tables.scss +0 -185
  301. package/assets/scss/bootstrap-4.6.2/_toasts.scss +0 -46
  302. package/assets/scss/bootstrap-4.6.2/_tooltip.scss +0 -115
  303. package/assets/scss/bootstrap-4.6.2/_transitions.scss +0 -26
  304. package/assets/scss/bootstrap-4.6.2/_type.scss +0 -125
  305. package/assets/scss/bootstrap-4.6.2/_utilities.scss +0 -18
  306. package/assets/scss/bootstrap-4.6.2/_variables.scss +0 -1150
  307. package/assets/scss/bootstrap-4.6.2/bootstrap-grid.scss +0 -30
  308. package/assets/scss/bootstrap-4.6.2/bootstrap-reboot.scss +0 -12
  309. package/assets/scss/bootstrap-4.6.2/bootstrap.scss +0 -44
  310. package/assets/scss/bootstrap-4.6.2/mixins/_alert.scss +0 -13
  311. package/assets/scss/bootstrap-4.6.2/mixins/_background-variant.scss +0 -23
  312. package/assets/scss/bootstrap-4.6.2/mixins/_badge.scss +0 -17
  313. package/assets/scss/bootstrap-4.6.2/mixins/_border-radius.scss +0 -76
  314. package/assets/scss/bootstrap-4.6.2/mixins/_box-shadow.scss +0 -20
  315. package/assets/scss/bootstrap-4.6.2/mixins/_breakpoints.scss +0 -123
  316. package/assets/scss/bootstrap-4.6.2/mixins/_buttons.scss +0 -110
  317. package/assets/scss/bootstrap-4.6.2/mixins/_caret.scss +0 -62
  318. package/assets/scss/bootstrap-4.6.2/mixins/_clearfix.scss +0 -7
  319. package/assets/scss/bootstrap-4.6.2/mixins/_deprecate.scss +0 -10
  320. package/assets/scss/bootstrap-4.6.2/mixins/_float.scss +0 -14
  321. package/assets/scss/bootstrap-4.6.2/mixins/_forms.scss +0 -195
  322. package/assets/scss/bootstrap-4.6.2/mixins/_gradients.scss +0 -45
  323. package/assets/scss/bootstrap-4.6.2/mixins/_grid-framework.scss +0 -80
  324. package/assets/scss/bootstrap-4.6.2/mixins/_grid.scss +0 -69
  325. package/assets/scss/bootstrap-4.6.2/mixins/_hover.scss +0 -37
  326. package/assets/scss/bootstrap-4.6.2/mixins/_image.scss +0 -36
  327. package/assets/scss/bootstrap-4.6.2/mixins/_list-group.scss +0 -21
  328. package/assets/scss/bootstrap-4.6.2/mixins/_lists.scss +0 -7
  329. package/assets/scss/bootstrap-4.6.2/mixins/_nav-divider.scss +0 -11
  330. package/assets/scss/bootstrap-4.6.2/mixins/_pagination.scss +0 -22
  331. package/assets/scss/bootstrap-4.6.2/mixins/_reset-text.scss +0 -17
  332. package/assets/scss/bootstrap-4.6.2/mixins/_resize.scss +0 -6
  333. package/assets/scss/bootstrap-4.6.2/mixins/_screen-reader.scss +0 -34
  334. package/assets/scss/bootstrap-4.6.2/mixins/_size.scss +0 -7
  335. package/assets/scss/bootstrap-4.6.2/mixins/_table-row.scss +0 -39
  336. package/assets/scss/bootstrap-4.6.2/mixins/_text-emphasis.scss +0 -17
  337. package/assets/scss/bootstrap-4.6.2/mixins/_text-hide.scss +0 -11
  338. package/assets/scss/bootstrap-4.6.2/mixins/_text-truncate.scss +0 -8
  339. package/assets/scss/bootstrap-4.6.2/mixins/_transition.scss +0 -26
  340. package/assets/scss/bootstrap-4.6.2/mixins/_visibility.scss +0 -8
  341. package/assets/scss/bootstrap-4.6.2/utilities/_align.scss +0 -8
  342. package/assets/scss/bootstrap-4.6.2/utilities/_background.scss +0 -19
  343. package/assets/scss/bootstrap-4.6.2/utilities/_borders.scss +0 -75
  344. package/assets/scss/bootstrap-4.6.2/utilities/_clearfix.scss +0 -3
  345. package/assets/scss/bootstrap-4.6.2/utilities/_display.scss +0 -26
  346. package/assets/scss/bootstrap-4.6.2/utilities/_embed.scss +0 -39
  347. package/assets/scss/bootstrap-4.6.2/utilities/_flex.scss +0 -51
  348. package/assets/scss/bootstrap-4.6.2/utilities/_float.scss +0 -11
  349. package/assets/scss/bootstrap-4.6.2/utilities/_interactions.scss +0 -5
  350. package/assets/scss/bootstrap-4.6.2/utilities/_overflow.scss +0 -5
  351. package/assets/scss/bootstrap-4.6.2/utilities/_position.scss +0 -32
  352. package/assets/scss/bootstrap-4.6.2/utilities/_screenreaders.scss +0 -11
  353. package/assets/scss/bootstrap-4.6.2/utilities/_shadows.scss +0 -6
  354. package/assets/scss/bootstrap-4.6.2/utilities/_sizing.scss +0 -20
  355. package/assets/scss/bootstrap-4.6.2/utilities/_spacing.scss +0 -73
  356. package/assets/scss/bootstrap-4.6.2/utilities/_stretched-link.scss +0 -19
  357. package/assets/scss/bootstrap-4.6.2/utilities/_text.scss +0 -72
  358. package/assets/scss/bootstrap-4.6.2/utilities/_visibility.scss +0 -13
  359. package/assets/scss/bootstrap-4.6.2/vendor/_rfs.scss +0 -228
  360. package/assets/scss/core/bootstrap.scss +0 -13
  361. package/components/anchor/src/components/anchor-vertical/anchor-vertical-list.component.d.ts +0 -18
  362. package/components/table/src/components/column-filter/column-filter.component.d.ts +0 -40
  363. package/components/table/src/components/desktop-command/desktop-command.component.d.ts +0 -15
  364. package/components/table/src/components/external-filter/external-filter.component.d.ts +0 -36
  365. package/components/table/src/pipes/command-disable.pipe.d.ts +0 -9
  366. package/components/table/src/pipes/command-filter.pipe.d.ts +0 -25
  367. package/components/table/src/pipes/command-title.pipe.d.ts +0 -9
  368. package/sd-angular-core-19.0.0-beta.98.tgz +0 -0
@@ -39,6 +39,9 @@ export declare class SdFormBuilder extends SdBaseSecureComponent {
39
39
  clonedVariables: SdFormGenericVariable[];
40
40
  readonly selectedComponent: import("@angular/core").WritableSignal<SdFormGenericComponent | SdFormGenericGroup | undefined>;
41
41
  readonly isPreview: import("@angular/core").WritableSignal<boolean>;
42
+ readonly editingGroupId: import("@angular/core").WritableSignal<string | undefined>;
43
+ /** Group đang được Detail (tìm ở TOP-LEVEL theo id), undefined = đang ở canvas chính. */
44
+ readonly editingGroup: import("@angular/core").Signal<SdFormGenericGroup | undefined>;
42
45
  /** Signal toàn cục: TRUE khi BẤT KỲ cdkDrag nào đang active (palette, canvas, group, resize).
43
46
  * Trigger class `.fb-shell--dragging` để ẩn hover/actions/resize toàn diện, không phụ thuộc :has(). */
44
47
  readonly isAnyDragging: import("@angular/core").WritableSignal<boolean>;
@@ -70,15 +73,17 @@ export declare class SdFormBuilder extends SdBaseSecureComponent {
70
73
  };
71
74
  /** Segmented Design/Preview toggle (replaces play_circle/stop_circle). */
72
75
  setMode: (preview: boolean) => void;
73
- /** Nested drop handler when dragging a palette item or canvas item INTO a group body. */
74
- dropInGroup: (event: CdkDragDrop<any[]>, group: SdFormGenericGroup) => void;
75
- /** Quick-add break sau row chỉ định.
76
- * Tính component index cuối cùng của row đó trong this.components, splice break vào sau.
77
- * Không qua palette chỉ utility action bám theo row trên canvas.
76
+ /** Mở canvas thiết kế riêng cho 1 group (chỉ children của nó). Snapshot để Cancel revert. */
77
+ enterGroupEdit: (group: SdFormGenericGroup) => void;
78
+ /** OK: giữ thay đổi children, quay về canvas chính. */
79
+ confirmGroupEdit: () => void;
80
+ /** Cancel: revert children về snapshot lúc vào Detail, rồi quay về canvas chính. */
81
+ cancelGroupEdit: () => void;
82
+ /** Quick-add break sau row chỉ định (theo scope hiện tại — top-level hoặc group).
83
+ * Tính component index cuối cùng của row đó trong scope, splice break vào sau.
78
84
  */
79
85
  insertBreakAfter: (row: DragDropRowItem) => void;
80
- /** Remove a child component from a group's nested list. */
81
- removeFromGroup: (group: SdFormGenericGroup, id: string) => void;
86
+ /** Xoá component theo scope hiện tại (top-level hoặc children của group đang Detail). */
82
87
  removeComponent: (id: string) => void;
83
88
  selectComponent: (item?: SdFormGenericComponent | SdFormGenericGroup) => void;
84
89
  onClickedOutside: (e: any) => void;
@@ -92,12 +97,6 @@ export declare class SdFormBuilder extends SdBaseSecureComponent {
92
97
  noReturnPredicate: () => boolean;
93
98
  changeSizeControl: (event: CdkDragMove<SdFormGenericComponent | SdFormGenericGroup>, item: SdFormGenericComponent | SdFormGenericGroup, items: (SdFormGenericComponent | SdFormGenericGroup)[], currentIndex: number) => Promise<void>;
94
99
  dragEndChangeSizeControl: (event: any) => void;
95
- /** Resize a child item INSIDE a group.
96
- * Math: lấy bounding của chính item, tính (mouse.x - item.left) / colWidth = newCols.
97
- * Cách này đúng cho cả flex-wrap (item ở wrap row 2+) vì dùng item-relative,
98
- * không phải sum-of-all-preceding-cols (sai khi item wrap xuống row mới).
99
- */
100
- changeSizeChildInGroup: (event: CdkDragMove<SdFormGenericComponent>, child: SdFormGenericComponent, group: SdFormGenericGroup) => void;
101
100
  onChangeViewed: (component: SdFormGenericComponent) => void;
102
101
  onChangeHidden: (component: SdFormGenericComponent | SdFormGenericGroup) => void;
103
102
  onDuplicate: (component: SdFormGenericComponent | SdFormGenericGroup) => void;
@@ -1,7 +1,6 @@
1
1
  import { SdTableColumn, SdTableOption } from '@sd-angular/core/components/table';
2
2
  import { SdUploadFile } from '@sd-angular/core/components/upload-file';
3
- import { SdColor } from '@sd-angular/core/utilities';
4
- import { SdPatternType } from '@sd-angular/core/utilities/models';
3
+ import { Color, ValidationPatternType } from '@sdcorejs/utils/models';
5
4
  import { SdFormGenericSelectionStaticItem } from './form-generic-definition-selection.model';
6
5
  import { SdFormGenericExpression } from './form-generic-expression.model';
7
6
  import { SdFormGeneric } from './form-generic.model';
@@ -58,7 +57,7 @@ export interface SdFormGenericTextfield extends SdFormGenericComponentBase {
58
57
  validate?: {
59
58
  maxlength?: number;
60
59
  minlength?: number;
61
- pattern?: SdPatternType | string;
60
+ pattern?: ValidationPatternType | string;
62
61
  patternErrorMessage?: string;
63
62
  } & SdFormGenericComponentBase['validate'];
64
63
  }
@@ -68,7 +67,7 @@ export interface SdFormGenericChipString extends SdFormGenericComponentBase {
68
67
  validate?: {
69
68
  maxlength?: number;
70
69
  minlength?: number;
71
- pattern?: SdPatternType | string;
70
+ pattern?: ValidationPatternType | string;
72
71
  patternErrorMessage?: string;
73
72
  maxOfItems?: number;
74
73
  } & SdFormGenericComponentBase['validate'];
@@ -79,7 +78,7 @@ export interface SdFormGenericChipCalendar extends SdFormGenericComponentBase {
79
78
  validate?: {
80
79
  maxlength?: number;
81
80
  minlength?: number;
82
- pattern?: SdPatternType | string;
81
+ pattern?: ValidationPatternType | string;
83
82
  patternErrorMessage?: string;
84
83
  maxOfItems?: number;
85
84
  } & SdFormGenericComponentBase['validate'];
@@ -150,7 +149,7 @@ export interface SdFormGenericGroup {
150
149
  components: SdFormGenericComponent[];
151
150
  properties: {
152
151
  icon: string;
153
- color: SdColor;
152
+ color: Color;
154
153
  hidden?: boolean;
155
154
  hiddenWhenExpression?: SdFormGenericExpression;
156
155
  visibleWhenExpression?: SdFormGenericExpression;
@@ -1,4 +1,4 @@
1
- import { SdOperator } from '@sd-angular/core/utilities/models';
1
+ import { Operator as SdOperator } from '@sdcorejs/utils/models';
2
2
  import { SdFormGenericComponent, SdFormGenericGroup } from './form-generic-component.model';
3
3
  export interface SdFormGenericExpression {
4
4
  key: string;
@@ -1,9 +1,9 @@
1
- import { SdColor } from '@sd-angular/core/utilities';
1
+ import { Color } from '@sdcorejs/utils/models';
2
2
  export interface SdHistoryItemType {
3
3
  title: string;
4
4
  status?: {
5
5
  title?: string;
6
- color?: SdColor;
6
+ color?: Color;
7
7
  icon?: string;
8
8
  };
9
9
  date?: string;
@@ -3,9 +3,11 @@ export * from '@sd-angular/core/components/button';
3
3
  export * from '@sd-angular/core/components/badge';
4
4
  export * from '@sd-angular/core/components/tab-router';
5
5
  export * from '@sd-angular/core/components/side-drawer';
6
+ export * from '@sd-angular/core/components/modal-resizable';
6
7
  export * from '@sd-angular/core/components/modal';
7
8
  export * from '@sd-angular/core/components/table';
8
9
  export * from '@sd-angular/core/components/quick-action';
10
+ export * from '@sd-angular/core/components/query-bar';
9
11
  export * from '@sd-angular/core/components/upload-file';
10
12
  export * from '@sd-angular/core/components/section';
11
13
  export * from '@sd-angular/core/components/anchor';
@@ -0,0 +1,2 @@
1
+ export * from './src/inform.component';
2
+ export * from './src/inform-action.directive';
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ /**
3
+ * Marker cho vùng action custom chiếu vào <sd-inform>.
4
+ * Khi có phần tử mang [sdInformAction], component ẩn link `actionLabel` mặc định.
5
+ */
6
+ export declare class SdInformActionDirective {
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdInformActionDirective, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SdInformActionDirective, "[sdInformAction]", never, {}, {}, never, never, true, never>;
9
+ }
@@ -0,0 +1,59 @@
1
+ import { ElementRef } from '@angular/core';
2
+ import { Color } from '@sdcorejs/utils/models';
3
+ import { MaterialIconFontSet } from '@sd-angular/core/utilities/models';
4
+ import { SdInformActionDirective } from './inform-action.directive';
5
+ import * as i0 from "@angular/core";
6
+ export declare class SdInform {
7
+ #private;
8
+ color: import("@angular/core").InputSignalWithTransform<Color, Color | null | undefined>;
9
+ primary: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
10
+ secondary: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
11
+ info: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
12
+ success: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
13
+ warning: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
14
+ error: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
15
+ title: import("@angular/core").InputSignal<string | undefined>;
16
+ description: import("@angular/core").InputSignal<string | undefined>;
17
+ icon: import("@angular/core").InputSignal<string | undefined>;
18
+ hideIcon: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
19
+ fontSet: import("@angular/core").InputSignalWithTransform<MaterialIconFontSet, MaterialIconFontSet | null | undefined>;
20
+ closable: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
21
+ actionLabel: import("@angular/core").InputSignal<string | undefined>;
22
+ lineClamp: import("@angular/core").InputSignal<number | undefined>;
23
+ autoId: import("@angular/core").InputSignal<string | undefined>;
24
+ sdClosed: import("@angular/core").OutputEmitterRef<Event>;
25
+ sdAction: import("@angular/core").OutputEmitterRef<Event>;
26
+ readonly dismissed: import("@angular/core").WritableSignal<boolean>;
27
+ readonly expanded: import("@angular/core").WritableSignal<boolean>;
28
+ readonly overflowing: import("@angular/core").WritableSignal<boolean>;
29
+ protected readonly bodyRef: import("@angular/core").Signal<ElementRef<HTMLElement> | undefined>;
30
+ protected readonly actionSlot: import("@angular/core").Signal<SdInformActionDirective | undefined>;
31
+ effectiveColor: import("@angular/core").Signal<Color>;
32
+ colorClasses: import("@angular/core").Signal<{
33
+ 'c-primary': boolean;
34
+ 'c-secondary': boolean;
35
+ 'c-info': boolean;
36
+ 'c-success': boolean;
37
+ 'c-warning': boolean;
38
+ 'c-error': boolean;
39
+ }>;
40
+ effectiveIcon: import("@angular/core").Signal<string | null>;
41
+ fontSetClasses: import("@angular/core").Signal<{
42
+ 'material-icons': boolean;
43
+ 'material-icons-outlined': boolean;
44
+ 'material-icons-round': boolean;
45
+ 'material-icons-sharp': boolean;
46
+ }>;
47
+ hasActionSlot: import("@angular/core").Signal<boolean>;
48
+ clampLines: import("@angular/core").Signal<number | null>;
49
+ showToggle: import("@angular/core").Signal<boolean>;
50
+ liveRole: import("@angular/core").Signal<"alert" | "status">;
51
+ constructor();
52
+ /** Đo tràn dòng của body; chỉ có ý nghĩa khi đang clamp. */
53
+ measureOverflow(): void;
54
+ toggleExpanded(): void;
55
+ onClose(event: Event): void;
56
+ onAction(event: Event): void;
57
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdInform, never>;
58
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdInform, "sd-inform", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "primary": { "alias": "primary"; "required": false; "isSignal": true; }; "secondary": { "alias": "secondary"; "required": false; "isSignal": true; }; "info": { "alias": "info"; "required": false; "isSignal": true; }; "success": { "alias": "success"; "required": false; "isSignal": true; }; "warning": { "alias": "warning"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "hideIcon": { "alias": "hideIcon"; "required": false; "isSignal": true; }; "fontSet": { "alias": "fontSet"; "required": false; "isSignal": true; }; "closable": { "alias": "closable"; "required": false; "isSignal": true; }; "actionLabel": { "alias": "actionLabel"; "required": false; "isSignal": true; }; "lineClamp": { "alias": "lineClamp"; "required": false; "isSignal": true; }; "autoId": { "alias": "autoId"; "required": false; "isSignal": true; }; }, { "sdClosed": "sdClosed"; "sdAction": "sdAction"; }, ["actionSlot"], ["[sdInformAction]"], true, never>;
59
+ }
@@ -1,4 +1,5 @@
1
1
  import { ElementRef, TemplateRef } from '@angular/core';
2
+ import { Color } from '@sdcorejs/utils/models';
2
3
  import * as i0 from "@angular/core";
3
4
  export declare class SdModal {
4
5
  #private;
@@ -8,8 +9,9 @@ export declare class SdModal {
8
9
  readonly autoIdInput: import("@angular/core").InputSignal<string | null | undefined>;
9
10
  readonly autoId: import("@angular/core").Signal<string | undefined>;
10
11
  readonly closeButtonAutoId: import("@angular/core").Signal<string | undefined>;
12
+ readonly dataOpened: import("@angular/core").Signal<"true" | "false">;
11
13
  title: import("@angular/core").InputSignalWithTransform<string, string | null | undefined>;
12
- color: import("@angular/core").InputSignalWithTransform<import("@sdcorejs/utils/models").Color, import("@sdcorejs/utils/models").Color | null | undefined>;
14
+ color: import("@angular/core").InputSignalWithTransform<Color, Color | null | undefined>;
13
15
  width: import("@angular/core").InputSignalWithTransform<string, string | null | undefined>;
14
16
  height: import("@angular/core").InputSignalWithTransform<string, string | null | undefined>;
15
17
  view: import("@angular/core").InputSignalWithTransform<"dialog" | "bottom-sheet" | undefined, "dialog" | "bottom-sheet" | null | undefined>;
@@ -0,0 +1 @@
1
+ export * from './src/modal-resizable.component';
@@ -0,0 +1,29 @@
1
+ import { CdkPortal } from '@angular/cdk/portal';
2
+ import * as i0 from "@angular/core";
3
+ export declare class SdModalResizable {
4
+ #private;
5
+ readonly id: string;
6
+ readonly portal: import("@angular/core").Signal<CdkPortal>;
7
+ readonly editable: import("@angular/core").InputSignalWithTransform<boolean, boolean | "">;
8
+ readonly width: import("@angular/core").InputSignal<string>;
9
+ readonly editingChanged: import("@angular/core").OutputEmitterRef<boolean>;
10
+ readonly isEditing: import("@angular/core").WritableSignal<boolean>;
11
+ readonly isOpened: import("@angular/core").WritableSignal<boolean>;
12
+ readonly isHover: import("@angular/core").WritableSignal<boolean>;
13
+ readonly isLoading: import("@angular/core").WritableSignal<boolean>;
14
+ readonly isMinimum: import("@angular/core").WritableSignal<boolean>;
15
+ readonly isMaximum: import("@angular/core").WritableSignal<boolean>;
16
+ constructor();
17
+ open: () => void;
18
+ close: () => void;
19
+ minimize: () => void;
20
+ maximize: () => void;
21
+ toggleMaximum: () => void;
22
+ startLoading: () => void;
23
+ stopLoading: () => void;
24
+ toggleEditable(): void;
25
+ onFocus: () => void;
26
+ onBlur: () => void;
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdModalResizable, never>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdModalResizable, "sd-modal-resizable", never, { "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; }, { "editingChanged": "editingChanged"; }, never, ["[sdTitle]", "[sdBody]", "[sdFooter]"], true, never>;
29
+ }
@@ -0,0 +1 @@
1
+ export * from './src/operator.component';
@@ -0,0 +1,34 @@
1
+ import { SafeHtml } from '@angular/platform-browser';
2
+ import { Operator } from '@sdcorejs/utils/models';
3
+ import * as i0 from "@angular/core";
4
+ interface OperatorItem {
5
+ value: Operator;
6
+ icon: SafeHtml;
7
+ display: string;
8
+ }
9
+ export declare class SdOperator {
10
+ #private;
11
+ static readonly FALLBACK_ICON = "<path d=\"M4 5h16l-6.5 7.5V19l-3 2v-8.5z\"/>";
12
+ /** Operator hiện tại — binding hai chiều [(model)]. */
13
+ model: import("@angular/core").ModelSignal<Operator | undefined>;
14
+ /** Danh sách operator cho phép, giữ nguyên thứ tự truyền vào. */
15
+ operators: import("@angular/core").InputSignal<Operator[]>;
16
+ /** Vô hiệu hóa trigger (không mở được menu). */
17
+ disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
18
+ /** data-autoId cho e2e selector. */
19
+ autoId: import("@angular/core").InputSignal<string | undefined>;
20
+ /** Allowed operators map sang { value, icon, display } theo thứ tự input. */
21
+ readonly items: import("@angular/core").Signal<OperatorItem[]>;
22
+ /** Icon SVG ở trigger — fallback phễu khi model chưa set / không tìm thấy. */
23
+ readonly currentIcon: import("@angular/core").Signal<SafeHtml>;
24
+ /** Tooltip = i18n label của operator hiện tại ('' khi chưa chọn). */
25
+ readonly currentLabel: import("@angular/core").Signal<string>;
26
+ private readonly trigger;
27
+ /** Open the operator menu programmatically (used by the query-bar build flow). */
28
+ open(): void;
29
+ /** Chọn operator từ menu. */
30
+ select(value: Operator): void;
31
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdOperator, never>;
32
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdOperator, "sd-operator", never, { "model": { "alias": "model"; "required": false; "isSignal": true; }; "operators": { "alias": "operators"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "autoId": { "alias": "autoId"; "required": false; "isSignal": true; }; }, { "model": "modelChange"; }, never, never, true, never>;
33
+ }
34
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './src/query-bar.component';
2
+ export * from './src/query-bar.model';
@@ -0,0 +1,28 @@
1
+ import { SdQuery, SdQueryLogic, SdSavedFilter } from '../../query-bar.model';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Right-pinned toolbar for `sd-query-bar`: AND/OR connector toggle, clear-all,
5
+ * saved-filters dropdown (with footer "Lưu bộ lọc hiện tại"), and the deferred
6
+ * Search trigger. Owns no business logic — just routes user intent back via
7
+ * outputs (`(logic)` model, `(clear)`, `(search)`, `(applyFilter)`).
8
+ *
9
+ * The "save current query" action lives INSIDE the saved-filters mat-menu
10
+ * footer (one zone for both apply + save). The dropdown trigger sits
11
+ * immediately before Search so the user sees one filter-cluster on the right.
12
+ */
13
+ export declare class SdQueryActionsBar {
14
+ readonly showLogicToggle: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
15
+ readonly logic: import("@angular/core").ModelSignal<SdQueryLogic>;
16
+ readonly filtersCount: import("@angular/core").InputSignal<number>;
17
+ readonly showSavedFilters: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
18
+ readonly savedFiltersKey: import("@angular/core").InputSignal<string | undefined>;
19
+ readonly query: import("@angular/core").InputSignal<SdQuery<any>>;
20
+ readonly applyFilter: import("@angular/core").OutputEmitterRef<SdSavedFilter<any>>;
21
+ readonly showClearAll: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
22
+ readonly clear: import("@angular/core").OutputEmitterRef<void>;
23
+ readonly canSearch: import("@angular/core").InputSignal<boolean>;
24
+ readonly search: import("@angular/core").OutputEmitterRef<void>;
25
+ setLogic(value: SdQueryLogic): void;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdQueryActionsBar, never>;
27
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdQueryActionsBar, "sd-query-actions-bar", never, { "showLogicToggle": { "alias": "showLogicToggle"; "required": false; "isSignal": true; }; "logic": { "alias": "logic"; "required": false; "isSignal": true; }; "filtersCount": { "alias": "filtersCount"; "required": false; "isSignal": true; }; "showSavedFilters": { "alias": "showSavedFilters"; "required": false; "isSignal": true; }; "savedFiltersKey": { "alias": "savedFiltersKey"; "required": false; "isSignal": true; }; "query": { "alias": "query"; "required": false; "isSignal": true; }; "showClearAll": { "alias": "showClearAll"; "required": false; "isSignal": true; }; "canSearch": { "alias": "canSearch"; "required": false; "isSignal": true; }; }, { "logic": "logicChange"; "applyFilter": "applyFilter"; "clear": "clear"; "search": "search"; }, never, never, true, never>;
28
+ }
@@ -0,0 +1,67 @@
1
+ import { Operator } from '@sdcorejs/utils/models';
2
+ import { BuildingChip } from '../../query-bar.model';
3
+ import * as i0 from "@angular/core";
4
+ type Density = 'compact' | 'comfortable';
5
+ /**
6
+ * Visual block for the in-progress build chip (inline mode token builder).
7
+ *
8
+ * why: tách khỏi `<sd-query-bar>` để parent chỉ giữ state (`building()` signal +
9
+ * step transitions) — tất cả render logic của 2 step (operator picker / value
10
+ * picker) cộng với 7 nhánh field type sống tại đây.
11
+ *
12
+ * The chip has two visually distinct branches:
13
+ * - **Seamless** (`string` / `number`) — the entire pill IS an `<sd-query-inline-value-chip>`
14
+ * (its own border, autofocused input). The host's `.c-token-building` shell is skipped.
15
+ * - **Token** (`values` / `lazy-values` / `date` / `datetime` / `boolean` / other) —
16
+ * `.c-token.c-token-building` dashed pill with field label + operator (menu in
17
+ * operator step, disabled badge in value step) + the per-type picker + × cancel.
18
+ */
19
+ export declare class SdQueryBuildChip {
20
+ /** Current build state — drives every visual branch. */
21
+ readonly building: import("@angular/core").InputSignal<BuildingChip<any>>;
22
+ /** Density preset — forwarded to the seamless chip + sizes the .c-token row. */
23
+ readonly density: import("@angular/core").InputSignal<Density>;
24
+ /** Operator set offered in the operator-step menu (parent's `allowedOperatorsFor(field)`). */
25
+ readonly allowedOperators: import("@angular/core").InputSignal<Operator[]>;
26
+ /** Whether the active operator is a multi-select (`IN`/`NOT_IN`) — drives sd-select [multiple]. */
27
+ readonly multiple: import("@angular/core").InputSignal<boolean>;
28
+ /** Show the operator label on the seamless chip's pill (forwarded to inline-value-chip). */
29
+ readonly showOperator: import("@angular/core").InputSignal<boolean>;
30
+ /**
31
+ * Prefix for `data-autoid` on the inner picker / seamless input.
32
+ * why: parent originally hard-coded `'qb-build-value'` everywhere; default preserves that
33
+ * for backward compatibility with existing e2e selectors.
34
+ */
35
+ readonly autoId: import("@angular/core").InputSignal<string>;
36
+ /** Operator chosen from the operator-step menu — parent advances to value step. */
37
+ readonly pickOperator: import("@angular/core").OutputEmitterRef<Operator>;
38
+ /**
39
+ * Value committed from a non-seamless picker (sd-select / sd-date / sd-date-range /
40
+ * sd-datetime) or a boolean toggle. Parent pushes the completed chip and clears building.
41
+ */
42
+ readonly commitValue: import("@angular/core").OutputEmitterRef<unknown>;
43
+ /** × button — abandon the build (parent clears `building` signal). */
44
+ readonly cancel: import("@angular/core").OutputEmitterRef<void>;
45
+ /**
46
+ * Commit from the seamless (string / number) branch. Parent decides empty → cancel
47
+ * vs push complete (see `onBuildSeamlessCommit`); this just forwards the raw value.
48
+ */
49
+ readonly seamlessCommit: import("@angular/core").OutputEmitterRef<unknown>;
50
+ /** Fallback editor (boolean ng-template / other) — staged draft on every change. */
51
+ readonly draftChange: import("@angular/core").OutputEmitterRef<unknown>;
52
+ /** Fallback editor — Enter / click commits the staged draft. */
53
+ readonly draftCommit: import("@angular/core").OutputEmitterRef<void>;
54
+ /** Operator-step menu — auto-opened by parent right after `building` enters operator step. */
55
+ private readonly opMenu;
56
+ /** Value-step picker (the active bare control) — auto-opened by parent at value step. */
57
+ private readonly picker;
58
+ /** Open the operator menu — parent calls after rendering the operator step. */
59
+ openOperator(): void;
60
+ /** Open the value-step picker's native panel — parent calls after rendering the value step. */
61
+ openPicker(): void;
62
+ /** True when the seamless branch (string/number value step) should be rendered. */
63
+ readonly isSeamless: import("@angular/core").Signal<boolean>;
64
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdQueryBuildChip, never>;
65
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdQueryBuildChip, "sd-query-build-chip", never, { "building": { "alias": "building"; "required": true; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; "allowedOperators": { "alias": "allowedOperators"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "showOperator": { "alias": "showOperator"; "required": false; "isSignal": true; }; "autoId": { "alias": "autoId"; "required": false; "isSignal": true; }; }, { "pickOperator": "pickOperator"; "commitValue": "commitValue"; "cancel": "cancel"; "seamlessCommit": "seamlessCommit"; "draftChange": "draftChange"; "draftCommit": "draftCommit"; }, never, never, true, never>;
66
+ }
67
+ export {};
@@ -0,0 +1,73 @@
1
+ import { MatMenu } from '@angular/material/menu';
2
+ import { Filter, Operator } from '@sdcorejs/utils/models';
3
+ import { SdQueryField, sdQueryFieldIcon } from '../../query-bar.model';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Popover-mode chip editor — the entire `<mat-menu>` that opens when a popover-mode
7
+ * chip is clicked. Owns ALL operator+value staging signals and async option loading.
8
+ *
9
+ * why: tách khỏi `<sd-query-bar>` để parent chỉ giữ `editingIndex` (chip nào đang
10
+ * mở) + nhận `(commit)` khi popover đóng. Mỗi lần parent gọi `seed(filter, field)`
11
+ * trước khi mở chip popover, child reset staging signals + kích option loading.
12
+ *
13
+ * Public surface (template ref `#cp`):
14
+ * - `cp.menu()` — the `<mat-menu>` to feed `[menu]` of `<sd-query-popover-chip>`
15
+ * - `cp.seed(filter, field)` — parent reseeds staging before opening
16
+ * - `(commit)` output — emitted on mat-menu close with staged Filter
17
+ * - `(swapField)` output — emitted when the nested field switcher picks a new field
18
+ */
19
+ export declare class SdQueryChipPopover {
20
+ #private;
21
+ /** Resolved field of the currently editing chip — parent passes from `fieldByKey()`. */
22
+ readonly field: import("@angular/core").InputSignal<SdQueryField | undefined>;
23
+ /** The chip's current Filter — used by `seed()` for initial staging values. */
24
+ readonly filter: import("@angular/core").InputSignal<Filter | undefined>;
25
+ /** Optional chip index — embedded in the composed autoIds. */
26
+ readonly chipIndex: import("@angular/core").InputSignal<number | null>;
27
+ /** Prefix for `data-autoId` on inner controls. */
28
+ readonly autoIdBase: import("@angular/core").InputSignal<string>;
29
+ /** MatMenu for the field switcher — parent passes its `<sd-query-field-picker>` menu. */
30
+ readonly switchPickerMenu: import("@angular/core").InputSignal<MatMenu | undefined>;
31
+ /** Emitted when mat-menu closes — parent splices `next` into filters[idx]. */
32
+ readonly commit: import("@angular/core").OutputEmitterRef<Filter>;
33
+ /** Emitted when nested field-switcher picks a new field — parent calls changeFilterField. */
34
+ readonly swapField: import("@angular/core").OutputEmitterRef<SdQueryField>;
35
+ /** Staged operator. */
36
+ readonly editingOperator: import("@angular/core").WritableSignal<Operator>;
37
+ /** Staged value (shape depends on field type + operator). */
38
+ readonly editingValue: import("@angular/core").WritableSignal<unknown>;
39
+ /** Resolved option list for values / lazy-values. */
40
+ readonly editingOptions: import("@angular/core").WritableSignal<any[]>;
41
+ /** Loading flag for async option fetch. */
42
+ readonly editingOptionsLoading: import("@angular/core").WritableSignal<boolean>;
43
+ readonly allowedOperators: import("@angular/core").Signal<Operator[]>;
44
+ readonly showOperatorSelector: import("@angular/core").Signal<boolean>;
45
+ /** Whether the staged operator is multi-select (IN/NOT_IN). */
46
+ multiple(op?: Operator): boolean;
47
+ /** Whether the staged operator carries no data (NULL/NOT_NULL). */
48
+ isNoDataOperator(op: Operator | string): boolean;
49
+ /** Compose an autoId for an inner control (`<base>-chip<idx>-<role>`). */
50
+ chipAutoId(role: string): string;
51
+ readonly iconFor: typeof sdQueryFieldIcon;
52
+ readonly menu: import("@angular/core").Signal<MatMenu | undefined>;
53
+ /** Reseed staging from a new filter/field pair — call before opening the menu. */
54
+ seed(filter: Filter | undefined, field: SdQueryField | undefined): void;
55
+ /** Called on operator change in the popover header — reshapes value when family changes. */
56
+ onEditingOperatorChange(next: Operator): void;
57
+ /** Single-value input change. */
58
+ onEditingValueInput(value: unknown): void;
59
+ /** BETWEEN range — mutate only `.from`. */
60
+ onEditingRangeFrom(value: string | number | null): void;
61
+ /** BETWEEN range — mutate only `.to`. */
62
+ onEditingRangeTo(value: string | number | null): void;
63
+ /** Toggle a value in the staged multi-select array. */
64
+ toggleEditingMultiValue(value: unknown): void;
65
+ isEditingMultiSelected(value: unknown): boolean;
66
+ /**
67
+ * mat-menu's (closed) handler — compose the next Filter from staging signals and
68
+ * emit (commit). Parent splices into its filters[] and nulls editingIndex.
69
+ */
70
+ onMenuClosed(): void;
71
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdQueryChipPopover, never>;
72
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdQueryChipPopover, "sd-query-chip-popover", never, { "field": { "alias": "field"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "chipIndex": { "alias": "chipIndex"; "required": false; "isSignal": true; }; "autoIdBase": { "alias": "autoIdBase"; "required": false; "isSignal": true; }; "switchPickerMenu": { "alias": "switchPickerMenu"; "required": false; "isSignal": true; }; }, { "commit": "commit"; "swapField": "swapField"; }, never, never, true, never>;
73
+ }
@@ -0,0 +1,37 @@
1
+ import { MatMenu } from '@angular/material/menu';
2
+ import { SdQueryField, sdQueryFieldIcon } from '../../query-bar.model';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Field picker mat-menu for `sd-query-bar`.
6
+ *
7
+ * Shared between two flows in the bar:
8
+ * - "Add filter" — pass `[usedKeys]` (a Set of field keys already on the bar) so
9
+ * those entries render disabled with a check.
10
+ * - "Đổi field" inside the chip popover — pass `[currentKey]` to disable the
11
+ * currently-bound field.
12
+ *
13
+ * Parent triggers via `[matMenuTriggerFor]="picker.menu()"` and receives the
14
+ * chosen field through `(pick)`.
15
+ */
16
+ export declare class SdQueryFieldPicker {
17
+ /** Field list shown in the menu (caller-supplied; rendered in input order). */
18
+ readonly fields: import("@angular/core").InputSignal<SdQueryField[]>;
19
+ /** Single key disabled with a trailing check — used in the chip-popover "Đổi field" flow. */
20
+ readonly currentKey: import("@angular/core").InputSignal<string | undefined>;
21
+ /** Set of keys already in use — used in the "Add filter" flow to grey out duplicates. */
22
+ readonly usedKeys: import("@angular/core").InputSignal<Set<string>>;
23
+ /** Emits when the user picks an enabled field. */
24
+ readonly pick: import("@angular/core").OutputEmitterRef<SdQueryField>;
25
+ /** MatMenu instance — parent binds `[matMenuTriggerFor]="picker.menu()"`. */
26
+ readonly menu: import("@angular/core").Signal<MatMenu>;
27
+ readonly iconFor: typeof sdQueryFieldIcon;
28
+ /** Per-field disabled state — current key OR used key OR field's own disabled flag. */
29
+ readonly disabledMap: import("@angular/core").Signal<Set<string>>;
30
+ isDisabled(field: SdQueryField): boolean;
31
+ /** "Current" check icon — only when the field matches `currentKey`. */
32
+ isCurrent(field: SdQueryField): boolean;
33
+ /** "Used" check icon — when the field is in `usedKeys` (not the same as current). */
34
+ isUsed(field: SdQueryField): boolean;
35
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdQueryFieldPicker, never>;
36
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdQueryFieldPicker, "sd-query-field-picker", never, { "fields": { "alias": "fields"; "required": false; "isSignal": true; }; "currentKey": { "alias": "currentKey"; "required": false; "isSignal": true; }; "usedKeys": { "alias": "usedKeys"; "required": false; "isSignal": true; }; }, { "pick": "pick"; }, never, never, true, never>;
37
+ }
@@ -0,0 +1,76 @@
1
+ import { Filter, Operator } from '@sdcorejs/utils/models';
2
+ import { SdQueryField } from '../../query-bar.model';
3
+ import * as i0 from "@angular/core";
4
+ type Density = 'compact' | 'comfortable';
5
+ /**
6
+ * Completed inline chip (non-string/number — those use `<sd-query-inline-value-chip>`).
7
+ *
8
+ * why: tách edit lifecycle ra khỏi parent `<sd-query-bar>` — child tự quản lý
9
+ * `isEditing` signal, auto-open picker, focusout exit. Parent chỉ pass field/filter
10
+ * và nhận commit/remove outputs.
11
+ *
12
+ * Covers types: boolean, date, datetime, values, lazy-values, plus a fallback else
13
+ * branch. BETWEEN (date / datetime) uses a single `<sd-date-range>` (datetime
14
+ * downgrades to date precision).
15
+ *
16
+ * why: `values` / `lazy-values` đã chuyển sang `<sd-select [viewed]="'inline'">` — sd-select
17
+ * tự quản click→edit + focusout→thoát + bare editor, nên các nhánh đó KHÔNG dùng
18
+ * `enterEdit` / `onFocusOut` / `#editing` nữa. Các nhánh còn lại (boolean / date / datetime /
19
+ * BETWEEN) vẫn dùng lifecycle thủ công cho tới khi control tương ứng có inline mode (rollout).
20
+ */
21
+ export declare class SdQueryInlineChip {
22
+ #private;
23
+ /** Resolved field — parent passes it (no lookup needed inside). */
24
+ readonly field: import("@angular/core").InputSignal<SdQueryField>;
25
+ /** The chip's Filter — used for `data` + `operator`. */
26
+ readonly filter: import("@angular/core").InputSignal<Filter>;
27
+ /** Density preset — sizes the `.c-token` row. */
28
+ readonly density: import("@angular/core").InputSignal<Density>;
29
+ /** Whether the active operator is a multi-select (IN/NOT_IN). */
30
+ readonly multiple: import("@angular/core").InputSignal<boolean>;
31
+ /** Show `<sd-operator>` (disabled badge) on the chip; otherwise show `':'` separator. */
32
+ readonly showOperator: import("@angular/core").InputSignal<boolean>;
33
+ /** autoId prefix for inner controls (parent passes `inlineAutoId(i, 'value')`). */
34
+ readonly autoId: import("@angular/core").InputSignal<string>;
35
+ /** Pre-computed display text — parent owns `chipValueText(filter)` so we don't recompute. */
36
+ readonly valueText: import("@angular/core").InputSignal<string>;
37
+ /** No-data operator (NULL/NOT_NULL) — hide entire value slot when true. */
38
+ readonly isNoData: import("@angular/core").InputSignal<boolean>;
39
+ /** Single-value commit — parent runs `updateFilter(i, { data })`. */
40
+ readonly commit: import("@angular/core").OutputEmitterRef<unknown>;
41
+ /** BETWEEN commit (date/datetime) — parent runs `setFilterRange(i, ev)`. */
42
+ readonly commitRange: import("@angular/core").OutputEmitterRef<{
43
+ from: unknown;
44
+ to: unknown;
45
+ } | null>;
46
+ /** Live edit during multi-select — parent runs `editValueFn(i)(v)`. */
47
+ readonly liveChange: import("@angular/core").OutputEmitterRef<unknown>;
48
+ /** × removal. */
49
+ readonly remove: import("@angular/core").OutputEmitterRef<void>;
50
+ readonly editing: import("@angular/core").Signal<boolean>;
51
+ readonly iconName: import("@angular/core").Signal<string>;
52
+ /** Operator code — convenience accessor for template. */
53
+ readonly operator: import("@angular/core").Signal<Operator>;
54
+ /** Data payload — convenience accessor for template. */
55
+ readonly data: import("@angular/core").Signal<unknown>;
56
+ /** Enter edit mode (BOOLEAN branch — shows the toggle buttons; exits on toggle commit). */
57
+ enterEdit(): void;
58
+ /**
59
+ * Single-value commit (sd-date, sd-datetime, single sd-select).
60
+ * why: date/datetime/values render via `viewed='inline'` (self-managed) — the chip only
61
+ * forwards the value; it no longer toggles `#editing` (that's boolean-only now).
62
+ */
63
+ emitSingleCommit(v: unknown): void;
64
+ /** BETWEEN commit — sd-date-range (viewed='inline') emits `{from, to}`; chip just forwards it. */
65
+ emitRangeCommit(ev: {
66
+ from: unknown;
67
+ to: unknown;
68
+ } | null): void;
69
+ /** Multi-select live emit (sd-select inline). */
70
+ emitLive(v: unknown): void;
71
+ /** Boolean toggle commit — exits edit. */
72
+ emitBoolean(v: boolean): void;
73
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdQueryInlineChip, never>;
74
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdQueryInlineChip, "sd-query-inline-chip", never, { "field": { "alias": "field"; "required": true; "isSignal": true; }; "filter": { "alias": "filter"; "required": true; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "showOperator": { "alias": "showOperator"; "required": false; "isSignal": true; }; "autoId": { "alias": "autoId"; "required": false; "isSignal": true; }; "valueText": { "alias": "valueText"; "required": false; "isSignal": true; }; "isNoData": { "alias": "isNoData"; "required": false; "isSignal": true; }; }, { "commit": "commit"; "commitRange": "commitRange"; "liveChange": "liveChange"; "remove": "remove"; }, never, never, true, never>;
75
+ }
76
+ export {};