@simplysm/angular 14.2.1 → 14.2.3

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 (115) hide show
  1. package/dist/controls/button/sd-anchor.d.ts +1 -1
  2. package/dist/controls/button/sd-anchor.d.ts.map +1 -1
  3. package/dist/controls/button/sd-anchor.js +2 -2
  4. package/dist/controls/button/sd-button.d.ts +1 -1
  5. package/dist/controls/button/sd-button.d.ts.map +1 -1
  6. package/dist/controls/button/sd-button.js +2 -2
  7. package/dist/controls/checkbox/sd-checkbox.d.ts +1 -1
  8. package/dist/controls/checkbox/sd-checkbox.d.ts.map +1 -1
  9. package/dist/controls/checkbox/sd-checkbox.js +2 -2
  10. package/dist/controls/checkbox/sd-switch.d.ts +1 -1
  11. package/dist/controls/checkbox/sd-switch.d.ts.map +1 -1
  12. package/dist/controls/checkbox/sd-switch.js +2 -2
  13. package/dist/controls/dropdown/sd-dropdown.d.ts +3 -0
  14. package/dist/controls/dropdown/sd-dropdown.d.ts.map +1 -1
  15. package/dist/controls/dropdown/sd-dropdown.js +29 -9
  16. package/dist/controls/input/sd-textarea.d.ts +1 -1
  17. package/dist/controls/input/sd-textarea.d.ts.map +1 -1
  18. package/dist/controls/input/sd-textarea.js +2 -2
  19. package/dist/controls/input/sd-textfield-type-handlers.js +1 -1
  20. package/dist/controls/input/sd-textfield.d.ts +1 -1
  21. package/dist/controls/input/sd-textfield.d.ts.map +1 -1
  22. package/dist/controls/input/sd-textfield.js +9 -10
  23. package/dist/controls/list/sd-list.d.ts.map +1 -1
  24. package/dist/controls/list/sd-list.js +4 -6
  25. package/dist/controls/select/sd-select-button.d.ts.map +1 -1
  26. package/dist/controls/select/sd-select-button.js +3 -5
  27. package/dist/controls/select/sd-select.js +2 -2
  28. package/dist/core/error-handler/sd-global-error-handler.plugin.js +1 -1
  29. package/dist/core/modal/sd-modal.provider.js +1 -1
  30. package/dist/core/provideSdAngular.d.ts.map +1 -1
  31. package/dist/core/provideSdAngular.js +1 -13
  32. package/dist/core/setupBgTheme.d.ts +1 -1
  33. package/dist/core/setupBgTheme.d.ts.map +1 -1
  34. package/dist/core/toast/sd-toast.js +2 -2
  35. package/dist/core/toast/sd-toast.provider.d.ts +1 -1
  36. package/dist/core/toast/sd-toast.provider.d.ts.map +1 -1
  37. package/dist/core/toast/sd-toast.provider.js +1 -1
  38. package/dist/data/crud/sd-base-container.d.ts +1 -1
  39. package/dist/data/crud/sd-base-container.d.ts.map +1 -1
  40. package/dist/data/crud/sd-base-container.js +2 -2
  41. package/dist/data/crud/sd-crud-detail.d.ts +1 -1
  42. package/dist/data/crud/sd-crud-detail.d.ts.map +1 -1
  43. package/dist/data/crud/sd-crud-list.d.ts +3 -3
  44. package/dist/data/crud/sd-crud-list.d.ts.map +1 -1
  45. package/dist/data/shared-data/sd-shared-data-select.d.ts +2 -2
  46. package/dist/data/shared-data/sd-shared-data-select.d.ts.map +1 -1
  47. package/dist/data/sheet/injectSheetDomAccessor.d.ts +1 -0
  48. package/dist/data/sheet/injectSheetDomAccessor.d.ts.map +1 -1
  49. package/dist/data/sheet/injectSheetDomAccessor.js +7 -0
  50. package/dist/data/sheet/injectSheetDragSelection.d.ts +18 -0
  51. package/dist/data/sheet/injectSheetDragSelection.d.ts.map +1 -0
  52. package/dist/data/sheet/injectSheetDragSelection.js +193 -0
  53. package/dist/data/sheet/sd-sheet.d.ts +3 -0
  54. package/dist/data/sheet/sd-sheet.d.ts.map +1 -1
  55. package/dist/data/sheet/sd-sheet.js +17 -6
  56. package/dist/data/state-preset/sd-state-preset.d.ts +2 -2
  57. package/dist/data/state-preset/sd-state-preset.d.ts.map +1 -1
  58. package/dist/features/editor/sd-tiptap-editor.js +2 -2
  59. package/dist/features/theme/sd-theme-provider.d.ts +0 -2
  60. package/dist/features/theme/sd-theme-provider.d.ts.map +1 -1
  61. package/dist/features/theme/sd-theme-provider.js +0 -5
  62. package/dist/features/theme/sd-theme-selector.d.ts +1 -1
  63. package/dist/features/theme/sd-theme-selector.d.ts.map +1 -1
  64. package/dist/features/theme/sd-theme-selector.js +5 -22
  65. package/dist/features/visual/sd-label.d.ts +1 -1
  66. package/dist/features/visual/sd-label.d.ts.map +1 -1
  67. package/dist/features/visual/sd-label.js +2 -2
  68. package/dist/features/visual/sd-note.d.ts +1 -1
  69. package/dist/features/visual/sd-note.d.ts.map +1 -1
  70. package/dist/features/visual/sd-note.js +2 -2
  71. package/dist/features/visual/sd-progress.d.ts +1 -1
  72. package/dist/features/visual/sd-progress.d.ts.map +1 -1
  73. package/dist/features/visual/sd-progress.js +2 -2
  74. package/dist/layout/sidebar/sd-sidebar.d.ts.map +1 -1
  75. package/dist/layout/sidebar/sd-sidebar.js +3 -5
  76. package/dist/layout/topbar/sd-topbar.d.ts.map +1 -1
  77. package/dist/layout/topbar/sd-topbar.js +3 -3
  78. package/package.json +26 -26
  79. package/scss/commons/_mixins.scss +1 -1
  80. package/scss/commons/_theme-variables.scss +0 -8
  81. package/scss/commons/_variables.scss +114 -121
  82. package/scss/themes/_variables-blueprint.scss +65 -63
  83. package/scss/themes/_variables-ide-dark.scss +166 -144
  84. package/src/controls/button/sd-anchor.ts +3 -3
  85. package/src/controls/button/sd-button.ts +1 -3
  86. package/src/controls/checkbox/sd-checkbox.ts +2 -10
  87. package/src/controls/checkbox/sd-switch.ts +2 -4
  88. package/src/controls/dropdown/sd-dropdown.ts +33 -9
  89. package/src/controls/input/sd-textarea.ts +2 -4
  90. package/src/controls/input/sd-textfield-type-handlers.ts +1 -1
  91. package/src/controls/input/sd-textfield.ts +9 -12
  92. package/src/controls/list/sd-list.ts +3 -5
  93. package/src/controls/select/sd-select-button.ts +2 -4
  94. package/src/controls/select/sd-select.ts +1 -1
  95. package/src/core/error-handler/sd-global-error-handler.plugin.ts +1 -1
  96. package/src/core/modal/sd-modal.provider.ts +1 -1
  97. package/src/core/provideSdAngular.ts +1 -15
  98. package/src/core/setupBgTheme.ts +1 -2
  99. package/src/core/toast/sd-toast.provider.ts +5 -3
  100. package/src/data/crud/sd-base-container.ts +1 -1
  101. package/src/data/sheet/injectSheetDomAccessor.ts +7 -0
  102. package/src/data/sheet/injectSheetDragSelection.ts +226 -0
  103. package/src/data/sheet/sd-sheet.ts +16 -3
  104. package/src/features/editor/sd-tiptap-editor.ts +1 -1
  105. package/src/features/theme/sd-theme-provider.ts +0 -9
  106. package/src/features/theme/sd-theme-selector.ts +1 -10
  107. package/src/features/visual/sd-label.ts +1 -3
  108. package/src/features/visual/sd-note.ts +1 -3
  109. package/src/features/visual/sd-progress.ts +2 -2
  110. package/src/layout/sidebar/sd-sidebar.ts +2 -3
  111. package/src/layout/topbar/sd-topbar.ts +1 -0
  112. package/styles.css +278 -567
  113. package/scss/commons/_colors.scss +0 -301
  114. package/scss/commons/_density.scss +0 -23
  115. package/scss/sd-tokens.md +0 -132
