@simplysm/angular 14.1.2 → 14.1.6

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 (131) hide show
  1. package/dist/controls/button/sd-additional-button.js +3 -2
  2. package/dist/controls/button/sd-anchor.js +3 -2
  3. package/dist/controls/button/sd-button.js +11 -6
  4. package/dist/controls/button/sd-modal-select-button.js +15 -8
  5. package/dist/controls/checkbox/sd-checkbox-group-item.js +7 -4
  6. package/dist/controls/checkbox/sd-checkbox-group.js +3 -2
  7. package/dist/controls/checkbox/sd-checkbox.js +13 -7
  8. package/dist/controls/checkbox/sd-switch.js +9 -5
  9. package/dist/controls/collapse/sd-collapse-icon.js +7 -4
  10. package/dist/controls/collapse/sd-collapse.js +9 -5
  11. package/dist/controls/dropdown/sd-dropdown-popup.js +1 -1
  12. package/dist/controls/dropdown/sd-dropdown.js +5 -3
  13. package/dist/controls/form/sd-form.js +1 -1
  14. package/dist/controls/gap/sd-gap.js +13 -7
  15. package/dist/controls/input/sd-date-range-picker.js +7 -4
  16. package/dist/controls/input/sd-numpad.js +7 -4
  17. package/dist/controls/input/sd-range.js +9 -5
  18. package/dist/controls/input/sd-textarea.js +21 -11
  19. package/dist/controls/input/sd-textfield-type-handlers.d.ts.map +1 -1
  20. package/dist/controls/input/sd-textfield-type-handlers.js +5 -8
  21. package/dist/controls/input/sd-textfield.d.ts.map +1 -1
  22. package/dist/controls/input/sd-textfield.js +54 -26
  23. package/dist/controls/list/sd-list-item.js +19 -10
  24. package/dist/controls/list/sd-list.js +1 -1
  25. package/dist/controls/pagination/sd-pagination.js +11 -6
  26. package/dist/controls/select/sd-select-button.js +1 -1
  27. package/dist/controls/select/sd-select-item.js +7 -4
  28. package/dist/controls/select/sd-select.js +35 -18
  29. package/dist/controls/tab/sd-tab-item.d.ts +4 -4
  30. package/dist/controls/tab/sd-tab-item.d.ts.map +1 -1
  31. package/dist/controls/tab/sd-tab-item.js +6 -4
  32. package/dist/controls/tab/sd-tab.d.ts +4 -4
  33. package/dist/controls/tab/sd-tab.d.ts.map +1 -1
  34. package/dist/controls/tab/sd-tab.js +3 -2
  35. package/dist/core/app-structure/sd-app-structure.provider.js +10 -5
  36. package/dist/core/busy/sd-busy-container.js +9 -5
  37. package/dist/core/busy/sd-busy.provider.js +4 -2
  38. package/dist/core/config/injectSdSystemConfigResource.js +1 -1
  39. package/dist/core/config/sd-system-config.provider.d.ts +1 -1
  40. package/dist/core/config/sd-system-config.provider.d.ts.map +1 -1
  41. package/dist/core/config/sd-system-config.provider.js +1 -1
  42. package/dist/core/mark.d.ts +1 -1
  43. package/dist/core/mark.d.ts.map +1 -1
  44. package/dist/core/modal/sd-activated-modal.provider.js +4 -2
  45. package/dist/core/modal/sd-confirm-modal.js +5 -3
  46. package/dist/core/modal/sd-modal.js +37 -19
  47. package/dist/core/modal/sd-modal.provider.js +2 -1
  48. package/dist/core/modal/sd-prompt-modal.js +7 -4
  49. package/dist/core/selection/useExpandingManager.js +14 -7
  50. package/dist/core/selection/useSelectionManager.js +8 -4
  51. package/dist/core/selection/useSortingManager.js +2 -1
  52. package/dist/core/setupModelHook.d.ts +1 -1
  53. package/dist/core/setupModelHook.d.ts.map +1 -1
  54. package/dist/core/shared-data/sd-shared-data.provider.js +6 -3
  55. package/dist/core/show-effect/sd-show-effect.js +2 -1
  56. package/dist/core/show-effect/setupRevealOnShow.js +2 -1
  57. package/dist/core/template/sd-item-of-template.js +2 -1
  58. package/dist/core/template/sd-typed-template.js +2 -1
  59. package/dist/core/toast/sd-toast-container.js +1 -1
  60. package/dist/core/toast/sd-toast.js +13 -7
  61. package/dist/core/toast/sd-toast.provider.js +4 -2
  62. package/dist/data/crud/sd-base-container.js +19 -10
  63. package/dist/data/crud/sd-crud-detail.js +22 -12
  64. package/dist/data/crud/sd-crud-list.d.ts +1 -1
  65. package/dist/data/crud/sd-crud-list.d.ts.map +1 -1
  66. package/dist/data/crud/sd-crud-list.js +66 -34
  67. package/dist/data/kanban/sd-kanban-board.js +5 -3
  68. package/dist/data/kanban/sd-kanban-lane.js +14 -9
  69. package/dist/data/kanban/sd-kanban.js +18 -11
  70. package/dist/data/permission-table/sd-permission-table.js +15 -8
  71. package/dist/data/shared-data/sd-shared-data-select-button.d.ts +2 -2
  72. package/dist/data/shared-data/sd-shared-data-select-button.d.ts.map +1 -1
  73. package/dist/data/shared-data/sd-shared-data-select-button.js +13 -7
  74. package/dist/data/shared-data/sd-shared-data-select-list.js +27 -14
  75. package/dist/data/shared-data/sd-shared-data-select.js +45 -23
  76. package/dist/data/sheet/injectSheetColumnResizing.js +6 -3
  77. package/dist/data/sheet/sd-sheet-column-cell-template.js +2 -1
  78. package/dist/data/sheet/sd-sheet-column.d.ts +4 -4
  79. package/dist/data/sheet/sd-sheet-column.d.ts.map +1 -1
  80. package/dist/data/sheet/sd-sheet-column.js +16 -8
  81. package/dist/data/sheet/sd-sheet-config.modal.d.ts +1 -1
  82. package/dist/data/sheet/sd-sheet-config.modal.d.ts.map +1 -1
  83. package/dist/data/sheet/sd-sheet-config.modal.js +11 -6
  84. package/dist/data/sheet/sd-sheet.d.ts +2 -2
  85. package/dist/data/sheet/sd-sheet.d.ts.map +1 -1
  86. package/dist/data/sheet/sd-sheet.js +57 -32
  87. package/dist/data/sheet/useSheetCellAgent.js +2 -1
  88. package/dist/data/sheet/useSheetCellStyling.js +2 -1
  89. package/dist/data/sheet/useSheetColumnFixing.js +2 -1
  90. package/dist/data/sheet/useSheetDisplayPipeline.js +8 -4
  91. package/dist/data/sheet/useSheetLayoutEngine.js +10 -5
  92. package/dist/data/state-preset/sd-state-preset.js +9 -5
  93. package/dist/features/address/sd-address-search.modal.js +5 -3
  94. package/dist/features/editor/sd-markdown-editor.d.ts +2 -1
  95. package/dist/features/editor/sd-markdown-editor.d.ts.map +1 -1
  96. package/dist/features/editor/sd-markdown-editor.js +11 -6
  97. package/dist/features/editor/sd-tiptap-editor.d.ts +1 -1
  98. package/dist/features/editor/sd-tiptap-editor.d.ts.map +1 -1
  99. package/dist/features/editor/sd-tiptap-editor.js +13 -7
  100. package/dist/features/editor/useTiptapToolbar.d.ts +2 -1
  101. package/dist/features/editor/useTiptapToolbar.d.ts.map +1 -1
  102. package/dist/features/editor/useTiptapToolbar.js +8 -4
  103. package/dist/features/theme/sd-theme-provider.js +6 -3
  104. package/dist/features/theme/sd-theme-selector.js +5 -3
  105. package/dist/features/visual/sd-barcode.js +7 -4
  106. package/dist/features/visual/sd-calendar.js +13 -7
  107. package/dist/features/visual/sd-echarts.js +9 -5
  108. package/dist/features/visual/sd-label.js +5 -3
  109. package/dist/features/visual/sd-note.js +5 -3
  110. package/dist/features/visual/sd-progress.js +9 -5
  111. package/dist/layout/sidebar/sd-sidebar-container.js +3 -2
  112. package/dist/layout/sidebar/sd-sidebar-menu.js +11 -6
  113. package/dist/layout/sidebar/sd-sidebar-user.js +5 -3
  114. package/dist/layout/sidebar/sd-sidebar.js +3 -2
  115. package/dist/layout/topbar/sd-topbar-container.js +1 -1
  116. package/dist/layout/topbar/sd-topbar-menu.js +7 -4
  117. package/dist/layout/topbar/sd-topbar-user.js +5 -3
  118. package/dist/layout/topbar/sd-topbar.js +5 -3
  119. package/package.json +11 -13
  120. package/src/controls/input/sd-textfield-type-handlers.ts +5 -7
  121. package/src/controls/input/sd-textfield.ts +5 -1
  122. package/src/controls/tab/sd-tab-item.ts +3 -3
  123. package/src/controls/tab/sd-tab.ts +2 -2
  124. package/src/core/config/injectSdSystemConfigResource.ts +1 -1
  125. package/src/core/config/sd-system-config.provider.ts +2 -2
  126. package/src/core/mark.ts +2 -2
  127. package/src/core/setupModelHook.ts +2 -2
  128. package/src/data/shared-data/sd-shared-data-select-button.ts +2 -2
  129. package/src/data/sheet/sd-sheet-column.ts +2 -2
  130. package/src/features/editor/sd-markdown-editor.ts +2 -2
  131. package/src/features/editor/useTiptapToolbar.ts +21 -2
@@ -9,9 +9,11 @@ import { tablerMinus, tablerPalette, tablerPlus } from "@ng-icons/tabler-icons";
9
9
  import * as i0 from "@angular/core";
10
10
  export class SdThemeSelector {
11
11
  _sdTheme = inject(SdThemeProvider);
12
- isMinFontSize = computed(() => this._sdTheme.fontSize() <= this._sdTheme.fontSizePresets[0], ...(ngDevMode ? [{ debugName: "isMinFontSize" }] : /* istanbul ignore next */ []));
12
+ isMinFontSize = computed(() => this._sdTheme.fontSize() <= this._sdTheme.fontSizePresets[0], /* @ts-ignore */
13
+ ...(ngDevMode ? [{ debugName: "isMinFontSize" }] : /* istanbul ignore next */ []));
13
14
  isMaxFontSize = computed(() => this._sdTheme.fontSize() >=
14
- this._sdTheme.fontSizePresets[this._sdTheme.fontSizePresets.length - 1], ...(ngDevMode ? [{ debugName: "isMaxFontSize" }] : /* istanbul ignore next */ []));
15
+ this._sdTheme.fontSizePresets[this._sdTheme.fontSizePresets.length - 1], /* @ts-ignore */
16
+ ...(ngDevMode ? [{ debugName: "isMaxFontSize" }] : /* istanbul ignore next */ []));
15
17
  tablerPlus = tablerPlus;
16
18
  tablerMinus = tablerMinus;
17
19
  tablerPalette = tablerPalette;
