@simplysm/angular 14.1.21 → 14.2.2

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 (194) hide show
  1. package/dist/controls/button/sd-additional-button.js +2 -2
  2. package/dist/controls/button/sd-anchor.d.ts.map +1 -1
  3. package/dist/controls/button/sd-anchor.js +3 -3
  4. package/dist/controls/button/sd-button.d.ts.map +1 -1
  5. package/dist/controls/button/sd-button.js +3 -3
  6. package/dist/controls/button/sd-modal-select-button.d.ts.map +1 -1
  7. package/dist/controls/button/sd-modal-select-button.js +2 -2
  8. package/dist/controls/checkbox/sd-checkbox.d.ts.map +1 -1
  9. package/dist/controls/checkbox/sd-checkbox.js +3 -3
  10. package/dist/controls/checkbox/sd-switch.d.ts.map +1 -1
  11. package/dist/controls/checkbox/sd-switch.js +3 -3
  12. package/dist/controls/collapse/sd-collapse-icon.d.ts +1 -1
  13. package/dist/controls/collapse/sd-collapse-icon.d.ts.map +1 -1
  14. package/dist/controls/collapse/sd-collapse-icon.js +2 -2
  15. package/dist/controls/collapse/sd-collapse.d.ts +1 -1
  16. package/dist/controls/collapse/sd-collapse.d.ts.map +1 -1
  17. package/dist/controls/collapse/sd-collapse.js +2 -2
  18. package/dist/controls/dropdown/sd-dropdown-popup.d.ts.map +1 -1
  19. package/dist/controls/dropdown/sd-dropdown-popup.js +2 -2
  20. package/dist/controls/dropdown/sd-dropdown.js +1 -1
  21. package/dist/controls/gap/sd-gap.d.ts.map +1 -1
  22. package/dist/controls/gap/sd-gap.js +5 -7
  23. package/dist/controls/input/sd-date-range-picker.js +2 -2
  24. package/dist/controls/input/sd-numpad.d.ts.map +1 -1
  25. package/dist/controls/input/sd-numpad.js +7 -15
  26. package/dist/controls/input/sd-range.js +2 -2
  27. package/dist/controls/input/sd-textarea.js +4 -4
  28. package/dist/controls/input/sd-textfield.d.ts.map +1 -1
  29. package/dist/controls/input/sd-textfield.js +10 -10
  30. package/dist/controls/list/sd-list-item.js +43 -43
  31. package/dist/controls/list/sd-list.js +2 -2
  32. package/dist/controls/pagination/sd-pagination.d.ts.map +1 -1
  33. package/dist/controls/pagination/sd-pagination.js +7 -5
  34. package/dist/controls/select/sd-select-button.d.ts.map +1 -1
  35. package/dist/controls/select/sd-select-button.js +4 -4
  36. package/dist/controls/select/sd-select-item.d.ts.map +1 -1
  37. package/dist/controls/select/sd-select-item.js +3 -3
  38. package/dist/controls/select/sd-select.d.ts.map +1 -1
  39. package/dist/controls/select/sd-select.js +10 -19
  40. package/dist/controls/tab/sd-tab-item.js +2 -2
  41. package/dist/controls/tab/sd-tab.js +2 -2
  42. package/dist/core/busy/sd-busy-container.d.ts.map +1 -1
  43. package/dist/core/busy/sd-busy-container.js +3 -3
  44. package/dist/core/modal/sd-modal.d.ts.map +1 -1
  45. package/dist/core/modal/sd-modal.js +3 -3
  46. package/dist/core/provideSdAngular.d.ts.map +1 -1
  47. package/dist/core/provideSdAngular.js +31 -10
  48. package/dist/core/ripple/setupRipple.js +2 -2
  49. package/dist/core/setupBgTheme.d.ts +0 -1
  50. package/dist/core/setupBgTheme.d.ts.map +1 -1
  51. package/dist/core/setupBgTheme.js +3 -4
  52. package/dist/core/show-effect/setupRevealOnShow.js +1 -1
  53. package/dist/core/toast/sd-toast-container.js +2 -2
  54. package/dist/core/toast/sd-toast.d.ts.map +1 -1
  55. package/dist/core/toast/sd-toast.js +3 -3
  56. package/dist/core/validation/setupInvalid.js +5 -5
  57. package/dist/data/crud/sd-base-container.d.ts +1 -1
  58. package/dist/data/crud/sd-base-container.d.ts.map +1 -1
  59. package/dist/data/crud/sd-base-container.js +50 -52
  60. package/dist/data/crud/sd-crud-detail.d.ts +1 -1
  61. package/dist/data/crud/sd-crud-detail.d.ts.map +1 -1
  62. package/dist/data/crud/sd-crud-list.d.ts +3 -3
  63. package/dist/data/crud/sd-crud-list.d.ts.map +1 -1
  64. package/dist/data/kanban/sd-kanban-board.js +2 -2
  65. package/dist/data/kanban/sd-kanban-lane.d.ts.map +1 -1
  66. package/dist/data/kanban/sd-kanban-lane.js +4 -4
  67. package/dist/data/kanban/sd-kanban.d.ts.map +1 -1
  68. package/dist/data/kanban/sd-kanban.js +4 -4
  69. package/dist/data/permission-table/sd-permission-table.d.ts.map +1 -1
  70. package/dist/data/permission-table/sd-permission-table.js +5 -17
  71. package/dist/data/shared-data/sd-shared-data-select-list.d.ts.map +1 -1
  72. package/dist/data/shared-data/sd-shared-data-select-list.js +5 -19
  73. package/dist/data/shared-data/sd-shared-data-select.d.ts +2 -2
  74. package/dist/data/shared-data/sd-shared-data-select.d.ts.map +1 -1
  75. package/dist/data/shared-data/sd-shared-data-select.js +8 -15
  76. package/dist/data/sheet/sd-sheet-config.modal.d.ts.map +1 -1
  77. package/dist/data/sheet/sd-sheet-config.modal.js +7 -9
  78. package/dist/data/sheet/sd-sheet.d.ts.map +1 -1
  79. package/dist/data/sheet/sd-sheet.js +10 -12
  80. package/dist/data/sheet/useSheetCellStyling.d.ts.map +1 -1
  81. package/dist/data/sheet/useSheetCellStyling.js +1 -1
  82. package/dist/data/state-preset/sd-state-preset.d.ts +2 -2
  83. package/dist/data/state-preset/sd-state-preset.d.ts.map +1 -1
  84. package/dist/data/state-preset/sd-state-preset.js +5 -5
  85. package/dist/features/editor/sd-markdown-editor.d.ts.map +1 -1
  86. package/dist/features/editor/sd-markdown-editor.js +85 -34
  87. package/dist/features/editor/sd-tiptap-editor.d.ts.map +1 -1
  88. package/dist/features/editor/sd-tiptap-editor.js +192 -61
  89. package/dist/features/theme/sd-theme-provider.d.ts +18 -1
  90. package/dist/features/theme/sd-theme-provider.d.ts.map +1 -1
  91. package/dist/features/theme/sd-theme-provider.js +21 -4
  92. package/dist/features/theme/sd-theme-selector.d.ts +1 -1
  93. package/dist/features/theme/sd-theme-selector.d.ts.map +1 -1
  94. package/dist/features/theme/sd-theme-selector.js +50 -9
  95. package/dist/features/theme/wcag-contrast.d.ts +9 -0
  96. package/dist/features/theme/wcag-contrast.d.ts.map +1 -0
  97. package/dist/features/theme/wcag-contrast.js +83 -0
  98. package/dist/features/visual/sd-calendar.js +2 -2
  99. package/dist/features/visual/sd-label.d.ts.map +1 -1
  100. package/dist/features/visual/sd-label.js +5 -5
  101. package/dist/features/visual/sd-note.d.ts.map +1 -1
  102. package/dist/features/visual/sd-note.js +3 -3
  103. package/dist/features/visual/sd-progress.d.ts.map +1 -1
  104. package/dist/features/visual/sd-progress.js +3 -3
  105. package/dist/index.d.ts +12 -11
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +10 -9
  108. package/dist/layout/sidebar/sd-sidebar-container.d.ts.map +1 -1
  109. package/dist/layout/sidebar/sd-sidebar-container.js +11 -5
  110. package/dist/layout/sidebar/sd-sidebar-menu.d.ts.map +1 -1
  111. package/dist/layout/sidebar/sd-sidebar-menu.js +5 -17
  112. package/dist/layout/sidebar/sd-sidebar-user.js +32 -32
  113. package/dist/layout/sidebar/sd-sidebar.d.ts.map +1 -1
  114. package/dist/layout/sidebar/sd-sidebar.js +3 -3
  115. package/dist/layout/topbar/sd-topbar-menu.js +5 -5
  116. package/dist/layout/topbar/sd-topbar.d.ts.map +1 -1
  117. package/dist/layout/topbar/sd-topbar.js +5 -5
  118. package/package.json +26 -26
  119. package/scss/commons/_colors.scss +296 -242
  120. package/scss/commons/_density.scss +23 -0
  121. package/scss/commons/_mixins.scss +142 -129
  122. package/scss/commons/_styles.scss +78 -103
  123. package/scss/commons/_theme-variables.scss +16 -2
  124. package/scss/commons/_variables.scss +277 -149
  125. package/scss/controls/_card.scss +12 -8
  126. package/scss/controls/_form-box.scss +7 -7
  127. package/scss/controls/_form-table.scss +7 -7
  128. package/scss/controls/_table.scss +5 -5
  129. package/scss/sd-tokens.md +132 -0
  130. package/scss/styles.scss +3 -4
  131. package/scss/themes/_variables-blueprint.scss +127 -81
  132. package/scss/themes/_variables-ide-dark.scss +215 -0
  133. package/src/controls/button/sd-additional-button.ts +12 -12
  134. package/src/controls/button/sd-anchor.ts +7 -8
  135. package/src/controls/button/sd-button.ts +42 -44
  136. package/src/controls/button/sd-modal-select-button.ts +15 -19
  137. package/src/controls/checkbox/sd-checkbox.ts +55 -43
  138. package/src/controls/checkbox/sd-switch.ts +18 -19
  139. package/src/controls/collapse/sd-collapse-icon.ts +2 -2
  140. package/src/controls/collapse/sd-collapse.ts +2 -2
  141. package/src/controls/dropdown/sd-dropdown-popup.ts +10 -12
  142. package/src/controls/dropdown/sd-dropdown.ts +1 -1
  143. package/src/controls/gap/sd-gap.ts +11 -9
  144. package/src/controls/input/sd-date-range-picker.ts +1 -1
  145. package/src/controls/input/sd-numpad.ts +3 -11
  146. package/src/controls/input/sd-range.ts +1 -1
  147. package/src/controls/input/sd-textarea.ts +18 -18
  148. package/src/controls/input/sd-textfield.ts +39 -37
  149. package/src/controls/list/sd-list-item.ts +195 -195
  150. package/src/controls/list/sd-list.ts +8 -8
  151. package/src/controls/pagination/sd-pagination.ts +4 -2
  152. package/src/controls/select/sd-select-button.ts +6 -10
  153. package/src/controls/select/sd-select-item.ts +14 -15
  154. package/src/controls/select/sd-select.ts +34 -35
  155. package/src/controls/tab/sd-tab-item.ts +4 -4
  156. package/src/controls/tab/sd-tab.ts +2 -2
  157. package/src/core/busy/sd-busy-container.ts +17 -16
  158. package/src/core/modal/sd-modal.ts +38 -32
  159. package/src/core/provideSdAngular.ts +34 -10
  160. package/src/core/ripple/setupRipple.ts +2 -2
  161. package/src/core/setupBgTheme.ts +5 -14
  162. package/src/core/show-effect/setupRevealOnShow.ts +1 -1
  163. package/src/core/toast/sd-toast-container.ts +5 -5
  164. package/src/core/toast/sd-toast.ts +16 -17
  165. package/src/core/validation/setupInvalid.ts +5 -5
  166. package/src/data/crud/sd-base-container.ts +120 -122
  167. package/src/data/kanban/sd-kanban-board.ts +1 -1
  168. package/src/data/kanban/sd-kanban-lane.ts +9 -14
  169. package/src/data/kanban/sd-kanban.ts +9 -19
  170. package/src/data/permission-table/sd-permission-table.ts +12 -20
  171. package/src/data/shared-data/sd-shared-data-select-list.ts +5 -19
  172. package/src/data/shared-data/sd-shared-data-select.ts +11 -28
  173. package/src/data/sheet/sd-sheet-config.modal.ts +5 -7
  174. package/src/data/sheet/sd-sheet.ts +29 -28
  175. package/src/data/sheet/useSheetCellStyling.ts +12 -3
  176. package/src/data/state-preset/sd-state-preset.ts +16 -16
  177. package/src/features/editor/sd-markdown-editor.ts +110 -56
  178. package/src/features/editor/sd-tiptap-editor.ts +214 -81
  179. package/src/features/theme/sd-theme-provider.ts +28 -3
  180. package/src/features/theme/sd-theme-selector.ts +21 -2
  181. package/src/features/theme/wcag-contrast.ts +103 -0
  182. package/src/features/visual/sd-calendar.ts +8 -8
  183. package/src/features/visual/sd-label.ts +11 -12
  184. package/src/features/visual/sd-note.ts +10 -11
  185. package/src/features/visual/sd-progress.ts +9 -11
  186. package/src/index.ts +15 -40
  187. package/src/layout/sidebar/sd-sidebar-container.ts +21 -8
  188. package/src/layout/sidebar/sd-sidebar-menu.ts +15 -17
  189. package/src/layout/sidebar/sd-sidebar-user.ts +100 -100
  190. package/src/layout/sidebar/sd-sidebar.ts +7 -9
  191. package/src/layout/topbar/sd-topbar-menu.ts +3 -3
  192. package/src/layout/topbar/sd-topbar.ts +12 -14
  193. package/styles.css +1641 -2462
  194. package/scss/themes/_blueprint-surfaces.scss +0 -87
