@simplysm/angular 14.0.8 → 14.0.10

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 (272) hide show
  1. package/README.md +234 -246
  2. package/dist/core/commons.d.ts.map +1 -1
  3. package/dist/core/directives/sd-events.directive.d.ts.map +1 -1
  4. package/dist/core/directives/sd-invalid.directive.d.ts.map +1 -1
  5. package/dist/core/directives/sd-item-of-template.directive.d.ts.map +1 -1
  6. package/dist/core/directives/sd-ripple.directive.d.ts.map +1 -1
  7. package/dist/core/directives/sd-router-link.directive.d.ts.map +1 -1
  8. package/dist/core/directives/sd-show-effect.directive.d.ts.map +1 -1
  9. package/dist/core/directives/sd-typed-template.directive.d.ts.map +1 -1
  10. package/dist/core/pipes/format.pipe.d.ts.map +1 -1
  11. package/dist/core/plugins/commands/findTopOpenModalEl.d.ts.map +1 -1
  12. package/dist/core/plugins/commands/sd-insert-command-event.plugin.d.ts.map +1 -1
  13. package/dist/core/plugins/commands/sd-refresh-command-event.plugin.d.ts.map +1 -1
  14. package/dist/core/plugins/commands/sd-save-command-event.plugin.d.ts.map +1 -1
  15. package/dist/core/plugins/events/sd-intersection-event.plugin.d.ts.map +1 -1
  16. package/dist/core/plugins/events/sd-option-event.plugin.d.ts.map +1 -1
  17. package/dist/core/plugins/events/sd-resize-event.plugin.d.ts.map +1 -1
  18. package/dist/core/plugins/sd-global-error-handler.plugin.d.ts.map +1 -1
  19. package/dist/core/provideSdAngular.d.ts.map +1 -1
  20. package/dist/core/providers/sd-angular-config.provider.d.ts.map +1 -1
  21. package/dist/core/providers/sd-app-structure.provider.d.ts.map +1 -1
  22. package/dist/core/providers/sd-file-dialog.provider.d.ts.map +1 -1
  23. package/dist/core/providers/sd-local-storage.provider.d.ts.map +1 -1
  24. package/dist/core/providers/sd-navigate-window.provider.d.ts.map +1 -1
  25. package/dist/core/providers/sd-print.provider.d.ts +7 -2
  26. package/dist/core/providers/sd-print.provider.d.ts.map +1 -1
  27. package/dist/core/providers/sd-service-client-factory.provider.d.ts.map +1 -1
  28. package/dist/core/providers/sd-shared-data.provider.d.ts +3 -0
  29. package/dist/core/providers/sd-shared-data.provider.d.ts.map +1 -1
  30. package/dist/core/providers/sd-system-config.provider.d.ts.map +1 -1
  31. package/dist/core/providers/sd-system-log.provider.d.ts.map +1 -1
  32. package/dist/core/providers/sd-theme-provider.d.ts.map +1 -1
  33. package/dist/core/utils/TDirectiveInputSignals.d.ts +4 -0
  34. package/dist/core/utils/TDirectiveInputSignals.d.ts.map +1 -1
  35. package/dist/core/utils/injectParent.d.ts.map +1 -1
  36. package/dist/core/utils/setSafeStyle.d.ts.map +1 -1
  37. package/dist/core/utils/setups/setupBgTheme.d.ts.map +1 -1
  38. package/dist/core/utils/setups/setupCanDeactivate.d.ts.map +1 -1
  39. package/dist/core/utils/setups/setupCloserWhenSingleSelectionChange.d.ts +9 -0
  40. package/dist/core/utils/setups/setupCloserWhenSingleSelectionChange.d.ts.map +1 -0
  41. package/dist/core/utils/setups/setupCloserWhenSingleSelectionChange.js +20 -0
  42. package/dist/core/utils/setups/setupCumulateSelectedKeys.d.ts +9 -0
  43. package/dist/core/utils/setups/setupCumulateSelectedKeys.d.ts.map +1 -0
  44. package/dist/core/utils/setups/setupCumulateSelectedKeys.js +27 -0
  45. package/dist/core/utils/setups/setupInvalid.d.ts.map +1 -1
  46. package/dist/core/utils/setups/setupModelHook.d.ts.map +1 -1
  47. package/dist/core/utils/setups/setupRevealOnShow.d.ts.map +1 -1
  48. package/dist/core/utils/setups/setupRipple.d.ts.map +1 -1
  49. package/dist/core/utils/useCurrentPageCodeSignal.d.ts.map +1 -1
  50. package/dist/core/utils/useExpandingManager.d.ts.map +1 -1
  51. package/dist/core/utils/useFullPageCodeSignal.d.ts.map +1 -1
  52. package/dist/core/utils/useSdSystemConfigResource.d.ts.map +1 -1
  53. package/dist/core/utils/useSelectionManager.d.ts.map +1 -1
  54. package/dist/core/utils/useSortingManager.d.ts.map +1 -1
  55. package/dist/core/utils/useViewTitleSignal.d.ts.map +1 -1
  56. package/dist/core/utils/useViewTypeSignal.d.ts.map +1 -1
  57. package/dist/features/address/sd-address-search.modal.d.ts +19 -0
  58. package/dist/features/address/sd-address-search.modal.d.ts.map +1 -0
  59. package/dist/features/address/sd-address-search.modal.js +88 -0
  60. package/dist/features/base/sd-base-container.control.d.ts.map +1 -1
  61. package/dist/features/base/sd-base-container.control.js +1 -1
  62. package/dist/features/data-view/sd-data-detail.control.d.ts +70 -0
  63. package/dist/features/data-view/sd-data-detail.control.d.ts.map +1 -0
  64. package/dist/features/data-view/sd-data-detail.control.js +606 -0
  65. package/dist/features/data-view/sd-data-select-button.control.d.ts +35 -0
  66. package/dist/features/data-view/sd-data-select-button.control.d.ts.map +1 -0
  67. package/dist/features/data-view/sd-data-select-button.control.js +219 -0
  68. package/dist/features/data-view/sd-data-sheet-column.directive.d.ts +8 -0
  69. package/dist/features/data-view/sd-data-sheet-column.directive.d.ts.map +1 -0
  70. package/dist/features/data-view/sd-data-sheet-column.directive.js +15 -0
  71. package/dist/features/data-view/sd-data-sheet.control.d.ts +131 -0
  72. package/dist/features/data-view/sd-data-sheet.control.d.ts.map +1 -0
  73. package/dist/features/data-view/sd-data-sheet.control.js +1152 -0
  74. package/dist/features/shared-data/sd-shared-data-select-button.control.d.ts +16 -0
  75. package/dist/features/shared-data/sd-shared-data-select-button.control.d.ts.map +1 -0
  76. package/dist/features/shared-data/sd-shared-data-select-button.control.js +66 -0
  77. package/dist/features/shared-data/sd-shared-data-select-list.control.d.ts +33 -0
  78. package/dist/features/shared-data/sd-shared-data-select-list.control.d.ts.map +1 -0
  79. package/dist/features/shared-data/sd-shared-data-select-list.control.js +346 -0
  80. package/dist/features/shared-data/sd-shared-data-select.control.d.ts +50 -0
  81. package/dist/features/shared-data/sd-shared-data-select.control.d.ts.map +1 -0
  82. package/dist/features/shared-data/sd-shared-data-select.control.js +425 -0
  83. package/dist/index.d.ts +11 -1
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/index.js +12 -0
  86. package/dist/ui/data/list/sd-list-item.control.d.ts +3 -1
  87. package/dist/ui/data/list/sd-list-item.control.d.ts.map +1 -1
  88. package/dist/ui/data/list/sd-list-item.control.js +8 -4
  89. package/dist/ui/data/list/sd-list.control.d.ts.map +1 -1
  90. package/dist/ui/data/list/sd-list.control.js +1 -1
  91. package/dist/ui/data/sheet/sd-sheet-column.directive.d.ts +8 -1
  92. package/dist/ui/data/sheet/sd-sheet-column.directive.d.ts.map +1 -1
  93. package/dist/ui/data/sheet/sd-sheet-config.modal.d.ts.map +1 -1
  94. package/dist/ui/data/sheet/sd-sheet-config.modal.js +1 -1
  95. package/dist/ui/data/sheet/sd-sheet.control.d.ts +4 -4
  96. package/dist/ui/data/sheet/sd-sheet.control.d.ts.map +1 -1
  97. package/dist/ui/data/sheet/sd-sheet.control.js +3 -4
  98. package/dist/ui/data/sheet/types.d.ts.map +1 -1
  99. package/dist/ui/data/sheet/useSheetCellAgent.d.ts.map +1 -1
  100. package/dist/ui/data/sheet/useSheetColumnFixing.d.ts.map +1 -1
  101. package/dist/ui/data/sheet/useSheetDomAccessor.d.ts.map +1 -1
  102. package/dist/ui/data/sheet/useSheetLayoutEngine.d.ts.map +1 -1
  103. package/dist/ui/form/button/sd-additional-button.control.d.ts.map +1 -1
  104. package/dist/ui/form/button/sd-additional-button.control.js +1 -1
  105. package/dist/ui/form/button/sd-anchor.control.d.ts.map +1 -1
  106. package/dist/ui/form/button/sd-anchor.control.js +1 -1
  107. package/dist/ui/form/button/sd-button.control.d.ts.map +1 -1
  108. package/dist/ui/form/button/sd-button.control.js +1 -1
  109. package/dist/ui/form/button/sd-modal-select-button.control.d.ts +16 -18
  110. package/dist/ui/form/button/sd-modal-select-button.control.d.ts.map +1 -1
  111. package/dist/ui/form/button/sd-modal-select-button.control.js +22 -39
  112. package/dist/ui/form/checkbox/sd-checkbox-group-item.control.d.ts.map +1 -1
  113. package/dist/ui/form/checkbox/sd-checkbox-group-item.control.js +1 -1
  114. package/dist/ui/form/checkbox/sd-checkbox-group.control.d.ts.map +1 -1
  115. package/dist/ui/form/checkbox/sd-checkbox-group.control.js +1 -1
  116. package/dist/ui/form/checkbox/sd-checkbox.control.d.ts.map +1 -1
  117. package/dist/ui/form/checkbox/sd-checkbox.control.js +1 -1
  118. package/dist/ui/form/checkbox/sd-switch.control.d.ts.map +1 -1
  119. package/dist/ui/form/checkbox/sd-switch.control.js +1 -1
  120. package/dist/ui/form/choice/sd-state-preset.control.d.ts.map +1 -1
  121. package/dist/ui/form/choice/sd-state-preset.control.js +1 -1
  122. package/dist/ui/form/editor/sd-tiptap-editor.control.d.ts +18 -1
  123. package/dist/ui/form/editor/sd-tiptap-editor.control.d.ts.map +1 -1
  124. package/dist/ui/form/editor/sd-tiptap-editor.control.js +18 -2
  125. package/dist/ui/form/input/sd-date-range.picker.d.ts.map +1 -1
  126. package/dist/ui/form/input/sd-date-range.picker.js +1 -1
  127. package/dist/ui/form/input/sd-numpad.control.d.ts.map +1 -1
  128. package/dist/ui/form/input/sd-numpad.control.js +1 -1
  129. package/dist/ui/form/input/sd-range.control.d.ts.map +1 -1
  130. package/dist/ui/form/input/sd-range.control.js +1 -1
  131. package/dist/ui/form/input/sd-textarea.control.d.ts.map +1 -1
  132. package/dist/ui/form/input/sd-textarea.control.js +1 -1
  133. package/dist/ui/form/input/sd-textfield-type-handlers.d.ts.map +1 -1
  134. package/dist/ui/form/input/sd-textfield.control.d.ts.map +1 -1
  135. package/dist/ui/form/input/sd-textfield.control.js +1 -1
  136. package/dist/ui/form/sd-form.control.d.ts.map +1 -1
  137. package/dist/ui/form/sd-form.control.js +1 -1
  138. package/dist/ui/form/select/sd-select-button.control.d.ts.map +1 -1
  139. package/dist/ui/form/select/sd-select-button.control.js +1 -1
  140. package/dist/ui/form/select/sd-select-item.control.d.ts +1 -1
  141. package/dist/ui/form/select/sd-select-item.control.d.ts.map +1 -1
  142. package/dist/ui/form/select/sd-select-item.control.js +1 -1
  143. package/dist/ui/form/select/sd-select.control.d.ts +9 -6
  144. package/dist/ui/form/select/sd-select.control.d.ts.map +1 -1
  145. package/dist/ui/form/select/sd-select.control.js +1 -1
  146. package/dist/ui/layout/dock/sd-dock-container.control.d.ts.map +1 -1
  147. package/dist/ui/layout/dock/sd-dock-container.control.js +1 -1
  148. package/dist/ui/layout/dock/sd-dock.control.d.ts.map +1 -1
  149. package/dist/ui/layout/dock/sd-dock.control.js +1 -1
  150. package/dist/ui/layout/kanban/sd-kanban-board.control.d.ts.map +1 -1
  151. package/dist/ui/layout/kanban/sd-kanban-board.control.js +1 -1
  152. package/dist/ui/layout/kanban/sd-kanban-lane.control.d.ts.map +1 -1
  153. package/dist/ui/layout/kanban/sd-kanban-lane.control.js +1 -1
  154. package/dist/ui/layout/kanban/sd-kanban.control.d.ts.map +1 -1
  155. package/dist/ui/layout/kanban/sd-kanban.control.js +1 -1
  156. package/dist/ui/layout/sd-card.directive.d.ts.map +1 -1
  157. package/dist/ui/layout/sd-gap.control.d.ts.map +1 -1
  158. package/dist/ui/layout/sd-gap.control.js +1 -1
  159. package/dist/ui/layout/sd-pane.directive.d.ts.map +1 -1
  160. package/dist/ui/layout/view/sd-view-item.control.d.ts.map +1 -1
  161. package/dist/ui/layout/view/sd-view-item.control.js +1 -1
  162. package/dist/ui/layout/view/sd-view.control.d.ts.map +1 -1
  163. package/dist/ui/layout/view/sd-view.control.js +1 -1
  164. package/dist/ui/navigation/collapse/sd-collapse-icon.control.d.ts.map +1 -1
  165. package/dist/ui/navigation/collapse/sd-collapse-icon.control.js +1 -1
  166. package/dist/ui/navigation/collapse/sd-collapse.control.d.ts.map +1 -1
  167. package/dist/ui/navigation/collapse/sd-collapse.control.js +1 -1
  168. package/dist/ui/navigation/menu-utils.d.ts.map +1 -1
  169. package/dist/ui/navigation/pagination/sd-pagination.control.d.ts.map +1 -1
  170. package/dist/ui/navigation/pagination/sd-pagination.control.js +1 -1
  171. package/dist/ui/navigation/sidebar/sd-sidebar-container.control.d.ts.map +1 -1
  172. package/dist/ui/navigation/sidebar/sd-sidebar-container.control.js +1 -1
  173. package/dist/ui/navigation/sidebar/sd-sidebar-menu.control.d.ts.map +1 -1
  174. package/dist/ui/navigation/sidebar/sd-sidebar-menu.control.js +1 -1
  175. package/dist/ui/navigation/sidebar/sd-sidebar-user.control.d.ts.map +1 -1
  176. package/dist/ui/navigation/sidebar/sd-sidebar-user.control.js +1 -1
  177. package/dist/ui/navigation/sidebar/sd-sidebar.control.d.ts.map +1 -1
  178. package/dist/ui/navigation/sidebar/sd-sidebar.control.js +1 -1
  179. package/dist/ui/navigation/tab/sd-tab-item.control.d.ts.map +1 -1
  180. package/dist/ui/navigation/tab/sd-tab-item.control.js +1 -1
  181. package/dist/ui/navigation/tab/sd-tab.control.d.ts.map +1 -1
  182. package/dist/ui/navigation/tab/sd-tab.control.js +1 -1
  183. package/dist/ui/navigation/tab/sd-tabview-item.control.d.ts.map +1 -1
  184. package/dist/ui/navigation/tab/sd-tabview-item.control.js +1 -1
  185. package/dist/ui/navigation/tab/sd-tabview.control.d.ts.map +1 -1
  186. package/dist/ui/navigation/tab/sd-tabview.control.js +1 -1
  187. package/dist/ui/navigation/topbar/sd-topbar-container.control.d.ts.map +1 -1
  188. package/dist/ui/navigation/topbar/sd-topbar-container.control.js +1 -1
  189. package/dist/ui/navigation/topbar/sd-topbar-menu.control.d.ts.map +1 -1
  190. package/dist/ui/navigation/topbar/sd-topbar-menu.control.js +1 -1
  191. package/dist/ui/navigation/topbar/sd-topbar-user.control.d.ts.map +1 -1
  192. package/dist/ui/navigation/topbar/sd-topbar-user.control.js +1 -1
  193. package/dist/ui/navigation/topbar/sd-topbar.control.d.ts.map +1 -1
  194. package/dist/ui/navigation/topbar/sd-topbar.control.js +1 -1
  195. package/dist/ui/overlay/busy/sd-busy-container.control.d.ts.map +1 -1
  196. package/dist/ui/overlay/busy/sd-busy-container.control.js +1 -1
  197. package/dist/ui/overlay/busy/sd-busy.provider.d.ts.map +1 -1
  198. package/dist/ui/overlay/dropdown/sd-dropdown-popup.control.d.ts.map +1 -1
  199. package/dist/ui/overlay/dropdown/sd-dropdown-popup.control.js +1 -1
  200. package/dist/ui/overlay/dropdown/sd-dropdown.control.d.ts.map +1 -1
  201. package/dist/ui/overlay/dropdown/sd-dropdown.control.js +1 -1
  202. package/dist/ui/overlay/modal/sd-confirm-modal.control.d.ts.map +1 -1
  203. package/dist/ui/overlay/modal/sd-confirm-modal.control.js +1 -1
  204. package/dist/ui/overlay/modal/sd-modal.control.d.ts.map +1 -1
  205. package/dist/ui/overlay/modal/sd-modal.control.js +1 -1
  206. package/dist/ui/overlay/modal/sd-modal.provider.d.ts +9 -3
  207. package/dist/ui/overlay/modal/sd-modal.provider.d.ts.map +1 -1
  208. package/dist/ui/overlay/modal/sd-prompt-modal.control.d.ts.map +1 -1
  209. package/dist/ui/overlay/modal/sd-prompt-modal.control.js +1 -1
  210. package/dist/ui/overlay/toast/sd-toast-container.control.d.ts.map +1 -1
  211. package/dist/ui/overlay/toast/sd-toast-container.control.js +1 -1
  212. package/dist/ui/overlay/toast/sd-toast.control.d.ts.map +1 -1
  213. package/dist/ui/overlay/toast/sd-toast.control.js +1 -1
  214. package/dist/ui/overlay/toast/sd-toast.provider.d.ts.map +1 -1
  215. package/dist/ui/visual/sd-barcode.control.d.ts.map +1 -1
  216. package/dist/ui/visual/sd-barcode.control.js +1 -1
  217. package/dist/ui/visual/sd-calendar.control.d.ts.map +1 -1
  218. package/dist/ui/visual/sd-calendar.control.js +1 -1
  219. package/dist/ui/visual/sd-echarts.control.d.ts.map +1 -1
  220. package/dist/ui/visual/sd-echarts.control.js +1 -1
  221. package/dist/ui/visual/sd-label.control.d.ts.map +1 -1
  222. package/dist/ui/visual/sd-label.control.js +1 -1
  223. package/dist/ui/visual/sd-note.control.d.ts.map +1 -1
  224. package/dist/ui/visual/sd-note.control.js +1 -1
  225. package/dist/ui/visual/sd-progress.control.d.ts.map +1 -1
  226. package/dist/ui/visual/sd-progress.control.js +1 -1
  227. package/docs/core.md +877 -0
  228. package/docs/features.md +377 -0
  229. package/docs/styling.md +309 -0
  230. package/docs/ui-data.md +233 -0
  231. package/docs/ui-form.md +421 -0
  232. package/docs/ui-layout.md +216 -0
  233. package/docs/ui-navigation.md +279 -0
  234. package/docs/ui-overlay.md +330 -0
  235. package/docs/ui-visual.md +131 -0
  236. package/package.json +5 -5
  237. package/src/core/providers/sd-print.provider.ts +10 -2
  238. package/src/core/providers/sd-shared-data.provider.ts +3 -0
  239. package/src/core/utils/TDirectiveInputSignals.ts +5 -0
  240. package/src/core/utils/setups/setupCloserWhenSingleSelectionChange.ts +29 -0
  241. package/src/core/utils/setups/setupCumulateSelectedKeys.ts +38 -0
  242. package/src/features/address/sd-address-search.modal.ts +119 -0
  243. package/src/features/data-view/sd-data-detail.control.ts +394 -0
  244. package/src/features/data-view/sd-data-select-button.control.ts +210 -0
  245. package/src/features/data-view/sd-data-sheet-column.directive.ts +10 -0
  246. package/src/features/data-view/sd-data-sheet.control.ts +850 -0
  247. package/src/features/shared-data/sd-shared-data-select-button.control.ts +64 -0
  248. package/src/features/shared-data/sd-shared-data-select-list.control.ts +245 -0
  249. package/src/features/shared-data/sd-shared-data-select.control.ts +364 -0
  250. package/src/index.ts +35 -1
  251. package/src/scss.d.ts +5 -0
  252. package/src/ui/data/list/sd-list-item.control.ts +3 -1
  253. package/src/ui/data/sheet/sd-sheet-column.directive.ts +9 -1
  254. package/src/ui/data/sheet/sd-sheet.control.ts +6 -6
  255. package/src/ui/form/button/sd-modal-select-button.control.ts +41 -59
  256. package/src/ui/form/editor/sd-tiptap-editor.control.ts +35 -1
  257. package/src/ui/form/select/sd-select-item.control.ts +1 -1
  258. package/src/ui/form/select/sd-select.control.ts +7 -4
  259. package/src/ui/overlay/modal/sd-modal.provider.ts +15 -3
  260. package/docs/commons-and-configuration.md +0 -34
  261. package/docs/data-display-components.md +0 -146
  262. package/docs/directives.md +0 -158
  263. package/docs/event-plugins.md +0 -109
  264. package/docs/form-components.md +0 -362
  265. package/docs/hooks-and-utilities.md +0 -175
  266. package/docs/layout-components.md +0 -140
  267. package/docs/navigation-components.md +0 -200
  268. package/docs/overlay-components.md +0 -193
  269. package/docs/pipes.md +0 -25
  270. package/docs/providers.md +0 -448
  271. package/docs/setup-functions.md +0 -66
  272. package/docs/visual-components.md +0 -89