@@ -10,91 +10,93 @@ $breakpoint-sm: 1280px;
10
10
  //
11
11
  // 규칙:
12
12
  // - 어휘(DEC-013): 색 어휘는 --sd-{bg|tx|bd}-… 속성 우선. 유틸 클래스명 = 토큰명에서 --sd- 만 뗀 것.
13
- // hover 변형은 -hover 접미. 비색상·컴포넌트 전용 그룹(팔레트·focus-ring·scrollbar·shadow·타이포·치수·z)은 그룹 구조 유지.
14
- // - 체이닝 금지: var() 참조는 팔레트(--sd-color-*, 테마 불변)로만 허용.
15
- // 테마·밀도가 덮는 토큰끼리의 체인은 재정의 스코프에서 하위가 안 따라오므로 리터럴로 푼다.
16
- // - 원천: 팔레트 + 흰/검 알파(rgba white/black)만. 커스텀 rgb 리터럴 금지.
17
- // - 라이트 기본값은 구 스케일 토큰과 시각 등가(값 불변·이름만 역할화).
18
- // - 구 스케일 어휘(--theme-*·--trans-*·--text-trans-* 등)는 발행하지 않는다(14.2 에서 발행 종료·브레이킹).
13
+ // hover 변형은 -hover 접미. 비색상, 컴포넌트 전용 그룹(focus-ring, scrollbar, shadow, 타이포, 치수, z)은 그룹 구조 유지.
14
+ // - 원천: 리터럴 rgb + 흰/검 알파. 팔레트(--sd-color-*) 배타 모델은 폐기됨(테마 값 자립).
15
+ // 테마, 밀도가 덮는 토큰끼리의 체인은 재정의 스코프에서 하위가 안 따라오므로 리터럴로 푼다.
16
+ // - 라이트 기본값은 팔레트 스텝과 시각 등가( 불변, 표기만 리터럴화).
17
+ // - 구 스케일 어휘(--theme-*, --trans-*, --text-trans-*, --sd-color-* )는 발행하지 않는다(브레이킹).
19
18
  // ---------------------------------------------------------------------------
