@simplysm/angular 14.0.42 → 14.0.44

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 (241) hide show
  1. package/dist/controls/button/sd-additional-button.js +1 -1
  2. package/dist/controls/button/sd-anchor.js +1 -1
  3. package/dist/controls/button/sd-button.js +1 -1
  4. package/dist/controls/button/sd-modal-select-button.d.ts +1 -1
  5. package/dist/controls/button/sd-modal-select-button.d.ts.map +1 -1
  6. package/dist/controls/button/sd-modal-select-button.js +8 -6
  7. package/dist/controls/checkbox/sd-checkbox-group-item.js +1 -1
  8. package/dist/controls/checkbox/sd-checkbox-group.js +1 -1
  9. package/dist/controls/checkbox/sd-checkbox.js +1 -1
  10. package/dist/controls/checkbox/sd-switch.js +1 -1
  11. package/dist/controls/collapse/sd-collapse-icon.d.ts.map +1 -1
  12. package/dist/controls/collapse/sd-collapse-icon.js +3 -3
  13. package/dist/controls/collapse/sd-collapse.d.ts +1 -1
  14. package/dist/controls/collapse/sd-collapse.d.ts.map +1 -1
  15. package/dist/controls/collapse/sd-collapse.js +8 -7
  16. package/dist/controls/dropdown/sd-dropdown-popup.d.ts +2 -0
  17. package/dist/controls/dropdown/sd-dropdown-popup.d.ts.map +1 -1
  18. package/dist/controls/dropdown/sd-dropdown-popup.js +21 -8
  19. package/dist/controls/dropdown/sd-dropdown.d.ts.map +1 -1
  20. package/dist/controls/dropdown/sd-dropdown.js +5 -16
  21. package/dist/controls/form/sd-form.js +1 -1
  22. package/dist/controls/gap/sd-gap.js +5 -5
  23. package/dist/controls/input/sd-date-range-picker.d.ts +1 -0
  24. package/dist/controls/input/sd-date-range-picker.d.ts.map +1 -1
  25. package/dist/controls/input/sd-date-range-picker.js +14 -19
  26. package/dist/controls/input/sd-numpad.js +3 -3
  27. package/dist/controls/input/sd-range.js +1 -1
  28. package/dist/controls/input/sd-textarea.js +2 -2
  29. package/dist/controls/input/sd-textfield-type-handlers.js +2 -2
  30. package/dist/controls/input/sd-textfield.js +9 -9
  31. package/dist/controls/list/sd-list-item.d.ts +0 -1
  32. package/dist/controls/list/sd-list-item.d.ts.map +1 -1
  33. package/dist/controls/list/sd-list-item.js +38 -38
  34. package/dist/controls/list/sd-list.d.ts.map +1 -1
  35. package/dist/controls/list/sd-list.js +3 -3
  36. package/dist/controls/pagination/sd-pagination.js +1 -1
  37. package/dist/controls/select/sd-select-button.d.ts.map +1 -1
  38. package/dist/controls/select/sd-select-button.js +4 -8
  39. package/dist/controls/select/sd-select-item.d.ts +3 -3
  40. package/dist/controls/select/sd-select-item.d.ts.map +1 -1
  41. package/dist/controls/select/sd-select-item.js +27 -20
  42. package/dist/controls/select/sd-select.d.ts +5 -4
  43. package/dist/controls/select/sd-select.d.ts.map +1 -1
  44. package/dist/controls/select/sd-select.js +20 -17
  45. package/dist/controls/tab/sd-tab-item.js +1 -1
  46. package/dist/controls/tab/sd-tab.js +1 -1
  47. package/dist/core/app-structure/sd-app-structure.utils.js +1 -1
  48. package/dist/core/busy/sd-busy-container.d.ts.map +1 -1
  49. package/dist/core/busy/sd-busy-container.js +62 -68
  50. package/dist/core/busy/sd-busy.provider.js +1 -1
  51. package/dist/core/commands/sd-command.d.ts +13 -0
  52. package/dist/core/commands/sd-command.d.ts.map +1 -0
  53. package/dist/core/commands/sd-command.js +52 -0
  54. package/dist/core/error-handler/sd-global-error-handler.plugin.js +1 -1
  55. package/dist/core/events/sd-events.d.ts +1 -6
  56. package/dist/core/events/sd-events.d.ts.map +1 -1
  57. package/dist/core/events/sd-events.js +3 -11
  58. package/dist/core/events/sd-intersection.d.ts +13 -0
  59. package/dist/core/events/sd-intersection.d.ts.map +1 -0
  60. package/dist/core/events/sd-intersection.js +27 -0
  61. package/dist/core/events/sd-resize.d.ts +16 -0
  62. package/dist/core/events/sd-resize.d.ts.map +1 -0
  63. package/dist/core/events/{sd-resize-event.plugin.js → sd-resize.js} +18 -20
  64. package/dist/core/file-dialog/sd-file-dialog.provider.js +1 -1
  65. package/dist/core/modal/injectDragResize.js +9 -9
  66. package/dist/core/modal/injectFocusTrap.js +1 -1
  67. package/dist/core/modal/sd-confirm-modal.js +1 -1
  68. package/dist/core/modal/sd-modal.d.ts +8 -1
  69. package/dist/core/modal/sd-modal.d.ts.map +1 -1
  70. package/dist/core/modal/sd-modal.js +135 -39
  71. package/dist/core/modal/sd-modal.provider.js +5 -5
  72. package/dist/core/modal/sd-prompt-modal.js +1 -1
  73. package/dist/core/provideSdAngular.d.ts.map +1 -1
  74. package/dist/core/provideSdAngular.js +0 -10
  75. package/dist/core/ripple/setupRipple.js +5 -5
  76. package/dist/core/routing/menu-utils.js +1 -1
  77. package/dist/core/routing/sd-navigate-window.provider.js +1 -1
  78. package/dist/core/routing/sd-router-link.js +1 -1
  79. package/dist/core/selection/setupCumulateSelectedKeys.js +3 -3
  80. package/dist/core/setupModelHook.js +1 -1
  81. package/dist/core/toast/sd-toast-container.d.ts +1 -1
  82. package/dist/core/toast/sd-toast-container.js +3 -7
  83. package/dist/core/toast/sd-toast.d.ts.map +1 -1
  84. package/dist/core/toast/sd-toast.js +27 -24
  85. package/dist/core/toast/sd-toast.provider.js +6 -6
  86. package/dist/core/validation/setupInvalid.js +2 -1
  87. package/dist/data/data-detail/sd-data-detail.d.ts +2 -1
  88. package/dist/data/data-detail/sd-data-detail.d.ts.map +1 -1
  89. package/dist/data/data-detail/sd-data-detail.js +37 -33
  90. package/dist/data/data-select-button/sd-data-select-button.js +1 -1
  91. package/dist/data/data-sheet/sd-data-sheet.d.ts +2 -1
  92. package/dist/data/data-sheet/sd-data-sheet.d.ts.map +1 -1
  93. package/dist/data/data-sheet/sd-data-sheet.js +30 -22
  94. package/dist/data/kanban/sd-kanban-board.js +1 -1
  95. package/dist/data/kanban/sd-kanban-lane.js +1 -1
  96. package/dist/data/kanban/sd-kanban.d.ts +1 -1
  97. package/dist/data/kanban/sd-kanban.d.ts.map +1 -1
  98. package/dist/data/kanban/sd-kanban.js +4 -4
  99. package/dist/data/permission-table/sd-permission-table.js +6 -6
  100. package/dist/data/shared-data/sd-shared-data-select-button.js +1 -1
  101. package/dist/data/shared-data/sd-shared-data-select-list.js +3 -3
  102. package/dist/data/shared-data/sd-shared-data-select.d.ts +1 -1
  103. package/dist/data/shared-data/sd-shared-data-select.d.ts.map +1 -1
  104. package/dist/data/shared-data/sd-shared-data-select.js +29 -54
  105. package/dist/data/sheet/injectSheetDomAccessor.d.ts +6 -2
  106. package/dist/data/sheet/injectSheetDomAccessor.d.ts.map +1 -1
  107. package/dist/data/sheet/injectSheetDomAccessor.js +27 -22
  108. package/dist/data/sheet/injectSheetSelectRowIndicator.d.ts +10 -0
  109. package/dist/data/sheet/injectSheetSelectRowIndicator.d.ts.map +1 -0
  110. package/dist/data/sheet/injectSheetSelectRowIndicator.js +55 -0
  111. package/dist/data/sheet/sd-sheet-config.modal.d.ts +18 -19
  112. package/dist/data/sheet/sd-sheet-config.modal.d.ts.map +1 -1
  113. package/dist/data/sheet/sd-sheet-config.modal.js +357 -217
  114. package/dist/data/sheet/sd-sheet.d.ts +27 -13
  115. package/dist/data/sheet/sd-sheet.d.ts.map +1 -1
  116. package/dist/data/sheet/sd-sheet.js +609 -291
  117. package/dist/data/sheet/useSheetCellAgent.js +6 -6
  118. package/dist/data/sheet/useSheetCellStyling.d.ts.map +1 -1
  119. package/dist/data/sheet/useSheetCellStyling.js +4 -4
  120. package/dist/data/sheet/useSheetFocusIndicator.d.ts +7 -0
  121. package/dist/data/sheet/useSheetFocusIndicator.d.ts.map +1 -0
  122. package/dist/data/sheet/useSheetFocusIndicator.js +53 -0
  123. package/dist/data/sheet/useSheetLayoutEngine.js +1 -1
  124. package/dist/data/state-preset/sd-state-preset.d.ts.map +1 -1
  125. package/dist/data/state-preset/sd-state-preset.js +14 -14
  126. package/dist/features/address/sd-address-search.modal.js +3 -3
  127. package/dist/features/editor/sd-tiptap-editor.js +6 -6
  128. package/dist/features/editor/useTiptapToolbar.js +2 -2
  129. package/dist/features/theme/sd-theme-selector.js +1 -1
  130. package/dist/features/visual/sd-barcode.js +1 -1
  131. package/dist/features/visual/sd-calendar.js +2 -2
  132. package/dist/features/visual/sd-echarts.d.ts +2 -1
  133. package/dist/features/visual/sd-echarts.d.ts.map +1 -1
  134. package/dist/features/visual/sd-echarts.js +5 -3
  135. package/dist/features/visual/sd-label.js +1 -1
  136. package/dist/features/visual/sd-note.js +1 -1
  137. package/dist/features/visual/sd-progress.js +1 -1
  138. package/dist/index.d.ts +3 -5
  139. package/dist/index.d.ts.map +1 -1
  140. package/dist/index.js +3 -5
  141. package/dist/layout/base-container/sd-base-container.js +3 -3
  142. package/dist/layout/dock/sd-dock-container.js +1 -1
  143. package/dist/layout/dock/sd-dock.d.ts +3 -2
  144. package/dist/layout/dock/sd-dock.d.ts.map +1 -1
  145. package/dist/layout/dock/sd-dock.js +6 -4
  146. package/dist/layout/sidebar/sd-sidebar-container.js +5 -5
  147. package/dist/layout/sidebar/sd-sidebar-menu.d.ts.map +1 -1
  148. package/dist/layout/sidebar/sd-sidebar-menu.js +7 -6
  149. package/dist/layout/sidebar/sd-sidebar-user.js +1 -1
  150. package/dist/layout/sidebar/sd-sidebar.js +1 -1
  151. package/dist/layout/topbar/sd-topbar-container.js +1 -1
  152. package/dist/layout/topbar/sd-topbar-menu.d.ts.map +1 -1
  153. package/dist/layout/topbar/sd-topbar-menu.js +7 -7
  154. package/dist/layout/topbar/sd-topbar-user.js +1 -1
  155. package/dist/layout/topbar/sd-topbar.js +3 -3
  156. package/package.json +5 -5
  157. package/src/controls/button/sd-modal-select-button.ts +7 -2
  158. package/src/controls/collapse/sd-collapse-icon.ts +2 -2
  159. package/src/controls/collapse/sd-collapse.ts +4 -5
  160. package/src/controls/dropdown/sd-dropdown-popup.ts +15 -2
  161. package/src/controls/dropdown/sd-dropdown.ts +4 -16
  162. package/src/controls/gap/sd-gap.ts +4 -4
  163. package/src/controls/input/sd-date-range-picker.ts +13 -16
  164. package/src/controls/input/sd-numpad.ts +1 -1
  165. package/src/controls/input/sd-textarea.ts +1 -1
  166. package/src/controls/input/sd-textfield-type-handlers.ts +2 -2
  167. package/src/controls/input/sd-textfield.ts +6 -6
  168. package/src/controls/list/sd-list-item.ts +40 -26
  169. package/src/controls/list/sd-list.ts +2 -1
  170. package/src/controls/select/sd-select-button.ts +8 -11
  171. package/src/controls/select/sd-select-item.ts +35 -27
  172. package/src/controls/select/sd-select.ts +111 -41
  173. package/src/core/app-structure/sd-app-structure.utils.ts +1 -1
  174. package/src/core/busy/sd-busy-container.ts +235 -123
  175. package/src/core/busy/sd-busy.provider.ts +1 -1
  176. package/src/core/commands/sd-command.ts +46 -0
  177. package/src/core/error-handler/sd-global-error-handler.plugin.ts +1 -1
  178. package/src/core/events/sd-events.ts +1 -12
  179. package/src/core/events/sd-intersection.ts +29 -0
  180. package/src/core/events/{sd-resize-event.plugin.ts → sd-resize.ts} +17 -24
  181. package/src/core/file-dialog/sd-file-dialog.provider.ts +1 -1
  182. package/src/core/modal/injectDragResize.ts +9 -9
  183. package/src/core/modal/injectFocusTrap.ts +1 -1
  184. package/src/core/modal/sd-modal.provider.ts +5 -5
  185. package/src/core/modal/sd-modal.ts +119 -41
  186. package/src/core/provideSdAngular.ts +0 -10
  187. package/src/core/ripple/setupRipple.ts +5 -5
  188. package/src/core/routing/menu-utils.ts +1 -1
  189. package/src/core/routing/sd-navigate-window.provider.ts +1 -1
  190. package/src/core/routing/sd-router-link.ts +1 -1
  191. package/src/core/selection/setupCumulateSelectedKeys.ts +3 -3
  192. package/src/core/setupModelHook.ts +1 -1
  193. package/src/core/toast/sd-toast-container.ts +1 -1
  194. package/src/core/toast/sd-toast.provider.ts +6 -6
  195. package/src/core/toast/sd-toast.ts +25 -22
  196. package/src/core/validation/setupInvalid.ts +2 -1
  197. package/src/data/data-detail/sd-data-detail.ts +15 -11
  198. package/src/data/data-sheet/sd-data-sheet.ts +13 -15
  199. package/src/data/kanban/sd-kanban.ts +4 -5
  200. package/src/data/permission-table/sd-permission-table.ts +4 -4
  201. package/src/data/shared-data/sd-shared-data-select-list.ts +1 -1
  202. package/src/data/shared-data/sd-shared-data-select.ts +8 -27
  203. package/src/data/sheet/injectSheetDomAccessor.ts +37 -25
  204. package/src/data/sheet/injectSheetSelectRowIndicator.ts +69 -0
  205. package/src/data/sheet/sd-sheet-config.modal.ts +215 -191
  206. package/src/data/sheet/sd-sheet.ts +529 -209
  207. package/src/data/sheet/useSheetCellAgent.ts +8 -8
  208. package/src/data/sheet/useSheetCellStyling.ts +4 -8
  209. package/src/data/sheet/useSheetFocusIndicator.ts +66 -0
  210. package/src/data/sheet/useSheetLayoutEngine.ts +1 -1
  211. package/src/data/state-preset/sd-state-preset.ts +26 -13
  212. package/src/features/address/sd-address-search.modal.ts +1 -1
  213. package/src/features/editor/sd-tiptap-editor.ts +4 -4
  214. package/src/features/editor/useTiptapToolbar.ts +2 -2
  215. package/src/features/visual/sd-calendar.ts +1 -1
  216. package/src/features/visual/sd-echarts.ts +2 -0
  217. package/src/index.ts +4 -6
  218. package/src/layout/base-container/sd-base-container.ts +1 -1
  219. package/src/layout/dock/sd-dock.ts +3 -2
  220. package/src/layout/sidebar/sd-sidebar-container.ts +2 -2
  221. package/src/layout/sidebar/sd-sidebar-menu.ts +1 -3
  222. package/src/layout/topbar/sd-topbar-menu.ts +11 -15
  223. package/src/layout/topbar/sd-topbar.ts +1 -1
  224. package/dist/core/commands/sd-insert-command-event.plugin.d.ts +0 -11
  225. package/dist/core/commands/sd-insert-command-event.plugin.d.ts.map +0 -1
  226. package/dist/core/commands/sd-insert-command-event.plugin.js +0 -35
  227. package/dist/core/commands/sd-refresh-command-event.plugin.d.ts +0 -11
  228. package/dist/core/commands/sd-refresh-command-event.plugin.d.ts.map +0 -1
  229. package/dist/core/commands/sd-refresh-command-event.plugin.js +0 -38
  230. package/dist/core/commands/sd-save-command-event.plugin.d.ts +0 -11
  231. package/dist/core/commands/sd-save-command-event.plugin.d.ts.map +0 -1
  232. package/dist/core/commands/sd-save-command-event.plugin.js +0 -38
  233. package/dist/core/events/sd-intersection-event.plugin.d.ts +0 -13
  234. package/dist/core/events/sd-intersection-event.plugin.d.ts.map +0 -1
  235. package/dist/core/events/sd-intersection-event.plugin.js +0 -29
  236. package/dist/core/events/sd-resize-event.plugin.d.ts +0 -16
  237. package/dist/core/events/sd-resize-event.plugin.d.ts.map +0 -1
  238. package/src/core/commands/sd-insert-command-event.plugin.ts +0 -39
  239. package/src/core/commands/sd-refresh-command-event.plugin.ts +0 -44
  240. package/src/core/commands/sd-save-command-event.plugin.ts +0 -44
  241. package/src/core/events/sd-intersection-event.plugin.ts +0 -35