@@ -1,158 +0,0 @@
1
- # Directives
2
-
3
- ## `SdEventsDirective`
4
-
5
- Exposes capture, passive, once, and custom event outputs for template binding. Automatically selected when using supported event bindings.
6
-
7
- Selector: `[click.capture]`, `[click.once]`, `[mousedown.capture]`, `[scroll.passive]`, `[sdResize]`, `[sdSaveCommand]`, etc.
8
-
9
- Outputs:
10
-
11
- | Output | Type | Description |
12
- |--------|------|-------------|
13
- | `click.capture` | `OutputEmitterRef<MouseEvent>` | Click in capture phase |
14
- | `click.once` | `OutputEmitterRef<MouseEvent>` | Click once |
15
- | `click.capture.once` | `OutputEmitterRef<MouseEvent>` | Click capture once |
16
- | `mousedown.capture` | `OutputEmitterRef<MouseEvent>` | Mouse down capture |
17
- | `mouseup.capture` | `OutputEmitterRef<MouseEvent>` | Mouse up capture |
18
- | `mouseover.capture` | `OutputEmitterRef<MouseEvent>` | Mouse over capture |
19
- | `mouseout.capture` | `OutputEmitterRef<MouseEvent>` | Mouse out capture |
20
- | `keydown.capture` | `OutputEmitterRef<KeyboardEvent>` | Key down capture |
21
- | `keyup.capture` | `OutputEmitterRef<KeyboardEvent>` | Key up capture |
22
- | `focus.capture` | `OutputEmitterRef<FocusEvent>` | Focus capture |
23
- | `blur.capture` | `OutputEmitterRef<FocusEvent>` | Blur capture |
24
- | `invalid.capture` | `OutputEmitterRef<Event>` | Invalid capture |
25
- | `scroll.capture` | `OutputEmitterRef<Event>` | Scroll capture |
26
- | `scroll.passive` | `OutputEmitterRef<Event>` | Scroll passive |
27
- | `scroll.capture.passive` | `OutputEmitterRef<Event>` | Scroll capture passive |
28
- | `wheel.passive` | `OutputEmitterRef<WheelEvent>` | Wheel passive |
29
- | `wheel.capture.passive` | `OutputEmitterRef<WheelEvent>` | Wheel capture passive |
30
- | `touchstart.passive` | `OutputEmitterRef<TouchEvent>` | Touch start passive |
31
- | `touchstart.capture.passive` | `OutputEmitterRef<TouchEvent>` | Touch start capture passive |
32
- | `touchmove.passive` | `OutputEmitterRef<TouchEvent>` | Touch move passive |
33
- | `touchmove.capture.passive` | `OutputEmitterRef<TouchEvent>` | Touch move capture passive |
34
- | `touchend.passive` | `OutputEmitterRef<TouchEvent>` | Touch end passive |
35
- | `dragover.capture` | `OutputEmitterRef<DragEvent>` | Drag over capture |
36
- | `dragenter.capture` | `OutputEmitterRef<DragEvent>` | Drag enter capture |
37
- | `dragleave.capture` | `OutputEmitterRef<DragEvent>` | Drag leave capture |
38
- | `drop.capture` | `OutputEmitterRef<DragEvent>` | Drop capture |
39
- | `transitionend.once` | `OutputEmitterRef<TransitionEvent>` | Transition end once |
40
- | `animationend.once` | `OutputEmitterRef<AnimationEvent>` | Animation end once |
41
- | `sdResize` | `OutputEmitterRef<ISdResizeEvent>` | Resize observer event |
42
- | `sdRefreshCommand` | `OutputEmitterRef<KeyboardEvent>` | Ctrl+Alt+L command |
43
- | `sdSaveCommand` | `OutputEmitterRef<KeyboardEvent>` | Ctrl+S command |
44
- | `sdInsertCommand` | `OutputEmitterRef<KeyboardEvent>` | Ctrl+Insert command |
45
-
46
- ## `SdRippleDirective`
47
-
48
- Adds material-style ripple effect on pointer interaction.
49
-
50
- Selector: `[sd-ripple]`
51
-
52
- | Input | Type | Description |
53
- |-------|------|-------------|
54
- | `sd-ripple` (alias) | `boolean` (required, booleanAttribute) | Whether ripple is enabled |
55
-
56
- ## `SdShowEffectDirective`
57
-
58
- Animates element reveal when it enters the viewport via IntersectionObserver.
59
-
60
- Selector: `[sd-show-effect]`
61
-
62
- | Input | Type | Description |
63
- |-------|------|-------------|
64
- | `sd-show-effect` (alias) | `boolean` (required, booleanAttribute) | Whether effect is enabled |
65
- | `sdShowEffectType` | `"l2r" \| "t2b"` | Animation direction (default: `"t2b"`) |
66
-
67
- ## `SdInvalidDirective`
68
-
69
- Shows a validation indicator with a custom message on the host element. Integrates with form validation.
70
-
71
- Selector: `[sd-invalid]`
72
-
73
- | Input | Type | Description |
74
- |-------|------|-------------|
75
- | `sd-invalid` (alias) | `string` (required) | Validation error message (empty string = valid) |
76
-
77
- ## `SdTypedTemplateDirective`
78
-
79
- Provides type-safe ng-template context guard for custom template contexts.
80
-
81
- Selector: `ng-template[typed]`
82
-
83
- | Input | Type | Description |
84
- |-------|------|-------------|
85
- | `typed` | `T` (required) | Context type token |
86
-
87
- ```typescript
88
- class SdTypedTemplateDirective<T> {
89
- static ngTemplateContextGuard<TypeToken>(
90
- _dir: SdTypedTemplateDirective<TypeToken>,
91
- _ctx: unknown,
92
- ): _ctx is TypeToken;
93
- }
94
- ```
95
-
96
- ## `SdItemOfTemplateDirective`
97
-
98
- Provides typed iteration context for ng-template. Used for passing item type information to template outlets.
99
-
100
- Selector: `ng-template[itemOf]`
101
-
102
- | Input | Type | Description |
103
- |-------|------|-------------|
104
- | `itemOf` | `TItem[]` (required) | Array of items for type inference |
105
-
106
- ```typescript
107
- class SdItemOfTemplateDirective<TItem> {
108
- static ngTemplateContextGuard<TContextItem>(
109
- _dir: SdItemOfTemplateDirective<TContextItem>,
110
- _ctx: unknown,
111
- ): _ctx is SdItemOfTemplateContext<TContextItem>;
112
- }
113
- ```
114
-
115
- ### `SdItemOfTemplateContext`
116
-
117
- | Field | Type | Description |
118
- |-------|------|-------------|
119
- | `$implicit` | `TItem` | The current item |
120
- | `item` | `TItem` | The current item (named) |
121
- | `index` | `number` | Item index |
122
- | `depth` | `number` | Nesting depth |
123
-
124
- ## `SdRouterLinkDirective`
125
-
126
- Navigation directive supporting router navigation, window opening, and outlet navigation. Ctrl/Alt+click opens in new tab; Shift+click opens in new window.
127
-
128
- Selector: `[sd-router-link]`
129
-
130
- | Input | Type | Description |
131
- |-------|------|-------------|
132
- | `sd-router-link` (alias) | `object \| undefined` | Navigation option |
133
-
134
- Option object fields:
135
-
136
- | Field | Type | Description |
137
- |-------|------|-------------|
138
- | `link` | `string` | Target route path |
139
- | `params` | `Record<string, string>` | Optional route parameters |
140
- | `window` | `{ width?: number; height?: number }` | Optional window dimensions |
141
- | `outletName` | `string` | Optional named outlet |
142
- | `queryParams` | `Record<string, string>` | Optional query parameters |
143
-
144
- ## `SdCardDirective`
145
-
146
- Applies card styling (CSS class `card`) to the host element.
147
-
148
- Selector: `sd-card`, `[sd-card]`
149
-
150
- No inputs.
151
-
152
- ## `SdPaneDirective`
153
-
154
- Applies fill-area pane styling (CSS class `fill`, `display: block`) to the host element.
155
-
156
- Selector: `sd-pane`, `[sd-pane]`
157
-
158
- No inputs.
@@ -1,109 +0,0 @@
1
- # Event Plugins
2
-
3
- All event plugins are automatically registered by `provideSdAngular`.
4
-
5
- ## `SdOptionEventPlugin`
6
-
7
- Adds `.capture`, `.passive`, `.once` modifiers to native DOM events in Angular templates.
8
-
9
- ```typescript
10
- @Injectable({ providedIn: null })
11
- class SdOptionEventPlugin extends EventManagerPlugin {
12
- supports(eventName: string): boolean;
13
- addEventListener(element: HTMLElement, eventName: string, handler: (event: Event) => void): () => void;
14
- }
15
- ```
16
-
17
- Usage in template:
18
- ```html
19
- <div (click.capture)="onCapture($event)"></div>
20
- <div (scroll.passive)="onScroll($event)"></div>
21
- <div (click.once)="onClickOnce($event)"></div>
22
- <div (click.capture.once)="onCaptureOnce($event)"></div>
23
- ```
24
-
25
- ## `SdResizeEventPlugin`
26
-
27
- Provides `(sdResize)` event binding via `ResizeObserver`.
28
-
29
- ```typescript
30
- @Injectable({ providedIn: null })
31
- class SdResizeEventPlugin extends EventManagerPlugin {
32
- supports(eventName: string): boolean; // "sdResize"
33
- addEventListener(element: HTMLElement, eventName: string, handler: (entry: ISdResizeEvent) => void): () => void;
34
- }
35
- ```
36
-
37
- ### `ISdResizeEvent`
38
-
39
- | Field | Type | Description |
40
- |-------|------|-------------|
41
- | `heightChanged` | `boolean` | Whether height changed since last event |
42
- | `widthChanged` | `boolean` | Whether width changed since last event |
43
- | `target` | `Element` | The observed element |
44
- | `contentRect` | `DOMRectReadOnly` | Content rectangle of the element |
45
-
46
- ## `SdIntersectionEventPlugin`
47
-
48
- Provides `(sdIntersection)` event binding via `IntersectionObserver`.
49
-
50
- ```typescript
51
- @Injectable({ providedIn: null })
52
- class SdIntersectionEventPlugin extends EventManagerPlugin {
53
- supports(eventName: string): boolean; // "sdIntersection"
54
- addEventListener(element: HTMLElement, eventName: string, handler: (entry: ISdIntersectionEvent) => void): () => void;
55
- }
56
- ```
57
-
58
- ### `ISdIntersectionEvent`
59
-
60
- | Field | Type | Description |
61
- |-------|------|-------------|
62
- | `entry` | `IntersectionObserverEntry` | The intersection observer entry |
63
-
64
- ## `SdSaveCommandEventPlugin`
65
-
66
- Provides `(sdSaveCommand)` event binding that triggers on Ctrl+S. Respects modal stacking (only fires for the topmost open modal).
67
-
68
- ```typescript
69
- @Injectable({ providedIn: null })
70
- class SdSaveCommandEventPlugin extends EventManagerPlugin {
71
- supports(eventName: string): boolean; // "sdSaveCommand"
72
- addEventListener(element: HTMLElement, eventName: string, handler: (event: Event) => void): () => void;
73
- }
74
- ```
75
-
76
- ## `SdRefreshCommandEventPlugin`
77
-
78
- Provides `(sdRefreshCommand)` event binding that triggers on Ctrl+Alt+L. Respects modal stacking.
79
-
80
- ```typescript
81
- @Injectable({ providedIn: null })
82
- class SdRefreshCommandEventPlugin extends EventManagerPlugin {
83
- supports(eventName: string): boolean; // "sdRefreshCommand"
84
- addEventListener(element: HTMLElement, eventName: string, handler: (event: Event) => void): () => void;
85
- }
86
- ```
87
-
88
- ## `SdInsertCommandEventPlugin`
89
-
90
- Provides `(sdInsertCommand)` event binding that triggers on Ctrl+Insert. Respects modal stacking.
91
-
92
- ```typescript
93
- @Injectable({ providedIn: null })
94
- class SdInsertCommandEventPlugin extends EventManagerPlugin {
95
- supports(eventName: string): boolean; // "sdInsertCommand"
96
- addEventListener(element: HTMLElement, eventName: string, handler: (event: Event) => void): () => void;
97
- }
98
- ```
99
-
100
- ## `SdGlobalErrorHandlerPlugin`
101
-
102
- Global error handler implementing Angular's `ErrorHandler`. Handles `PromiseRejectionEvent`, `ErrorEvent`, `Error`, and unknown errors. Displays error overlay and destroys the application on unrecoverable errors.
103
-
104
- ```typescript
105
- @Injectable({ providedIn: null })
106
- class SdGlobalErrorHandlerPlugin implements ErrorHandler {
107
- handleError(event: any): false;
108
- }
109
- ```
@@ -1,362 +0,0 @@
1
- # Form Components
2
-
3
- ## `SdButtonControl`
4
-
5
- Themed button with ripple effect.
6
-
7
- Selector: `sd-button`
8
-
9
- | Input | Type | Description |
10
- |-------|------|-------------|
11
- | `type` | `"button" \| "submit"` | Button type (default: `"button"`) |
12
- | `theme` | `"primary" \| "secondary" \| "info" \| "success" \| "warning" \| "danger" \| "gray" \| "blue-gray" \| "link" \| "link-primary" \| "link-secondary" \| "link-info" \| "link-success" \| "link-warning" \| "link-danger" \| "link-gray" \| "link-blue-gray" \| "link-rev"` | Visual theme |
13
- | `inline` | `boolean` (booleanAttribute) | Inline display (default: `false`) |
14
- | `inset` | `boolean` (booleanAttribute) | Borderless inset style (default: `false`) |
15
- | `size` | `"sm" \| "lg"` | Size variant |
16
- | `disabled` | `boolean` (booleanAttribute) | Disabled state (default: `false`) |
17
- | `buttonStyle` | `string` | Inline style for the inner button |
18
- | `buttonClass` | `string` | CSS class for the inner button |
19
-
20
- ## `SdAnchorControl`
21
-
22
- Inline clickable anchor element with theme coloring and hover underline.
23
-
24
- Selector: `sd-anchor`
25
-
26
- | Input | Type | Description |
27
- |-------|------|-------------|
28
- | `disabled` | `boolean` (booleanAttribute) | Disabled state (default: `false`) |
29
- | `theme` | `"primary" \| "secondary" \| "info" \| "success" \| "warning" \| "danger" \| "gray" \| "blue-gray"` | Color theme (default: `"primary"`) |
30
-
31
- ## `SdAdditionalButtonControl`
32
-
33
- Content area with adjacent action buttons (anchors or buttons projected via content).
34
-
35
- Selector: `sd-additional-button`
36
-
37
- | Input | Type | Description |
38
- |-------|------|-------------|
39
- | `size` | `"sm" \| "lg"` | Size variant |
40
- | `inset` | `boolean` (booleanAttribute) | Borderless inset style (default: `false`) |
41
-
42
- ## `SdModalSelectButtonControl`
43
-
44
- Button that opens a modal for item selection. Supports single/multi mode with erase functionality.
45
-
46
- Selector: `sd-modal-select-button`
47
-
48
- | Input/Model | Type | Description |
49
- |-------------|------|-------------|
50
- | `selectMode` | `"single" \| "multi"` | Selection mode (default: `"single"`) |
51
- | `value` (model) | `TSelectModeValue<any>` | Selected value(s) |
52
- | `selectedItems` (model) | `Record<string, unknown>[]` | Selected item records (default: `[]`) |
53
- | `disabled` | `boolean` (booleanAttribute) | Disabled state (default: `false`) |
54
- | `required` | `boolean` (booleanAttribute) | Required validation (default: `false`) |
55
- | `modal` | `TSdSelectModalInfo<any>` | Modal info for opening selection modal |
56
- | `modalOptions` | `ISdModalOptions` | Modal display options |
57
- | `size` | `"sm" \| "lg"` | Size variant |
58
- | `inset` | `boolean` (booleanAttribute) | Borderless inset style (default: `false`) |
59
-
60
- ### `ISdSelectModal`
61
-
62
- | Field | Type | Description |
63
- |-------|------|-------------|
64
- | `selectMode` | `InputSignal<"single" \| "multi">` | Selection mode input |
65
- | `selectedItemKeys` | `InputSignal<T[]>` | Currently selected keys input |
66
-
67
- Extends `ISdModal<ISelectModalOutputResult<T>>`.
68
-
69
- ### `ISelectModalOutputResult`
70
-
71
- | Field | Type | Description |
72
- |-------|------|-------------|
73
- | `selectedItemKeys` | `T[]` | Selected item keys |
74
- | `selectedItems` | `Record<string, unknown>[]` | Selected item records |
75
-
76
- ### `TSdSelectModalInfo`
77
-
78
- ```typescript
79
- type TSdSelectModalInfo<T extends ISdSelectModal<any>> = Omit<ISdModalInfo<T>, "inputs"> & {
80
- inputs: Omit<TDirectiveInputSignals<T>, "initialized" | "close" | "actionTplRef" | "selectMode" | "selectedItemKeys">;
81
- };
82
- ```
83
-
84
- ## `SdTextfieldControl`
85
-
86
- Text/number/date/time input field with inset/readonly/disabled modes.
87
-
88
- Selector: `sd-textfield`
89
-
90
- | Input/Model | Type | Description |
91
- |-------------|------|-------------|
92
- | `value` (model) | `TSdTextfieldTypes[K]` | Current value |
93
- | `type` | `K` (required) | Input type key |
94
- | `placeholder` | `string` | Placeholder text |
95
- | `title` | `string` | Title attribute |
96
- | `inputStyle` | `string` | Inline style for the input element |
97
- | `inputClass` | `string` | CSS class for the input element |
98
- | `disabled` | `boolean` (booleanAttribute) | Disabled state (default: `false`) |
99
- | `readonly` | `boolean` (booleanAttribute) | Read-only state (default: `false`) |
100
- | `required` | `boolean` (booleanAttribute) | Required validation (default: `false`) |
101
- | `min` | `TSdTextfieldTypes[K]` | Minimum value |
102
- | `max` | `TSdTextfieldTypes[K]` | Maximum value |
103
- | `format` | `string` | Display format pattern |
104
- | `step` | `number` | Step increment |
105
- | `autocomplete` | `string` | Autocomplete attribute |
106
- | `inline` | `boolean` (booleanAttribute) | Inline display (default: `false`) |
107
- | `inset` | `boolean` (booleanAttribute) | Borderless inset style (default: `false`) |
108
- | `size` | `"sm" \| "lg"` | Size variant |
109
- | `theme` | `"primary" \| "secondary" \| "info" \| "success" \| "warning" \| "danger" \| "gray" \| "blue-gray"` | Background theme |
110
-
111
- ### `TSdTextfieldTypes`
112
-
113
- ```typescript
114
- type TSdTextfieldTypes = {
115
- "number": number;
116
- "text": string;
117
- "password": string;
118
- "color": string;
119
- "email": string;
120
- "format": string;
121
- "date": DateOnly;
122
- "month": DateOnly;
123
- "year": DateOnly;
124
- "datetime": DateTime;
125
- "datetime-sec": DateTime;
126
- "time": Time;
127
- "time-sec": Time;
128
- };
129
- ```
130
-
131
- ### `sdTextfieldTypes`
132
-
133
- ```typescript
134
- const sdTextfieldTypes: (keyof TSdTextfieldTypes)[];
135
- ```
136
-
137
- ## `SdTextareaControl`
138
-
139
- Multi-line text input with inset/readonly/disabled modes.
140
-
141
- Selector: `sd-textarea`
142
-
143
- | Input/Model | Type | Description |
144
- |-------------|------|-------------|
145
- | `value` (model) | `string` | Current text value |
146
- | `placeholder` | `string` | Placeholder text |
147
- | `title` | `string` | Title attribute |
148
- | `disabled` | `boolean` (booleanAttribute) | Disabled state (default: `false`) |
149
- | `readonly` | `boolean` (booleanAttribute) | Read-only state (default: `false`) |
150
- | `required` | `boolean` (booleanAttribute) | Required validation (default: `false`) |
151
- | `inline` | `boolean` (booleanAttribute) | Inline display (default: `false`) |
152
- | `inset` | `boolean` (booleanAttribute) | Borderless inset style (default: `false`) |
153
- | `size` | `"sm" \| "lg"` | Size variant |
154
- | `theme` | `"primary" \| "secondary" \| "info" \| "success" \| "warning" \| "danger" \| "gray" \| "blue-gray"` | Background theme |
155
- | `inputStyle` | `string` | Inline style for the textarea |
156
- | `inputClass` | `string` | CSS class for the textarea |
157
-
158
- ## `SdNumpadControl`
159
-
160
- On-screen numeric keypad for number input.
161
-
162
- Selector: `sd-numpad`
163
-
164
- | Input/Model | Type | Description |
165
- |-------------|------|-------------|
166
- | `value` (model) | `number` | Current numeric value |
167
- | `placeholder` | `string` | Placeholder text |
168
- | `required` | `boolean` (booleanAttribute) | Required validation (default: `false`) |
169
- | `inputDisabled` | `boolean` (booleanAttribute) | Disable text input (default: `false`) |
170
- | `useEnterButton` | `boolean` (booleanAttribute) | Show enter button (default: `false`) |
171
- | `useMinusButton` | `boolean` (booleanAttribute) | Show minus button (default: `false`) |
172
-
173
- | Output | Type | Description |
174
- |--------|------|-------------|
175
- | `enterButtonClick` | `void` | Emitted when enter button is clicked |
176
-
177
- ## `SdRangeControl`
178
-
179
- From-to range input pair using two `SdTextfieldControl` instances.
180
-
181
- Selector: `sd-range`
182
-
183
- | Input/Model | Type | Description |
184
- |-------------|------|-------------|
185
- | `type` | `K` (required) | Textfield type key |
186
- | `from` (model) | `TSdTextfieldTypes[K]` | Start value |
187
- | `to` (model) | `TSdTextfieldTypes[K]` | End value |
188
- | `inputStyle` | `string` | Inline style for both inputs |
189
- | `required` | `boolean` (booleanAttribute) | Required validation (default: `false`) |
190
- | `disabled` | `boolean` (booleanAttribute) | Disabled state (default: `false`) |
191
-
192
- ## `SdDateRangePicker`
193
-
194
- Date range picker with period type selector (day/month/range).
195
-
196
- Selector: `sd-date-range-picker`
197
-
198
- | Input/Model | Type | Description |
199
- |-------------|------|-------------|
200
- | `periodType` (model) | `"day" \| "month" \| "range"` | Period type (default: `"range"`) |
201
- | `from` (model) | `DateOnly` | Start date |
202
- | `to` (model) | `DateOnly` | End date |
203
- | `required` | `boolean` (booleanAttribute) | Required validation (default: `false`) |
204
-
205
- Note: Period type labels are in Korean: "일" (day), "월" (month), "범위" (range).
206
-
207
- ## `SdCheckboxControl`
208
-
209
- Checkbox with optional radio mode, ripple effect, and model hook guard.
210
-
211
- Selector: `sd-checkbox`
212
-
213
- | Input/Model | Type | Description |
214
- |-------------|------|-------------|
215
- | `value` (model) | `boolean` | Checked state (default: `false`) |
216
- | `canChangeFn` | `(item: boolean) => boolean \| Promise<boolean>` | Guard function before change (default: `() => true`) |
217
- | `icon` | `string` | Check icon SVG (default: tabler check icon) |
218
- | `radio` | `boolean` (booleanAttribute) | Radio mode -- can only set to true (default: `false`) |
219
- | `disabled` | `boolean` (booleanAttribute) | Disabled state (default: `false`) |
220
- | `size` | `"sm" \| "lg"` | Size variant |
221
- | `inline` | `boolean` (booleanAttribute) | Inline display (default: `false`) |
222
- | `inset` | `boolean` (booleanAttribute) | Borderless inset style (default: `false`) |
223
- | `theme` | `"primary" \| "secondary" \| "info" \| "success" \| "warning" \| "danger" \| "gray" \| "blue-gray" \| "white"` | Color theme |
224
- | `contentStyle` | `string` | Inline style for content area |
225
-
226
- ## `SdSwitchControl`
227
-
228
- Toggle switch component.
229
-
230
- Selector: `sd-switch`
231
-
232
- | Input/Model | Type | Description |
233
- |-------------|------|-------------|
234
- | `value` (model) | `boolean` | On/off state (default: `false`) |
235
- | `disabled` | `boolean` (booleanAttribute) | Disabled state (default: `false`) |
236
- | `inline` | `boolean` (booleanAttribute) | Inline display (default: `false`) |
237
- | `inset` | `boolean` (booleanAttribute) | Borderless inset style (default: `false`) |
238
- | `size` | `"sm" \| "lg"` | Size variant |
239
- | `theme` | `"primary" \| "secondary" \| "info" \| "success" \| "warning" \| "danger" \| "gray" \| "blue-gray"` | Color theme |
240
-
241
- ## `SdCheckboxGroupControl`
242
-
243
- Group container for checkbox items. Manages a multi-select value array.
244
-
245
- Selector: `sd-checkbox-group`
246
-
247
- | Input/Model | Type | Description |
248
- |-------------|------|-------------|
249
- | `value` (model) | `T[]` | Selected values (default: `[]`) |
250
- | `disabled` | `boolean` (booleanAttribute) | Disabled state (default: `false`) |
251
-
252
- ## `SdCheckboxGroupItemControl`
253
-
254
- Individual item in a checkbox group. Toggles its value in the parent group's array.
255
-
256
- Selector: `sd-checkbox-group-item`
257
-
258
- | Input | Type | Description |
259
- |-------|------|-------------|
260
- | `value` | `T` (required) | Item value |
261
- | `inline` | `boolean` (booleanAttribute) | Inline display (default: `false`) |
262
-
263
- ## `SdSelectControl`
264
-
265
- Dropdown select supporting single and multi selection modes with dropdown popup.
266
-
267
- Selector: `sd-select`
268
-
269
- | Input/Model | Type | Description |
270
- |-------------|------|-------------|
271
- | `selectMode` | `"single" \| "multi"` | Selection mode (default: `"single"`) |
272
- | `value` (model) | `TSelectModeValue<T>` | Selected value(s) |
273
- | `placeholder` | `string` | Placeholder text |
274
- | `disabled` | `boolean` (booleanAttribute) | Disabled state (default: `false`) |
275
- | `inline` | `boolean` (booleanAttribute) | Inline display (default: `false`) |
276
- | `inset` | `boolean` (booleanAttribute) | Borderless inset style (default: `false`) |
277
- | `size` | `"sm" \| "lg"` | Size variant |
278
- | `required` | `boolean` (booleanAttribute) | Required validation (default: `false`) |
279
- | `hideSelectAll` | `boolean` (booleanAttribute) | Hide select/deselect all bar in multi mode (default: `false`) |
280
- | `multiSelectionDisplayDirection` | `"vertical"` | Display direction for multi selections |
281
- | `items` | `T[]` | Items for itemOf template rendering |
282
- | `getChildrenFn` | `(item: T) => T[] \| undefined` | Children accessor for tree items |
283
- | `contentClass` | `string` | CSS class for the content area |
284
- | `contentStyle` | `string` | Inline style for the content area |
285
-
286
- ### `TSelectModeValue`
287
-
288
- ```typescript
289
- type TSelectModeValue<T> = T | T[] | undefined;
290
- ```
291
-
292
- ## `SdSelectItemControl`
293
-
294
- Item inside `SdSelectControl`. Renders content and handles click/keyboard selection.
295
-
296
- Selector: `sd-select-item`
297
-
298
- | Input | Type | Description |
299
- |-------|------|-------------|
300
- | `value` | `T` (required) | Item value |
301
- | `disabled` | `boolean` (booleanAttribute) | Disabled state (default: `false`) |
302
- | `hidden` | `boolean` (booleanAttribute) | Hidden state (default: `false`) |
303
-
304
- ## `SdSelectButtonControl`
305
-
306
- Additional button slot rendered inline next to the select dropdown trigger. Has ripple effect.
307
-
308
- Selector: `sd-select-button`
309
-
310
- No inputs.
311
-
312
- ## `SdTiptapEditorControl`
313
-
314
- Rich text editor powered by Tiptap. Includes toolbar with formatting commands (headings, bold, italic, underline, strike, colors, lists, alignment, links, images, tables).
315
-
316
- Selector: `sd-tiptap-editor`
317
-
318
- | Input/Model | Type | Description |
319
- |-------------|------|-------------|
320
- | `value` (model) | `string` | HTML content |
321
- | `disabled` | `boolean` (booleanAttribute) | Disabled state (default: `false`) |
322
- | `readonly` | `boolean` (booleanAttribute) | Read-only state (default: `false`) |
323
- | `required` | `boolean` (booleanAttribute) | Required validation (default: `false`) |
324
- | `placeholder` | `string` | Placeholder text |
325
- | `validatorFn` | `(value: string \| undefined) => string \| undefined` | Custom validation function |
326
- | `extensions` | `AnyExtension[]` | Additional Tiptap extensions |
327
-
328
- ## `SdStatePresetControl`
329
-
330
- Save and load named state presets. Persists presets via system config.
331
-
332
- Selector: `sd-state-preset`
333
-
334
- | Input/Model | Type | Description |
335
- |-------------|------|-------------|
336
- | `key` | `string` (required) | Config key for preset storage |
337
- | `state` (model) | `any` | Current state to save/restore |
338
- | `size` | `"sm" \| "lg"` | Size variant |
339
-
340
- ### `ISdStatePreset`
341
-
342
- | Field | Type | Description |
343
- |-------|------|-------------|
344
- | `name` | `string` | Preset display name |
345
- | `state` | `any` | Stored state value |
346
-
347
- ## `SdFormControl`
348
-
349
- Form wrapper with submit handling and validation. Prevents default form submission, validates, and emits appropriate events.
350
-
351
- Selector: `sd-form`
352
-
353
- | Output | Type | Description |
354
- |--------|------|-------------|
355
- | `formSubmit` | `SubmitEvent` | Emitted on valid form submission |
356
- | `formInvalid` | `void` | Emitted when form validation fails |
357
-
358
- Public methods:
359
-
360
- ```typescript
361
- requestSubmit(): void; // Programmatically trigger form submission
362
- ```