@hwp-editor/react 1.1.0 → 1.3.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/README.md +5 -3
- package/dist/index.cjs +4270 -496
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +281 -59
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +861 -67
- package/dist/index.d.ts +861 -67
- package/dist/index.js +4241 -463
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.css
CHANGED
|
@@ -35,11 +35,19 @@
|
|
|
35
35
|
|
|
36
36
|
/* src/editor.css */
|
|
37
37
|
.hwped {
|
|
38
|
+
--_hwped-desk: color-mix(in srgb, var(--hwped-fg) 5%, var(--hwped-bg));
|
|
39
|
+
--_hwped-fill: color-mix(in srgb, var(--hwped-fg) 7%, var(--hwped-bg));
|
|
40
|
+
--_hwped-hover: color-mix(in srgb, var(--hwped-accent) 9%, var(--hwped-bg));
|
|
41
|
+
--_hwped-press: color-mix(in srgb, var(--hwped-accent) 16%, var(--hwped-bg));
|
|
42
|
+
--_hwped-hairline: color-mix(in srgb, var(--hwped-border) 75%, transparent);
|
|
43
|
+
--_hwped-ring: 0 0 0 3px color-mix(in srgb, var(--hwped-accent) 35%, transparent);
|
|
44
|
+
--_hwped-quick: 100ms ease-out;
|
|
38
45
|
background: var(--hwped-bg);
|
|
39
46
|
color: var(--hwped-fg);
|
|
40
47
|
font-family: var(--hwped-font);
|
|
41
48
|
font-size: 13px;
|
|
42
49
|
line-height: 1.5;
|
|
50
|
+
-webkit-font-smoothing: antialiased;
|
|
43
51
|
}
|
|
44
52
|
.hwped *,
|
|
45
53
|
.hwped *::before,
|
|
@@ -59,12 +67,17 @@
|
|
|
59
67
|
display: flex;
|
|
60
68
|
align-items: center;
|
|
61
69
|
gap: 8px;
|
|
62
|
-
|
|
63
|
-
|
|
70
|
+
min-height: 44px;
|
|
71
|
+
padding: 6px 12px;
|
|
72
|
+
border-bottom: 1px solid var(--_hwped-hairline);
|
|
73
|
+
background: var(--hwped-bg);
|
|
64
74
|
flex: 0 0 auto;
|
|
75
|
+
position: relative;
|
|
76
|
+
z-index: 1;
|
|
65
77
|
}
|
|
66
78
|
.hwped-title {
|
|
67
79
|
font-weight: 600;
|
|
80
|
+
letter-spacing: -0.01em;
|
|
68
81
|
overflow: hidden;
|
|
69
82
|
text-overflow: ellipsis;
|
|
70
83
|
white-space: nowrap;
|
|
@@ -75,10 +88,11 @@
|
|
|
75
88
|
}
|
|
76
89
|
.hwped-notice {
|
|
77
90
|
color: var(--hwped-muted);
|
|
78
|
-
|
|
79
|
-
border-radius:
|
|
80
|
-
padding:
|
|
91
|
+
background: var(--_hwped-fill);
|
|
92
|
+
border-radius: 999px;
|
|
93
|
+
padding: 2px 10px;
|
|
81
94
|
font-size: 12px;
|
|
95
|
+
letter-spacing: 0.01em;
|
|
82
96
|
min-width: 0;
|
|
83
97
|
overflow: hidden;
|
|
84
98
|
text-overflow: ellipsis;
|
|
@@ -86,56 +100,98 @@
|
|
|
86
100
|
flex: 0 1 auto;
|
|
87
101
|
}
|
|
88
102
|
.hwped-badge {
|
|
89
|
-
border-radius:
|
|
90
|
-
padding:
|
|
103
|
+
border-radius: 999px;
|
|
104
|
+
padding: 2px 10px;
|
|
91
105
|
font-size: 12px;
|
|
92
|
-
|
|
106
|
+
font-weight: 600;
|
|
107
|
+
letter-spacing: 0.01em;
|
|
108
|
+
border: 1px solid transparent;
|
|
109
|
+
background: var(--_hwped-fill);
|
|
93
110
|
flex: 0 0 auto;
|
|
94
111
|
}
|
|
95
112
|
.hwped-badge-ok {
|
|
96
113
|
color: var(--hwped-success);
|
|
97
|
-
|
|
114
|
+
background: color-mix(in srgb, var(--hwped-success) 14%, transparent);
|
|
98
115
|
}
|
|
99
116
|
.hwped-badge-err {
|
|
100
117
|
color: var(--hwped-error);
|
|
101
|
-
|
|
118
|
+
background: color-mix(in srgb, var(--hwped-error) 14%, transparent);
|
|
102
119
|
}
|
|
103
120
|
.hwped-count {
|
|
104
121
|
color: var(--hwped-muted);
|
|
105
122
|
font-size: 12px;
|
|
123
|
+
letter-spacing: 0.01em;
|
|
124
|
+
font-variant-numeric: tabular-nums;
|
|
106
125
|
flex: 0 0 auto;
|
|
107
126
|
}
|
|
108
127
|
.hwped-btn {
|
|
109
128
|
font: inherit;
|
|
129
|
+
font-weight: 500;
|
|
110
130
|
color: var(--hwped-fg);
|
|
111
131
|
background: var(--hwped-bg);
|
|
112
132
|
border: 1px solid var(--hwped-border);
|
|
113
133
|
border-radius: var(--hwped-radius);
|
|
114
|
-
|
|
134
|
+
min-height: 28px;
|
|
135
|
+
padding: 3px 12px;
|
|
115
136
|
cursor: pointer;
|
|
137
|
+
transition:
|
|
138
|
+
background-color var(--_hwped-quick),
|
|
139
|
+
border-color var(--_hwped-quick),
|
|
140
|
+
transform var(--_hwped-quick);
|
|
116
141
|
}
|
|
117
142
|
.hwped-btn:hover:not(:disabled) {
|
|
118
|
-
|
|
143
|
+
background: var(--_hwped-hover);
|
|
144
|
+
border-color: color-mix(in srgb, var(--hwped-accent) 55%, var(--hwped-border));
|
|
145
|
+
}
|
|
146
|
+
.hwped-btn:active:not(:disabled) {
|
|
147
|
+
background: var(--_hwped-press);
|
|
148
|
+
transform: scale(0.97);
|
|
119
149
|
}
|
|
120
150
|
.hwped-btn:disabled {
|
|
121
151
|
color: var(--hwped-muted);
|
|
152
|
+
background: transparent;
|
|
153
|
+
border-color: var(--_hwped-hairline);
|
|
122
154
|
cursor: not-allowed;
|
|
123
|
-
opacity: 0.
|
|
155
|
+
opacity: 0.55;
|
|
124
156
|
}
|
|
125
157
|
.hwped-btn-primary {
|
|
126
158
|
background: var(--hwped-accent);
|
|
127
159
|
border-color: var(--hwped-accent);
|
|
128
160
|
color: #ffffff;
|
|
161
|
+
font-weight: 600;
|
|
162
|
+
}
|
|
163
|
+
.hwped-btn-primary:hover:not(:disabled) {
|
|
164
|
+
background: color-mix(in srgb, var(--hwped-accent) 88%, #000000);
|
|
165
|
+
border-color: color-mix(in srgb, var(--hwped-accent) 88%, #000000);
|
|
166
|
+
}
|
|
167
|
+
.hwped-btn-primary:active:not(:disabled) {
|
|
168
|
+
background: color-mix(in srgb, var(--hwped-accent) 78%, #000000);
|
|
169
|
+
}
|
|
170
|
+
.hwped-btn-primary:disabled {
|
|
171
|
+
color: var(--hwped-muted);
|
|
172
|
+
background: color-mix(in srgb, var(--hwped-accent) 14%, var(--hwped-bg));
|
|
173
|
+
border-color: transparent;
|
|
174
|
+
opacity: 1;
|
|
175
|
+
}
|
|
176
|
+
.hwped-btn-danger {
|
|
177
|
+
color: var(--hwped-error);
|
|
129
178
|
}
|
|
130
179
|
.hwped-btn-danger:hover:not(:disabled) {
|
|
131
180
|
border-color: var(--hwped-error);
|
|
132
181
|
color: var(--hwped-error);
|
|
182
|
+
background: color-mix(in srgb, var(--hwped-error) 9%, var(--hwped-bg));
|
|
133
183
|
}
|
|
134
184
|
.hwped-btn-link {
|
|
135
185
|
border: none;
|
|
186
|
+
background: none;
|
|
187
|
+
min-height: 0;
|
|
136
188
|
padding: 0;
|
|
137
189
|
color: var(--hwped-accent);
|
|
138
190
|
text-decoration: underline;
|
|
191
|
+
text-underline-offset: 2px;
|
|
192
|
+
}
|
|
193
|
+
.hwped-btn-link:hover:not(:disabled) {
|
|
194
|
+
background: none;
|
|
139
195
|
}
|
|
140
196
|
.hwped-toolbar > .hwped-btn {
|
|
141
197
|
flex: 0 0 auto;
|
|
@@ -147,14 +203,32 @@
|
|
|
147
203
|
background: var(--hwped-bg);
|
|
148
204
|
border: 1px solid var(--hwped-border);
|
|
149
205
|
border-radius: var(--hwped-radius);
|
|
150
|
-
|
|
206
|
+
min-height: 28px;
|
|
207
|
+
padding: 4px 9px;
|
|
151
208
|
width: 100%;
|
|
209
|
+
transition: border-color var(--_hwped-quick), box-shadow var(--_hwped-quick);
|
|
210
|
+
}
|
|
211
|
+
.hwped-input::placeholder,
|
|
212
|
+
.hwped-textarea::placeholder {
|
|
213
|
+
color: var(--hwped-muted);
|
|
214
|
+
opacity: 0.8;
|
|
215
|
+
}
|
|
216
|
+
.hwped-input:hover:not(:disabled),
|
|
217
|
+
.hwped-textarea:hover:not(:disabled) {
|
|
218
|
+
border-color: color-mix(in srgb, var(--hwped-fg) 30%, var(--hwped-border));
|
|
152
219
|
}
|
|
153
220
|
.hwped-input:focus,
|
|
154
|
-
.hwped-textarea:focus
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
221
|
+
.hwped-textarea:focus {
|
|
222
|
+
outline: none;
|
|
223
|
+
border-color: var(--hwped-accent);
|
|
224
|
+
box-shadow: var(--_hwped-ring);
|
|
225
|
+
}
|
|
226
|
+
.hwped-btn:focus-visible,
|
|
227
|
+
.hwped-tab:focus-visible,
|
|
228
|
+
.hwped-preset:focus-visible,
|
|
229
|
+
.hwped-cell:focus-visible {
|
|
230
|
+
outline: none;
|
|
231
|
+
box-shadow: var(--_hwped-ring);
|
|
158
232
|
}
|
|
159
233
|
.hwped-input-narrow {
|
|
160
234
|
width: 96px;
|
|
@@ -163,7 +237,18 @@
|
|
|
163
237
|
.hwped-check {
|
|
164
238
|
display: inline-flex;
|
|
165
239
|
align-items: center;
|
|
166
|
-
gap:
|
|
240
|
+
gap: 6px;
|
|
241
|
+
cursor: pointer;
|
|
242
|
+
}
|
|
243
|
+
.hwped-check input {
|
|
244
|
+
accent-color: var(--hwped-accent);
|
|
245
|
+
}
|
|
246
|
+
.hwped-pending-list {
|
|
247
|
+
flex: 0 1 auto;
|
|
248
|
+
min-height: 0;
|
|
249
|
+
max-height: 120px;
|
|
250
|
+
overflow: auto;
|
|
251
|
+
overflow-wrap: anywhere;
|
|
167
252
|
}
|
|
168
253
|
.hwped-main {
|
|
169
254
|
display: flex;
|
|
@@ -173,54 +258,78 @@
|
|
|
173
258
|
.hwped-canvas {
|
|
174
259
|
flex: 1 1 auto;
|
|
175
260
|
overflow: auto;
|
|
176
|
-
padding:
|
|
261
|
+
padding: 24px;
|
|
177
262
|
display: flex;
|
|
178
263
|
flex-direction: column;
|
|
179
264
|
align-items: center;
|
|
180
|
-
gap:
|
|
265
|
+
gap: 24px;
|
|
266
|
+
background: var(--_hwped-desk);
|
|
181
267
|
}
|
|
182
268
|
.hwped-side {
|
|
183
269
|
flex: 0 0 300px;
|
|
184
|
-
border-left: 1px solid var(--
|
|
270
|
+
border-left: 1px solid var(--_hwped-hairline);
|
|
271
|
+
background: var(--hwped-bg);
|
|
185
272
|
display: flex;
|
|
186
273
|
flex-direction: column;
|
|
187
274
|
min-height: 0;
|
|
188
275
|
}
|
|
189
276
|
.hwped-tabs {
|
|
190
277
|
display: flex;
|
|
191
|
-
|
|
278
|
+
flex-wrap: wrap;
|
|
279
|
+
gap: 2px;
|
|
280
|
+
margin: 10px 12px 2px;
|
|
281
|
+
padding: 3px;
|
|
282
|
+
background: var(--_hwped-fill);
|
|
283
|
+
border-radius: calc(var(--hwped-radius) + 2px);
|
|
192
284
|
flex: 0 0 auto;
|
|
193
285
|
}
|
|
194
286
|
.hwped-tab {
|
|
195
287
|
font: inherit;
|
|
196
|
-
|
|
197
|
-
|
|
288
|
+
font-weight: 500;
|
|
289
|
+
flex: 1 1 78px;
|
|
290
|
+
min-width: 0;
|
|
291
|
+
min-height: 26px;
|
|
292
|
+
padding: 3px 0;
|
|
198
293
|
background: none;
|
|
199
294
|
border: none;
|
|
200
|
-
border-
|
|
295
|
+
border-radius: var(--hwped-radius);
|
|
201
296
|
color: var(--hwped-muted);
|
|
202
297
|
cursor: pointer;
|
|
298
|
+
transition:
|
|
299
|
+
background-color var(--_hwped-quick),
|
|
300
|
+
color var(--_hwped-quick),
|
|
301
|
+
transform var(--_hwped-quick);
|
|
302
|
+
}
|
|
303
|
+
.hwped-tab:hover:not(.hwped-tab-active) {
|
|
304
|
+
color: var(--hwped-fg);
|
|
305
|
+
}
|
|
306
|
+
.hwped-tab:active {
|
|
307
|
+
transform: scale(0.97);
|
|
203
308
|
}
|
|
204
309
|
.hwped-tab-active {
|
|
205
310
|
color: var(--hwped-fg);
|
|
206
|
-
|
|
311
|
+
background: var(--hwped-bg);
|
|
207
312
|
font-weight: 600;
|
|
313
|
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 0 0 0.5px rgba(0, 0, 0, 0.06);
|
|
208
314
|
}
|
|
209
315
|
.hwped-panel {
|
|
210
|
-
padding:
|
|
316
|
+
padding: 12px;
|
|
211
317
|
overflow: auto;
|
|
212
318
|
display: flex;
|
|
213
319
|
flex-direction: column;
|
|
214
|
-
gap:
|
|
320
|
+
gap: 16px;
|
|
215
321
|
}
|
|
216
322
|
.hwped-field {
|
|
217
323
|
display: flex;
|
|
218
324
|
flex-direction: column;
|
|
219
|
-
gap:
|
|
325
|
+
gap: 6px;
|
|
220
326
|
}
|
|
221
327
|
.hwped-label {
|
|
222
328
|
font-size: 12px;
|
|
223
|
-
|
|
329
|
+
font-weight: 600;
|
|
330
|
+
letter-spacing: 0.01em;
|
|
331
|
+
line-height: 1.35;
|
|
332
|
+
color: color-mix(in srgb, var(--hwped-fg) 72%, var(--hwped-bg));
|
|
224
333
|
}
|
|
225
334
|
.hwped-row {
|
|
226
335
|
display: flex;
|
|
@@ -228,10 +337,32 @@
|
|
|
228
337
|
gap: 6px;
|
|
229
338
|
flex-wrap: wrap;
|
|
230
339
|
}
|
|
340
|
+
.hwped-row[role=group] {
|
|
341
|
+
gap: 0;
|
|
342
|
+
flex-wrap: nowrap;
|
|
343
|
+
}
|
|
344
|
+
.hwped-row[role=group] > .hwped-btn {
|
|
345
|
+
flex: 1 1 0;
|
|
346
|
+
padding-inline: 6px;
|
|
347
|
+
border-radius: 0;
|
|
348
|
+
margin-left: -1px;
|
|
349
|
+
}
|
|
350
|
+
.hwped-row[role=group] > .hwped-btn:first-child {
|
|
351
|
+
margin-left: 0;
|
|
352
|
+
border-radius: var(--hwped-radius) 0 0 var(--hwped-radius);
|
|
353
|
+
}
|
|
354
|
+
.hwped-row[role=group] > .hwped-btn:last-child {
|
|
355
|
+
border-radius: 0 var(--hwped-radius) var(--hwped-radius) 0;
|
|
356
|
+
}
|
|
357
|
+
.hwped-row[role=group] > .hwped-btn:hover:not(:disabled),
|
|
358
|
+
.hwped-row[role=group] > .hwped-btn:focus-visible {
|
|
359
|
+
position: relative;
|
|
360
|
+
z-index: 1;
|
|
361
|
+
}
|
|
231
362
|
.hwped-quote {
|
|
232
|
-
|
|
363
|
+
background: var(--_hwped-fill);
|
|
233
364
|
border-radius: var(--hwped-radius);
|
|
234
|
-
padding:
|
|
365
|
+
padding: 8px 10px;
|
|
235
366
|
max-height: 120px;
|
|
236
367
|
overflow: auto;
|
|
237
368
|
white-space: pre-wrap;
|
|
@@ -244,36 +375,47 @@
|
|
|
244
375
|
.hwped-empty {
|
|
245
376
|
margin: auto;
|
|
246
377
|
text-align: center;
|
|
378
|
+
display: flex;
|
|
379
|
+
flex-direction: column;
|
|
380
|
+
align-items: center;
|
|
381
|
+
gap: 12px;
|
|
247
382
|
}
|
|
248
383
|
.hwped-error {
|
|
249
384
|
color: var(--hwped-error);
|
|
250
385
|
margin: 0;
|
|
251
|
-
padding:
|
|
252
|
-
|
|
386
|
+
padding: 8px 12px;
|
|
387
|
+
background: color-mix(in srgb, var(--hwped-error) 9%, var(--hwped-bg));
|
|
388
|
+
border-bottom: 1px solid var(--_hwped-hairline);
|
|
389
|
+
box-shadow: inset 3px 0 0 currentColor;
|
|
253
390
|
}
|
|
254
391
|
.hwped-error-kind {
|
|
255
392
|
display: inline-block;
|
|
256
393
|
margin-right: 8px;
|
|
257
|
-
padding: 0
|
|
258
|
-
border:
|
|
259
|
-
|
|
394
|
+
padding: 0 8px;
|
|
395
|
+
border-radius: 999px;
|
|
396
|
+
background: color-mix(in srgb, currentColor 14%, transparent);
|
|
260
397
|
font-size: 11px;
|
|
398
|
+
font-weight: 600;
|
|
399
|
+
letter-spacing: 0.02em;
|
|
261
400
|
}
|
|
262
401
|
.hwped-error-timeout {
|
|
263
402
|
color: var(--hwped-warning);
|
|
403
|
+
background: color-mix(in srgb, var(--hwped-warning) 10%, var(--hwped-bg));
|
|
264
404
|
}
|
|
265
405
|
.hwped-page {
|
|
266
406
|
position: relative;
|
|
267
407
|
width: min(100%, 720px);
|
|
268
|
-
border:
|
|
269
|
-
|
|
270
|
-
|
|
408
|
+
border-radius: 3px;
|
|
409
|
+
box-shadow:
|
|
410
|
+
0 0 0 1px color-mix(in srgb, var(--hwped-fg) 8%, transparent),
|
|
411
|
+
0 1px 2px rgba(0, 0, 0, 0.08),
|
|
412
|
+
0 8px 24px rgba(0, 0, 0, 0.12);
|
|
271
413
|
background: #ffffff;
|
|
272
414
|
cursor: text;
|
|
273
415
|
}
|
|
274
416
|
.hwped-page:focus-visible {
|
|
275
417
|
outline: 2px solid var(--hwped-accent);
|
|
276
|
-
outline-offset:
|
|
418
|
+
outline-offset: 3px;
|
|
277
419
|
}
|
|
278
420
|
.hwped-page-svg,
|
|
279
421
|
.hwped-page-img {
|
|
@@ -291,13 +433,15 @@
|
|
|
291
433
|
left: 0;
|
|
292
434
|
right: 0;
|
|
293
435
|
pointer-events: none;
|
|
436
|
+
transition: background-color var(--_hwped-quick);
|
|
294
437
|
}
|
|
295
438
|
.hwped-band-selected {
|
|
296
|
-
background: color-mix(in srgb, var(--hwped-accent)
|
|
297
|
-
|
|
439
|
+
background: color-mix(in srgb, var(--hwped-accent) 9%, transparent);
|
|
440
|
+
box-shadow: inset 3px 0 0 var(--hwped-accent), inset 0 0 0 1px color-mix(in srgb, var(--hwped-accent) 45%, transparent);
|
|
298
441
|
}
|
|
299
442
|
.hwped-band-pending {
|
|
300
|
-
background: color-mix(in srgb, var(--hwped-accent)
|
|
443
|
+
background: color-mix(in srgb, var(--hwped-accent) 6%, transparent);
|
|
444
|
+
box-shadow: inset 3px 0 0 color-mix(in srgb, var(--hwped-accent) 45%, transparent);
|
|
301
445
|
}
|
|
302
446
|
.hwped-grid {
|
|
303
447
|
border-collapse: collapse;
|
|
@@ -314,10 +458,17 @@
|
|
|
314
458
|
border: none;
|
|
315
459
|
background: none;
|
|
316
460
|
color: var(--hwped-fg);
|
|
317
|
-
padding:
|
|
461
|
+
padding: 5px 8px;
|
|
318
462
|
text-align: left;
|
|
319
463
|
cursor: pointer;
|
|
320
|
-
min-height:
|
|
464
|
+
min-height: 28px;
|
|
465
|
+
transition: background-color var(--_hwped-quick);
|
|
466
|
+
}
|
|
467
|
+
.hwped-cell:hover {
|
|
468
|
+
background: var(--_hwped-hover);
|
|
469
|
+
}
|
|
470
|
+
.hwped-cell:active {
|
|
471
|
+
background: var(--_hwped-press);
|
|
321
472
|
}
|
|
322
473
|
.hwped-cell-selected {
|
|
323
474
|
outline: 2px solid var(--hwped-accent);
|
|
@@ -332,40 +483,48 @@
|
|
|
332
483
|
padding: 0;
|
|
333
484
|
display: flex;
|
|
334
485
|
flex-direction: column;
|
|
335
|
-
gap:
|
|
486
|
+
gap: 12px;
|
|
336
487
|
}
|
|
337
488
|
.hwped-field-item {
|
|
338
|
-
border-bottom: 1px solid var(--
|
|
339
|
-
padding-bottom:
|
|
489
|
+
border-bottom: 1px solid var(--_hwped-hairline);
|
|
490
|
+
padding-bottom: 10px;
|
|
340
491
|
display: flex;
|
|
341
492
|
flex-direction: column;
|
|
342
|
-
gap:
|
|
493
|
+
gap: 6px;
|
|
343
494
|
}
|
|
344
495
|
.hwped-overlay {
|
|
345
496
|
position: fixed;
|
|
346
497
|
inset: 0;
|
|
347
|
-
background: rgba(0, 0, 0, 0.
|
|
498
|
+
background: rgba(0, 0, 0, 0.32);
|
|
499
|
+
backdrop-filter: blur(6px) saturate(120%);
|
|
500
|
+
-webkit-backdrop-filter: blur(6px) saturate(120%);
|
|
348
501
|
display: flex;
|
|
349
502
|
align-items: center;
|
|
350
503
|
justify-content: center;
|
|
351
504
|
z-index: 1000;
|
|
505
|
+
animation: hwped-fade-in 160ms ease-out;
|
|
352
506
|
}
|
|
353
507
|
.hwped-dialog {
|
|
354
508
|
background: var(--hwped-bg);
|
|
355
509
|
color: var(--hwped-fg);
|
|
356
|
-
border: 1px solid var(--
|
|
357
|
-
border-radius: var(--hwped-radius);
|
|
510
|
+
border: 1px solid var(--_hwped-hairline);
|
|
511
|
+
border-radius: calc(var(--hwped-radius) * 2);
|
|
512
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12), 0 24px 64px rgba(0, 0, 0, 0.28);
|
|
358
513
|
width: min(560px, calc(100vw - 32px));
|
|
359
514
|
max-height: calc(100vh - 64px);
|
|
360
515
|
overflow: auto;
|
|
361
|
-
padding:
|
|
516
|
+
padding: 20px;
|
|
362
517
|
display: flex;
|
|
363
518
|
flex-direction: column;
|
|
364
|
-
gap:
|
|
519
|
+
gap: 14px;
|
|
520
|
+
animation: hwped-materialize 200ms cubic-bezier(0.2, 0.8, 0.2, 1);
|
|
365
521
|
}
|
|
366
522
|
.hwped-dialog-title {
|
|
367
523
|
margin: 0;
|
|
368
|
-
font-size:
|
|
524
|
+
font-size: 17px;
|
|
525
|
+
font-weight: 600;
|
|
526
|
+
line-height: 1.3;
|
|
527
|
+
letter-spacing: -0.015em;
|
|
369
528
|
}
|
|
370
529
|
.hwped-presets {
|
|
371
530
|
display: flex;
|
|
@@ -374,19 +533,82 @@
|
|
|
374
533
|
}
|
|
375
534
|
.hwped-preset {
|
|
376
535
|
font: inherit;
|
|
536
|
+
font-weight: 500;
|
|
377
537
|
border: 1px solid var(--hwped-border);
|
|
378
|
-
border-radius:
|
|
538
|
+
border-radius: 999px;
|
|
379
539
|
background: var(--hwped-bg);
|
|
380
540
|
color: var(--hwped-fg);
|
|
381
|
-
|
|
541
|
+
min-height: 28px;
|
|
542
|
+
padding: 3px 12px;
|
|
382
543
|
cursor: pointer;
|
|
544
|
+
transition:
|
|
545
|
+
background-color var(--_hwped-quick),
|
|
546
|
+
border-color var(--_hwped-quick),
|
|
547
|
+
transform var(--_hwped-quick);
|
|
548
|
+
}
|
|
549
|
+
.hwped-preset:hover:not(.hwped-preset-active) {
|
|
550
|
+
background: var(--_hwped-hover);
|
|
551
|
+
}
|
|
552
|
+
.hwped-preset:active {
|
|
553
|
+
transform: scale(0.97);
|
|
383
554
|
}
|
|
384
555
|
.hwped-preset-active {
|
|
385
556
|
border-color: var(--hwped-accent);
|
|
557
|
+
background: color-mix(in srgb, var(--hwped-accent) 12%, var(--hwped-bg));
|
|
386
558
|
color: var(--hwped-accent);
|
|
387
559
|
font-weight: 600;
|
|
388
560
|
}
|
|
389
561
|
.hwped-dialog-actions {
|
|
390
562
|
justify-content: flex-end;
|
|
563
|
+
padding-top: 4px;
|
|
564
|
+
}
|
|
565
|
+
@keyframes hwped-fade-in {
|
|
566
|
+
from {
|
|
567
|
+
opacity: 0;
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
@keyframes hwped-materialize {
|
|
571
|
+
from {
|
|
572
|
+
opacity: 0;
|
|
573
|
+
transform: scale(0.98);
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
@media (prefers-reduced-motion: reduce) {
|
|
577
|
+
.hwped *,
|
|
578
|
+
.hwped *::before,
|
|
579
|
+
.hwped *::after {
|
|
580
|
+
transition-duration: 0ms !important;
|
|
581
|
+
}
|
|
582
|
+
.hwped-btn:active:not(:disabled),
|
|
583
|
+
.hwped-tab:active,
|
|
584
|
+
.hwped-preset:active {
|
|
585
|
+
transform: none;
|
|
586
|
+
}
|
|
587
|
+
.hwped-overlay,
|
|
588
|
+
.hwped-dialog {
|
|
589
|
+
animation: none;
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
@media (prefers-reduced-transparency: reduce) {
|
|
593
|
+
.hwped-overlay {
|
|
594
|
+
background: rgba(0, 0, 0, 0.55);
|
|
595
|
+
backdrop-filter: none;
|
|
596
|
+
-webkit-backdrop-filter: none;
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
@media (prefers-contrast: more) {
|
|
600
|
+
.hwped {
|
|
601
|
+
--_hwped-hairline: var(--hwped-fg);
|
|
602
|
+
}
|
|
603
|
+
.hwped-btn,
|
|
604
|
+
.hwped-input,
|
|
605
|
+
.hwped-textarea,
|
|
606
|
+
.hwped-preset,
|
|
607
|
+
.hwped-grid td {
|
|
608
|
+
border-color: var(--hwped-fg);
|
|
609
|
+
}
|
|
610
|
+
.hwped-tabs {
|
|
611
|
+
box-shadow: inset 0 0 0 1px var(--hwped-fg);
|
|
612
|
+
}
|
|
391
613
|
}
|
|
392
614
|
/*# sourceMappingURL=index.css.map */
|
package/dist/index.css.map
CHANGED
|
@@ -1 +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":"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","names":[]}
|
|
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 * Design notes (HIG-derived, #34): depth comes from tone and shadow rather\n * than extra lines; every control answers on press, not on release; status\n * is tinted by kind; motion is short, and dropped under reduced motion.\n *\n * Every tone below is DERIVED from the public --hwped-* tokens with\n * color-mix, so a host that maps those tokens (light or dark) gets the whole\n * palette. The --_hwped-* names are private and not part of the contract.\n */\n\n.hwped {\n --_hwped-desk: color-mix(in srgb, var(--hwped-fg) 5%, var(--hwped-bg));\n --_hwped-fill: color-mix(in srgb, var(--hwped-fg) 7%, var(--hwped-bg));\n --_hwped-hover: color-mix(in srgb, var(--hwped-accent) 9%, var(--hwped-bg));\n --_hwped-press: color-mix(in srgb, var(--hwped-accent) 16%, var(--hwped-bg));\n --_hwped-hairline: color-mix(in srgb, var(--hwped-border) 75%, transparent);\n --_hwped-ring: 0 0 0 3px color-mix(in srgb, var(--hwped-accent) 35%, transparent);\n --_hwped-quick: 100ms ease-out;\n\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 -webkit-font-smoothing: antialiased;\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 min-height: 44px;\n padding: 6px 12px;\n border-bottom: 1px solid var(--_hwped-hairline);\n background: var(--hwped-bg);\n flex: 0 0 auto;\n position: relative;\n z-index: 1;\n}\n\n.hwped-title {\n font-weight: 600;\n letter-spacing: -0.01em;\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 background: var(--_hwped-fill);\n border-radius: 999px;\n padding: 2px 10px;\n font-size: 12px;\n letter-spacing: 0.01em;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 0 1 auto;\n}\n\n/* Status reads by kind, not by outline: a tinted pill in the kind's color. */\n.hwped-badge {\n border-radius: 999px;\n padding: 2px 10px;\n font-size: 12px;\n font-weight: 600;\n letter-spacing: 0.01em;\n border: 1px solid transparent;\n background: var(--_hwped-fill);\n flex: 0 0 auto;\n}\n\n.hwped-badge-ok {\n color: var(--hwped-success);\n background: color-mix(in srgb, var(--hwped-success) 14%, transparent);\n}\n\n.hwped-badge-err {\n color: var(--hwped-error);\n background: color-mix(in srgb, var(--hwped-error) 14%, transparent);\n}\n\n.hwped-count {\n color: var(--hwped-muted);\n font-size: 12px;\n letter-spacing: 0.01em;\n font-variant-numeric: tabular-nums;\n flex: 0 0 auto;\n}\n\n/* ---- buttons / inputs ---- */\n\n.hwped-btn {\n font: inherit;\n font-weight: 500;\n color: var(--hwped-fg);\n background: var(--hwped-bg);\n border: 1px solid var(--hwped-border);\n border-radius: var(--hwped-radius);\n min-height: 28px;\n padding: 3px 12px;\n cursor: pointer;\n transition:\n background-color var(--_hwped-quick),\n border-color var(--_hwped-quick),\n transform var(--_hwped-quick);\n}\n\n.hwped-btn:hover:not(:disabled) {\n background: var(--_hwped-hover);\n border-color: color-mix(in srgb, var(--hwped-accent) 55%, var(--hwped-border));\n}\n\n/* Feedback on press, instantly - never only on release. */\n.hwped-btn:active:not(:disabled) {\n background: var(--_hwped-press);\n transform: scale(0.97);\n}\n\n.hwped-btn:disabled {\n color: var(--hwped-muted);\n background: transparent;\n border-color: var(--_hwped-hairline);\n cursor: not-allowed;\n opacity: 0.55;\n}\n\n.hwped-btn-primary {\n background: var(--hwped-accent);\n border-color: var(--hwped-accent);\n color: #ffffff;\n font-weight: 600;\n}\n\n.hwped-btn-primary:hover:not(:disabled) {\n background: color-mix(in srgb, var(--hwped-accent) 88%, #000000);\n border-color: color-mix(in srgb, var(--hwped-accent) 88%, #000000);\n}\n\n.hwped-btn-primary:active:not(:disabled) {\n background: color-mix(in srgb, var(--hwped-accent) 78%, #000000);\n}\n\n/* A disabled primary keeps a trace of its accent, but must not read as live. */\n.hwped-btn-primary:disabled {\n color: var(--hwped-muted);\n background: color-mix(in srgb, var(--hwped-accent) 14%, var(--hwped-bg));\n border-color: transparent;\n opacity: 1;\n}\n\n/* Destructive reads as destructive at rest, not only on hover. */\n.hwped-btn-danger {\n color: var(--hwped-error);\n}\n\n.hwped-btn-danger:hover:not(:disabled) {\n border-color: var(--hwped-error);\n color: var(--hwped-error);\n background: color-mix(in srgb, var(--hwped-error) 9%, var(--hwped-bg));\n}\n\n.hwped-btn-link {\n border: none;\n background: none;\n min-height: 0;\n padding: 0;\n color: var(--hwped-accent);\n text-decoration: underline;\n text-underline-offset: 2px;\n}\n\n.hwped-btn-link:hover:not(:disabled) {\n background: none;\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 min-height: 28px;\n padding: 4px 9px;\n width: 100%;\n transition:\n border-color var(--_hwped-quick),\n box-shadow var(--_hwped-quick);\n}\n\n.hwped-input::placeholder,\n.hwped-textarea::placeholder {\n color: var(--hwped-muted);\n opacity: 0.8;\n}\n\n.hwped-input:hover:not(:disabled),\n.hwped-textarea:hover:not(:disabled) {\n border-color: color-mix(in srgb, var(--hwped-fg) 30%, var(--hwped-border));\n}\n\n/* One focus treatment everywhere: accent edge plus a soft ring. */\n.hwped-input:focus,\n.hwped-textarea:focus {\n outline: none;\n border-color: var(--hwped-accent);\n box-shadow: var(--_hwped-ring);\n}\n\n.hwped-btn:focus-visible,\n.hwped-tab:focus-visible,\n.hwped-preset:focus-visible,\n.hwped-cell:focus-visible {\n outline: none;\n box-shadow: var(--_hwped-ring);\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: 6px;\n cursor: pointer;\n}\n\n.hwped-check input {\n accent-color: var(--hwped-accent);\n}\n\n/* ---- layout ---- */\n\n.hwped-pending-list {\n flex: 0 1 auto;\n min-height: 0;\n max-height: 120px;\n overflow: auto;\n overflow-wrap: anywhere;\n}\n\n.hwped-main {\n display: flex;\n flex: 1 1 auto;\n min-height: 0;\n}\n\n/* The desk: a tone below the chrome, so the page reads as a sheet on it. */\n.hwped-canvas {\n flex: 1 1 auto;\n overflow: auto;\n padding: 24px;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 24px;\n background: var(--_hwped-desk);\n}\n\n.hwped-side {\n flex: 0 0 300px;\n border-left: 1px solid var(--_hwped-hairline);\n background: var(--hwped-bg);\n display: flex;\n flex-direction: column;\n min-height: 0;\n}\n\n/* Tabs as a segmented control: a recessed track, the active segment raised. */\n.hwped-tabs {\n display: flex;\n flex-wrap: wrap;\n gap: 2px;\n margin: 10px 12px 2px;\n padding: 3px;\n background: var(--_hwped-fill);\n border-radius: calc(var(--hwped-radius) + 2px);\n flex: 0 0 auto;\n}\n\n.hwped-tab {\n font: inherit;\n font-weight: 500;\n flex: 1 1 78px;\n min-width: 0;\n min-height: 26px;\n padding: 3px 0;\n background: none;\n border: none;\n border-radius: var(--hwped-radius);\n color: var(--hwped-muted);\n cursor: pointer;\n transition:\n background-color var(--_hwped-quick),\n color var(--_hwped-quick),\n transform var(--_hwped-quick);\n}\n\n.hwped-tab:hover:not(.hwped-tab-active) {\n color: var(--hwped-fg);\n}\n\n.hwped-tab:active {\n transform: scale(0.97);\n}\n\n.hwped-tab-active {\n color: var(--hwped-fg);\n background: var(--hwped-bg);\n font-weight: 600;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 0 0 0.5px rgba(0, 0, 0, 0.06);\n}\n\n.hwped-panel {\n padding: 12px;\n overflow: auto;\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.hwped-field {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.hwped-label {\n font-size: 12px;\n font-weight: 600;\n letter-spacing: 0.01em;\n line-height: 1.35;\n color: color-mix(in srgb, var(--hwped-fg) 72%, var(--hwped-bg));\n}\n\n.hwped-row {\n display: flex;\n align-items: center;\n gap: 6px;\n flex-wrap: wrap;\n}\n\n/* A role=\"group\" row of peer actions (alignment) reads as one joined control. */\n.hwped-row[role=\"group\"] {\n gap: 0;\n flex-wrap: nowrap;\n}\n\n.hwped-row[role=\"group\"] > .hwped-btn {\n flex: 1 1 0;\n padding-inline: 6px;\n border-radius: 0;\n margin-left: -1px;\n}\n\n.hwped-row[role=\"group\"] > .hwped-btn:first-child {\n margin-left: 0;\n border-radius: var(--hwped-radius) 0 0 var(--hwped-radius);\n}\n\n.hwped-row[role=\"group\"] > .hwped-btn:last-child {\n border-radius: 0 var(--hwped-radius) var(--hwped-radius) 0;\n}\n\n.hwped-row[role=\"group\"] > .hwped-btn:hover:not(:disabled),\n.hwped-row[role=\"group\"] > .hwped-btn:focus-visible {\n position: relative;\n z-index: 1;\n}\n\n.hwped-quote {\n background: var(--_hwped-fill);\n border-radius: var(--hwped-radius);\n padding: 8px 10px;\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 display: flex;\n flex-direction: column;\n align-items: center;\n gap: 12px;\n}\n\n/* An error is a band in the kind's tint with a leading bar, not bare red text. */\n.hwped-error {\n color: var(--hwped-error);\n margin: 0;\n padding: 8px 12px;\n background: color-mix(in srgb, var(--hwped-error) 9%, var(--hwped-bg));\n border-bottom: 1px solid var(--_hwped-hairline);\n box-shadow: inset 3px 0 0 currentColor;\n}\n\n.hwped-error-kind {\n display: inline-block;\n margin-right: 8px;\n padding: 0 8px;\n border-radius: 999px;\n background: color-mix(in srgb, currentColor 14%, transparent);\n font-size: 11px;\n font-weight: 600;\n letter-spacing: 0.02em;\n}\n\n/* timeout is transient (retry may succeed); unavailable/protected are not. */\n.hwped-error-timeout {\n color: var(--hwped-warning);\n background: color-mix(in srgb, var(--hwped-warning) 10%, var(--hwped-bg));\n}\n\n/* ---- page canvas ---- */\n\n/* Paper on the desk: layered shadow, the larger layer giving it thickness. */\n.hwped-page {\n position: relative;\n width: min(100%, 720px);\n border-radius: 3px;\n box-shadow:\n 0 0 0 1px color-mix(in srgb, var(--hwped-fg) 8%, transparent),\n 0 1px 2px rgba(0, 0, 0, 0.08),\n 0 8px 24px 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: 3px;\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 transition: background-color var(--_hwped-quick);\n}\n\n/* Mark the selection without covering it: a light wash and an inset rule. */\n.hwped-band-selected {\n background: color-mix(in srgb, var(--hwped-accent) 9%, transparent);\n box-shadow:\n inset 3px 0 0 var(--hwped-accent),\n inset 0 0 0 1px color-mix(in srgb, var(--hwped-accent) 45%, transparent);\n}\n\n.hwped-band-pending {\n background: color-mix(in srgb, var(--hwped-accent) 6%, transparent);\n box-shadow: inset 3px 0 0 color-mix(in srgb, var(--hwped-accent) 45%, 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: 5px 8px;\n text-align: left;\n cursor: pointer;\n min-height: 28px;\n transition: background-color var(--_hwped-quick);\n}\n\n.hwped-cell:hover {\n background: var(--_hwped-hover);\n}\n\n.hwped-cell:active {\n background: var(--_hwped-press);\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: 12px;\n}\n\n.hwped-field-item {\n border-bottom: 1px solid var(--_hwped-hairline);\n padding-bottom: 10px;\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n/* ---- compose dialog ---- */\n\n/* Dim to focus: a modal task gets a scrim that pushes the editor back. */\n.hwped-overlay {\n position: fixed;\n inset: 0;\n background: rgba(0, 0, 0, 0.32);\n backdrop-filter: blur(6px) saturate(120%);\n -webkit-backdrop-filter: blur(6px) saturate(120%);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n animation: hwped-fade-in 160ms ease-out;\n}\n\n.hwped-dialog {\n background: var(--hwped-bg);\n color: var(--hwped-fg);\n border: 1px solid var(--_hwped-hairline);\n border-radius: calc(var(--hwped-radius) * 2);\n box-shadow:\n 0 2px 8px rgba(0, 0, 0, 0.12),\n 0 24px 64px rgba(0, 0, 0, 0.28);\n width: min(560px, calc(100vw - 32px));\n max-height: calc(100vh - 64px);\n overflow: auto;\n padding: 20px;\n display: flex;\n flex-direction: column;\n gap: 14px;\n animation: hwped-materialize 200ms cubic-bezier(0.2, 0.8, 0.2, 1);\n}\n\n.hwped-dialog-title {\n margin: 0;\n font-size: 17px;\n font-weight: 600;\n line-height: 1.3;\n letter-spacing: -0.015em;\n}\n\n.hwped-presets {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n}\n\n.hwped-preset {\n font: inherit;\n font-weight: 500;\n border: 1px solid var(--hwped-border);\n border-radius: 999px;\n background: var(--hwped-bg);\n color: var(--hwped-fg);\n min-height: 28px;\n padding: 3px 12px;\n cursor: pointer;\n transition:\n background-color var(--_hwped-quick),\n border-color var(--_hwped-quick),\n transform var(--_hwped-quick);\n}\n\n.hwped-preset:hover:not(.hwped-preset-active) {\n background: var(--_hwped-hover);\n}\n\n.hwped-preset:active {\n transform: scale(0.97);\n}\n\n.hwped-preset-active {\n border-color: var(--hwped-accent);\n background: color-mix(in srgb, var(--hwped-accent) 12%, var(--hwped-bg));\n color: var(--hwped-accent);\n font-weight: 600;\n}\n\n.hwped-dialog-actions {\n justify-content: flex-end;\n padding-top: 4px;\n}\n\n@keyframes hwped-fade-in {\n from {\n opacity: 0;\n }\n}\n\n/* Materialize, don't just fade: the surface arrives with a slight scale. */\n@keyframes hwped-materialize {\n from {\n opacity: 0;\n transform: scale(0.98);\n }\n}\n\n/* ---- accessibility preferences ---- */\n\n@media (prefers-reduced-motion: reduce) {\n .hwped *,\n .hwped *::before,\n .hwped *::after {\n transition-duration: 0ms !important;\n }\n\n .hwped-btn:active:not(:disabled),\n .hwped-tab:active,\n .hwped-preset:active {\n transform: none;\n }\n\n .hwped-overlay,\n .hwped-dialog {\n animation: none;\n }\n}\n\n@media (prefers-reduced-transparency: reduce) {\n .hwped-overlay {\n background: rgba(0, 0, 0, 0.55);\n backdrop-filter: none;\n -webkit-backdrop-filter: none;\n }\n}\n\n@media (prefers-contrast: more) {\n .hwped {\n --_hwped-hairline: var(--hwped-fg);\n }\n\n .hwped-btn,\n .hwped-input,\n .hwped-textarea,\n .hwped-preset,\n .hwped-grid td {\n border-color: var(--hwped-fg);\n }\n\n .hwped-tabs {\n box-shadow: inset 0 0 0 1px var(--hwped-fg);\n }\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;;;AC/BA,CAAC;AACC,iBAAe,UAAU,GAAG,IAAI,EAAE,IAAI,YAAY,EAAE,EAAE,IAAI;AAC1D,iBAAe,UAAU,GAAG,IAAI,EAAE,IAAI,YAAY,EAAE,EAAE,IAAI;AAC1D,kBAAgB,UAAU,GAAG,IAAI,EAAE,IAAI,gBAAgB,EAAE,EAAE,IAAI;AAC/D,kBAAgB,UAAU,GAAG,IAAI,EAAE,IAAI,gBAAgB,GAAG,EAAE,IAAI;AAChE,qBAAmB,UAAU,GAAG,IAAI,EAAE,IAAI,gBAAgB,GAAG,EAAE;AAC/D,iBAAe,EAAE,EAAE,EAAE,IAAI,UAAU,GAAG,IAAI,EAAE,IAAI,gBAAgB,GAAG,EAAE;AACrE,kBAAgB,MAAM;AAEtB,cAAY,IAAI;AAChB,SAAO,IAAI;AACX,eAAa,IAAI;AACjB,aAAW;AACX,eAAa;AACb,0BAAwB;AAC1B;AAEA,CAjBC,MAiBM;AACP,CAlBC,MAkBM,CAAC;AACR,CAnBC,MAmBM,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,cAAY;AACZ,WAAS,IAAI;AACb,iBAAe,IAAI,MAAM,IAAI;AAC7B,cAAY,IAAI;AAChB,QAAM,EAAE,EAAE;AACV,YAAU;AACV,WAAS;AACX;AAEA,CAAC;AACC,eAAa;AACb,kBAAgB;AAChB,YAAU;AACV,iBAAe;AACf,eAAa;AACb,aAAW;AACb;AAEA,CAAC;AACC,QAAM,EAAE,EAAE;AACZ;AAOA,CAAC;AACC,SAAO,IAAI;AACX,cAAY,IAAI;AAChB,iBAAe;AACf,WAAS,IAAI;AACb,aAAW;AACX,kBAAgB;AAChB,aAAW;AACX,YAAU;AACV,iBAAe;AACf,eAAa;AACb,QAAM,EAAE,EAAE;AACZ;AAGA,CAAC;AACC,iBAAe;AACf,WAAS,IAAI;AACb,aAAW;AACX,eAAa;AACb,kBAAgB;AAChB,UAAQ,IAAI,MAAM;AAClB,cAAY,IAAI;AAChB,QAAM,EAAE,EAAE;AACZ;AAEA,CAAC;AACC,SAAO,IAAI;AACX,cAAY,UAAU,GAAG,IAAI,EAAE,IAAI,iBAAiB,GAAG,EAAE;AAC3D;AAEA,CAAC;AACC,SAAO,IAAI;AACX,cAAY,UAAU,GAAG,IAAI,EAAE,IAAI,eAAe,GAAG,EAAE;AACzD;AAEA,CAAC;AACC,SAAO,IAAI;AACX,aAAW;AACX,kBAAgB;AAChB,wBAAsB;AACtB,QAAM,EAAE,EAAE;AACZ;AAIA,CAAC;AACC,QAAM;AACN,eAAa;AACb,SAAO,IAAI;AACX,cAAY,IAAI;AAChB,UAAQ,IAAI,MAAM,IAAI;AACtB,iBAAe,IAAI;AACnB,cAAY;AACZ,WAAS,IAAI;AACb,UAAQ;AACR;AAAA,IACE,iBAAiB,IAAI,eAAe;AAAA,IACpC,aAAa,IAAI,eAAe;AAAA,IAChC,UAAU,IAAI;AAClB;AAEA,CAhBC,SAgBS,MAAM,KAAK;AACnB,cAAY,IAAI;AAChB,gBAAc,UAAU,GAAG,IAAI,EAAE,IAAI,gBAAgB,GAAG,EAAE,IAAI;AAChE;AAGA,CAtBC,SAsBS,OAAO,KAAK;AACpB,cAAY,IAAI;AAChB,aAAW,MAAM;AACnB;AAEA,CA3BC,SA2BS;AACR,SAAO,IAAI;AACX,cAAY;AACZ,gBAAc,IAAI;AAClB,UAAQ;AACR,WAAS;AACX;AAEA,CAAC;AACC,cAAY,IAAI;AAChB,gBAAc,IAAI;AAClB,SAAO;AACP,eAAa;AACf;AAEA,CAPC,iBAOiB,MAAM,KAAK;AAC3B,cAAY,UAAU,GAAG,IAAI,EAAE,IAAI,gBAAgB,GAAG,EAAE;AACxD,gBAAc,UAAU,GAAG,IAAI,EAAE,IAAI,gBAAgB,GAAG,EAAE;AAC5D;AAEA,CAZC,iBAYiB,OAAO,KAAK;AAC5B,cAAY,UAAU,GAAG,IAAI,EAAE,IAAI,gBAAgB,GAAG,EAAE;AAC1D;AAGA,CAjBC,iBAiBiB;AAChB,SAAO,IAAI;AACX,cAAY,UAAU,GAAG,IAAI,EAAE,IAAI,gBAAgB,GAAG,EAAE,IAAI;AAC5D,gBAAc;AACd,WAAS;AACX;AAGA,CAAC;AACC,SAAO,IAAI;AACb;AAEA,CAJC,gBAIgB,MAAM,KAAK;AAC1B,gBAAc,IAAI;AAClB,SAAO,IAAI;AACX,cAAY,UAAU,GAAG,IAAI,EAAE,IAAI,eAAe,EAAE,EAAE,IAAI;AAC5D;AAEA,CAAC;AACC,UAAQ;AACR,cAAY;AACZ,cAAY;AACZ,WAAS;AACT,SAAO,IAAI;AACX,mBAAiB;AACjB,yBAAuB;AACzB;AAEA,CAVC,cAUc,MAAM,KAAK;AACxB,cAAY;AACd;AAMA,CArKC,cAqKc,EAAE,CAxFhB;AAyFC,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,cAAY;AACZ,WAAS,IAAI;AACb,SAAO;AACP,cACE,aAAa,IAAI,eAAe,EAChC,WAAW,IAAI;AACnB;AAEA,CAfC,WAeW;AACZ,CAfC,cAec;AACb,SAAO,IAAI;AACX,WAAS;AACX;AAEA,CArBC,WAqBW,MAAM,KAAK;AACvB,CArBC,cAqBc,MAAM,KAAK;AACxB,gBAAc,UAAU,GAAG,IAAI,EAAE,IAAI,YAAY,GAAG,EAAE,IAAI;AAC5D;AAGA,CA3BC,WA2BW;AACZ,CA3BC,cA2Bc;AACb,WAAS;AACT,gBAAc,IAAI;AAClB,cAAY,IAAI;AAClB;AAEA,CA9HC,SA8HS;AACV,CAAC,SAAS;AACV,CAAC,YAAY;AACb,CAAC,UAAU;AACT,WAAS;AACT,cAAY,IAAI;AAClB;AAEA,CAAC;AACC,SAAO;AACP,QAAM,EAAE,EAAE;AACZ;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,UAAQ;AACV;AAEA,CAPC,YAOY;AACX,gBAAc,IAAI;AACpB;AAIA,CAAC;AACC,QAAM,EAAE,EAAE;AACV,cAAY;AACZ,cAAY;AACZ,YAAU;AACV,iBAAe;AACjB;AAEA,CAAC;AACC,WAAS;AACT,QAAM,EAAE,EAAE;AACV,cAAY;AACd;AAGA,CAAC;AACC,QAAM,EAAE,EAAE;AACV,YAAU;AACV,WAAS;AACT,WAAS;AACT,kBAAgB;AAChB,eAAa;AACb,OAAK;AACL,cAAY,IAAI;AAClB;AAEA,CAAC;AACC,QAAM,EAAE,EAAE;AACV,eAAa,IAAI,MAAM,IAAI;AAC3B,cAAY,IAAI;AAChB,WAAS;AACT,kBAAgB;AAChB,cAAY;AACd;AAGA,CAAC;AACC,WAAS;AACT,aAAW;AACX,OAAK;AACL,UAAQ,KAAK,KAAK;AAClB,WAAS;AACT,cAAY,IAAI;AAChB,iBAAe,KAAK,IAAI,gBAAgB,EAAE;AAC1C,QAAM,EAAE,EAAE;AACZ;AAEA,CAxEC;AAyEC,QAAM;AACN,eAAa;AACb,QAAM,EAAE,EAAE;AACV,aAAW;AACX,cAAY;AACZ,WAAS,IAAI;AACb,cAAY;AACZ,UAAQ;AACR,iBAAe,IAAI;AACnB,SAAO,IAAI;AACX,UAAQ;AACR;AAAA,IACE,iBAAiB,IAAI,eAAe;AAAA,IACpC,MAAM,IAAI,eAAe;AAAA,IACzB,UAAU,IAAI;AAClB;AAEA,CA1FC,SA0FS,MAAM,KAAK,CAAC;AACpB,SAAO,IAAI;AACb;AAEA,CA9FC,SA8FS;AACR,aAAW,MAAM;AACnB;AAEA,CARsB;AASpB,SAAO,IAAI;AACX,cAAY,IAAI;AAChB,eAAa;AACb,cACE,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAC7B,EAAE,EAAE,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAC9B;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,eAAa;AACb,kBAAgB;AAChB,eAAa;AACb,SAAO,UAAU,GAAG,IAAI,EAAE,IAAI,YAAY,GAAG,EAAE,IAAI;AACrD;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,aAAW;AACb;AAGA,CARC,SAQS,CAAC;AACT,OAAK;AACL,aAAW;AACb;AAEA,CAbC,SAaS,CAAC,YAAc,EAAE,CA7Q1B;AA8QC,QAAM,EAAE,EAAE;AACV,kBAAgB;AAChB,iBAAe;AACf,eAAa;AACf;AAEA,CApBC,SAoBS,CAAC,YAAc,EAAE,CApR1B,SAoRoC;AACnC,eAAa;AACb,iBAAe,IAAI,gBAAgB,EAAE,EAAE,IAAI;AAC7C;AAEA,CAzBC,SAyBS,CAAC,YAAc,EAAE,CAzR1B,SAyRoC;AACnC,iBAAe,EAAE,IAAI,gBAAgB,IAAI,gBAAgB;AAC3D;AAEA,CA7BC,SA6BS,CAAC,YAAc,EAAE,CA7R1B,SA6RoC,MAAM,KAAK;AAChD,CA9BC,SA8BS,CAAC,YAAc,EAAE,CA9R1B,SA8RoC;AACnC,YAAU;AACV,WAAS;AACX;AAEA,CAAC;AACC,cAAY,IAAI;AAChB,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;AACZ,WAAS;AACT,kBAAgB;AAChB,eAAa;AACb,OAAK;AACP;AAGA,CAAC;AACC,SAAO,IAAI;AACX,UAAQ;AACR,WAAS,IAAI;AACb,cAAY,UAAU,GAAG,IAAI,EAAE,IAAI,eAAe,EAAE,EAAE,IAAI;AAC1D,iBAAe,IAAI,MAAM,IAAI;AAC7B,cAAY,MAAM,IAAI,EAAE,EAAE;AAC5B;AAEA,CAAC;AACC,WAAS;AACT,gBAAc;AACd,WAAS,EAAE;AACX,iBAAe;AACf,cAAY,UAAU,GAAG,IAAI,EAAE,aAAa,GAAG,EAAE;AACjD,aAAW;AACX,eAAa;AACb,kBAAgB;AAClB;AAGA,CAAC;AACC,SAAO,IAAI;AACX,cAAY,UAAU,GAAG,IAAI,EAAE,IAAI,iBAAiB,GAAG,EAAE,IAAI;AAC/D;AAKA,CAAC;AACC,YAAU;AACV,SAAO,IAAI,IAAI,EAAE;AACjB,iBAAe;AACf;AAAA,IACE,EAAE,EAAE,EAAE,IAAI,UAAU,GAAG,IAAI,EAAE,IAAI,YAAY,EAAE,EAAE,YAAY;AAAA,IAC7D,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK;AAAA,IAC7B,EAAE,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAC3B,cAAY;AACZ,UAAQ;AACV;AAEA,CAZC,UAYU;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;AAChB,cAAY,iBAAiB,IAAI;AACnC;AAGA,CAAC;AACC,cAAY,UAAU,GAAG,IAAI,EAAE,IAAI,gBAAgB,EAAE,EAAE;AACvD,cACE,MAAM,IAAI,EAAE,EAAE,IAAI,eAAe,EACjC,MAAM,EAAE,EAAE,EAAE,IAAI,UAAU,GAAG,IAAI,EAAE,IAAI,gBAAgB,GAAG,EAAE;AAChE;AAEA,CAAC;AACC,cAAY,UAAU,GAAG,IAAI,EAAE,IAAI,gBAAgB,EAAE,EAAE;AACvD,cAAY,MAAM,IAAI,EAAE,EAAE,UAAU,GAAG,IAAI,EAAE,IAAI,gBAAgB,GAAG,EAAE;AACxE;AAIA,CAAC;AACC,mBAAiB;AACjB,SAAO;AACT;AAEA,CALC,WAKW;AACV,UAAQ,IAAI,MAAM,IAAI;AACtB,WAAS;AACX;AAEA,CAvRC;AAwRC,QAAM;AACN,WAAS;AACT,SAAO;AACP,UAAQ;AACR,cAAY;AACZ,SAAO,IAAI;AACX,WAAS,IAAI;AACb,cAAY;AACZ,UAAQ;AACR,cAAY;AACZ,cAAY,iBAAiB,IAAI;AACnC;AAEA,CArSC,UAqSU;AACT,cAAY,IAAI;AAClB;AAEA,CAzSC,UAySU;AACT,cAAY,IAAI;AAClB;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;AAKA,CAAC;AACC,YAAU;AACV,SAAO;AACP,cAAY,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAC1B,mBAAiB,KAAK,KAAK,SAAS;AACpC,2BAAyB,KAAK,KAAK,SAAS;AAC5C,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,WAAS;AACT,aAAW,cAAc,MAAM;AACjC;AAEA,CAAC;AACC,cAAY,IAAI;AAChB,SAAO,IAAI;AACX,UAAQ,IAAI,MAAM,IAAI;AACtB,iBAAe,KAAK,IAAI,gBAAgB,EAAE;AAC1C,cACE,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAC7B,EAAE,KAAK,KAAK,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAC5B,SAAO,IAAI,KAAK,EAAE,KAAK,MAAM,EAAE;AAC/B,cAAY,KAAK,MAAM,EAAE;AACzB,YAAU;AACV,WAAS;AACT,WAAS;AACT,kBAAgB;AAChB,OAAK;AACL,aAAW,kBAAkB,MAAM,aAAa,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AACjE;AAEA,CAAC;AACC,UAAQ;AACR,aAAW;AACX,eAAa;AACb,eAAa;AACb,kBAAgB;AAClB;AAEA,CAAC;AACC,WAAS;AACT,aAAW;AACX,OAAK;AACP;AAEA,CA1XC;AA2XC,QAAM;AACN,eAAa;AACb,UAAQ,IAAI,MAAM,IAAI;AACtB,iBAAe;AACf,cAAY,IAAI;AAChB,SAAO,IAAI;AACX,cAAY;AACZ,WAAS,IAAI;AACb,UAAQ;AACR;AAAA,IACE,iBAAiB,IAAI,eAAe;AAAA,IACpC,aAAa,IAAI,eAAe;AAAA,IAChC,UAAU,IAAI;AAClB;AAEA,CA1YC,YA0YY,MAAM,KAAK,CAAC;AACvB,cAAY,IAAI;AAClB;AAEA,CA9YC,YA8YY;AACX,aAAW,MAAM;AACnB;AAEA,CARyB;AASvB,gBAAc,IAAI;AAClB,cAAY,UAAU,GAAG,IAAI,EAAE,IAAI,gBAAgB,GAAG,EAAE,IAAI;AAC5D,SAAO,IAAI;AACX,eAAa;AACf;AAEA,CAAC;AACC,mBAAiB;AACjB,eAAa;AACf;AAEA,WAvEa;AAwEX;AACE,aAAS;AACX;AACF;AAGA,WA5Da;AA6DX;AACE,aAAS;AACT,eAAW,MAAM;AACnB;AACF;AAIA,QAAO,wBAAyB;AAC9B,GA/pBD,MA+pBQ;AAAA,EACP,CAhqBD,MAgqBQ,CAAC;AAAA,EACR,CAjqBD,MAiqBQ,CAAC;AACN,yBAAqB;AACvB;AAEA,GArjBD,SAqjBW,OAAO,KAAK;AAAA,EACtB,CAvbD,SAubW;AAAA,EACV,CAvbD,YAubc;AACX,eAAW;AACb;AAEA,GA9GD;AAAA,EA+GC,CAlGD;AAmGG,eAAW;AACb;AACF;AAEA,QAAO,8BAA+B;AACpC,GArHD;AAsHG,gBAAY,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAC1B,qBAAiB;AACjB,6BAAyB;AAC3B;AACF;AAEA,QAAO,kBAAmB;AACxB,GA1rBD;AA2rBG,uBAAmB,IAAI;AACzB;AAEA,GA9kBD;AAAA,EA+kBC,CAnfD;AAAA,EAofC,CAnfD;AAAA,EAofC,CAjdD;AAAA,EAkdC,CApMD,WAoMa;AACV,kBAAc,IAAI;AACpB;AAEA,GA1ZD;AA2ZG,gBAAY,MAAM,EAAE,EAAE,EAAE,IAAI,IAAI;AAClC;AACF;","names":[]}
|