@@ -17,6 +17,7 @@ const _c1 = ["beforeTpl"];
17
17
  const _c2 = [[["sd-select-button"]], "*"];
18
18
  const _c3 = ["sd-select-button", "*"];
19
19
  const _c4 = (a0, a1, a2, a3) => ({ $implicit: a0, item: a1, index: a2, depth: a3 });
20
+ function _forTrack0($index, $item) { return this.trackByFn()($item.data, $item.index); }
20
21
  function SdSelect_Conditional_4_Template(rf, ctx) { if (rf & 1) {
21
22
  i0.ɵɵelement(0, "div", 4);
22
23
  } if (rf & 2) {
@@ -87,7 +88,7 @@ function SdSelect_Conditional_13_For_1_Template(rf, ctx) { if (rf & 1) {
87
88
  i0.ɵɵproperty("ngTemplateOutlet", tpl_r5)("ngTemplateOutletContext", i0.ɵɵpureFunction4(2, _c4, item_r4.data, item_r4.data, item_r4.index, item_r4.depth));
88
89
  } }
89
90
  function SdSelect_Conditional_13_Template(rf, ctx) { if (rf & 1) {
90
- i0.ɵɵrepeaterCreate(0, SdSelect_Conditional_13_For_1_Template, 1, 7, null, 13, i0.ɵɵrepeaterTrackByIdentity);
91
+ i0.ɵɵrepeaterCreate(0, SdSelect_Conditional_13_For_1_Template, 1, 7, null, 13, _forTrack0, true);
91
92
  } if (rf & 2) {
92
93
  const ctx_r1 = i0.ɵɵnextContext();
93
94
  i0.ɵɵrepeater(ctx_r1._flatItems());
@@ -107,10 +108,11 @@ export class SdSelect {
107
108
  hideSelectAll = input(false, { ...(ngDevMode ? { debugName: "hideSelectAll" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
108
109
  multiSelectionDisplayDirection = input(...(ngDevMode ? [undefined, { debugName: "multiSelectionDisplayDirection" }] : /* istanbul ignore next */ []));
109
110
  items = input(...(ngDevMode ? [undefined, { debugName: "items" }] : /* istanbul ignore next */ []));
111
+ trackByFn = input((item) => item, ...(ngDevMode ? [{ debugName: "trackByFn" }] : /* istanbul ignore next */ []));
110
112
  getChildrenFn = input(...(ngDevMode ? [undefined, { debugName: "getChildrenFn" }] : /* istanbul ignore next */ []));
111
113
  contentClass = input(...(ngDevMode ? [undefined, { debugName: "contentClass" }] : /* istanbul ignore next */ []));
112
114
  contentStyle = input(...(ngDevMode ? [undefined, { debugName: "contentStyle" }] : /* istanbul ignore next */ []));
113
- dropdownOpen = signal(false, ...(ngDevMode ? [{ debugName: "dropdownOpen" }] : /* istanbul ignore next */ []));
115
+ dropdownOpen = model(false, ...(ngDevMode ? [{ debugName: "dropdownOpen" }] : /* istanbul ignore next */ []));
114
116
  tablerCaretDown = tablerCaretDown;
115
117
  _itemControls = contentChildren(SdSelectItem, ...(ngDevMode ? [{ debugName: "_itemControls" }] : /* istanbul ignore next */ []));
116
118
  _dropdownControl = viewChild.required(SdDropdown);
@@ -129,9 +131,9 @@ export class SdSelect {
129
131
  const walk = (list, depth) => {
130
132
  for (const item of list) {
131
133
  flat.push({ data: item, index: index++, depth });
132
- if (getChildren !== undefined) {
134
+ if (getChildren != null) {
133
135
  const children = getChildren(item);
134
- if (children !== undefined) {
136
+ if (children != null) {
135
137
  walk(children, depth + 1);
136
138
  }
137
139
  }
@@ -159,7 +161,7 @@ export class SdSelect {
159
161
  const popupEl = this._dropdownControl().popupElRef().nativeElement;
160
162
  const cls = this.contentClass();
161
163
  const addedClasses = [];
162
- if (cls !== undefined) {
164
+ if (cls != null) {
163
165
  for (const c of cls.split(" ").filter(Boolean)) {
164
166
  popupEl.classList.add(c);
165
167
  addedClasses.push(c);
@@ -167,7 +169,7 @@ export class SdSelect {
167
169
  }
168
170
  const style = this.contentStyle();
169
171
  const addedStyleProps = [];
170
- if (style !== undefined) {
172
+ if (style != null) {
171
173
  const tempEl = document.createElement("div");
172
174
  tempEl.style.cssText = style;
173
175
  for (let i = 0; i < tempEl.style.length; i++) {
@@ -229,12 +231,13 @@ export class SdSelect {
229
231
  return;
230
232
  }
231
233
  const selectedItems = untracked(() => items.filter((item) => arr.includes(item.value())));
232
- const separator = this.multiSelectionDisplayDirection() === "vertical" ? "<br>" : ", ";
234
+ const isVertical = this.multiSelectionDisplayDirection() === "vertical";
235
+ const separator = isVertical ? "<div class='p-sm-0'></div>" : ", ";
233
236
  const htmlParts = [];
234
237
  for (const item of selectedItems) {
235
238
  const html = item.contentHTML();
236
239
  if (html !== "") {
237
- htmlParts.push(html);
240
+ htmlParts.push(`<span style="display: inline">${html}</span>`);
238
241
  }
239
242
  }
240
243
  if (htmlParts.length > 0) {
@@ -314,7 +317,7 @@ export class SdSelect {
314
317
  i0.ɵɵqueryAdvance(2);
315
318
  } }, hostVars: 4, hostBindings: function SdSelect_HostBindings(rf, ctx) { if (rf & 2) {
316
319
  i0.ɵɵattribute("data-sd-size", ctx.size())("data-sd-inline", ctx.inline())("data-sd-inset", ctx.inset())("data-sd-disabled", ctx.disabled());
317
- } }, inputs: { selectMode: [1, "selectMode"], value: [1, "value"], placeholder: [1, "placeholder"], disabled: [1, "disabled"], inline: [1, "inline"], inset: [1, "inset"], size: [1, "size"], required: [1, "required"], hideSelectAll: [1, "hideSelectAll"], multiSelectionDisplayDirection: [1, "multiSelectionDisplayDirection"], items: [1, "items"], getChildrenFn: [1, "getChildrenFn"], contentClass: [1, "contentClass"], contentStyle: [1, "contentStyle"] }, outputs: { value: "valueChange" }, ngContentSelectors: _c3, decls: 15, vars: 10, consts: [["contentEl", ""], [3, "openChange", "disabled", "open"], [1, "_sd-select-control", 3, "sdRipple"], [1, "_sd-select-control-content"], [3, "innerHTML"], [1, "tx-trans-lighter"], [1, "_sd-select-control-icon"], [3, "ngTemplateOutlet"], [1, "_sd-select-all-bar"], [3, "svg"], ["data-sd-select-all", "", 3, "click"], [3, "width"], ["data-sd-deselect-all", "", 3, "click"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function SdSelect_Template(rf, ctx) { if (rf & 1) {
320
+ } }, inputs: { selectMode: [1, "selectMode"], value: [1, "value"], placeholder: [1, "placeholder"], disabled: [1, "disabled"], inline: [1, "inline"], inset: [1, "inset"], size: [1, "size"], required: [1, "required"], hideSelectAll: [1, "hideSelectAll"], multiSelectionDisplayDirection: [1, "multiSelectionDisplayDirection"], items: [1, "items"], trackByFn: [1, "trackByFn"], getChildrenFn: [1, "getChildrenFn"], contentClass: [1, "contentClass"], contentStyle: [1, "contentStyle"], dropdownOpen: [1, "dropdownOpen"] }, outputs: { value: "valueChange", dropdownOpen: "dropdownOpenChange" }, ngContentSelectors: _c3, decls: 15, vars: 10, consts: [["contentEl", ""], [3, "openChange", "disabled", "open"], [1, "_sd-select-control", 3, "sdRipple"], [1, "_sd-select-control-content"], [3, "innerHTML"], [1, "sd-text-color-gray-default"], [1, "_sd-select-control-icon"], [3, "ngTemplateOutlet"], [1, "_sd-select-all-bar"], [3, "svg"], ["data-sd-select-all", "", 3, "click"], [3, "width"], ["data-sd-deselect-all", "", 3, "click"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function SdSelect_Template(rf, ctx) { if (rf & 1) {
318
321
  const _r1 = i0.ɵɵgetCurrentView();
319
322
  i0.ɵɵprojectionDef(_c2);
320
323
  i0.ɵɵelementStart(0, "sd-dropdown", 1);
@@ -338,7 +341,7 @@ export class SdSelect {
338
341
  i0.ɵɵadvance();
339
342
  i0.ɵɵproperty("sdRipple", !ctx.disabled());
340
343
  i0.ɵɵadvance(3);
341
- i0.ɵɵconditional(ctx._selectedItemContentHTML() !== undefined ? 4 : ctx.placeholder() ? 5 : 6);
344
+ i0.ɵɵconditional(ctx._selectedItemContentHTML() != null ? 4 : ctx.placeholder() ? 5 : 6);
342
345
  i0.ɵɵadvance(3);
343
346
  i0.ɵɵconditional(!ctx.disabled() ? 7 : -1);
344
347
  i0.ɵɵadvance();
@@ -357,7 +360,7 @@ export class SdSelect {
357
360
  SdGap,
358
361
  NgTemplateOutlet,
359
362
  SdRipple,
360
- NgIcon], styles: ["sd-select {\n display: block;\n position: relative;\n}\nsd-select > sd-dropdown > ._sd-select-control {\n display: block;\n padding: var(--gap-sm) var(--gap-default);\n border: 1px solid transparent;\n font-size: var(--font-size-default);\n font-family: var(--font-family);\n font-variant-numeric: tabular-nums;\n line-height: var(--line-height);\n color: var(--text-trans-default);\n display: flex;\n align-items: center;\n cursor: pointer;\n border: 1px solid var(--trans-lighter);\n border-radius: var(--border-radius-default);\n background: var(--theme-secondary-lightest);\n}\nsd-select > sd-dropdown > ._sd-select-control > ._sd-select-control-content {\n flex: 1;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\nsd-select > sd-dropdown > ._sd-select-control > ._sd-select-control-icon {\n margin-left: var(--gap-sm);\n opacity: 0.3;\n}\nsd-select > sd-dropdown:focus-within > ._sd-select-control {\n border-color: var(--theme-secondary-default);\n}\nsd-select[data-sd-size=sm] > sd-dropdown > ._sd-select-control {\n padding: var(--gap-xs) var(--gap-sm);\n}\nsd-select[data-sd-size=lg] > sd-dropdown > ._sd-select-control {\n padding: var(--gap-default) var(--gap-lg);\n}\nsd-select[data-sd-inline=true] {\n display: inline-block;\n width: auto;\n}\nsd-select[data-sd-inset=true] > sd-dropdown > ._sd-select-control {\n border: none;\n border-radius: 0;\n}\nsd-select[data-sd-inset=true] > sd-dropdown > ._sd-select-control:focus-within {\n outline: 1px solid var(--theme-primary-default);\n}\nsd-select[data-sd-disabled=true] > sd-dropdown > ._sd-select-control {\n background: var(--trans-lighter);\n cursor: default;\n}\nsd-select[data-sd-disabled=true] > sd-dropdown > ._sd-select-control > ._sd-select-control-icon {\n display: none;\n}\n\n._sd-select-all-bar {\n display: flex;\n padding: var(--gap-sm) var(--gap-default);\n border-bottom: 1px solid var(--border-color-light);\n}"], encapsulation: 2, changeDetection: 0 });
363
+ NgIcon], styles: ["sd-select {\n display: block;\n position: relative;\n width: 100%;\n min-width: 10em;\n}\nsd-select > sd-dropdown {\n display: flex;\n overflow: hidden;\n border: 1px solid var(--trans-lighter);\n border-radius: var(--border-radius-default);\n background: var(--theme-secondary-lightest);\n}\nsd-select > sd-dropdown:focus, sd-select > sd-dropdown:focus-within {\n border-color: var(--theme-primary-default);\n}\nsd-select > sd-dropdown > ._sd-select-control {\n display: flex;\n position: relative;\n gap: var(--gap-default);\n flex-grow: 1;\n padding: var(--gap-sm) var(--gap-default);\n cursor: pointer;\n}\nsd-select > sd-dropdown > ._sd-select-control > ._sd-select-control-content {\n flex: 1;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\nsd-select > sd-dropdown > ._sd-select-control > ._sd-select-control-icon {\n opacity: 0.3;\n}\nsd-select > sd-dropdown > ._sd-select-control:hover > ._sd-select-control-icon, sd-select > sd-dropdown > ._sd-select-control:focus > ._sd-select-control-icon, sd-select > sd-dropdown > ._sd-select-control:active > ._sd-select-control-icon {\n opacity: 1;\n}\nsd-select > sd-dropdown > sd-select-button {\n padding: var(--gap-sm);\n border-left: 1px solid var(--theme-gray-lightest);\n}\nsd-select > sd-dropdown > sd-select-button:last-of-type {\n border-top-right-radius: var(--border-radius-default);\n border-bottom-right-radius: var(--border-radius-default);\n}\nsd-select[data-sd-disabled=true] > sd-dropdown {\n background: var(--theme-gray-lightest);\n}\nsd-select[data-sd-disabled=true] > sd-dropdown > ._sd-select-control {\n color: var(--text-trans-light);\n cursor: default;\n}\nsd-select[data-sd-disabled=true] > sd-dropdown > ._sd-select-control > ._sd-select-control-icon {\n display: none;\n}\nsd-select[data-sd-inline=true] {\n display: inline-block;\n width: auto;\n vertical-align: top;\n}\nsd-select[data-sd-size=sm] > sd-dropdown > ._sd-select-control {\n padding: var(--gap-xs) var(--gap-sm);\n gap: var(--gap-sm);\n}\nsd-select[data-sd-size=sm] > sd-dropdown > sd-select-button {\n padding: var(--gap-xs);\n}\nsd-select[data-sd-size=lg] > sd-dropdown > ._sd-select-control {\n padding: var(--gap-default) var(--gap-lg);\n gap: var(--gap-lg);\n}\nsd-select[data-sd-size=lg] > sd-dropdown > sd-select-button {\n padding: var(--gap-default);\n}\nsd-select[data-sd-inset=true] {\n min-width: auto;\n border-radius: 0;\n}\nsd-select[data-sd-inset=true] > sd-dropdown {\n border: none;\n border-radius: 0;\n}\nsd-select[data-sd-inset=true] > sd-dropdown > sd-select-button {\n border-radius: 0;\n}\nsd-select[data-sd-inset=true] > sd-dropdown:focus, sd-select[data-sd-inset=true] > sd-dropdown:focus-within {\n outline: 1px solid var(--theme-primary-default);\n outline-offset: -1px;\n}\nsd-select[data-sd-inset=true] > sd-dropdown:focus > sd-select-button, sd-select[data-sd-inset=true] > sd-dropdown:focus-within > sd-select-button {\n outline: 1px solid var(--theme-primary-default);\n outline-offset: -1px;\n}\nsd-select[data-sd-inset=true][data-sd-disabled=true] > sd-dropdown {\n background: var(--control-color);\n}\nsd-select[data-sd-inset=true][data-sd-disabled=true] > sd-dropdown > ._sd-select-control {\n color: var(--text-trans-default);\n}\n\n._sd-select-all-bar {\n display: flex;\n padding: var(--gap-sm) var(--gap-default);\n border-bottom: 1px solid var(--border-color-light);\n}"], encapsulation: 2, changeDetection: 0 });
361
364
  }
362
365
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdSelect, [{
363
366
  type: Component,
@@ -373,10 +376,10 @@ export class SdSelect {
373
376
  <sd-dropdown [disabled]="disabled()" [(open)]="dropdownOpen">
374
377
  <div class="_sd-select-control" [sdRipple]="!disabled()">
375
378
  <div class="_sd-select-control-content" #contentEl>
376
- @if (_selectedItemContentHTML() !== undefined) {
379
+ @if (_selectedItemContentHTML() != null) {
377
380
  <div [innerHTML]="_selectedItemContentHTML()"></div>
378
381
  } @else if (placeholder()) {
379
- <span class="tx-trans-lighter">{{ placeholder() }}</span>
382
+ <span class="sd-text-color-gray-default">{{ placeholder() }}</span>
380
383
  } @else {
381
384
  <span>&nbsp;</span>
382
385
  }
@@ -405,7 +408,7 @@ export class SdSelect {
405
408
  <ng-template [ngTemplateOutlet]="_beforeTpl()!" />
406
409
  }
407
410
  @if (_itemOfTpl(); as tpl) {
408
- @for (item of _flatItems(); track item) {
411
+ @for (item of _flatItems(); track trackByFn()(item.data, item.index)) {
409
412
  <ng-template
410
413
  [ngTemplateOutlet]="tpl"
411
414
  [ngTemplateOutletContext]="{ $implicit: item.data, item: item.data, index: item.index, depth: item.depth }"
@@ -421,6 +424,6 @@ export class SdSelect {
421
424
  "[attr.data-sd-inline]": "inline()",
422
425
  "[attr.data-sd-inset]": "inset()",
423
426
  "[attr.data-sd-disabled]": "disabled()",
424
- }, styles: ["sd-select {\n display: block;\n position: relative;\n}\nsd-select > sd-dropdown > ._sd-select-control {\n display: block;\n padding: var(--gap-sm) var(--gap-default);\n border: 1px solid transparent;\n font-size: var(--font-size-default);\n font-family: var(--font-family);\n font-variant-numeric: tabular-nums;\n line-height: var(--line-height);\n color: var(--text-trans-default);\n display: flex;\n align-items: center;\n cursor: pointer;\n border: 1px solid var(--trans-lighter);\n border-radius: var(--border-radius-default);\n background: var(--theme-secondary-lightest);\n}\nsd-select > sd-dropdown > ._sd-select-control > ._sd-select-control-content {\n flex: 1;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\nsd-select > sd-dropdown > ._sd-select-control > ._sd-select-control-icon {\n margin-left: var(--gap-sm);\n opacity: 0.3;\n}\nsd-select > sd-dropdown:focus-within > ._sd-select-control {\n border-color: var(--theme-secondary-default);\n}\nsd-select[data-sd-size=sm] > sd-dropdown > ._sd-select-control {\n padding: var(--gap-xs) var(--gap-sm);\n}\nsd-select[data-sd-size=lg] > sd-dropdown > ._sd-select-control {\n padding: var(--gap-default) var(--gap-lg);\n}\nsd-select[data-sd-inline=true] {\n display: inline-block;\n width: auto;\n}\nsd-select[data-sd-inset=true] > sd-dropdown > ._sd-select-control {\n border: none;\n border-radius: 0;\n}\nsd-select[data-sd-inset=true] > sd-dropdown > ._sd-select-control:focus-within {\n outline: 1px solid var(--theme-primary-default);\n}\nsd-select[data-sd-disabled=true] > sd-dropdown > ._sd-select-control {\n background: var(--trans-lighter);\n cursor: default;\n}\nsd-select[data-sd-disabled=true] > sd-dropdown > ._sd-select-control > ._sd-select-control-icon {\n display: none;\n}\n\n._sd-select-all-bar {\n display: flex;\n padding: var(--gap-sm) var(--gap-default);\n border-bottom: 1px solid var(--border-color-light);\n}"] }]
425
- }], () => [], { selectMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectMode", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], inline: [{ type: i0.Input, args: [{ isSignal: true, alias: "inline", required: false }] }], inset: [{ type: i0.Input, args: [{ isSignal: true, alias: "inset", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], hideSelectAll: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideSelectAll", required: false }] }], multiSelectionDisplayDirection: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiSelectionDisplayDirection", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], getChildrenFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "getChildrenFn", required: false }] }], contentClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentClass", required: false }] }], contentStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentStyle", required: false }] }], _itemControls: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SdSelectItem), { isSignal: true }] }], _dropdownControl: [{ type: i0.ViewChild, args: [i0.forwardRef(() => SdDropdown), { isSignal: true }] }], _dropdownElRef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => SdDropdown), { ...{ read: ElementRef }, isSignal: true }] }], _headerTpl: [{ type: i0.ContentChild, args: ["headerTpl", { isSignal: true }] }], _beforeTpl: [{ type: i0.ContentChild, args: ["beforeTpl", { isSignal: true }] }], _itemOfTpl: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SdItemOfTemplate), { ...{ read: TemplateRef }, isSignal: true }] }] }); })();
426
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdSelect, { className: "SdSelect", filePath: "packages/angular/src/controls/select/sd-select.ts", lineNumber: 183, forbidOrphanRendering: true }); })();
427
+ }, styles: ["sd-select {\n display: block;\n position: relative;\n width: 100%;\n min-width: 10em;\n}\nsd-select > sd-dropdown {\n display: flex;\n overflow: hidden;\n border: 1px solid var(--trans-lighter);\n border-radius: var(--border-radius-default);\n background: var(--theme-secondary-lightest);\n}\nsd-select > sd-dropdown:focus, sd-select > sd-dropdown:focus-within {\n border-color: var(--theme-primary-default);\n}\nsd-select > sd-dropdown > ._sd-select-control {\n display: flex;\n position: relative;\n gap: var(--gap-default);\n flex-grow: 1;\n padding: var(--gap-sm) var(--gap-default);\n cursor: pointer;\n}\nsd-select > sd-dropdown > ._sd-select-control > ._sd-select-control-content {\n flex: 1;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\nsd-select > sd-dropdown > ._sd-select-control > ._sd-select-control-icon {\n opacity: 0.3;\n}\nsd-select > sd-dropdown > ._sd-select-control:hover > ._sd-select-control-icon, sd-select > sd-dropdown > ._sd-select-control:focus > ._sd-select-control-icon, sd-select > sd-dropdown > ._sd-select-control:active > ._sd-select-control-icon {\n opacity: 1;\n}\nsd-select > sd-dropdown > sd-select-button {\n padding: var(--gap-sm);\n border-left: 1px solid var(--theme-gray-lightest);\n}\nsd-select > sd-dropdown > sd-select-button:last-of-type {\n border-top-right-radius: var(--border-radius-default);\n border-bottom-right-radius: var(--border-radius-default);\n}\nsd-select[data-sd-disabled=true] > sd-dropdown {\n background: var(--theme-gray-lightest);\n}\nsd-select[data-sd-disabled=true] > sd-dropdown > ._sd-select-control {\n color: var(--text-trans-light);\n cursor: default;\n}\nsd-select[data-sd-disabled=true] > sd-dropdown > ._sd-select-control > ._sd-select-control-icon {\n display: none;\n}\nsd-select[data-sd-inline=true] {\n display: inline-block;\n width: auto;\n vertical-align: top;\n}\nsd-select[data-sd-size=sm] > sd-dropdown > ._sd-select-control {\n padding: var(--gap-xs) var(--gap-sm);\n gap: var(--gap-sm);\n}\nsd-select[data-sd-size=sm] > sd-dropdown > sd-select-button {\n padding: var(--gap-xs);\n}\nsd-select[data-sd-size=lg] > sd-dropdown > ._sd-select-control {\n padding: var(--gap-default) var(--gap-lg);\n gap: var(--gap-lg);\n}\nsd-select[data-sd-size=lg] > sd-dropdown > sd-select-button {\n padding: var(--gap-default);\n}\nsd-select[data-sd-inset=true] {\n min-width: auto;\n border-radius: 0;\n}\nsd-select[data-sd-inset=true] > sd-dropdown {\n border: none;\n border-radius: 0;\n}\nsd-select[data-sd-inset=true] > sd-dropdown > sd-select-button {\n border-radius: 0;\n}\nsd-select[data-sd-inset=true] > sd-dropdown:focus, sd-select[data-sd-inset=true] > sd-dropdown:focus-within {\n outline: 1px solid var(--theme-primary-default);\n outline-offset: -1px;\n}\nsd-select[data-sd-inset=true] > sd-dropdown:focus > sd-select-button, sd-select[data-sd-inset=true] > sd-dropdown:focus-within > sd-select-button {\n outline: 1px solid var(--theme-primary-default);\n outline-offset: -1px;\n}\nsd-select[data-sd-inset=true][data-sd-disabled=true] > sd-dropdown {\n background: var(--control-color);\n}\nsd-select[data-sd-inset=true][data-sd-disabled=true] > sd-dropdown > ._sd-select-control {\n color: var(--text-trans-default);\n}\n\n._sd-select-all-bar {\n display: flex;\n padding: var(--gap-sm) var(--gap-default);\n border-bottom: 1px solid var(--border-color-light);\n}"] }]
428
+ }], () => [], { selectMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectMode", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], inline: [{ type: i0.Input, args: [{ isSignal: true, alias: "inline", required: false }] }], inset: [{ type: i0.Input, args: [{ isSignal: true, alias: "inset", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], hideSelectAll: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideSelectAll", required: false }] }], multiSelectionDisplayDirection: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiSelectionDisplayDirection", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], trackByFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "trackByFn", required: false }] }], getChildrenFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "getChildrenFn", required: false }] }], contentClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentClass", required: false }] }], contentStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentStyle", required: false }] }], dropdownOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "dropdownOpen", required: false }] }, { type: i0.Output, args: ["dropdownOpenChange"] }], _itemControls: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SdSelectItem), { isSignal: true }] }], _dropdownControl: [{ type: i0.ViewChild, args: [i0.forwardRef(() => SdDropdown), { isSignal: true }] }], _dropdownElRef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => SdDropdown), { ...{ read: ElementRef }, isSignal: true }] }], _headerTpl: [{ type: i0.ContentChild, args: ["headerTpl", { isSignal: true }] }], _beforeTpl: [{ type: i0.ContentChild, args: ["beforeTpl", { isSignal: true }] }], _itemOfTpl: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SdItemOfTemplate), { ...{ read: TemplateRef }, isSignal: true }] }] }); })();
429
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdSelect, { className: "SdSelect", filePath: "packages/angular/src/controls/select/sd-select.ts", lineNumber: 251 }); })();
@@ -28,4 +28,4 @@ export class SdTabItem {
28
28
  <ng-content></ng-content>
29
29
  `, styles: ["sd-tab-item {\n display: inline-block;\n padding: var(--gap-sm) var(--gap-default);\n cursor: pointer;\n margin-bottom: -2px;\n border-bottom: 2px solid transparent !important;\n font-weight: bold;\n color: var(--theme-gray-default);\n}\nsd-tab-item[data-sd-selected=true] {\n border-bottom: 3px solid var(--theme-primary-default) !important;\n color: var(--theme-primary-default);\n}"] }]
30
30
  }], null, { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }] }); })();
31
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdTabItem, { className: "SdTabItem", filePath: "packages/angular/src/controls/tab/sd-tab-item.ts", lineNumber: 45, forbidOrphanRendering: true }); })();
31
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdTabItem, { className: "SdTabItem", filePath: "packages/angular/src/controls/tab/sd-tab-item.ts", lineNumber: 45 }); })();
@@ -15,4 +15,4 @@ export class SdTab {
15
15
  <ng-content></ng-content>
16
16
  `, styles: ["sd-tab {\n display: block;\n border-bottom: 2px solid var(--theme-gray-lighter);\n padding: 0 calc(var(--gap-default) + 1px) 0 calc(var(--gap-default) - 1px);\n}"] }]