@@ -65,7 +67,7 @@ export class SdThemeSelector {
65
67
  i0.ɵɵtwoWayProperty("value", ctx._sdTheme.dark);
66
68
  i0.ɵɵadvance(4);
67
69
  i0.ɵɵtwoWayProperty("value", ctx._sdTheme.blueprint);
68
- } }, dependencies: [SdDropdown, SdDropdownPopup, SdButton, SdSwitch, NgIcon], encapsulation: 2, changeDetection: 0 });
70
+ } }, dependencies: [SdDropdown, SdDropdownPopup, SdButton, SdSwitch, NgIcon], encapsulation: 2 });
69
71
  }
70
72
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdThemeSelector, [{
71
73
  type: Component,
@@ -4,8 +4,10 @@ import bwipjs from "bwip-js";
4
4
  import * as i0 from "@angular/core";
5
5
  export class SdBarcode {
6
6
  _sanitizer = inject(DomSanitizer);
7
- type = input.required(...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
8
- value = input(...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
7
+ type = input.required(/* @ts-ignore */
8
+ ...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
9
+ value = input(/* @ts-ignore */
10
+ ...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
9
11
  // bwip-js는 바코드 데이터를 기하학적 SVG로 변환하는 신뢰할 수 있는 라이브러리이므로
10
12
  // bypassSecurityTrustHtml을 사용한다. 사용자 HTML은 전달되지 않는다.
11
13
  _trustedSvgHtml = computed(() => {
@@ -18,13 +20,14 @@ export class SdBarcode {
18
20
  text,
19
21
  });
20
22
  return this._sanitizer.bypassSecurityTrustHtml(svg);
21
- }, ...(ngDevMode ? [{ debugName: "_trustedSvgHtml" }] : /* istanbul ignore next */ []));
23
+ }, /* @ts-ignore */
24
+ ...(ngDevMode ? [{ debugName: "_trustedSvgHtml" }] : /* istanbul ignore next */ []));
22
25
  static ɵfac = function SdBarcode_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdBarcode)(); };
23
26
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SdBarcode, selectors: [["sd-barcode"]], inputs: { type: [1, "type"], value: [1, "value"] }, decls: 1, vars: 1, consts: [[3, "innerHTML"]], template: function SdBarcode_Template(rf, ctx) { if (rf & 1) {
24
27
  i0.ɵɵdomElement(0, "div", 0);
25
28
  } if (rf & 2) {
26
29
  i0.ɵɵdomProperty("innerHTML", ctx._trustedSvgHtml(), i0.ɵɵsanitizeHtml);
27
- } }, encapsulation: 2, changeDetection: 0 });
30
+ } }, encapsulation: 2 });
28
31
  }
29
32
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdBarcode, [{
30
33
  type: Component,
@@ -42,12 +42,17 @@ function SdCalendar_For_19_Template(rf, ctx) { if (rf & 1) {
42
42
  i0.ɵɵrepeater(row_r6);
43
43
  } }
44
44
  export class SdCalendar {
45
- items = input.required(...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
46
- getItemDateFn = input.required(...(ngDevMode ? [{ debugName: "getItemDateFn" }] : /* istanbul ignore next */ []));
47
- yearMonth = input(new DateOnly().setDay(1), ...(ngDevMode ? [{ debugName: "yearMonth" }] : /* istanbul ignore next */ []));
45
+ items = input.required(/* @ts-ignore */
46
+ ...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
47
+ getItemDateFn = input.required(/* @ts-ignore */
48
+ ...(ngDevMode ? [{ debugName: "getItemDateFn" }] : /* istanbul ignore next */ []));
49
+ yearMonth = input(new DateOnly().setDay(1), /* @ts-ignore */
50
+ ...(ngDevMode ? [{ debugName: "yearMonth" }] : /* istanbul ignore next */ []));
48
51
  itemTplRef = contentChild.required(SdItemOfTemplate, { read: TemplateRef });
49
- weekStartDay = input(0, ...(ngDevMode ? [{ debugName: "weekStartDay" }] : /* istanbul ignore next */ []));
50
- minDaysInFirstWeek = input(1, ...(ngDevMode ? [{ debugName: "minDaysInFirstWeek" }] : /* istanbul ignore next */ []));
52
+ weekStartDay = input(0, /* @ts-ignore */
53
+ ...(ngDevMode ? [{ debugName: "weekStartDay" }] : /* istanbul ignore next */ []));
54
+ minDaysInFirstWeek = input(1, /* @ts-ignore */
55
+ ...(ngDevMode ? [{ debugName: "minDaysInFirstWeek" }] : /* istanbul ignore next */ []));
51
56
  weeks = ["일", "월", "화", "수", "목", "금", "토"];
52
57
  dataTable = computed(() => {
53
58
  const result = [];
@@ -78,7 +83,8 @@ export class SdCalendar {
78
83
  result.push(row);
79
84
  }
80
85
  return result;
81
- }, ...(ngDevMode ? [{ debugName: "dataTable" }] : /* istanbul ignore next */ []));
86
+ }, /* @ts-ignore */
87
+ ...(ngDevMode ? [{ debugName: "dataTable" }] : /* istanbul ignore next */ []));
82
88
  static ɵfac = function SdCalendar_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdCalendar)(); };
83
89
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SdCalendar, selectors: [["sd-calendar"]], contentQueries: function SdCalendar_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
84
90
  i0.ɵɵcontentQuerySignal(dirIndex, ctx.itemTplRef, SdItemOfTemplate, 5, TemplateRef);
@@ -126,7 +132,7 @@ export class SdCalendar {
126
132
  i0.ɵɵtextInterpolate1(" ", ctx.weeks[(ctx.weekStartDay() + 6) % 7], " ");
127
133
  i0.ɵɵadvance(2);
128
134
  i0.ɵɵrepeater(ctx.dataTable());
129
- } }, dependencies: [NgTemplateOutlet, FormatPipe], styles: ["/*@function to-rgb($oklch-color) {\n @return color.to-space($oklch-color, rgb);\n}*/\n/*$colors: (\n red: to-rgb(oklch(0.704 0.191 22.216)),\n orange: to-rgb(oklch(0.75 0.183 55.934)),\n amber: to-rgb(oklch(0.828 0.189 84.429)),\n yellow: to-rgb(oklch(0.852 0.199 91.936)),\n lime: to-rgb(oklch(0.841 0.238 128.85)),\n green: to-rgb(oklch(0.792 0.209 151.711)),\n emerald: to-rgb(oklch(0.765 0.177 163.223)),\n teal: to-rgb(oklch(0.777 0.152 181.912)),\n cyan: to-rgb(oklch(0.789 0.154 211.53)),\n sky: to-rgb(oklch(0.746 0.16 232.661)),\n blue: to-rgb(oklch(0.707 0.165 254.624)),\n indigo: to-rgb(oklch(0.673 0.182 276.935)),\n violet: to-rgb(oklch(0.702 0.183 293.541)),\n purple: to-rgb(oklch(0.714 0.203 305.504)),\n fuchsia: to-rgb(oklch(0.74 0.238 322.16)),\n pink: to-rgb(oklch(0.718 0.202 349.761)),\n rose: to-rgb(oklch(0.712 0.194 13.428)),\n slate: to-rgb(oklch(0.704 0.04 256.788)),\n gray: to-rgb(oklch(0.707 0.022 261.325)),\n zinc: to-rgb(oklch(0.705 0.015 286.067)),\n neutral: to-rgb(oklch(0.708 0 0)),\n stone: to-rgb(oklch(0.709 0.01 56.259)),\n);*/\nsd-calendar > table {\n border-collapse: collapse;\n width: 100%;\n height: 100%;\n border-radius: var(--border-radius-default);\n overflow: hidden;\n}\nsd-calendar > table > * > tr > * {\n padding: var(--gap-sm) var(--gap-default);\n border: 1px solid var(--theme-gray-light);\n width: 14.2857142857%;\n}\nsd-calendar > table > thead > tr > th {\n background: var(--theme-gray-lighter);\n height: 10%;\n}\nsd-calendar > table > tbody > tr > td {\n vertical-align: top;\n height: 15%;\n}\nsd-calendar > table > tbody > tr > td > .day {\n margin-bottom: var(--gap-sm);\n}\nsd-calendar > table > tbody > tr > td.not-current {\n background: var(--theme-gray-lightest);\n}\nsd-calendar > table > tbody > tr > td.not-current > .day {\n color: var(--theme-gray-default);\n}\nsd-calendar > table > tbody > tr > td > .content {\n display: flex;\n flex-wrap: nowrap;\n flex-direction: column;\n gap: var(--gap-sm);\n}\n@supports not (appearance: auto) {\n sd-calendar > table > tbody > tr > td > .content {\n gap: 0;\n }\n sd-calendar > table > tbody > tr > td > .content > * + * {\n margin-top: var(--gap-sm);\n }\n sd-calendar > table > tbody > tr > td > .content.gap-xxs {\n gap: 0;\n }\n sd-calendar > table > tbody > tr > td > .content.gap-xxs > * + * {\n margin-top: var(--gap-xxs);\n }\n sd-calendar > table > tbody > tr > td > .content.gap-xs {\n gap: 0;\n }\n sd-calendar > table > tbody > tr > td > .content.gap-xs > * + * {\n margin-top: var(--gap-xs);\n }\n sd-calendar > table > tbody > tr > td > .content.gap-sm {\n gap: 0;\n }\n sd-calendar > table > tbody > tr > td > .content.gap-sm > * + * {\n margin-top: var(--gap-sm);\n }\n sd-calendar > table > tbody > tr > td > .content.gap-default {\n gap: 0;\n }\n sd-calendar > table > tbody > tr > td > .content.gap-default > * + * {\n margin-top: var(--gap-default);\n }\n sd-calendar > table > tbody > tr > td > .content.gap-lg {\n gap: 0;\n }\n sd-calendar > table > tbody > tr > td > .content.gap-lg > * + * {\n margin-top: var(--gap-lg);\n }\n sd-calendar > table > tbody > tr > td > .content.gap-xl {\n gap: 0;\n }\n sd-calendar > table > tbody > tr > td > .content.gap-xl > * + * {\n margin-top: var(--gap-xl);\n }\n sd-calendar > table > tbody > tr > td > .content.gap-xxl {\n gap: 0;\n }\n sd-calendar > table > tbody > tr > td > .content.gap-xxl > * + * {\n margin-top: var(--gap-xxl);\n }\n sd-calendar > table > tbody > tr > td > .content.gap-0 {\n gap: 0;\n }\n sd-calendar > table > tbody > tr > td > .content.gap-0 > * + * {\n margin-top: var(--gap-0);\n }\n sd-calendar > table > tbody > tr > td > .content.gap-auto {\n gap: 0;\n }\n sd-calendar > table > tbody > tr > td > .content.gap-auto > * + * {\n margin-top: var(--gap-auto);\n }\n}"], encapsulation: 2, changeDetection: 0 });
135
+ } }, dependencies: [NgTemplateOutlet, FormatPipe], styles: ["/*@function to-rgb($oklch-color) {\n @return color.to-space($oklch-color, rgb);\n}*/\n/*$colors: (\n red: to-rgb(oklch(0.704 0.191 22.216)),\n orange: to-rgb(oklch(0.75 0.183 55.934)),\n amber: to-rgb(oklch(0.828 0.189 84.429)),\n yellow: to-rgb(oklch(0.852 0.199 91.936)),\n lime: to-rgb(oklch(0.841 0.238 128.85)),\n green: to-rgb(oklch(0.792 0.209 151.711)),\n emerald: to-rgb(oklch(0.765 0.177 163.223)),\n teal: to-rgb(oklch(0.777 0.152 181.912)),\n cyan: to-rgb(oklch(0.789 0.154 211.53)),\n sky: to-rgb(oklch(0.746 0.16 232.661)),\n blue: to-rgb(oklch(0.707 0.165 254.624)),\n indigo: to-rgb(oklch(0.673 0.182 276.935)),\n violet: to-rgb(oklch(0.702 0.183 293.541)),\n purple: to-rgb(oklch(0.714 0.203 305.504)),\n fuchsia: to-rgb(oklch(0.74 0.238 322.16)),\n pink: to-rgb(oklch(0.718 0.202 349.761)),\n rose: to-rgb(oklch(0.712 0.194 13.428)),\n slate: to-rgb(oklch(0.704 0.04 256.788)),\n gray: to-rgb(oklch(0.707 0.022 261.325)),\n zinc: to-rgb(oklch(0.705 0.015 286.067)),\n neutral: to-rgb(oklch(0.708 0 0)),\n stone: to-rgb(oklch(0.709 0.01 56.259)),\n);*/\nsd-calendar > table {\n border-collapse: collapse;\n width: 100%;\n height: 100%;\n border-radius: var(--border-radius-default);\n overflow: hidden;\n}\nsd-calendar > table > * > tr > * {\n padding: var(--gap-sm) var(--gap-default);\n border: 1px solid var(--theme-gray-light);\n width: 14.2857142857%;\n}\nsd-calendar > table > thead > tr > th {\n background: var(--theme-gray-lighter);\n height: 10%;\n}\nsd-calendar > table > tbody > tr > td {\n vertical-align: top;\n height: 15%;\n}\nsd-calendar > table > tbody > tr > td > .day {\n margin-bottom: var(--gap-sm);\n}\nsd-calendar > table > tbody > tr > td.not-current {\n background: var(--theme-gray-lightest);\n}\nsd-calendar > table > tbody > tr > td.not-current > .day {\n color: var(--theme-gray-default);\n}\nsd-calendar > table > tbody > tr > td > .content {\n display: flex;\n flex-wrap: nowrap;\n flex-direction: column;\n gap: var(--gap-sm);\n}\n@supports not (appearance: auto) {\n sd-calendar > table > tbody > tr > td > .content {\n gap: 0;\n }\n sd-calendar > table > tbody > tr > td > .content > * + * {\n margin-top: var(--gap-sm);\n }\n sd-calendar > table > tbody > tr > td > .content.gap-xxs {\n gap: 0;\n }\n sd-calendar > table > tbody > tr > td > .content.gap-xxs > * + * {\n margin-top: var(--gap-xxs);\n }\n sd-calendar > table > tbody > tr > td > .content.gap-xs {\n gap: 0;\n }\n sd-calendar > table > tbody > tr > td > .content.gap-xs > * + * {\n margin-top: var(--gap-xs);\n }\n sd-calendar > table > tbody > tr > td > .content.gap-sm {\n gap: 0;\n }\n sd-calendar > table > tbody > tr > td > .content.gap-sm > * + * {\n margin-top: var(--gap-sm);\n }\n sd-calendar > table > tbody > tr > td > .content.gap-default {\n gap: 0;\n }\n sd-calendar > table > tbody > tr > td > .content.gap-default > * + * {\n margin-top: var(--gap-default);\n }\n sd-calendar > table > tbody > tr > td > .content.gap-lg {\n gap: 0;\n }\n sd-calendar > table > tbody > tr > td > .content.gap-lg > * + * {\n margin-top: var(--gap-lg);\n }\n sd-calendar > table > tbody > tr > td > .content.gap-xl {\n gap: 0;\n }\n sd-calendar > table > tbody > tr > td > .content.gap-xl > * + * {\n margin-top: var(--gap-xl);\n }\n sd-calendar > table > tbody > tr > td > .content.gap-xxl {\n gap: 0;\n }\n sd-calendar > table > tbody > tr > td > .content.gap-xxl > * + * {\n margin-top: var(--gap-xxl);\n }\n sd-calendar > table > tbody > tr > td > .content.gap-0 {\n gap: 0;\n }\n sd-calendar > table > tbody > tr > td > .content.gap-0 > * + * {\n margin-top: var(--gap-0);\n }\n sd-calendar > table > tbody > tr > td > .content.gap-auto {\n gap: 0;\n }\n sd-calendar > table > tbody > tr > td > .content.gap-auto > * + * {\n margin-top: var(--gap-auto);\n }\n}"], encapsulation: 2 });
130
136
  }
