@simplysm/angular 14.0.25 → 14.0.27

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 (609) hide show
  1. package/dist/core/directives/{sd-events.directive.d.ts → sd-events.d.ts} +6 -6
  2. package/dist/core/directives/sd-events.d.ts.map +1 -0
  3. package/dist/core/directives/{sd-events.directive.js → sd-events.js} +4 -4
  4. package/dist/core/directives/sd-invalid.d.ts +8 -0
  5. package/dist/core/directives/sd-invalid.d.ts.map +1 -0
  6. package/dist/core/directives/{sd-invalid.directive.js → sd-invalid.js} +7 -7
  7. package/dist/core/directives/sd-item-of-template.d.ts +14 -0
  8. package/dist/core/directives/sd-item-of-template.d.ts.map +1 -0
  9. package/dist/core/directives/{sd-item-of-template.directive.js → sd-item-of-template.js} +4 -4
  10. package/dist/core/directives/sd-ripple.d.ts +8 -0
  11. package/dist/core/directives/sd-ripple.d.ts.map +1 -0
  12. package/dist/core/directives/{sd-ripple.directive.js → sd-ripple.js} +7 -7
  13. package/dist/core/directives/{sd-router-link.directive.d.ts → sd-router-link.d.ts} +4 -4
  14. package/dist/core/directives/sd-router-link.d.ts.map +1 -0
  15. package/dist/core/directives/{sd-router-link.directive.js → sd-router-link.js} +9 -9
  16. package/dist/core/directives/sd-show-effect.d.ts +9 -0
  17. package/dist/core/directives/sd-show-effect.d.ts.map +1 -0
  18. package/dist/core/directives/{sd-show-effect.directive.js → sd-show-effect.js} +7 -7
  19. package/dist/core/directives/sd-typed-template.d.ts +8 -0
  20. package/dist/core/directives/sd-typed-template.d.ts.map +1 -0
  21. package/dist/core/directives/{sd-typed-template.directive.js → sd-typed-template.js} +4 -4
  22. package/dist/core/plugins/events/sd-intersection-event.plugin.d.ts +2 -2
  23. package/dist/core/plugins/events/sd-intersection-event.plugin.d.ts.map +1 -1
  24. package/dist/core/plugins/events/sd-resize-event.plugin.d.ts +2 -2
  25. package/dist/core/plugins/events/sd-resize-event.plugin.d.ts.map +1 -1
  26. package/dist/core/providers/sd-activated-modal.provider.d.ts +2 -2
  27. package/dist/core/providers/sd-activated-modal.provider.d.ts.map +1 -1
  28. package/dist/core/providers/sd-app-structure.provider.d.ts +11 -7
  29. package/dist/core/providers/sd-app-structure.provider.d.ts.map +1 -1
  30. package/dist/core/providers/sd-app-structure.provider.js +18 -7
  31. package/dist/core/providers/sd-app-structure.types.d.ts +6 -37
  32. package/dist/core/providers/sd-app-structure.types.d.ts.map +1 -1
  33. package/dist/core/providers/sd-app-structure.utils.d.ts +8 -10
  34. package/dist/core/providers/sd-app-structure.utils.d.ts.map +1 -1
  35. package/dist/core/providers/sd-app-structure.utils.js +5 -86
  36. package/dist/core/providers/sd-busy.provider.d.ts +4 -4
  37. package/dist/core/providers/sd-busy.provider.d.ts.map +1 -1
  38. package/dist/core/providers/sd-busy.provider.js +2 -2
  39. package/dist/core/providers/sd-print.provider.d.ts +7 -7
  40. package/dist/core/providers/sd-print.provider.d.ts.map +1 -1
  41. package/dist/core/providers/sd-shared-data.provider.d.ts +5 -5
  42. package/dist/core/providers/sd-shared-data.provider.d.ts.map +1 -1
  43. package/dist/core/providers/sd-toast.provider.d.ts +9 -9
  44. package/dist/core/providers/sd-toast.provider.d.ts.map +1 -1
  45. package/dist/core/providers/sd-toast.provider.js +5 -5
  46. package/dist/core/types/select-modal-output-result.d.ts +1 -1
  47. package/dist/core/types/select-modal-output-result.d.ts.map +1 -1
  48. package/dist/core/utils/{TDirectiveInputSignals.d.ts → directive-input-signals.d.ts} +5 -5
  49. package/dist/core/utils/directive-input-signals.d.ts.map +1 -0
  50. package/dist/core/utils/injectCurrentPageCodeSignal.d.ts +3 -0
  51. package/dist/core/utils/injectCurrentPageCodeSignal.d.ts.map +1 -0
  52. package/dist/core/utils/{useCurrentPageCodeSignal.js → injectCurrentPageCodeSignal.js} +1 -1
  53. package/dist/core/utils/injectFullPageCodeSignal.d.ts +3 -0
  54. package/dist/core/utils/injectFullPageCodeSignal.d.ts.map +1 -0
  55. package/dist/core/utils/{useFullPageCodeSignal.js → injectFullPageCodeSignal.js} +1 -1
  56. package/dist/core/utils/{useSdSystemConfigResource.d.ts → injectSdSystemConfigResource.d.ts} +2 -2
  57. package/dist/core/utils/injectSdSystemConfigResource.d.ts.map +1 -0
  58. package/dist/core/utils/{useSdSystemConfigResource.js → injectSdSystemConfigResource.js} +1 -1
  59. package/dist/core/utils/injectViewTitleSignal.d.ts +3 -0
  60. package/dist/core/utils/injectViewTitleSignal.d.ts.map +1 -0
  61. package/dist/core/utils/{useViewTitleSignal.js → injectViewTitleSignal.js} +11 -6
  62. package/dist/core/utils/injectViewTypeSignal.d.ts +4 -0
  63. package/dist/core/utils/injectViewTypeSignal.d.ts.map +1 -0
  64. package/dist/core/utils/{useViewTypeSignal.js → injectViewTypeSignal.js} +5 -5
  65. package/dist/core/utils/useExpandingManager.d.ts +3 -3
  66. package/dist/core/utils/useExpandingManager.d.ts.map +1 -1
  67. package/dist/core/utils/useSortingManager.d.ts +2 -2
  68. package/dist/core/utils/useSortingManager.d.ts.map +1 -1
  69. package/dist/features/address/sd-address-search.modal.d.ts +4 -4
  70. package/dist/features/address/sd-address-search.modal.d.ts.map +1 -1
  71. package/dist/features/address/sd-address-search.modal.js +3 -3
  72. package/dist/features/base/{sd-base-container.control.d.ts → sd-base-container.d.ts} +7 -7
  73. package/dist/features/base/sd-base-container.d.ts.map +1 -0
  74. package/dist/features/base/{sd-base-container.control.js → sd-base-container.js} +50 -43
  75. package/dist/features/data-view/{useDataSheetExcelManager.d.ts → injectDataSheetExcelManager.d.ts} +4 -4
  76. package/dist/features/data-view/injectDataSheetExcelManager.d.ts.map +1 -0
  77. package/dist/features/data-view/{useDataSheetExcelManager.js → injectDataSheetExcelManager.js} +1 -1
  78. package/dist/features/data-view/{useDataSheetInlineEditManager.d.ts → injectDataSheetInlineEditManager.d.ts} +4 -4
  79. package/dist/features/data-view/injectDataSheetInlineEditManager.d.ts.map +1 -0
  80. package/dist/features/data-view/{useDataSheetInlineEditManager.js → injectDataSheetInlineEditManager.js} +1 -1
  81. package/dist/features/data-view/{useDataSheetModalEditManager.d.ts → injectDataSheetModalEditManager.d.ts} +4 -4
  82. package/dist/features/data-view/injectDataSheetModalEditManager.d.ts.map +1 -0
  83. package/dist/features/data-view/{useDataSheetModalEditManager.js → injectDataSheetModalEditManager.js} +1 -1
  84. package/dist/features/data-view/{useDataSheetRefreshManager.d.ts → injectDataSheetRefreshManager.d.ts} +4 -4
  85. package/dist/features/data-view/injectDataSheetRefreshManager.d.ts.map +1 -0
  86. package/dist/features/data-view/{useDataSheetRefreshManager.js → injectDataSheetRefreshManager.js} +1 -1
  87. package/dist/features/data-view/sd-data-detail.base.d.ts +49 -0
  88. package/dist/features/data-view/sd-data-detail.base.d.ts.map +1 -0
  89. package/dist/features/data-view/sd-data-detail.base.js +122 -0
  90. package/dist/features/data-view/sd-data-detail.d.ts +29 -0
  91. package/dist/features/data-view/sd-data-detail.d.ts.map +1 -0
  92. package/dist/features/data-view/{sd-data-detail.control.js → sd-data-detail.js} +80 -202
  93. package/dist/features/data-view/sd-data-select-button.base.d.ts +24 -0
  94. package/dist/features/data-view/sd-data-select-button.base.d.ts.map +1 -0
  95. package/dist/features/data-view/sd-data-select-button.base.js +68 -0
  96. package/dist/features/data-view/sd-data-select-button.d.ts +15 -0
  97. package/dist/features/data-view/sd-data-select-button.d.ts.map +1 -0
  98. package/dist/features/data-view/sd-data-select-button.js +152 -0
  99. package/dist/features/data-view/sd-data-sheet-column.d.ts +8 -0
  100. package/dist/features/data-view/sd-data-sheet-column.d.ts.map +1 -0
  101. package/dist/features/data-view/{sd-data-sheet-column.directive.js → sd-data-sheet-column.js} +5 -5
  102. package/dist/features/data-view/sd-data-sheet.base.d.ts +76 -0
  103. package/dist/features/data-view/sd-data-sheet.base.d.ts.map +1 -0
  104. package/dist/features/data-view/sd-data-sheet.base.js +196 -0
  105. package/dist/features/data-view/sd-data-sheet.d.ts +48 -0
  106. package/dist/features/data-view/sd-data-sheet.d.ts.map +1 -0
  107. package/dist/features/data-view/{sd-data-sheet.control.js → sd-data-sheet.js} +135 -330
  108. package/dist/features/data-view/sd-data-sheet.types.d.ts +3 -3
  109. package/dist/features/data-view/sd-data-sheet.types.d.ts.map +1 -1
  110. package/dist/features/data-view/setupCloserWhenSingleSelectionChange.d.ts +2 -2
  111. package/dist/features/data-view/setupCloserWhenSingleSelectionChange.d.ts.map +1 -1
  112. package/dist/features/permission-table/sd-permission-table.d.ts +32 -0
  113. package/dist/features/permission-table/sd-permission-table.d.ts.map +1 -0
  114. package/dist/features/permission-table/{sd-permission-table.control.js → sd-permission-table.js} +45 -45
  115. package/dist/features/shared-data/sd-shared-data-select-button.d.ts +16 -0
  116. package/dist/features/shared-data/sd-shared-data-select-button.d.ts.map +1 -0
  117. package/dist/features/shared-data/{sd-shared-data-select-button.control.js → sd-shared-data-select-button.js} +18 -17
  118. package/dist/features/shared-data/{sd-shared-data-select-list.control.d.ts → sd-shared-data-select-list.d.ts} +8 -8
  119. package/dist/features/shared-data/sd-shared-data-select-list.d.ts.map +1 -0
  120. package/dist/features/shared-data/{sd-shared-data-select-list.control.js → sd-shared-data-select-list.js} +58 -58
  121. package/dist/features/shared-data/{sd-shared-data-select.control.d.ts → sd-shared-data-select.d.ts} +13 -13
  122. package/dist/features/shared-data/sd-shared-data-select.d.ts.map +1 -0
  123. package/dist/features/shared-data/{sd-shared-data-select.control.js → sd-shared-data-select.js} +51 -51
  124. package/dist/index.d.ts +101 -98
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.js +86 -83
  127. package/dist/ui/data/list/sd-list-item.d.ts +20 -0
  128. package/dist/ui/data/list/sd-list-item.d.ts.map +1 -0
  129. package/dist/ui/data/list/{sd-list-item.control.js → sd-list-item.js} +26 -26
  130. package/dist/ui/data/list/sd-list.d.ts +7 -0
  131. package/dist/ui/data/list/sd-list.d.ts.map +1 -0
  132. package/dist/ui/data/list/{sd-list.control.js → sd-list.js} +6 -6
  133. package/dist/ui/data/sheet/injectSheetColumnResizing.d.ts +17 -0
  134. package/dist/ui/data/sheet/injectSheetColumnResizing.d.ts.map +1 -0
  135. package/dist/ui/data/sheet/{useSheetColumnResizing.js → injectSheetColumnResizing.js} +1 -1
  136. package/dist/ui/data/sheet/{useSheetDomAccessor.d.ts → injectSheetDomAccessor.d.ts} +2 -2
  137. package/dist/ui/data/sheet/injectSheetDomAccessor.d.ts.map +1 -0
  138. package/dist/ui/data/sheet/{useSheetDomAccessor.js → injectSheetDomAccessor.js} +1 -1
  139. package/dist/ui/data/sheet/{sd-sheet-column.directive.d.ts → sd-sheet-column.d.ts} +4 -4
  140. package/dist/ui/data/sheet/sd-sheet-column.d.ts.map +1 -0
  141. package/dist/ui/data/sheet/{sd-sheet-column.directive.js → sd-sheet-column.js} +4 -4
  142. package/dist/ui/data/sheet/sd-sheet-config.modal.d.ts +9 -9
  143. package/dist/ui/data/sheet/sd-sheet-config.modal.d.ts.map +1 -1
  144. package/dist/ui/data/sheet/sd-sheet-config.modal.js +4 -4
  145. package/dist/ui/data/sheet/{sd-sheet.control.d.ts → sd-sheet.d.ts} +26 -26
  146. package/dist/ui/data/sheet/sd-sheet.d.ts.map +1 -0
  147. package/dist/ui/data/sheet/{sd-sheet.control.js → sd-sheet.js} +82 -82
  148. package/dist/ui/data/sheet/types.d.ts +6 -6
  149. package/dist/ui/data/sheet/types.d.ts.map +1 -1
  150. package/dist/ui/data/sheet/useSheetCellAgent.d.ts +2 -2
  151. package/dist/ui/data/sheet/useSheetCellAgent.d.ts.map +1 -1
  152. package/dist/ui/data/sheet/useSheetCellStyling.d.ts +9 -9
  153. package/dist/ui/data/sheet/useSheetCellStyling.d.ts.map +1 -1
  154. package/dist/ui/data/sheet/useSheetColumnFixing.d.ts +2 -2
  155. package/dist/ui/data/sheet/useSheetColumnFixing.d.ts.map +1 -1
  156. package/dist/ui/data/sheet/useSheetDisplayPipeline.d.ts +1 -1
  157. package/dist/ui/data/sheet/useSheetLayoutEngine.d.ts +6 -6
  158. package/dist/ui/data/sheet/useSheetLayoutEngine.d.ts.map +1 -1
  159. package/dist/ui/form/button/sd-additional-button.d.ts +8 -0
  160. package/dist/ui/form/button/sd-additional-button.d.ts.map +1 -0
  161. package/dist/ui/form/button/{sd-additional-button.control.js → sd-additional-button.js} +6 -6
  162. package/dist/ui/form/button/sd-anchor.d.ts +8 -0
  163. package/dist/ui/form/button/sd-anchor.d.ts.map +1 -0
  164. package/dist/ui/form/button/{sd-anchor.control.js → sd-anchor.js} +6 -6
  165. package/dist/ui/form/button/{sd-button.control.d.ts → sd-button.d.ts} +4 -4
  166. package/dist/ui/form/button/sd-button.d.ts.map +1 -0
  167. package/dist/ui/form/button/{sd-button.control.js → sd-button.js} +11 -11
  168. package/dist/ui/form/button/sd-modal-select-button.d.ts +38 -0
  169. package/dist/ui/form/button/sd-modal-select-button.d.ts.map +1 -0
  170. package/dist/ui/form/button/{sd-modal-select-button.control.js → sd-modal-select-button.js} +16 -16
  171. package/dist/ui/form/checkbox/{sd-checkbox-group-item.control.d.ts → sd-checkbox-group-item.d.ts} +4 -4
  172. package/dist/ui/form/checkbox/sd-checkbox-group-item.d.ts.map +1 -0
  173. package/dist/ui/form/checkbox/{sd-checkbox-group-item.control.js → sd-checkbox-group-item.js} +11 -11
  174. package/dist/ui/form/checkbox/sd-checkbox-group.d.ts +8 -0
  175. package/dist/ui/form/checkbox/sd-checkbox-group.d.ts.map +1 -0
  176. package/dist/ui/form/checkbox/{sd-checkbox-group.control.js → sd-checkbox-group.js} +5 -5
  177. package/dist/ui/form/checkbox/sd-checkbox.d.ts +19 -0
  178. package/dist/ui/form/checkbox/sd-checkbox.d.ts.map +1 -0
  179. package/dist/ui/form/checkbox/{sd-checkbox.control.js → sd-checkbox.js} +10 -10
  180. package/dist/ui/form/checkbox/sd-switch.d.ts +14 -0
  181. package/dist/ui/form/checkbox/sd-switch.d.ts.map +1 -0
  182. package/dist/ui/form/checkbox/{sd-switch.control.js → sd-switch.js} +7 -7
  183. package/dist/ui/form/choice/{sd-state-preset.control.d.ts → sd-state-preset.d.ts} +9 -9
  184. package/dist/ui/form/choice/sd-state-preset.d.ts.map +1 -0
  185. package/dist/ui/form/choice/{sd-state-preset.control.js → sd-state-preset.js} +21 -21
  186. package/dist/ui/form/editor/{sd-tiptap-editor.control.d.ts → sd-tiptap-editor.d.ts} +4 -4
  187. package/dist/ui/form/editor/sd-tiptap-editor.d.ts.map +1 -0
  188. package/dist/ui/form/editor/{sd-tiptap-editor.control.js → sd-tiptap-editor.js} +33 -33
  189. package/dist/ui/form/input/sd-date-range.picker.js +6 -6
  190. package/dist/ui/form/input/{sd-numpad.control.d.ts → sd-numpad.d.ts} +4 -4
  191. package/dist/ui/form/input/sd-numpad.d.ts.map +1 -0
  192. package/dist/ui/form/input/{sd-numpad.control.js → sd-numpad.js} +25 -25
  193. package/dist/ui/form/input/sd-range.d.ts +13 -0
  194. package/dist/ui/form/input/sd-range.d.ts.map +1 -0
  195. package/dist/ui/form/input/{sd-range.control.js → sd-range.js} +10 -10
  196. package/dist/ui/form/input/sd-textarea.d.ts +23 -0
  197. package/dist/ui/form/input/sd-textarea.d.ts.map +1 -0
  198. package/dist/ui/form/input/{sd-textarea.control.js → sd-textarea.js} +13 -13
  199. package/dist/ui/form/input/sd-textfield-type-handlers.d.ts +12 -12
  200. package/dist/ui/form/input/sd-textfield-type-handlers.d.ts.map +1 -1
  201. package/dist/ui/form/input/sd-textfield.d.ts +39 -0
  202. package/dist/ui/form/input/sd-textfield.d.ts.map +1 -0
  203. package/dist/ui/form/input/{sd-textfield.control.js → sd-textfield.js} +16 -16
  204. package/dist/ui/form/{sd-form.control.d.ts → sd-form.d.ts} +4 -4
  205. package/dist/ui/form/sd-form.d.ts.map +1 -0
  206. package/dist/ui/form/{sd-form.control.js → sd-form.js} +7 -7
  207. package/dist/ui/form/select/sd-select-button.d.ts +7 -0
  208. package/dist/ui/form/select/sd-select-button.d.ts.map +1 -0
  209. package/dist/ui/form/select/{sd-select-button.control.js → sd-select-button.js} +6 -6
  210. package/dist/ui/form/select/sd-select-item.d.ts +18 -0
  211. package/dist/ui/form/select/sd-select-item.d.ts.map +1 -0
  212. package/dist/ui/form/select/{sd-select-item.control.js → sd-select-item.js} +15 -15
  213. package/dist/ui/form/select/{sd-select.control.d.ts → sd-select.d.ts} +8 -8
  214. package/dist/ui/form/select/sd-select.d.ts.map +1 -0
  215. package/dist/ui/form/select/{sd-select.control.js → sd-select.js} +62 -62
  216. package/dist/ui/layout/dock/sd-dock-container.d.ts +12 -0
  217. package/dist/ui/layout/dock/sd-dock-container.d.ts.map +1 -0
  218. package/dist/ui/layout/dock/{sd-dock-container.control.js → sd-dock-container.js} +11 -11
  219. package/dist/ui/layout/dock/sd-dock.d.ts +19 -0
  220. package/dist/ui/layout/dock/sd-dock.d.ts.map +1 -0
  221. package/dist/ui/layout/dock/{sd-dock.control.js → sd-dock.js} +12 -12
  222. package/dist/ui/layout/kanban/sd-kanban-board.d.ts +24 -0
  223. package/dist/ui/layout/kanban/sd-kanban-board.d.ts.map +1 -0
  224. package/dist/ui/layout/kanban/{sd-kanban-board.control.js → sd-kanban-board.js} +7 -7
  225. package/dist/ui/layout/kanban/{sd-kanban-lane.control.d.ts → sd-kanban-lane.d.ts} +8 -8
  226. package/dist/ui/layout/kanban/sd-kanban-lane.d.ts.map +1 -0
  227. package/dist/ui/layout/kanban/{sd-kanban-lane.control.js → sd-kanban-lane.js} +37 -37
  228. package/dist/ui/layout/kanban/{sd-kanban.control.d.ts → sd-kanban.d.ts} +8 -8
  229. package/dist/ui/layout/kanban/sd-kanban.d.ts.map +1 -0
  230. package/dist/ui/layout/kanban/{sd-kanban.control.js → sd-kanban.js} +17 -17
  231. package/dist/ui/layout/sd-card.d.ts +6 -0
  232. package/dist/ui/layout/sd-card.d.ts.map +1 -0
  233. package/dist/ui/layout/{sd-card.directive.js → sd-card.js} +5 -5
  234. package/dist/ui/layout/sd-gap.d.ts +12 -0
  235. package/dist/ui/layout/sd-gap.d.ts.map +1 -0
  236. package/dist/ui/layout/{sd-gap.control.js → sd-gap.js} +6 -6
  237. package/dist/ui/layout/sd-pane.d.ts +6 -0
  238. package/dist/ui/layout/sd-pane.d.ts.map +1 -0
  239. package/dist/ui/layout/{sd-pane.directive.js → sd-pane.js} +5 -5
  240. package/dist/ui/layout/view/sd-view-item.d.ts +9 -0
  241. package/dist/ui/layout/view/sd-view-item.d.ts.map +1 -0
  242. package/dist/ui/layout/view/{sd-view-item.control.js → sd-view-item.js} +8 -8
  243. package/dist/ui/layout/view/sd-view.d.ts +8 -0
  244. package/dist/ui/layout/view/sd-view.d.ts.map +1 -0
  245. package/dist/ui/layout/view/{sd-view.control.js → sd-view.js} +6 -6
  246. package/dist/ui/navigation/collapse/sd-collapse-icon.d.ts +13 -0
  247. package/dist/ui/navigation/collapse/sd-collapse-icon.d.ts.map +1 -0
  248. package/dist/ui/navigation/collapse/{sd-collapse-icon.control.js → sd-collapse-icon.js} +6 -6
  249. package/dist/ui/navigation/collapse/sd-collapse.d.ts +14 -0
  250. package/dist/ui/navigation/collapse/sd-collapse.d.ts.map +1 -0
  251. package/dist/ui/navigation/collapse/{sd-collapse.control.js → sd-collapse.js} +7 -7
  252. package/dist/ui/navigation/menu-utils.d.ts +4 -4
  253. package/dist/ui/navigation/menu-utils.d.ts.map +1 -1
  254. package/dist/ui/navigation/pagination/{sd-pagination.control.d.ts → sd-pagination.d.ts} +4 -4
  255. package/dist/ui/navigation/pagination/sd-pagination.d.ts.map +1 -0
  256. package/dist/ui/navigation/pagination/{sd-pagination.control.js → sd-pagination.js} +15 -15
  257. package/dist/ui/navigation/sidebar/{sd-sidebar-container.control.d.ts → sd-sidebar-container.d.ts} +4 -4
  258. package/dist/ui/navigation/sidebar/sd-sidebar-container.d.ts.map +1 -0
  259. package/dist/ui/navigation/sidebar/{sd-sidebar-container.control.js → sd-sidebar-container.js} +7 -7
  260. package/dist/ui/navigation/sidebar/sd-sidebar-menu.d.ts +22 -0
  261. package/dist/ui/navigation/sidebar/sd-sidebar-menu.d.ts.map +1 -0
  262. package/dist/ui/navigation/sidebar/{sd-sidebar-menu.control.js → sd-sidebar-menu.js} +35 -35
  263. package/dist/ui/navigation/sidebar/sd-sidebar-user.d.ts +16 -0
  264. package/dist/ui/navigation/sidebar/sd-sidebar-user.d.ts.map +1 -0
  265. package/dist/ui/navigation/sidebar/{sd-sidebar-user.control.js → sd-sidebar-user.js} +30 -30
  266. package/dist/ui/navigation/sidebar/sd-sidebar.d.ts +8 -0
  267. package/dist/ui/navigation/sidebar/sd-sidebar.d.ts.map +1 -0
  268. package/dist/ui/navigation/sidebar/{sd-sidebar.control.js → sd-sidebar.js} +8 -8
  269. package/dist/ui/navigation/tab/sd-tab-item.d.ts +10 -0
  270. package/dist/ui/navigation/tab/sd-tab-item.d.ts.map +1 -0
  271. package/dist/ui/navigation/tab/{sd-tab-item.control.js → sd-tab-item.js} +9 -9
  272. package/dist/ui/navigation/tab/sd-tab.d.ts +7 -0
  273. package/dist/ui/navigation/tab/sd-tab.d.ts.map +1 -0
  274. package/dist/ui/navigation/tab/{sd-tab.control.js → sd-tab.js} +5 -5
  275. package/dist/ui/navigation/tab/sd-tabview-item.d.ts +10 -0
  276. package/dist/ui/navigation/tab/sd-tabview-item.d.ts.map +1 -0
  277. package/dist/ui/navigation/tab/{sd-tabview-item.control.js → sd-tabview-item.js} +8 -8
  278. package/dist/ui/navigation/tab/sd-tabview.d.ts +9 -0
  279. package/dist/ui/navigation/tab/sd-tabview.d.ts.map +1 -0
  280. package/dist/ui/navigation/tab/{sd-tabview.control.js → sd-tabview.js} +17 -17
  281. package/dist/ui/navigation/topbar/sd-topbar-container.d.ts +6 -0
  282. package/dist/ui/navigation/topbar/sd-topbar-container.d.ts.map +1 -0
  283. package/dist/ui/navigation/topbar/{sd-topbar-container.control.js → sd-topbar-container.js} +5 -5
  284. package/dist/ui/navigation/topbar/sd-topbar-menu.d.ts +23 -0
  285. package/dist/ui/navigation/topbar/sd-topbar-menu.d.ts.map +1 -0
  286. package/dist/ui/navigation/topbar/{sd-topbar-menu.control.js → sd-topbar-menu.js} +56 -56
  287. package/dist/ui/navigation/topbar/sd-topbar-user.d.ts +13 -0
  288. package/dist/ui/navigation/topbar/sd-topbar-user.d.ts.map +1 -0
  289. package/dist/ui/navigation/topbar/{sd-topbar-user.control.js → sd-topbar-user.js} +27 -27
  290. package/dist/ui/navigation/topbar/{sd-topbar.control.d.ts → sd-topbar.d.ts} +6 -6
  291. package/dist/ui/navigation/topbar/sd-topbar.d.ts.map +1 -0
  292. package/dist/ui/navigation/topbar/{sd-topbar.control.js → sd-topbar.js} +13 -13
  293. package/dist/ui/overlay/busy/sd-busy-container.d.ts +14 -0
  294. package/dist/ui/overlay/busy/sd-busy-container.d.ts.map +1 -0
  295. package/dist/ui/overlay/busy/{sd-busy-container.control.js → sd-busy-container.js} +16 -16
  296. package/dist/ui/overlay/dropdown/sd-dropdown-popup.d.ts +8 -0
  297. package/dist/ui/overlay/dropdown/sd-dropdown-popup.d.ts.map +1 -0
  298. package/dist/ui/overlay/dropdown/{sd-dropdown-popup.control.js → sd-dropdown-popup.js} +9 -9
  299. package/dist/ui/overlay/dropdown/{sd-dropdown.control.d.ts → sd-dropdown.d.ts} +4 -4
  300. package/dist/ui/overlay/dropdown/sd-dropdown.d.ts.map +1 -0
  301. package/dist/ui/overlay/dropdown/{sd-dropdown.control.js → sd-dropdown.js} +12 -12
  302. package/dist/ui/overlay/modal/sd-confirm-modal.d.ts +17 -0
  303. package/dist/ui/overlay/modal/sd-confirm-modal.d.ts.map +1 -0
  304. package/dist/ui/overlay/modal/{sd-confirm-modal.control.js → sd-confirm-modal.js} +11 -11
  305. package/dist/ui/overlay/modal/{sd-modal.control.d.ts → sd-modal.d.ts} +4 -4
  306. package/dist/ui/overlay/modal/sd-modal.d.ts.map +1 -0
  307. package/dist/ui/overlay/modal/{sd-modal.control.js → sd-modal.js} +28 -28
  308. package/dist/ui/overlay/modal/sd-modal.provider.d.ts +8 -8
  309. package/dist/ui/overlay/modal/sd-modal.provider.d.ts.map +1 -1
  310. package/dist/ui/overlay/modal/sd-modal.provider.js +4 -4
  311. package/dist/ui/overlay/modal/sd-prompt-modal.d.ts +19 -0
  312. package/dist/ui/overlay/modal/sd-prompt-modal.d.ts.map +1 -0
  313. package/dist/ui/overlay/modal/{sd-prompt-modal.control.js → sd-prompt-modal.js} +13 -13
  314. package/dist/ui/overlay/toast/sd-toast-container.d.ts +7 -0
  315. package/dist/ui/overlay/toast/sd-toast-container.d.ts.map +1 -0
  316. package/dist/ui/overlay/toast/{sd-toast-container.control.js → sd-toast-container.js} +6 -6
  317. package/dist/ui/overlay/toast/sd-toast.d.ts +14 -0
  318. package/dist/ui/overlay/toast/sd-toast.d.ts.map +1 -0
  319. package/dist/ui/overlay/toast/{sd-toast.control.js → sd-toast.js} +10 -10
  320. package/dist/ui/visual/sd-barcode.d.ts +11 -0
  321. package/dist/ui/visual/sd-barcode.d.ts.map +1 -0
  322. package/dist/ui/visual/{sd-barcode.control.js → sd-barcode.js} +5 -5
  323. package/dist/ui/visual/{sd-calendar.control.d.ts → sd-calendar.d.ts} +5 -5
  324. package/dist/ui/visual/sd-calendar.d.ts.map +1 -0
  325. package/dist/ui/visual/{sd-calendar.control.js → sd-calendar.js} +18 -18
  326. package/dist/ui/visual/sd-echarts.d.ts +13 -0
  327. package/dist/ui/visual/sd-echarts.d.ts.map +1 -0
  328. package/dist/ui/visual/{sd-echarts.control.js → sd-echarts.js} +7 -7
  329. package/dist/ui/visual/sd-label.d.ts +9 -0
  330. package/dist/ui/visual/sd-label.d.ts.map +1 -0
  331. package/dist/ui/visual/{sd-label.control.js → sd-label.js} +6 -6
  332. package/dist/ui/visual/sd-note.d.ts +9 -0
  333. package/dist/ui/visual/sd-note.d.ts.map +1 -0
  334. package/dist/ui/visual/{sd-note.control.js → sd-note.js} +6 -6
  335. package/dist/ui/visual/sd-progress.d.ts +11 -0
  336. package/dist/ui/visual/sd-progress.d.ts.map +1 -0
  337. package/dist/ui/visual/{sd-progress.control.js → sd-progress.js} +6 -6
  338. package/package.json +5 -5
  339. package/src/core/directives/{sd-events.directive.ts → sd-events.ts} +3 -3
  340. package/src/core/directives/{sd-invalid.directive.ts → sd-invalid.ts} +3 -3
  341. package/src/core/directives/{sd-item-of-template.directive.ts → sd-item-of-template.ts} +2 -2
  342. package/src/core/directives/{sd-ripple.directive.ts → sd-ripple.ts} +3 -3
  343. package/src/core/directives/{sd-router-link.directive.ts → sd-router-link.ts} +3 -3
  344. package/src/core/directives/{sd-show-effect.directive.ts → sd-show-effect.ts} +3 -3
  345. package/src/core/directives/{sd-typed-template.directive.ts → sd-typed-template.ts} +2 -2
  346. package/src/core/plugins/events/sd-intersection-event.plugin.ts +2 -2
  347. package/src/core/plugins/events/sd-resize-event.plugin.ts +2 -2
  348. package/src/core/providers/sd-activated-modal.provider.ts +2 -2
  349. package/src/core/providers/sd-app-structure.provider.ts +28 -11
  350. package/src/core/providers/sd-app-structure.types.ts +12 -43
  351. package/src/core/providers/sd-app-structure.utils.ts +29 -140
  352. package/src/core/providers/sd-busy.provider.ts +6 -6
  353. package/src/core/providers/sd-print.provider.ts +11 -11
  354. package/src/core/providers/sd-shared-data.provider.ts +10 -10
  355. package/src/core/providers/sd-toast.provider.ts +22 -22
  356. package/src/core/types/select-modal-output-result.ts +1 -1
  357. package/src/core/utils/{TDirectiveInputSignals.ts → directive-input-signals.ts} +4 -4
  358. package/src/core/utils/{useCurrentPageCodeSignal.ts → injectCurrentPageCodeSignal.ts} +1 -1
  359. package/src/core/utils/{useFullPageCodeSignal.ts → injectFullPageCodeSignal.ts} +1 -1
  360. package/src/core/utils/{useSdSystemConfigResource.ts → injectSdSystemConfigResource.ts} +1 -1
  361. package/src/core/utils/{useViewTitleSignal.ts → injectViewTitleSignal.ts} +10 -6
  362. package/src/core/utils/{useViewTypeSignal.ts → injectViewTypeSignal.ts} +7 -7
  363. package/src/core/utils/useExpandingManager.ts +8 -8
  364. package/src/core/utils/useSortingManager.ts +2 -2
  365. package/src/features/address/sd-address-search.modal.ts +9 -9
  366. package/src/features/base/{sd-base-container.control.ts → sd-base-container.ts} +27 -22
  367. package/src/features/data-view/{useDataSheetExcelManager.ts → injectDataSheetExcelManager.ts} +3 -3
  368. package/src/features/data-view/{useDataSheetInlineEditManager.ts → injectDataSheetInlineEditManager.ts} +3 -3
  369. package/src/features/data-view/{useDataSheetModalEditManager.ts → injectDataSheetModalEditManager.ts} +3 -3
  370. package/src/features/data-view/{useDataSheetRefreshManager.ts → injectDataSheetRefreshManager.ts} +3 -3
  371. package/src/features/data-view/sd-data-detail.base.ts +183 -0
  372. package/src/features/data-view/{sd-data-detail.control.ts → sd-data-detail.ts} +14 -198
  373. package/src/features/data-view/sd-data-select-button.base.ts +104 -0
  374. package/src/features/data-view/sd-data-select-button.ts +105 -0
  375. package/src/features/data-view/{sd-data-sheet-column.directive.ts → sd-data-sheet-column.ts} +2 -2
  376. package/src/features/data-view/sd-data-sheet.base.ts +305 -0
  377. package/src/features/data-view/{sd-data-sheet.control.ts → sd-data-sheet.ts} +19 -323
  378. package/src/features/data-view/sd-data-sheet.types.ts +3 -3
  379. package/src/features/data-view/setupCloserWhenSingleSelectionChange.ts +2 -2
  380. package/src/features/permission-table/{sd-permission-table.control.ts → sd-permission-table.ts} +26 -26
  381. package/src/features/shared-data/{sd-shared-data-select-button.control.ts → sd-shared-data-select-button.ts} +17 -19
  382. package/src/features/shared-data/{sd-shared-data-select-list.control.ts → sd-shared-data-select-list.ts} +21 -21
  383. package/src/features/shared-data/{sd-shared-data-select.control.ts → sd-shared-data-select.ts} +27 -27
  384. package/src/index.ts +139 -141
  385. package/src/ui/data/list/{sd-list-item.control.ts → sd-list-item.ts} +6 -6
  386. package/src/ui/data/list/{sd-list.control.ts → sd-list.ts} +1 -1
  387. package/src/ui/data/sheet/{useSheetColumnResizing.ts → injectSheetColumnResizing.ts} +9 -9
  388. package/src/ui/data/sheet/{useSheetDomAccessor.ts → injectSheetDomAccessor.ts} +1 -1
  389. package/src/ui/data/sheet/{sd-sheet-column.directive.ts → sd-sheet-column.ts} +1 -1
  390. package/src/ui/data/sheet/sd-sheet-config.modal.ts +15 -15
  391. package/src/ui/data/sheet/{sd-sheet.control.ts → sd-sheet.ts} +27 -27
  392. package/src/ui/data/sheet/types.ts +6 -6
  393. package/src/ui/data/sheet/useSheetCellAgent.ts +2 -2
  394. package/src/ui/data/sheet/useSheetCellStyling.ts +10 -10
  395. package/src/ui/data/sheet/useSheetColumnFixing.ts +2 -2
  396. package/src/ui/data/sheet/useSheetLayoutEngine.ts +8 -8
  397. package/src/ui/form/button/{sd-additional-button.control.ts → sd-additional-button.ts} +1 -1
  398. package/src/ui/form/button/{sd-anchor.control.ts → sd-anchor.ts} +1 -1
  399. package/src/ui/form/button/{sd-button.control.ts → sd-button.ts} +4 -4
  400. package/src/ui/form/button/{sd-modal-select-button.control.ts → sd-modal-select-button.ts} +16 -16
  401. package/src/ui/form/checkbox/{sd-checkbox-group-item.control.ts → sd-checkbox-group-item.ts} +6 -6
  402. package/src/ui/form/checkbox/{sd-checkbox-group.control.ts → sd-checkbox-group.ts} +1 -1
  403. package/src/ui/form/checkbox/{sd-checkbox.control.ts → sd-checkbox.ts} +1 -1
  404. package/src/ui/form/checkbox/{sd-switch.control.ts → sd-switch.ts} +1 -1
  405. package/src/ui/form/choice/{sd-state-preset.control.ts → sd-state-preset.ts} +14 -14
  406. package/src/ui/form/editor/{sd-tiptap-editor.control.ts → sd-tiptap-editor.ts} +1 -1
  407. package/src/ui/form/input/sd-date-range.picker.ts +5 -5
  408. package/src/ui/form/input/{sd-numpad.control.ts → sd-numpad.ts} +4 -4
  409. package/src/ui/form/input/{sd-range.control.ts → sd-range.ts} +6 -6
  410. package/src/ui/form/input/{sd-textarea.control.ts → sd-textarea.ts} +1 -1
  411. package/src/ui/form/input/sd-textfield-type-handlers.ts +18 -18
  412. package/src/ui/form/input/{sd-textfield.control.ts → sd-textfield.ts} +8 -8
  413. package/src/ui/form/{sd-form.control.ts → sd-form.ts} +1 -1
  414. package/src/ui/form/select/{sd-select-button.control.ts → sd-select-button.ts} +1 -1
  415. package/src/ui/form/select/{sd-select-item.control.ts → sd-select-item.ts} +7 -7
  416. package/src/ui/form/select/{sd-select.control.ts → sd-select.ts} +21 -21
  417. package/src/ui/layout/dock/{sd-dock-container.control.ts → sd-dock-container.ts} +3 -3
  418. package/src/ui/layout/dock/{sd-dock.control.ts → sd-dock.ts} +5 -5
  419. package/src/ui/layout/kanban/{sd-kanban-board.control.ts → sd-kanban-board.ts} +7 -7
  420. package/src/ui/layout/kanban/{sd-kanban-lane.control.ts → sd-kanban-lane.ts} +12 -12
  421. package/src/ui/layout/kanban/{sd-kanban.control.ts → sd-kanban.ts} +15 -15
  422. package/src/ui/layout/{sd-card.directive.ts → sd-card.ts} +2 -2
  423. package/src/ui/layout/{sd-gap.control.ts → sd-gap.ts} +1 -1
  424. package/src/ui/layout/{sd-pane.directive.ts → sd-pane.ts} +2 -2
  425. package/src/ui/layout/view/{sd-view-item.control.ts → sd-view-item.ts} +3 -3
  426. package/src/ui/layout/view/{sd-view.control.ts → sd-view.ts} +1 -1
  427. package/src/ui/navigation/collapse/{sd-collapse-icon.control.ts → sd-collapse-icon.ts} +1 -1
  428. package/src/ui/navigation/collapse/{sd-collapse.control.ts → sd-collapse.ts} +3 -3
  429. package/src/ui/navigation/menu-utils.ts +5 -5
  430. package/src/ui/navigation/pagination/{sd-pagination.control.ts → sd-pagination.ts} +3 -3
  431. package/src/ui/navigation/sidebar/{sd-sidebar-container.control.ts → sd-sidebar-container.ts} +1 -1
  432. package/src/ui/navigation/sidebar/{sd-sidebar-menu.control.ts → sd-sidebar-menu.ts} +19 -19
  433. package/src/ui/navigation/sidebar/{sd-sidebar-user.control.ts → sd-sidebar-user.ts} +14 -14
  434. package/src/ui/navigation/sidebar/{sd-sidebar.control.ts → sd-sidebar.ts} +4 -4
  435. package/src/ui/navigation/tab/{sd-tab-item.control.ts → sd-tab-item.ts} +3 -3
  436. package/src/ui/navigation/tab/{sd-tab.control.ts → sd-tab.ts} +1 -1
  437. package/src/ui/navigation/tab/{sd-tabview-item.control.ts → sd-tabview-item.ts} +4 -4
  438. package/src/ui/navigation/tab/{sd-tabview.control.ts → sd-tabview.ts} +6 -6
  439. package/src/ui/navigation/topbar/{sd-topbar-container.control.ts → sd-topbar-container.ts} +1 -1
  440. package/src/ui/navigation/topbar/{sd-topbar-menu.control.ts → sd-topbar-menu.ts} +26 -26
  441. package/src/ui/navigation/topbar/{sd-topbar-user.control.ts → sd-topbar-user.ts} +15 -15
  442. package/src/ui/navigation/topbar/{sd-topbar.control.ts → sd-topbar.ts} +6 -6
  443. package/src/ui/overlay/busy/{sd-busy-container.control.ts → sd-busy-container.ts} +3 -3
  444. package/src/ui/overlay/dropdown/{sd-dropdown-popup.control.ts → sd-dropdown-popup.ts} +4 -4
  445. package/src/ui/overlay/dropdown/{sd-dropdown.control.ts → sd-dropdown.ts} +4 -4
  446. package/src/ui/overlay/modal/{sd-confirm-modal.control.ts → sd-confirm-modal.ts} +5 -5
  447. package/src/ui/overlay/modal/sd-modal.provider.ts +18 -18
  448. package/src/ui/overlay/modal/{sd-modal.control.ts → sd-modal.ts} +1 -1
  449. package/src/ui/overlay/modal/{sd-prompt-modal.control.ts → sd-prompt-modal.ts} +6 -6
  450. package/src/ui/overlay/toast/{sd-toast-container.control.ts → sd-toast-container.ts} +1 -1
  451. package/src/ui/overlay/toast/{sd-toast.control.ts → sd-toast.ts} +3 -3
  452. package/src/ui/visual/{sd-barcode.control.ts → sd-barcode.ts} +3 -3
  453. package/src/ui/visual/{sd-calendar.control.ts → sd-calendar.ts} +4 -4
  454. package/src/ui/visual/{sd-echarts.control.ts → sd-echarts.ts} +1 -1
  455. package/src/ui/visual/{sd-label.control.ts → sd-label.ts} +1 -1
  456. package/src/ui/visual/{sd-note.control.ts → sd-note.ts} +1 -1
  457. package/src/ui/visual/{sd-progress.control.ts → sd-progress.ts} +1 -1
  458. package/dist/core/directives/sd-events.directive.d.ts.map +0 -1
  459. package/dist/core/directives/sd-invalid.directive.d.ts +0 -8
  460. package/dist/core/directives/sd-invalid.directive.d.ts.map +0 -1
  461. package/dist/core/directives/sd-item-of-template.directive.d.ts +0 -14
  462. package/dist/core/directives/sd-item-of-template.directive.d.ts.map +0 -1
  463. package/dist/core/directives/sd-ripple.directive.d.ts +0 -8
  464. package/dist/core/directives/sd-ripple.directive.d.ts.map +0 -1
  465. package/dist/core/directives/sd-router-link.directive.d.ts.map +0 -1
  466. package/dist/core/directives/sd-show-effect.directive.d.ts +0 -9
  467. package/dist/core/directives/sd-show-effect.directive.d.ts.map +0 -1
  468. package/dist/core/directives/sd-typed-template.directive.d.ts +0 -8
  469. package/dist/core/directives/sd-typed-template.directive.d.ts.map +0 -1
  470. package/dist/core/utils/TDirectiveInputSignals.d.ts.map +0 -1
  471. package/dist/core/utils/useCurrentPageCodeSignal.d.ts +0 -3
  472. package/dist/core/utils/useCurrentPageCodeSignal.d.ts.map +0 -1
  473. package/dist/core/utils/useFullPageCodeSignal.d.ts +0 -3
  474. package/dist/core/utils/useFullPageCodeSignal.d.ts.map +0 -1
  475. package/dist/core/utils/useSdSystemConfigResource.d.ts.map +0 -1
  476. package/dist/core/utils/useViewTitleSignal.d.ts +0 -3
  477. package/dist/core/utils/useViewTitleSignal.d.ts.map +0 -1
  478. package/dist/core/utils/useViewTypeSignal.d.ts +0 -4
  479. package/dist/core/utils/useViewTypeSignal.d.ts.map +0 -1
  480. package/dist/features/base/sd-base-container.control.d.ts.map +0 -1
  481. package/dist/features/data-view/sd-data-detail.control.d.ts +0 -73
  482. package/dist/features/data-view/sd-data-detail.control.d.ts.map +0 -1
  483. package/dist/features/data-view/sd-data-select-button.control.d.ts +0 -35
  484. package/dist/features/data-view/sd-data-select-button.control.d.ts.map +0 -1
  485. package/dist/features/data-view/sd-data-select-button.control.js +0 -219
  486. package/dist/features/data-view/sd-data-sheet-column.directive.d.ts +0 -8
  487. package/dist/features/data-view/sd-data-sheet-column.directive.d.ts.map +0 -1
  488. package/dist/features/data-view/sd-data-sheet.control.d.ts +0 -120
  489. package/dist/features/data-view/sd-data-sheet.control.d.ts.map +0 -1
  490. package/dist/features/data-view/useDataSheetExcelManager.d.ts.map +0 -1
  491. package/dist/features/data-view/useDataSheetInlineEditManager.d.ts.map +0 -1
  492. package/dist/features/data-view/useDataSheetModalEditManager.d.ts.map +0 -1
  493. package/dist/features/data-view/useDataSheetRefreshManager.d.ts.map +0 -1
  494. package/dist/features/permission-table/sd-permission-table.control.d.ts +0 -32
  495. package/dist/features/permission-table/sd-permission-table.control.d.ts.map +0 -1
  496. package/dist/features/shared-data/sd-shared-data-select-button.control.d.ts +0 -16
  497. package/dist/features/shared-data/sd-shared-data-select-button.control.d.ts.map +0 -1
  498. package/dist/features/shared-data/sd-shared-data-select-list.control.d.ts.map +0 -1
  499. package/dist/features/shared-data/sd-shared-data-select.control.d.ts.map +0 -1
  500. package/dist/ui/data/list/sd-list-item.control.d.ts +0 -20
  501. package/dist/ui/data/list/sd-list-item.control.d.ts.map +0 -1
  502. package/dist/ui/data/list/sd-list.control.d.ts +0 -7
  503. package/dist/ui/data/list/sd-list.control.d.ts.map +0 -1
  504. package/dist/ui/data/sheet/sd-sheet-column.directive.d.ts.map +0 -1
  505. package/dist/ui/data/sheet/sd-sheet.control.d.ts.map +0 -1
  506. package/dist/ui/data/sheet/useSheetColumnResizing.d.ts +0 -17
  507. package/dist/ui/data/sheet/useSheetColumnResizing.d.ts.map +0 -1
  508. package/dist/ui/data/sheet/useSheetDomAccessor.d.ts.map +0 -1
  509. package/dist/ui/form/button/sd-additional-button.control.d.ts +0 -8
  510. package/dist/ui/form/button/sd-additional-button.control.d.ts.map +0 -1
  511. package/dist/ui/form/button/sd-anchor.control.d.ts +0 -8
  512. package/dist/ui/form/button/sd-anchor.control.d.ts.map +0 -1
  513. package/dist/ui/form/button/sd-button.control.d.ts.map +0 -1
  514. package/dist/ui/form/button/sd-modal-select-button.control.d.ts +0 -38
  515. package/dist/ui/form/button/sd-modal-select-button.control.d.ts.map +0 -1
  516. package/dist/ui/form/checkbox/sd-checkbox-group-item.control.d.ts.map +0 -1
  517. package/dist/ui/form/checkbox/sd-checkbox-group.control.d.ts +0 -8
  518. package/dist/ui/form/checkbox/sd-checkbox-group.control.d.ts.map +0 -1
  519. package/dist/ui/form/checkbox/sd-checkbox.control.d.ts +0 -19
  520. package/dist/ui/form/checkbox/sd-checkbox.control.d.ts.map +0 -1
  521. package/dist/ui/form/checkbox/sd-switch.control.d.ts +0 -14
  522. package/dist/ui/form/checkbox/sd-switch.control.d.ts.map +0 -1
  523. package/dist/ui/form/choice/sd-state-preset.control.d.ts.map +0 -1
  524. package/dist/ui/form/editor/sd-tiptap-editor.control.d.ts.map +0 -1
  525. package/dist/ui/form/input/sd-numpad.control.d.ts.map +0 -1
  526. package/dist/ui/form/input/sd-range.control.d.ts +0 -13
  527. package/dist/ui/form/input/sd-range.control.d.ts.map +0 -1
  528. package/dist/ui/form/input/sd-textarea.control.d.ts +0 -23
  529. package/dist/ui/form/input/sd-textarea.control.d.ts.map +0 -1
  530. package/dist/ui/form/input/sd-textfield.control.d.ts +0 -39
  531. package/dist/ui/form/input/sd-textfield.control.d.ts.map +0 -1
  532. package/dist/ui/form/sd-form.control.d.ts.map +0 -1
  533. package/dist/ui/form/select/sd-select-button.control.d.ts +0 -7
  534. package/dist/ui/form/select/sd-select-button.control.d.ts.map +0 -1
  535. package/dist/ui/form/select/sd-select-item.control.d.ts +0 -18
  536. package/dist/ui/form/select/sd-select-item.control.d.ts.map +0 -1
  537. package/dist/ui/form/select/sd-select.control.d.ts.map +0 -1
  538. package/dist/ui/layout/dock/sd-dock-container.control.d.ts +0 -12
  539. package/dist/ui/layout/dock/sd-dock-container.control.d.ts.map +0 -1
  540. package/dist/ui/layout/dock/sd-dock.control.d.ts +0 -19
  541. package/dist/ui/layout/dock/sd-dock.control.d.ts.map +0 -1
  542. package/dist/ui/layout/kanban/sd-kanban-board.control.d.ts +0 -24
  543. package/dist/ui/layout/kanban/sd-kanban-board.control.d.ts.map +0 -1
  544. package/dist/ui/layout/kanban/sd-kanban-lane.control.d.ts.map +0 -1
  545. package/dist/ui/layout/kanban/sd-kanban.control.d.ts.map +0 -1
  546. package/dist/ui/layout/sd-card.directive.d.ts +0 -6
  547. package/dist/ui/layout/sd-card.directive.d.ts.map +0 -1
  548. package/dist/ui/layout/sd-gap.control.d.ts +0 -12
  549. package/dist/ui/layout/sd-gap.control.d.ts.map +0 -1
  550. package/dist/ui/layout/sd-pane.directive.d.ts +0 -6
  551. package/dist/ui/layout/sd-pane.directive.d.ts.map +0 -1
  552. package/dist/ui/layout/view/sd-view-item.control.d.ts +0 -9
  553. package/dist/ui/layout/view/sd-view-item.control.d.ts.map +0 -1
  554. package/dist/ui/layout/view/sd-view.control.d.ts +0 -8
  555. package/dist/ui/layout/view/sd-view.control.d.ts.map +0 -1
  556. package/dist/ui/navigation/collapse/sd-collapse-icon.control.d.ts +0 -13
  557. package/dist/ui/navigation/collapse/sd-collapse-icon.control.d.ts.map +0 -1
  558. package/dist/ui/navigation/collapse/sd-collapse.control.d.ts +0 -14
  559. package/dist/ui/navigation/collapse/sd-collapse.control.d.ts.map +0 -1
  560. package/dist/ui/navigation/pagination/sd-pagination.control.d.ts.map +0 -1
  561. package/dist/ui/navigation/sidebar/sd-sidebar-container.control.d.ts.map +0 -1
  562. package/dist/ui/navigation/sidebar/sd-sidebar-menu.control.d.ts +0 -22
  563. package/dist/ui/navigation/sidebar/sd-sidebar-menu.control.d.ts.map +0 -1
  564. package/dist/ui/navigation/sidebar/sd-sidebar-user.control.d.ts +0 -16
  565. package/dist/ui/navigation/sidebar/sd-sidebar-user.control.d.ts.map +0 -1
  566. package/dist/ui/navigation/sidebar/sd-sidebar.control.d.ts +0 -8
  567. package/dist/ui/navigation/sidebar/sd-sidebar.control.d.ts.map +0 -1
  568. package/dist/ui/navigation/tab/sd-tab-item.control.d.ts +0 -10
  569. package/dist/ui/navigation/tab/sd-tab-item.control.d.ts.map +0 -1
  570. package/dist/ui/navigation/tab/sd-tab.control.d.ts +0 -7
  571. package/dist/ui/navigation/tab/sd-tab.control.d.ts.map +0 -1
  572. package/dist/ui/navigation/tab/sd-tabview-item.control.d.ts +0 -10
  573. package/dist/ui/navigation/tab/sd-tabview-item.control.d.ts.map +0 -1
  574. package/dist/ui/navigation/tab/sd-tabview.control.d.ts +0 -9
  575. package/dist/ui/navigation/tab/sd-tabview.control.d.ts.map +0 -1
  576. package/dist/ui/navigation/topbar/sd-topbar-container.control.d.ts +0 -6
  577. package/dist/ui/navigation/topbar/sd-topbar-container.control.d.ts.map +0 -1
  578. package/dist/ui/navigation/topbar/sd-topbar-menu.control.d.ts +0 -23
  579. package/dist/ui/navigation/topbar/sd-topbar-menu.control.d.ts.map +0 -1
  580. package/dist/ui/navigation/topbar/sd-topbar-user.control.d.ts +0 -13
  581. package/dist/ui/navigation/topbar/sd-topbar-user.control.d.ts.map +0 -1
  582. package/dist/ui/navigation/topbar/sd-topbar.control.d.ts.map +0 -1
  583. package/dist/ui/overlay/busy/sd-busy-container.control.d.ts +0 -14
  584. package/dist/ui/overlay/busy/sd-busy-container.control.d.ts.map +0 -1
  585. package/dist/ui/overlay/dropdown/sd-dropdown-popup.control.d.ts +0 -8
  586. package/dist/ui/overlay/dropdown/sd-dropdown-popup.control.d.ts.map +0 -1
  587. package/dist/ui/overlay/dropdown/sd-dropdown.control.d.ts.map +0 -1
  588. package/dist/ui/overlay/modal/sd-confirm-modal.control.d.ts +0 -17
  589. package/dist/ui/overlay/modal/sd-confirm-modal.control.d.ts.map +0 -1
  590. package/dist/ui/overlay/modal/sd-modal.control.d.ts.map +0 -1
  591. package/dist/ui/overlay/modal/sd-prompt-modal.control.d.ts +0 -19
  592. package/dist/ui/overlay/modal/sd-prompt-modal.control.d.ts.map +0 -1
  593. package/dist/ui/overlay/toast/sd-toast-container.control.d.ts +0 -7
  594. package/dist/ui/overlay/toast/sd-toast-container.control.d.ts.map +0 -1
  595. package/dist/ui/overlay/toast/sd-toast.control.d.ts +0 -14
  596. package/dist/ui/overlay/toast/sd-toast.control.d.ts.map +0 -1
  597. package/dist/ui/visual/sd-barcode.control.d.ts +0 -11
  598. package/dist/ui/visual/sd-barcode.control.d.ts.map +0 -1
  599. package/dist/ui/visual/sd-calendar.control.d.ts.map +0 -1
  600. package/dist/ui/visual/sd-echarts.control.d.ts +0 -13
  601. package/dist/ui/visual/sd-echarts.control.d.ts.map +0 -1
  602. package/dist/ui/visual/sd-label.control.d.ts +0 -9
  603. package/dist/ui/visual/sd-label.control.d.ts.map +0 -1
  604. package/dist/ui/visual/sd-note.control.d.ts +0 -9
  605. package/dist/ui/visual/sd-note.control.d.ts.map +0 -1
  606. package/dist/ui/visual/sd-progress.control.d.ts +0 -11
  607. package/dist/ui/visual/sd-progress.control.d.ts.map +0 -1
  608. package/src/features/data-view/sd-data-select-button.control.ts +0 -210
  609. /package/dist/core/utils/{TDirectiveInputSignals.js → directive-input-signals.js} +0 -0
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * 모달 선택 결과
3
3
  */
