@hwp-editor/react 1.0.0-rc.0

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.
package/dist/index.css ADDED
@@ -0,0 +1,392 @@
1
+ /* src/theme.css */
2
+ .hwped {
3
+ --hwped-bg: #ffffff;
4
+ --hwped-fg: #1a1d21;
5
+ --hwped-muted: #6b7280;
6
+ --hwped-accent: #1f5fbf;
7
+ --hwped-border: #d7dbe0;
8
+ --hwped-error: #b91c1c;
9
+ --hwped-warning: #a16207;
10
+ --hwped-success: #15803d;
11
+ --hwped-radius: 6px;
12
+ --hwped-font:
13
+ "Pretendard",
14
+ "Pretendard Variable",
15
+ "Malgun Gothic",
16
+ "\b9d1\c740 \ace0\b515",
17
+ -apple-system,
18
+ "Segoe UI",
19
+ Roboto,
20
+ "Noto Sans KR",
21
+ sans-serif;
22
+ }
23
+ @media (prefers-color-scheme: dark) {
24
+ .hwped {
25
+ --hwped-bg: #17191d;
26
+ --hwped-fg: #e5e7eb;
27
+ --hwped-muted: #9ca3af;
28
+ --hwped-accent: #5b8def;
29
+ --hwped-border: #33373f;
30
+ --hwped-error: #f87171;
31
+ --hwped-warning: #fbbf24;
32
+ --hwped-success: #4ade80;
33
+ }
34
+ }
35
+
36
+ /* src/editor.css */
37
+ .hwped {
38
+ background: var(--hwped-bg);
39
+ color: var(--hwped-fg);
40
+ font-family: var(--hwped-font);
41
+ font-size: 13px;
42
+ line-height: 1.5;
43
+ }
44
+ .hwped *,
45
+ .hwped *::before,
46
+ .hwped *::after {
47
+ box-sizing: border-box;
48
+ }
49
+ .hwped-root {
50
+ display: flex;
51
+ flex-direction: column;
52
+ height: 100%;
53
+ min-height: 320px;
54
+ border: 1px solid var(--hwped-border);
55
+ border-radius: var(--hwped-radius);
56
+ overflow: hidden;
57
+ }
58
+ .hwped-toolbar {
59
+ display: flex;
60
+ align-items: center;
61
+ gap: 8px;
62
+ padding: 6px 10px;
63
+ border-bottom: 1px solid var(--hwped-border);
64
+ flex: 0 0 auto;
65
+ }
66
+ .hwped-title {
67
+ font-weight: 600;
68
+ overflow: hidden;
69
+ text-overflow: ellipsis;
70
+ white-space: nowrap;
71
+ max-width: 40%;
72
+ }
73
+ .hwped-spacer {
74
+ flex: 1 1 auto;
75
+ }
76
+ .hwped-notice {
77
+ color: var(--hwped-muted);
78
+ border: 1px solid var(--hwped-border);
79
+ border-radius: var(--hwped-radius);
80
+ padding: 1px 8px;
81
+ font-size: 12px;
82
+ min-width: 0;
83
+ overflow: hidden;
84
+ text-overflow: ellipsis;
85
+ white-space: nowrap;
86
+ flex: 0 1 auto;
87
+ }
88
+ .hwped-badge {
89
+ border-radius: var(--hwped-radius);
90
+ padding: 1px 8px;
91
+ font-size: 12px;
92
+ border: 1px solid var(--hwped-border);
93
+ flex: 0 0 auto;
94
+ }
95
+ .hwped-badge-ok {
96
+ color: var(--hwped-success);
97
+ border-color: var(--hwped-success);
98
+ }
99
+ .hwped-badge-err {
100
+ color: var(--hwped-error);
101
+ border-color: var(--hwped-error);
102
+ }
103
+ .hwped-count {
104
+ color: var(--hwped-muted);
105
+ font-size: 12px;
106
+ flex: 0 0 auto;
107
+ }
108
+ .hwped-btn {
109
+ font: inherit;
110
+ color: var(--hwped-fg);
111
+ background: var(--hwped-bg);
112
+ border: 1px solid var(--hwped-border);
113
+ border-radius: var(--hwped-radius);
114
+ padding: 3px 10px;
115
+ cursor: pointer;
116
+ }
117
+ .hwped-btn:hover:not(:disabled) {
118
+ border-color: var(--hwped-accent);
119
+ }
120
+ .hwped-btn:disabled {
121
+ color: var(--hwped-muted);
122
+ cursor: not-allowed;
123
+ opacity: 0.6;
124
+ }
125
+ .hwped-btn-primary {
126
+ background: var(--hwped-accent);
127
+ border-color: var(--hwped-accent);
128
+ color: #ffffff;
129
+ }
130
+ .hwped-btn-danger:hover:not(:disabled) {
131
+ border-color: var(--hwped-error);
132
+ color: var(--hwped-error);
133
+ }
134
+ .hwped-btn-link {
135
+ border: none;
136
+ padding: 0;
137
+ color: var(--hwped-accent);
138
+ text-decoration: underline;
139
+ }
140
+ .hwped-toolbar > .hwped-btn {
141
+ flex: 0 0 auto;
142
+ }
143
+ .hwped-input,
144
+ .hwped-textarea {
145
+ font: inherit;
146
+ color: var(--hwped-fg);
147
+ background: var(--hwped-bg);
148
+ border: 1px solid var(--hwped-border);
149
+ border-radius: var(--hwped-radius);
150
+ padding: 4px 8px;
151
+ width: 100%;
152
+ }
153
+ .hwped-input:focus,
154
+ .hwped-textarea:focus,
155
+ .hwped-btn:focus-visible {
156
+ outline: 2px solid var(--hwped-accent);
157
+ outline-offset: 1px;
158
+ }
159
+ .hwped-input-narrow {
160
+ width: 96px;
161
+ flex: 0 0 auto;
162
+ }
163
+ .hwped-check {
164
+ display: inline-flex;
165
+ align-items: center;
166
+ gap: 4px;
167
+ }
168
+ .hwped-main {
169
+ display: flex;
170
+ flex: 1 1 auto;
171
+ min-height: 0;
172
+ }
173
+ .hwped-canvas {
174
+ flex: 1 1 auto;
175
+ overflow: auto;
176
+ padding: 16px;
177
+ display: flex;
178
+ flex-direction: column;
179
+ align-items: center;
180
+ gap: 16px;
181
+ }
182
+ .hwped-side {
183
+ flex: 0 0 300px;
184
+ border-left: 1px solid var(--hwped-border);
185
+ display: flex;
186
+ flex-direction: column;
187
+ min-height: 0;
188
+ }
189
+ .hwped-tabs {
190
+ display: flex;
191
+ border-bottom: 1px solid var(--hwped-border);
192
+ flex: 0 0 auto;
193
+ }
194
+ .hwped-tab {
195
+ font: inherit;
196
+ flex: 1 1 0;
197
+ padding: 6px 0;
198
+ background: none;
199
+ border: none;
200
+ border-bottom: 2px solid transparent;
201
+ color: var(--hwped-muted);
202
+ cursor: pointer;
203
+ }
204
+ .hwped-tab-active {
205
+ color: var(--hwped-fg);
206
+ border-bottom-color: var(--hwped-accent);
207
+ font-weight: 600;
208
+ }
209
+ .hwped-panel {
210
+ padding: 10px;
211
+ overflow: auto;
212
+ display: flex;
213
+ flex-direction: column;
214
+ gap: 12px;
215
+ }
216
+ .hwped-field {
217
+ display: flex;
218
+ flex-direction: column;
219
+ gap: 4px;
220
+ }
221
+ .hwped-label {
222
+ font-size: 12px;
223
+ color: var(--hwped-muted);
224
+ }
225
+ .hwped-row {
226
+ display: flex;
227
+ align-items: center;
228
+ gap: 6px;
229
+ flex-wrap: wrap;
230
+ }
231
+ .hwped-quote {
232
+ border: 1px solid var(--hwped-border);
233
+ border-radius: var(--hwped-radius);
234
+ padding: 6px 8px;
235
+ max-height: 120px;
236
+ overflow: auto;
237
+ white-space: pre-wrap;
238
+ word-break: break-word;
239
+ }
240
+ .hwped-hint,
241
+ .hwped-empty {
242
+ color: var(--hwped-muted);
243
+ }
244
+ .hwped-empty {
245
+ margin: auto;
246
+ text-align: center;
247
+ }
248
+ .hwped-error {
249
+ color: var(--hwped-error);
250
+ margin: 0;
251
+ padding: 6px 10px;
252
+ border-bottom: 1px solid var(--hwped-border);
253
+ }
254
+ .hwped-error-kind {
255
+ display: inline-block;
256
+ margin-right: 8px;
257
+ padding: 0 6px;
258
+ border: 1px solid currentColor;
259
+ border-radius: var(--hwped-radius);
260
+ font-size: 11px;
261
+ }
262
+ .hwped-error-timeout {
263
+ color: var(--hwped-warning);
264
+ }
265
+ .hwped-page {
266
+ position: relative;
267
+ width: min(100%, 720px);
268
+ border: 1px solid var(--hwped-border);
269
+ border-radius: 2px;
270
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
271
+ background: #ffffff;
272
+ cursor: text;
273
+ }
274
+ .hwped-page:focus-visible {
275
+ outline: 2px solid var(--hwped-accent);
276
+ outline-offset: 2px;
277
+ }
278
+ .hwped-page-svg,
279
+ .hwped-page-img {
280
+ display: block;
281
+ width: 100%;
282
+ height: 100%;
283
+ }
284
+ .hwped-page-svg > svg {
285
+ display: block;
286
+ width: 100%;
287
+ height: auto;
288
+ }
289
+ .hwped-band {
290
+ position: absolute;
291
+ left: 0;
292
+ right: 0;
293
+ pointer-events: none;
294
+ }
295
+ .hwped-band-selected {
296
+ background: color-mix(in srgb, var(--hwped-accent) 22%, transparent);
297
+ outline: 1px solid var(--hwped-accent);
298
+ }
299
+ .hwped-band-pending {
300
+ background: color-mix(in srgb, var(--hwped-accent) 10%, transparent);
301
+ }
302
+ .hwped-grid {
303
+ border-collapse: collapse;
304
+ width: 100%;
305
+ }
306
+ .hwped-grid td {
307
+ border: 1px solid var(--hwped-border);
308
+ padding: 0;
309
+ }
310
+ .hwped-cell {
311
+ font: inherit;
312
+ display: block;
313
+ width: 100%;
314
+ border: none;
315
+ background: none;
316
+ color: var(--hwped-fg);
317
+ padding: 4px 6px;
318
+ text-align: left;
319
+ cursor: pointer;
320
+ min-height: 24px;
321
+ }
322
+ .hwped-cell-selected {
323
+ outline: 2px solid var(--hwped-accent);
324
+ outline-offset: -2px;
325
+ }
326
+ .hwped-cell-anchor {
327
+ background: color-mix(in srgb, var(--hwped-accent) 14%, transparent);
328
+ }
329
+ .hwped-fields {
330
+ list-style: none;
331
+ margin: 0;
332
+ padding: 0;
333
+ display: flex;
334
+ flex-direction: column;
335
+ gap: 10px;
336
+ }
337
+ .hwped-field-item {
338
+ border-bottom: 1px solid var(--hwped-border);
339
+ padding-bottom: 8px;
340
+ display: flex;
341
+ flex-direction: column;
342
+ gap: 4px;
343
+ }
344
+ .hwped-overlay {
345
+ position: fixed;
346
+ inset: 0;
347
+ background: rgba(0, 0, 0, 0.4);
348
+ display: flex;
349
+ align-items: center;
350
+ justify-content: center;
351
+ z-index: 1000;
352
+ }
353
+ .hwped-dialog {
354
+ background: var(--hwped-bg);
355
+ color: var(--hwped-fg);
356
+ border: 1px solid var(--hwped-border);
357
+ border-radius: var(--hwped-radius);
358
+ width: min(560px, calc(100vw - 32px));
359
+ max-height: calc(100vh - 64px);
360
+ overflow: auto;
361
+ padding: 16px;
362
+ display: flex;
363
+ flex-direction: column;
364
+ gap: 12px;
365
+ }
366
+ .hwped-dialog-title {
367
+ margin: 0;
368
+ font-size: 15px;
369
+ }
370
+ .hwped-presets {
371
+ display: flex;
372
+ flex-wrap: wrap;
373
+ gap: 6px;
374
+ }
375
+ .hwped-preset {
376
+ font: inherit;
377
+ border: 1px solid var(--hwped-border);
378
+ border-radius: var(--hwped-radius);
379
+ background: var(--hwped-bg);
380
+ color: var(--hwped-fg);
381
+ padding: 4px 10px;
382
+ cursor: pointer;
383
+ }
384
+ .hwped-preset-active {
385
+ border-color: var(--hwped-accent);
386
+ color: var(--hwped-accent);
387
+ font-weight: 600;
388
+ }
389
+ .hwped-dialog-actions {
390
+ justify-content: flex-end;
391
+ }
392
+ /*# sourceMappingURL=index.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/theme.css","../src/editor.css"],"sourcesContent":["/**\n * Theme contract for @hwp-editor/react. Hosts theme the editor ONLY by\n * overriding these variables on the editor root or any ancestor:\n *\n * --hwped-bg surface background\n * --hwped-fg primary text\n * --hwped-muted secondary text / disabled\n * --hwped-accent primary actions, selection\n * --hwped-border hairline borders\n * --hwped-error destructive / error text and badges\n * --hwped-warning transient warning (timeout badge only)\n * --hwped-success success badge\n * --hwped-radius corner radius\n * --hwped-font font stack (default: Pretendard -> system)\n *\n * Defaults below include a prefers-color-scheme dark fallback.\n */\n\n.hwped {\n --hwped-bg: #ffffff;\n --hwped-fg: #1a1d21;\n --hwped-muted: #6b7280;\n --hwped-accent: #1f5fbf;\n --hwped-border: #d7dbe0;\n --hwped-error: #b91c1c;\n --hwped-warning: #a16207;\n --hwped-success: #15803d;\n --hwped-radius: 6px;\n --hwped-font:\n \"Pretendard\", \"Pretendard Variable\", \"Malgun Gothic\", \"맑은 고딕\",\n -apple-system, \"Segoe UI\", Roboto, \"Noto Sans KR\", sans-serif;\n}\n\n@media (prefers-color-scheme: dark) {\n .hwped {\n --hwped-bg: #17191d;\n --hwped-fg: #e5e7eb;\n --hwped-muted: #9ca3af;\n --hwped-accent: #5b8def;\n --hwped-border: #33373f;\n /* Lifted for >= 4.5:1 against --hwped-bg at 11-13px. */\n --hwped-error: #f87171;\n --hwped-warning: #fbbf24;\n --hwped-success: #4ade80;\n }\n}\n","/**\n * Scoped stylesheet for @hwp-editor/react. Every class carries the `hwped`\n * prefix; the root element gets `.hwped.hwped-root`. No global selectors,\n * no component-kit assumptions.\n */\n\n.hwped {\n background: var(--hwped-bg);\n color: var(--hwped-fg);\n font-family: var(--hwped-font);\n font-size: 13px;\n line-height: 1.5;\n}\n\n.hwped *,\n.hwped *::before,\n.hwped *::after {\n box-sizing: border-box;\n}\n\n.hwped-root {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 320px;\n border: 1px solid var(--hwped-border);\n border-radius: var(--hwped-radius);\n overflow: hidden;\n}\n\n/* ---- toolbar ---- */\n\n.hwped-toolbar {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 6px 10px;\n border-bottom: 1px solid var(--hwped-border);\n flex: 0 0 auto;\n}\n\n.hwped-title {\n font-weight: 600;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 40%;\n}\n\n.hwped-spacer {\n flex: 1 1 auto;\n}\n\n/* The title and this notice are the only toolbar items that may shrink: a\n long engine reason truncates here (the full text stays reachable via the\n element's title attribute) instead of being distributed across the badge,\n count and buttons, which would collapse them to min-content and stack the\n row. That is why every sibling below carries `flex: 0 0 auto` (G-03-1). */\n.hwped-notice {\n color: var(--hwped-muted);\n border: 1px solid var(--hwped-border);\n border-radius: var(--hwped-radius);\n padding: 1px 8px;\n font-size: 12px;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 0 1 auto;\n}\n\n.hwped-badge {\n border-radius: var(--hwped-radius);\n padding: 1px 8px;\n font-size: 12px;\n border: 1px solid var(--hwped-border);\n flex: 0 0 auto;\n}\n\n.hwped-badge-ok {\n color: var(--hwped-success);\n border-color: var(--hwped-success);\n}\n\n.hwped-badge-err {\n color: var(--hwped-error);\n border-color: var(--hwped-error);\n}\n\n.hwped-count {\n color: var(--hwped-muted);\n font-size: 12px;\n flex: 0 0 auto;\n}\n\n/* ---- buttons / inputs ---- */\n\n.hwped-btn {\n font: inherit;\n color: var(--hwped-fg);\n background: var(--hwped-bg);\n border: 1px solid var(--hwped-border);\n border-radius: var(--hwped-radius);\n padding: 3px 10px;\n cursor: pointer;\n}\n\n.hwped-btn:hover:not(:disabled) {\n border-color: var(--hwped-accent);\n}\n\n.hwped-btn:disabled {\n color: var(--hwped-muted);\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n.hwped-btn-primary {\n background: var(--hwped-accent);\n border-color: var(--hwped-accent);\n color: #ffffff;\n}\n\n.hwped-btn-danger:hover:not(:disabled) {\n border-color: var(--hwped-error);\n color: var(--hwped-error);\n}\n\n.hwped-btn-link {\n border: none;\n padding: 0;\n color: var(--hwped-accent);\n text-decoration: underline;\n}\n\n/* Scoped to direct toolbar children on purpose: `.hwped-btn` is reused by\n SegmentInspector, TableGrid, FieldsPanel, the compose dialog actions and\n the empty-state button, where non-shrinkable buttons would trade this bug\n for horizontal overflow in those narrow rows. */\n.hwped-toolbar > .hwped-btn {\n flex: 0 0 auto;\n}\n\n.hwped-input,\n.hwped-textarea {\n font: inherit;\n color: var(--hwped-fg);\n background: var(--hwped-bg);\n border: 1px solid var(--hwped-border);\n border-radius: var(--hwped-radius);\n padding: 4px 8px;\n width: 100%;\n}\n\n.hwped-input:focus,\n.hwped-textarea:focus,\n.hwped-btn:focus-visible {\n outline: 2px solid var(--hwped-accent);\n outline-offset: 1px;\n}\n\n.hwped-input-narrow {\n width: 96px;\n flex: 0 0 auto;\n}\n\n.hwped-check {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n\n/* ---- layout ---- */\n\n.hwped-main {\n display: flex;\n flex: 1 1 auto;\n min-height: 0;\n}\n\n.hwped-canvas {\n flex: 1 1 auto;\n overflow: auto;\n padding: 16px;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n}\n\n.hwped-side {\n flex: 0 0 300px;\n border-left: 1px solid var(--hwped-border);\n display: flex;\n flex-direction: column;\n min-height: 0;\n}\n\n.hwped-tabs {\n display: flex;\n border-bottom: 1px solid var(--hwped-border);\n flex: 0 0 auto;\n}\n\n.hwped-tab {\n font: inherit;\n flex: 1 1 0;\n padding: 6px 0;\n background: none;\n border: none;\n border-bottom: 2px solid transparent;\n color: var(--hwped-muted);\n cursor: pointer;\n}\n\n.hwped-tab-active {\n color: var(--hwped-fg);\n border-bottom-color: var(--hwped-accent);\n font-weight: 600;\n}\n\n.hwped-panel {\n padding: 10px;\n overflow: auto;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.hwped-field {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.hwped-label {\n font-size: 12px;\n color: var(--hwped-muted);\n}\n\n.hwped-row {\n display: flex;\n align-items: center;\n gap: 6px;\n flex-wrap: wrap;\n}\n\n.hwped-quote {\n border: 1px solid var(--hwped-border);\n border-radius: var(--hwped-radius);\n padding: 6px 8px;\n max-height: 120px;\n overflow: auto;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n.hwped-hint,\n.hwped-empty {\n color: var(--hwped-muted);\n}\n\n.hwped-empty {\n margin: auto;\n text-align: center;\n}\n\n.hwped-error {\n color: var(--hwped-error);\n margin: 0;\n padding: 6px 10px;\n border-bottom: 1px solid var(--hwped-border);\n}\n\n.hwped-error-kind {\n display: inline-block;\n margin-right: 8px;\n padding: 0 6px;\n border: 1px solid currentColor;\n border-radius: var(--hwped-radius);\n font-size: 11px;\n}\n\n/* timeout is transient (retry may succeed); unavailable/protected are not. */\n.hwped-error-timeout {\n color: var(--hwped-warning);\n}\n\n/* ---- page canvas ---- */\n\n.hwped-page {\n position: relative;\n width: min(100%, 720px);\n border: 1px solid var(--hwped-border);\n border-radius: 2px;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);\n background: #ffffff;\n cursor: text;\n}\n\n.hwped-page:focus-visible {\n outline: 2px solid var(--hwped-accent);\n outline-offset: 2px;\n}\n\n.hwped-page-svg,\n.hwped-page-img {\n display: block;\n width: 100%;\n height: 100%;\n}\n\n.hwped-page-svg > svg {\n display: block;\n width: 100%;\n height: auto;\n}\n\n.hwped-band {\n position: absolute;\n left: 0;\n right: 0;\n pointer-events: none;\n}\n\n.hwped-band-selected {\n background: color-mix(in srgb, var(--hwped-accent) 22%, transparent);\n outline: 1px solid var(--hwped-accent);\n}\n\n.hwped-band-pending {\n background: color-mix(in srgb, var(--hwped-accent) 10%, transparent);\n}\n\n/* ---- table grid ---- */\n\n.hwped-grid {\n border-collapse: collapse;\n width: 100%;\n}\n\n.hwped-grid td {\n border: 1px solid var(--hwped-border);\n padding: 0;\n}\n\n.hwped-cell {\n font: inherit;\n display: block;\n width: 100%;\n border: none;\n background: none;\n color: var(--hwped-fg);\n padding: 4px 6px;\n text-align: left;\n cursor: pointer;\n min-height: 24px;\n}\n\n.hwped-cell-selected {\n outline: 2px solid var(--hwped-accent);\n outline-offset: -2px;\n}\n\n.hwped-cell-anchor {\n background: color-mix(in srgb, var(--hwped-accent) 14%, transparent);\n}\n\n/* ---- fields ---- */\n\n.hwped-fields {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.hwped-field-item {\n border-bottom: 1px solid var(--hwped-border);\n padding-bottom: 8px;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n/* ---- compose dialog ---- */\n\n.hwped-overlay {\n position: fixed;\n inset: 0;\n background: rgba(0, 0, 0, 0.4);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n}\n\n.hwped-dialog {\n background: var(--hwped-bg);\n color: var(--hwped-fg);\n border: 1px solid var(--hwped-border);\n border-radius: var(--hwped-radius);\n width: min(560px, calc(100vw - 32px));\n max-height: calc(100vh - 64px);\n overflow: auto;\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.hwped-dialog-title {\n margin: 0;\n font-size: 15px;\n}\n\n.hwped-presets {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n}\n\n.hwped-preset {\n font: inherit;\n border: 1px solid var(--hwped-border);\n border-radius: var(--hwped-radius);\n background: var(--hwped-bg);\n color: var(--hwped-fg);\n padding: 4px 10px;\n cursor: pointer;\n}\n\n.hwped-preset-active {\n border-color: var(--hwped-accent);\n color: var(--hwped-accent);\n font-weight: 600;\n}\n\n.hwped-dialog-actions {\n justify-content: flex-end;\n}\n"],"mappings":";AAkBA,CAAC;AACC,cAAY;AACZ,cAAY;AACZ,iBAAe;AACf,kBAAgB;AAChB,kBAAgB;AAChB,iBAAe;AACf,mBAAiB;AACjB,mBAAiB;AACjB,kBAAgB;AAChB;AAAA,IACE,YAAY;AAAA,IAAE,qBAAqB;AAAA,IAAE,eAAe;AAAA,IAAE,wBAAO;AAAA,IAC7D,aAAa;AAAA,IAAE,UAAU;AAAA,IAAE,MAAM;AAAA,IAAE,cAAc;AAAA,IAAE;AACvD;AAEA,QAAO,sBAAuB;AAC5B,GAhBD;AAiBG,gBAAY;AACZ,gBAAY;AACZ,mBAAe;AACf,oBAAgB;AAChB,oBAAgB;AAEhB,mBAAe;AACf,qBAAiB;AACjB,qBAAiB;AACnB;AACF;;;ACvCA,CAAC;AACC,cAAY,IAAI;AAChB,SAAO,IAAI;AACX,eAAa,IAAI;AACjB,aAAW;AACX,eAAa;AACf;AAEA,CARC,MAQM;AACP,CATC,MASM,CAAC;AACR,CAVC,MAUM,CAAC;AACN,cAAY;AACd;AAEA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,UAAQ;AACR,cAAY;AACZ,UAAQ,IAAI,MAAM,IAAI;AACtB,iBAAe,IAAI;AACnB,YAAU;AACZ;AAIA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,WAAS,IAAI;AACb,iBAAe,IAAI,MAAM,IAAI;AAC7B,QAAM,EAAE,EAAE;AACZ;AAEA,CAAC;AACC,eAAa;AACb,YAAU;AACV,iBAAe;AACf,eAAa;AACb,aAAW;AACb;AAEA,CAAC;AACC,QAAM,EAAE,EAAE;AACZ;AAOA,CAAC;AACC,SAAO,IAAI;AACX,UAAQ,IAAI,MAAM,IAAI;AACtB,iBAAe,IAAI;AACnB,WAAS,IAAI;AACb,aAAW;AACX,aAAW;AACX,YAAU;AACV,iBAAe;AACf,eAAa;AACb,QAAM,EAAE,EAAE;AACZ;AAEA,CAAC;AACC,iBAAe,IAAI;AACnB,WAAS,IAAI;AACb,aAAW;AACX,UAAQ,IAAI,MAAM,IAAI;AACtB,QAAM,EAAE,EAAE;AACZ;AAEA,CAAC;AACC,SAAO,IAAI;AACX,gBAAc,IAAI;AACpB;AAEA,CAAC;AACC,SAAO,IAAI;AACX,gBAAc,IAAI;AACpB;AAEA,CAAC;AACC,SAAO,IAAI;AACX,aAAW;AACX,QAAM,EAAE,EAAE;AACZ;AAIA,CAAC;AACC,QAAM;AACN,SAAO,IAAI;AACX,cAAY,IAAI;AAChB,UAAQ,IAAI,MAAM,IAAI;AACtB,iBAAe,IAAI;AACnB,WAAS,IAAI;AACb,UAAQ;AACV;AAEA,CAVC,SAUS,MAAM,KAAK;AACnB,gBAAc,IAAI;AACpB;AAEA,CAdC,SAcS;AACR,SAAO,IAAI;AACX,UAAQ;AACR,WAAS;AACX;AAEA,CAAC;AACC,cAAY,IAAI;AAChB,gBAAc,IAAI;AAClB,SAAO;AACT;AAEA,CAAC,gBAAgB,MAAM,KAAK;AAC1B,gBAAc,IAAI;AAClB,SAAO,IAAI;AACb;AAEA,CAAC;AACC,UAAQ;AACR,WAAS;AACT,SAAO,IAAI;AACX,mBAAiB;AACnB;AAMA,CA3GC,cA2Gc,EAAE,CA1ChB;AA2CC,QAAM,EAAE,EAAE;AACZ;AAEA,CAAC;AACD,CAAC;AACC,QAAM;AACN,SAAO,IAAI;AACX,cAAY,IAAI;AAChB,UAAQ,IAAI,MAAM,IAAI;AACtB,iBAAe,IAAI;AACnB,WAAS,IAAI;AACb,SAAO;AACT;AAEA,CAXC,WAWW;AACZ,CAXC,cAWc;AACf,CA3DC,SA2DS;AACR,WAAS,IAAI,MAAM,IAAI;AACvB,kBAAgB;AAClB;AAEA,CAAC;AACC,SAAO;AACP,QAAM,EAAE,EAAE;AACZ;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACP;AAIA,CAAC;AACC,WAAS;AACT,QAAM,EAAE,EAAE;AACV,cAAY;AACd;AAEA,CAAC;AACC,QAAM,EAAE,EAAE;AACV,YAAU;AACV,WAAS;AACT,WAAS;AACT,kBAAgB;AAChB,eAAa;AACb,OAAK;AACP;AAEA,CAAC;AACC,QAAM,EAAE,EAAE;AACV,eAAa,IAAI,MAAM,IAAI;AAC3B,WAAS;AACT,kBAAgB;AAChB,cAAY;AACd;AAEA,CAAC;AACC,WAAS;AACT,iBAAe,IAAI,MAAM,IAAI;AAC7B,QAAM,EAAE,EAAE;AACZ;AAEA,CAAC;AACC,QAAM;AACN,QAAM,EAAE,EAAE;AACV,WAAS,IAAI;AACb,cAAY;AACZ,UAAQ;AACR,iBAAe,IAAI,MAAM;AACzB,SAAO,IAAI;AACX,UAAQ;AACV;AAEA,CAAC;AACC,SAAO,IAAI;AACX,uBAAqB,IAAI;AACzB,eAAa;AACf;AAEA,CAAC;AACC,WAAS;AACT,YAAU;AACV,WAAS;AACT,kBAAgB;AAChB,OAAK;AACP;AAEA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK;AACP;AAEA,CAAC;AACC,aAAW;AACX,SAAO,IAAI;AACb;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,aAAW;AACb;AAEA,CAAC;AACC,UAAQ,IAAI,MAAM,IAAI;AACtB,iBAAe,IAAI;AACnB,WAAS,IAAI;AACb,cAAY;AACZ,YAAU;AACV,eAAa;AACb,cAAY;AACd;AAEA,CAAC;AACD,CAAC;AACC,SAAO,IAAI;AACb;AAEA,CAJC;AAKC,UAAQ;AACR,cAAY;AACd;AAEA,CAAC;AACC,SAAO,IAAI;AACX,UAAQ;AACR,WAAS,IAAI;AACb,iBAAe,IAAI,MAAM,IAAI;AAC/B;AAEA,CAAC;AACC,WAAS;AACT,gBAAc;AACd,WAAS,EAAE;AACX,UAAQ,IAAI,MAAM;AAClB,iBAAe,IAAI;AACnB,aAAW;AACb;AAGA,CAAC;AACC,SAAO,IAAI;AACb;AAIA,CAAC;AACC,YAAU;AACV,SAAO,IAAI,IAAI,EAAE;AACjB,UAAQ,IAAI,MAAM,IAAI;AACtB,iBAAe;AACf,cAAY,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACpC,cAAY;AACZ,UAAQ;AACV;AAEA,CAVC,UAUU;AACT,WAAS,IAAI,MAAM,IAAI;AACvB,kBAAgB;AAClB;AAEA,CAAC;AACD,CAAC;AACC,WAAS;AACT,SAAO;AACP,UAAQ;AACV;AAEA,CAPC,eAOe,EAAE;AAChB,WAAS;AACT,SAAO;AACP,UAAQ;AACV;AAEA,CAAC;AACC,YAAU;AACV,QAAM;AACN,SAAO;AACP,kBAAgB;AAClB;AAEA,CAAC;AACC,cAAY,UAAU,GAAG,IAAI,EAAE,IAAI,gBAAgB,GAAG,EAAE;AACxD,WAAS,IAAI,MAAM,IAAI;AACzB;AAEA,CAAC;AACC,cAAY,UAAU,GAAG,IAAI,EAAE,IAAI,gBAAgB,GAAG,EAAE;AAC1D;AAIA,CAAC;AACC,mBAAiB;AACjB,SAAO;AACT;AAEA,CALC,WAKW;AACV,UAAQ,IAAI,MAAM,IAAI;AACtB,WAAS;AACX;AAEA,CAAC;AACC,QAAM;AACN,WAAS;AACT,SAAO;AACP,UAAQ;AACR,cAAY;AACZ,SAAO,IAAI;AACX,WAAS,IAAI;AACb,cAAY;AACZ,UAAQ;AACR,cAAY;AACd;AAEA,CAAC;AACC,WAAS,IAAI,MAAM,IAAI;AACvB,kBAAgB;AAClB;AAEA,CAAC;AACC,cAAY,UAAU,GAAG,IAAI,EAAE,IAAI,gBAAgB,GAAG,EAAE;AAC1D;AAIA,CAAC;AACC,cAAY;AACZ,UAAQ;AACR,WAAS;AACT,WAAS;AACT,kBAAgB;AAChB,OAAK;AACP;AAEA,CAAC;AACC,iBAAe,IAAI,MAAM,IAAI;AAC7B,kBAAgB;AAChB,WAAS;AACT,kBAAgB;AAChB,OAAK;AACP;AAIA,CAAC;AACC,YAAU;AACV,SAAO;AACP,cAAY,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAC1B,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,WAAS;AACX;AAEA,CAAC;AACC,cAAY,IAAI;AAChB,SAAO,IAAI;AACX,UAAQ,IAAI,MAAM,IAAI;AACtB,iBAAe,IAAI;AACnB,SAAO,IAAI,KAAK,EAAE,KAAK,MAAM,EAAE;AAC/B,cAAY,KAAK,MAAM,EAAE;AACzB,YAAU;AACV,WAAS;AACT,WAAS;AACT,kBAAgB;AAChB,OAAK;AACP;AAEA,CAAC;AACC,UAAQ;AACR,aAAW;AACb;AAEA,CAAC;AACC,WAAS;AACT,aAAW;AACX,OAAK;AACP;AAEA,CAAC;AACC,QAAM;AACN,UAAQ,IAAI,MAAM,IAAI;AACtB,iBAAe,IAAI;AACnB,cAAY,IAAI;AAChB,SAAO,IAAI;AACX,WAAS,IAAI;AACb,UAAQ;AACV;AAEA,CAAC;AACC,gBAAc,IAAI;AAClB,SAAO,IAAI;AACX,eAAa;AACf;AAEA,CAAC;AACC,mBAAiB;AACnB;","names":[]}