@@ -1 +1 @@
1
- {"version":3,"file":"sd-theme-provider.d.ts","sourceRoot":"","sources":["../../../src/features/theme/sd-theme-provider.ts"],"names":[],"mappings":";AAGA,qBACa,eAAe;IAE1B,SAAS,kDAA0B;IAEnC,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAA4B;IAEvE,QAAQ,iDAAsB;;IAe9B,gBAAgB,IAAI,IAAI;IAOxB,gBAAgB,IAAI,IAAI;yCA5Bb,eAAe;6CAAf,eAAe;CAwC3B"}
1
+ {"version":3,"file":"sd-theme-provider.d.ts","sourceRoot":"","sources":["../../../src/features/theme/sd-theme-provider.ts"],"names":[],"mappings":";AAMA,eAAO,MAAM,SAAS;;;;;;;;;EAIZ,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;AAG9D,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE7C,qBACa,eAAe;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS;QAAE,KAAK,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAa;IAG9E,KAAK,6EAAgC;IAErC,OAAO,oDAA+B;IAEtC,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAA4B;IAEvE,QAAQ,iDAAsB;;IAsB9B,gBAAgB,IAAI,IAAI;IAOxB,gBAAgB,IAAI,IAAI;yCAvCb,eAAe;6CAAf,eAAe;CAmD3B"}
@@ -1,10 +1,21 @@
1
1
  import { effect, inject, Injectable, PLATFORM_ID, signal } from "@angular/core";
2
2
  import { isPlatformBrowser } from "@angular/common";
3
3
  import * as i0 from "@angular/core";