131
137
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdCalendar, [{
132
138
  type: Component,
@@ -5,10 +5,14 @@ import * as i0 from "@angular/core";
5
5
  import * as i1 from "../../core/events/sd-resize";
6
6
  const _c0 = ["*"];
7
7
  export class SdEcharts {
8
- _chart = signal(undefined, ...(ngDevMode ? [{ debugName: "_chart" }] : /* istanbul ignore next */ []));
9
- option = input.required(...(ngDevMode ? [{ debugName: "option" }] : /* istanbul ignore next */ []));
10
- notMerge = input(false, ...(ngDevMode ? [{ debugName: "notMerge" }] : /* istanbul ignore next */ []));
11
- loading = input(false, ...(ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []));
8
+ _chart = signal(undefined, /* @ts-ignore */
9
+ ...(ngDevMode ? [{ debugName: "_chart" }] : /* istanbul ignore next */ []));
10
+ option = input.required(/* @ts-ignore */
11
+ ...(ngDevMode ? [{ debugName: "option" }] : /* istanbul ignore next */ []));
12
+ notMerge = input(false, /* @ts-ignore */
13
+ ...(ngDevMode ? [{ debugName: "notMerge" }] : /* istanbul ignore next */ []));
14
+ loading = input(false, /* @ts-ignore */
15
+ ...(ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []));
12
16
  constructor() {
13
17
  const elRef = inject(ElementRef);
14
18
  const destroyRef = inject(DestroyRef);
@@ -44,7 +48,7 @@ export class SdEcharts {
44
48
  } }, inputs: { option: [1, "option"], notMerge: [1, "notMerge"], loading: [1, "loading"] }, features: [i0.ɵɵHostDirectivesFeature([{ directive: i1.SdResizeDirective, outputs: ["sdResize", "sdResize"] }])], ngContentSelectors: _c0, decls: 1, vars: 0, template: function SdEcharts_Template(rf, ctx) { if (rf & 1) {
45
49
  i0.ɵɵprojectionDef();
46
50
  i0.ɵɵprojection(0);
47
- } }, styles: ["sd-echarts {\n display: block;\n height: 100%;\n}"], encapsulation: 2, changeDetection: 0 });
51
+ } }, styles: ["sd-echarts {\n display: block;\n height: 100%;\n}"], encapsulation: 2 });
48
52
  }
49
53
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdEcharts, [{
50
54
  type: Component,
@@ -2,8 +2,10 @@ import { booleanAttribute, ChangeDetectionStrategy, Component, input, ViewEncaps
2
2
  import * as i0 from "@angular/core";
3
3
  const _c0 = ["*"];
4
4
  export class SdLabel {
5
- theme = input(...(ngDevMode ? [undefined, { debugName: "theme" }] : /* istanbul ignore next */ []));
6
- color = input(...(ngDevMode ? [undefined, { debugName: "color" }] : /* istanbul ignore next */ []));
5
+ theme = input(/* @ts-ignore */
6
+ ...(ngDevMode ? [undefined, { debugName: "theme" }] : /* istanbul ignore next */ []));
7
+ color = input(/* @ts-ignore */
8
+ ...(ngDevMode ? [undefined, { debugName: "color" }] : /* istanbul ignore next */ []));
7
9
  clickable = input(false, { ...(ngDevMode ? { debugName: "clickable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
8
10
  static ɵfac = function SdLabel_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdLabel)(); };
9
11
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SdLabel, selectors: [["sd-label"]], hostVars: 4, hostBindings: function SdLabel_HostBindings(rf, ctx) { if (rf & 2) {
@@ -12,7 +14,7 @@ export class SdLabel {
12
14
  } }, inputs: { theme: [1, "theme"], color: [1, "color"], clickable: [1, "clickable"] }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function SdLabel_Template(rf, ctx) { if (rf & 1) {
13
15
  i0.ɵɵprojectionDef();
14
16
  i0.ɵɵprojection(0);
15
- } }, styles: ["/*@function to-rgb($oklch-color) {\n @return color.to-space($oklch-color, rgb);\n}*/\n/*$colors: (\n red: to-rgb(oklch(0.704 0.191 22.216)),\n orange: to-rgb(oklch(0.75 0.183 55.934)),\n amber: to-rgb(oklch(0.828 0.189 84.429)),\n yellow: to-rgb(oklch(0.852 0.199 91.936)),\n lime: to-rgb(oklch(0.841 0.238 128.85)),\n green: to-rgb(oklch(0.792 0.209 151.711)),\n emerald: to-rgb(oklch(0.765 0.177 163.223)),\n teal: to-rgb(oklch(0.777 0.152 181.912)),\n cyan: to-rgb(oklch(0.789 0.154 211.53)),\n sky: to-rgb(oklch(0.746 0.16 232.661)),\n blue: to-rgb(oklch(0.707 0.165 254.624)),\n indigo: to-rgb(oklch(0.673 0.182 276.935)),\n violet: to-rgb(oklch(0.702 0.183 293.541)),\n purple: to-rgb(oklch(0.714 0.203 305.504)),\n fuchsia: to-rgb(oklch(0.74 0.238 322.16)),\n pink: to-rgb(oklch(0.718 0.202 349.761)),\n rose: to-rgb(oklch(0.712 0.194 13.428)),\n slate: to-rgb(oklch(0.704 0.04 256.788)),\n gray: to-rgb(oklch(0.707 0.022 261.325)),\n zinc: to-rgb(oklch(0.705 0.015 286.067)),\n neutral: to-rgb(oklch(0.708 0 0)),\n stone: to-rgb(oklch(0.709 0.01 56.259)),\n);*/\nsd-label {\n display: inline-block;\n background: var(--theme-gray-darker);\n color: var(--text-trans-rev-default);\n padding: 0 var(--gap-sm);\n border-radius: var(--border-radius-default);\n text-indent: 0;\n}\nsd-label[data-sd-theme=gray] {\n background: var(--theme-gray-default);\n}\nsd-label[data-sd-theme=blue-gray] {\n background: var(--theme-blue-gray-default);\n}\nsd-label[data-sd-theme=primary] {\n background: var(--theme-primary-default);\n}\nsd-label[data-sd-theme=secondary] {\n background: var(--theme-secondary-default);\n}\nsd-label[data-sd-theme=info] {\n background: var(--theme-info-default);\n}\nsd-label[data-sd-theme=success] {\n background: var(--theme-success-default);\n}\nsd-label[data-sd-theme=warning] {\n background: var(--theme-warning-default);\n}\nsd-label[data-sd-theme=danger] {\n background: var(--theme-danger-default);\n}\nsd-label[data-sd-clickable=true] {\n cursor: pointer;\n}\nsd-label[data-sd-clickable=true]:hover {\n background: var(--theme-gray-dark);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=gray] {\n background: var(--theme-gray-dark);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=blue-gray] {\n background: var(--theme-blue-gray-dark);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=primary] {\n background: var(--theme-primary-dark);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=secondary] {\n background: var(--theme-secondary-dark);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=info] {\n background: var(--theme-info-dark);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=success] {\n background: var(--theme-success-dark);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=warning] {\n background: var(--theme-warning-dark);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=danger] {\n background: var(--theme-danger-dark);\n}"], encapsulation: 2, changeDetection: 0 });
17
+ } }, styles: ["/*@function to-rgb($oklch-color) {\n @return color.to-space($oklch-color, rgb);\n}*/\n/*$colors: (\n red: to-rgb(oklch(0.704 0.191 22.216)),\n orange: to-rgb(oklch(0.75 0.183 55.934)),\n amber: to-rgb(oklch(0.828 0.189 84.429)),\n yellow: to-rgb(oklch(0.852 0.199 91.936)),\n lime: to-rgb(oklch(0.841 0.238 128.85)),\n green: to-rgb(oklch(0.792 0.209 151.711)),\n emerald: to-rgb(oklch(0.765 0.177 163.223)),\n teal: to-rgb(oklch(0.777 0.152 181.912)),\n cyan: to-rgb(oklch(0.789 0.154 211.53)),\n sky: to-rgb(oklch(0.746 0.16 232.661)),\n blue: to-rgb(oklch(0.707 0.165 254.624)),\n indigo: to-rgb(oklch(0.673 0.182 276.935)),\n violet: to-rgb(oklch(0.702 0.183 293.541)),\n purple: to-rgb(oklch(0.714 0.203 305.504)),\n fuchsia: to-rgb(oklch(0.74 0.238 322.16)),\n pink: to-rgb(oklch(0.718 0.202 349.761)),\n rose: to-rgb(oklch(0.712 0.194 13.428)),\n slate: to-rgb(oklch(0.704 0.04 256.788)),\n gray: to-rgb(oklch(0.707 0.022 261.325)),\n zinc: to-rgb(oklch(0.705 0.015 286.067)),\n neutral: to-rgb(oklch(0.708 0 0)),\n stone: to-rgb(oklch(0.709 0.01 56.259)),\n);*/\nsd-label {\n display: inline-block;\n background: var(--theme-gray-darker);\n color: var(--text-trans-rev-default);\n padding: 0 var(--gap-sm);\n border-radius: var(--border-radius-default);\n text-indent: 0;\n}\nsd-label[data-sd-theme=gray] {\n background: var(--theme-gray-default);\n}\nsd-label[data-sd-theme=blue-gray] {\n background: var(--theme-blue-gray-default);\n}\nsd-label[data-sd-theme=primary] {\n background: var(--theme-primary-default);\n}\nsd-label[data-sd-theme=secondary] {\n background: var(--theme-secondary-default);\n}\nsd-label[data-sd-theme=info] {\n background: var(--theme-info-default);\n}\nsd-label[data-sd-theme=success] {\n background: var(--theme-success-default);\n}\nsd-label[data-sd-theme=warning] {\n background: var(--theme-warning-default);\n}\nsd-label[data-sd-theme=danger] {\n background: var(--theme-danger-default);\n}\nsd-label[data-sd-clickable=true] {\n cursor: pointer;\n}\nsd-label[data-sd-clickable=true]:hover {\n background: var(--theme-gray-dark);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=gray] {\n background: var(--theme-gray-dark);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=blue-gray] {\n background: var(--theme-blue-gray-dark);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=primary] {\n background: var(--theme-primary-dark);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=secondary] {\n background: var(--theme-secondary-dark);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=info] {\n background: var(--theme-info-dark);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=success] {\n background: var(--theme-success-dark);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=warning] {\n background: var(--theme-warning-dark);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=danger] {\n background: var(--theme-danger-dark);\n}"], encapsulation: 2 });
16
18
  }