20
19
  // 시맨틱 키 목록 — 컴포넌트 theme 변형 @each 순회용 (토큰 아님)
21
- $theme-keys: ("gray", blue-gray, primary, secondary, info, success, warning, danger);
20
+ $theme-keys: ("gray", blue-gray, primary, info, success, warning, danger);
22
21
 
23
22
  $sd: (
24
23
  // 배경(bg)
25
24
  bg: (
26
- // 표면 — 앱 배경(canvas)·컨트롤(control)·카드/모달(elevated)·드롭다운/팝업(overlay)·시트(sheet)·반전면(inverse)
27
- canvas: var(--sd-color-zinc-50),
25
+ // 표면 — 앱 배경(canvas), 콘텐츠 면(content), 카드/모달(elevated), 드롭다운/팝업(overlay), 시트(sheet), 반전면(inverse)
26
+ canvas: rgb(250, 250, 250),
28
27
  // 배경 패턴(블루프린트 모눈 등) — 값 맵으로 패턴까지 테마화. 소비측은 background 단축 금지.
29
28
  canvas-image: none,
30
- control: white,
29
+ // 콘텐츠(에디터/본문) 면 — 메인, 시트셀, 리스트, inset 콘텐츠
30
+ content: white,
31
31
  elevated: white,
32
32
  overlay: white,
33
- sheet: var(--sd-color-zinc-50),
33
+ sheet: rgb(250, 250, 250),
34
34
  // 시트 컨테이너 배경 패턴(블루프린트 모눈 등) — canvas-image 와 별개 축(방침 1, 2026-07-16 확정)
35
35
  sheet-image: none,
36
36
  inverse: black,
37
- // 필드(인풋류) 면 — 구 "--theme-secondary-lightest 필드 배경 관례" 해체
38
- field: var(--sd-color-blue-50),
39
- // 트랙 면(스위치 off 트랙 등 손잡이·채움 뒤의 궤도) — 준역할(2026-07-16 확정)
40
- track: var(--sd-color-zinc-100),
41
- // 시맨틱 면 — solid(짙은 면)·subtle(옅은 면), hover 변형 포함
37
+ // 필드(인풋류) 면 — 구 "--theme-secondary-lightest 필드 배경 관례" 해체 (blue-50 등가)
38
+ field: rgb(239, 246, 255),
39
+ // 트랙 면(스위치 off 트랙 등 손잡이, 채움 뒤의 궤도) — 준역할(2026-07-16 확정) (zinc-100 등가)
40
+ track: rgb(244, 244, 245),
41
+ // 스위치 노브(손잡이) 면 — 트랙 위로 도드라지는 별도 부품. 라이트 white
42
+ knob: white,
43
+ // 체크박스 박스 면 — VS Code checkbox.background 별도 면. 라이트는 white(현행 관례 유지)
44
+ checkbox: white,
45
+ // 시맨틱 면 — solid(짙은 면), subtle(옅은 면), hover 변형 포함
42
46
  "gray": (
43
- solid: var(--sd-color-zinc-400),
44
- solid-hover: var(--sd-color-zinc-500),
45
- subtle: var(--sd-color-zinc-50),
46
- subtle-hover: var(--sd-color-zinc-100),
47
+ solid: rgb(159, 159, 169),
48
+ solid-hover: rgb(113, 113, 123),
49
+ subtle: rgb(250, 250, 250),
50
+ subtle-hover: rgb(244, 244, 245),
47
51
  ),
48
52
  blue-gray: (
49
- solid: var(--sd-color-slate-400),
50
- solid-hover: var(--sd-color-slate-500),
51
- subtle: var(--sd-color-slate-50),
52
- subtle-hover: var(--sd-color-slate-100),
53
+ solid: rgb(144, 161, 185),
54
+ solid-hover: rgb(98, 116, 142),
55
+ subtle: rgb(248, 250, 252),
56
+ subtle-hover: rgb(241, 245, 249),
53
57
  ),
54
58
  primary: (
55
- solid: var(--sd-color-blue-500),
56
- solid-hover: var(--sd-color-blue-600),
57
- subtle: var(--sd-color-blue-50),
58
- subtle-hover: var(--sd-color-blue-100),
59
- ),
60
- secondary: (
61
- solid: var(--sd-color-blue-500),
62
- solid-hover: var(--sd-color-blue-600),
63
- subtle: var(--sd-color-blue-50),
64
- subtle-hover: var(--sd-color-blue-100),
59
+ solid: rgb(43, 127, 255),
60
+ solid-hover: rgb(21, 93, 252),
61
+ subtle: rgb(239, 246, 255),
62
+ subtle-hover: rgb(219, 234, 254),
65
63
  ),
66
64
  info: (
67
- solid: var(--sd-color-cyan-500),
68
- solid-hover: var(--sd-color-cyan-600),
69
- subtle: var(--sd-color-cyan-50),
70
- subtle-hover: var(--sd-color-cyan-100),
65
+ solid: rgb(0, 184, 219),
66
+ solid-hover: rgb(0, 146, 184),
67
+ subtle: rgb(236, 254, 255),
68
+ subtle-hover: rgb(206, 250, 254),
71
69
  ),
72
70
  success: (
73
- solid: var(--sd-color-lime-500),
74
- solid-hover: var(--sd-color-lime-600),
75
- subtle: var(--sd-color-lime-50),
76
- subtle-hover: var(--sd-color-lime-100),
71
+ solid: rgb(124, 207, 0),
72
+ solid-hover: rgb(94, 165, 0),
73
+ subtle: rgb(247, 254, 231),
74
+ subtle-hover: rgb(236, 252, 202),
77
75
  ),
78
76
  warning: (
79
- solid: var(--sd-color-orange-500),
80
- solid-hover: var(--sd-color-orange-600),
81
- subtle: var(--sd-color-orange-50),
82
- subtle-hover: var(--sd-color-orange-100),
77
+ solid: rgb(255, 105, 0),
78
+ solid-hover: rgb(245, 73, 0),
79
+ subtle: rgb(255, 247, 237),
80
+ subtle-hover: rgb(255, 237, 212),
83
81
  ),
84
82
  danger: (
85
- solid: var(--sd-color-red-500),
86
- solid-hover: var(--sd-color-red-600),
87
- subtle: var(--sd-color-red-50),
88
- subtle-hover: var(--sd-color-red-100),
83
+ solid: rgb(251, 44, 54),
84
+ solid-hover: rgb(231, 0, 11),
85
+ subtle: rgb(254, 242, 242),
86
+ subtle-hover: rgb(255, 226, 226),
89
87
  ),
90
88
  // 상태 오버레이(알파) — hover/active/selected 전 컨트롤 공통
91
89
  state: (
92
90
  hover: rgba(0, 0, 0, 0.05),
93
91
  active: rgba(0, 0, 0, 0.1),
94
92
  selected: rgba(0, 0, 0, 0.07),
93
+ // 포커스 없는 선택행 — solid(list.inactiveSelection). 흰/검 알파로 못 담아 solid
94
+ selected-inactive: rgb(228, 228, 231),
95
95
  ),
96
- // 비활성 — 색 치환 단일 규약(opacity 방식 폐기)
97
- disabled: var(--sd-color-zinc-100),
96
+ // 드롭 자리표시(accent 알파)
97
+ drop-target: rgba(43, 127, 255, 0.1),
98
+ // 비활성 — 색 치환 단일 규약(opacity 방식 폐기) (zinc-100 등가)
99
+ disabled: rgb(244, 244, 245),
98
100
  busy-overlay: rgba(255, 255, 255, 0.6),
99
101
  // busy 로딩 인디케이터 그래픽 면(큐브 로더 등) — 준역할(2026-07-16 확정)
100
102
  busy-indicator: rgba(0, 0, 0, 0.1),
@@ -108,99 +110,90 @@ $sd: (
108
110
  muted: rgba(0, 0, 0, 0.6),
109
111
  faint: rgba(0, 0, 0, 0.38),
110
112
  on-inverse: white,
111
- // 반전면 위 보조 텍스트(hover 감쇠·비활성) — 준역할(2026-07-16 확정)
113
+ // 반전면 위 보조 텍스트(hover 감쇠, 비활성) — 준역할(2026-07-16 확정)
112
114
  on-inverse-muted: rgba(255, 255, 255, 0.7),
113
115
  on-inverse-disabled: rgba(255, 255, 255, 0.5),
114
116
  disabled: rgba(0, 0, 0, 0.38),
115
- // 시맨틱 텍스트 — {key}(단독 텍스트·아이콘·링크, +hover)·{key}-solid(solid 면 위)·{key}-subtle(subtle 면 위)
117
+ // 시맨틱 텍스트 — {key}(단독 텍스트, 아이콘, 링크, +hover), {key}-solid(solid 면 위), {key}-subtle(subtle 면 위)
116
118
  // tx-{key} 가 리프라 시맨틱 키는 중첩 없이 평탄 표기
117
- "gray": var(--sd-color-zinc-400),
118
- gray-hover: var(--sd-color-zinc-500),
119
+ "gray": rgb(159, 159, 169),
120
+ gray-hover: rgb(113, 113, 123),
119
121
  gray-solid: white,
120
- gray-subtle: var(--sd-color-zinc-600),
121
- blue-gray: var(--sd-color-slate-400),
122
- blue-gray-hover: var(--sd-color-slate-500),
122
+ gray-subtle: rgb(82, 82, 92),
123
+ blue-gray: rgb(144, 161, 185),
124
+ blue-gray-hover: rgb(98, 116, 142),
123
125
  blue-gray-solid: white,
124
- blue-gray-subtle: var(--sd-color-slate-600),
125
- primary: var(--sd-color-blue-500),
126
- primary-hover: var(--sd-color-blue-600),
126
+ blue-gray-subtle: rgb(69, 85, 108),
127
+ primary: rgb(43, 127, 255),
128
+ primary-hover: rgb(21, 93, 252),
127
129
  primary-solid: white,
128
- primary-subtle: var(--sd-color-blue-700),
129
- secondary: var(--sd-color-blue-500),
130
- secondary-hover: var(--sd-color-blue-600),
131
- secondary-solid: white,
132
- secondary-subtle: var(--sd-color-blue-700),
133
- info: var(--sd-color-cyan-500),
134
- info-hover: var(--sd-color-cyan-600),
130
+ primary-subtle: rgb(20, 71, 230),
131
+ info: rgb(0, 184, 219),
132
+ info-hover: rgb(0, 146, 184),
135
133
  info-solid: white,
136
- info-subtle: var(--sd-color-cyan-700),
137
- success: var(--sd-color-lime-500),
138
- success-hover: var(--sd-color-lime-600),
134
+ info-subtle: rgb(0, 117, 149),
135
+ success: rgb(124, 207, 0),
136
+ success-hover: rgb(94, 165, 0),
139
137
  success-solid: white,
140
- success-subtle: var(--sd-color-lime-700),
141
- warning: var(--sd-color-orange-500),
142
- warning-hover: var(--sd-color-orange-600),
138
+ success-subtle: rgb(73, 125, 0),
139
+ warning: rgb(255, 105, 0),
140
+ warning-hover: rgb(245, 73, 0),
143
141
  warning-solid: white,
144
- warning-subtle: var(--sd-color-orange-700),
145
- danger: var(--sd-color-red-500),
146
- danger-hover: var(--sd-color-red-600),
142
+ warning-subtle: rgb(202, 53, 0),
143
+ danger: rgb(251, 44, 54),
144
+ danger-hover: rgb(231, 0, 11),
147
145
  danger-solid: white,
148
- danger-subtle: var(--sd-color-red-700),
146
+ danger-subtle: rgb(193, 0, 7),
149
147
  ),
150
148
  // 보더(bd)
151
149
  bd: (
152
- hairline: var(--sd-color-zinc-100),
153
- soft: var(--sd-color-zinc-200),
154
- default: var(--sd-color-zinc-300),
155
- strong: var(--sd-color-zinc-400),
156
- emphasis: var(--sd-color-zinc-500),
157
- field: var(--sd-color-zinc-300),
158
- disabled: var(--sd-color-zinc-200),
159
- // 시맨틱 보더 — solid(+hover)·subtle
150
+ hairline: rgb(244, 244, 245),
151
+ soft: rgb(228, 228, 231),
152
+ default: rgb(212, 212, 216),
153
+ strong: rgb(159, 159, 169),
154
+ emphasis: rgb(113, 113, 123),
155
+ field: rgb(212, 212, 216),
156
+ disabled: rgb(228, 228, 231),
157
+ // 시맨틱 보더 — solid(+hover), subtle
160
158
  "gray": (
161
- solid: var(--sd-color-zinc-400),
162
- solid-hover: var(--sd-color-zinc-500),
163
- subtle: var(--sd-color-zinc-300),
159
+ solid: rgb(159, 159, 169),
160
+ solid-hover: rgb(113, 113, 123),
161
+ subtle: rgb(212, 212, 216),
164
162
  ),
165
163
  blue-gray: (
166
- solid: var(--sd-color-slate-400),
167
- solid-hover: var(--sd-color-slate-500),
168
- subtle: var(--sd-color-slate-300),
164
+ solid: rgb(144, 161, 185),
165
+ solid-hover: rgb(98, 116, 142),
166
+ subtle: rgb(202, 213, 226),
169
167
  ),
170
168
  primary: (
171
- solid: var(--sd-color-blue-500),
172
- solid-hover: var(--sd-color-blue-600),
173
- subtle: var(--sd-color-blue-200),
174
- ),
175
- secondary: (
176
- solid: var(--sd-color-blue-500),
177
- solid-hover: var(--sd-color-blue-600),
178
- subtle: var(--sd-color-blue-200),
169
+ solid: rgb(43, 127, 255),
170
+ solid-hover: rgb(21, 93, 252),
171
+ subtle: rgb(190, 219, 255),
179
172
  ),
180
173
  info: (
181
- solid: var(--sd-color-cyan-500),
182
- solid-hover: var(--sd-color-cyan-600),
183
- subtle: var(--sd-color-cyan-200),
174
+ solid: rgb(0, 184, 219),
175
+ solid-hover: rgb(0, 146, 184),
176
+ subtle: rgb(162, 244, 253),
184
177
  ),
185
178
  success: (
186
- solid: var(--sd-color-lime-500),
187
- solid-hover: var(--sd-color-lime-600),
188
- subtle: var(--sd-color-lime-200),
179
+ solid: rgb(124, 207, 0),
180
+ solid-hover: rgb(94, 165, 0),
181
+ subtle: rgb(216, 249, 153),
189
182
  ),
190
183
  warning: (
191
- solid: var(--sd-color-orange-500),
192
- solid-hover: var(--sd-color-orange-600),
193
- subtle: var(--sd-color-orange-200),
184
+ solid: rgb(255, 105, 0),
185
+ solid-hover: rgb(245, 73, 0),
186
+ subtle: rgb(255, 214, 167),
194
187
  ),
195
188
  danger: (
196
- solid: var(--sd-color-red-500),
197
- solid-hover: var(--sd-color-red-600),
198
- subtle: var(--sd-color-red-200),
189
+ solid: rgb(251, 44, 54),
190
+ solid-hover: rgb(231, 0, 11),
191
+ subtle: rgb(255, 201, 201),
199
192
  ),
200
193
  ),
201
- // 포커스 링 — :focus-visible 전 컨트롤 단일 규약
194
+ // 포커스 링 — :focus-visible 전 컨트롤 단일 규약 (blue-500 등가)
202
195
  focus-ring: (
203
- color: var(--sd-color-blue-500),
196
+ color: rgb(43, 127, 255),
204
197
  width: 0.1667rem,
205
198
  offset: 0.0833rem,
206
199
  ),
@@ -210,7 +203,7 @@ $sd: (
210
203
  track: rgba(0, 0, 0, 0.03),
211
204
  ),
212
205
  // 컴포넌트 장식 토큰(방침 1, 2026-07-16 확정) — 테마 오버라이드가 값 맵으로 못 잡던
213
- // 장식(FIND-003 ③)의 소비 지점. 라이트 기본값은 현행 시각 등가.
206
+ // 장식의 소비 지점. 라이트 기본값은 현행 시각 등가.
214
207
  card: (
215
208
  bd: transparent,
216
209
  // focus-within 시 상단 보더 색(ide-dark 액센트 라인용)
@@ -227,15 +220,15 @@ $sd: (
227
220
  ),
228
221
  modal: (
229
222
  bd: transparent,
230
- header-bg: var(--sd-color-zinc-50),
223
+ header-bg: rgb(250, 250, 250),
231
224
  header-tx: rgba(0, 0, 0, 0.87),
232
- header-tx-muted: var(--sd-color-zinc-400),
225
+ header-tx-muted: rgb(159, 159, 169),
233
226
  ),
234
227
  dropdown: (
235
- bd: var(--sd-color-zinc-300),
228
+ bd: rgb(212, 212, 216),
236
229
  ),
237
230
  permission-group: (
238
- bg: var(--sd-color-cyan-500),
231
+ bg: rgb(0, 184, 219),
239
232
  tx: white,
240
233
  ),
241
234
  shadow: (
@@ -268,7 +261,7 @@ $sd: (
268
261
  xl: 0.6667rem,
269
262
  xxl: 1rem,
270
263
  ),
271
- // 밀도 그룹(치수) sd-density-compact 가 이 그룹만 덮는다. 테마 맵엔 치수 없음.
264
+ // 치수 그룹. 테마 맵엔 치수 없음.
272
265
  gap: (
273
266
  xxs: 0.0833rem,
274
267
  xs: 0.1667rem,
@@ -1,8 +1,7 @@
1
1
  // 블루프린트 테마 — 트레이싱지(라이트 면)를 --sd-* 역할 토큰 값 맵으로만 구성(셀렉터 오버라이드 0).
2
2
  // 라이트 기본값과 같은 항목은 생략(값 맵은 차이만 덮음).
3
- // 색 규칙(CONSTRAINT-007): --sd-color-* 팔레트 + 흰/검 알파만.
4
- // 모눈·그림자 청색 틴트는 rgb(28, 57, 142) ≈ --sd-color-blue-900 근사 리터럴(2026-07-16 확정 —
5
- // var() 를 알파와 조합할 수 없어 팔레트 성분을 리터럴로 풂).
3
+ // 색 원천: 리터럴 rgb + 흰/검 알파(팔레트 배타 폐기 — 값 자립).
4
+ // 모눈, 그림자 청색 틴트는 rgb(28, 57, 142)(구 blue-900 등가) 리터럴.
6
5
 
7
6
  // 모눈: 24px 헤어라인 + 120px 메이저 — background-size 없이 성립하는 repeating-linear-gradient 형
8
7
  $grid-strong: rgba(28, 57, 142, 0.055);
@@ -19,97 +18,100 @@ $paper: (
19
18
  // 모눈은 body(캔버스)와 시트 컨테이너에만 — 콘텐츠 내부는 무지(가독 우선)
20
19
  canvas-image: $grid-image,
21
20
  sheet-image: $grid-image,
21
+ // 드롭 자리, 텍스트 선택 — 블루프린트 잉크(blue-900) 틴트
22
+ drop-target: rgba(28, 57, 142, 0.1),
23
+ selection: rgba(28, 57, 142, 0.2),
22
24
  "gray": (
23
- solid: var(--sd-color-zinc-500),
24
- solid-hover: var(--sd-color-zinc-600),
25
+ solid: rgb(113, 113, 123),
26
+ solid-hover: rgb(82, 82, 92),
25
27
  ),
26
28
  blue-gray: (
27
- solid: var(--sd-color-slate-500),
28
- solid-hover: var(--sd-color-slate-600),
29
+ solid: rgb(98, 116, 142),
30
+ solid-hover: rgb(69, 85, 108),
29
31
  ),
30
- // 블루프린트 잉크 — primary 는 깊은 남색(900)
32
+ // 블루프린트 잉크 — primary 는 깊은 남색(blue-900 등가)
31
33
  primary: (
32
- solid: var(--sd-color-blue-900),
33
- solid-hover: var(--sd-color-blue-950),
34
- subtle: var(--sd-color-blue-100),
35
- subtle-hover: var(--sd-color-blue-300),
34
+ solid: rgb(28, 57, 142),
35
+ solid-hover: rgb(22, 36, 86),
36
+ subtle: rgb(219, 234, 254),
37
+ subtle-hover: rgb(142, 197, 255),
36
38
  ),
37
39
  success: (
38
- solid: var(--sd-color-green-500),
39
- solid-hover: var(--sd-color-green-600),
40
- subtle: var(--sd-color-green-50),
41
- subtle-hover: var(--sd-color-green-100),
40
+ solid: rgb(0, 201, 80),
41
+ solid-hover: rgb(0, 166, 62),
42
+ subtle: rgb(240, 253, 244),
43
+ subtle-hover: rgb(220, 252, 231),
42
44
  ),
43
45
  warning: (
44
- solid: var(--sd-color-orange-400),
45
- solid-hover: var(--sd-color-orange-600),
46
- subtle: var(--sd-color-orange-100),
47
- subtle-hover: var(--sd-color-orange-200),
46
+ solid: rgb(255, 137, 4),
47
+ solid-hover: rgb(245, 73, 0),
48
+ subtle: rgb(255, 237, 212),
49
+ subtle-hover: rgb(255, 214, 167),
48
50
  ),
49
51
  danger: (
50
- solid: var(--sd-color-red-400),
51
- solid-hover: var(--sd-color-red-600),
52
- ),
52
+ solid: rgb(255, 100, 103),
53
+ solid-hover: rgb(231, 0, 11),
54
+ )
53
55
  ),
54
56
  tx: (
55
- "gray": var(--sd-color-zinc-500),
56
- gray-hover: var(--sd-color-zinc-600),
57
- gray-subtle: var(--sd-color-zinc-700),
58
- blue-gray: var(--sd-color-slate-500),
59
- blue-gray-hover: var(--sd-color-slate-600),
60
- blue-gray-subtle: var(--sd-color-slate-700),
61
- primary: var(--sd-color-blue-900),
62
- primary-hover: var(--sd-color-blue-950),
63
- primary-subtle: var(--sd-color-blue-950),
64
- success: var(--sd-color-green-500),
65
- success-hover: var(--sd-color-green-600),
66
- success-subtle: var(--sd-color-green-700),
67
- warning: var(--sd-color-orange-400),
68
- warning-hover: var(--sd-color-orange-600),
69
- danger: var(--sd-color-red-400),
70
- danger-hover: var(--sd-color-red-600),
57
+ "gray": rgb(113, 113, 123),
58
+ gray-hover: rgb(82, 82, 92),
59
+ gray-subtle: rgb(63, 63, 70),
60
+ blue-gray: rgb(98, 116, 142),
61
+ blue-gray-hover: rgb(69, 85, 108),
62
+ blue-gray-subtle: rgb(49, 65, 88),
63
+ primary: rgb(28, 57, 142),
64
+ primary-hover: rgb(22, 36, 86),
65
+ primary-subtle: rgb(22, 36, 86),
66
+ success: rgb(0, 201, 80),
67
+ success-hover: rgb(0, 166, 62),
68
+ success-subtle: rgb(0, 130, 54),
69
+ warning: rgb(255, 137, 4),
70
+ warning-hover: rgb(245, 73, 0),
71
+ danger: rgb(255, 100, 103),
72
+ danger-hover: rgb(231, 0, 11),
71
73
  ),
72
74
  bd: (
73
- strong: var(--sd-color-zinc-500),
74
- emphasis: var(--sd-color-zinc-600),
75
+ strong: rgb(113, 113, 123),
76
+ emphasis: rgb(82, 82, 92),
75
77
  "gray": (
76
- solid: var(--sd-color-zinc-500),
77
- solid-hover: var(--sd-color-zinc-600),
78
+ solid: rgb(113, 113, 123),
79
+ solid-hover: rgb(82, 82, 92),
78
80
  ),
79
81
  blue-gray: (
80
- solid: var(--sd-color-slate-500),
81
- solid-hover: var(--sd-color-slate-600),
82
+ solid: rgb(98, 116, 142),
83
+ solid-hover: rgb(69, 85, 108),
82
84
  ),
83
85
  primary: (
84
- solid: var(--sd-color-blue-900),
85
- solid-hover: var(--sd-color-blue-950),
86
- subtle: var(--sd-color-blue-300),
86
+ solid: rgb(28, 57, 142),
87
+ solid-hover: rgb(22, 36, 86),
88
+ subtle: rgb(142, 197, 255),
87
89
  ),
88
90
  success: (
89
- solid: var(--sd-color-green-500),
90
- solid-hover: var(--sd-color-green-600),
91
- subtle: var(--sd-color-green-300),
91
+ solid: rgb(0, 201, 80),
92
+ solid-hover: rgb(0, 166, 62),
93
+ subtle: rgb(123, 241, 168),
92
94
  ),
93
95
  warning: (
94
- solid: var(--sd-color-orange-400),
95
- solid-hover: var(--sd-color-orange-600),
96
- subtle: var(--sd-color-orange-300),
96
+ solid: rgb(255, 137, 4),
97
+ solid-hover: rgb(245, 73, 0),
98
+ subtle: rgb(255, 184, 106),
97
99
  ),
98
100
  danger: (
99
- solid: var(--sd-color-red-400),
100
- solid-hover: var(--sd-color-red-600),
101
+ solid: rgb(255, 100, 103),
102
+ solid-hover: rgb(231, 0, 11),
101
103
  ),
102
104
  ),
103
105
  focus-ring: (
104
- color: var(--sd-color-blue-900),
106
+ color: rgb(28, 57, 142),
105
107
  ),
106
108
  // 하드 섀도(blur 0) — 도면 인쇄 느낌
107
109
  shadow: (
108
110
  blur-mult: 0,
109
111
  ),
110
112
  card: (
111
- bd: var(--sd-color-zinc-500),
112
- bd-active: var(--sd-color-zinc-500),
113
+ bd: rgb(113, 113, 123),
114
+ bd-active: rgb(113, 113, 123),
113
115
  shadow: (
114
116
  3px 3px 0 rgba(28, 57, 142, 0.1),
115
117
  ),
@@ -119,7 +121,7 @@ $paper: (
119
121
  ),
120
122
  // 모달 헤더 잉크 액센트
121
123
  modal: (
122
- header-bg: var(--sd-color-blue-900),
124
+ header-bg: rgb(28, 57, 142),
123
125
  header-tx: white,
124
126
  header-tx-muted: rgba(255, 255, 255, 0.7),
125
127
  ),
@@ -128,9 +130,9 @@ $paper: (
128
130
  1px 1px 0 rgba(28, 57, 142, 0.1),
129
131
  ),
130
132
  ),
131
- // 권한표 그룹 행 — 원색 solid 를 무채 옅은 행으로
133
+ // 권한표 그룹 행 — 원색 solid 를 무채 옅은 행으로 (zinc-100 등가)
132
134
  permission-group: (
133
- bg: var(--sd-color-zinc-100),
135
+ bg: rgb(244, 244, 245),
134
136
  tx: rgba(0, 0, 0, 0.87),
135
137
  ),
136
138
  // 도면 직각 — 라운드 0
@@ -141,5 +143,5 @@ $paper: (
141
143
  lg: 0,
142
144
  xl: 0,
143
145
  xxl: 0,
144
- ),
146
+ )
145
147
  );