@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,9 +1,12 @@
1
- import { computed, inject, Injectable } from "@angular/core";
1
+ import { computed, inject, Injectable, signal } from "@angular/core";
2
2
  import type { Signal } from "@angular/core";
3
- import type { TSdAppStructureItem, ISdFlatMenu } from "./sd-app-structure.types";
3
+ import type { AppStructureService } from "@simplysm/service-common";
4
+ import type { AppStructureItem, SdFlatMenu } from "./sd-app-structure.types";
4
5
  import { SdAppStructureUtils } from "./sd-app-structure.utils";
6
+ import { SdServiceClientFactoryProvider } from "./sd-service-client-factory.provider";
7
+ import { SdAngularConfigProvider } from "./sd-angular-config.provider";
5
8
 
6
- export function usePermsSignal<K extends string>(viewCodes: string[], keys: K[]): Signal<K[]> {
9
+ export function injectPermsSignal<K extends string>(viewCodes: string[], keys: K[]): Signal<K[]> {
7
10
  const sdAppStructure = inject(SdAppStructureProvider);
8
11
  return computed(() => sdAppStructure.getPermsByFullCode(viewCodes, keys));
9
12
  }
@@ -12,32 +15,46 @@ export function usePermsSignal<K extends string>(viewCodes: string[], keys: K[])
12
15
  // 메뉴는 모듈/권한 모두 체크함
13
16
  @Injectable({ providedIn: "root" })
14
17
  export abstract class SdAppStructureProvider<TModule = unknown> {
15
- abstract items: TSdAppStructureItem<TModule>[];
18
+ private readonly _clientFactory = inject(SdServiceClientFactoryProvider);
19
+ private readonly _config = inject(SdAngularConfigProvider);
20
+
21
+ abstract serviceKey: string;
16
22
  abstract usableModules: Signal<TModule[] | undefined>;
17
23
  abstract permRecord: Signal<Record<string, boolean> | undefined>;
18
24
 
25
+ readonly items = signal<AppStructureItem<TModule>[]>([]);
26
+
27
+ async fetchItems(): Promise<void> {
28
+ const client = this._clientFactory.get(this.serviceKey);
29
+ const svc = client.getService<AppStructureService>("AppStructure");
30
+ const itemsMap = await svc.getItems();
31
+ this.items.set(
32
+ (itemsMap[this._config.clientName] ?? []) as AppStructureItem<TModule>[],
33
+ );
34
+ }
35
+
19
36
  usableMenus = computed(() =>
20
- SdAppStructureUtils.getMenus(this.items, [], this.usableModules(), this.permRecord()),
37
+ SdAppStructureUtils.getMenus(this.items(), [], this.usableModules(), this.permRecord()),
21
38
  );
22
- usableFlatMenus = computed<ISdFlatMenu<TModule>[]>(() =>
23
- SdAppStructureUtils.getFlatMenus(this.items, this.usableModules(), this.permRecord()),
39
+ usableFlatMenus = computed<SdFlatMenu<TModule>[]>(() =>
40
+ SdAppStructureUtils.getFlatMenus(this.items(), this.usableModules(), this.permRecord()),
24
41
  );
25
42
 
26
- getPermissionsByStructure(items: TSdAppStructureItem<TModule>[], codeChain: string[] = []) {
43
+ getPermissionsByStructure(items: AppStructureItem<TModule>[], codeChain: string[] = []) {
27
44
  return SdAppStructureUtils.getPermissions(items, codeChain, this.usableModules());
28
45
  }
29
46
 
30
47
  getTitleByFullCode(fullCode: string) {
31
- return SdAppStructureUtils.getTitleByFullCode(this.items, fullCode);
48
+ return SdAppStructureUtils.getTitleByFullCode(this.items(), fullCode);
32
49
  }
33
50
 
34
51
  getItemChainByFullCode(fullCode: string) {
35
- return SdAppStructureUtils.getItemChainByFullCode(this.items, fullCode);
52
+ return SdAppStructureUtils.getItemChainByFullCode(this.items(), fullCode);
36
53
  }
37
54
 
38
55
  getPermsByFullCode<K extends string>(fullCodes: string[], permKeys: K[]): K[] {
39
56
  return SdAppStructureUtils.getPermsByFullCode(
40
- this.items,
57
+ this.items(),
41
58
  fullCodes,
42
59
  permKeys,
43
60
  this.permRecord(),
@@ -1,60 +1,29 @@
1
- export type TSdAppStructureItem<TModule = unknown> =
2
- | ISdAppStructureGroupItem<TModule>
3
- | ISdAppStructureLeafItem<TModule>;
1
+ export type {
2
+ AppStructureItem,
3
+ AppStructureGroupItem,
4
+ AppStructureLeafItem,
5
+ AppStructureSubPermission,
6
+ FlatPermission,
7
+ } from "@simplysm/service-common";
4
8
 
5
- export interface ISdAppStructureGroupItem<TModule> {
6
- code: string;
7
- title: string;
8
- modules?: TModule[];
9
- requiredModules?: TModule[];
10
- icon?: string;
11
- children: TSdAppStructureItem<TModule>[];
12
- }
13
-
14
- export interface ISdAppStructureLeafItem<TModule> {
15
- code: string;
16
- title: string;
17
- modules?: TModule[];
18
- requiredModules?: TModule[];
19
- perms?: ("use" | "edit")[];
20
- subPerms?: ISdAppStructureSubPermission<TModule>[];
21
- icon?: string;
22
- url?: string;
23
- isNotMenu?: boolean;
24
- }
25
-
26
- export interface ISdAppStructureSubPermission<TModule> {
27
- code: string;
28
- title: string;
29
- modules?: TModule[];
30
- requiredModules?: TModule[];
31
- perms: ("use" | "edit")[];
32
- }
33
-
34
- export interface ISdMenu {
9
+ export interface SdMenu {
35
10
  title: string;
36
11
  codeChain: string[];
37
12
  url?: string;
38
13
  icon?: string;
39
- children?: ISdMenu[];
14
+ children?: SdMenu[];
40
15
  }
41
16
 
42
- export interface ISdFlatMenu<TModule = unknown> {
17
+ export interface SdFlatMenu<TModule = unknown> {
43
18
  titleChain: string[];
44
19
  codeChain: string[];
45
20
  modulesChain: TModule[][];
46
21
  }
47
22
 
48
- export interface ISdPermission<TModule = unknown> {
23
+ export interface SdPermission<TModule = unknown> {
49
24
  title: string;
50
25
  codeChain: string[];
51
26
  modules: TModule[] | undefined;
52
27
  perms: ("use" | "edit")[] | undefined;
53
- children: ISdPermission<TModule>[] | undefined;
54
- }
55
-
56
- export interface ISdFlatPermission<TModule = unknown> {
57
- titleChain: string[];
58
- codeChain: string[];
59
- modulesChain: TModule[][];
28
+ children: SdPermission<TModule>[] | undefined;
60
29
  }
@@ -1,15 +1,19 @@
1
+ import {
2
+ getFlatPermissions,
3
+ isUsableModules,
4
+ isUsableModulesChain,
5
+ } from "@simplysm/service-common";
1
6
  import type {
2
- TSdAppStructureItem,
3
- ISdMenu,
4
- ISdFlatMenu,
5
- ISdPermission,
6
- ISdFlatPermission,
7
+ AppStructureItem,
8
+ SdMenu,
9
+ SdFlatMenu,
10
+ SdPermission,
7
11
  } from "./sd-app-structure.types";
8
12
 
9
13
  export abstract class SdAppStructureUtils {
10
14
  //---------- Info
11
15
 
12
- static getTitleByFullCode<TModule>(items: TSdAppStructureItem<TModule>[], fullCode: string) {
16
+ static getTitleByFullCode<TModule>(items: AppStructureItem<TModule>[], fullCode: string) {
13
17
  const itemChain = this.getItemChainByFullCode(items, fullCode);
14
18
  if (itemChain.length === 0) {
15
19
  throw new Error(`Item not found for fullCode: ${fullCode}`);
@@ -23,7 +27,7 @@ export abstract class SdAppStructureUtils {
23
27
  }
24
28
 
25
29
  static getPermsByFullCode<TModule, K extends string>(
26
- items: TSdAppStructureItem<TModule>[],
30
+ items: AppStructureItem<TModule>[],
27
31
  fullCodes: string[],
28
32
  permKeys: K[],
29
33
  permRecord: Record<string, boolean> | undefined,
@@ -51,12 +55,12 @@ export abstract class SdAppStructureUtils {
51
55
  }
52
56
 
53
57
  static getItemChainByFullCode<TModule>(
54
- items: TSdAppStructureItem<TModule>[],
58
+ items: AppStructureItem<TModule>[],
55
59
  fullCode: string,
56
- ): TSdAppStructureItem<TModule>[] {
60
+ ): AppStructureItem<TModule>[] {
57
61
  const codeChain = fullCode.split(".");
58
62
 
59
- const result: TSdAppStructureItem<TModule>[] = [];
63
+ const result: AppStructureItem<TModule>[] = [];
60
64
 
61
65
  let cursorChildren = items;
62
66
  for (const currCode of codeChain) {
@@ -72,12 +76,12 @@ export abstract class SdAppStructureUtils {
72
76
  //---------- Menus
73
77
 
74
78
  static getMenus<TModule>(
75
- items: TSdAppStructureItem<TModule>[],
79
+ items: AppStructureItem<TModule>[],
76
80
  codeChain: string[],
77
81
  usableModules: TModule[] | undefined,
78
82
  permRecord: Record<string, boolean> | undefined,
79
- ): ISdMenu[] {
80
- const resultMenus: ISdMenu[] = [];
83
+ ): SdMenu[] {
84
+ const resultMenus: SdMenu[] = [];
81
85
 
82
86
  for (const item of items) {
83
87
  if ("isNotMenu" in item && item.isNotMenu) continue;
@@ -85,7 +89,7 @@ export abstract class SdAppStructureUtils {
85
89
  const currCodeChain = [...codeChain, item.code];
86
90
 
87
91
  // 모듈 활성화 여부 확인
88
- if (!this._isUsableModules(item.modules, item.requiredModules, usableModules)) continue;
92
+ if (!isUsableModules(item.modules, item.requiredModules, usableModules)) continue;
89
93
 
90
94
  // 그룹 메뉴
91
95
  if ("children" in item) {
@@ -120,14 +124,14 @@ export abstract class SdAppStructureUtils {
120
124
  }
121
125
 
122
126
  static getFlatMenus<TModule>(
123
- items: TSdAppStructureItem<TModule>[],
127
+ items: AppStructureItem<TModule>[],
124
128
  usableModules: TModule[] | undefined,
125
129
  permRecord: Record<string, boolean> | undefined,
126
- ): ISdFlatMenu<TModule>[] {
127
- const resultFlatMenus: ISdFlatMenu<TModule>[] = [];
130
+ ): SdFlatMenu<TModule>[] {
131
+ const resultFlatMenus: SdFlatMenu<TModule>[] = [];
128
132
 
129
133
  type QueueItem = {
130
- item: TSdAppStructureItem<TModule>;
134
+ item: AppStructureItem<TModule>;
131
135
  titleChain: string[];
132
136
  codeChain: string[];
133
137
  modulesChain: TModule[][];
@@ -154,7 +158,7 @@ export abstract class SdAppStructureUtils {
154
158
  ? [...requiredModulesChain, item.requiredModules]
155
159
  : requiredModulesChain;
156
160
 
157
- if (!this._isUsableModulesChain(currModulesChain, currRequiredModulesChain, usableModules))
161
+ if (!isUsableModulesChain(currModulesChain, currRequiredModulesChain, usableModules))
158
162
  continue;
159
163
 
160
164
  if ("children" in item) {
@@ -182,16 +186,16 @@ export abstract class SdAppStructureUtils {
182
186
  //---------- Perms
183
187
 
184
188
  static getPermissions<TModule>(
185
- items: TSdAppStructureItem<TModule>[],
189
+ items: AppStructureItem<TModule>[],
186
190
  codeChain: string[],
187
191
  usableModules: TModule[] | undefined,
188
- ): ISdPermission<TModule>[] {
189
- const results: ISdPermission<TModule>[] = [];
192
+ ): SdPermission<TModule>[] {
193
+ const results: SdPermission<TModule>[] = [];
190
194
  for (const item of items) {
191
195
  const currCodeChain = [...codeChain, item.code];
192
196
 
193
197
  // 모듈 활성화 여부 확인
194
- if (!this._isUsableModules(item.modules, item.requiredModules, usableModules)) continue;
198
+ if (!isUsableModules(item.modules, item.requiredModules, usableModules)) continue;
195
199
 
196
200
  // 그룹
197
201
  if ("children" in item) {
@@ -227,124 +231,9 @@ export abstract class SdAppStructureUtils {
227
231
  }
228
232
 
229
233
  static getFlatPermissions<TModule>(
230
- items: TSdAppStructureItem<TModule>[],
234
+ items: AppStructureItem<TModule>[],
231
235
  usableModules: TModule[] | undefined,
232
236
  ) {
233
- const results: ISdFlatPermission<TModule>[] = [];
234
-
235
- type QueueItem = {
236
- item: TSdAppStructureItem<TModule>;
237
- titleChain: string[];
238
- codeChain: string[];
239
- modulesChain: TModule[][];
240
- requiredModulesChain: TModule[][];
241
- };
242
-
243
- const queue: QueueItem[] = items.map((item) => ({
244
- item,
245
- titleChain: [],
246
- codeChain: [],
247
- modulesChain: [],
248
- requiredModulesChain: [],
249
- }));
250
-
251
- while (queue.length > 0) {
252
- const { item, titleChain, codeChain, modulesChain, requiredModulesChain } = queue.shift()!;
253
-
254
- const currTitleChain = [...titleChain, item.title];
255
- const currCodeChain = [...codeChain, item.code];
256
- const currModulesChain = item.modules ? [...modulesChain, item.modules] : modulesChain;
257
- const currRequiredModulesChain = item.requiredModules
258
- ? [...requiredModulesChain, item.requiredModules]
259
- : requiredModulesChain;
260
-
261
- if (!this._isUsableModulesChain(currModulesChain, currRequiredModulesChain, usableModules))
262
- continue;
263
-
264
- // 1. 자식 enqueue
265
- if ("children" in item) {
266
- for (const child of item.children) {
267
- queue.push({
268
- item: child,
269
- titleChain: currTitleChain,
270
- codeChain: currCodeChain,
271
- modulesChain: currModulesChain,
272
- requiredModulesChain: currRequiredModulesChain,
273
- });
274
- }
275
- }
276
-
277
- // 1. 직접 perms 처리
278
- if ("perms" in item) {
279
- for (const perm of item.perms ?? []) {
280
- results.push({
281
- titleChain: currTitleChain,
282
- codeChain: [...currCodeChain, perm],
283
- modulesChain: currModulesChain,
284
- });
285
- }
286
- }
287
-
288
- // 2. subPerms 처리
289
- if ("subPerms" in item) {
290
- for (const subPerm of item.subPerms ?? []) {
291
- // subPerm도 모듈 체크
292
- if (!this._isUsableModules(subPerm.modules, subPerm.requiredModules, usableModules))
293
- continue;
294
-
295
- for (const perm of subPerm.perms) {
296
- results.push({
297
- titleChain: currTitleChain,
298
- codeChain: [...currCodeChain, subPerm.code, perm],
299
- modulesChain: [...currModulesChain, subPerm.modules ?? []],
300
- });
301
- }
302
- }
303
- }
304
- }
305
-
306
- return results;
307
- }
308
-
309
- //-- Modules (private)
310
-
311
- private static _isUsableModulesChain<TModule>(
312
- modulesChain: TModule[][],
313
- requiredModulesChain: TModule[][],
314
- usableModules: TModule[] | undefined,
315
- ) {
316
- // 각 레벨의 modules (OR) 체크
317
- for (const modules of modulesChain) {
318
- if (!this._isUsableModules(modules, undefined, usableModules)) {
319
- return false;
320
- }
321
- }
322
-
323
- // 각 레벨의 requiredModules (AND) 체크
324
- for (const requiredModules of requiredModulesChain) {
325
- if (!this._isUsableModules(undefined, requiredModules, usableModules)) {
326
- return false;
327
- }
328
- }
329
-
330
- return true;
331
- }
332
-
333
- private static _isUsableModules<TModule>(
334
- modules: TModule[] | undefined,
335
- requiredModules: TModule[] | undefined,
336
- usableModules: TModule[] | undefined,
337
- ): boolean {
338
- // 1. requiredModules: 모두 있어야 함 (AND)
339
- if (requiredModules && requiredModules.length > 0) {
340
- if (!requiredModules.every((m) => usableModules?.includes(m))) {
341
- return false;
342
- }
343
- }
344
-
345
- // 2. modules: 하나라도 있으면 됨 (OR)
346
- return (
347
- modules == null || modules.length === 0 || modules.some((m) => usableModules?.includes(m))
348
- );
237
+ return getFlatPermissions(items, usableModules);
349
238
  }
350
239
  }
@@ -8,23 +8,23 @@ import {
8
8
  signal,
9
9
  type ComponentRef,
10
10
  } from "@angular/core";
11
- import { SdBusyContainerControl } from "../../ui/overlay/busy/sd-busy-container.control";
11
+ import { SdBusyContainer } from "../../ui/overlay/busy/sd-busy-container";
12
12
 
13
- export type TSdBusyType = "spinner" | "bar" | "cube";
13
+ export type SdBusyType = "spinner" | "bar" | "cube";
14
14
 
15
15
  @Injectable({ providedIn: "root" })
16
16
  export class SdBusyProvider {
17
17
  private readonly _appRef = inject(ApplicationRef);
18
18
  private readonly _envInjector = inject(EnvironmentInjector);
19
19
 
20
- type = signal<TSdBusyType>("bar");
20
+ type = signal<SdBusyType>("bar");
21
21
  globalBusyCount = signal(0);
22
22
 
23
- private _containerRef: ComponentRef<SdBusyContainerControl> | undefined;
23
+ private _containerRef: ComponentRef<SdBusyContainer> | undefined;
24
24
 
25
- get containerRef(): ComponentRef<SdBusyContainerControl> {
25
+ get containerRef(): ComponentRef<SdBusyContainer> {
26
26
  if (this._containerRef === undefined) {
27
- this._containerRef = createComponent(SdBusyContainerControl, {
27
+ this._containerRef = createComponent(SdBusyContainer, {
28
28
  environmentInjector: this._envInjector,
29
29
  });
30
30
  this._appRef.attachView(this._containerRef.hostView);
@@ -7,26 +7,26 @@ import {
7
7
  type Signal,
8
8
  type Type,
9
9
  } from "@angular/core";
10
- import type { TDirectiveInputSignals, TWithOptional } from "../utils/TDirectiveInputSignals";
10
+ import type { DirectiveInputSignals, WithOptional } from "../utils/directive-input-signals";
11
11
  import { SdBusyProvider } from "./sd-busy.provider";
12
12
  import { wait } from "@simplysm/core-common";
13
13
  import { jsPDF } from "jspdf";
14
14
  import * as htmlToImage from "html-to-image";
15
15
 
16
- export interface ISdPrint {
16
+ export interface SdPrint {
17
17
  initialized: Signal<boolean>;
18
18
  readonly _optionalPrintInputs?: string;
19
19
  }
20
20
 
21
- type TSdPrintOptionalKeys<T> = T extends { _optionalPrintInputs?: infer K extends string }
21
+ type SdPrintOptionalKeys<T> = T extends { _optionalPrintInputs?: infer K extends string }
22
22
  ? K
23
23
  : never;
24
24
 
25
- export interface ISdPrintInput<T, X extends keyof any = ""> {
25
+ export interface SdPrintInput<T, X extends keyof any = ""> {
26
26
  type: Type<T>;
27
- inputs: TWithOptional<
28
- Omit<TDirectiveInputSignals<T>, "_optionalPrintInputs" | X>,
29
- TSdPrintOptionalKeys<T> & keyof Omit<TDirectiveInputSignals<T>, "_optionalPrintInputs" | X>
27
+ inputs: WithOptional<
28
+ Omit<DirectiveInputSignals<T>, "_optionalPrintInputs" | X>,
29
+ SdPrintOptionalKeys<T> & keyof Omit<DirectiveInputSignals<T>, "_optionalPrintInputs" | X>
30
30
  >;
31
31
  }
32
32
 
@@ -35,8 +35,8 @@ export class SdPrintProvider {
35
35
  private readonly _appRef = inject(ApplicationRef);
36
36
  private readonly _sdBusy = inject(SdBusyProvider);
37
37
 
38
- async printAsync<T extends ISdPrint>(
39
- template: ISdPrintInput<T>,
38
+ async printAsync<T extends SdPrint>(
39
+ template: SdPrintInput<T>,
40
40
  options?: {
41
41
  size?: string;
42
42
  margin?: string;
@@ -90,8 +90,8 @@ export class SdPrintProvider {
90
90
  }
91
91
  }
92
92
 
93
- async getPdfBufferAsync<T extends ISdPrint>(
94
- template: ISdPrintInput<T>,
93
+ async getPdfBufferAsync<T extends SdPrint>(
94
+ template: SdPrintInput<T>,
95
95
  options?: {
96
96
  orientation?: "portrait" | "landscape";
97
97
  pageSize?: string;
@@ -4,21 +4,21 @@ import { obj, wait as waitUtil } from "@simplysm/core-common";
4
4
  import { SdServiceClientFactoryProvider } from "./sd-service-client-factory.provider";
5
5
  import "@simplysm/core-common";
6
6
 
7
- export interface ISharedDataBase<TKey extends string | number> {
7
+ export interface SharedDataBase<TKey extends string | number> {
8
8
  __valueKey: TKey;
9
9
  __searchText: string;
10
10
  __isHidden: boolean;
11
11
  __parentKey?: TKey;
12
12
  }
13
13
 
14
- export interface ISharedDataInfo<T extends ISharedDataBase<string | number>> {
14
+ export interface SharedDataInfo<T extends SharedDataBase<string | number>> {
15
15
  serviceKey: string;
16
16
  getter: (changeKeys?: (string | number)[]) => Promise<T[]>;
17
17
  filter?: unknown;
18
18
  orderBy?: (a: T, b: T) => number;
19
19
  }
20
20
 
21
- export interface SharedDataHandle<T extends ISharedDataBase<string | number>> {
21
+ export interface SharedDataHandle<T extends SharedDataBase<string | number>> {
22
22
  items: Signal<T[]>;
23
23
  get(key: T["__valueKey"] | undefined): T | undefined;
24
24
  }
@@ -28,8 +28,8 @@ export const SdSharedDataChangeEvent = defineEvent<
28
28
  (string | number)[] | undefined
29
29
  >("SdSharedDataChange");
30
30
 
31
- interface ISharedDataEntry<T extends ISharedDataBase<string | number>> {
32
- info: ISharedDataInfo<T>;
31
+ interface SharedDataEntry<T extends SharedDataBase<string | number>> {
32
+ info: SharedDataInfo<T>;
33
33
  itemsSignal: WritableSignal<T[]>;
34
34
  handle: SharedDataHandle<T>;
35
35
  listenerKey?: string;
@@ -38,17 +38,17 @@ interface ISharedDataEntry<T extends ISharedDataBase<string | number>> {
38
38
  }
39
39
 
40
40
  @Injectable()
41
- export abstract class SdSharedDataProvider<T extends Record<string, ISharedDataBase<string | number>>> {
41
+ export abstract class SdSharedDataProvider<T extends Record<string, SharedDataBase<string | number>>> {
42
42
  private readonly _clientFactory = inject(SdServiceClientFactoryProvider);
43
43
  private readonly _errorHandler = inject(ErrorHandler);
44
44
 
45
45
  readonly loadingCount: WritableSignal<number> = signal(0);
46
46
 
47
- private readonly _entries = new Map<string, ISharedDataEntry<any>>();
47
+ private readonly _entries = new Map<string, SharedDataEntry<any>>();
48
48
 
49
49
  abstract initialize(): void;
50
50
 
51
- register<K extends string & keyof T>(name: K, info: ISharedDataInfo<T[K]>): void {
51
+ register<K extends string & keyof T>(name: K, info: SharedDataInfo<T[K]>): void {
52
52
  const existing = this._entries.get(name as string);
53
53
  if (existing != null) {
54
54
  // 기존 리스너 키 초기화
@@ -118,7 +118,7 @@ export abstract class SdSharedDataProvider<T extends Record<string, ISharedDataB
118
118
  await waitUtil.until(() => this.loadingCount() <= 0);
119
119
  }
120
120
 
121
- private _loadAndListen(name: string, entry: ISharedDataEntry<any>): void {
121
+ private _loadAndListen(name: string, entry: SharedDataEntry<any>): void {
122
122
  entry.isLoading = true;
123
123
  this.loadingCount.update((v) => v + 1);
124
124
 
@@ -155,7 +155,7 @@ export abstract class SdSharedDataProvider<T extends Record<string, ISharedDataB
155
155
 
156
156
  private async _onEvent(
157
157
  name: string,
158
- entry: ISharedDataEntry<any>,
158
+ entry: SharedDataEntry<any>,
159
159
  changeKeys: (string | number)[] | undefined,
160
160
  ): Promise<void> {
161
161
  this.loadingCount.update((v) => v + 1);
@@ -13,22 +13,22 @@ import {
13
13
  type WritableSignal,
14
14
  } from "@angular/core";
15
15
  import { outputToObservable } from "@angular/core/rxjs-interop";
16
- import type { TDirectiveInputSignals } from "../utils/TDirectiveInputSignals";
17
- import { SdToastControl } from "../../ui/overlay/toast/sd-toast.control";
18
- import { SdToastContainerControl } from "../../ui/overlay/toast/sd-toast-container.control";
16
+ import type { DirectiveInputSignals } from "../utils/directive-input-signals";
17
+ import { SdToast } from "../../ui/overlay/toast/sd-toast";
18
+ import { SdToastContainer } from "../../ui/overlay/toast/sd-toast-container";
19
19
  import { SdSystemLogProvider } from "./sd-system-log.provider";
20
20
  import "@simplysm/core-browser";
21
21
 
22
- export type TSdToastSeverity = "info" | "success" | "warning" | "danger";
23
- export type TSdToastTheme = "primary" | "secondary" | TSdToastSeverity | "gray" | "blue-gray";
22
+ export type SdToastSeverity = "info" | "success" | "warning" | "danger";
23
+ export type SdToastTheme = "primary" | "secondary" | SdToastSeverity | "gray" | "blue-gray";
24
24
 
25
- export interface ISdToast<O> {
25
+ export interface SdToastContentDef<O> {
26
26
  close: OutputEmitterRef<O | undefined>;
27
27
  }
28
28
 
29
- export interface ISdToastInput<T extends ISdToast<any>> {
29
+ export interface SdToastInput<T extends SdToastContentDef<any>> {
30
30
  type: Type<T>;
31
- inputs: Omit<TDirectiveInputSignals<T>, "close">;
31
+ inputs: Omit<DirectiveInputSignals<T>, "close">;
32
32
  }
33
33
 
34
34
  @Injectable({ providedIn: "root" })
@@ -38,13 +38,13 @@ export class SdToastProvider {
38
38
  private readonly _injector = inject(Injector);
39
39
  private readonly _systemLog = inject(SdSystemLogProvider);
40
40
 
41
- alertThemes = signal<TSdToastSeverity[]>([]);
41
+ alertThemes = signal<SdToastSeverity[]>([]);
42
42
  overlap = signal(false);
43
- beforeShowFn?: (theme: TSdToastSeverity) => void;
43
+ beforeShowFn?: (theme: SdToastSeverity) => void;
44
44
 
45
- private _containerRef: ComponentRef<SdToastContainerControl> | undefined;
46
- private readonly _toastRefs: ComponentRef<SdToastControl>[] = [];
47
- private readonly _contentRefs = new Map<ComponentRef<SdToastControl>, ComponentRef<any>>();
45
+ private _containerRef: ComponentRef<SdToastContainer> | undefined;
46
+ private readonly _toastRefs: ComponentRef<SdToast>[] = [];
47
+ private readonly _contentRefs = new Map<ComponentRef<SdToast>, ComponentRef<any>>();
48
48
 
49
49
  constructor() {
50
50
  effect(() => {
@@ -54,9 +54,9 @@ export class SdToastProvider {
54
54
  });
55
55
  }
56
56
 
57
- private get containerRef(): ComponentRef<SdToastContainerControl> {
57
+ private get containerRef(): ComponentRef<SdToastContainer> {
58
58
  if (this._containerRef === undefined) {
59
- this._containerRef = createComponent(SdToastContainerControl, {
59
+ this._containerRef = createComponent(SdToastContainer, {
60
60
  environmentInjector: this._envInjector,
61
61
  });
62
62
  this._appRef.attachView(this._containerRef.hostView);
@@ -90,7 +90,7 @@ export class SdToastProvider {
90
90
  return this._show("danger", message, useProgress);
91
91
  }
92
92
 
93
- notify<T extends ISdToast<any>>(input: ISdToastInput<T>): Promise<Parameters<T["close"]["emit"]>[0] | undefined> {
93
+ notify<T extends SdToastContentDef<any>>(input: SdToastInput<T>): Promise<Parameters<T["close"]["emit"]>[0] | undefined> {
94
94
  return new Promise((resolve) => {
95
95
  // overlap 모드: 기존 토스트 모두 제거
96
96
  if (this.overlap()) {
@@ -100,7 +100,7 @@ export class SdToastProvider {
100
100
  const containerEl = this.containerRef.location.nativeElement as HTMLElement;
101
101
 
102
102
  // 토스트 래퍼 생성
103
- const toastRef = createComponent(SdToastControl, {
103
+ const toastRef = createComponent(SdToast, {
104
104
  environmentInjector: this._envInjector,
105
105
  });
106
106
  this._appRef.attachView(toastRef.hostView);
@@ -166,7 +166,7 @@ export class SdToastProvider {
166
166
  }
167
167
 
168
168
  private _show(
169
- theme: TSdToastSeverity,
169
+ theme: SdToastSeverity,
170
170
  message: string,
171
171
  useProgress: boolean,
172
172
  ): WritableSignal<number> | void {
@@ -188,7 +188,7 @@ export class SdToastProvider {
188
188
 
189
189
  // 토스트 컴포넌트 생성
190
190
  const containerEl = this.containerRef.location.nativeElement as HTMLElement;
191
- const toastRef = createComponent(SdToastControl, {
191
+ const toastRef = createComponent(SdToast, {
192
192
  environmentInjector: this._envInjector,
193
193
  });
194
194
  this._appRef.attachView(toastRef.hostView);
@@ -229,7 +229,7 @@ export class SdToastProvider {
229
229
  }
230
230
 
231
231
  private _setupAutoDismiss(
232
- toastRef: ComponentRef<SdToastControl>,
232
+ toastRef: ComponentRef<SdToast>,
233
233
  delayMs: number,
234
234
  onDismiss?: () => void,
235
235
  ): void {
@@ -270,7 +270,7 @@ export class SdToastProvider {
270
270
  dismissAfterDelay(delayMs);
271
271
  }
272
272
 
273
- private _dismissToast(toastRef: ComponentRef<SdToastControl>): void {
273
+ private _dismissToast(toastRef: ComponentRef<SdToast>): void {
274
274
  toastRef.instance.open.set(false);
275
275
 
276
276
  const el = toastRef.location.nativeElement as HTMLElement;
@@ -291,7 +291,7 @@ export class SdToastProvider {
291
291
  }, 300);
292
292
  }
293
293
 
294
- private _destroyToast(toastRef: ComponentRef<SdToastControl>): void {
294
+ private _destroyToast(toastRef: ComponentRef<SdToast>): void {
295
295
  const idx = this._toastRefs.indexOf(toastRef);
296
296
  if (idx === -1) return; // 이미 파괴됨
297
297