17
19
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdLabel, [{
18
20
  type: Component,
@@ -2,8 +2,10 @@ import { booleanAttribute, ChangeDetectionStrategy, Component, input, ViewEncaps
2
2
  import * as i0 from "@angular/core";
3
3
  const _c0 = ["*"];
4
4
  export class SdNote {
5
- theme = input(...(ngDevMode ? [undefined, { debugName: "theme" }] : /* istanbul ignore next */ []));
6
- size = input(...(ngDevMode ? [undefined, { debugName: "size" }] : /* istanbul ignore next */ []));
5
+ theme = input(/* @ts-ignore */
6
+ ...(ngDevMode ? [undefined, { debugName: "theme" }] : /* istanbul ignore next */ []));
7
+ size = input(/* @ts-ignore */
8
+ ...(ngDevMode ? [undefined, { debugName: "size" }] : /* istanbul ignore next */ []));
7
9
  inset = input(false, { ...(ngDevMode ? { debugName: "inset" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
8
10
  static ɵfac = function SdNote_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdNote)(); };
9
11
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SdNote, selectors: [["sd-note"]], hostVars: 3, hostBindings: function SdNote_HostBindings(rf, ctx) { if (rf & 2) {
@@ -11,7 +13,7 @@ export class SdNote {
11
13
  } }, inputs: { theme: [1, "theme"], size: [1, "size"], inset: [1, "inset"] }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function SdNote_Template(rf, ctx) { if (rf & 1) {
12
14
  i0.ɵɵprojectionDef();
13
15
  i0.ɵɵprojection(0);
14
- } }, styles: ["/*@function to-rgb($oklch-color) {\n @return color.to-space($oklch-color, rgb);\n}*/\n/*$colors: (\n red: to-rgb(oklch(0.704 0.191 22.216)),\n orange: to-rgb(oklch(0.75 0.183 55.934)),\n amber: to-rgb(oklch(0.828 0.189 84.429)),\n yellow: to-rgb(oklch(0.852 0.199 91.936)),\n lime: to-rgb(oklch(0.841 0.238 128.85)),\n green: to-rgb(oklch(0.792 0.209 151.711)),\n emerald: to-rgb(oklch(0.765 0.177 163.223)),\n teal: to-rgb(oklch(0.777 0.152 181.912)),\n cyan: to-rgb(oklch(0.789 0.154 211.53)),\n sky: to-rgb(oklch(0.746 0.16 232.661)),\n blue: to-rgb(oklch(0.707 0.165 254.624)),\n indigo: to-rgb(oklch(0.673 0.182 276.935)),\n violet: to-rgb(oklch(0.702 0.183 293.541)),\n purple: to-rgb(oklch(0.714 0.203 305.504)),\n fuchsia: to-rgb(oklch(0.74 0.238 322.16)),\n pink: to-rgb(oklch(0.718 0.202 349.761)),\n rose: to-rgb(oklch(0.712 0.194 13.428)),\n slate: to-rgb(oklch(0.704 0.04 256.788)),\n gray: to-rgb(oklch(0.707 0.022 261.325)),\n zinc: to-rgb(oklch(0.705 0.015 286.067)),\n neutral: to-rgb(oklch(0.708 0 0)),\n stone: to-rgb(oklch(0.709 0.01 56.259)),\n);*/\nsd-note {\n display: block;\n padding: var(--gap-sm) var(--gap-default);\n background: var(--theme-gray-lightest);\n border: none;\n border-radius: var(--border-radius-default);\n}\nsd-note[data-sd-theme=gray] {\n background: var(--theme-gray-lightest);\n border: 1px solid var(--theme-gray-lightest);\n}\nsd-note[data-sd-theme=blue-gray] {\n background: var(--theme-blue-gray-lightest);\n border: 1px solid var(--theme-blue-gray-lightest);\n}\nsd-note[data-sd-theme=primary] {\n background: var(--theme-primary-lightest);\n border: 1px solid var(--theme-primary-lightest);\n}\nsd-note[data-sd-theme=secondary] {\n background: var(--theme-secondary-lightest);\n border: 1px solid var(--theme-secondary-lightest);\n}\nsd-note[data-sd-theme=info] {\n background: var(--theme-info-lightest);\n border: 1px solid var(--theme-info-lightest);\n}\nsd-note[data-sd-theme=success] {\n background: var(--theme-success-lightest);\n border: 1px solid var(--theme-success-lightest);\n}\nsd-note[data-sd-theme=warning] {\n background: var(--theme-warning-lightest);\n border: 1px solid var(--theme-warning-lightest);\n}\nsd-note[data-sd-theme=danger] {\n background: var(--theme-danger-lightest);\n border: 1px solid var(--theme-danger-lightest);\n}\nsd-note[data-sd-size=sm] {\n font-size: var(--font-size-sm);\n padding: var(--gap-xs) var(--gap-sm);\n}\nsd-note[data-sd-size=lg] {\n padding: var(--gap-default) var(--gap-lg);\n}\nsd-note[data-sd-inset=true] {\n border-radius: 0;\n}"], encapsulation: 2, changeDetection: 0 });
16
+ } }, styles: ["/*@function to-rgb($oklch-color) {\n @return color.to-space($oklch-color, rgb);\n}*/\n/*$colors: (\n red: to-rgb(oklch(0.704 0.191 22.216)),\n orange: to-rgb(oklch(0.75 0.183 55.934)),\n amber: to-rgb(oklch(0.828 0.189 84.429)),\n yellow: to-rgb(oklch(0.852 0.199 91.936)),\n lime: to-rgb(oklch(0.841 0.238 128.85)),\n green: to-rgb(oklch(0.792 0.209 151.711)),\n emerald: to-rgb(oklch(0.765 0.177 163.223)),\n teal: to-rgb(oklch(0.777 0.152 181.912)),\n cyan: to-rgb(oklch(0.789 0.154 211.53)),\n sky: to-rgb(oklch(0.746 0.16 232.661)),\n blue: to-rgb(oklch(0.707 0.165 254.624)),\n indigo: to-rgb(oklch(0.673 0.182 276.935)),\n violet: to-rgb(oklch(0.702 0.183 293.541)),\n purple: to-rgb(oklch(0.714 0.203 305.504)),\n fuchsia: to-rgb(oklch(0.74 0.238 322.16)),\n pink: to-rgb(oklch(0.718 0.202 349.761)),\n rose: to-rgb(oklch(0.712 0.194 13.428)),\n slate: to-rgb(oklch(0.704 0.04 256.788)),\n gray: to-rgb(oklch(0.707 0.022 261.325)),\n zinc: to-rgb(oklch(0.705 0.015 286.067)),\n neutral: to-rgb(oklch(0.708 0 0)),\n stone: to-rgb(oklch(0.709 0.01 56.259)),\n);*/\nsd-note {\n display: block;\n padding: var(--gap-sm) var(--gap-default);\n background: var(--theme-gray-lightest);\n border: none;\n border-radius: var(--border-radius-default);\n}\nsd-note[data-sd-theme=gray] {\n background: var(--theme-gray-lightest);\n border: 1px solid var(--theme-gray-lightest);\n}\nsd-note[data-sd-theme=blue-gray] {\n background: var(--theme-blue-gray-lightest);\n border: 1px solid var(--theme-blue-gray-lightest);\n}\nsd-note[data-sd-theme=primary] {\n background: var(--theme-primary-lightest);\n border: 1px solid var(--theme-primary-lightest);\n}\nsd-note[data-sd-theme=secondary] {\n background: var(--theme-secondary-lightest);\n border: 1px solid var(--theme-secondary-lightest);\n}\nsd-note[data-sd-theme=info] {\n background: var(--theme-info-lightest);\n border: 1px solid var(--theme-info-lightest);\n}\nsd-note[data-sd-theme=success] {\n background: var(--theme-success-lightest);\n border: 1px solid var(--theme-success-lightest);\n}\nsd-note[data-sd-theme=warning] {\n background: var(--theme-warning-lightest);\n border: 1px solid var(--theme-warning-lightest);\n}\nsd-note[data-sd-theme=danger] {\n background: var(--theme-danger-lightest);\n border: 1px solid var(--theme-danger-lightest);\n}\nsd-note[data-sd-size=sm] {\n font-size: var(--font-size-sm);\n padding: var(--gap-xs) var(--gap-sm);\n}\nsd-note[data-sd-size=lg] {\n padding: var(--gap-default) var(--gap-lg);\n}\nsd-note[data-sd-inset=true] {\n border-radius: 0;\n}"], encapsulation: 2 });
15
17
  }