4
+ // 내장 테마 단일 정의 — 새 테마 추가 시 여기 항목 1줄 +
5
+ // scss/themes 값 맵 + _theme-variables 의 .sd-theme-{value} writeVars 블록만 추가하면 된다.
6
+ // light 는 :root 기본값이라 값 맵/블록이 없어도 동작한다(클래스가 붙어도 규칙이 없어 무효).
7
+ export const SD_THEMES = [
8
+ { value: "light", label: "라이트" },
9
+ { value: "blueprint", label: "블루프린트" },
10
+ { value: "ide-dark", label: "IDE 다크" },
11
+ ];
4
12
  export class SdThemeProvider {
5
- // 블루프린트(엔지니어링 도면) 테마
6
- blueprint = signal(false, /* @ts-ignore */
7
- ...(ngDevMode ? [{ debugName: "blueprint" }] : /* istanbul ignore next */ []));
13
+ themes = SD_THEMES;
14
+ // 라이트(기본) / 블루프린트(도면) / IDE 다크
15
+ theme = signal("light", /* @ts-ignore */
16
+ ...(ngDevMode ? [{ debugName: "theme" }] : /* istanbul ignore next */ []));
17
+ density = signal("normal", /* @ts-ignore */
18
+ ...(ngDevMode ? [{ debugName: "density" }] : /* istanbul ignore next */ []));
8
19
  fontSizePresets = [12, 14, 16, 20, 24, 28];
9
20
  fontSize = signal(12, /* @ts-ignore */
10
21
  ...(ngDevMode ? [{ debugName: "fontSize" }] : /* istanbul ignore next */ []));
@@ -13,7 +24,13 @@ export class SdThemeProvider {
13
24
  if (!isPlatformBrowser(inject(PLATFORM_ID)))
14
25
  return;
15
26
  effect(() => {
16
- document.body.classList.toggle("sd-theme-blueprint", this.blueprint());
27
+ const theme = this.theme();
28
+ for (const def of this.themes) {
29
+ document.body.classList.toggle(`sd-theme-${def.value}`, def.value === theme);
30
+ }
31
+ });
32
+ effect(() => {
33
+ document.body.classList.toggle("sd-density-compact", this.density() === "compact");
17
34
  });
18
35
  effect(() => {
19
36
  document.documentElement.style.fontSize = `${this.fontSize()}px`;
@@ -6,7 +6,7 @@ export declare class SdThemeSelector {
6
6
  isMaxFontSize: import("@angular/core").Signal<boolean>;
7
7
  protected readonly tablerPlus = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"></path><path d=\"M12 5l0 14\"></path><path d=\"M5 12l14 0\"></path></svg>";
8
8
  protected readonly tablerMinus = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"></path><path d=\"M5 12l14 0\"></path></svg>";
9
- protected readonly tablerPalette = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"></path><path d=\"M12 21a9 9 0 0 1 0 -18c4.97 0 9 3.582 9 8c0 1.06 -.474 2.078 -1.318 2.828c-.844 .75 -1.989 1.172 -3.182 1.172h-2.5a2 2 0 0 0 -1 3.75a1.3 1.3 0 0 1 -1 2.25\"></path><path d=\"M8.5 10.5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"></path><path d=\"M12.5 7.5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"></path><path d=\"M16.5 10.5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"></path></svg>";
9
+ protected readonly tablerPalette = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"></path><path d=\"M12 21a9 9 0 0 1 0 -18c4.97 0 9 3.582 9 8c0 1.06 -.474 2.078 -1.318 2.828c-.844 .75 -1.989 1.172 -3.182 1.172h-2.5a2 2 0 0 0 -1 3.75a1.3 1.3 0 0 1 -1 2.25\"></path><path d=\"M7.5 10.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"></path><path d=\"M11.5 7.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"></path><path d=\"M15.5 10.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"></path></svg>";
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<SdThemeSelector, never>;
11
11
  static ɵcmp: i0.ɵɵComponentDeclaration<SdThemeSelector, "sd-theme-selector", never, {}, {}, never, never, true, never>;
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sd-theme-selector.d.ts","sourceRoot":"","sources":["../../../src/features/theme/sd-theme-selector.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;;AAGtD,qBA+Ca,eAAe;IAC1B,SAAS,CAAC,QAAQ,CAAC,QAAQ,kBAA2B;IAEtD,aAAa,0CAAgF;IAE7F,aAAa,0CAIX;IAEF,SAAS,CAAC,QAAQ,CAAC,UAAU,uVAAc;IAC3C,SAAS,CAAC,QAAQ,CAAC,WAAW,yTAAe;IAC7C,SAAS,CAAC,QAAQ,CAAC,aAAa,uoBAAiB;yCAbtC,eAAe;2CAAf,eAAe;CAc3B"}
1
+ {"version":3,"file":"sd-theme-selector.d.ts","sourceRoot":"","sources":["../../../src/features/theme/sd-theme-selector.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;;AAGtD,qBAkEa,eAAe;IAC1B,SAAS,CAAC,QAAQ,CAAC,QAAQ,kBAA2B;IAEtD,aAAa,0CAAgF;IAE7F,aAAa,0CAIX;IAEF,SAAS,CAAC,QAAQ,CAAC,UAAU,uVAAc;IAC3C,SAAS,CAAC,QAAQ,CAAC,WAAW,yTAAe;IAC7C,SAAS,CAAC,QAAQ,CAAC,aAAa,wnBAAiB;yCAbtC,eAAe;2CAAf,eAAe;CAc3B"}
@@ -7,6 +7,20 @@ import { NgIcon } from "@ng-icons/core";
7
7
  import { SdThemeProvider } from "./sd-theme-provider";
8
8
  import { tablerMinus, tablerPalette, tablerPlus } from "@ng-icons/tabler-icons";
9
9
  import * as i0 from "@angular/core";
10
+ const _forTrack0 = ($index, $item) => $item.value;
11
+ function SdThemeSelector_For_20_Template(rf, ctx) { if (rf & 1) {
12
+ const _r1 = i0.ɵɵgetCurrentView();
13
+ i0.ɵɵelementStart(0, "sd-button", 8);
14
+ i0.ɵɵlistener("click", function SdThemeSelector_For_20_Template_sd_button_click_0_listener() { const item_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2._sdTheme.theme.set(item_r2.value)); });
15
+ i0.ɵɵtext(1);
16
+ i0.ɵɵelementEnd();
17
+ } if (rf & 2) {
18
+ const item_r2 = ctx.$implicit;
19
+ const ctx_r2 = i0.ɵɵnextContext();
20
+ i0.ɵɵproperty("inline", true)("size", "sm")("theme", ctx_r2._sdTheme.theme() === item_r2.value ? "primary" : "link-gray");
21
+ i0.ɵɵadvance();
22
+ i0.ɵɵtextInterpolate1(" ", item_r2.label, " ");
23
+ } }
10
24
  export class SdThemeSelector {
11
25
  _sdTheme = inject(SdThemeProvider);
12
26
  isMinFontSize = computed(() => this._sdTheme.fontSize() <= this._sdTheme.fontSizePresets[0], /* @ts-ignore */
@@ -18,7 +32,7 @@ export class SdThemeSelector {
18
32
  tablerMinus = tablerMinus;
19
33
  tablerPalette = tablerPalette;
20
34
  static ɵfac = function SdThemeSelector_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdThemeSelector)(); };
21
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SdThemeSelector, selectors: [["sd-theme-selector"]], decls: 19, vars: 15, consts: [[3, "inline", "theme"], [3, "svg"], [1, "p-default"], [1, "flex-row", "gap-sm", "cross-align-center"], [1, "flex-row", "gap-xs", "cross-align-center"], [3, "click", "inline", "theme", "size", "disabled"], [3, "valueChange", "value"]], template: function SdThemeSelector_Template(rf, ctx) { if (rf & 1) {
35
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SdThemeSelector, selectors: [["sd-theme-selector"]], decls: 25, vars: 16, consts: [[3, "inline", "theme"], [3, "svg"], [1, "p-default"], [1, "flex-row", "gap-sm", "cross-align-center"], [1, "flex-row", "gap-xs", "cross-align-center"], [3, "click", "inline", "theme", "size", "disabled"], [3, "inline", "size", "theme"], [3, "valueChange", "inline", "value"], [3, "click", "inline", "size", "theme"]], template: function SdThemeSelector_Template(rf, ctx) { if (rf & 1) {
22
36
  i0.ɵɵelementStart(0, "sd-dropdown")(1, "sd-button", 0);
23
37
  i0.ɵɵelement(2, "ng-icon", 1);
24
38
  i0.ɵɵelementEnd();
@@ -37,10 +51,16 @@ export class SdThemeSelector {
37
51
  i0.ɵɵelement(14, "ng-icon", 1);
38
52
  i0.ɵɵelementEnd()()();
39
53
  i0.ɵɵelementStart(15, "div", 3)(16, "span");
40
- i0.ɵɵtext(17, "\uBE14\uB8E8\uD504\uB9B0\uD2B8");
54
+ i0.ɵɵtext(17, "\uD14C\uB9C8");
41
55
  i0.ɵɵelementEnd();
42
- i0.ɵɵelementStart(18, "sd-switch", 6);
43
- i0.ɵɵtwoWayListener("valueChange", function SdThemeSelector_Template_sd_switch_valueChange_18_listener($event) { i0.ɵɵtwoWayBindingSet(ctx._sdTheme.blueprint, $event) || (ctx._sdTheme.blueprint = $event); return $event; });
56
+ i0.ɵɵelementStart(18, "div", 4);
57
+ i0.ɵɵrepeaterCreate(19, SdThemeSelector_For_20_Template, 2, 4, "sd-button", 6, _forTrack0);
58
+ i0.ɵɵelementEnd()();
59
+ i0.ɵɵelementStart(21, "div", 3)(22, "span");
60
+ i0.ɵɵtext(23, "compact");
61
+ i0.ɵɵelementEnd();
62
+ i0.ɵɵelementStart(24, "sd-switch", 7);
63
+ i0.ɵɵlistener("valueChange", function SdThemeSelector_Template_sd_switch_valueChange_24_listener($event) { return ctx._sdTheme.density.set($event ? "compact" : "normal"); });
44
64
  i0.ɵɵelementEnd()()()()();
45
65
  } if (rf & 2) {
46
66
  i0.ɵɵadvance();
@@ -57,8 +77,10 @@ export class SdThemeSelector {
57
77
  i0.ɵɵproperty("inline", true)("theme", "link-gray")("size", "sm")("disabled", ctx.isMaxFontSize());
58
78
  i0.ɵɵadvance();
59
79
  i0.ɵɵproperty("svg", ctx.tablerPlus);
60
- i0.ɵɵadvance(4);
61
- i0.ɵɵtwoWayProperty("value", ctx._sdTheme.blueprint);
80
+ i0.ɵɵadvance(5);
81
+ i0.ɵɵrepeater(ctx._sdTheme.themes);
82
+ i0.ɵɵadvance(5);
83
+ i0.ɵɵproperty("inline", true)("value", ctx._sdTheme.density() === "compact");
62
84
  } }, dependencies: [SdDropdown, SdDropdownPopup, SdButton, SdSwitch, NgIcon], encapsulation: 2 });
63
85
  }
64
86
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdThemeSelector, [{
@@ -95,12 +117,31 @@ export class SdThemeSelector {
95
117
  </div>
96
118
  </div>
97
119
  <div class="flex-row gap-sm cross-align-center">
98
- <span>블루프린트</span>
99
- <sd-switch [(value)]="_sdTheme.blueprint" />
120
+ <span>테마</span>
121
+ <div class="flex-row gap-xs cross-align-center">
122
+ @for (item of _sdTheme.themes; track item.value) {
123
+ <sd-button
124
+ [inline]="true"
125
+ [size]="'sm'"
126
+ [theme]="_sdTheme.theme() === item.value ? 'primary' : 'link-gray'"
127
+ (click)="_sdTheme.theme.set(item.value)"
128
+ >
129
+ {{ item.label }}
130
+ </sd-button>
131
+ }
132
+ </div>
133
+ </div>
134
+ <div class="flex-row gap-sm cross-align-center">
135
+ <span>compact</span>
136
+ <sd-switch
137
+ [inline]="true"
138
+ [value]="_sdTheme.density() === 'compact'"
139
+ (valueChange)="_sdTheme.density.set($event ? 'compact' : 'normal')"
140
+ />
100
141
  </div>
101
142
  </div>
102
143
  </sd-dropdown-popup>
103
144
  </sd-dropdown>
104
145
  ` }]
105
146
  }], null, null); })();
106
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdThemeSelector, { className: "SdThemeSelector", filePath: "packages/angular/src/features/theme/sd-theme-selector.ts", lineNumber: 63 }); })();
147
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdThemeSelector, { className: "SdThemeSelector", filePath: "packages/angular/src/features/theme/sd-theme-selector.ts", lineNumber: 82 }); })();
@@ -0,0 +1,9 @@
1
+ /**
2
+ * WCAG 2.x 대비율 (1-21).
3
+ *
4
+ * @param foregroundColor 전경색(텍스트 등). 알파면 배경 위에 합성 후 계산.
5
+ * @param backgroundColor 배경색. 알파면 `baseColor` 위에 합성(불투명 배경이면 불필요).
6
+ * @param baseColor 반투명 배경 아래의 최종 불투명 표면색.
7
+ */
8
+ export declare function getWcagContrastRatio(foregroundColor: string, backgroundColor: string, baseColor?: string): number;
9
+ //# sourceMappingURL=wcag-contrast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wcag-contrast.d.ts","sourceRoot":"","sources":["../../../src/features/theme/wcag-contrast.ts"],"names":[],"mappings":"AAuEA;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,EACvB,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAoBR"}
@@ -0,0 +1,83 @@
1
+ // WCAG 2.x 대비율 계산 (DEC-012) — 테마(커스텀 테마 포함) 핵심 fg/bg 쌍 검증용.
2
+ // 알파 색은 배경 표면에 합성 후 계산한다.
3
+ function parseCssColor(colorText) {
4
+ const trimmed = colorText.trim().toLowerCase();
5
+ if (trimmed === "white")
6
+ return { r: 255, g: 255, b: 255, a: 1 };
7
+ if (trimmed === "black")
8
+ return { r: 0, g: 0, b: 0, a: 1 };
9
+ if (trimmed === "transparent")
10
+ return { r: 0, g: 0, b: 0, a: 0 };
11
+ const hexMatch = /^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/.exec(trimmed);
12
+ if (hexMatch) {
13
+ const hex = hexMatch[1];
14
+ if (hex.length === 3) {
15
+ return {
16
+ r: parseInt(hex[0] + hex[0], 16),
17
+ g: parseInt(hex[1] + hex[1], 16),
18
+ b: parseInt(hex[2] + hex[2], 16),
19
+ a: 1,
20
+ };
21
+ }
22
+ return {
23
+ r: parseInt(hex.slice(0, 2), 16),
24
+ g: parseInt(hex.slice(2, 4), 16),
25
+ b: parseInt(hex.slice(4, 6), 16),
26
+ a: hex.length === 8 ? parseInt(hex.slice(6, 8), 16) / 255 : 1,
27
+ };
28
+ }
29
+ const rgbMatch = /^rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*(?:,\s*([\d.]+)\s*)?\)$/.exec(trimmed);
30
+ if (rgbMatch) {
31
+ // 알파 캡처 그룹은 미매치 시 런타임에 undefined (exec 타입은 string 으로 나옴)
32
+ const alphaText = rgbMatch[4];
33
+ return {
34
+ r: Number(rgbMatch[1]),
35
+ g: Number(rgbMatch[2]),
36
+ b: Number(rgbMatch[3]),
37
+ a: alphaText != null ? Number(alphaText) : 1,
38
+ };
39
+ }
40
+ throw new Error(`WCAG 대비 계산: 색상을 해석할 수 없습니다: "${colorText}"`);
41
+ }
42
+ function composite(fg, bg) {
43
+ const a = fg.a + bg.a * (1 - fg.a);
44
+ if (a === 0)
45
+ return { r: 0, g: 0, b: 0, a: 0 };
46
+ return {
47
+ r: (fg.r * fg.a + bg.r * bg.a * (1 - fg.a)) / a,
48
+ g: (fg.g * fg.a + bg.g * bg.a * (1 - fg.a)) / a,
49
+ b: (fg.b * fg.a + bg.b * bg.a * (1 - fg.a)) / a,
50
+ a,
51
+ };
52
+ }
53
+ function getRelativeLuminance(color) {
54
+ const [r, g, b] = [color.r, color.g, color.b].map((v) => {
55
+ const srgb = v / 255;
56
+ return srgb <= 0.03928 ? srgb / 12.92 : Math.pow((srgb + 0.055) / 1.055, 2.4);
57
+ });
58
+ return 0.2126 * r + 0.7152 * g + 0.0722 * b;
59
+ }
60
+ /**
61
+ * WCAG 2.x 대비율 (1-21).
62
+ *
63
+ * @param foregroundColor 전경색(텍스트 등). 알파면 배경 위에 합성 후 계산.
64
+ * @param backgroundColor 배경색. 알파면 `baseColor` 위에 합성(불투명 배경이면 불필요).
65
+ * @param baseColor 반투명 배경 아래의 최종 불투명 표면색.
66
+ */
67
+ export function getWcagContrastRatio(foregroundColor, backgroundColor, baseColor) {
68
+ let bg = parseCssColor(backgroundColor);
69
+ if (bg.a < 1) {
70
+ if (baseColor == null) {
71
+ throw new Error(`WCAG 대비 계산: 반투명 배경("${backgroundColor}")은 base 표면색이 필요합니다`);
72
+ }
73
+ const base = parseCssColor(baseColor);
74
+ if (base.a < 1) {
75
+ throw new Error(`WCAG 대비 계산: base 표면색("${baseColor}")은 불투명해야 합니다`);
76
+ }
77
+ bg = composite(bg, base);
78
+ }
79
+ const fg = composite(parseCssColor(foregroundColor), bg);
80
+ const l1 = getRelativeLuminance(fg);
81
+ const l2 = getRelativeLuminance(bg);
82
+ return (Math.max(l1, l2) + 0.05) / (Math.min(l1, l2) + 0.05);
83
+ }
@@ -132,7 +132,7 @@ export class SdCalendar {
132
132
  i0.ɵɵtextInterpolate1(" ", ctx.weeks[(ctx.weekStartDay() + 6) % 7], " ");
133
133
  i0.ɵɵadvance(2);
134
134
  i0.ɵɵrepeater(ctx.dataTable());
135
- } }, dependencies: [NgTemplateOutlet, FormatPipe], styles: ["sd-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 });
135
+ } }, dependencies: [NgTemplateOutlet, FormatPipe], styles: ["sd-calendar > table {\n border-collapse: collapse;\n width: 100%;\n height: 100%;\n border-radius: var(--sd-radius-default);\n overflow: hidden;\n}\nsd-calendar > table > * > tr > * {\n padding: var(--sd-gap-sm) var(--sd-gap-default);\n border: 1px solid var(--sd-bd-default);\n width: 14.2857142857%;\n}\nsd-calendar > table > thead > tr > th {\n background-color: var(--sd-bg-gray-subtle);\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(--sd-gap-sm);\n}\nsd-calendar > table > tbody > tr > td.not-current {\n background-color: var(--sd-bg-canvas);\n}\nsd-calendar > table > tbody > tr > td.not-current > .day {\n color: var(--sd-tx-gray);\n}\nsd-calendar > table > tbody > tr > td > .content {\n display: flex;\n flex-wrap: nowrap;\n flex-direction: column;\n gap: var(--sd-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(--sd-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(--sd-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(--sd-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(--sd-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(--sd-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(--sd-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(--sd-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(--sd-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(--sd-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(--sd-gap-auto);\n }\n}"], encapsulation: 2 });
136
136
  }
137
137
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdCalendar, [{
138
138
  type: Component,
@@ -190,6 +190,6 @@ export class SdCalendar {
190
190
  }
191
191
  </tbody>
192
192
  </table>
193
- `, styles: ["sd-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}"] }]
193
+ `, styles: ["sd-calendar > table {\n border-collapse: collapse;\n width: 100%;\n height: 100%;\n border-radius: var(--sd-radius-default);\n overflow: hidden;\n}\nsd-calendar > table > * > tr > * {\n padding: var(--sd-gap-sm) var(--sd-gap-default);\n border: 1px solid var(--sd-bd-default);\n width: 14.2857142857%;\n}\nsd-calendar > table > thead > tr > th {\n background-color: var(--sd-bg-gray-subtle);\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(--sd-gap-sm);\n}\nsd-calendar > table > tbody > tr > td.not-current {\n background-color: var(--sd-bg-canvas);\n}\nsd-calendar > table > tbody > tr > td.not-current > .day {\n color: var(--sd-tx-gray);\n}\nsd-calendar > table > tbody > tr > td > .content {\n display: flex;\n flex-wrap: nowrap;\n flex-direction: column;\n gap: var(--sd-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(--sd-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(--sd-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(--sd-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(--sd-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(--sd-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(--sd-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(--sd-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(--sd-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(--sd-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(--sd-gap-auto);\n }\n}"] }]
194
194
  }], null, { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: true }] }], getItemDateFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "getItemDateFn", required: true }] }], yearMonth: [{ type: i0.Input, args: [{ isSignal: true, alias: "yearMonth", required: false }] }], itemTplRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SdItemOfTemplate), { ...{ read: TemplateRef }, isSignal: true }] }], weekStartDay: [{ type: i0.Input, args: [{ isSignal: true, alias: "weekStartDay", required: false }] }], minDaysInFirstWeek: [{ type: i0.Input, args: [{ isSignal: true, alias: "minDaysInFirstWeek", required: false }] }] }); })();
195
195
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdCalendar, { className: "SdCalendar", filePath: "packages/angular/src/features/visual/sd-calendar.ts", lineNumber: 131 }); })();
@@ -1 +1 @@
1
- {"version":3,"file":"sd-label.d.ts","sourceRoot":"","sources":["../../../src/features/visual/sd-label.ts"],"names":[],"mappings":";AAQA,qBAmDa,OAAO;IAClB,KAAK,8IAED;IACJ,KAAK,0DAAmB;IACxB,SAAS,qEAAiD;yCAL/C,OAAO;2CAAP,OAAO;CAMnB"}
1
+ {"version":3,"file":"sd-label.d.ts","sourceRoot":"","sources":["../../../src/features/visual/sd-label.ts"],"names":[],"mappings":";AAQA,qBAkDa,OAAO;IAClB,KAAK,8IAED;IACJ,KAAK,0DAAmB;IACxB,SAAS,qEAAiD;yCAL/C,OAAO;2CAAP,OAAO;CAMnB"}
@@ -10,20 +10,20 @@ export class SdLabel {
10
10
  static ɵfac = function SdLabel_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdLabel)(); };
11
11
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SdLabel, selectors: [["sd-label"]], hostVars: 4, hostBindings: function SdLabel_HostBindings(rf, ctx) { if (rf & 2) {
12
12
  i0.ɵɵattribute("data-sd-theme", ctx.theme())("data-sd-clickable", ctx.clickable());
13
- i0.ɵɵstyleProp("background", ctx.color());
13
+ i0.ɵɵstyleProp("background-color", ctx.color());
14
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) {
15
15
  i0.ɵɵprojectionDef();
16
16
  i0.ɵɵprojection(0);
17
- } }, styles: ["sd-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 });
17
+ } }, styles: ["sd-label {\n display: inline-block;\n background-color: var(--sd-bg-gray-solid);\n color: var(--sd-tx-gray-solid);\n padding: 0 var(--sd-gap-sm);\n border-radius: var(--sd-radius-default);\n text-indent: 0;\n}\nsd-label[data-sd-theme=gray] {\n background-color: var(--sd-bg-gray-solid);\n color: var(--sd-tx-gray-solid);\n}\nsd-label[data-sd-theme=blue-gray] {\n background-color: var(--sd-bg-blue-gray-solid);\n color: var(--sd-tx-blue-gray-solid);\n}\nsd-label[data-sd-theme=primary] {\n background-color: var(--sd-bg-primary-solid);\n color: var(--sd-tx-primary-solid);\n}\nsd-label[data-sd-theme=secondary] {\n background-color: var(--sd-bg-secondary-solid);\n color: var(--sd-tx-secondary-solid);\n}\nsd-label[data-sd-theme=info] {\n background-color: var(--sd-bg-info-solid);\n color: var(--sd-tx-info-solid);\n}\nsd-label[data-sd-theme=success] {\n background-color: var(--sd-bg-success-solid);\n color: var(--sd-tx-success-solid);\n}\nsd-label[data-sd-theme=warning] {\n background-color: var(--sd-bg-warning-solid);\n color: var(--sd-tx-warning-solid);\n}\nsd-label[data-sd-theme=danger] {\n background-color: var(--sd-bg-danger-solid);\n color: var(--sd-tx-danger-solid);\n}\nsd-label[data-sd-clickable=true] {\n cursor: pointer;\n}\nsd-label[data-sd-clickable=true]:hover {\n background-color: var(--sd-bg-gray-solid-hover);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=gray] {\n background-color: var(--sd-bg-gray-solid-hover);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=blue-gray] {\n background-color: var(--sd-bg-blue-gray-solid-hover);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=primary] {\n background-color: var(--sd-bg-primary-solid-hover);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=secondary] {\n background-color: var(--sd-bg-secondary-solid-hover);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=info] {\n background-color: var(--sd-bg-info-solid-hover);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=success] {\n background-color: var(--sd-bg-success-solid-hover);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=warning] {\n background-color: var(--sd-bg-warning-solid-hover);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=danger] {\n background-color: var(--sd-bg-danger-solid-hover);\n}"], encapsulation: 2 });
18
18
  }
19
19
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdLabel, [{
20
20
  type: Component,
21
21
  args: [{ selector: "sd-label", changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [], host: {
22
22
  "[attr.data-sd-theme]": "theme()",
23
- "[style.background]": "color()",
23
+ "[style.background-color]": "color()",
24
24
  "[attr.data-sd-clickable]": "clickable()",
25
25
  }, template: `
26
26
  <ng-content></ng-content>
27
- `, styles: ["sd-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}"] }]
27
+ `, styles: ["sd-label {\n display: inline-block;\n background-color: var(--sd-bg-gray-solid);\n color: var(--sd-tx-gray-solid);\n padding: 0 var(--sd-gap-sm);\n border-radius: var(--sd-radius-default);\n text-indent: 0;\n}\nsd-label[data-sd-theme=gray] {\n background-color: var(--sd-bg-gray-solid);\n color: var(--sd-tx-gray-solid);\n}\nsd-label[data-sd-theme=blue-gray] {\n background-color: var(--sd-bg-blue-gray-solid);\n color: var(--sd-tx-blue-gray-solid);\n}\nsd-label[data-sd-theme=primary] {\n background-color: var(--sd-bg-primary-solid);\n color: var(--sd-tx-primary-solid);\n}\nsd-label[data-sd-theme=secondary] {\n background-color: var(--sd-bg-secondary-solid);\n color: var(--sd-tx-secondary-solid);\n}\nsd-label[data-sd-theme=info] {\n background-color: var(--sd-bg-info-solid);\n color: var(--sd-tx-info-solid);\n}\nsd-label[data-sd-theme=success] {\n background-color: var(--sd-bg-success-solid);\n color: var(--sd-tx-success-solid);\n}\nsd-label[data-sd-theme=warning] {\n background-color: var(--sd-bg-warning-solid);\n color: var(--sd-tx-warning-solid);\n}\nsd-label[data-sd-theme=danger] {\n background-color: var(--sd-bg-danger-solid);\n color: var(--sd-tx-danger-solid);\n}\nsd-label[data-sd-clickable=true] {\n cursor: pointer;\n}\nsd-label[data-sd-clickable=true]:hover {\n background-color: var(--sd-bg-gray-solid-hover);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=gray] {\n background-color: var(--sd-bg-gray-solid-hover);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=blue-gray] {\n background-color: var(--sd-bg-blue-gray-solid-hover);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=primary] {\n background-color: var(--sd-bg-primary-solid-hover);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=secondary] {\n background-color: var(--sd-bg-secondary-solid-hover);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=info] {\n background-color: var(--sd-bg-info-solid-hover);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=success] {\n background-color: var(--sd-bg-success-solid-hover);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=warning] {\n background-color: var(--sd-bg-warning-solid-hover);\n}\nsd-label[data-sd-clickable=true]:hover[data-sd-theme=danger] {\n background-color: var(--sd-bg-danger-solid-hover);\n}"] }]
28
28
  }], null, { theme: [{ type: i0.Input, args: [{ isSignal: true, alias: "theme", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], clickable: [{ type: i0.Input, args: [{ isSignal: true, alias: "clickable", required: false }] }] }); })();
29
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdLabel, { className: "SdLabel", filePath: "packages/angular/src/features/visual/sd-label.ts", lineNumber: 60 }); })();
29
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdLabel, { className: "SdLabel", filePath: "packages/angular/src/features/visual/sd-label.ts", lineNumber: 59 }); })();
@@ -1 +1 @@
1
- {"version":3,"file":"sd-note.d.ts","sourceRoot":"","sources":["../../../src/features/visual/sd-note.ts"],"names":[],"mappings":";AAQA,qBAmDa,MAAM;IACjB,KAAK,8IAED;IACJ,IAAI,+DAAwB;IAC5B,KAAK,qEAAiD;yCAL3C,MAAM;2CAAN,MAAM;CAMlB"}
1
+ {"version":3,"file":"sd-note.d.ts","sourceRoot":"","sources":["../../../src/features/visual/sd-note.ts"],"names":[],"mappings":";AAQA,qBAkDa,MAAM;IACjB,KAAK,8IAED;IACJ,IAAI,+DAAwB;IAC5B,KAAK,qEAAiD;yCAL3C,MAAM;2CAAN,MAAM;CAMlB"}
@@ -13,7 +13,7 @@ export class SdNote {
13
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) {
14
14
  i0.ɵɵprojectionDef();
15
15
  i0.ɵɵprojection(0);
16
- } }, styles: ["sd-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 });
16
+ } }, styles: ["sd-note {\n display: block;\n padding: var(--sd-gap-sm) var(--sd-gap-default);\n background-color: var(--sd-bg-gray-subtle);\n border: none;\n border-radius: var(--sd-radius-default);\n}\nsd-note[data-sd-theme=gray] {\n background-color: var(--sd-bg-gray-subtle);\n border: 1px solid var(--sd-bg-gray-subtle);\n}\nsd-note[data-sd-theme=blue-gray] {\n background-color: var(--sd-bg-blue-gray-subtle);\n border: 1px solid var(--sd-bg-blue-gray-subtle);\n}\nsd-note[data-sd-theme=primary] {\n background-color: var(--sd-bg-primary-subtle);\n border: 1px solid var(--sd-bg-primary-subtle);\n}\nsd-note[data-sd-theme=secondary] {\n background-color: var(--sd-bg-secondary-subtle);\n border: 1px solid var(--sd-bg-secondary-subtle);\n}\nsd-note[data-sd-theme=info] {\n background-color: var(--sd-bg-info-subtle);\n border: 1px solid var(--sd-bg-info-subtle);\n}\nsd-note[data-sd-theme=success] {\n background-color: var(--sd-bg-success-subtle);\n border: 1px solid var(--sd-bg-success-subtle);\n}\nsd-note[data-sd-theme=warning] {\n background-color: var(--sd-bg-warning-subtle);\n border: 1px solid var(--sd-bg-warning-subtle);\n}\nsd-note[data-sd-theme=danger] {\n background-color: var(--sd-bg-danger-subtle);\n border: 1px solid var(--sd-bg-danger-subtle);\n}\nsd-note[data-sd-size=sm] {\n font-size: var(--sd-font-size-sm);\n padding: var(--sd-gap-xs) var(--sd-gap-sm);\n}\nsd-note[data-sd-size=lg] {\n padding: var(--sd-gap-default) var(--sd-gap-lg);\n}\nsd-note[data-sd-inset=true] {\n border-radius: 0;\n}"], encapsulation: 2 });
17
17
  }
