@simplysm/angular 14.0.8 → 14.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/README.md +234 -246
  2. package/dist/core/commons.d.ts.map +1 -1
  3. package/dist/core/directives/sd-events.directive.d.ts.map +1 -1
  4. package/dist/core/directives/sd-invalid.directive.d.ts.map +1 -1
  5. package/dist/core/directives/sd-item-of-template.directive.d.ts.map +1 -1
  6. package/dist/core/directives/sd-ripple.directive.d.ts.map +1 -1
  7. package/dist/core/directives/sd-router-link.directive.d.ts.map +1 -1
  8. package/dist/core/directives/sd-show-effect.directive.d.ts.map +1 -1
  9. package/dist/core/directives/sd-typed-template.directive.d.ts.map +1 -1
  10. package/dist/core/pipes/format.pipe.d.ts.map +1 -1
  11. package/dist/core/plugins/commands/findTopOpenModalEl.d.ts.map +1 -1
  12. package/dist/core/plugins/commands/sd-insert-command-event.plugin.d.ts.map +1 -1
  13. package/dist/core/plugins/commands/sd-refresh-command-event.plugin.d.ts.map +1 -1
  14. package/dist/core/plugins/commands/sd-save-command-event.plugin.d.ts.map +1 -1
  15. package/dist/core/plugins/events/sd-intersection-event.plugin.d.ts.map +1 -1
  16. package/dist/core/plugins/events/sd-option-event.plugin.d.ts.map +1 -1
  17. package/dist/core/plugins/events/sd-resize-event.plugin.d.ts.map +1 -1
  18. package/dist/core/plugins/sd-global-error-handler.plugin.d.ts.map +1 -1
  19. package/dist/core/provideSdAngular.d.ts.map +1 -1
  20. package/dist/core/providers/sd-angular-config.provider.d.ts.map +1 -1
  21. package/dist/core/providers/sd-app-structure.provider.d.ts.map +1 -1
  22. package/dist/core/providers/sd-file-dialog.provider.d.ts.map +1 -1
  23. package/dist/core/providers/sd-local-storage.provider.d.ts.map +1 -1
  24. package/dist/core/providers/sd-navigate-window.provider.d.ts.map +1 -1
  25. package/dist/core/providers/sd-print.provider.d.ts +7 -2
  26. package/dist/core/providers/sd-print.provider.d.ts.map +1 -1
  27. package/dist/core/providers/sd-service-client-factory.provider.d.ts.map +1 -1
  28. package/dist/core/providers/sd-shared-data.provider.d.ts +3 -0
  29. package/dist/core/providers/sd-shared-data.provider.d.ts.map +1 -1
  30. package/dist/core/providers/sd-system-config.provider.d.ts.map +1 -1
  31. package/dist/core/providers/sd-system-log.provider.d.ts.map +1 -1
  32. package/dist/core/providers/sd-theme-provider.d.ts.map +1 -1
  33. package/dist/core/utils/TDirectiveInputSignals.d.ts +4 -0
  34. package/dist/core/utils/TDirectiveInputSignals.d.ts.map +1 -1
  35. package/dist/core/utils/injectParent.d.ts.map +1 -1
  36. package/dist/core/utils/setSafeStyle.d.ts.map +1 -1
  37. package/dist/core/utils/setups/setupBgTheme.d.ts.map +1 -1
  38. package/dist/core/utils/setups/setupCanDeactivate.d.ts.map +1 -1
  39. package/dist/core/utils/setups/setupCloserWhenSingleSelectionChange.d.ts +9 -0
  40. package/dist/core/utils/setups/setupCloserWhenSingleSelectionChange.d.ts.map +1 -0
  41. package/dist/core/utils/setups/setupCloserWhenSingleSelectionChange.js +20 -0
  42. package/dist/core/utils/setups/setupCumulateSelectedKeys.d.ts +9 -0
  43. package/dist/core/utils/setups/setupCumulateSelectedKeys.d.ts.map +1 -0
  44. package/dist/core/utils/setups/setupCumulateSelectedKeys.js +27 -0
  45. package/dist/core/utils/setups/setupInvalid.d.ts.map +1 -1
  46. package/dist/core/utils/setups/setupModelHook.d.ts.map +1 -1
  47. package/dist/core/utils/setups/setupRevealOnShow.d.ts.map +1 -1
  48. package/dist/core/utils/setups/setupRipple.d.ts.map +1 -1
  49. package/dist/core/utils/useCurrentPageCodeSignal.d.ts.map +1 -1
  50. package/dist/core/utils/useExpandingManager.d.ts.map +1 -1
  51. package/dist/core/utils/useFullPageCodeSignal.d.ts.map +1 -1
  52. package/dist/core/utils/useSdSystemConfigResource.d.ts.map +1 -1
  53. package/dist/core/utils/useSelectionManager.d.ts.map +1 -1
  54. package/dist/core/utils/useSortingManager.d.ts.map +1 -1
  55. package/dist/core/utils/useViewTitleSignal.d.ts.map +1 -1
  56. package/dist/core/utils/useViewTypeSignal.d.ts.map +1 -1
  57. package/dist/features/address/sd-address-search.modal.d.ts +19 -0
  58. package/dist/features/address/sd-address-search.modal.d.ts.map +1 -0
  59. package/dist/features/address/sd-address-search.modal.js +88 -0
  60. package/dist/features/base/sd-base-container.control.d.ts.map +1 -1
  61. package/dist/features/base/sd-base-container.control.js +1 -1
  62. package/dist/features/data-view/sd-data-detail.control.d.ts +70 -0
  63. package/dist/features/data-view/sd-data-detail.control.d.ts.map +1 -0
  64. package/dist/features/data-view/sd-data-detail.control.js +606 -0
  65. package/dist/features/data-view/sd-data-select-button.control.d.ts +35 -0
  66. package/dist/features/data-view/sd-data-select-button.control.d.ts.map +1 -0
  67. package/dist/features/data-view/sd-data-select-button.control.js +219 -0
  68. package/dist/features/data-view/sd-data-sheet-column.directive.d.ts +8 -0
  69. package/dist/features/data-view/sd-data-sheet-column.directive.d.ts.map +1 -0
  70. package/dist/features/data-view/sd-data-sheet-column.directive.js +15 -0
  71. package/dist/features/data-view/sd-data-sheet.control.d.ts +131 -0
  72. package/dist/features/data-view/sd-data-sheet.control.d.ts.map +1 -0
  73. package/dist/features/data-view/sd-data-sheet.control.js +1152 -0
  74. package/dist/features/shared-data/sd-shared-data-select-button.control.d.ts +16 -0
  75. package/dist/features/shared-data/sd-shared-data-select-button.control.d.ts.map +1 -0
  76. package/dist/features/shared-data/sd-shared-data-select-button.control.js +66 -0
  77. package/dist/features/shared-data/sd-shared-data-select-list.control.d.ts +33 -0
  78. package/dist/features/shared-data/sd-shared-data-select-list.control.d.ts.map +1 -0
  79. package/dist/features/shared-data/sd-shared-data-select-list.control.js +346 -0
  80. package/dist/features/shared-data/sd-shared-data-select.control.d.ts +50 -0
  81. package/dist/features/shared-data/sd-shared-data-select.control.d.ts.map +1 -0
  82. package/dist/features/shared-data/sd-shared-data-select.control.js +425 -0
  83. package/dist/index.d.ts +11 -1
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/index.js +12 -0
  86. package/dist/ui/data/list/sd-list-item.control.d.ts +3 -1
  87. package/dist/ui/data/list/sd-list-item.control.d.ts.map +1 -1
  88. package/dist/ui/data/list/sd-list-item.control.js +8 -4
  89. package/dist/ui/data/list/sd-list.control.d.ts.map +1 -1
  90. package/dist/ui/data/list/sd-list.control.js +1 -1
  91. package/dist/ui/data/sheet/sd-sheet-column.directive.d.ts +8 -1
  92. package/dist/ui/data/sheet/sd-sheet-column.directive.d.ts.map +1 -1
  93. package/dist/ui/data/sheet/sd-sheet-config.modal.d.ts.map +1 -1
  94. package/dist/ui/data/sheet/sd-sheet-config.modal.js +1 -1
  95. package/dist/ui/data/sheet/sd-sheet.control.d.ts +4 -4
  96. package/dist/ui/data/sheet/sd-sheet.control.d.ts.map +1 -1
  97. package/dist/ui/data/sheet/sd-sheet.control.js +3 -4
  98. package/dist/ui/data/sheet/types.d.ts.map +1 -1
  99. package/dist/ui/data/sheet/useSheetCellAgent.d.ts.map +1 -1
  100. package/dist/ui/data/sheet/useSheetColumnFixing.d.ts.map +1 -1
  101. package/dist/ui/data/sheet/useSheetDomAccessor.d.ts.map +1 -1
  102. package/dist/ui/data/sheet/useSheetLayoutEngine.d.ts.map +1 -1
  103. package/dist/ui/form/button/sd-additional-button.control.d.ts.map +1 -1
  104. package/dist/ui/form/button/sd-additional-button.control.js +1 -1
  105. package/dist/ui/form/button/sd-anchor.control.d.ts.map +1 -1
  106. package/dist/ui/form/button/sd-anchor.control.js +1 -1
  107. package/dist/ui/form/button/sd-button.control.d.ts.map +1 -1
  108. package/dist/ui/form/button/sd-button.control.js +1 -1
  109. package/dist/ui/form/button/sd-modal-select-button.control.d.ts +16 -18
  110. package/dist/ui/form/button/sd-modal-select-button.control.d.ts.map +1 -1
  111. package/dist/ui/form/button/sd-modal-select-button.control.js +22 -39
  112. package/dist/ui/form/checkbox/sd-checkbox-group-item.control.d.ts.map +1 -1
  113. package/dist/ui/form/checkbox/sd-checkbox-group-item.control.js +1 -1
  114. package/dist/ui/form/checkbox/sd-checkbox-group.control.d.ts.map +1 -1
  115. package/dist/ui/form/checkbox/sd-checkbox-group.control.js +1 -1
  116. package/dist/ui/form/checkbox/sd-checkbox.control.d.ts.map +1 -1
  117. package/dist/ui/form/checkbox/sd-checkbox.control.js +1 -1
  118. package/dist/ui/form/checkbox/sd-switch.control.d.ts.map +1 -1
  119. package/dist/ui/form/checkbox/sd-switch.control.js +1 -1
  120. package/dist/ui/form/choice/sd-state-preset.control.d.ts.map +1 -1
  121. package/dist/ui/form/choice/sd-state-preset.control.js +1 -1
  122. package/dist/ui/form/editor/sd-tiptap-editor.control.d.ts +18 -1
  123. package/dist/ui/form/editor/sd-tiptap-editor.control.d.ts.map +1 -1
  124. package/dist/ui/form/editor/sd-tiptap-editor.control.js +18 -2
  125. package/dist/ui/form/input/sd-date-range.picker.d.ts.map +1 -1
  126. package/dist/ui/form/input/sd-date-range.picker.js +1 -1
  127. package/dist/ui/form/input/sd-numpad.control.d.ts.map +1 -1
  128. package/dist/ui/form/input/sd-numpad.control.js +1 -1
  129. package/dist/ui/form/input/sd-range.control.d.ts.map +1 -1
  130. package/dist/ui/form/input/sd-range.control.js +1 -1
  131. package/dist/ui/form/input/sd-textarea.control.d.ts.map +1 -1
  132. package/dist/ui/form/input/sd-textarea.control.js +1 -1
  133. package/dist/ui/form/input/sd-textfield-type-handlers.d.ts.map +1 -1
  134. package/dist/ui/form/input/sd-textfield.control.d.ts.map +1 -1
  135. package/dist/ui/form/input/sd-textfield.control.js +1 -1
  136. package/dist/ui/form/sd-form.control.d.ts.map +1 -1
  137. package/dist/ui/form/sd-form.control.js +1 -1
  138. package/dist/ui/form/select/sd-select-button.control.d.ts.map +1 -1
  139. package/dist/ui/form/select/sd-select-button.control.js +1 -1
  140. package/dist/ui/form/select/sd-select-item.control.d.ts +1 -1
  141. package/dist/ui/form/select/sd-select-item.control.d.ts.map +1 -1
  142. package/dist/ui/form/select/sd-select-item.control.js +1 -1
  143. package/dist/ui/form/select/sd-select.control.d.ts +9 -6
  144. package/dist/ui/form/select/sd-select.control.d.ts.map +1 -1
  145. package/dist/ui/form/select/sd-select.control.js +1 -1
  146. package/dist/ui/layout/dock/sd-dock-container.control.d.ts.map +1 -1
  147. package/dist/ui/layout/dock/sd-dock-container.control.js +1 -1
  148. package/dist/ui/layout/dock/sd-dock.control.d.ts.map +1 -1
  149. package/dist/ui/layout/dock/sd-dock.control.js +1 -1
  150. package/dist/ui/layout/kanban/sd-kanban-board.control.d.ts.map +1 -1
  151. package/dist/ui/layout/kanban/sd-kanban-board.control.js +1 -1
  152. package/dist/ui/layout/kanban/sd-kanban-lane.control.d.ts.map +1 -1
  153. package/dist/ui/layout/kanban/sd-kanban-lane.control.js +1 -1
  154. package/dist/ui/layout/kanban/sd-kanban.control.d.ts.map +1 -1
  155. package/dist/ui/layout/kanban/sd-kanban.control.js +1 -1
  156. package/dist/ui/layout/sd-card.directive.d.ts.map +1 -1
  157. package/dist/ui/layout/sd-gap.control.d.ts.map +1 -1
  158. package/dist/ui/layout/sd-gap.control.js +1 -1
  159. package/dist/ui/layout/sd-pane.directive.d.ts.map +1 -1
  160. package/dist/ui/layout/view/sd-view-item.control.d.ts.map +1 -1
  161. package/dist/ui/layout/view/sd-view-item.control.js +1 -1
  162. package/dist/ui/layout/view/sd-view.control.d.ts.map +1 -1
  163. package/dist/ui/layout/view/sd-view.control.js +1 -1
  164. package/dist/ui/navigation/collapse/sd-collapse-icon.control.d.ts.map +1 -1
  165. package/dist/ui/navigation/collapse/sd-collapse-icon.control.js +1 -1
  166. package/dist/ui/navigation/collapse/sd-collapse.control.d.ts.map +1 -1
  167. package/dist/ui/navigation/collapse/sd-collapse.control.js +1 -1
  168. package/dist/ui/navigation/menu-utils.d.ts.map +1 -1
  169. package/dist/ui/navigation/pagination/sd-pagination.control.d.ts.map +1 -1
  170. package/dist/ui/navigation/pagination/sd-pagination.control.js +1 -1
  171. package/dist/ui/navigation/sidebar/sd-sidebar-container.control.d.ts.map +1 -1
  172. package/dist/ui/navigation/sidebar/sd-sidebar-container.control.js +1 -1
  173. package/dist/ui/navigation/sidebar/sd-sidebar-menu.control.d.ts.map +1 -1
  174. package/dist/ui/navigation/sidebar/sd-sidebar-menu.control.js +1 -1
  175. package/dist/ui/navigation/sidebar/sd-sidebar-user.control.d.ts.map +1 -1
  176. package/dist/ui/navigation/sidebar/sd-sidebar-user.control.js +1 -1
  177. package/dist/ui/navigation/sidebar/sd-sidebar.control.d.ts.map +1 -1
  178. package/dist/ui/navigation/sidebar/sd-sidebar.control.js +1 -1
  179. package/dist/ui/navigation/tab/sd-tab-item.control.d.ts.map +1 -1
  180. package/dist/ui/navigation/tab/sd-tab-item.control.js +1 -1
  181. package/dist/ui/navigation/tab/sd-tab.control.d.ts.map +1 -1
  182. package/dist/ui/navigation/tab/sd-tab.control.js +1 -1
  183. package/dist/ui/navigation/tab/sd-tabview-item.control.d.ts.map +1 -1
  184. package/dist/ui/navigation/tab/sd-tabview-item.control.js +1 -1
  185. package/dist/ui/navigation/tab/sd-tabview.control.d.ts.map +1 -1
  186. package/dist/ui/navigation/tab/sd-tabview.control.js +1 -1
  187. package/dist/ui/navigation/topbar/sd-topbar-container.control.d.ts.map +1 -1
  188. package/dist/ui/navigation/topbar/sd-topbar-container.control.js +1 -1
  189. package/dist/ui/navigation/topbar/sd-topbar-menu.control.d.ts.map +1 -1
  190. package/dist/ui/navigation/topbar/sd-topbar-menu.control.js +1 -1
  191. package/dist/ui/navigation/topbar/sd-topbar-user.control.d.ts.map +1 -1
  192. package/dist/ui/navigation/topbar/sd-topbar-user.control.js +1 -1
  193. package/dist/ui/navigation/topbar/sd-topbar.control.d.ts.map +1 -1
  194. package/dist/ui/navigation/topbar/sd-topbar.control.js +1 -1
  195. package/dist/ui/overlay/busy/sd-busy-container.control.d.ts.map +1 -1
  196. package/dist/ui/overlay/busy/sd-busy-container.control.js +1 -1
  197. package/dist/ui/overlay/busy/sd-busy.provider.d.ts.map +1 -1
  198. package/dist/ui/overlay/dropdown/sd-dropdown-popup.control.d.ts.map +1 -1
  199. package/dist/ui/overlay/dropdown/sd-dropdown-popup.control.js +1 -1
  200. package/dist/ui/overlay/dropdown/sd-dropdown.control.d.ts.map +1 -1
  201. package/dist/ui/overlay/dropdown/sd-dropdown.control.js +1 -1
  202. package/dist/ui/overlay/modal/sd-confirm-modal.control.d.ts.map +1 -1
  203. package/dist/ui/overlay/modal/sd-confirm-modal.control.js +1 -1
  204. package/dist/ui/overlay/modal/sd-modal.control.d.ts.map +1 -1
  205. package/dist/ui/overlay/modal/sd-modal.control.js +1 -1
  206. package/dist/ui/overlay/modal/sd-modal.provider.d.ts +9 -3
  207. package/dist/ui/overlay/modal/sd-modal.provider.d.ts.map +1 -1
  208. package/dist/ui/overlay/modal/sd-prompt-modal.control.d.ts.map +1 -1
  209. package/dist/ui/overlay/modal/sd-prompt-modal.control.js +1 -1
  210. package/dist/ui/overlay/toast/sd-toast-container.control.d.ts.map +1 -1
  211. package/dist/ui/overlay/toast/sd-toast-container.control.js +1 -1
  212. package/dist/ui/overlay/toast/sd-toast.control.d.ts.map +1 -1
  213. package/dist/ui/overlay/toast/sd-toast.control.js +1 -1
  214. package/dist/ui/overlay/toast/sd-toast.provider.d.ts.map +1 -1
  215. package/dist/ui/visual/sd-barcode.control.d.ts.map +1 -1
  216. package/dist/ui/visual/sd-barcode.control.js +1 -1
  217. package/dist/ui/visual/sd-calendar.control.d.ts.map +1 -1
  218. package/dist/ui/visual/sd-calendar.control.js +1 -1
  219. package/dist/ui/visual/sd-echarts.control.d.ts.map +1 -1
  220. package/dist/ui/visual/sd-echarts.control.js +1 -1
  221. package/dist/ui/visual/sd-label.control.d.ts.map +1 -1
  222. package/dist/ui/visual/sd-label.control.js +1 -1
  223. package/dist/ui/visual/sd-note.control.d.ts.map +1 -1
  224. package/dist/ui/visual/sd-note.control.js +1 -1
  225. package/dist/ui/visual/sd-progress.control.d.ts.map +1 -1
  226. package/dist/ui/visual/sd-progress.control.js +1 -1
  227. package/docs/core.md +877 -0
  228. package/docs/features.md +377 -0
  229. package/docs/styling.md +309 -0
  230. package/docs/ui-data.md +233 -0
  231. package/docs/ui-form.md +421 -0
  232. package/docs/ui-layout.md +216 -0
  233. package/docs/ui-navigation.md +279 -0
  234. package/docs/ui-overlay.md +330 -0
  235. package/docs/ui-visual.md +131 -0
  236. package/package.json +5 -5
  237. package/src/core/providers/sd-print.provider.ts +10 -2
  238. package/src/core/providers/sd-shared-data.provider.ts +3 -0
  239. package/src/core/utils/TDirectiveInputSignals.ts +5 -0
  240. package/src/core/utils/setups/setupCloserWhenSingleSelectionChange.ts +29 -0
  241. package/src/core/utils/setups/setupCumulateSelectedKeys.ts +38 -0
  242. package/src/features/address/sd-address-search.modal.ts +119 -0
  243. package/src/features/data-view/sd-data-detail.control.ts +394 -0
  244. package/src/features/data-view/sd-data-select-button.control.ts +210 -0
  245. package/src/features/data-view/sd-data-sheet-column.directive.ts +10 -0
  246. package/src/features/data-view/sd-data-sheet.control.ts +850 -0
  247. package/src/features/shared-data/sd-shared-data-select-button.control.ts +64 -0
  248. package/src/features/shared-data/sd-shared-data-select-list.control.ts +245 -0
  249. package/src/features/shared-data/sd-shared-data-select.control.ts +364 -0
  250. package/src/index.ts +35 -1
  251. package/src/scss.d.ts +5 -0
  252. package/src/ui/data/list/sd-list-item.control.ts +3 -1
  253. package/src/ui/data/sheet/sd-sheet-column.directive.ts +9 -1
  254. package/src/ui/data/sheet/sd-sheet.control.ts +6 -6
  255. package/src/ui/form/button/sd-modal-select-button.control.ts +41 -59
  256. package/src/ui/form/editor/sd-tiptap-editor.control.ts +35 -1
  257. package/src/ui/form/select/sd-select-item.control.ts +1 -1
  258. package/src/ui/form/select/sd-select.control.ts +7 -4
  259. package/src/ui/overlay/modal/sd-modal.provider.ts +15 -3
  260. package/docs/commons-and-configuration.md +0 -34
  261. package/docs/data-display-components.md +0 -146
  262. package/docs/directives.md +0 -158
  263. package/docs/event-plugins.md +0 -109
  264. package/docs/form-components.md +0 -362
  265. package/docs/hooks-and-utilities.md +0 -175
  266. package/docs/layout-components.md +0 -140
  267. package/docs/navigation-components.md +0 -200
  268. package/docs/overlay-components.md +0 -193
  269. package/docs/pipes.md +0 -25
  270. package/docs/providers.md +0 -448
  271. package/docs/setup-functions.md +0 -66
  272. package/docs/visual-components.md +0 -89