16
18
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdNote, [{
17
19
  type: Component,
@@ -3,10 +3,14 @@ import { PercentPipe } from "@angular/common";
3
3
  import * as i0 from "@angular/core";
4
4
  export class SdProgress {
5
5
  inset = input(false, { ...(ngDevMode ? { debugName: "inset" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
6
- size = input(...(ngDevMode ? [undefined, { debugName: "size" }] : /* istanbul ignore next */ []));
7
- theme = input.required(...(ngDevMode ? [{ debugName: "theme" }] : /* istanbul ignore next */ []));
8
- value = input.required(...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
9
- _barWidth = computed(() => Math.min(Math.max(this.value() * 100, 0), 100) + "%", ...(ngDevMode ? [{ debugName: "_barWidth" }] : /* istanbul ignore next */ []));
6
+ size = input(/* @ts-ignore */
7
+ ...(ngDevMode ? [undefined, { debugName: "size" }] : /* istanbul ignore next */ []));
8
+ theme = input.required(/* @ts-ignore */
9
+ ...(ngDevMode ? [{ debugName: "theme" }] : /* istanbul ignore next */ []));
10
+ value = input.required(/* @ts-ignore */
11
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
12
+ _barWidth = computed(() => Math.min(Math.max(this.value() * 100, 0), 100) + "%", /* @ts-ignore */
13
+ ...(ngDevMode ? [{ debugName: "_barWidth" }] : /* istanbul ignore next */ []));
10
14
  static ɵfac = function SdProgress_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdProgress)(); };
11
15
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SdProgress, selectors: [["sd-progress"]], hostVars: 3, hostBindings: function SdProgress_HostBindings(rf, ctx) { if (rf & 2) {
12
16
  i0.ɵɵattribute("data-sd-inset", ctx.inset())("data-sd-size", ctx.size())("data-sd-theme", ctx.theme());
@@ -21,7 +25,7 @@ export class SdProgress {
21
25
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 3, ctx.value(), "1.0-2"), " ");
22
26
  i0.ɵɵadvance(2);
23
27
  i0.ɵɵstyleProp("width", ctx._barWidth());
24
- } }, dependencies: [PercentPipe], styles: ["/*@function to-rgb($oklch-color) {\n @return color.to-space($oklch-color, rgb);\n}*/\n/*$colors: (\n red: to-rgb(oklch(0.704 0.191 22.216)),\n orange: to-rgb(oklch(0.75 0.183 55.934)),\n amber: to-rgb(oklch(0.828 0.189 84.429)),\n yellow: to-rgb(oklch(0.852 0.199 91.936)),\n lime: to-rgb(oklch(0.841 0.238 128.85)),\n green: to-rgb(oklch(0.792 0.209 151.711)),\n emerald: to-rgb(oklch(0.765 0.177 163.223)),\n teal: to-rgb(oklch(0.777 0.152 181.912)),\n cyan: to-rgb(oklch(0.789 0.154 211.53)),\n sky: to-rgb(oklch(0.746 0.16 232.661)),\n blue: to-rgb(oklch(0.707 0.165 254.624)),\n indigo: to-rgb(oklch(0.673 0.182 276.935)),\n violet: to-rgb(oklch(0.702 0.183 293.541)),\n purple: to-rgb(oklch(0.714 0.203 305.504)),\n fuchsia: to-rgb(oklch(0.74 0.238 322.16)),\n pink: to-rgb(oklch(0.718 0.202 349.761)),\n rose: to-rgb(oklch(0.712 0.194 13.428)),\n slate: to-rgb(oklch(0.704 0.04 256.788)),\n gray: to-rgb(oklch(0.707 0.022 261.325)),\n zinc: to-rgb(oklch(0.705 0.015 286.067)),\n neutral: to-rgb(oklch(0.708 0 0)),\n stone: to-rgb(oklch(0.709 0.01 56.259)),\n);*/\nsd-progress {\n position: relative;\n display: block;\n width: 100%;\n white-space: nowrap;\n background: var(--theme-gray-lightest);\n border: 1px solid var(--theme-gray-lightest);\n border-radius: var(--border-radius-default);\n overflow: hidden;\n}\nsd-progress > ._content {\n position: relative;\n z-index: 2;\n padding: var(--gap-lg) var(--gap-default);\n}\nsd-progress > ._progress {\n position: absolute;\n z-index: 1;\n top: 0;\n left: 0;\n height: 100%;\n}\nsd-progress[data-sd-theme=gray] > ._progress {\n background: var(--theme-gray-default);\n}\nsd-progress[data-sd-theme=blue-gray] > ._progress {\n background: var(--theme-blue-gray-default);\n}\nsd-progress[data-sd-theme=primary] > ._progress {\n background: var(--theme-primary-default);\n}\nsd-progress[data-sd-theme=secondary] > ._progress {\n background: var(--theme-secondary-default);\n}\nsd-progress[data-sd-theme=info] > ._progress {\n background: var(--theme-info-default);\n}\nsd-progress[data-sd-theme=success] > ._progress {\n background: var(--theme-success-default);\n}\nsd-progress[data-sd-theme=warning] > ._progress {\n background: var(--theme-warning-default);\n}\nsd-progress[data-sd-theme=danger] > ._progress {\n background: var(--theme-danger-default);\n}\nsd-progress[data-sd-size=sm] > ._content {\n padding: var(--gap-xs) var(--gap-default);\n}\nsd-progress[data-sd-size=lg] > ._content {\n padding: var(--gap-default) var(--gap-xl);\n}\nsd-progress[data-sd-inset=true] {\n border-radius: 0;\n border: none;\n background: var(--control-color);\n}"], encapsulation: 2, changeDetection: 0 });
28
+ } }, dependencies: [PercentPipe], styles: ["/*@function to-rgb($oklch-color) {\n @return color.to-space($oklch-color, rgb);\n}*/\n/*$colors: (\n red: to-rgb(oklch(0.704 0.191 22.216)),\n orange: to-rgb(oklch(0.75 0.183 55.934)),\n amber: to-rgb(oklch(0.828 0.189 84.429)),\n yellow: to-rgb(oklch(0.852 0.199 91.936)),\n lime: to-rgb(oklch(0.841 0.238 128.85)),\n green: to-rgb(oklch(0.792 0.209 151.711)),\n emerald: to-rgb(oklch(0.765 0.177 163.223)),\n teal: to-rgb(oklch(0.777 0.152 181.912)),\n cyan: to-rgb(oklch(0.789 0.154 211.53)),\n sky: to-rgb(oklch(0.746 0.16 232.661)),\n blue: to-rgb(oklch(0.707 0.165 254.624)),\n indigo: to-rgb(oklch(0.673 0.182 276.935)),\n violet: to-rgb(oklch(0.702 0.183 293.541)),\n purple: to-rgb(oklch(0.714 0.203 305.504)),\n fuchsia: to-rgb(oklch(0.74 0.238 322.16)),\n pink: to-rgb(oklch(0.718 0.202 349.761)),\n rose: to-rgb(oklch(0.712 0.194 13.428)),\n slate: to-rgb(oklch(0.704 0.04 256.788)),\n gray: to-rgb(oklch(0.707 0.022 261.325)),\n zinc: to-rgb(oklch(0.705 0.015 286.067)),\n neutral: to-rgb(oklch(0.708 0 0)),\n stone: to-rgb(oklch(0.709 0.01 56.259)),\n);*/\nsd-progress {\n position: relative;\n display: block;\n width: 100%;\n white-space: nowrap;\n background: var(--theme-gray-lightest);\n border: 1px solid var(--theme-gray-lightest);\n border-radius: var(--border-radius-default);\n overflow: hidden;\n}\nsd-progress > ._content {\n position: relative;\n z-index: 2;\n padding: var(--gap-lg) var(--gap-default);\n}\nsd-progress > ._progress {\n position: absolute;\n z-index: 1;\n top: 0;\n left: 0;\n height: 100%;\n}\nsd-progress[data-sd-theme=gray] > ._progress {\n background: var(--theme-gray-default);\n}\nsd-progress[data-sd-theme=blue-gray] > ._progress {\n background: var(--theme-blue-gray-default);\n}\nsd-progress[data-sd-theme=primary] > ._progress {\n background: var(--theme-primary-default);\n}\nsd-progress[data-sd-theme=secondary] > ._progress {\n background: var(--theme-secondary-default);\n}\nsd-progress[data-sd-theme=info] > ._progress {\n background: var(--theme-info-default);\n}\nsd-progress[data-sd-theme=success] > ._progress {\n background: var(--theme-success-default);\n}\nsd-progress[data-sd-theme=warning] > ._progress {\n background: var(--theme-warning-default);\n}\nsd-progress[data-sd-theme=danger] > ._progress {\n background: var(--theme-danger-default);\n}\nsd-progress[data-sd-size=sm] > ._content {\n padding: var(--gap-xs) var(--gap-default);\n}\nsd-progress[data-sd-size=lg] > ._content {\n padding: var(--gap-default) var(--gap-xl);\n}\nsd-progress[data-sd-inset=true] {\n border-radius: 0;\n border: none;\n background: var(--control-color);\n}"], encapsulation: 2 });
25
29
  }