18
18
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdNote, [{
19
19
  type: Component,
@@ -23,6 +23,6 @@ export class SdNote {
23
23
  "[attr.data-sd-inset]": "inset()",
24
24
  }, template: `
25
25
  <ng-content></ng-content>
26
- `, styles: ["sd-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}"] }]
26
+ `, styles: ["sd-note {\n display: block;\n padding: var(--sd-gap-sm) var(--sd-gap-default);\n background-color: var(--sd-bg-gray-subtle);\n border: none;\n border-radius: var(--sd-radius-default);\n}\nsd-note[data-sd-theme=gray] {\n background-color: var(--sd-bg-gray-subtle);\n border: 1px solid var(--sd-bg-gray-subtle);\n}\nsd-note[data-sd-theme=blue-gray] {\n background-color: var(--sd-bg-blue-gray-subtle);\n border: 1px solid var(--sd-bg-blue-gray-subtle);\n}\nsd-note[data-sd-theme=primary] {\n background-color: var(--sd-bg-primary-subtle);\n border: 1px solid var(--sd-bg-primary-subtle);\n}\nsd-note[data-sd-theme=secondary] {\n background-color: var(--sd-bg-secondary-subtle);\n border: 1px solid var(--sd-bg-secondary-subtle);\n}\nsd-note[data-sd-theme=info] {\n background-color: var(--sd-bg-info-subtle);\n border: 1px solid var(--sd-bg-info-subtle);\n}\nsd-note[data-sd-theme=success] {\n background-color: var(--sd-bg-success-subtle);\n border: 1px solid var(--sd-bg-success-subtle);\n}\nsd-note[data-sd-theme=warning] {\n background-color: var(--sd-bg-warning-subtle);\n border: 1px solid var(--sd-bg-warning-subtle);\n}\nsd-note[data-sd-theme=danger] {\n background-color: var(--sd-bg-danger-subtle);\n border: 1px solid var(--sd-bg-danger-subtle);\n}\nsd-note[data-sd-size=sm] {\n font-size: var(--sd-font-size-sm);\n padding: var(--sd-gap-xs) var(--sd-gap-sm);\n}\nsd-note[data-sd-size=lg] {\n padding: var(--sd-gap-default) var(--sd-gap-lg);\n}\nsd-note[data-sd-inset=true] {\n border-radius: 0;\n}"] }]
27
27
  }], null, { theme: [{ type: i0.Input, args: [{ isSignal: true, alias: "theme", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], inset: [{ type: i0.Input, args: [{ isSignal: true, alias: "inset", required: false }] }] }); })();
28
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdNote, { className: "SdNote", filePath: "packages/angular/src/features/visual/sd-note.ts", lineNumber: 60 }); })();
28
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdNote, { className: "SdNote", filePath: "packages/angular/src/features/visual/sd-note.ts", lineNumber: 59 }); })();
@@ -1 +1 @@
1
- {"version":3,"file":"sd-progress.d.ts","sourceRoot":"","sources":["../../../src/features/visual/sd-progress.ts"],"names":[],"mappings":";AAUA,qBAsEa,UAAU;IACrB,KAAK,qEAAiD;IACtD,IAAI,+DAAwB;IAC5B,KAAK,kIAED;IAEJ,KAAK,8CAA4B;IAEjC,SAAS,yCAAwE;yCATtE,UAAU;2CAAV,UAAU;CAUtB"}
1
+ {"version":3,"file":"sd-progress.d.ts","sourceRoot":"","sources":["../../../src/features/visual/sd-progress.ts"],"names":[],"mappings":";AAUA,qBAoEa,UAAU;IACrB,KAAK,qEAAiD;IACtD,IAAI,+DAAwB;IAC5B,KAAK,kIAED;IAEJ,KAAK,8CAA4B;IAEjC,SAAS,yCAAwE;yCATtE,UAAU;2CAAV,UAAU;CAUtB"}
@@ -25,7 +25,7 @@ export class SdProgress {
25
25
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 3, ctx.value(), "1.0-2"), " ");
26
26
  i0.ɵɵadvance(2);
27
27
  i0.ɵɵstyleProp("width", ctx._barWidth());
28
- } }, dependencies: [PercentPipe], styles: ["sd-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 });
28
+ } }, dependencies: [PercentPipe], styles: ["sd-progress {\n position: relative;\n display: block;\n width: 100%;\n white-space: nowrap;\n background-color: var(--sd-bg-gray-subtle);\n border: 1px solid var(--sd-bd-hairline);\n border-radius: var(--sd-radius-default);\n overflow: hidden;\n}\nsd-progress > ._content {\n position: relative;\n z-index: 2;\n padding: var(--sd-gap-lg) var(--sd-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-color: var(--sd-bg-gray-solid);\n}\nsd-progress[data-sd-theme=blue-gray] > ._progress {\n background-color: var(--sd-bg-blue-gray-solid);\n}\nsd-progress[data-sd-theme=primary] > ._progress {\n background-color: var(--sd-bg-primary-solid);\n}\nsd-progress[data-sd-theme=secondary] > ._progress {\n background-color: var(--sd-bg-secondary-solid);\n}\nsd-progress[data-sd-theme=info] > ._progress {\n background-color: var(--sd-bg-info-solid);\n}\nsd-progress[data-sd-theme=success] > ._progress {\n background-color: var(--sd-bg-success-solid);\n}\nsd-progress[data-sd-theme=warning] > ._progress {\n background-color: var(--sd-bg-warning-solid);\n}\nsd-progress[data-sd-theme=danger] > ._progress {\n background-color: var(--sd-bg-danger-solid);\n}\nsd-progress[data-sd-size=sm] > ._content {\n padding: var(--sd-gap-xs) var(--sd-gap-default);\n}\nsd-progress[data-sd-size=lg] > ._content {\n padding: var(--sd-gap-default) var(--sd-gap-xl);\n}\nsd-progress[data-sd-inset=true] {\n border-radius: 0;\n border: none;\n background-color: var(--sd-bg-control);\n}"], encapsulation: 2 });
29
29
  }
30
30
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdProgress, [{
31
31
  type: Component,
@@ -38,6 +38,6 @@ export class SdProgress {
38
38
  {{ value() | percent: "1.0-2" }}
39
39
  </div>
40
40
  <div class="_progress" [style.width]="_barWidth()"></div>
41
- `, styles: ["sd-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}"] }]
41
+ `, styles: ["sd-progress {\n position: relative;\n display: block;\n width: 100%;\n white-space: nowrap;\n background-color: var(--sd-bg-gray-subtle);\n border: 1px solid var(--sd-bd-hairline);\n border-radius: var(--sd-radius-default);\n overflow: hidden;\n}\nsd-progress > ._content {\n position: relative;\n z-index: 2;\n padding: var(--sd-gap-lg) var(--sd-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-color: var(--sd-bg-gray-solid);\n}\nsd-progress[data-sd-theme=blue-gray] > ._progress {\n background-color: var(--sd-bg-blue-gray-solid);\n}\nsd-progress[data-sd-theme=primary] > ._progress {\n background-color: var(--sd-bg-primary-solid);\n}\nsd-progress[data-sd-theme=secondary] > ._progress {\n background-color: var(--sd-bg-secondary-solid);\n}\nsd-progress[data-sd-theme=info] > ._progress {\n background-color: var(--sd-bg-info-solid);\n}\nsd-progress[data-sd-theme=success] > ._progress {\n background-color: var(--sd-bg-success-solid);\n}\nsd-progress[data-sd-theme=warning] > ._progress {\n background-color: var(--sd-bg-warning-solid);\n}\nsd-progress[data-sd-theme=danger] > ._progress {\n background-color: var(--sd-bg-danger-solid);\n}\nsd-progress[data-sd-size=sm] > ._content {\n padding: var(--sd-gap-xs) var(--sd-gap-default);\n}\nsd-progress[data-sd-size=lg] > ._content {\n padding: var(--sd-gap-default) var(--sd-gap-xl);\n}\nsd-progress[data-sd-inset=true] {\n border-radius: 0;\n border: none;\n background-color: var(--sd-bg-control);\n}"] }]
42
42
  }], null, { inset: [{ type: i0.Input, args: [{ isSignal: true, alias: "inset", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], theme: [{ type: i0.Input, args: [{ isSignal: true, alias: "theme", required: true }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }] }); })();
43
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdProgress, { className: "SdProgress", filePath: "packages/angular/src/features/visual/sd-progress.ts", lineNumber: 81 }); })();
43
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdProgress, { className: "SdProgress", filePath: "packages/angular/src/features/visual/sd-progress.ts", lineNumber: 79 }); })();
package/dist/index.d.ts CHANGED
@@ -9,7 +9,7 @@ export type { SelectModalOutputResult } from "./core/select-modal-output-result"
9
9
  export type { DirectiveInputSignals, UndefToOptional, WithOptional, } from "./core/directive-input-signals";
10
10
  export { SdOptionEventPlugin } from "./core/events/sd-option-event.plugin";
11
11
  export { SdResizeDirective, type SdResizeEvent } from "./core/events/sd-resize";
12
- export { SdIntersectionDirective, type SdIntersectionEvent, } from "./core/events/sd-intersection";
12
+ export { SdIntersectionDirective, type SdIntersectionEvent } from "./core/events/sd-intersection";
13
13
  export { SdEvents } from "./core/events/sd-events";
14
14
  export { SdCommandDirective } from "./core/commands/sd-command";
15
15
  export { SdGlobalErrorHandlerPlugin } from "./core/error-handler/sd-global-error-handler.plugin";
@@ -36,11 +36,11 @@ export { SdSystemConfigProvider } from "./core/config/sd-system-config.provider"
36
36
  export { injectSdSystemConfigResource } from "./core/config/injectSdSystemConfigResource";
37
37
  export { SdAppStructureProvider, injectPermsSignal, } from "./core/app-structure/sd-app-structure.provider";
38
38
  export { SdAppStructureUtils } from "./core/app-structure/sd-app-structure.utils";
39
- export type { SdMenu, SdFlatMenu, SdPermission, } from "./core/app-structure/sd-app-structure.types";
39
+ export type { SdMenu, SdFlatMenu, SdPermission } from "./core/app-structure/sd-app-structure.types";
40
40
  export { SdFileDialogProvider } from "./core/file-dialog/sd-file-dialog.provider";
41
41
  export { SdServiceClientFactoryProvider } from "./core/service-client/sd-service-client-factory.provider";
42
42
  export { SdSharedDataProvider, SdSharedDataChangeEvent, type SharedDataBase, type SharedDataInfo, type SharedDataHandle, } from "./core/shared-data/sd-shared-data.provider";
43
- export { useExpandingManager, type ExpandItemDef, } from "./core/selection/useExpandingManager";
43
+ export { useExpandingManager, type ExpandItemDef } from "./core/selection/useExpandingManager";
44
44
  export { useSelectionManager } from "./core/selection/useSelectionManager";
45
45
  export { useSortingManager, type SortingDef } from "./core/selection/useSortingManager";
46
46
  export { SdModal } from "./core/modal/sd-modal";
@@ -52,14 +52,14 @@ export { SdToast } from "./core/toast/sd-toast";
52
52
  export { SdToastContainer } from "./core/toast/sd-toast-container";
53
53
  export { SdToastProvider, type SdToastSeverity, type SdToastTheme, type SdToastContentDef, type SdToastInput, } from "./core/toast/sd-toast.provider";
54
54
  export { SdBusyContainer } from "./core/busy/sd-busy-container";
55
- export { SdBusyProvider, type SdBusyType, } from "./core/busy/sd-busy.provider";
56
- export { SdPrintProvider, type SdPrint, type SdPrintInput, } from "./core/print/sd-print.provider";
55
+ export { SdBusyProvider, type SdBusyType } from "./core/busy/sd-busy.provider";
56
+ export { SdPrintProvider, type SdPrint, type SdPrintInput } from "./core/print/sd-print.provider";
57
57
  export { SdButton } from "./controls/button/sd-button";
58
58
  export { SdAnchor } from "./controls/button/sd-anchor";
59
59
  export { SdAdditionalButton } from "./controls/button/sd-additional-button";
60
60
  export { SdModalSelectButton, type SdSelectModal, type SdSelectModalInfo, } from "./controls/button/sd-modal-select-button";
61
61
  export { SdTextfield } from "./controls/input/sd-textfield";
62
- export { type SdTextfieldTypes, sdTextfieldTypes } from "./controls/input/sd-textfield-type-handlers";
62
+ export { type SdTextfieldTypes, sdTextfieldTypes, } from "./controls/input/sd-textfield-type-handlers";
63
63
  export { SdTextarea } from "./controls/input/sd-textarea";
64
64
  export { SdNumpad } from "./controls/input/sd-numpad";
65
65
  export { SdRange } from "./controls/input/sd-range";
@@ -85,11 +85,11 @@ export { SdPagination } from "./controls/pagination/sd-pagination";
85
85
  export { SdSidebarContainer } from "./layout/sidebar/sd-sidebar-container";
86
86
  export { SdSidebar } from "./layout/sidebar/sd-sidebar";
87
87
  export { SdSidebarMenu } from "./layout/sidebar/sd-sidebar-menu";
88
- export { SdSidebarUser, type SdSidebarUserMenu, } from "./layout/sidebar/sd-sidebar-user";
88
+ export { SdSidebarUser, type SdSidebarUserMenu } from "./layout/sidebar/sd-sidebar-user";
89
89
  export { SdTopbarContainer } from "./layout/topbar/sd-topbar-container";
90
90
  export { SdTopbar } from "./layout/topbar/sd-topbar";
91
91
  export { SdTopbarMenu } from "./layout/topbar/sd-topbar-menu";
92
- export { SdTopbarUser, type SdTopbarUserMenu, } from "./layout/topbar/sd-topbar-user";
92
+ export { SdTopbarUser, type SdTopbarUserMenu } from "./layout/topbar/sd-topbar-user";
93
93
  export { SdSheet } from "./data/sheet/sd-sheet";
94
94
  export { SdSheetColumn, type SdSheetCellContext } from "./data/sheet/sd-sheet-column";
95
95
  export { SdSheetColumnCellTemplate } from "./data/sheet/sd-sheet-column-cell-template";
@@ -103,13 +103,14 @@ export { SdKanbanBoard, type SdKanbanBoardDropInfo, type SdKanbanDragRef, type S
103
103
  export { SdKanban } from "./data/kanban/sd-kanban";
104
104
  export { SdKanbanLane } from "./data/kanban/sd-kanban-lane";
105
105
  export { SdPermissionTable } from "./data/permission-table/sd-permission-table";
106
- export { SdStatePreset, type SdStatePresetDef, } from "./data/state-preset/sd-state-preset";
106
+ export { SdStatePreset, type SdStatePresetDef } from "./data/state-preset/sd-state-preset";
107
107
  export { SdBaseContainer } from "./data/crud/sd-base-container";
108
108
  export { SdCrudDetail } from "./data/crud/sd-crud-detail";
109
109
  export { SdCrudList } from "./data/crud/sd-crud-list";
110
- export { SdThemeProvider } from "./features/theme/sd-theme-provider";
110
+ export { SdThemeProvider, type SdThemeName } from "./features/theme/sd-theme-provider";
111
111
  export { SdThemeSelector } from "./features/theme/sd-theme-selector";
112
- export { SdAddressSearchModal, type Address, } from "./features/address/sd-address-search.modal";
112
+ export { getWcagContrastRatio } from "./features/theme/wcag-contrast";
113
+ export { SdAddressSearchModal, type Address } from "./features/address/sd-address-search.modal";
113
114
  export { SdTiptapEditor } from "./features/editor/sd-tiptap-editor";
114
115
  export { SdMarkdownEditor } from "./features/editor/sd-markdown-editor";
115
116
  export { SdLabel } from "./features/visual/sd-label";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}