4
- export interface ISelectModalOutputResult<T> {
4
+ export interface SelectModalOutputResult<T> {
5
5
  selectedItemKeys: any[];
6
6
  selectedItems: T[];
7
7
  }
@@ -5,7 +5,7 @@ import type { InputSignal } from "@angular/core";
5
5
  *
6
6
  * `{ name: string; age: number | undefined }` -> `{ name: string; age?: number }`
7
7
  */
8
- export type TUndefToOptional<T> = {
8
+ export type UndefToOptional<T> = {
9
9
  [K in keyof T as undefined extends T[K] ? never : K]: T[K];
10
10
  } & {
11
11
  [K in keyof T as undefined extends T[K] ? K : never]?: Exclude<T[K], undefined>;
@@ -22,10 +22,10 @@ export type TUndefToOptional<T> = {
22
22
  * name = input.required<string>();
23
23
  * age = input(0);
24
24
  * }
25
- * // TDirectiveInputSignals<MyComponent> = { name: string; age: number }
25
+ * // DirectiveInputSignals<MyComponent> = { name: string; age: number }
26
26
  * ```
27
27
  */
28
- export type TDirectiveInputSignals<T> = TUndefToOptional<{
28
+ export type DirectiveInputSignals<T> = UndefToOptional<{
29
29
  [P in keyof T as T[P] extends InputSignal<any> ? P : never]: T[P] extends InputSignal<
30
30
  infer V
31
31
  >
@@ -36,4 +36,4 @@ export type TDirectiveInputSignals<T> = TUndefToOptional<{
36
36
  /**
37
37
  * 특정 키를 optional로 변환하는 유틸리티 타입
38
38
  */
39
- export type TWithOptional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
39
+ export type WithOptional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
@@ -2,7 +2,7 @@ import { computed, inject, type Signal } from "@angular/core";
2
2
  import { toSignal } from "@angular/core/rxjs-interop";
3
3
  import { ActivatedRoute } from "@angular/router";
4
4
 
5
- export function useCurrentPageCodeSignal(): Signal<string> | undefined {
5
+ export function injectCurrentPageCodeSignal(): Signal<string> | undefined {
6
6
  const activatedRoute = inject(ActivatedRoute, { optional: true });
7
7
 
8
8
  if (activatedRoute) {
@@ -3,7 +3,7 @@ import { toSignal } from "@angular/core/rxjs-interop";
3
3
  import { NavigationEnd, Router } from "@angular/router";
4
4
  import { filter, map } from "rxjs";
5
5
 
6
- export function useFullPageCodeSignal(): Signal<string> {
6
+ export function injectFullPageCodeSignal(): Signal<string> {
7
7
  const router = inject(Router);
8
8
 
9
9
  const url = toSignal(
@@ -1,7 +1,7 @@
1
1
  import { ElementRef, ErrorHandler, inject, type ResourceRef, resource, type Signal } from "@angular/core";
2
2
  import { SdSystemConfigProvider } from "../providers/sd-system-config.provider";
3
3
 
4
- export function useSdSystemConfigResource<T>(options: { key: Signal<string | undefined> }) {
4
+ export function injectSdSystemConfigResource<T>(options: { key: Signal<string | undefined> }) {
5
5
  const sdSystemConfig = inject<SdSystemConfigProvider<Record<string, T>>>(SdSystemConfigProvider);
6
6
  const elRef = inject(ElementRef);
7
7
  const errorHandler = inject(ErrorHandler);
@@ -1,21 +1,25 @@
1
1
  import { computed, inject, type Signal } from "@angular/core";
2
2
  import { SdActivatedModalProvider } from "../providers/sd-activated-modal.provider";
3
3
  import { SdAppStructureProvider } from "../providers/sd-app-structure.provider";
4
- import { useFullPageCodeSignal } from "./useFullPageCodeSignal";
5
- import { useCurrentPageCodeSignal } from "./useCurrentPageCodeSignal";
4
+ import { injectFullPageCodeSignal } from "./injectFullPageCodeSignal";
5
+ import { injectCurrentPageCodeSignal } from "./injectCurrentPageCodeSignal";
6
6
 
7
- export function useViewTitleSignal(): Signal<string> {
7
+ export function injectViewTitleSignal(): Signal<string> {
8
8
  const activatedModal = inject(SdActivatedModalProvider, { optional: true });
9
9
  const sdAppStructure = inject(SdAppStructureProvider);
10
10
 
11
- const fullPageCode = useFullPageCodeSignal();
12
- const currPageCode = useCurrentPageCodeSignal();
11
+ const fullPageCode = injectFullPageCodeSignal();
12
+ const currPageCode = injectCurrentPageCodeSignal();
13
13
 
14
14
  return computed(() => {
15
15
  if (activatedModal != null) {
16
16
  return activatedModal.modalComponent()?.title() ?? "";
17
17
  }
18
18
 
19
- return sdAppStructure.getTitleByFullCode(currPageCode?.() ?? fullPageCode());
19
+ try {
20
+ return sdAppStructure.getTitleByFullCode(currPageCode?.() ?? fullPageCode());
21
+ } catch {
22
+ return "";
23
+ }
20
24
  });
21
25
  }
@@ -1,17 +1,17 @@
1
1
  import { computed, inject, type Signal } from "@angular/core";
2
2
  import { ActivatedRoute } from "@angular/router";
3
3
  import { SdActivatedModalProvider } from "../providers/sd-activated-modal.provider";
4
- import { useCurrentPageCodeSignal } from "./useCurrentPageCodeSignal";
5
- import { useFullPageCodeSignal } from "./useFullPageCodeSignal";
4
+ import { injectCurrentPageCodeSignal } from "./injectCurrentPageCodeSignal";
5
+ import { injectFullPageCodeSignal } from "./injectFullPageCodeSignal";
6
6
 
7
- export function useViewTypeSignal(getComp: () => object): Signal<TSdViewType> {
7
+ export function injectViewTypeSignal(getComp: () => object): Signal<SdViewType> {
8
8
  const activatedModal = inject(SdActivatedModalProvider, { optional: true });
9
9
  const activatedRoute = inject(ActivatedRoute, { optional: true });
10
10
 
11
- const fullPageCode = useFullPageCodeSignal();
12
- const currPageCode = useCurrentPageCodeSignal();
11
+ const fullPageCode = injectFullPageCodeSignal();
12
+ const currPageCode = injectCurrentPageCodeSignal();
13
13
 
14
- return computed<TSdViewType>(() => {
14
+ return computed<SdViewType>(() => {
15
15
  if (activatedModal != null) {
16
16
  return "modal";
17
17
  }
@@ -30,4 +30,4 @@ export function useViewTypeSignal(getComp: () => object): Signal<TSdViewType> {
30
30
  });
31
31
  }
32
32
 
33
- export type TSdViewType = "page" | "modal" | "control";
33
+ export type SdViewType = "page" | "modal" | "control";
@@ -1,9 +1,9 @@
1
1
  import { computed, type Signal, type WritableSignal } from "@angular/core";
2
2
  import "@simplysm/core-common";
3
3
 
4
- export interface IExpandItemDef<T> {
4
+ export interface ExpandItemDef<T> {
5
5
  item: T;
6
- parentDef: IExpandItemDef<T> | undefined;
6
+ parentDef: ExpandItemDef<T> | undefined;
7
7
  hasChildren: boolean;
8
8
  depth: number;
9
9
  }
@@ -20,19 +20,19 @@ export function useExpandingManager<T>(binding: {
20
20
  toggle(item: T): void;
21
21
  toggleAll(): void;
22
22
  isVisible(item: T): boolean;
23
- def(item: T): IExpandItemDef<T>;
23
+ def(item: T): ExpandItemDef<T>;
24
24
  } {
25
25
  const allDefs = computed(() => {
26
26
  const getChildrenFn = binding.getChildrenFn();
27
- const defs: IExpandItemDef<T>[] = [];
27
+ const defs: ExpandItemDef<T>[] = [];
28
28
 
29
- function walk(items: T[], parentDef: IExpandItemDef<T> | undefined, depth: number): void {
29
+ function walk(items: T[], parentDef: ExpandItemDef<T> | undefined, depth: number): void {
30
30
  const sorted = binding.sort(items);
31
31
  for (let i = 0; i < sorted.length; i++) {
32
32
  const item = sorted[i];
33
33
  const children = getChildrenFn?.(item, i);
34
34
  const hasChildren = children != null && children.length > 0;
35
- const itemDef: IExpandItemDef<T> = { item, parentDef, hasChildren, depth };
35
+ const itemDef: ExpandItemDef<T> = { item, parentDef, hasChildren, depth };
36
36
  defs.push(itemDef);
37
37
  if (hasChildren) {
38
38
  walk(children, itemDef, depth + 1);
@@ -60,7 +60,7 @@ export function useExpandingManager<T>(binding: {
60
60
  });
61
61
 
62
62
  const defMap = computed(() => {
63
- const map = new Map<T, IExpandItemDef<T>>();
63
+ const map = new Map<T, ExpandItemDef<T>>();
64
64
  for (const d of allDefs()) {
65
65
  map.set(d.item, d);
66
66
  }
@@ -99,7 +99,7 @@ export function useExpandingManager<T>(binding: {
99
99
  return true;
100
100
  }
101
101
 
102
- function def(item: T): IExpandItemDef<T> {
102
+ function def(item: T): ExpandItemDef<T> {
103
103
  const map = defMap();
104
104
  const d = map.get(item);
105
105
  if (d == null) {
@@ -1,13 +1,13 @@
1
1
  import { computed, type Signal, type WritableSignal } from "@angular/core";
2
2
  import "@simplysm/core-common";
3
3
 
4
- export interface ISortingDef {
4
+ export interface SortingDef {
5
5
  key: string;
6
6
  desc: boolean;
7
7
  }
8
8
 
9
9
  export function useSortingManager(options: {
10
- sorts: WritableSignal<ISortingDef[]>;
10
+ sorts: WritableSignal<SortingDef[]>;
11
11
  }): {
12
12
  defMap: Signal<Map<string, { indexText?: string; desc: boolean }>>;
13
13
  toggle(key: string, multiple: boolean): void;
@@ -8,22 +8,22 @@ import {
8
8
  ViewEncapsulation,
9
9
  } from "@angular/core";
10
10
  import type { OnInit } from "@angular/core";
11
- import { SdBusyContainerControl } from "../../ui/overlay/busy/sd-busy-container.control";
12
- import type { ISdModal } from "../../ui/overlay/modal/sd-modal.provider";
11
+ import { SdBusyContainer } from "../../ui/overlay/busy/sd-busy-container";
12
+ import type { SdModalContentDef } from "../../ui/overlay/modal/sd-modal.provider";
13
13
 
14
14
  declare const daum: {
15
15
  postcode: {
16
16
  load(callback: () => void): void;
17
17
  };
18
18
  Postcode: new (options: {
19
- oncomplete: (data: IDaumPostcodeData) => void;
19
+ oncomplete: (data: DaumPostcodeData) => void;
20
20
  onresize: (size: { height: number }) => void;
21
21
  width: string;
22
22
  height: string;
23
23
  }) => { embed(el: HTMLElement, options: { autoClose: boolean }): void };
24
24
  };
25
25
 
26
- interface IDaumPostcodeData {
26
+ interface DaumPostcodeData {
27
27
  zonecode: string;
28
28
  roadAddress: string;
29
29
  jibunAddress: string;
@@ -33,7 +33,7 @@ interface IDaumPostcodeData {
33
33
  apartment: "Y" | "N";
34
34
  }
35
35
 
36
- export interface IAddress {
36
+ export interface Address {
37
37
  postNumber: string | undefined;
38
38
  address: string | undefined;
39
39
  buildingName: string | undefined;
@@ -44,19 +44,19 @@ export interface IAddress {
44
44
  changeDetection: ChangeDetectionStrategy.OnPush,
45
45
  encapsulation: ViewEncapsulation.None,
46
46
  standalone: true,
47
- imports: [SdBusyContainerControl],
47
+ imports: [SdBusyContainer],
48
48
  template: `
49
49
  <sd-busy-container [busy]="!initialized()">
50
50
  <div #content style="min-height: 100px;"></div>
51
51
  </sd-busy-container>
52
52
  `,
53
53
  })
54
- export class SdAddressSearchModal implements ISdModal<IAddress>, OnInit {
54
+ export class SdAddressSearchModal implements SdModalContentDef<Address>, OnInit {
55
55
  contentElRef = viewChild.required<"content", ElementRef<HTMLElement>>("content", {
56
56
  read: ElementRef,
57
57
  });
58
58
 
59
- close = output<IAddress>();
59
+ close = output<Address>();
60
60
 
61
61
  initialized = signal(false);
62
62
 
@@ -86,7 +86,7 @@ export class SdAddressSearchModal implements ISdModal<IAddress>, OnInit {
86
86
  const contentEl = this.contentElRef().nativeElement;
87
87
 
88
88
  new daum.Postcode({
89
- oncomplete: (data: IDaumPostcodeData): void => {
89
+ oncomplete: (data: DaumPostcodeData): void => {
90
90
  const addr = data.userSelectedType === "R" ? data.roadAddress : data.jibunAddress;
91
91
 
92
92
  let extraAddr = "";
@@ -10,17 +10,17 @@ import {
10
10
  TemplateRef,
11
11
  ViewEncapsulation,
12
12
  } from "@angular/core";
13
- import { SdBusyContainerControl } from "../../ui/overlay/busy/sd-busy-container.control";
14
- import { SdTopbarContainerControl } from "../../ui/navigation/topbar/sd-topbar-container.control";
15
- import { SdTopbarControl } from "../../ui/navigation/topbar/sd-topbar.control";
13
+ import { SdBusyContainer } from "../../ui/overlay/busy/sd-busy-container";
14
+ import { SdTopbarContainer } from "../../ui/navigation/topbar/sd-topbar-container";
15
+ import { SdTopbar } from "../../ui/navigation/topbar/sd-topbar";
16
16
  import { SdAppStructureProvider } from "../../core/providers/sd-app-structure.provider";
17
17
  import { SdActivatedModalProvider } from "../../core/providers/sd-activated-modal.provider";
18
- import { useCurrentPageCodeSignal } from "../../core/utils/useCurrentPageCodeSignal";
19
- import { useFullPageCodeSignal } from "../../core/utils/useFullPageCodeSignal";
18
+ import { injectCurrentPageCodeSignal } from "../../core/utils/injectCurrentPageCodeSignal";
19
+ import { injectFullPageCodeSignal } from "../../core/utils/injectFullPageCodeSignal";
20
20
  import {
21
- useViewTypeSignal,
22
- type TSdViewType,
23
- } from "../../core/utils/useViewTypeSignal";
21
+ injectViewTypeSignal,
22
+ type SdViewType,
23
+ } from "../../core/utils/injectViewTypeSignal";
24
24
  import { injectParent } from "../../core/utils/injectParent";
25
25
  import { NgIcon } from "@ng-icons/core";
26
26
  import { tablerAlertTriangle } from "@ng-icons/tabler-icons";
@@ -31,9 +31,9 @@ import { tablerAlertTriangle } from "@ng-icons/tabler-icons";
31
31
  encapsulation: ViewEncapsulation.None,
32
32
  standalone: true,
33
33
  imports: [
34
- SdBusyContainerControl,
35
- SdTopbarContainerControl,
36
- SdTopbarControl,
34
+ SdBusyContainer,
35
+ SdTopbarContainer,
36
+ SdTopbar,
37
37
  NgTemplateOutlet,
38
38
  NgIcon,
39
39
  ],
@@ -78,31 +78,36 @@ import { tablerAlertTriangle } from "@ng-icons/tabler-icons";
78
78
  </sd-busy-container>
79
79
  `,
80
80
  })
81
- export class SdBaseContainerControl {
81
+ export class SdBaseContainer {
82
82
  private readonly _sdActivatedModal = inject(SdActivatedModalProvider, { optional: true });
83
83
  private readonly _sdAppStructure = inject(SdAppStructureProvider);
84
84
 
85
85
  private readonly _parent = injectParent();
86
86
 
87
- private readonly _fullPageCode = useFullPageCodeSignal();
88
- private readonly _currPageCode = useCurrentPageCodeSignal();
87
+ private readonly _fullPageCode = injectFullPageCodeSignal();
88
+ private readonly _currPageCode = injectCurrentPageCodeSignal();
89
89
 
90
90
  contentTplRef = contentChild.required("contentTpl", { read: TemplateRef });
91
91
 
92
92
  pageTopbarTplRef = contentChild("pageTopbarTpl", { read: TemplateRef });
93
93
  modalBottomTplRef = contentChild("modalBottomTpl", { read: TemplateRef });
94
94
 
95
- private readonly _parentViewType = useViewTypeSignal(() => this._parent);
96
- viewType = input<TSdViewType>();
95
+ private readonly _parentViewType = injectViewTypeSignal(() => this._parent);
96
+ viewType = input<SdViewType>();
97
97
  currViewType = computed(() => this.viewType() ?? this._parentViewType());
98
98
 
99
99
  header = input<string>();
100
- modalOrPageTitle = computed(
101
- () =>
102
- this.header() ??
103
- this._sdActivatedModal?.modalComponent()?.title() ??
104
- this._sdAppStructure.getTitleByFullCode(this._currPageCode?.() ?? this._fullPageCode()),
105
- );
100
+ modalOrPageTitle = computed(() => {
101
+ try {
102
+ return (
103
+ this.header() ??
104
+ this._sdActivatedModal?.modalComponent()?.title() ??
105
+ this._sdAppStructure.getTitleByFullCode(this._currPageCode?.() ?? this._fullPageCode())
106
+ );
107
+ } catch {
108
+ return "";
109
+ }
110
+ });
106
111
 
107
112
  initialized = input<boolean | undefined>(undefined);
108
113
  restricted = input(false, { transform: booleanAttribute });
@@ -2,13 +2,13 @@ import { type WritableSignal, inject } from "@angular/core";
2
2
  import { SdToastProvider } from "../../core/providers/sd-toast.provider";
3
3
  import { SdFileDialogProvider } from "../../core/providers/sd-file-dialog.provider";
4
4
  import { withBusy } from "../../core/utils/withBusy";
5
- import type { ISdDataSheetSearchResult } from "./sd-data-sheet.types";
5
+ import type { SdDataSheetSearchResult } from "./sd-data-sheet.types";
6
6
 
7
- export function useDataSheetExcelManager<TItem>(options: {
7
+ export function injectDataSheetExcelManager<TItem>(options: {
8
8
  busyCount: WritableSignal<number>;
9
9
  search: (
10
10
  usePagination: boolean,
11
- ) => Promise<ISdDataSheetSearchResult<TItem>> | ISdDataSheetSearchResult<TItem>;
11
+ ) => Promise<SdDataSheetSearchResult<TItem>> | SdDataSheetSearchResult<TItem>;
12
12
  refresh: () => Promise<void>;
13
13
  getDownloadExcelFn: () =>
14
14
  | ((items: TItem[]) => Promise<void> | void)
@@ -7,14 +7,14 @@ import type { ArrayOneWayDiffResult } from "@simplysm/core-common";
7
7
  import { mark } from "../../core/utils/mark";
8
8
  import { SdToastProvider } from "../../core/providers/sd-toast.provider";
9
9
  import { withBusy } from "../../core/utils/withBusy";
10
- import type { ISdDataSheetItemPropInfo } from "./sd-data-sheet.types";
10
+ import type { SdDataSheetItemPropInfo } from "./sd-data-sheet.types";
11
11
 
12
- export function useDataSheetInlineEditManager<TItem, TKey>(options: {
12
+ export function injectDataSheetInlineEditManager<TItem, TKey>(options: {
13
13
  busyCount: WritableSignal<number>;
14
14
  canEdit: () => boolean;
15
15
  items: WritableSignal<TItem[]>;
16
16
  submitted: OutputEmitterRef<boolean>;
17
- itemPropInfo: () => ISdDataSheetItemPropInfo<TItem>;
17
+ itemPropInfo: () => SdDataSheetItemPropInfo<TItem>;
18
18
  getItemInfoFn: (item: TItem) => { key: TKey };
19
19
  getDiffs: () => ArrayOneWayDiffResult<TItem>[];
20
20
  refresh: () => Promise<void>;
@@ -6,14 +6,14 @@ import {
6
6
  } from "@angular/core";
7
7
  import { SdToastProvider } from "../../core/providers/sd-toast.provider";
8
8
  import { withBusy } from "../../core/utils/withBusy";
9
- import type { ISelectModalOutputResult } from "../../core/types/select-modal-output-result";
9
+ import type { SelectModalOutputResult } from "../../core/types/select-modal-output-result";
10
10
 
11
- export function useDataSheetModalEditManager<TItem, TKey>(options: {
11
+ export function injectDataSheetModalEditManager<TItem, TKey>(options: {
12
12
  busyCount: WritableSignal<number>;
13
13
  canEdit: () => boolean;
14
14
  selectedItemKeys: Signal<TKey[]>;
15
15
  selectedItems: Signal<TItem[]>;
16
- close: OutputEmitterRef<ISelectModalOutputResult<TItem>>;
16
+ close: OutputEmitterRef<SelectModalOutputResult<TItem>>;
17
17
  refresh: () => Promise<void>;
18
18
  getEditItemFn: () =>
19
19
  | ((item?: TItem) => Promise<boolean | undefined> | boolean | undefined)
@@ -3,9 +3,9 @@ import { type ArrayOneWayDiffResult, obj } from "@simplysm/core-common";
3
3
  import { SdToastProvider } from "../../core/providers/sd-toast.provider";
4
4
  import { SdSharedDataProvider } from "../../core/providers/sd-shared-data.provider";
5
5
  import { withBusy } from "../../core/utils/withBusy";
6
- import type { ISdDataSheetSearchResult } from "./sd-data-sheet.types";
6
+ import type { SdDataSheetSearchResult } from "./sd-data-sheet.types";
7
7
 
8
- export function useDataSheetRefreshManager<
8
+ export function injectDataSheetRefreshManager<
9
9
  TItem,
10
10
  TKey extends string | number | undefined,
11
11
  >(options: {
@@ -22,7 +22,7 @@ export function useDataSheetRefreshManager<
22
22
  getItemInfoFn: (item: TItem) => { key: TKey };
23
23
  search: (
24
24
  usePagination: boolean,
25
- ) => Promise<ISdDataSheetSearchResult<TItem>> | ISdDataSheetSearchResult<TItem>;
25
+ ) => Promise<SdDataSheetSearchResult<TItem>> | SdDataSheetSearchResult<TItem>;
26
26
  prepareRefreshEffect?: () => void;
27
27
  getDiffsExcludes: () => string[] | undefined;
28
28
  }) {
@@ -0,0 +1,183 @@
1
+ import {
2
+ Directive,
3
+ effect,
4
+ inject,
5
+ output,
6
+ signal,
7
+ type Signal,
8
+ TemplateRef,
9
+ } from "@angular/core";
10
+ import { DateTime, obj } from "@simplysm/core-common";
11
+ import { TXT_CHANGE_IGNORE_CONFIRM } from "../../core/commons";
12
+ import { SdSharedDataProvider } from "../../core/providers/sd-shared-data.provider";
13
+ import { setupCanDeactivate } from "../../core/utils/setups/setupCanDeactivate";
14
+ import { injectViewTypeSignal } from "../../core/utils/injectViewTypeSignal";
15
+ import { withBusy } from "../../core/utils/withBusy";
16
+ import { type SdModalContentDef } from "../../ui/overlay/modal/sd-modal.provider";
17
+ import { SdToastProvider } from "../../core/providers/sd-toast.provider";
18
+
19
+ export interface SdDataDetailDataInfo {
20
+ isNew: boolean;
21
+ isDeleted: boolean;
22
+ lastModifiedAt: DateTime | undefined;
23
+ lastModifiedBy: string | undefined;
24
+ }
25
+
26
+ @Directive()
27
+ export abstract class SdDataDetailBase<T extends object, R = boolean>
28
+ implements SdModalContentDef<R>
29
+ {
30
+ //-- abstract
31
+
32
+ abstract canUse: Signal<boolean>;
33
+ abstract canEdit: Signal<boolean>;
34
+ canDelete?: Signal<boolean>;
35
+
36
+ prepareRefreshEffect?(): void;
37
+
38
+ abstract load():
39
+ | Promise<{ data: T; info: SdDataDetailDataInfo }>
40
+ | { data: T; info: SdDataDetailDataInfo };
41
+
42
+ toggleDelete?(del: boolean): Promise<R | undefined> | R | undefined;
43
+
44
+ submit?(data: T): Promise<R | undefined> | R | undefined;
45
+
46
+ //-- implement
47
+
48
+ private readonly _sdToast = inject(SdToastProvider);
49
+ private readonly _sdSharedData = inject(SdSharedDataProvider);
50
+
51
+ viewType = injectViewTypeSignal(() => this);
52
+
53
+ busyCount = signal(0);
54
+ busyMessage = signal<string | undefined>(undefined);
55
+ initialized = signal(false);
56
+ close = output<R>();
57
+ actionTplRef?: TemplateRef<any>;
58
+
59
+ data = signal<T>({} as T);
60
+
61
+ dataInfo = signal<SdDataDetailDataInfo | undefined>(undefined);
62
+
63
+ private _dataSnapshot?: T;
64
+
65
+ constructor() {
66
+ effect(() => {
67
+ this.prepareRefreshEffect?.();
68
+
69
+ queueMicrotask(async () => {
70
+ if (!this.canUse()) {
71
+ this.initialized.set(true);
72
+ return;
73
+ }
74
+
75
+ await withBusy(this.busyCount, () =>
76
+ this._sdToast.try(async () => {
77
+ await this._sdSharedData.wait();
78
+ await this.refresh();
79
+ }),
80
+ );
81
+ this.initialized.set(true);
82
+ });
83
+ });
84
+
85
+ setupCanDeactivate(() => this.viewType() === "modal" || this.checkIgnoreChanges());
86
+ }
87
+
88
+ checkIgnoreChanges() {
89
+ return (
90
+ this._dataSnapshot == null ||
91
+ obj.equal(this.data(), this._dataSnapshot) ||
92
+ confirm(TXT_CHANGE_IGNORE_CONFIRM)
93
+ );
94
+ }
95
+
96
+ async doRefresh() {
97
+ if (this.busyCount() > 0) return;
98
+ if (!this.canUse()) return;
99
+ if (!this.checkIgnoreChanges()) return;
100
+
101
+ await withBusy(this.busyCount, () =>
102
+ this._sdToast.try(async () => {
103
+ await this.refresh();
104
+ }),
105
+ );
106
+ }
107
+
108
+ async refresh() {
109
+ const result = await this.load();
110
+ this.data.set(result.data);
111
+ this.dataInfo.set(result.info);
112
+ if (!result.info.isNew) {
113
+ this._dataSnapshot = obj.clone(result.data);
114
+ }
115
+ }
116
+
117
+ async doToggleDelete(del: boolean) {
118
+ if (this.busyCount() > 0) return;
119
+ if (!this.canEdit()) return;
120
+ if (this.canDelete && !this.canDelete()) return;
121
+ if (!this.toggleDelete) return;
122
+
123
+ await withBusy(this.busyCount, () =>
124
+ this._sdToast.try(
125
+ async () => {
126
+ const result = await this.toggleDelete!(del);
127
+ if (!result) return;
128
+
129
+ this._sdToast.success(`${del ? "삭제" : "복구"}되었습니다.`);
130
+
131
+ this.close.emit(result);
132
+ },
133
+ (err) => this._getOrmDataEditToastErrorMessage(err),
134
+ ),
135
+ );
136
+ }
137
+
138
+ async doSubmit(opt?: { permCheck?: boolean; hideNoChangeMessage?: boolean }) {
139
+ if (this.busyCount() > 0) return;
140
+ if (opt?.permCheck && !this.canEdit()) return;
141
+ if (!this.submit) return;
142
+
143
+ const dataInfo = this.dataInfo();
144
+ if (dataInfo == null) return;
145
+
146
+ if (
147
+ !dataInfo.isNew &&
148
+ (this._dataSnapshot == null || obj.equal(this.data(), this._dataSnapshot))
149
+ ) {
150
+ if (!opt?.hideNoChangeMessage) {
151
+ this._sdToast.info("변경사항이 없습니다.");
152
+ }
153
+ return;
154
+ }
155
+
156
+ await withBusy(this.busyCount, () =>
157
+ this._sdToast.try(
158
+ async () => {
159
+ const result = await this.submit!(this.data());
160
+ if (!result) return;
161
+
162
+ this._sdToast.success("저장되었습니다.");
163
+
164
+ this.close.emit(result);
165
+
166
+ await this.refresh();
167
+ },
168
+ (err) => this._getOrmDataEditToastErrorMessage(err),
169
+ ),
170
+ );
171
+ }
172
+
173
+ private _getOrmDataEditToastErrorMessage(err: unknown) {
174
+ const message = err instanceof Error ? err.message : String(err);
175
+ if (
176
+ message.includes("a parent row: a foreign key constraint") ||
177
+ message.includes("conflicted with the REFERENCE")
178
+ ) {
179
+ return "경고! 연결된 작업에 의한 처리 거부. 후속작업 확인 요망";
180
+ }
181
+ return message;
182
+ }
183
+ }