26
30
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdProgress, [{
27
31
  type: Component,
@@ -6,7 +6,8 @@ import * as i0 from "@angular/core";
6
6
  const _c0 = ["*"];
7
7
  export class SdSidebarContainer {
8
8
  _router = inject(Router, { optional: true });
9
- toggle = signal(false, ...(ngDevMode ? [{ debugName: "toggle" }] : /* istanbul ignore next */ []));
9
+ toggle = signal(false, /* @ts-ignore */
10
+ ...(ngDevMode ? [{ debugName: "toggle" }] : /* istanbul ignore next */ []));
10
11
  _navStart = this._router
11
12
  ? toSignal(this._router.events.pipe(filter((e) => e instanceof NavigationStart)))
12
13
  : undefined;
@@ -32,7 +33,7 @@ export class SdSidebarContainer {
32
33
  i0.ɵɵdomElementStart(1, "div", 0);
33
34
  i0.ɵɵdomListener("click", function SdSidebarContainer_Template_div_click_1_listener() { return ctx.onBackdropClick(); })("keydown.enter", function SdSidebarContainer_Template_div_keydown_enter_1_listener() { return ctx.onBackdropClick(); });
34
35
  i0.ɵɵdomElementEnd();
35
- } }, styles: ["/*@function to-rgb($oklch-color) {\n @return color.to-space($oklch-color, rgb);\n}*/\n/*$colors: (\n red: to-rgb(oklch(0.704 0.191 22.216)),\n orange: to-rgb(oklch(0.75 0.183 55.934)),\n amber: to-rgb(oklch(0.828 0.189 84.429)),\n yellow: to-rgb(oklch(0.852 0.199 91.936)),\n lime: to-rgb(oklch(0.841 0.238 128.85)),\n green: to-rgb(oklch(0.792 0.209 151.711)),\n emerald: to-rgb(oklch(0.765 0.177 163.223)),\n teal: to-rgb(oklch(0.777 0.152 181.912)),\n cyan: to-rgb(oklch(0.789 0.154 211.53)),\n sky: to-rgb(oklch(0.746 0.16 232.661)),\n blue: to-rgb(oklch(0.707 0.165 254.624)),\n indigo: to-rgb(oklch(0.673 0.182 276.935)),\n violet: to-rgb(oklch(0.702 0.183 293.541)),\n purple: to-rgb(oklch(0.714 0.203 305.504)),\n fuchsia: to-rgb(oklch(0.74 0.238 322.16)),\n pink: to-rgb(oklch(0.718 0.202 349.761)),\n rose: to-rgb(oklch(0.712 0.194 13.428)),\n slate: to-rgb(oklch(0.704 0.04 256.788)),\n gray: to-rgb(oklch(0.707 0.022 261.325)),\n zinc: to-rgb(oklch(0.705 0.015 286.067)),\n neutral: to-rgb(oklch(0.708 0 0)),\n stone: to-rgb(oklch(0.709 0.01 56.259)),\n);*/\nsd-sidebar-container {\n display: block;\n position: relative;\n height: 100%;\n padding-left: var(--sidebar-width);\n transition: padding-left var(--animation-duration) ease-out;\n}\nsd-sidebar-container[data-sd-toggle=true] {\n padding-left: 0;\n transition: padding-left var(--animation-duration) ease-in;\n}\nsd-sidebar-container > ._backdrop {\n display: none;\n}\n\n@media all and (max-width: 520px) {\n sd-sidebar-container {\n padding-left: 0;\n }\n sd-sidebar-container > ._backdrop {\n position: absolute;\n display: block;\n z-index: calc(var(--z-index-sidebar) - 1);\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: var(--background-rev-color);\n opacity: 0;\n pointer-events: none;\n transition: opacity var(--animation-duration) ease-in-out;\n }\n sd-sidebar-container[data-sd-toggle=true] > ._backdrop {\n opacity: 0.6;\n pointer-events: auto;\n }\n}"], encapsulation: 2, changeDetection: 0 });
36
+ } }, styles: ["/*@function to-rgb($oklch-color) {\n @return color.to-space($oklch-color, rgb);\n}*/\n/*$colors: (\n red: to-rgb(oklch(0.704 0.191 22.216)),\n orange: to-rgb(oklch(0.75 0.183 55.934)),\n amber: to-rgb(oklch(0.828 0.189 84.429)),\n yellow: to-rgb(oklch(0.852 0.199 91.936)),\n lime: to-rgb(oklch(0.841 0.238 128.85)),\n green: to-rgb(oklch(0.792 0.209 151.711)),\n emerald: to-rgb(oklch(0.765 0.177 163.223)),\n teal: to-rgb(oklch(0.777 0.152 181.912)),\n cyan: to-rgb(oklch(0.789 0.154 211.53)),\n sky: to-rgb(oklch(0.746 0.16 232.661)),\n blue: to-rgb(oklch(0.707 0.165 254.624)),\n indigo: to-rgb(oklch(0.673 0.182 276.935)),\n violet: to-rgb(oklch(0.702 0.183 293.541)),\n purple: to-rgb(oklch(0.714 0.203 305.504)),\n fuchsia: to-rgb(oklch(0.74 0.238 322.16)),\n pink: to-rgb(oklch(0.718 0.202 349.761)),\n rose: to-rgb(oklch(0.712 0.194 13.428)),\n slate: to-rgb(oklch(0.704 0.04 256.788)),\n gray: to-rgb(oklch(0.707 0.022 261.325)),\n zinc: to-rgb(oklch(0.705 0.015 286.067)),\n neutral: to-rgb(oklch(0.708 0 0)),\n stone: to-rgb(oklch(0.709 0.01 56.259)),\n);*/\nsd-sidebar-container {\n display: block;\n position: relative;\n height: 100%;\n padding-left: var(--sidebar-width);\n transition: padding-left var(--animation-duration) ease-out;\n}\nsd-sidebar-container[data-sd-toggle=true] {\n padding-left: 0;\n transition: padding-left var(--animation-duration) ease-in;\n}\nsd-sidebar-container > ._backdrop {\n display: none;\n}\n\n@media all and (max-width: 520px) {\n sd-sidebar-container {\n padding-left: 0;\n }\n sd-sidebar-container > ._backdrop {\n position: absolute;\n display: block;\n z-index: calc(var(--z-index-sidebar) - 1);\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: var(--background-rev-color);\n opacity: 0;\n pointer-events: none;\n transition: opacity var(--animation-duration) ease-in-out;\n }\n sd-sidebar-container[data-sd-toggle=true] > ._backdrop {\n opacity: 0.6;\n pointer-events: auto;\n }\n}"], encapsulation: 2 });
36
37
  }
37
38
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdSidebarContainer, [{
38
39
  type: Component,
@@ -59,13 +59,18 @@ function SdSidebarMenu_ng_template_5_Template(rf, ctx) { if (rf & 1) {
59
59
  i0.ɵɵrepeater(currMenus_r6);
60
60
  } }
61
61
  export class SdSidebarMenu {
62
- menus = input([], ...(ngDevMode ? [{ debugName: "menus" }] : /* istanbul ignore next */ []));
63
- layout = input(...(ngDevMode ? [undefined, { debugName: "layout" }] : /* istanbul ignore next */ []));
64
- getMenuIsSelectedFn = input(...(ngDevMode ? [undefined, { debugName: "getMenuIsSelectedFn" }] : /* istanbul ignore next */ []));
62
+ menus = input([], /* @ts-ignore */
63
+ ...(ngDevMode ? [{ debugName: "menus" }] : /* istanbul ignore next */ []));
64
+ layout = input(/* @ts-ignore */
65
+ ...(ngDevMode ? [undefined, { debugName: "layout" }] : /* istanbul ignore next */ []));
66
+ getMenuIsSelectedFn = input(/* @ts-ignore */
67
+ ...(ngDevMode ? [undefined, { debugName: "getMenuIsSelectedFn" }] : /* istanbul ignore next */ []));
65
68
  fullPageCode = injectFullPageCodeSignal();
66
- rootLayout = computed(() => this.layout() ?? (this.menus().length <= 3 ? "flat" : "accordion"), ...(ngDevMode ? [{ debugName: "rootLayout" }] : /* istanbul ignore next */ []));
69
+ rootLayout = computed(() => this.layout() ?? (this.menus().length <= 3 ? "flat" : "accordion"), /* @ts-ignore */
70
+ ...(ngDevMode ? [{ debugName: "rootLayout" }] : /* istanbul ignore next */ []));
67
71
  // accordion-expanded: 모든 깊이 항목을 펼친 채로 시작(이후 클릭 토글). 그 외는 접힘 시작.
68
- expandInitially = computed(() => this.rootLayout() === "accordion-expanded", ...(ngDevMode ? [{ debugName: "expandInitially" }] : /* istanbul ignore next */ []));
72
+ expandInitially = computed(() => this.rootLayout() === "accordion-expanded", /* @ts-ignore */
73
+ ...(ngDevMode ? [{ debugName: "expandInitially" }] : /* istanbul ignore next */ []));
69
74
  getMenuRouterLinkOption(menu) {
70
75
  return menuRouterLinkOption(menu);
71
76
  }
@@ -102,7 +107,7 @@ export class SdSidebarMenu {
102
107
  SdRouterLink,
103
108
  SdList,
104
109
  SdListItem,
105
- NgIcon], styles: ["sd-sidebar-menu {\n /*> sd-list[data-sd-inset=\"true\"] {\n sd-list {\n background: var(--trans-lightest);\n }\n }*/\n}\nsd-sidebar-menu[data-sd-root-layout=flat] > sd-list[data-sd-inset=true] > sd-list-item > sd-collapse > ._content > ._children > sd-list {\n background: transparent;\n}"], encapsulation: 2, changeDetection: 0 });
110
+ NgIcon], styles: ["sd-sidebar-menu {\n /*> sd-list[data-sd-inset=\"true\"] {\n sd-list {\n background: var(--trans-lightest);\n }\n }*/\n}\nsd-sidebar-menu[data-sd-root-layout=flat] > sd-list[data-sd-inset=true] > sd-list-item > sd-collapse > ._content > ._children > sd-list {\n background: transparent;\n}"], encapsulation: 2 });
106
111
  }
107
112
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdSidebarMenu, [{
108
113
  type: Component,
@@ -54,8 +54,10 @@ function SdSidebarUser_Conditional_2_Template(rf, ctx) { if (rf & 1) {
54
54
  i0.ɵɵrepeater(_userMenu_r3.menus);
55
55
  } }
56
56
  export class SdSidebarUser {
57
- userMenu = input(...(ngDevMode ? [undefined, { debugName: "userMenu" }] : /* istanbul ignore next */ []));
58
- menuOpen = signal(false, ...(ngDevMode ? [{ debugName: "menuOpen" }] : /* istanbul ignore next */ []));
57
+ userMenu = input(/* @ts-ignore */
58
+ ...(ngDevMode ? [undefined, { debugName: "userMenu" }] : /* istanbul ignore next */ []));
59
+ menuOpen = signal(false, /* @ts-ignore */
60
+ ...(ngDevMode ? [{ debugName: "menuOpen" }] : /* istanbul ignore next */ []));
59
61
  onMenuOpenButtonClick() {
60
62
  this.menuOpen.update((v) => !v);
61
63
  }
@@ -72,7 +74,7 @@ export class SdSidebarUser {
72
74
  let tmp_0_0;
73
75
  i0.ɵɵadvance(2);
74
76
  i0.ɵɵconditional((tmp_0_0 = ctx.userMenu()) ? 2 : -1, tmp_0_0);
75
- } }, dependencies: [SdCollapseIcon, SdCollapse, SdRipple, SdList, SdListItem, NgIcon], styles: ["sd-sidebar-user {\n display: block;\n}\nsd-sidebar-user > ._menu-button {\n display: block;\n cursor: pointer;\n user-select: none;\n color: var(--text-trans-light);\n padding: var(--gap-sm) var(--gap-default);\n border-radius: var(--border-radius-default);\n margin: 0 var(--gap-sm);\n}\nsd-sidebar-user > ._menu-button:hover {\n background: var(--trans-lighter);\n}\nsd-sidebar-user > sd-collapse > ._content > sd-list {\n background: var(--trans-lightest);\n padding: var(--gap-xs) 0;\n margin: 0 var(--gap-sm);\n}"], encapsulation: 2, changeDetection: 0 });
77
+ } }, dependencies: [SdCollapseIcon, SdCollapse, SdRipple, SdList, SdListItem, NgIcon], styles: ["sd-sidebar-user {\n display: block;\n}\nsd-sidebar-user > ._menu-button {\n display: block;\n cursor: pointer;\n user-select: none;\n color: var(--text-trans-light);\n padding: var(--gap-sm) var(--gap-default);\n border-radius: var(--border-radius-default);\n margin: 0 var(--gap-sm);\n}\nsd-sidebar-user > ._menu-button:hover {\n background: var(--trans-lighter);\n}\nsd-sidebar-user > sd-collapse > ._content > sd-list {\n background: var(--trans-lightest);\n padding: var(--gap-xs) 0;\n margin: 0 var(--gap-sm);\n}"], encapsulation: 2 });
76
78
  }
