@pure-ds/core 0.4.15 → 0.4.17
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/types/public/assets/js/pds.d.ts +3 -3
- package/dist/types/public/assets/js/pds.d.ts.map +1 -1
- package/dist/types/src/js/pds-core/pds-generator.d.ts.map +1 -1
- package/package.json +1 -1
- package/packages/pds-cli/bin/generate-css-data.js +21 -23
- package/public/assets/js/app.js +617 -10565
- package/public/assets/js/lit.js +3 -1048
- package/public/assets/js/pds.js +396 -7354
- package/public/assets/pds/components/pds-calendar.js +1 -1
- package/public/assets/pds/custom-elements.json +263 -18
- package/src/js/pds-core/pds-generator.js +88 -38
- package/src/js/pds-core/pds-ontology.js +1 -1
- package/public/assets/js/app.js.map +0 -7
- package/public/assets/js/lit.js.map +0 -7
- package/public/assets/js/pds.js.map +0 -7
|
@@ -39,12 +39,64 @@
|
|
|
39
39
|
{
|
|
40
40
|
"kind": "class",
|
|
41
41
|
"description": "",
|
|
42
|
-
"name": "
|
|
42
|
+
"name": "PdsCalendar",
|
|
43
|
+
"cssProperties": [
|
|
44
|
+
{
|
|
45
|
+
"description": "Calendar background color",
|
|
46
|
+
"name": "--surface-bg"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"description": "Border color for calendar elements",
|
|
50
|
+
"name": "--surface-border"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"description": "Secondary text color",
|
|
54
|
+
"name": "--surface-text-secondary"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"description": "Primary color for events and highlights",
|
|
58
|
+
"name": "--color-primary-500"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"description": "Warning event color",
|
|
62
|
+
"name": "--color-warning-500"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"description": "Danger event color",
|
|
66
|
+
"name": "--color-danger-500"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"description": "Info event color",
|
|
70
|
+
"name": "--color-info-500"
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
"cssParts": [
|
|
74
|
+
{
|
|
75
|
+
"description": "The main container for the calendar",
|
|
76
|
+
"name": "calendar-container"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"description": "The header containing month name and navigation",
|
|
80
|
+
"name": "calendar-header"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"description": "The grid container for the calendar days",
|
|
84
|
+
"name": "calendar"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"description": "Individual day cells",
|
|
88
|
+
"name": "day"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"description": "Event items within days",
|
|
92
|
+
"name": "task"
|
|
93
|
+
}
|
|
94
|
+
],
|
|
43
95
|
"members": [
|
|
44
96
|
{
|
|
45
97
|
"kind": "field",
|
|
46
98
|
"name": "date",
|
|
47
|
-
"description": "Gets the current date",
|
|
99
|
+
"description": "Gets or sets the current date being displayed",
|
|
48
100
|
"parameters": [
|
|
49
101
|
{
|
|
50
102
|
"description": "Date string or Date object",
|
|
@@ -58,6 +110,9 @@
|
|
|
58
110
|
"type": {
|
|
59
111
|
"text": "Date"
|
|
60
112
|
}
|
|
113
|
+
},
|
|
114
|
+
"type": {
|
|
115
|
+
"text": "Date"
|
|
61
116
|
}
|
|
62
117
|
},
|
|
63
118
|
{
|
|
@@ -78,11 +133,19 @@
|
|
|
78
133
|
"type": {
|
|
79
134
|
"text": "CustomEvent"
|
|
80
135
|
}
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"description": "Dispatched after the calendar month is rendered with event fill capability",
|
|
139
|
+
"name": "pds-calendar#month-rendered"
|
|
81
140
|
}
|
|
82
141
|
],
|
|
83
142
|
"attributes": [
|
|
84
143
|
{
|
|
85
|
-
"name": "date"
|
|
144
|
+
"name": "date",
|
|
145
|
+
"type": {
|
|
146
|
+
"text": "String"
|
|
147
|
+
},
|
|
148
|
+
"description": "The date to display (defaults to current date). Accepts any valid date string"
|
|
86
149
|
}
|
|
87
150
|
],
|
|
88
151
|
"superclass": {
|
|
@@ -105,7 +168,7 @@
|
|
|
105
168
|
"kind": "custom-element-definition",
|
|
106
169
|
"name": "pds-calendar",
|
|
107
170
|
"declaration": {
|
|
108
|
-
"name": "
|
|
171
|
+
"name": "PdsCalendar",
|
|
109
172
|
"module": "public/assets/pds/components/pds-calendar.js"
|
|
110
173
|
}
|
|
111
174
|
}
|
|
@@ -118,7 +181,61 @@
|
|
|
118
181
|
{
|
|
119
182
|
"kind": "class",
|
|
120
183
|
"description": "",
|
|
121
|
-
"name": "
|
|
184
|
+
"name": "PdsDrawer",
|
|
185
|
+
"cssProperties": [
|
|
186
|
+
{
|
|
187
|
+
"description": "Animation duration (default: var(--transition-normal))",
|
|
188
|
+
"name": "--drawer-duration"
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"description": "Animation easing function (default: var(--easing-emphasized))",
|
|
192
|
+
"name": "--drawer-easing"
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"description": "Maximum height when position is top/bottom (default: 70vh)",
|
|
196
|
+
"name": "--drawer-max-height"
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"description": "Minimum height when position is top/bottom (default: auto)",
|
|
200
|
+
"name": "--drawer-min-height"
|
|
201
|
+
}
|
|
202
|
+
],
|
|
203
|
+
"cssParts": [
|
|
204
|
+
{
|
|
205
|
+
"description": "The semi-transparent backdrop overlay",
|
|
206
|
+
"name": "backdrop"
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"description": "The drawer panel container",
|
|
210
|
+
"name": "panel"
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"description": "The drawer header section",
|
|
214
|
+
"name": "header"
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"description": "The close button",
|
|
218
|
+
"name": "close-button"
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"description": "The drag handle indicator",
|
|
222
|
+
"name": "grab-handle"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"description": "The drawer content section",
|
|
226
|
+
"name": "content"
|
|
227
|
+
}
|
|
228
|
+
],
|
|
229
|
+
"slots": [
|
|
230
|
+
{
|
|
231
|
+
"description": "Header content for the drawer",
|
|
232
|
+
"name": "drawer-header"
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"description": "Main content of the drawer",
|
|
236
|
+
"name": "drawer-content"
|
|
237
|
+
}
|
|
238
|
+
],
|
|
122
239
|
"members": [
|
|
123
240
|
{
|
|
124
241
|
"kind": "field",
|
|
@@ -310,6 +427,12 @@
|
|
|
310
427
|
"default": "false"
|
|
311
428
|
}
|
|
312
429
|
],
|
|
430
|
+
"events": [
|
|
431
|
+
{
|
|
432
|
+
"description": "Fired when the drawer opens or closes",
|
|
433
|
+
"name": "toggle"
|
|
434
|
+
}
|
|
435
|
+
],
|
|
313
436
|
"attributes": [
|
|
314
437
|
{
|
|
315
438
|
"name": "open",
|
|
@@ -368,7 +491,7 @@
|
|
|
368
491
|
"superclass": {
|
|
369
492
|
"name": "HTMLElement"
|
|
370
493
|
},
|
|
371
|
-
"tagName": "pds-
|
|
494
|
+
"tagName": "pds-drawer",
|
|
372
495
|
"customElement": true
|
|
373
496
|
}
|
|
374
497
|
],
|
|
@@ -377,7 +500,7 @@
|
|
|
377
500
|
"kind": "custom-element-definition",
|
|
378
501
|
"name": "pds-drawer",
|
|
379
502
|
"declaration": {
|
|
380
|
-
"name": "
|
|
503
|
+
"name": "PdsDrawer",
|
|
381
504
|
"module": "public/assets/pds/components/pds-drawer.js"
|
|
382
505
|
}
|
|
383
506
|
}
|
|
@@ -404,6 +527,18 @@
|
|
|
404
527
|
"static": true,
|
|
405
528
|
"default": "new Map()"
|
|
406
529
|
},
|
|
530
|
+
{
|
|
531
|
+
"kind": "field",
|
|
532
|
+
"name": "externalIconCache",
|
|
533
|
+
"static": true,
|
|
534
|
+
"default": "new Map()"
|
|
535
|
+
},
|
|
536
|
+
{
|
|
537
|
+
"kind": "field",
|
|
538
|
+
"name": "externalIconPromises",
|
|
539
|
+
"static": true,
|
|
540
|
+
"default": "new Map()"
|
|
541
|
+
},
|
|
407
542
|
{
|
|
408
543
|
"kind": "field",
|
|
409
544
|
"name": "instances",
|
|
@@ -421,6 +556,26 @@
|
|
|
421
556
|
}
|
|
422
557
|
}
|
|
423
558
|
},
|
|
559
|
+
{
|
|
560
|
+
"kind": "method",
|
|
561
|
+
"name": "fetchExternalIcon",
|
|
562
|
+
"static": true,
|
|
563
|
+
"parameters": [
|
|
564
|
+
{
|
|
565
|
+
"name": "iconName",
|
|
566
|
+
"description": "The icon name (without .svg extension)",
|
|
567
|
+
"type": {
|
|
568
|
+
"text": "string"
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
],
|
|
572
|
+
"description": "Fetch an external SVG icon and cache it",
|
|
573
|
+
"return": {
|
|
574
|
+
"type": {
|
|
575
|
+
"text": "Promise<boolean>"
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
},
|
|
424
579
|
{
|
|
425
580
|
"kind": "method",
|
|
426
581
|
"name": "ensureInlineSprite",
|
|
@@ -1174,6 +1329,14 @@
|
|
|
1174
1329
|
{
|
|
1175
1330
|
"description": "The scrollable container element",
|
|
1176
1331
|
"name": "viewport"
|
|
1332
|
+
},
|
|
1333
|
+
{
|
|
1334
|
+
"description": "The previous/left scroll navigation button",
|
|
1335
|
+
"name": "prev"
|
|
1336
|
+
},
|
|
1337
|
+
{
|
|
1338
|
+
"description": "The next/right scroll navigation button",
|
|
1339
|
+
"name": "next"
|
|
1177
1340
|
}
|
|
1178
1341
|
],
|
|
1179
1342
|
"slots": [
|
|
@@ -1278,23 +1441,89 @@
|
|
|
1278
1441
|
{
|
|
1279
1442
|
"kind": "class",
|
|
1280
1443
|
"description": "",
|
|
1281
|
-
"name": "
|
|
1444
|
+
"name": "PdsSplitpanel",
|
|
1445
|
+
"cssProperties": [
|
|
1446
|
+
{
|
|
1447
|
+
"description": "Width of the left panel in horizontal layout.",
|
|
1448
|
+
"name": "--left-width"
|
|
1449
|
+
},
|
|
1450
|
+
{
|
|
1451
|
+
"description": "Color of the splitter bar.",
|
|
1452
|
+
"name": "--color-border"
|
|
1453
|
+
},
|
|
1454
|
+
{
|
|
1455
|
+
"description": "Background color of the left panel in mobile view.",
|
|
1456
|
+
"name": "--color-surface-base"
|
|
1457
|
+
},
|
|
1458
|
+
{
|
|
1459
|
+
"description": "Transition duration for the mobile panel animation.",
|
|
1460
|
+
"name": "--transition-fast"
|
|
1461
|
+
},
|
|
1462
|
+
{
|
|
1463
|
+
"description": "Positioning spacing for the mobile toggle button.",
|
|
1464
|
+
"name": "--spacing-4"
|
|
1465
|
+
},
|
|
1466
|
+
{
|
|
1467
|
+
"description": "Padding for the mobile toggle button.",
|
|
1468
|
+
"name": "--spacing-1"
|
|
1469
|
+
},
|
|
1470
|
+
{
|
|
1471
|
+
"description": "Padding for the mobile toggle button.",
|
|
1472
|
+
"name": "--spacing-2"
|
|
1473
|
+
}
|
|
1474
|
+
],
|
|
1475
|
+
"cssParts": [
|
|
1476
|
+
{
|
|
1477
|
+
"description": "The mobile toggle button.",
|
|
1478
|
+
"name": "toggle"
|
|
1479
|
+
},
|
|
1480
|
+
{
|
|
1481
|
+
"description": "The draggable splitter bar between panels.",
|
|
1482
|
+
"name": "splitter"
|
|
1483
|
+
}
|
|
1484
|
+
],
|
|
1485
|
+
"slots": [
|
|
1486
|
+
{
|
|
1487
|
+
"description": "Content for the left (or top) panel.",
|
|
1488
|
+
"name": "left"
|
|
1489
|
+
},
|
|
1490
|
+
{
|
|
1491
|
+
"description": "Content for the right (or bottom) panel.",
|
|
1492
|
+
"name": "right"
|
|
1493
|
+
}
|
|
1494
|
+
],
|
|
1282
1495
|
"members": [
|
|
1283
1496
|
{
|
|
1284
1497
|
"kind": "field",
|
|
1285
|
-
"name": "layout"
|
|
1498
|
+
"name": "layout",
|
|
1499
|
+
"type": {
|
|
1500
|
+
"text": "String"
|
|
1501
|
+
},
|
|
1502
|
+
"description": "Gets or sets the layout direction."
|
|
1286
1503
|
},
|
|
1287
1504
|
{
|
|
1288
1505
|
"kind": "field",
|
|
1289
|
-
"name": "defaultSplit"
|
|
1506
|
+
"name": "defaultSplit",
|
|
1507
|
+
"type": {
|
|
1508
|
+
"text": "String"
|
|
1509
|
+
},
|
|
1510
|
+
"description": "Gets or sets the default split size."
|
|
1290
1511
|
},
|
|
1291
1512
|
{
|
|
1292
1513
|
"kind": "field",
|
|
1293
|
-
"name": "breakpoint"
|
|
1514
|
+
"name": "breakpoint",
|
|
1515
|
+
"type": {
|
|
1516
|
+
"text": "Number"
|
|
1517
|
+
},
|
|
1518
|
+
"description": "Gets or sets the mobile breakpoint."
|
|
1294
1519
|
},
|
|
1295
1520
|
{
|
|
1296
1521
|
"kind": "field",
|
|
1297
|
-
"name": "open"
|
|
1522
|
+
"name": "open",
|
|
1523
|
+
"type": {
|
|
1524
|
+
"text": "Boolean"
|
|
1525
|
+
},
|
|
1526
|
+
"description": "Gets or sets the open state of the mobile panel."
|
|
1298
1527
|
},
|
|
1299
1528
|
{
|
|
1300
1529
|
"kind": "method",
|
|
@@ -1396,22 +1625,38 @@
|
|
|
1396
1625
|
],
|
|
1397
1626
|
"attributes": [
|
|
1398
1627
|
{
|
|
1399
|
-
"name": "layout"
|
|
1628
|
+
"name": "layout",
|
|
1629
|
+
"type": {
|
|
1630
|
+
"text": "String"
|
|
1631
|
+
},
|
|
1632
|
+
"description": "The layout direction of the panels. Can be \"horizontal\" or \"vertical\". Defaults to \"horizontal\"."
|
|
1400
1633
|
},
|
|
1401
1634
|
{
|
|
1402
|
-
"name": "defaultsplit"
|
|
1635
|
+
"name": "defaultsplit",
|
|
1636
|
+
"type": {
|
|
1637
|
+
"text": "String"
|
|
1638
|
+
},
|
|
1639
|
+
"description": "The initial size of the primary (left/top) panel. Defaults to \"450px\"."
|
|
1403
1640
|
},
|
|
1404
1641
|
{
|
|
1405
|
-
"name": "breakpoint"
|
|
1642
|
+
"name": "breakpoint",
|
|
1643
|
+
"type": {
|
|
1644
|
+
"text": "Number"
|
|
1645
|
+
},
|
|
1646
|
+
"description": "The viewport width in pixels below which the component switches to mobile view. Defaults to 1024."
|
|
1406
1647
|
},
|
|
1407
1648
|
{
|
|
1408
|
-
"name": "open"
|
|
1649
|
+
"name": "open",
|
|
1650
|
+
"type": {
|
|
1651
|
+
"text": "Boolean"
|
|
1652
|
+
},
|
|
1653
|
+
"description": "Controls the visibility of the primary panel in mobile view."
|
|
1409
1654
|
}
|
|
1410
1655
|
],
|
|
1411
1656
|
"superclass": {
|
|
1412
1657
|
"name": "HTMLElement"
|
|
1413
1658
|
},
|
|
1414
|
-
"tagName": "pds-
|
|
1659
|
+
"tagName": "pds-splitpanel",
|
|
1415
1660
|
"customElement": true
|
|
1416
1661
|
}
|
|
1417
1662
|
],
|
|
@@ -1420,7 +1665,7 @@
|
|
|
1420
1665
|
"kind": "custom-element-definition",
|
|
1421
1666
|
"name": "pds-splitpanel",
|
|
1422
1667
|
"declaration": {
|
|
1423
|
-
"name": "
|
|
1668
|
+
"name": "PdsSplitpanel",
|
|
1424
1669
|
"module": "public/assets/pds/components/pds-splitpanel.js"
|
|
1425
1670
|
}
|
|
1426
1671
|
}
|
|
@@ -1149,6 +1149,8 @@ export class Generator {
|
|
|
1149
1149
|
mesh,
|
|
1150
1150
|
].join("");
|
|
1151
1151
|
|
|
1152
|
+
// Dark mode selector only - .surface-inverse is handled separately in utilities
|
|
1153
|
+
// to avoid inheriting the full dark palette (which would override --color-surface-inverse)
|
|
1152
1154
|
return `html[data-theme="dark"] {\n${body}}\n`;
|
|
1153
1155
|
}
|
|
1154
1156
|
|
|
@@ -1589,12 +1591,13 @@ html[data-theme="dark"] .liquid-glass {
|
|
|
1589
1591
|
|
|
1590
1592
|
:where(blockquote) {
|
|
1591
1593
|
margin: 0 0 var(--spacing-4) 0;
|
|
1592
|
-
padding: var(--spacing-
|
|
1594
|
+
padding: var(--spacing-6) var(--spacing-8);
|
|
1593
1595
|
border-left: 4px solid var(--color-primary-500);
|
|
1594
|
-
background-color: var(--color-surface-
|
|
1595
|
-
border-radius: var(--radius-
|
|
1596
|
-
font-
|
|
1597
|
-
|
|
1596
|
+
background-color: var(--color-surface-elevated);
|
|
1597
|
+
border-radius: var(--radius-none);
|
|
1598
|
+
font-size: var(--font-size-lg);
|
|
1599
|
+
line-height: var(--line-height-relaxed);
|
|
1600
|
+
color: var(--color-text-primary);
|
|
1598
1601
|
|
|
1599
1602
|
:where(p):last-child {
|
|
1600
1603
|
margin-bottom: 0;
|
|
@@ -1602,14 +1605,10 @@ html[data-theme="dark"] .liquid-glass {
|
|
|
1602
1605
|
|
|
1603
1606
|
:where(cite) {
|
|
1604
1607
|
display: block;
|
|
1605
|
-
margin-top: var(--spacing-
|
|
1606
|
-
font-size: var(--font-size-
|
|
1608
|
+
margin-top: var(--spacing-4);
|
|
1609
|
+
font-size: var(--font-size-base);
|
|
1607
1610
|
font-style: normal;
|
|
1608
|
-
color: var(--color-
|
|
1609
|
-
|
|
1610
|
-
&::before {
|
|
1611
|
-
content: "— ";
|
|
1612
|
-
}
|
|
1611
|
+
color: var(--color-primary-500);
|
|
1613
1612
|
}
|
|
1614
1613
|
}
|
|
1615
1614
|
|
|
@@ -4447,40 +4446,27 @@ ${this.#generateBorderGradientUtilities()}
|
|
|
4447
4446
|
}
|
|
4448
4447
|
|
|
4449
4448
|
|
|
4450
|
-
/*
|
|
4449
|
+
/*
|
|
4450
|
+
* SURFACE-INVERSE: Local Theme Context Flip
|
|
4451
|
+
*
|
|
4452
|
+
* We can't simply add .surface-inverse to the dark mode selector because that would
|
|
4453
|
+
* also apply the dark color PALETTE (grays, surfaces, etc.), which would override
|
|
4454
|
+
* --color-surface-inverse itself. Instead, we duplicate only the SEMANTIC tokens.
|
|
4455
|
+
*
|
|
4456
|
+
* Light theme .surface-inverse → dark semantic tokens
|
|
4457
|
+
* Dark theme .surface-inverse → light semantic tokens (flip back)
|
|
4458
|
+
*/
|
|
4459
|
+
|
|
4460
|
+
/* Surface-inverse visual properties (shared, uses smart surface tokens) */
|
|
4451
4461
|
.surface-inverse {
|
|
4452
4462
|
background-color: var(--color-surface-inverse);
|
|
4453
|
-
/* Ensure foregrounds inside use the correct smart-surface tokens */
|
|
4454
4463
|
color: var(--surface-inverse-text);
|
|
4455
|
-
--color-text-primary: var(--surface-inverse-text);
|
|
4456
|
-
--color-text-secondary: var(--surface-inverse-text-secondary);
|
|
4457
|
-
--color-text-muted: var(--surface-inverse-text-muted);
|
|
4458
|
-
/* Ensure code/pre and other muted surfaces have contrast on inverse */
|
|
4459
|
-
--color-surface-muted: rgba(255, 255, 255, 0.08);
|
|
4460
|
-
/* Optional: adjust borders/shadows if utilities/components read these */
|
|
4461
|
-
--color-border: var(--surface-inverse-border);
|
|
4462
4464
|
|
|
4463
4465
|
pds-icon {
|
|
4464
4466
|
color: var(--surface-inverse-icon);
|
|
4465
4467
|
}
|
|
4466
4468
|
|
|
4467
|
-
/*
|
|
4468
|
-
& button:not(.btn-primary):not(.btn-outline):not(.btn-danger):not(.btn-success):not(.btn-warning),
|
|
4469
|
-
& .btn-secondary {
|
|
4470
|
-
background-color: rgba(255, 255, 255, 0.12);
|
|
4471
|
-
color: var(--surface-inverse-text);
|
|
4472
|
-
border-color: rgba(255, 255, 255, 0.25);
|
|
4473
|
-
|
|
4474
|
-
&:hover {
|
|
4475
|
-
background-color: rgba(255, 255, 255, 0.2);
|
|
4476
|
-
}
|
|
4477
|
-
|
|
4478
|
-
&:active {
|
|
4479
|
-
background-color: rgba(255, 255, 255, 0.28);
|
|
4480
|
-
}
|
|
4481
|
-
}
|
|
4482
|
-
|
|
4483
|
-
/* Ensure btn-primary stays vibrant on inverse */
|
|
4469
|
+
/* btn-primary stays vibrant in any context */
|
|
4484
4470
|
& .btn-primary {
|
|
4485
4471
|
background-color: var(--color-primary-500);
|
|
4486
4472
|
border-color: var(--color-primary-500);
|
|
@@ -4493,6 +4479,70 @@ ${this.#generateBorderGradientUtilities()}
|
|
|
4493
4479
|
}
|
|
4494
4480
|
}
|
|
4495
4481
|
|
|
4482
|
+
/* Light-mode inverse: apply dark semantic tokens */
|
|
4483
|
+
html:not([data-theme="dark"]) .surface-inverse {
|
|
4484
|
+
--color-text-primary: var(--color-gray-100);
|
|
4485
|
+
--color-text-secondary: var(--color-gray-300);
|
|
4486
|
+
--color-text-muted: var(--color-gray-400);
|
|
4487
|
+
--color-border: var(--color-gray-700);
|
|
4488
|
+
--color-input-bg: var(--color-gray-800);
|
|
4489
|
+
--color-input-disabled-bg: var(--color-gray-900);
|
|
4490
|
+
--color-input-disabled-text: var(--color-gray-600);
|
|
4491
|
+
--color-code-bg: var(--color-gray-800);
|
|
4492
|
+
--color-surface-muted: rgba(255, 255, 255, 0.08);
|
|
4493
|
+
|
|
4494
|
+
& button:not(.btn-primary):not(.btn-outline):not(.btn-danger):not(.btn-success):not(.btn-warning),
|
|
4495
|
+
& .btn-secondary {
|
|
4496
|
+
background-color: rgba(255, 255, 255, 0.12);
|
|
4497
|
+
color: var(--surface-inverse-text);
|
|
4498
|
+
border-color: rgba(255, 255, 255, 0.25);
|
|
4499
|
+
|
|
4500
|
+
&:hover { background-color: rgba(255, 255, 255, 0.2); }
|
|
4501
|
+
&:active { background-color: rgba(255, 255, 255, 0.28); }
|
|
4502
|
+
}
|
|
4503
|
+
|
|
4504
|
+
& select {
|
|
4505
|
+
background-color: rgba(255, 255, 255, 0.1);
|
|
4506
|
+
color: var(--surface-inverse-text);
|
|
4507
|
+
}
|
|
4508
|
+
|
|
4509
|
+
& a:not([class*="btn"]) {
|
|
4510
|
+
color: var(--color-primary-300, #7dd3fc);
|
|
4511
|
+
}
|
|
4512
|
+
}
|
|
4513
|
+
|
|
4514
|
+
/* Dark-mode inverse: flip back to light semantic tokens */
|
|
4515
|
+
html[data-theme="dark"] .surface-inverse {
|
|
4516
|
+
--color-text-primary: var(--color-gray-900);
|
|
4517
|
+
--color-text-secondary: var(--color-gray-600);
|
|
4518
|
+
--color-text-muted: var(--color-gray-600);
|
|
4519
|
+
--color-border: var(--color-gray-300);
|
|
4520
|
+
--color-input-bg: var(--color-surface-base);
|
|
4521
|
+
--color-input-disabled-bg: var(--color-gray-50);
|
|
4522
|
+
--color-input-disabled-text: var(--color-gray-500);
|
|
4523
|
+
--color-code-bg: var(--color-gray-100);
|
|
4524
|
+
--color-surface-muted: var(--color-gray-100);
|
|
4525
|
+
|
|
4526
|
+
& button:not(.btn-primary):not(.btn-outline):not(.btn-danger):not(.btn-success):not(.btn-warning),
|
|
4527
|
+
& .btn-secondary {
|
|
4528
|
+
background-color: rgba(0, 0, 0, 0.06);
|
|
4529
|
+
color: var(--surface-inverse-text);
|
|
4530
|
+
border-color: rgba(0, 0, 0, 0.15);
|
|
4531
|
+
|
|
4532
|
+
&:hover { background-color: rgba(0, 0, 0, 0.1); }
|
|
4533
|
+
&:active { background-color: rgba(0, 0, 0, 0.15); }
|
|
4534
|
+
}
|
|
4535
|
+
|
|
4536
|
+
& select {
|
|
4537
|
+
background-color: #ffffff;
|
|
4538
|
+
color: var(--surface-inverse-text);
|
|
4539
|
+
}
|
|
4540
|
+
|
|
4541
|
+
& a:not([class*="btn"]) {
|
|
4542
|
+
color: var(--color-primary-600, #0284c7);
|
|
4543
|
+
}
|
|
4544
|
+
}
|
|
4545
|
+
|
|
4496
4546
|
/* Shadow utilities */
|
|
4497
4547
|
.shadow-sm {
|
|
4498
4548
|
box-shadow: var(--shadow-sm);
|
|
@@ -380,7 +380,7 @@ export const ontology = {
|
|
|
380
380
|
utilities: {
|
|
381
381
|
text: {
|
|
382
382
|
alignment: [".text-left", ".text-center", ".text-right"],
|
|
383
|
-
color: [".text-muted"
|
|
383
|
+
color: [".text-muted"],
|
|
384
384
|
overflow: [".truncate"]
|
|
385
385
|
},
|
|
386
386
|
backdrop: {
|