@@ -0,0 +1,16 @@
1
+ import { TemplateRef } from "@angular/core";
2
+ import type { ISharedDataBase } from "../../core/providers/sd-shared-data.provider";
3
+ import { type SdItemOfTemplateContext } from "../../core/directives/sd-item-of-template.directive";
4
+ import { AbsSdDataSelectButton } from "../data-view/sd-data-select-button.control";
5
+ import type { ISdSelectModal, TSdSelectModalInfo } from "../../ui/form/button/sd-modal-select-button.control";
6
+ import type { TSelectModeValue } from "../../ui/form/select/sd-select.control";
7
+ import * as i0 from "@angular/core";
8
+ export declare class SdSharedDataSelectButtonControl<TItem extends ISharedDataBase<number>, TMode extends keyof TSelectModeValue<number>, TModal extends ISdSelectModal<any>> extends AbsSdDataSelectButton<TItem, number, TMode> {
9
+ items: import("@angular/core").InputSignal<TItem[]>;
10
+ modal: import("@angular/core").InputSignal<TSdSelectModalInfo<TModal>>;
11
+ itemTplRef: import("@angular/core").Signal<TemplateRef<SdItemOfTemplateContext<TItem>>>;
12
+ load(keys: number[]): TItem[];
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdSharedDataSelectButtonControl<any, any, any>, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdSharedDataSelectButtonControl<any, any, any>, "sd-shared-data-select-button", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "modal": { "alias": "modal"; "required": true; "isSignal": true; }; }, {}, ["itemTplRef"], ["*"], true, never>;
15
+ }
16
+ //# sourceMappingURL=sd-shared-data-select-button.control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sd-shared-data-select-button.control.d.ts","sourceRoot":"","sources":["../../../src/features/shared-data/sd-shared-data-select-button.control.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,WAAW,EAEZ,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EACL,qBAAqB,EAEtB,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EACnB,MAAM,qDAAqD,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;;AAE/E,qBAuBa,+BAA+B,CAC1C,KAAK,SAAS,eAAe,CAAC,MAAM,CAAC,EACrC,KAAK,SAAS,MAAM,gBAAgB,CAAC,MAAM,CAAC,EAC5C,MAAM,SAAS,cAAc,CAAC,GAAG,CAAC,CAClC,SAAQ,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;IACnD,KAAK,+CAAsB;IAC3B,KAAK,kEAAgD;IAErD,UAAU,8EAGR;IAEO,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE;yCAb3B,+BAA+B;2CAA/B,+BAA+B;CAgB3C"}
@@ -0,0 +1,66 @@
1
+ import { NgTemplateOutlet } from "@angular/common";
2
+ import { ChangeDetectionStrategy, Component, contentChild, input, TemplateRef, ViewEncapsulation, } from "@angular/core";
3
+ import { SdItemOfTemplateDirective, } from "../../core/directives/sd-item-of-template.directive";
4
+ import { AbsSdDataSelectButton, SdDataSelectButtonControl, } from "../data-view/sd-data-select-button.control";
5
+ import * as i0 from "@angular/core";
6
+ const _c0 = ["*"];
7
+ const _c1 = (a0, a1, a2) => ({ $implicit: a0, item: a1, index: a2, depth: 0 });
8
+ function SdSharedDataSelectButtonControl_ng_template_1_ng_template_0_Template(rf, ctx) { }
9
+ function SdSharedDataSelectButtonControl_ng_template_1_Template(rf, ctx) { if (rf & 1) {
10
+ i0.ɵɵtemplate(0, SdSharedDataSelectButtonControl_ng_template_1_ng_template_0_Template, 0, 0, "ng-template", 1);
11
+ } if (rf & 2) {
12
+ const item_r1 = ctx.$implicit;
13
+ const index_r2 = ctx.index;
14
+ const ctx_r2 = i0.ɵɵnextContext();
15
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.itemTplRef())("ngTemplateOutletContext", i0.ɵɵpureFunction3(2, _c1, item_r1, item_r1, index_r2));
16
+ } }
17
+ export class SdSharedDataSelectButtonControl extends AbsSdDataSelectButton {
18
+ items = input([], ...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
19
+ modal = input.required(...(ngDevMode ? [{ debugName: "modal" }] : /* istanbul ignore next */ []));
20
+ itemTplRef = contentChild.required(SdItemOfTemplateDirective, { read: TemplateRef });
21
+ load(keys) {
22
+ return this.items().filter((item) => keys.includes(item.__valueKey));
23
+ }
24
+ static ɵfac = /*@__PURE__*/ (() => { let ɵSdSharedDataSelectButtonControl_BaseFactory; return function SdSharedDataSelectButtonControl_Factory(__ngFactoryType__) { return (ɵSdSharedDataSelectButtonControl_BaseFactory || (ɵSdSharedDataSelectButtonControl_BaseFactory = i0.ɵɵgetInheritedFactory(SdSharedDataSelectButtonControl)))(__ngFactoryType__ || SdSharedDataSelectButtonControl); }; })();
25
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SdSharedDataSelectButtonControl, selectors: [["sd-shared-data-select-button"]], contentQueries: function SdSharedDataSelectButtonControl_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
26
+ i0.ɵɵcontentQuerySignal(dirIndex, ctx.itemTplRef, SdItemOfTemplateDirective, 5, TemplateRef);
27
+ } if (rf & 2) {
28
+ i0.ɵɵqueryAdvance();
29
+ } }, inputs: { items: [1, "items"], modal: [1, "modal"] }, features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c0, decls: 3, vars: 1, consts: [[3, "itemOf"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function SdSharedDataSelectButtonControl_Template(rf, ctx) { if (rf & 1) {
30
+ i0.ɵɵprojectionDef();
31
+ i0.ɵɵelementStart(0, "sd-data-select-button");
32
+ i0.ɵɵtemplate(1, SdSharedDataSelectButtonControl_ng_template_1_Template, 1, 6, "ng-template", 0);
33
+ i0.ɵɵprojection(2);
34
+ i0.ɵɵelementEnd();
35
+ } if (rf & 2) {
36
+ i0.ɵɵadvance();
37
+ i0.ɵɵproperty("itemOf", ctx.items());
38
+ } }, dependencies: [SdDataSelectButtonControl, NgTemplateOutlet, SdItemOfTemplateDirective], encapsulation: 2, changeDetection: 0 });
39
+ }
40
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdSharedDataSelectButtonControl, [{
41
+ type: Component,
42
+ args: [{
43
+ selector: "sd-shared-data-select-button",
44
+ changeDetection: ChangeDetectionStrategy.OnPush,
45
+ encapsulation: ViewEncapsulation.None,
46
+ standalone: true,
47
+ imports: [SdDataSelectButtonControl, NgTemplateOutlet, SdItemOfTemplateDirective],
48
+ template: `
49
+ <sd-data-select-button>
50
+ <ng-template [itemOf]="items()" let-item let-index="index">
51
+ <ng-template
52
+ [ngTemplateOutlet]="itemTplRef()"
53
+ [ngTemplateOutletContext]="{
54
+ $implicit: item,
55
+ item: item,
56
+ index: index,
57
+ depth: 0,
58
+ }"
59
+ />
60
+ </ng-template>
61
+ <ng-content />
62
+ </sd-data-select-button>
63
+ `,
64
+ }]
65
+ }], null, { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], modal: [{ type: i0.Input, args: [{ isSignal: true, alias: "modal", required: true }] }], itemTplRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SdItemOfTemplateDirective), { ...{ read: TemplateRef }, isSignal: true }] }] }); })();
66
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdSharedDataSelectButtonControl, { className: "SdSharedDataSelectButtonControl", filePath: "packages/angular/src/features/shared-data/sd-shared-data-select-button.control.ts", lineNumber: 48, forbidOrphanRendering: true }); })();
@@ -0,0 +1,33 @@
1
+ import { TemplateRef } from "@angular/core";
2
+ import type { ISharedDataBase } from "../../core/providers/sd-shared-data.provider";
3
+ import { type SdItemOfTemplateContext } from "../../core/directives/sd-item-of-template.directive";
4
+ import type { ISdSelectModal, TSdSelectModalInfo } from "../../ui/form/button/sd-modal-select-button.control";
5
+ import * as i0 from "@angular/core";
6
+ export declare class SdSharedDataSelectListControl<TItem extends ISharedDataBase<string | number>, TModal extends ISdSelectModal<any>> {
7
+ private readonly _sdModal;
8
+ selectedItem: import("@angular/core").ModelSignal<TItem | undefined>;
9
+ canChangeFn: import("@angular/core").InputSignal<(item: TItem | undefined) => boolean | Promise<boolean>>;
10
+ items: import("@angular/core").InputSignal<TItem[]>;
11
+ selectedIcon: import("@angular/core").InputSignal<string | undefined>;
12
+ useUndefined: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
13
+ filterFn: import("@angular/core").InputSignal<((item: TItem, index: number) => boolean) | undefined>;
14
+ modal: import("@angular/core").InputSignal<TSdSelectModalInfo<TModal> | undefined>;
15
+ header: import("@angular/core").InputSignal<string | undefined>;
16
+ headerTplRef: import("@angular/core").Signal<TemplateRef<void> | undefined>;
17
+ filterTplRef: import("@angular/core").Signal<TemplateRef<void> | undefined>;
18
+ itemTplRef: import("@angular/core").Signal<TemplateRef<SdItemOfTemplateContext<TItem>> | undefined>;
19
+ undefinedTplRef: import("@angular/core").Signal<TemplateRef<void> | undefined>;
20
+ searchText: import("@angular/core").WritableSignal<string | undefined>;
21
+ pageItemCount: import("@angular/core").InputSignal<number | undefined>;
22
+ page: import("@angular/core").WritableSignal<number>;
23
+ pageLength: import("@angular/core").Signal<number>;
24
+ displayItems: import("@angular/core").Signal<TItem[]>;
25
+ constructor();
26
+ select(item: TItem | undefined): void;
27
+ toggle(item: TItem | undefined): void;
28
+ onModalButtonClick(): Promise<void>;
29
+ protected readonly tablerExternalLink = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"></path><path d=\"M12 6h-6a2 2 0 0 0 -2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-6\"></path><path d=\"M11 13l9 -9\"></path><path d=\"M15 4h5v5\"></path></svg>";
30
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdSharedDataSelectListControl<any, any>, never>;
31
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdSharedDataSelectListControl<any, any>, "sd-shared-data-select-list", never, { "selectedItem": { "alias": "selectedItem"; "required": false; "isSignal": true; }; "canChangeFn": { "alias": "canChangeFn"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": true; "isSignal": true; }; "selectedIcon": { "alias": "selectedIcon"; "required": false; "isSignal": true; }; "useUndefined": { "alias": "useUndefined"; "required": false; "isSignal": true; }; "filterFn": { "alias": "filterFn"; "required": false; "isSignal": true; }; "modal": { "alias": "modal"; "required": false; "isSignal": true; }; "header": { "alias": "header"; "required": false; "isSignal": true; }; "pageItemCount": { "alias": "pageItemCount"; "required": false; "isSignal": true; }; }, { "selectedItem": "selectedItemChange"; }, ["headerTplRef", "filterTplRef", "itemTplRef", "undefinedTplRef"], never, true, never>;
32
+ }
33
+ //# sourceMappingURL=sd-shared-data-select-list.control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sd-shared-data-select-list.control.d.ts","sourceRoot":"","sources":["../../../src/features/shared-data/sd-shared-data-select-list.control.ts"],"names":[],"mappings":"AACA,OAAO,EAWL,WAAW,EAGZ,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,qDAAqD,CAAC;AAE7D,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EACnB,MAAM,qDAAqD,CAAC;;AAU7D,qBA2Fa,6BAA6B,CACxC,KAAK,SAAS,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,EAC9C,MAAM,SAAS,cAAc,CAAC,GAAG,CAAC;IAElC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IAEpD,YAAY,yDAAkB;IAC9B,WAAW,6CAAgB,KAAK,GAAG,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EAEzE;IAEF,KAAK,+CAA6B;IAClC,YAAY,0DAAmB;IAC/B,YAAY,qEAAiD;IAC7D,QAAQ,8CAAgB,KAAK,SAAS,MAAM,KAAK,OAAO,eAAI;IAE5D,KAAK,8EAAuC;IAE5C,MAAM,0DAAmB;IAEzB,YAAY,gEAET;IACH,YAAY,gEAET;IACH,UAAU,0FAGR;IACF,eAAe,gEAEZ;IAEH,UAAU,6DAAyC;IAEnD,aAAa,0DAAmB;IAChC,IAAI,iDAAa;IACjB,UAAU,yCAMP;IAEH,YAAY,0CAmBT;;IAoBH,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI;IAIrC,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI;IAI/B,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBzC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,waAAsB;yCApHhD,6BAA6B;2CAA7B,6BAA6B;CAqHzC"}
@@ -0,0 +1,346 @@
1
+ import { NgTemplateOutlet } from "@angular/common";
2
+ import { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChild, effect, inject, input, model, signal, TemplateRef, untracked, ViewEncapsulation, } from "@angular/core";
3
+ import { str } from "@simplysm/core-common";
4
+ import { SdItemOfTemplateDirective, } from "../../core/directives/sd-item-of-template.directive";
5
+ import { SdModalProvider } from "../../ui/overlay/modal/sd-modal.provider";
6
+ import { setupModelHook } from "../../core/utils/setups/setupModelHook";
7
+ import { SdPaginationControl } from "../../ui/navigation/pagination/sd-pagination.control";
8
+ import { SdTextfieldControl } from "../../ui/form/input/sd-textfield.control";
9
+ import { SdAnchorControl } from "../../ui/form/button/sd-anchor.control";
10
+ import { SdListControl } from "../../ui/data/list/sd-list.control";
11
+ import { SdListItemControl } from "../../ui/data/list/sd-list-item.control";
12
+ import { NgIcon } from "@ng-icons/core";
13
+ import { tablerExternalLink } from "@ng-icons/tabler-icons";
14
+ import * as i0 from "@angular/core";
15
+ const _c0 = ["headerTpl"];
16
+ const _c1 = ["filterTpl"];
17
+ const _c2 = ["undefinedTpl"];
18
+ const _c3 = (a0, a1, a2) => ({ $implicit: a0, item: a1, index: a2, depth: 0 });
19
+ const _forTrack0 = ($index, $item) => $item.__valueKey;
20
+ function SdSharedDataSelectListControl_Conditional_0_Template(rf, ctx) { if (rf & 1) {
21
+ i0.ɵɵelementStart(0, "div", 0);
22
+ i0.ɵɵtext(1);
23
+ i0.ɵɵelementEnd();
24
+ } if (rf & 2) {
25
+ const ctx_r0 = i0.ɵɵnextContext();
26
+ i0.ɵɵadvance();
27
+ i0.ɵɵtextInterpolate1(" ", ctx_r0.header(), " ");
28
+ } }
29
+ function SdSharedDataSelectListControl_Conditional_2_Conditional_2_ng_template_0_Template(rf, ctx) { }
30
+ function SdSharedDataSelectListControl_Conditional_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
31
+ i0.ɵɵtemplate(0, SdSharedDataSelectListControl_Conditional_2_Conditional_2_ng_template_0_Template, 0, 0, "ng-template", 9);
32
+ } if (rf & 2) {
33
+ const ctx_r0 = i0.ɵɵnextContext(2);
34
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.headerTplRef());
35
+ } }
36
+ function SdSharedDataSelectListControl_Conditional_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
37
+ const _r2 = i0.ɵɵgetCurrentView();
38
+ i0.ɵɵelementStart(0, "sd-anchor", 10);
39
+ i0.ɵɵlistener("click", function SdSharedDataSelectListControl_Conditional_2_Conditional_3_Template_sd_anchor_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.onModalButtonClick()); });
40
+ i0.ɵɵelement(1, "ng-icon", 11);
41
+ i0.ɵɵelementEnd();
42
+ } if (rf & 2) {
43
+ const ctx_r0 = i0.ɵɵnextContext(2);
44
+ i0.ɵɵadvance();
45
+ i0.ɵɵproperty("svg", ctx_r0.tablerExternalLink);
46
+ } }
47
+ function SdSharedDataSelectListControl_Conditional_2_Template(rf, ctx) { if (rf & 1) {
48
+ i0.ɵɵelementStart(0, "div", 2)(1, "div", 4);
49
+ i0.ɵɵconditionalCreate(2, SdSharedDataSelectListControl_Conditional_2_Conditional_2_Template, 1, 1, null, 9);
50
+ i0.ɵɵelementEnd();
51
+ i0.ɵɵconditionalCreate(3, SdSharedDataSelectListControl_Conditional_2_Conditional_3_Template, 2, 1, "sd-anchor");
52
+ i0.ɵɵelementEnd();
53
+ } if (rf & 2) {
54
+ const ctx_r0 = i0.ɵɵnextContext();
55
+ i0.ɵɵadvance(2);
56
+ i0.ɵɵconditional(ctx_r0.headerTplRef() ? 2 : -1);
57
+ i0.ɵɵadvance();
58
+ i0.ɵɵconditional(ctx_r0.modal() ? 3 : -1);
59
+ } }
60
+ function SdSharedDataSelectListControl_Conditional_3_Template(rf, ctx) { if (rf & 1) {
61
+ const _r3 = i0.ɵɵgetCurrentView();
62
+ i0.ɵɵelementStart(0, "sd-textfield", 12);
63
+ i0.ɵɵtwoWayListener("valueChange", function SdSharedDataSelectListControl_Conditional_3_Template_sd_textfield_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.searchText, $event) || (ctx_r0.searchText = $event); return i0.ɵɵresetView($event); });
64
+ i0.ɵɵelementEnd();
65
+ } if (rf & 2) {
66
+ const ctx_r0 = i0.ɵɵnextContext();
67
+ i0.ɵɵproperty("type", "text")("placeholder", "\uAC80\uC0C9\uC5B4");
68
+ i0.ɵɵtwoWayProperty("value", ctx_r0.searchText);
69
+ } }
70
+ function SdSharedDataSelectListControl_Conditional_4_ng_template_1_Template(rf, ctx) { }
71
+ function SdSharedDataSelectListControl_Conditional_4_Template(rf, ctx) { if (rf & 1) {
72
+ i0.ɵɵelementStart(0, "div");
73
+ i0.ɵɵtemplate(1, SdSharedDataSelectListControl_Conditional_4_ng_template_1_Template, 0, 0, "ng-template", 9);
74
+ i0.ɵɵelementEnd();
75
+ } if (rf & 2) {
76
+ const ctx_r0 = i0.ɵɵnextContext();
77
+ i0.ɵɵadvance();
78
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.filterTplRef());
79
+ } }
80
+ function SdSharedDataSelectListControl_Conditional_7_Template(rf, ctx) { if (rf & 1) {
81
+ const _r4 = i0.ɵɵgetCurrentView();
82
+ i0.ɵɵelementStart(0, "sd-pagination", 13);
83
+ i0.ɵɵtwoWayListener("currentPageChange", function SdSharedDataSelectListControl_Conditional_7_Template_sd_pagination_currentPageChange_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.page, $event) || (ctx_r0.page = $event); return i0.ɵɵresetView($event); });
84
+ i0.ɵɵelementEnd();
85
+ } if (rf & 2) {
86
+ const ctx_r0 = i0.ɵɵnextContext();
87
+ i0.ɵɵtwoWayProperty("currentPage", ctx_r0.page);
88
+ i0.ɵɵproperty("totalPageCount", ctx_r0.pageLength());
89
+ } }
90
+ function SdSharedDataSelectListControl_Conditional_9_Conditional_1_ng_template_0_Template(rf, ctx) { }
91
+ function SdSharedDataSelectListControl_Conditional_9_Conditional_1_Template(rf, ctx) { if (rf & 1) {
92
+ i0.ɵɵtemplate(0, SdSharedDataSelectListControl_Conditional_9_Conditional_1_ng_template_0_Template, 0, 0, "ng-template", 9);
93
+ } if (rf & 2) {
94
+ const ctx_r0 = i0.ɵɵnextContext(2);
95
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.undefinedTplRef());
96
+ } }
97
+ function SdSharedDataSelectListControl_Conditional_9_Conditional_2_Template(rf, ctx) { if (rf & 1) {
98
+ i0.ɵɵelementStart(0, "span", 15);
99
+ i0.ɵɵtext(1, "\uBBF8\uC9C0\uC815");
100
+ i0.ɵɵelementEnd();
101
+ } }
102
+ function SdSharedDataSelectListControl_Conditional_9_Template(rf, ctx) { if (rf & 1) {
103
+ const _r5 = i0.ɵɵgetCurrentView();
104
+ i0.ɵɵelementStart(0, "sd-list-item", 14);
105
+ i0.ɵɵlistener("click", function SdSharedDataSelectListControl_Conditional_9_Template_sd_list_item_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.select(undefined)); });
106
+ i0.ɵɵconditionalCreate(1, SdSharedDataSelectListControl_Conditional_9_Conditional_1_Template, 1, 1, null, 9)(2, SdSharedDataSelectListControl_Conditional_9_Conditional_2_Template, 2, 0, "span", 15);
107
+ i0.ɵɵelementEnd();
108
+ } if (rf & 2) {
109
+ const ctx_r0 = i0.ɵɵnextContext();
110
+ i0.ɵɵproperty("selected", ctx_r0.selectedItem() === undefined)("selectedIcon", ctx_r0.selectedIcon());
111
+ i0.ɵɵadvance();
112
+ i0.ɵɵconditional(ctx_r0.undefinedTplRef() ? 1 : 2);
113
+ } }
114
+ function SdSharedDataSelectListControl_For_11_ng_template_1_Template(rf, ctx) { }
115
+ function SdSharedDataSelectListControl_For_11_Template(rf, ctx) { if (rf & 1) {
116
+ const _r6 = i0.ɵɵgetCurrentView();
117
+ i0.ɵɵelementStart(0, "sd-list-item", 14);
118
+ i0.ɵɵlistener("click", function SdSharedDataSelectListControl_For_11_Template_sd_list_item_click_0_listener() { const item_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.toggle(item_r7)); });
119
+ i0.ɵɵtemplate(1, SdSharedDataSelectListControl_For_11_ng_template_1_Template, 0, 0, "ng-template", 16);
120
+ i0.ɵɵelementEnd();
121
+ } if (rf & 2) {
122
+ const item_r7 = ctx.$implicit;
123
+ const ɵ$index_47_r8 = ctx.$index;
124
+ const ctx_r0 = i0.ɵɵnextContext();
125
+ i0.ɵɵproperty("selected", ctx_r0.selectedItem() === item_r7)("selectedIcon", ctx_r0.selectedIcon());
126
+ i0.ɵɵadvance();
127
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.itemTplRef() ?? null)("ngTemplateOutletContext", i0.ɵɵpureFunction3(4, _c3, item_r7, item_r7, ɵ$index_47_r8));
128
+ } }
129
+ export class SdSharedDataSelectListControl {
130
+ _sdModal = inject(SdModalProvider);
131
+ selectedItem = model(...(ngDevMode ? [undefined, { debugName: "selectedItem" }] : /* istanbul ignore next */ []));
132
+ canChangeFn = input(() => true, ...(ngDevMode ? [{ debugName: "canChangeFn" }] : /* istanbul ignore next */ []));
133
+ items = input.required(...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
134
+ selectedIcon = input(...(ngDevMode ? [undefined, { debugName: "selectedIcon" }] : /* istanbul ignore next */ []));
135
+ useUndefined = input(false, { ...(ngDevMode ? { debugName: "useUndefined" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
136
+ filterFn = input(...(ngDevMode ? [undefined, { debugName: "filterFn" }] : /* istanbul ignore next */ []));
137
+ modal = input(...(ngDevMode ? [undefined, { debugName: "modal" }] : /* istanbul ignore next */ []));
138
+ header = input(...(ngDevMode ? [undefined, { debugName: "header" }] : /* istanbul ignore next */ []));
139
+ headerTplRef = contentChild("headerTpl", { ...(ngDevMode ? { debugName: "headerTplRef" } : /* istanbul ignore next */ {}), read: TemplateRef });
140
+ filterTplRef = contentChild("filterTpl", { ...(ngDevMode ? { debugName: "filterTplRef" } : /* istanbul ignore next */ {}), read: TemplateRef });
141
+ itemTplRef = contentChild(SdItemOfTemplateDirective, { ...(ngDevMode ? { debugName: "itemTplRef" } : /* istanbul ignore next */ {}), read: TemplateRef });
142
+ undefinedTplRef = contentChild("undefinedTpl", { ...(ngDevMode ? { debugName: "undefinedTplRef" } : /* istanbul ignore next */ {}), read: TemplateRef });
143
+ searchText = signal(undefined, ...(ngDevMode ? [{ debugName: "searchText" }] : /* istanbul ignore next */ []));
144
+ pageItemCount = input(...(ngDevMode ? [undefined, { debugName: "pageItemCount" }] : /* istanbul ignore next */ []));
145
+ page = signal(0, ...(ngDevMode ? [{ debugName: "page" }] : /* istanbul ignore next */ []));
146
+ pageLength = computed(() => {
147
+ const pic = this.pageItemCount();
148
+ if (pic != null && pic > 0) {
149
+ return Math.ceil(this.items().length / pic);
150
+ }
151
+ return 0;
152
+ }, ...(ngDevMode ? [{ debugName: "pageLength" }] : /* istanbul ignore next */ []));
153
+ displayItems = computed(() => {
154
+ let result = this.items().filter((item) => !item.__isHidden);
155
+ if (!str.isNullOrEmpty(this.searchText())) {
156
+ result = result.filter((item) => item.__searchText.includes(this.searchText()));
157
+ }
158
+ if (this.filterFn() != null) {
159
+ result = result.filter((item, i) => this.filterFn()(item, i));
160
+ }
161
+ const pic = this.pageItemCount();
162
+ if (pic != null && pic > 0) {
163
+ result = result.slice(pic * this.page(), pic * (this.page() + 1));
164
+ }
165
+ return result;
166
+ }, ...(ngDevMode ? [{ debugName: "displayItems" }] : /* istanbul ignore next */ []));
167
+ constructor() {
168
+ setupModelHook(this.selectedItem, this.canChangeFn);
169
+ // items 변경 시 selectedItem 동기화 (selectedItem은 추적하지 않음)
170
+ effect(() => {
171
+ const items = this.items();
172
+ const current = untracked(() => this.selectedItem());
173
+ if (current != null) {
174
+ const updated = items.find((item) => item.__valueKey === current.__valueKey);
175
+ if (updated !== current) {
176
+ this.selectedItem.set(updated);
177
+ }
178
+ }
179
+ });
180
+ }
181
+ select(item) {
182
+ this.selectedItem.set(item);
183
+ }
184
+ toggle(item) {
185
+ this.selectedItem.update((v) => (v === item ? undefined : item));
186
+ }
187
+ async onModalButtonClick() {
188
+ const modalInfo = this.modal();
189
+ if (modalInfo == null)
190
+ return;
191
+ const result = await this._sdModal.showAsync({
192
+ ...modalInfo,
193
+ inputs: {
194
+ selectMode: "single",
195
+ selectedItemKeys: [this.selectedItem()]
196
+ .filter((v) => v != null)
197
+ .map((item) => item.__valueKey),
198
+ ...modalInfo.inputs,
199
+ },
200
+ });
201
+ if (result != null) {
202
+ const newSelectedItem = this.items().find((item) => item.__valueKey === result.selectedItemKeys[0]);
203
+ this.selectedItem.set(newSelectedItem);
204
+ }
205
+ }
206
+ tablerExternalLink = tablerExternalLink;
207
+ static ɵfac = function SdSharedDataSelectListControl_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdSharedDataSelectListControl)(); };
208
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SdSharedDataSelectListControl, selectors: [["sd-shared-data-select-list"]], contentQueries: function SdSharedDataSelectListControl_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
209
+ i0.ɵɵcontentQuerySignal(dirIndex, ctx.headerTplRef, _c0, 5, TemplateRef)(dirIndex, ctx.filterTplRef, _c1, 5, TemplateRef)(dirIndex, ctx.itemTplRef, SdItemOfTemplateDirective, 5, TemplateRef)(dirIndex, ctx.undefinedTplRef, _c2, 5, TemplateRef);
210
+ } if (rf & 2) {
211
+ i0.ɵɵqueryAdvance(4);
212
+ } }, hostAttrs: [1, "flex-column", "fill"], inputs: { selectedItem: [1, "selectedItem"], canChangeFn: [1, "canChangeFn"], items: [1, "items"], selectedIcon: [1, "selectedIcon"], useUndefined: [1, "useUndefined"], filterFn: [1, "filterFn"], modal: [1, "modal"], header: [1, "header"], pageItemCount: [1, "pageItemCount"] }, outputs: { selectedItem: "selectedItemChange" }, decls: 12, vars: 6, consts: [[1, "control-header", "p-default"], [1, "flex-column", "gap-sm", "p-default", "pt-0"], [1, "flex-row"], [3, "type", "placeholder", "value"], [1, "flex-fill"], [1, "flex-column", "gap-default"], [3, "currentPage", "totalPageCount"], [1, "flex-fill", 3, "inset"], [3, "selected", "selectedIcon"], [3, "ngTemplateOutlet"], [3, "click"], [3, "svg"], [3, "valueChange", "type", "placeholder", "value"], [3, "currentPageChange", "currentPage", "totalPageCount"], [3, "click", "selected", "selectedIcon"], [1, "tx-theme-gray-default"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function SdSharedDataSelectListControl_Template(rf, ctx) { if (rf & 1) {
213
+ i0.ɵɵconditionalCreate(0, SdSharedDataSelectListControl_Conditional_0_Template, 2, 1, "div", 0);
214
+ i0.ɵɵelementStart(1, "div", 1);
215
+ i0.ɵɵconditionalCreate(2, SdSharedDataSelectListControl_Conditional_2_Template, 4, 2, "div", 2);
216
+ i0.ɵɵconditionalCreate(3, SdSharedDataSelectListControl_Conditional_3_Template, 1, 3, "sd-textfield", 3)(4, SdSharedDataSelectListControl_Conditional_4_Template, 2, 1, "div");
217
+ i0.ɵɵelementEnd();
218
+ i0.ɵɵelementStart(5, "div", 4)(6, "div", 5);
219
+ i0.ɵɵconditionalCreate(7, SdSharedDataSelectListControl_Conditional_7_Template, 1, 2, "sd-pagination", 6);
220
+ i0.ɵɵelementStart(8, "sd-list", 7);
221
+ i0.ɵɵconditionalCreate(9, SdSharedDataSelectListControl_Conditional_9_Template, 3, 3, "sd-list-item", 8);
222
+ i0.ɵɵrepeaterCreate(10, SdSharedDataSelectListControl_For_11_Template, 2, 8, "sd-list-item", 8, _forTrack0);
223
+ i0.ɵɵelementEnd()()();
224
+ } if (rf & 2) {
225
+ i0.ɵɵconditional(ctx.header() ? 0 : -1);
226
+ i0.ɵɵadvance(2);
227
+ i0.ɵɵconditional(ctx.headerTplRef() || ctx.modal() ? 2 : -1);
228
+ i0.ɵɵadvance();
229
+ i0.ɵɵconditional(!ctx.filterTplRef() ? 3 : 4);
230
+ i0.ɵɵadvance(4);
231
+ i0.ɵɵconditional(ctx.pageItemCount() ? 7 : -1);
232
+ i0.ɵɵadvance();
233
+ i0.ɵɵproperty("inset", true);
234
+ i0.ɵɵadvance();
235
+ i0.ɵɵconditional(ctx.useUndefined() ? 9 : -1);
236
+ i0.ɵɵadvance();
237
+ i0.ɵɵrepeater(ctx.displayItems());
238
+ } }, dependencies: [NgTemplateOutlet,
239
+ SdTextfieldControl,
240
+ SdPaginationControl,
241
+ SdAnchorControl,
242
+ SdListControl,
243
+ SdListItemControl,
244
+ NgIcon], encapsulation: 2, changeDetection: 0 });
245
+ }
246
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdSharedDataSelectListControl, [{
247
+ type: Component,
248
+ args: [{
249
+ selector: "sd-shared-data-select-list",
250
+ changeDetection: ChangeDetectionStrategy.OnPush,
251
+ encapsulation: ViewEncapsulation.None,
252
+ standalone: true,
253
+ imports: [
254
+ NgTemplateOutlet,
255
+ SdTextfieldControl,
256
+ SdPaginationControl,
257
+ SdAnchorControl,
258
+ SdListControl,
259
+ SdListItemControl,
260
+ NgIcon,
261
+ ],
262
+ host: {
263
+ class: "flex-column fill",
264
+ },
265
+ template: `
266
+ @if (header()) {
267
+ <div class="control-header p-default">
268
+ {{ header() }}
269
+ </div>
270
+ }
271
+
272
+ <div class="flex-column gap-sm p-default pt-0">
273
+ @if (headerTplRef() || modal()) {
274
+ <div class="flex-row">
275
+ <div class="flex-fill">
276
+ @if (headerTplRef()) {
277
+ <ng-template [ngTemplateOutlet]="headerTplRef()!"></ng-template>
278
+ }
279
+ </div>
280
+ @if (modal()) {
281
+ <sd-anchor (click)="onModalButtonClick()">
282
+ <ng-icon [svg]="tablerExternalLink" />
283
+ </sd-anchor>
284
+ }
285
+ </div>
286
+ }
287
+
288
+ @if (!filterTplRef()) {
289
+ <sd-textfield [type]="'text'" [placeholder]="'검색어'" [(value)]="searchText" />
290
+ } @else {
291
+ <div>
292
+ <ng-template [ngTemplateOutlet]="filterTplRef()!" />
293
+ </div>
294
+ }
295
+ </div>
296
+
297
+ <div class="flex-fill">
298
+ <div class="flex-column gap-default">
299
+ @if (pageItemCount()) {
300
+ <sd-pagination [(currentPage)]="page" [totalPageCount]="pageLength()" />
301
+ }
302
+
303
+ <sd-list [inset]="true" class="flex-fill">
304
+ @if (useUndefined()) {
305
+ <sd-list-item
306
+ [selected]="selectedItem() === undefined"
307
+ (click)="select(undefined)"
308
+ [selectedIcon]="selectedIcon()"
309
+ >
310
+ @if (undefinedTplRef()) {
311
+ <ng-template [ngTemplateOutlet]="undefinedTplRef()!" />
312
+ } @else {
313
+ <span class="tx-theme-gray-default">미지정</span>
314
+ }
315
+ </sd-list-item>
316
+ }
317
+ @for (item of displayItems(); let index = $index; track item.__valueKey) {
318
+ <sd-list-item
319
+ [selected]="selectedItem() === item"
320
+ (click)="toggle(item)"
321
+ [selectedIcon]="selectedIcon()"
322
+ >
323
+ <ng-template
324
+ [ngTemplateOutlet]="itemTplRef() ?? null"
325
+ [ngTemplateOutletContext]="{
326
+ $implicit: item,
327
+ item: item,
328
+ index: index,
329
+ depth: 0,
330
+ }"
331
+ ></ng-template>
332
+ </sd-list-item>
333
+ }
334
+ </sd-list>
335
+ </div>
336
+ </div>
337
+ `,
338
+ }]
339
+ }], () => [], { selectedItem: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedItem", required: false }] }, { type: i0.Output, args: ["selectedItemChange"] }], canChangeFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "canChangeFn", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: true }] }], selectedIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedIcon", required: false }] }], useUndefined: [{ type: i0.Input, args: [{ isSignal: true, alias: "useUndefined", required: false }] }], filterFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterFn", required: false }] }], modal: [{ type: i0.Input, args: [{ isSignal: true, alias: "modal", required: false }] }], header: [{ type: i0.Input, args: [{ isSignal: true, alias: "header", required: false }] }], headerTplRef: [{ type: i0.ContentChild, args: ["headerTpl", { ...{
340
+ read: TemplateRef,
341
+ }, isSignal: true }] }], filterTplRef: [{ type: i0.ContentChild, args: ["filterTpl", { ...{
342
+ read: TemplateRef,
343
+ }, isSignal: true }] }], itemTplRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SdItemOfTemplateDirective), { ...{ read: TemplateRef }, isSignal: true }] }], undefinedTplRef: [{ type: i0.ContentChild, args: ["undefinedTpl", { ...{
344
+ read: TemplateRef,
345
+ }, isSignal: true }] }], pageItemCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageItemCount", required: false }] }] }); })();
346
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdSharedDataSelectListControl, { className: "SdSharedDataSelectListControl", filePath: "packages/angular/src/features/shared-data/sd-shared-data-select-list.control.ts", lineNumber: 128, forbidOrphanRendering: true }); })();
@@ -0,0 +1,50 @@
1
+ import { TemplateRef } from "@angular/core";
2
+ import type { ISharedDataBase } from "../../core/providers/sd-shared-data.provider";
3
+ import { type TSelectModeValue } from "../../ui/form/select/sd-select.control";
4
+ import { type SdItemOfTemplateContext } from "../../core/directives/sd-item-of-template.directive";
5
+ import { type ISdModal, type ISdModalInfo } from "../../ui/overlay/modal/sd-modal.provider";
6
+ import type { ISdSelectModal, TSdSelectModalInfo } from "../../ui/form/button/sd-modal-select-button.control";
7
+ import * as i0 from "@angular/core";
8
+ export declare class SdSharedDataSelectControl<TItem extends ISharedDataBase<string | number>, TMode extends keyof TSelectModeValue<TItem>, TModal extends ISdSelectModal<any>> {
9
+ private readonly _sdModal;
10
+ private readonly _selectCtrl;
11
+ value: import("@angular/core").ModelSignal<TSelectModeValue<TItem["__valueKey"] | undefined>[TMode] | undefined>;
12
+ items: import("@angular/core").InputSignal<TItem[]>;
13
+ disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
14
+ required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
15
+ useUndefined: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
16
+ inset: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
17
+ inline: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
18
+ size: import("@angular/core").InputSignal<"sm" | "lg" | undefined>;
19
+ selectMode: import("@angular/core").InputSignal<TMode>;
20
+ filterFn: import("@angular/core").InputSignal<((item: TItem, index: number, ...params: any[]) => boolean) | undefined>;
21
+ filterFnParams: import("@angular/core").InputSignal<any[] | undefined>;
22
+ modal: import("@angular/core").InputSignal<TSdSelectModalInfo<TModal> | undefined>;
23
+ editModal: import("@angular/core").InputSignal<ISdModalInfo<ISdModal<boolean>, ""> | undefined>;
24
+ selectClass: import("@angular/core").InputSignal<string | undefined>;
25
+ multiSelectionDisplayDirection: import("@angular/core").InputSignal<"vertical" | undefined>;
26
+ getIsHiddenFn: import("@angular/core").InputSignal<(item: TItem, index: number) => boolean>;
27
+ getSearchTextFn: import("@angular/core").InputSignal<(item: TItem, index: number) => string>;
28
+ displayOrderKeyProp: import("@angular/core").InputSignal<string | undefined>;
29
+ itemTplRef: import("@angular/core").Signal<TemplateRef<SdItemOfTemplateContext<TItem>> | undefined>;
30
+ undefinedTplRef: import("@angular/core").Signal<TemplateRef<void> | undefined>;
31
+ searchText: import("@angular/core").WritableSignal<string | undefined>;
32
+ isDropdownOpen: import("@angular/core").Signal<boolean>;
33
+ hasParentKey: import("@angular/core").Signal<boolean>;
34
+ itemByParentKeyMap: import("@angular/core").Signal<Map<TItem["__valueKey"] | undefined, TItem[]> | undefined>;
35
+ rootDisplayItems: import("@angular/core").Signal<TItem[]>;
36
+ selectedKeys: import("@angular/core").Signal<any[]>;
37
+ constructor();
38
+ getItemSelectable(item: TItem, _index: number, depth: number): boolean;
39
+ getItemVisible(item: TItem, index: number): boolean;
40
+ isIncludeSearchText(item: TItem, index: number): boolean;
41
+ getChildren: (item: ISharedDataBase<string | number>) => TItem[];
42
+ onUndefinedClick(): void;
43
+ onModalButtonClick(event: MouseEvent): Promise<void>;
44
+ onEditModalButtonClick(event: MouseEvent): Promise<void>;
45
+ protected readonly tablerSearch = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"></path><path d=\"M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0\"></path><path d=\"M21 21l-6 -6\"></path></svg>";
46
+ protected readonly tablerEdit = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"></path><path d=\"M7 7h-1a2 2 0 0 0 -2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2 -2v-1\"></path><path d=\"M20.385 6.585a2.1 2.1 0 0 0 -2.97 -2.97l-8.415 8.385v3h3l8.385 -8.415z\"></path><path d=\"M16 5l3 3\"></path></svg>";
47
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdSharedDataSelectControl<any, any, any>, never>;
48
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdSharedDataSelectControl<any, any, any>, "sd-shared-data-select", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "useUndefined": { "alias": "useUndefined"; "required": false; "isSignal": true; }; "inset": { "alias": "inset"; "required": false; "isSignal": true; }; "inline": { "alias": "inline"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "selectMode": { "alias": "selectMode"; "required": false; "isSignal": true; }; "filterFn": { "alias": "filterFn"; "required": false; "isSignal": true; }; "filterFnParams": { "alias": "filterFnParams"; "required": false; "isSignal": true; }; "modal": { "alias": "modal"; "required": false; "isSignal": true; }; "editModal": { "alias": "editModal"; "required": false; "isSignal": true; }; "selectClass": { "alias": "selectClass"; "required": false; "isSignal": true; }; "multiSelectionDisplayDirection": { "alias": "multiSelectionDisplayDirection"; "required": false; "isSignal": true; }; "getIsHiddenFn": { "alias": "getIsHiddenFn"; "required": false; "isSignal": true; }; "getSearchTextFn": { "alias": "getSearchTextFn"; "required": false; "isSignal": true; }; "displayOrderKeyProp": { "alias": "displayOrderKeyProp"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, ["itemTplRef", "undefinedTplRef"], never, true, never>;
49
+ }
50
+ //# sourceMappingURL=sd-shared-data-select.control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sd-shared-data-select.control.d.ts","sourceRoot":"","sources":["../../../src/features/shared-data/sd-shared-data-select.control.ts"],"names":[],"mappings":"AACA,OAAO,EAWL,WAAW,EAIZ,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAIhG,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,YAAY,EAClB,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EACnB,MAAM,qDAAqD,CAAC;;AAI7D,qBAwGa,yBAAyB,CACpC,KAAK,SAAS,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,EAC9C,KAAK,SAAS,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAC3C,MAAM,SAAS,cAAc,CAAC,GAAG,CAAC;IAElC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IAE1D,KAAK,4GAAqE;IAE1E,KAAK,+CAA6B;IAElC,QAAQ,qEAAiD;IACzD,QAAQ,qEAAiD;IACzD,YAAY,qEAAiD;IAC7D,KAAK,qEAAiD;IACtD,MAAM,qEAAiD;IAEvD,IAAI,+DAAwB;IAC5B,UAAU,6CAA4B;IACtC,QAAQ,8CAAgB,KAAK,SAAS,MAAM,aAAa,GAAG,EAAE,KAAK,OAAO,eAAI;IAC9E,cAAc,yDAAkB;IAEhC,KAAK,8EAAuC;IAC5C,SAAS,uFAA4C;IAErD,WAAW,0DAAmB;IAC9B,8BAA8B,8DAAuB;IACrD,aAAa,6CAAgB,KAAK,SAAS,MAAM,KAAK,OAAO,EAE3D;IACF,eAAe,6CAAgB,KAAK,SAAS,MAAM,KAAK,MAAM,EAE5D;IACF,mBAAmB,0DAAmB;IAEtC,UAAU,0FAGR;IACF,eAAe,gEAEZ;IAEH,UAAU,6DAAyC;IAEnD,cAAc,0CAA+D;IAE7E,YAAY,0CAEV;IAEF,kBAAkB,4FAcf;IAEH,gBAAgB,0CAyBb;IAEH,YAAY,wCAKT;;IAaH,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAMtE,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAcnD,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IA4BxD,WAAW,GAAI,MAAM,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,KAAG,KAAK,EAAE,CAiB7D;IAEF,gBAAgB,IAAI,IAAI;IAIlB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBpD,sBAAsB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9D,SAAS,CAAC,QAAQ,CAAC,YAAY,yXAAgB;IAC/C,SAAS,CAAC,QAAQ,CAAC,UAAU,geAAc;yCA5NhC,yBAAyB;2CAAzB,yBAAyB;CA6NrC"}