77
79
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdSidebarUser, [{
78
80
  type: Component,
@@ -4,14 +4,15 @@ import * as i0 from "@angular/core";
4
4
  const _c0 = ["*"];
5
5
  export class SdSidebar {
6
6
  _parentControl = inject(forwardRef(() => SdSidebarContainer));
7
- toggle = computed(() => this._parentControl.toggle(), ...(ngDevMode ? [{ debugName: "toggle" }] : /* istanbul ignore next */ []));
7
+ toggle = computed(() => this._parentControl.toggle(), /* @ts-ignore */
8
+ ...(ngDevMode ? [{ debugName: "toggle" }] : /* istanbul ignore next */ []));
8
9
  static ɵfac = function SdSidebar_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdSidebar)(); };
9
10
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SdSidebar, selectors: [["sd-sidebar"]], hostVars: 1, hostBindings: function SdSidebar_HostBindings(rf, ctx) { if (rf & 2) {
10
11
  i0.ɵɵattribute("data-sd-toggle", ctx.toggle());
11
12
  } }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function SdSidebar_Template(rf, ctx) { if (rf & 1) {
12
13
  i0.ɵɵprojectionDef();
13
14
  i0.ɵɵprojection(0);
14
- } }, styles: ["/*@function to-rgb($oklch-color) {\n @return color.to-space($oklch-color, rgb);\n}*/\n/*$colors: (\n red: to-rgb(oklch(0.704 0.191 22.216)),\n orange: to-rgb(oklch(0.75 0.183 55.934)),\n amber: to-rgb(oklch(0.828 0.189 84.429)),\n yellow: to-rgb(oklch(0.852 0.199 91.936)),\n lime: to-rgb(oklch(0.841 0.238 128.85)),\n green: to-rgb(oklch(0.792 0.209 151.711)),\n emerald: to-rgb(oklch(0.765 0.177 163.223)),\n teal: to-rgb(oklch(0.777 0.152 181.912)),\n cyan: to-rgb(oklch(0.789 0.154 211.53)),\n sky: to-rgb(oklch(0.746 0.16 232.661)),\n blue: to-rgb(oklch(0.707 0.165 254.624)),\n indigo: to-rgb(oklch(0.673 0.182 276.935)),\n violet: to-rgb(oklch(0.702 0.183 293.541)),\n purple: to-rgb(oklch(0.714 0.203 305.504)),\n fuchsia: to-rgb(oklch(0.74 0.238 322.16)),\n pink: to-rgb(oklch(0.718 0.202 349.761)),\n rose: to-rgb(oklch(0.712 0.194 13.428)),\n slate: to-rgb(oklch(0.704 0.04 256.788)),\n gray: to-rgb(oklch(0.707 0.022 261.325)),\n zinc: to-rgb(oklch(0.705 0.015 286.067)),\n neutral: to-rgb(oklch(0.708 0 0)),\n stone: to-rgb(oklch(0.709 0.01 56.259)),\n);*/\nsd-sidebar {\n position: absolute;\n z-index: var(--z-index-sidebar);\n top: 0;\n left: 0;\n width: var(--sidebar-width);\n height: 100%;\n}\n@media not all and (max-width: 520px) {\n sd-sidebar {\n transition: transform var(--animation-duration) ease-out;\n }\n sd-sidebar[data-sd-toggle=true] {\n transform: translateX(-100%);\n transition: transform var(--animation-duration) ease-in;\n }\n}\n@media all and (max-width: 520px) {\n sd-sidebar {\n transition: transform var(--animation-duration) ease-in;\n transform: translateX(-100%);\n }\n sd-sidebar[data-sd-toggle=true] {\n transform: none;\n transition: transform var(--animation-duration) ease-out;\n box-shadow: 0 calc(16 * var(--elevation-size)) calc(16 * 4 * var(--elevation-size) * var(--elevation-blur-mult)) var(--trans-lighter), 0 var(--elevation-size) calc(var(--elevation-size) * var(--elevation-blur-mult)) var(--trans-lighter);\n }\n}"], encapsulation: 2, changeDetection: 0 });
15
+ } }, styles: ["/*@function to-rgb($oklch-color) {\n @return color.to-space($oklch-color, rgb);\n}*/\n/*$colors: (\n red: to-rgb(oklch(0.704 0.191 22.216)),\n orange: to-rgb(oklch(0.75 0.183 55.934)),\n amber: to-rgb(oklch(0.828 0.189 84.429)),\n yellow: to-rgb(oklch(0.852 0.199 91.936)),\n lime: to-rgb(oklch(0.841 0.238 128.85)),\n green: to-rgb(oklch(0.792 0.209 151.711)),\n emerald: to-rgb(oklch(0.765 0.177 163.223)),\n teal: to-rgb(oklch(0.777 0.152 181.912)),\n cyan: to-rgb(oklch(0.789 0.154 211.53)),\n sky: to-rgb(oklch(0.746 0.16 232.661)),\n blue: to-rgb(oklch(0.707 0.165 254.624)),\n indigo: to-rgb(oklch(0.673 0.182 276.935)),\n violet: to-rgb(oklch(0.702 0.183 293.541)),\n purple: to-rgb(oklch(0.714 0.203 305.504)),\n fuchsia: to-rgb(oklch(0.74 0.238 322.16)),\n pink: to-rgb(oklch(0.718 0.202 349.761)),\n rose: to-rgb(oklch(0.712 0.194 13.428)),\n slate: to-rgb(oklch(0.704 0.04 256.788)),\n gray: to-rgb(oklch(0.707 0.022 261.325)),\n zinc: to-rgb(oklch(0.705 0.015 286.067)),\n neutral: to-rgb(oklch(0.708 0 0)),\n stone: to-rgb(oklch(0.709 0.01 56.259)),\n);*/\nsd-sidebar {\n position: absolute;\n z-index: var(--z-index-sidebar);\n top: 0;\n left: 0;\n width: var(--sidebar-width);\n height: 100%;\n}\n@media not all and (max-width: 520px) {\n sd-sidebar {\n transition: transform var(--animation-duration) ease-out;\n }\n sd-sidebar[data-sd-toggle=true] {\n transform: translateX(-100%);\n transition: transform var(--animation-duration) ease-in;\n }\n}\n@media all and (max-width: 520px) {\n sd-sidebar {\n transition: transform var(--animation-duration) ease-in;\n transform: translateX(-100%);\n }\n sd-sidebar[data-sd-toggle=true] {\n transform: none;\n transition: transform var(--animation-duration) ease-out;\n box-shadow: 0 calc(16 * var(--elevation-size)) calc(16 * 4 * var(--elevation-size) * var(--elevation-blur-mult)) var(--trans-lighter), 0 var(--elevation-size) calc(var(--elevation-size) * var(--elevation-blur-mult)) var(--trans-lighter);\n }\n}"], encapsulation: 2 });
15
16
  }
16
17
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdSidebar, [{
17
18
  type: Component,
@@ -6,7 +6,7 @@ export class SdTopbarContainer {
6
6
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SdTopbarContainer, selectors: [["sd-topbar-container"]], ngContentSelectors: _c0, decls: 1, vars: 0, template: function SdTopbarContainer_Template(rf, ctx) { if (rf & 1) {
7
7
  i0.ɵɵprojectionDef();
8
8
  i0.ɵɵprojection(0);
9
- } }, styles: ["sd-topbar-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n}"], encapsulation: 2, changeDetection: 0 });
9
+ } }, styles: ["sd-topbar-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n}"], encapsulation: 2 });
10
10
  }
11
11
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdTopbarContainer, [{
12
12
  type: Component,
@@ -120,10 +120,13 @@ function SdTopbarMenu_ng_template_2_Template(rf, ctx) { if (rf & 1) {
120
120
  i0.ɵɵrepeater(currMenus_r11);
121
121
  } }
122
122
  export class SdTopbarMenu {
123
- menus = input([], ...(ngDevMode ? [{ debugName: "menus" }] : /* istanbul ignore next */ []));
124
- getMenuIsSelectedFn = input(...(ngDevMode ? [undefined, { debugName: "getMenuIsSelectedFn" }] : /* istanbul ignore next */ []));
123
+ menus = input([], /* @ts-ignore */
124
+ ...(ngDevMode ? [{ debugName: "menus" }] : /* istanbul ignore next */ []));
125
+ getMenuIsSelectedFn = input(/* @ts-ignore */
126
+ ...(ngDevMode ? [undefined, { debugName: "getMenuIsSelectedFn" }] : /* istanbul ignore next */ []));
125
127
  fullPageCode = injectFullPageCodeSignal();
126
- _dropdowns = viewChildren(SdDropdown, ...(ngDevMode ? [{ debugName: "_dropdowns" }] : /* istanbul ignore next */ []));
128
+ _dropdowns = viewChildren(SdDropdown, /* @ts-ignore */
129
+ ...(ngDevMode ? [{ debugName: "_dropdowns" }] : /* istanbul ignore next */ []));
127
130
  getMenuRouterLinkOption(menu) {
128
131
  return menuRouterLinkOption(menu);
129
132
  }
@@ -160,7 +163,7 @@ export class SdTopbarMenu {
160
163
  SdList,
161
164
  SdListItem,
162
165
  SdButton,
163
- NgIcon], styles: ["sd-topbar-menu sd-list sd-list {\n background: var(--trans-lightest);\n}"], encapsulation: 2, changeDetection: 0 });
166
+ NgIcon], styles: ["sd-topbar-menu sd-list sd-list {\n background: var(--trans-lightest);\n}"], encapsulation: 2 });
164
167
  }