17
17
  }], null, { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }] }); })();
18
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdTab, { className: "SdTab", filePath: "packages/angular/src/controls/tab/sd-tab.ts", lineNumber: 23, forbidOrphanRendering: true }); })();
18
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdTab, { className: "SdTab", filePath: "packages/angular/src/controls/tab/sd-tab.ts", lineNumber: 23 }); })();
@@ -14,7 +14,7 @@ export class SdAppStructureUtils {
14
14
  return (parent ? `[${parent}] ` : "") + current;
15
15
  }
16
16
  static getPermsByFullCode(items, fullCodes, permKeys, permRecord) {
17
- if (permRecord === undefined)
17
+ if (permRecord == null)
18
18
  return [];
19
19
  const result = [];
20
20
  for (const permKey of permKeys) {
@@ -1 +1 @@
1
- {"version":3,"file":"sd-busy-container.d.ts","sourceRoot":"","sources":["../../../src/core/busy/sd-busy-container.ts"],"names":[],"mappings":"AAUA,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;;AAErE,qBA+Ma,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAElD,IAAI,qEAAiD;IACrD,OAAO,0DAAwC;IAC/C,IAAI,8DAA4C;IAChD,eAAe,0DAAwC;IAEvD,QAAQ,6CAAsD;;yCARnD,eAAe;2CAAf,eAAe;CAuB3B"}
1
+ {"version":3,"file":"sd-busy-container.d.ts","sourceRoot":"","sources":["../../../src/core/busy/sd-busy-container.ts"],"names":[],"mappings":"AAUA,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;;AAErE,qBA+Ta,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAElD,IAAI,qEAAiD;IACrD,OAAO,0DAAwC;IAC/C,IAAI,8DAA4C;IAChD,eAAe,0DAAwC;IAEvD,QAAQ,6CAAsD;;yCARnD,eAAe;2CAAf,eAAe;CAuB3B"}
@@ -2,51 +2,32 @@ import { booleanAttribute, ChangeDetectionStrategy, Component, computed, Element
2
2
  import { SdBusyProvider } from "./sd-busy.provider";
3
3
  import * as i0 from "@angular/core";
4
4
  const _c0 = ["*"];
5
- function SdBusyContainer_Conditional_0_Case_3_Template(rf, ctx) { if (rf & 1) {
5
+ function SdBusyContainer_Case_3_Template(rf, ctx) { if (rf & 1) {
6
6
  i0.ɵɵdomElement(0, "div", 3);
7
7
  } }
8
- function SdBusyContainer_Conditional_0_Case_4_Template(rf, ctx) { if (rf & 1) {
8
+ function SdBusyContainer_Case_4_Template(rf, ctx) { if (rf & 1) {
9
9
  i0.ɵɵdomElement(0, "div", 4);
10
10
  } }
11
- function SdBusyContainer_Conditional_0_Case_5_Template(rf, ctx) { if (rf & 1) {
12
- i0.ɵɵdomElementStart(0, "div", 5);
13
- i0.ɵɵdomElement(1, "div", 8)(2, "div", 9)(3, "div", 10)(4, "div", 11);
14
- i0.ɵɵdomElementEnd();
11
+ function SdBusyContainer_Case_5_Template(rf, ctx) { if (rf & 1) {
12
+ i0.ɵɵdomElement(0, "div", 7)(1, "div", 8)(2, "div", 9)(3, "div", 10);
15
13
  } }
16
- function SdBusyContainer_Conditional_0_Conditional_6_Template(rf, ctx) { if (rf & 1) {
17
- i0.ɵɵdomElementStart(0, "div", 6);
18
- i0.ɵɵtext(1);
19
- i0.ɵɵdomElementEnd();
14
+ function SdBusyContainer_Conditional_6_Template(rf, ctx) { if (rf & 1) {
15
+ i0.ɵɵdomElementStart(0, "div", 5)(1, "pre");
16
+ i0.ɵɵtext(2);
17
+ i0.ɵɵdomElementEnd()();
20
18
  } if (rf & 2) {
21
- const ctx_r0 = i0.ɵɵnextContext(2);
22
- i0.ɵɵadvance();
19
+ const ctx_r0 = i0.ɵɵnextContext();
20
+ i0.ɵɵadvance(2);
23
21
  i0.ɵɵtextInterpolate(ctx_r0.message());
24
22
  } }
25
- function SdBusyContainer_Conditional_0_Conditional_7_Template(rf, ctx) { if (rf & 1) {
26
- i0.ɵɵdomElementStart(0, "div", 7);
27
- i0.ɵɵdomElement(1, "div", 12);
28
- i0.ɵɵdomElementEnd();
29
- } if (rf & 2) {
30
- const ctx_r0 = i0.ɵɵnextContext(2);
31
- i0.ɵɵadvance();
32
- i0.ɵɵstyleProp("width", ctx_r0.progressPercent(), "%");
33
- } }
34
- function SdBusyContainer_Conditional_0_Template(rf, ctx) { if (rf & 1) {
35
- i0.ɵɵdomElementStart(0, "div", 0)(1, "div", 1)(2, "div", 2);
36
- i0.ɵɵconditionalCreate(3, SdBusyContainer_Conditional_0_Case_3_Template, 1, 0, "div", 3)(4, SdBusyContainer_Conditional_0_Case_4_Template, 1, 0, "div", 4)(5, SdBusyContainer_Conditional_0_Case_5_Template, 5, 0, "div", 5);
23
+ function SdBusyContainer_Conditional_7_Template(rf, ctx) { if (rf & 1) {
24
+ i0.ɵɵdomElementStart(0, "div", 6);
25
+ i0.ɵɵdomElement(1, "div", 11);
37
26
  i0.ɵɵdomElementEnd();
38
- i0.ɵɵconditionalCreate(6, SdBusyContainer_Conditional_0_Conditional_6_Template, 2, 1, "div", 6);
39
- i0.ɵɵconditionalCreate(7, SdBusyContainer_Conditional_0_Conditional_7_Template, 2, 2, "div", 7);
40
- i0.ɵɵdomElementEnd()();
41
27
  } if (rf & 2) {
42
- let tmp_1_0;
43
28
  const ctx_r0 = i0.ɵɵnextContext();
44
- i0.ɵɵadvance(3);
45
- i0.ɵɵconditional((tmp_1_0 = ctx_r0.currType()) === "spinner" ? 3 : tmp_1_0 === "bar" ? 4 : tmp_1_0 === "cube" ? 5 : -1);
46
- i0.ɵɵadvance(3);
47
- i0.ɵɵconditional(ctx_r0.message() !== undefined ? 6 : -1);
48
29
  i0.ɵɵadvance();
49
- i0.ɵɵconditional(ctx_r0.progressPercent() !== undefined ? 7 : -1);
30
+ i0.ɵɵstyleProp("transform", "scaleX(" + ctx_r0.progressPercent() / 100 + ")");
50
31
  } }
51
32
  export class SdBusyContainer {
52
33
  _sdBusy = inject(SdBusyProvider);
@@ -67,13 +48,25 @@ export class SdBusyContainer {
67
48
  static ɵfac = function SdBusyContainer_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdBusyContainer)(); };
68
49
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SdBusyContainer, selectors: [["sd-busy-container"]], hostVars: 2, hostBindings: function SdBusyContainer_HostBindings(rf, ctx) { if (rf & 2) {
69
50
  i0.ɵɵattribute("data-sd-busy", ctx.busy() || undefined)("data-sd-type", ctx.currType());
70
- } }, inputs: { busy: [1, "busy"], message: [1, "message"], type: [1, "type"], progressPercent: [1, "progressPercent"] }, ngContentSelectors: _c0, decls: 2, vars: 1, consts: [[1, "_screen"], [1, "_rect"], [1, "_indicator"], [1, "_spinner"], [1, "_bar"], [1, "_cube"], [1, "_message"], [1, "_progress"], [1, "_cube-face", "_cube-face-1"], [1, "_cube-face", "_cube-face-2"], [1, "_cube-face", "_cube-face-3"], [1, "_cube-face", "_cube-face-4"], [1, "_progress-bar"]], template: function SdBusyContainer_Template(rf, ctx) { if (rf & 1) {
51
+ } }, inputs: { busy: [1, "busy"], message: [1, "message"], type: [1, "type"], progressPercent: [1, "progressPercent"] }, ngContentSelectors: _c0, decls: 9, vars: 3, consts: [[1, "_screen"], [1, "_rect"], [1, "_indicator"], [1, "_spinner"], [1, "_bar"], [1, "_message"], [1, "_progress"], [1, "_cube1"], [1, "_cube2"], [1, "_cube4"], [1, "_cube3"], [1, "_progress-bar"]], template: function SdBusyContainer_Template(rf, ctx) { if (rf & 1) {
71
52
  i0.ɵɵprojectionDef();
72
- i0.ɵɵconditionalCreate(0, SdBusyContainer_Conditional_0_Template, 8, 3, "div", 0);
73
- i0.ɵɵprojection(1);
53
+ i0.ɵɵdomElementStart(0, "div", 0)(1, "div", 1)(2, "div", 2);
54
+ i0.ɵɵconditionalCreate(3, SdBusyContainer_Case_3_Template, 1, 0, "div", 3)(4, SdBusyContainer_Case_4_Template, 1, 0, "div", 4)(5, SdBusyContainer_Case_5_Template, 4, 0);
55
+ i0.ɵɵdomElementEnd();
56
+ i0.ɵɵconditionalCreate(6, SdBusyContainer_Conditional_6_Template, 3, 1, "div", 5);
57
+ i0.ɵɵdomElementEnd();
58
+ i0.ɵɵconditionalCreate(7, SdBusyContainer_Conditional_7_Template, 2, 2, "div", 6);
59
+ i0.ɵɵdomElementEnd();
60
+ i0.ɵɵprojection(8);
74
61
  } if (rf & 2) {
75
- i0.ɵɵconditional(ctx.busy() ? 0 : -1);
76
- } }, styles: ["sd-busy-container {\n display: block;\n position: relative;\n}\nsd-busy-container > ._screen {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 9998;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--busy-overlay-bg);\n}\nsd-busy-container > ._screen > ._rect {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--gap-default);\n}\nsd-busy-container > ._screen > ._rect > ._indicator > ._spinner {\n width: 2rem;\n height: 2rem;\n border: 0.1667rem solid var(--theme-primary-lighter);\n border-top-color: var(--theme-primary-default);\n border-radius: 50%;\n animation: sd-busy-spin 0.8s linear infinite;\n}\nsd-busy-container > ._screen > ._rect > ._indicator > ._bar {\n width: 6rem;\n height: 0.25rem;\n background: var(--theme-primary-lighter);\n border-radius: var(--border-radius-default);\n overflow: hidden;\n position: relative;\n}\nsd-busy-container > ._screen > ._rect > ._indicator > ._bar::after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 40%;\n background: var(--theme-primary-default);\n border-radius: var(--border-radius-default);\n animation: sd-busy-bar 1.5s ease-in-out infinite;\n}\nsd-busy-container > ._screen > ._rect > ._indicator > ._cube {\n width: 2rem;\n height: 2rem;\n position: relative;\n animation: sd-busy-cube-rotate 1.8s infinite ease-in-out;\n}\nsd-busy-container > ._screen > ._rect > ._indicator > ._cube > ._cube-face {\n position: absolute;\n width: 50%;\n height: 50%;\n background: var(--theme-primary-default);\n animation: sd-busy-cube-fold 1.8s infinite ease-in-out;\n}\nsd-busy-container > ._screen > ._rect > ._indicator > ._cube > ._cube-face._cube-face-1 {\n top: 0;\n left: 0;\n}\nsd-busy-container > ._screen > ._rect > ._indicator > ._cube > ._cube-face._cube-face-2 {\n top: 0;\n right: 0;\n animation-delay: 0.45s;\n}\nsd-busy-container > ._screen > ._rect > ._indicator > ._cube > ._cube-face._cube-face-3 {\n bottom: 0;\n right: 0;\n animation-delay: 0.9s;\n}\nsd-busy-container > ._screen > ._rect > ._indicator > ._cube > ._cube-face._cube-face-4 {\n bottom: 0;\n left: 0;\n animation-delay: 1.35s;\n}\nsd-busy-container > ._screen > ._rect > ._message {\n font-size: var(--font-size-sm);\n color: var(--text-trans-light);\n text-align: center;\n}\nsd-busy-container > ._screen > ._rect > ._progress {\n width: 10rem;\n height: 0.25rem;\n background: var(--theme-primary-lighter);\n border-radius: var(--border-radius-default);\n overflow: hidden;\n}\nsd-busy-container > ._screen > ._rect > ._progress > ._progress-bar {\n height: 100%;\n background: var(--theme-primary-default);\n transition: width 0.3s ease;\n}\n\n@keyframes sd-busy-spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes sd-busy-bar {\n 0% {\n left: -40%;\n }\n 100% {\n left: 100%;\n }\n}\n@keyframes sd-busy-cube-rotate {\n 0% {\n transform: perspective(6.25rem) rotateX(0deg) rotateY(0deg);\n }\n 50% {\n transform: perspective(6.25rem) rotateX(-180deg) rotateY(0deg);\n }\n 100% {\n transform: perspective(6.25rem) rotateX(-180deg) rotateY(-180deg);\n }\n}\n@keyframes sd-busy-cube-fold {\n 0%, 10% {\n transform: scale(1);\n }\n 25% {\n transform: scale(0.5);\n }\n 50%, 100% {\n transform: scale(1);\n }\n}"], encapsulation: 2, changeDetection: 0 });
62
+ let tmp_0_0;
63
+ i0.ɵɵadvance(3);
64
+ i0.ɵɵconditional((tmp_0_0 = ctx.currType()) === "spinner" ? 3 : tmp_0_0 === "bar" ? 4 : tmp_0_0 === "cube" ? 5 : -1);
65
+ i0.ɵɵadvance(3);
66
+ i0.ɵɵconditional(ctx.message() != undefined ? 6 : -1);
67
+ i0.ɵɵadvance();
68
+ i0.ɵɵconditional(ctx.progressPercent() != null ? 7 : -1);
69
+ } }, styles: ["sd-busy-container {\n display: block;\n position: relative;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n min-width: 70px;\n min-height: 70px;\n overflow: auto;\n}\nsd-busy-container > ._screen {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 9998;\n visibility: hidden;\n pointer-events: none;\n opacity: 0;\n transition: opacity var(--animation-duration);\n transition-timing-function: linear;\n}\nsd-busy-container > ._screen > ._progress {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n height: 4px;\n width: 100%;\n background-color: var(--background-color);\n}\nsd-busy-container > ._screen > ._progress > ._progress-bar {\n position: absolute;\n top: 0;\n left: 0;\n display: inline-block;\n content: \"\";\n height: 4px;\n width: 100%;\n transition: 0.1s ease-in;\n transition-property: transform;\n transform-origin: left;\n transform: scaleX(0);\n background-color: var(--theme-primary-default);\n}\nsd-busy-container[data-sd-busy=true] > ._screen {\n visibility: visible;\n pointer-events: auto;\n opacity: 1;\n}\nsd-busy-container[data-sd-type=spinner] > ._screen > ._rect {\n transform: translateY(-100%);\n transition: 0.1s ease-in;\n transition-property: transform;\n}\nsd-busy-container[data-sd-type=spinner] > ._screen > ._rect > ._indicator {\n top: 0;\n width: 30px;\n height: 30px;\n margin: 20px auto 0 auto;\n border: 6px solid var(--background-color);\n border-radius: 100%;\n border-bottom-color: var(--theme-primary-default);\n animation: sd-busy-spin 1s linear infinite;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);\n}\nsd-busy-container[data-sd-type=spinner] > ._screen > ._rect > ._indicator > div {\n display: none;\n}\nsd-busy-container[data-sd-type=spinner] > ._screen > ._rect > ._message {\n position: absolute;\n top: 55px;\n width: 100%;\n color: var(--background-color);\n font-weight: bold;\n text-align: center;\n text-shadow: 0 0 2px var(--background-rev-color);\n}\nsd-busy-container[data-sd-type=spinner][data-sd-busy=true] > ._screen > ._rect {\n transform: none;\n transition: 0.1s ease-out;\n}\nsd-busy-container[data-sd-type=bar] {\n min-height: 4px;\n}\nsd-busy-container[data-sd-type=bar][data-sd-busy=true] > ._screen > ._rect > ._indicator {\n position: absolute;\n top: 0;\n left: 0;\n height: 4px;\n width: 100%;\n background-color: var(--background-color);\n}\nsd-busy-container[data-sd-type=bar][data-sd-busy=true] > ._screen > ._rect > ._indicator:before, sd-busy-container[data-sd-type=bar][data-sd-busy=true] > ._screen > ._rect > ._indicator:after {\n position: absolute;\n top: 0;\n left: 0;\n display: inline-block;\n content: \"\";\n height: 4px;\n width: 100%;\n transform-origin: left;\n}\nsd-busy-container[data-sd-type=bar][data-sd-busy=true] > ._screen > ._rect > ._indicator:before {\n background-color: var(--theme-primary-default);\n animation: sd-busy-bar-indicator-before 2s infinite ease-in;\n}\nsd-busy-container[data-sd-type=bar][data-sd-busy=true] > ._screen > ._rect > ._indicator:after {\n background-color: var(--background-color);\n animation: sd-busy-bar-indicator-after 2s infinite ease-out;\n}\nsd-busy-container[data-sd-type=bar][data-sd-busy=true] > ._screen > ._rect > ._indicator > div {\n display: none;\n}\nsd-busy-container[data-sd-type=bar][data-sd-busy=true] > ._screen > ._rect > ._message {\n position: absolute;\n top: 4px;\n right: 0;\n display: inline-block;\n}\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator {\n position: absolute;\n top: calc(50% - 20px);\n left: calc(50% - 20px);\n width: 40px;\n height: 40px;\n transform: rotateZ(45deg);\n}\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube1,\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube2,\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube3,\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube4 {\n float: left;\n width: 50%;\n height: 50%;\n position: relative;\n}\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube1:before,\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube2:before,\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube3:before,\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube4:before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: var(--trans-light);\n animation: sd-busy-cube 2.4s infinite linear both;\n transform-origin: 100% 100%;\n}\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube2 {\n transform: rotateZ(90deg);\n}\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube2:before {\n animation-delay: 0.3s;\n}\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube3 {\n transform: rotateZ(180deg);\n}\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube3:before {\n animation-delay: 0.6s;\n}\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube4 {\n transform: rotateZ(270deg);\n}\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube4:before {\n animation-delay: 0.9s;\n}\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._message {\n position: absolute;\n top: 4px;\n right: 0;\n display: inline-block;\n}\n\n@keyframes sd-busy-spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes sd-busy-bar-indicator-before {\n 0% {\n transform: scaleX(0);\n }\n 60%, 100% {\n transform: scaleX(1);\n }\n}\n@keyframes sd-busy-bar-indicator-after {\n 0%, 50% {\n transform: scaleX(0);\n }\n 100% {\n transform: scaleX(1);\n }\n}\n@keyframes sd-busy-cube {\n 0%, 10% {\n transform: perspective(140px) rotateX(-180deg);\n opacity: 0;\n }\n 25%, 75% {\n transform: perspective(140px) rotateX(0deg);\n opacity: 1;\n }\n 90%, 100% {\n transform: perspective(140px) rotateY(180deg);\n opacity: 0;\n }\n}"], encapsulation: 2, changeDetection: 0 });
77
70
  }
78
71
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdBusyContainer, [{
79
72
  type: Component,
@@ -81,39 +74,40 @@ export class SdBusyContainer {
81
74
  "[attr.data-sd-busy]": "busy() || undefined",
82
75
  "[attr.data-sd-type]": "currType()",
83
76
  }, template: `
84
- @if (busy()) {
85
- <div class="_screen">
86
- <div class="_rect">
87
- <div class="_indicator">
88
- @switch (currType()) {
89
- @case ("spinner") {
90
- <div class="_spinner"></div>
91
- }
92
- @case ("bar") {
93
- <div class="_bar"></div>
94
- }
95
- @case ("cube") {
96
- <div class="_cube">
97
- <div class="_cube-face _cube-face-1"></div>
98
- <div class="_cube-face _cube-face-2"></div>
99
- <div class="_cube-face _cube-face-3"></div>
100
- <div class="_cube-face _cube-face-4"></div>
101
- </div>
102
- }
77
+ <div class="_screen">
78
+ <div class="_rect">
79
+ <div class="_indicator">
80
+ @switch (currType()) {
81
+ @case ("spinner") {
82
+ <div class="_spinner"></div>
83
+ }
84
+ @case ("bar") {
85
+ <div class="_bar"></div>
86
+ }
87
+ @case ("cube") {
88
+ <div class="_cube1"></div>
89
+ <div class="_cube2"></div>
90
+ <div class="_cube4"></div>
91
+ <div class="_cube3"></div>
103
92
  }
104
- </div>
105
- @if (message() !== undefined) {
106
- <div class="_message">{{ message() }}</div>
107
- }
108
- @if (progressPercent() !== undefined) {
109
- <div class="_progress">
110
- <div class="_progress-bar" [style.width.%]="progressPercent()"></div>
111
- </div>
112
93
  }
113
94
  </div>
95
+ @if (message() != undefined) {
96
+ <div class="_message">
97
+ <pre>{{ message() }}</pre>
98
+ </div>
99
+ }
114
100
  </div>
115
- }
101
+ @if (progressPercent() != null) {
102
+ <div class="_progress">
103
+ <div
104
+ class="_progress-bar"
105
+ [style.transform]="'scaleX(' + progressPercent()! / 100 + ')'"
106
+ ></div>
107
+ </div>
108
+ }
109
+ </div>
116
110
  <ng-content></ng-content>
117
- `, styles: ["sd-busy-container {\n display: block;\n position: relative;\n}\nsd-busy-container > ._screen {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 9998;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--busy-overlay-bg);\n}\nsd-busy-container > ._screen > ._rect {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--gap-default);\n}\nsd-busy-container > ._screen > ._rect > ._indicator > ._spinner {\n width: 2rem;\n height: 2rem;\n border: 0.1667rem solid var(--theme-primary-lighter);\n border-top-color: var(--theme-primary-default);\n border-radius: 50%;\n animation: sd-busy-spin 0.8s linear infinite;\n}\nsd-busy-container > ._screen > ._rect > ._indicator > ._bar {\n width: 6rem;\n height: 0.25rem;\n background: var(--theme-primary-lighter);\n border-radius: var(--border-radius-default);\n overflow: hidden;\n position: relative;\n}\nsd-busy-container > ._screen > ._rect > ._indicator > ._bar::after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 40%;\n background: var(--theme-primary-default);\n border-radius: var(--border-radius-default);\n animation: sd-busy-bar 1.5s ease-in-out infinite;\n}\nsd-busy-container > ._screen > ._rect > ._indicator > ._cube {\n width: 2rem;\n height: 2rem;\n position: relative;\n animation: sd-busy-cube-rotate 1.8s infinite ease-in-out;\n}\nsd-busy-container > ._screen > ._rect > ._indicator > ._cube > ._cube-face {\n position: absolute;\n width: 50%;\n height: 50%;\n background: var(--theme-primary-default);\n animation: sd-busy-cube-fold 1.8s infinite ease-in-out;\n}\nsd-busy-container > ._screen > ._rect > ._indicator > ._cube > ._cube-face._cube-face-1 {\n top: 0;\n left: 0;\n}\nsd-busy-container > ._screen > ._rect > ._indicator > ._cube > ._cube-face._cube-face-2 {\n top: 0;\n right: 0;\n animation-delay: 0.45s;\n}\nsd-busy-container > ._screen > ._rect > ._indicator > ._cube > ._cube-face._cube-face-3 {\n bottom: 0;\n right: 0;\n animation-delay: 0.9s;\n}\nsd-busy-container > ._screen > ._rect > ._indicator > ._cube > ._cube-face._cube-face-4 {\n bottom: 0;\n left: 0;\n animation-delay: 1.35s;\n}\nsd-busy-container > ._screen > ._rect > ._message {\n font-size: var(--font-size-sm);\n color: var(--text-trans-light);\n text-align: center;\n}\nsd-busy-container > ._screen > ._rect > ._progress {\n width: 10rem;\n height: 0.25rem;\n background: var(--theme-primary-lighter);\n border-radius: var(--border-radius-default);\n overflow: hidden;\n}\nsd-busy-container > ._screen > ._rect > ._progress > ._progress-bar {\n height: 100%;\n background: var(--theme-primary-default);\n transition: width 0.3s ease;\n}\n\n@keyframes sd-busy-spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes sd-busy-bar {\n 0% {\n left: -40%;\n }\n 100% {\n left: 100%;\n }\n}\n@keyframes sd-busy-cube-rotate {\n 0% {\n transform: perspective(6.25rem) rotateX(0deg) rotateY(0deg);\n }\n 50% {\n transform: perspective(6.25rem) rotateX(-180deg) rotateY(0deg);\n }\n 100% {\n transform: perspective(6.25rem) rotateX(-180deg) rotateY(-180deg);\n }\n}\n@keyframes sd-busy-cube-fold {\n 0%, 10% {\n transform: scale(1);\n }\n 25% {\n transform: scale(0.5);\n }\n 50%, 100% {\n transform: scale(1);\n }\n}"] }]
111
+ `, styles: ["sd-busy-container {\n display: block;\n position: relative;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n min-width: 70px;\n min-height: 70px;\n overflow: auto;\n}\nsd-busy-container > ._screen {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 9998;\n visibility: hidden;\n pointer-events: none;\n opacity: 0;\n transition: opacity var(--animation-duration);\n transition-timing-function: linear;\n}\nsd-busy-container > ._screen > ._progress {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n height: 4px;\n width: 100%;\n background-color: var(--background-color);\n}\nsd-busy-container > ._screen > ._progress > ._progress-bar {\n position: absolute;\n top: 0;\n left: 0;\n display: inline-block;\n content: \"\";\n height: 4px;\n width: 100%;\n transition: 0.1s ease-in;\n transition-property: transform;\n transform-origin: left;\n transform: scaleX(0);\n background-color: var(--theme-primary-default);\n}\nsd-busy-container[data-sd-busy=true] > ._screen {\n visibility: visible;\n pointer-events: auto;\n opacity: 1;\n}\nsd-busy-container[data-sd-type=spinner] > ._screen > ._rect {\n transform: translateY(-100%);\n transition: 0.1s ease-in;\n transition-property: transform;\n}\nsd-busy-container[data-sd-type=spinner] > ._screen > ._rect > ._indicator {\n top: 0;\n width: 30px;\n height: 30px;\n margin: 20px auto 0 auto;\n border: 6px solid var(--background-color);\n border-radius: 100%;\n border-bottom-color: var(--theme-primary-default);\n animation: sd-busy-spin 1s linear infinite;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);\n}\nsd-busy-container[data-sd-type=spinner] > ._screen > ._rect > ._indicator > div {\n display: none;\n}\nsd-busy-container[data-sd-type=spinner] > ._screen > ._rect > ._message {\n position: absolute;\n top: 55px;\n width: 100%;\n color: var(--background-color);\n font-weight: bold;\n text-align: center;\n text-shadow: 0 0 2px var(--background-rev-color);\n}\nsd-busy-container[data-sd-type=spinner][data-sd-busy=true] > ._screen > ._rect {\n transform: none;\n transition: 0.1s ease-out;\n}\nsd-busy-container[data-sd-type=bar] {\n min-height: 4px;\n}\nsd-busy-container[data-sd-type=bar][data-sd-busy=true] > ._screen > ._rect > ._indicator {\n position: absolute;\n top: 0;\n left: 0;\n height: 4px;\n width: 100%;\n background-color: var(--background-color);\n}\nsd-busy-container[data-sd-type=bar][data-sd-busy=true] > ._screen > ._rect > ._indicator:before, sd-busy-container[data-sd-type=bar][data-sd-busy=true] > ._screen > ._rect > ._indicator:after {\n position: absolute;\n top: 0;\n left: 0;\n display: inline-block;\n content: \"\";\n height: 4px;\n width: 100%;\n transform-origin: left;\n}\nsd-busy-container[data-sd-type=bar][data-sd-busy=true] > ._screen > ._rect > ._indicator:before {\n background-color: var(--theme-primary-default);\n animation: sd-busy-bar-indicator-before 2s infinite ease-in;\n}\nsd-busy-container[data-sd-type=bar][data-sd-busy=true] > ._screen > ._rect > ._indicator:after {\n background-color: var(--background-color);\n animation: sd-busy-bar-indicator-after 2s infinite ease-out;\n}\nsd-busy-container[data-sd-type=bar][data-sd-busy=true] > ._screen > ._rect > ._indicator > div {\n display: none;\n}\nsd-busy-container[data-sd-type=bar][data-sd-busy=true] > ._screen > ._rect > ._message {\n position: absolute;\n top: 4px;\n right: 0;\n display: inline-block;\n}\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator {\n position: absolute;\n top: calc(50% - 20px);\n left: calc(50% - 20px);\n width: 40px;\n height: 40px;\n transform: rotateZ(45deg);\n}\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube1,\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube2,\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube3,\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube4 {\n float: left;\n width: 50%;\n height: 50%;\n position: relative;\n}\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube1:before,\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube2:before,\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube3:before,\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube4:before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: var(--trans-light);\n animation: sd-busy-cube 2.4s infinite linear both;\n transform-origin: 100% 100%;\n}\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube2 {\n transform: rotateZ(90deg);\n}\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube2:before {\n animation-delay: 0.3s;\n}\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube3 {\n transform: rotateZ(180deg);\n}\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube3:before {\n animation-delay: 0.6s;\n}\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube4 {\n transform: rotateZ(270deg);\n}\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._indicator ._cube4:before {\n animation-delay: 0.9s;\n}\nsd-busy-container[data-sd-type=cube] > ._screen > ._rect > ._message {\n position: absolute;\n top: 4px;\n right: 0;\n display: inline-block;\n}\n\n@keyframes sd-busy-spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes sd-busy-bar-indicator-before {\n 0% {\n transform: scaleX(0);\n }\n 60%, 100% {\n transform: scaleX(1);\n }\n}\n@keyframes sd-busy-bar-indicator-after {\n 0%, 50% {\n transform: scaleX(0);\n }\n 100% {\n transform: scaleX(1);\n }\n}\n@keyframes sd-busy-cube {\n 0%, 10% {\n transform: perspective(140px) rotateX(-180deg);\n opacity: 0;\n }\n 25%, 75% {\n transform: perspective(140px) rotateX(0deg);\n opacity: 1;\n }\n 90%, 100% {\n transform: perspective(140px) rotateY(180deg);\n opacity: 0;\n }\n}"] }]
118
112
  }], () => [], { busy: [{ type: i0.Input, args: [{ isSignal: true, alias: "busy", required: false }] }], message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], progressPercent: [{ type: i0.Input, args: [{ isSignal: true, alias: "progressPercent", required: false }] }] }); })();
119
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdBusyContainer, { className: "SdBusyContainer", filePath: "packages/angular/src/core/busy/sd-busy-container.ts", lineNumber: 220, forbidOrphanRendering: true }); })();
113
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdBusyContainer, { className: "SdBusyContainer", filePath: "packages/angular/src/core/busy/sd-busy-container.ts", lineNumber: 332 }); })();
@@ -8,7 +8,7 @@ export class SdBusyProvider {
8
8
  globalBusyCount = signal(0, ...(ngDevMode ? [{ debugName: "globalBusyCount" }] : /* istanbul ignore next */ []));
9
9
  _containerRef;
10
10
  get containerRef() {
11
- if (this._containerRef === undefined) {
11
+ if (this._containerRef == null) {
12
12
  this._containerRef = createComponent(SdBusyContainer, {
13
13
  environmentInjector: this._envInjector,
14
14
  });
@@ -0,0 +1,13 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class SdCommandDirective {
3
+ private readonly _elRef;
4
+ private readonly _destroyRef;
5
+ private readonly _document;
6
+ sdRefreshCommand: import("@angular/core").OutputEmitterRef<KeyboardEvent>;
7
+ sdSaveCommand: import("@angular/core").OutputEmitterRef<KeyboardEvent>;
8
+ sdInsertCommand: import("@angular/core").OutputEmitterRef<KeyboardEvent>;
9
+ constructor();
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdCommandDirective, never>;
11
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SdCommandDirective, "[sdRefreshCommand],[sdSaveCommand],[sdInsertCommand]", never, {}, { "sdRefreshCommand": "sdRefreshCommand"; "sdSaveCommand": "sdSaveCommand"; "sdInsertCommand": "sdInsertCommand"; }, never, never, true, never>;
12
+ }
13
+ //# sourceMappingURL=sd-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sd-command.d.ts","sourceRoot":"","sources":["../../../src/core/commands/sd-command.ts"],"names":[],"mappings":";AAIA,qBAIa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAE9C,gBAAgB,0DAA2B;IAC3C,aAAa,0DAA2B;IACxC,eAAe,0DAA2B;;yCAP/B,kBAAkB;2CAAlB,kBAAkB;CAqC9B"}
@@ -0,0 +1,52 @@
1
+ import { DestroyRef, Directive, ElementRef, inject, output } from "@angular/core";
2
+ import { DOCUMENT } from "@angular/common";
3
+ import { shouldProcessCommandEvent } from "./findTopOpenModalEl";
4
+ import * as i0 from "@angular/core";
5
+ export class SdCommandDirective {
6
+ _elRef = inject(ElementRef);
7
+ _destroyRef = inject(DestroyRef);
8
+ _document = inject(DOCUMENT);
9
+ sdRefreshCommand = output();
10
+ sdSaveCommand = output();
11
+ sdInsertCommand = output();
12
+ constructor() {
13
+ const listener = (event) => {
14
+ if (!event.ctrlKey || event.shiftKey)
15
+ return;
16
+ if ((event.key === "l" || event.key === "L") && event.altKey) {
17
+ if (!shouldProcessCommandEvent(this._document, this._elRef.nativeElement))
18
+ return;
19
+ event.preventDefault();
20
+ event.stopPropagation();
21
+ this.sdRefreshCommand.emit(event);
22
+ }
23
+ else if ((event.key === "s" || event.key === "S") && !event.altKey) {
24
+ if (!shouldProcessCommandEvent(this._document, this._elRef.nativeElement))
25
+ return;
26
+ event.preventDefault();
27
+ event.stopPropagation();
28
+ this.sdSaveCommand.emit(event);
29
+ }
30
+ else if (event.key === "Insert" && !event.altKey) {
31
+ if (!shouldProcessCommandEvent(this._document, this._elRef.nativeElement))
32
+ return;
33
+ event.preventDefault();
34
+ event.stopPropagation();
35
+ this.sdInsertCommand.emit(event);
36
+ }
37
+ };
38
+ this._document.addEventListener("keydown", listener);
39
+ this._destroyRef.onDestroy(() => {
40
+ this._document.removeEventListener("keydown", listener);
41
+ });
42
+ }
43
+ static ɵfac = function SdCommandDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdCommandDirective)(); };
44
+ static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: SdCommandDirective, selectors: [["", "sdRefreshCommand", ""], ["", "sdSaveCommand", ""], ["", "sdInsertCommand", ""]], outputs: { sdRefreshCommand: "sdRefreshCommand", sdSaveCommand: "sdSaveCommand", sdInsertCommand: "sdInsertCommand" } });
45
+ }
46
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdCommandDirective, [{
47
+ type: Directive,
48
+ args: [{
49
+ selector: "[sdRefreshCommand],[sdSaveCommand],[sdInsertCommand]",
50
+ standalone: true,
51
+ }]
52
+ }], () => [], { sdRefreshCommand: [{ type: i0.Output, args: ["sdRefreshCommand"] }], sdSaveCommand: [{ type: i0.Output, args: ["sdSaveCommand"] }], sdInsertCommand: [{ type: i0.Output, args: ["sdInsertCommand"] }] }); })();
@@ -15,7 +15,7 @@ export class SdGlobalErrorHandlerPlugin {
15
15
  Stack: reason.stack ?? "(스택 없음)",
16
16
  });
17
17
  }
18
- else if (typeof reason === "object" && reason !== null) {
18
+ else if (typeof reason === "object" && reason != null) {
19
19
  this._displayErrorMessage("처리되지 않은 Promise 거부", {
20
20
  Reason: JSON.stringify(reason, null, 2),
21
21
  });
@@ -1,4 +1,3 @@
1
- import type { SdResizeEvent } from "./sd-resize-event.plugin";
2
1
  import * as i0 from "@angular/core";
3
2
  export declare class SdEvents {
4
3
  "click.capture": import("@angular/core").OutputEmitterRef<MouseEvent>;
@@ -29,11 +28,7 @@ export declare class SdEvents {
29
28
  "drop.capture": import("@angular/core").OutputEmitterRef<DragEvent>;
30
29
  "transitionend.once": import("@angular/core").OutputEmitterRef<TransitionEvent>;
31
30
  "animationend.once": import("@angular/core").OutputEmitterRef<AnimationEvent>;
32
- "sdResize": import("@angular/core").OutputEmitterRef<SdResizeEvent>;
33
- "sdRefreshCommand": import("@angular/core").OutputEmitterRef<KeyboardEvent>;
34
- "sdSaveCommand": import("@angular/core").OutputEmitterRef<KeyboardEvent>;
35
- "sdInsertCommand": import("@angular/core").OutputEmitterRef<KeyboardEvent>;
36
31
  static ɵfac: i0.ɵɵFactoryDeclaration<SdEvents, never>;
37
- static ɵdir: i0.ɵɵDirectiveDeclaration<SdEvents, " [click.capture], [click.once], [click.capture.once], [mousedown.capture], [mouseup.capture], [mouseover.capture], [mouseout.capture], [keydown.capture], [keyup.capture], [focus.capture], [blur.capture], [invalid.capture], [scroll.capture], [scroll.passive], [scroll.capture.passive], [wheel.passive], [wheel.capture.passive], [touchstart.passive], [touchstart.capture.passive], [touchmove.passive], [touchmove.capture.passive], [touchend.passive], [dragover.capture], [dragenter.capture], [dragleave.capture], [drop.capture], [transitionend.once], [animationend.once], [sdResize], [sdRefreshCommand], [sdSaveCommand], [sdInsertCommand] ", never, {}, { "click.capture": "click.capture"; "click.once": "click.once"; "click.capture.once": "click.capture.once"; "mousedown.capture": "mousedown.capture"; "mouseup.capture": "mouseup.capture"; "mouseover.capture": "mouseover.capture"; "mouseout.capture": "mouseout.capture"; "keydown.capture": "keydown.capture"; "keyup.capture": "keyup.capture"; "focus.capture": "focus.capture"; "blur.capture": "blur.capture"; "invalid.capture": "invalid.capture"; "scroll.capture": "scroll.capture"; "scroll.passive": "scroll.passive"; "scroll.capture.passive": "scroll.capture.passive"; "wheel.passive": "wheel.passive"; "wheel.capture.passive": "wheel.capture.passive"; "touchstart.passive": "touchstart.passive"; "touchstart.capture.passive": "touchstart.capture.passive"; "touchmove.passive": "touchmove.passive"; "touchmove.capture.passive": "touchmove.capture.passive"; "touchend.passive": "touchend.passive"; "dragover.capture": "dragover.capture"; "dragenter.capture": "dragenter.capture"; "dragleave.capture": "dragleave.capture"; "drop.capture": "drop.capture"; "transitionend.once": "transitionend.once"; "animationend.once": "animationend.once"; "sdResize": "sdResize"; "sdRefreshCommand": "sdRefreshCommand"; "sdSaveCommand": "sdSaveCommand"; "sdInsertCommand": "sdInsertCommand"; }, never, never, true, never>;
32
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SdEvents, " [click.capture], [click.once], [click.capture.once], [mousedown.capture], [mouseup.capture], [mouseover.capture], [mouseout.capture], [keydown.capture], [keyup.capture], [focus.capture], [blur.capture], [invalid.capture], [scroll.capture], [scroll.passive], [scroll.capture.passive], [wheel.passive], [wheel.capture.passive], [touchstart.passive], [touchstart.capture.passive], [touchmove.passive], [touchmove.capture.passive], [touchend.passive], [dragover.capture], [dragenter.capture], [dragleave.capture], [drop.capture], [transitionend.once], [animationend.once] ", never, {}, { "click.capture": "click.capture"; "click.once": "click.once"; "click.capture.once": "click.capture.once"; "mousedown.capture": "mousedown.capture"; "mouseup.capture": "mouseup.capture"; "mouseover.capture": "mouseover.capture"; "mouseout.capture": "mouseout.capture"; "keydown.capture": "keydown.capture"; "keyup.capture": "keyup.capture"; "focus.capture": "focus.capture"; "blur.capture": "blur.capture"; "invalid.capture": "invalid.capture"; "scroll.capture": "scroll.capture"; "scroll.passive": "scroll.passive"; "scroll.capture.passive": "scroll.capture.passive"; "wheel.passive": "wheel.passive"; "wheel.capture.passive": "wheel.capture.passive"; "touchstart.passive": "touchstart.passive"; "touchstart.capture.passive": "touchstart.capture.passive"; "touchmove.passive": "touchmove.passive"; "touchmove.capture.passive": "touchmove.capture.passive"; "touchend.passive": "touchend.passive"; "dragover.capture": "dragover.capture"; "dragenter.capture": "dragenter.capture"; "dragleave.capture": "dragleave.capture"; "drop.capture": "drop.capture"; "transitionend.once": "transitionend.once"; "animationend.once": "animationend.once"; }, never, never, true, never>;
38
33
  }
39
34
  //# sourceMappingURL=sd-events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sd-events.d.ts","sourceRoot":"","sources":["../../../src/core/events/sd-events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;;AAE9D,qBAmBa,QAAQ;IAEnB,eAAe,uDAAwB;IACvC,YAAY,uDAAwB;IACpC,oBAAoB,uDAAwB;IAG5C,mBAAmB,uDAAwB;IAC3C,iBAAiB,uDAAwB;IACzC,mBAAmB,uDAAwB;IAC3C,kBAAkB,uDAAwB;IAG1C,iBAAiB,0DAA2B;IAC5C,eAAe,0DAA2B;IAG1C,eAAe,uDAAwB;IACvC,cAAc,uDAAwB;IAGtC,iBAAiB,kDAAmB;IAGpC,gBAAgB,kDAAmB;IACnC,gBAAgB,kDAAmB;IACnC,wBAAwB,kDAAmB;IAG3C,eAAe,uDAAwB;IACvC,uBAAuB,uDAAwB;IAG/C,oBAAoB,uDAAwB;IAC5C,4BAA4B,uDAAwB;IACpD,mBAAmB,uDAAwB;IAC3C,2BAA2B,uDAAwB;IACnD,kBAAkB,uDAAwB;IAG1C,kBAAkB,sDAAuB;IACzC,mBAAmB,sDAAuB;IAC1C,mBAAmB,sDAAuB;IAC1C,cAAc,sDAAuB;IAGrC,oBAAoB,4DAA6B;IACjD,mBAAmB,2DAA4B;IAG/C,UAAU,0DAA2B;IAGrC,kBAAkB,0DAA2B;IAC7C,eAAe,0DAA2B;IAC1C,iBAAiB,0DAA2B;yCAvDjC,QAAQ;2CAAR,QAAQ;CAwDpB"}
1
+ {"version":3,"file":"sd-events.d.ts","sourceRoot":"","sources":["../../../src/core/events/sd-events.ts"],"names":[],"mappings":";AAEA,qBAiBa,QAAQ;IAEnB,eAAe,uDAAwB;IACvC,YAAY,uDAAwB;IACpC,oBAAoB,uDAAwB;IAG5C,mBAAmB,uDAAwB;IAC3C,iBAAiB,uDAAwB;IACzC,mBAAmB,uDAAwB;IAC3C,kBAAkB,uDAAwB;IAG1C,iBAAiB,0DAA2B;IAC5C,eAAe,0DAA2B;IAG1C,eAAe,uDAAwB;IACvC,cAAc,uDAAwB;IAGtC,iBAAiB,kDAAmB;IAGpC,gBAAgB,kDAAmB;IACnC,gBAAgB,kDAAmB;IACnC,wBAAwB,kDAAmB;IAG3C,eAAe,uDAAwB;IACvC,uBAAuB,uDAAwB;IAG/C,oBAAoB,uDAAwB;IAC5C,4BAA4B,uDAAwB;IACpD,mBAAmB,uDAAwB;IAC3C,2BAA2B,uDAAwB;IACnD,kBAAkB,uDAAwB;IAG1C,kBAAkB,sDAAuB;IACzC,mBAAmB,sDAAuB;IAC1C,mBAAmB,sDAAuB;IAC1C,cAAc,sDAAuB;IAGrC,oBAAoB,4DAA6B;IACjD,mBAAmB,2DAA4B;yCA/CpC,QAAQ;2CAAR,QAAQ;CAgDpB"}