165
168
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdTopbarMenu, [{
166
169
  type: Component,
@@ -19,8 +19,10 @@ function SdTopbarUser_For_6_Template(rf, ctx) { if (rf & 1) {
19
19
  i0.ɵɵtextInterpolate1(" ", menu_r2.title, " ");
20
20
  } }
21
21
  export class SdTopbarUser {
22
- menus = input.required(...(ngDevMode ? [{ debugName: "menus" }] : /* istanbul ignore next */ []));
23
- _dropdown = viewChild(SdDropdown, ...(ngDevMode ? [{ debugName: "_dropdown" }] : /* istanbul ignore next */ []));
22
+ menus = input.required(/* @ts-ignore */
23
+ ...(ngDevMode ? [{ debugName: "menus" }] : /* istanbul ignore next */ []));
24
+ _dropdown = viewChild(SdDropdown, /* @ts-ignore */
25
+ ...(ngDevMode ? [{ debugName: "_dropdown" }] : /* istanbul ignore next */ []));
24
26
  onMenuClick(menu) {
25
27
  menu.onClick();
26
28
  this._dropdown()?.open.set(false);
@@ -47,7 +49,7 @@ export class SdTopbarUser {
47
49
  SdDropdownPopup,
48
50
  SdList,
49
51
  SdListItem,
50
- SdButton], encapsulation: 2, changeDetection: 0 });
52
+ SdButton], encapsulation: 2 });
51
53
  }
52
54
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdTopbarUser, [{
53
55
  type: Component,
@@ -21,8 +21,10 @@ export class SdTopbar {
21
21
  _injectedSidebarContainer = inject(SdSidebarContainer, {
22
22
  optional: true,
23
23
  });
24
- sidebarContainer = input(...(ngDevMode ? [undefined, { debugName: "sidebarContainer" }] : /* istanbul ignore next */ []));
25
- hasSidebar = computed(() => this.sidebarContainer() != null || this._injectedSidebarContainer != null, ...(ngDevMode ? [{ debugName: "hasSidebar" }] : /* istanbul ignore next */ []));
24
+ sidebarContainer = input(/* @ts-ignore */
25
+ ...(ngDevMode ? [undefined, { debugName: "sidebarContainer" }] : /* istanbul ignore next */ []));
26
+ hasSidebar = computed(() => this.sidebarContainer() != null || this._injectedSidebarContainer != null, /* @ts-ignore */
27
+ ...(ngDevMode ? [{ debugName: "hasSidebar" }] : /* istanbul ignore next */ []));
26
28
  onToggleButtonClick() {
27
29
  const sc = this.sidebarContainer() ?? this._injectedSidebarContainer;
28
30
  if (sc != null) {
@@ -37,7 +39,7 @@ export class SdTopbar {
37
39
  i0.ɵɵprojection(1);
38
40
  } if (rf & 2) {
39
41
  i0.ɵɵconditional(ctx.hasSidebar() ? 0 : -1);
40
- } }, dependencies: [SdButton, NgIcon], styles: ["sd-topbar {\n min-height: var(--topbar-height);\n overflow-x: auto;\n overflow-y: hidden;\n user-select: none;\n color: var(--text-trans-default);\n border-bottom: 1px solid var(--border-color-lighter);\n padding-left: var(--gap-xs);\n}\nsd-topbar > h1 {\n padding-right: var(--gap-xl);\n}\nsd-topbar > h2 {\n padding-right: var(--gap-xl);\n}\nsd-topbar > h3 {\n padding-right: var(--gap-xl);\n}\nsd-topbar > h4 {\n padding-right: var(--gap-xl);\n}\nsd-topbar > h5 {\n padding-right: var(--gap-xl);\n}\nsd-topbar > h6 {\n padding-right: var(--gap-xl);\n}\nsd-topbar::-webkit-scrollbar-track {\n background-color: var(--trans-light);\n}\nsd-topbar::-webkit-scrollbar-corner {\n background-color: var(--trans-light);\n}\nsd-topbar::-webkit-scrollbar {\n width: var(--gap-sm);\n height: var(--gap-sm);\n background-color: transparent;\n}\nsd-topbar::-webkit-scrollbar-thumb {\n background-color: var(--trans-default);\n}"], encapsulation: 2, changeDetection: 0 });
42
+ } }, dependencies: [SdButton, NgIcon], styles: ["sd-topbar {\n min-height: var(--topbar-height);\n overflow-x: auto;\n overflow-y: hidden;\n user-select: none;\n color: var(--text-trans-default);\n border-bottom: 1px solid var(--border-color-lighter);\n padding-left: var(--gap-xs);\n}\nsd-topbar > h1 {\n padding-right: var(--gap-xl);\n}\nsd-topbar > h2 {\n padding-right: var(--gap-xl);\n}\nsd-topbar > h3 {\n padding-right: var(--gap-xl);\n}\nsd-topbar > h4 {\n padding-right: var(--gap-xl);\n}\nsd-topbar > h5 {\n padding-right: var(--gap-xl);\n}\nsd-topbar > h6 {\n padding-right: var(--gap-xl);\n}\nsd-topbar::-webkit-scrollbar-track {\n background-color: var(--trans-light);\n}\nsd-topbar::-webkit-scrollbar-corner {\n background-color: var(--trans-light);\n}\nsd-topbar::-webkit-scrollbar {\n width: var(--gap-sm);\n height: var(--gap-sm);\n background-color: transparent;\n}\nsd-topbar::-webkit-scrollbar-thumb {\n background-color: var(--trans-default);\n}"], encapsulation: 2 });
41
43
  }
42
44
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdTopbar, [{
43
45
  type: Component,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simplysm/angular",
3
- "version": "14.1.2",
3
+ "version": "14.1.6",
4
4
  "description": "심플리즘 패키지 - Angular",
5
5
  "author": "심플리즘",
6
6
  "license": "Apache-2.0",
@@ -25,12 +25,11 @@
25
25
  "./styles.css"
26
26
  ],
27
27
  "dependencies": {
28
- "@angular/animations": "^21.2.17",
29
- "@angular/common": "^21.2.17",
30
- "@angular/core": "^21.2.17",
31
- "@angular/platform-browser": "^21.2.17",
32
- "@angular/router": "^21.2.17",
33
- "@angular/service-worker": "^21.2.17",
28
+ "@angular/common": "^22.0.4",
29
+ "@angular/core": "^22.0.4",
30
+ "@angular/platform-browser": "^22.0.4",
31
+ "@angular/router": "^22.0.4",
32
+ "@angular/service-worker": "^22.0.4",
34
33
  "@ng-icons/core": "^33.3.0",
35
34
  "@ng-icons/tabler-icons": "^33.3.0",
36
35
  "@tiptap/core": "^3.27.1",
@@ -52,14 +51,13 @@
52
51
  "jspdf": "^4.2.1",
53
52
  "rxjs": "^7.8.2",
54
53
  "tabbable": "^6.5.0",
55
- "@simplysm/core-browser": "14.1.2",
56
- "@simplysm/service-client": "14.1.2",
57
- "@simplysm/service-common": "14.1.2",
58
- "@simplysm/core-common": "14.1.2"
54
+ "@simplysm/core-browser": "14.1.6",
55
+ "@simplysm/service-client": "14.1.6",
56
+ "@simplysm/core-common": "14.1.6",
57
+ "@simplysm/service-common": "14.1.6"
59
58
  },
60
59
  "devDependencies": {
61
- "@angular/compiler": "^21.2.17",
62
- "@angular/platform-browser-dynamic": "^21.2.17"
60
+ "@angular/compiler": "^22.0.4"
63
61
  },
64
62
  "scripts": {}
65
63
  }
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  DateOnly,
3
3
  DateTime,
4
+ num,
4
5
  SdError,
5
6
  Time,
6
7
  } from "@simplysm/core-common";
@@ -153,17 +154,14 @@ function createNumberHandler(): TextfieldTypeHandler {
153
154
  return Number.isNaN(result) ? undefined : result;
154
155
  },
155
156
  toControlValue(value, opts) {
156
- const num = value as number;
157
+ const numValue = value as number;
157
158
  return opts.useNumberComma !== false
158
- ? num.toLocaleString(undefined, { maximumFractionDigits: 10 })
159
- : num.toString(10);
159
+ ? num.format(numValue, { max: 10 })
160
+ : numValue.toString(10);
160
161
  },
161
162
  toDisplayText(value, opts) {
162
163
  if (opts.minDigits != null) {
163
- return (value as number).toLocaleString(undefined, {
164
- maximumFractionDigits: 10,
165
- minimumFractionDigits: opts.minDigits,
166
- });
164
+ return num.format(value as number, { max: 10, min: opts.minDigits });
167
165
  }
168
166
  return undefined;
169
167
  },
@@ -416,18 +416,22 @@ export class SdTextfield<K extends keyof SdTextfieldTypes> {
416
416
  }
417
417
 
418
418
  onInputPaste(event: ClipboardEvent): void {
419
+ // preventDefault 로 기본 붙여넣기를 막으므로, 포커스 중 동기화를 건너뛰는 effect 대신
420
+ // 핸들러에서 직접 input.value 를 모델 기준값으로 되써야 화면에 반영됨 (onBlur 와 동일 패턴)
419
421
  event.preventDefault();
422
+ const inputEl = event.target as HTMLInputElement;
420
423
  const text = event.clipboardData?.getData("text/plain").trim();
421
424
  if (text == null || text === "") {
422
425
  this.value.set(undefined);
426
+ inputEl.value = "";
423
427
  return;
424
428
  }
425
429
  const parsed = this._handler().parse(text, { format: this.format() });
426
430
  if (parsed == null) {
427
- const inputEl = event.target as HTMLInputElement;
428
431
  inputEl.value = this.controlValue();
429
432
  return;
430
433
  }
431
434
  this.value.set(parsed as SdTextfieldTypes[K] | undefined);
435
+ inputEl.value = this.controlValue();
432
436
  }
433
437
  }
@@ -42,10 +42,10 @@ import { SdTab } from "./sd-tab";
42
42
  `,
43
43
  ],
44
44
  })
45
- export class SdTabItem {
46
- private readonly _parentControl = inject<SdTab>(forwardRef(() => SdTab));
45
+ export class SdTabItem<T> {
46
+ private readonly _parentControl = inject<SdTab<T>>(forwardRef(() => SdTab));
47
47
 
48
- value = input<any>();
48
+ value = input.required<T>();
49
49
 
50
50
  isSelected = computed(() => this._parentControl.value() === this.value());
51
51
 
@@ -20,6 +20,6 @@ import { ChangeDetectionStrategy, Component, model, ViewEncapsulation } from "@a
20
20
  <ng-content></ng-content>
21
21
  `,
22
22
  })
23
- export class SdTab {
24
- value = model<any>();
23
+ export class SdTab<T> {
24
+ value = model<T>();
25
25
  }
@@ -11,7 +11,7 @@ export function injectSdSystemConfigResource<T>(options: { key: Signal<string |
11
11
  const res: ResourceRef<T | undefined> = resource({
12
12
  params: () => options.key(),
13
13
  loader: async ({ params: key }) => {
14
- return (await sdSystemConfig.getAsync(`${elTag}.${key}`)) as T | undefined;
14
+ return sdSystemConfig.getAsync(`${elTag}.${key}`);
15
15
  },
16
16
  });
17
17
 
@@ -20,9 +20,9 @@ export class SdSystemConfigProvider<T> {
20
20
  }
21
21
  }
22
22
 
23
- async getAsync(key: keyof T & string) {
23
+ async getAsync<K extends keyof T & string>(key: K): Promise<T[K] | undefined> {
24
24
  if (this.fn) {
25
- return this.fn.get(key);
25
+ return (await this.fn.get(key)) as T[K] | undefined;
26
26
  } else {
27
27
  return this._sdLocalStorage.get(key);
28
28
  }