rip-lang 3.13.71 → 3.13.73
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 +1 -1
- package/docs/dist/rip.js +25 -2
- package/docs/dist/rip.min.js +2 -2
- package/docs/dist/rip.min.js.br +0 -0
- package/docs/ui/alert-dialog.rip +96 -0
- package/docs/ui/badge.rip +15 -0
- package/docs/ui/breadcrumb.rip +46 -0
- package/docs/ui/button-group.rip +26 -0
- package/docs/ui/card.rip +25 -0
- package/docs/ui/carousel.rip +110 -0
- package/docs/ui/collapsible.rip +50 -0
- package/docs/ui/hljs-rip.js +209 -0
- package/docs/ui/index.css +412 -19
- package/docs/ui/index.html +690 -354
- package/docs/ui/input-group.rip +28 -0
- package/docs/ui/label.rip +16 -0
- package/docs/ui/native-select.rip +32 -0
- package/docs/ui/pagination.rip +123 -0
- package/docs/ui/resizable.rip +123 -0
- package/docs/ui/skeleton.rip +22 -0
- package/docs/ui/spinner.rip +17 -0
- package/docs/ui/table.rip +27 -0
- package/docs/ui/textarea.rip +48 -0
- package/package.json +1 -1
- package/src/browser.js +23 -0
package/docs/ui/index.css
CHANGED
|
@@ -585,7 +585,7 @@ select.rip-grid-editor { cursor: pointer; padding-left: 4px; }
|
|
|
585
585
|
&[data-filled] { border-color: #3b82f6; }
|
|
586
586
|
}
|
|
587
587
|
|
|
588
|
-
&[data-complete] input { border-color: #22c55e; }
|
|
588
|
+
&[data-complete] input { border-color: #22c55e; background: #f0fdf4; }
|
|
589
589
|
&[data-disabled] input { opacity: 0.5; cursor: not-allowed; }
|
|
590
590
|
}
|
|
591
591
|
|
|
@@ -675,10 +675,11 @@ select.rip-grid-editor { cursor: pointer; padding-left: 4px; }
|
|
|
675
675
|
min-width: 32px; min-height: 32px;
|
|
676
676
|
|
|
677
677
|
&:hover { background: #f1f5f9; }
|
|
678
|
+
&:active:not([data-selected]) { background: #dbeafe; color: #1d4ed8; }
|
|
678
679
|
&[data-outside] { color: #cbd5e1; }
|
|
679
680
|
&[data-today] { font-weight: 700; outline: 2px solid #3b82f6; outline-offset: -2px; }
|
|
680
681
|
&[data-selected] { background: #3b82f6; color: white; }
|
|
681
|
-
&[data-in-range] { background: #
|
|
682
|
+
&[data-in-range] { background: #dbeafe; color: #1e40af; border-radius: 0; }
|
|
682
683
|
&[data-range-start] { border-radius: 4px 0 0 4px; }
|
|
683
684
|
}
|
|
684
685
|
}
|
|
@@ -749,12 +750,12 @@ select.rip-grid-editor { cursor: pointer; padding-left: 4px; }
|
|
|
749
750
|
/* ── Menubar ── */
|
|
750
751
|
|
|
751
752
|
.gallery [role="menubar"] {
|
|
752
|
-
display: inline-flex; gap:
|
|
753
|
-
border: 1px solid #e2e8f0; border-radius:
|
|
753
|
+
display: inline-flex; gap: 2px; background: #f8fafc;
|
|
754
|
+
border: 1px solid #e2e8f0; border-radius: 8px; padding: 4px;
|
|
754
755
|
|
|
755
756
|
[data-menu-trigger] {
|
|
756
|
-
padding:
|
|
757
|
-
cursor: pointer; font-size:
|
|
757
|
+
padding: 8px 16px; border: none; background: transparent;
|
|
758
|
+
cursor: pointer; font-size: 14px; color: #475569; border-radius: 6px;
|
|
758
759
|
transition: all 0.15s;
|
|
759
760
|
|
|
760
761
|
&:hover, &[data-open] { background: white; color: #1e293b; box-shadow: 0 1px 3px rgba(0,0,0,0.08); }
|
|
@@ -1034,6 +1035,8 @@ html.no-transition, html.no-transition * { transition: none !important; }
|
|
|
1034
1035
|
|
|
1035
1036
|
/* ── Source Code Viewer ── */
|
|
1036
1037
|
|
|
1038
|
+
body:has(.source-overlay) { overflow: hidden; }
|
|
1039
|
+
|
|
1037
1040
|
.source-overlay {
|
|
1038
1041
|
position: fixed; inset: 0; background: rgba(0,0,0,0.5);
|
|
1039
1042
|
display: grid; place-items: center; z-index: 200;
|
|
@@ -1093,11 +1096,322 @@ html.no-transition, html.no-transition * { transition: none !important; }
|
|
|
1093
1096
|
.source-code {
|
|
1094
1097
|
padding: 0 16px; flex: 1; min-width: 0;
|
|
1095
1098
|
white-space: pre; background: transparent !important;
|
|
1096
|
-
margin: 0;
|
|
1099
|
+
margin: 0; color: #1e293b;
|
|
1097
1100
|
}
|
|
1098
1101
|
|
|
1099
1102
|
.source-code.hljs { padding: 0 16px; }
|
|
1100
1103
|
|
|
1104
|
+
/* Light mode syntax theme */
|
|
1105
|
+
.source-code .hljs-comment { color: #6b7280; font-style: italic; }
|
|
1106
|
+
.source-code .hljs-keyword { color: #7c3aed; }
|
|
1107
|
+
.source-code .hljs-built_in { color: #6d28d9; }
|
|
1108
|
+
.source-code .hljs-string,
|
|
1109
|
+
.source-code .hljs-regexp { color: #16a34a; }
|
|
1110
|
+
.source-code .hljs-number,
|
|
1111
|
+
.source-code .hljs-literal { color: #d97706; }
|
|
1112
|
+
.source-code .hljs-title,
|
|
1113
|
+
.source-code .hljs-title\.function,
|
|
1114
|
+
.source-code .hljs-title\.class { color: #2563eb; }
|
|
1115
|
+
.source-code .hljs-function { color: #2563eb; }
|
|
1116
|
+
.source-code .hljs-params { color: #9333ea; }
|
|
1117
|
+
.source-code .hljs-variable { color: #0891b2; }
|
|
1118
|
+
.source-code .hljs-attribute { color: #0d9488; }
|
|
1119
|
+
.source-code .hljs-operator { color: #64748b; }
|
|
1120
|
+
.source-code .hljs-subst { color: #dc2626; }
|
|
1121
|
+
.source-code .hljs-type { color: #0891b2; }
|
|
1122
|
+
|
|
1123
|
+
/* ── Badge ── */
|
|
1124
|
+
|
|
1125
|
+
.gallery [data-variant] {
|
|
1126
|
+
display: inline-flex; align-items: center; font-size: 11px; font-weight: 600;
|
|
1127
|
+
padding: 2px 8px; border-radius: 10px; user-select: none;
|
|
1128
|
+
|
|
1129
|
+
&[data-variant="solid"] { background: #3b82f6; color: white; }
|
|
1130
|
+
&[data-variant="outline"] { background: transparent; color: #3b82f6; border: 1px solid #3b82f6; }
|
|
1131
|
+
&[data-variant="subtle"] { background: #dbeafe; color: #1d4ed8; }
|
|
1132
|
+
}
|
|
1133
|
+
|
|
1134
|
+
/* ── Kbd ── */
|
|
1135
|
+
|
|
1136
|
+
.gallery kbd:not(.api kbd) {
|
|
1137
|
+
display: inline-block; font-family: ui-monospace, 'SF Mono', monospace;
|
|
1138
|
+
font-size: 12px; font-weight: 500; padding: 2px 6px;
|
|
1139
|
+
background: #f8fafc; border: 1px solid #d1d5db; border-radius: 4px;
|
|
1140
|
+
color: #374151; box-shadow: 0 1px 0 #d1d5db; line-height: 1.4;
|
|
1141
|
+
}
|
|
1142
|
+
|
|
1143
|
+
/* ── Skeleton ── */
|
|
1144
|
+
|
|
1145
|
+
.gallery [aria-busy="true"][role="status"]:not([aria-label="Carousel"]) {
|
|
1146
|
+
width: var(--skeleton-width, 100%); height: var(--skeleton-height, 1em);
|
|
1147
|
+
background: linear-gradient(90deg, #e2e8f0 25%, #f1f5f9 50%, #e2e8f0 75%);
|
|
1148
|
+
background-size: 200% 100%;
|
|
1149
|
+
animation: shimmer 1.5s infinite;
|
|
1150
|
+
border-radius: 4px;
|
|
1151
|
+
|
|
1152
|
+
&[data-circle] { border-radius: 50%; }
|
|
1153
|
+
}
|
|
1154
|
+
|
|
1155
|
+
@keyframes shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
|
|
1156
|
+
|
|
1157
|
+
/* ── Spinner ── */
|
|
1158
|
+
|
|
1159
|
+
.gallery .spinner-demo [role="status"][aria-label] {
|
|
1160
|
+
width: var(--spinner-size, 24px); height: var(--spinner-size, 24px);
|
|
1161
|
+
border: 3px solid #e2e8f0; border-top-color: #3b82f6;
|
|
1162
|
+
border-radius: 50%; animation: spin 0.6s linear infinite;
|
|
1163
|
+
}
|
|
1164
|
+
|
|
1165
|
+
@keyframes spin { to { transform: rotate(360deg); } }
|
|
1166
|
+
|
|
1167
|
+
/* ── AspectRatio ── */
|
|
1168
|
+
|
|
1169
|
+
.gallery .aspect-demo > div {
|
|
1170
|
+
overflow: hidden; border-radius: 8px; background: #e2e8f0;
|
|
1171
|
+
|
|
1172
|
+
img { width: 100%; height: 100%; object-fit: cover; }
|
|
1173
|
+
}
|
|
1174
|
+
|
|
1175
|
+
/* ── Card ── */
|
|
1176
|
+
|
|
1177
|
+
.gallery .card-demo { background: none; border: none; padding: 0; }
|
|
1178
|
+
|
|
1179
|
+
.gallery .card-demo > div {
|
|
1180
|
+
background: white; border: 1px solid #e2e8f0; border-radius: 8px;
|
|
1181
|
+
overflow: hidden; transition: box-shadow 0.2s;
|
|
1182
|
+
|
|
1183
|
+
&[data-interactive] { cursor: pointer; }
|
|
1184
|
+
&[data-interactive]:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
|
|
1185
|
+
|
|
1186
|
+
[data-header] { padding: 16px 16px 0; }
|
|
1187
|
+
[data-header] h3 { font-size: 16px; font-weight: 700; }
|
|
1188
|
+
[data-content] { padding: 12px 16px; color: #64748b; font-size: 13px; }
|
|
1189
|
+
[data-footer] { padding: 12px 16px; display: flex; gap: 8px; border-top: 1px solid #e2e8f0; }
|
|
1190
|
+
}
|
|
1191
|
+
|
|
1192
|
+
/* ── Label ── */
|
|
1193
|
+
|
|
1194
|
+
.gallery label[data-required] { font-size: 13px; font-weight: 600; color: #334155; }
|
|
1195
|
+
.gallery label[data-required]::after { content: " *"; color: #ef4444; }
|
|
1196
|
+
|
|
1197
|
+
/* ── Textarea ── */
|
|
1198
|
+
|
|
1199
|
+
.gallery textarea {
|
|
1200
|
+
width: 100%; min-height: 80px; padding: 8px 12px;
|
|
1201
|
+
border: 1px solid #cbd5e1; border-radius: 6px; font: inherit; font-size: 14px;
|
|
1202
|
+
color: #1e293b; background: white; outline: none; resize: vertical;
|
|
1203
|
+
|
|
1204
|
+
&:focus { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,0.1); }
|
|
1205
|
+
&[data-disabled] { opacity: 0.5; cursor: not-allowed; }
|
|
1206
|
+
}
|
|
1207
|
+
|
|
1208
|
+
/* ── NativeSelect ── */
|
|
1209
|
+
|
|
1210
|
+
.gallery .native-select-demo select {
|
|
1211
|
+
padding: 6px 12px; height: 36px; border: 1px solid #cbd5e1; border-radius: 6px;
|
|
1212
|
+
background: white; font: inherit; font-size: 14px; color: #1e293b; outline: none; cursor: pointer;
|
|
1213
|
+
|
|
1214
|
+
&:focus { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,0.1); }
|
|
1215
|
+
&[data-disabled] { opacity: 0.5; cursor: not-allowed; }
|
|
1216
|
+
}
|
|
1217
|
+
|
|
1218
|
+
/* ── InputGroup ── */
|
|
1219
|
+
|
|
1220
|
+
.gallery .input-group-demo > div {
|
|
1221
|
+
display: inline-flex; align-items: center;
|
|
1222
|
+
border: 1px solid #cbd5e1; border-radius: 6px; overflow: hidden;
|
|
1223
|
+
|
|
1224
|
+
&[data-focused] { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,0.1); }
|
|
1225
|
+
&[data-disabled] { opacity: 0.5; }
|
|
1226
|
+
|
|
1227
|
+
[data-prefix], [data-suffix] {
|
|
1228
|
+
padding: 0 10px; background: #f8fafc; color: #64748b;
|
|
1229
|
+
font-size: 14px; height: 36px; display: flex; align-items: center;
|
|
1230
|
+
border-right: 1px solid #e2e8f0; user-select: none;
|
|
1231
|
+
}
|
|
1232
|
+
|
|
1233
|
+
[data-suffix] { border-right: none; border-left: 1px solid #e2e8f0; }
|
|
1234
|
+
|
|
1235
|
+
input {
|
|
1236
|
+
border: none; outline: none; padding: 0 12px; height: 36px;
|
|
1237
|
+
font: inherit; font-size: 14px; flex: 1; min-width: 0;
|
|
1238
|
+
}
|
|
1239
|
+
}
|
|
1240
|
+
|
|
1241
|
+
/* ── ButtonGroup ── */
|
|
1242
|
+
|
|
1243
|
+
.gallery [role="group"][data-orientation]:not(:has(button[aria-pressed])):not([role="radiogroup"]):not(:has([data-track])) {
|
|
1244
|
+
display: inline-flex;
|
|
1245
|
+
|
|
1246
|
+
&[data-orientation="horizontal"] { flex-direction: row; }
|
|
1247
|
+
&[data-orientation="vertical"] { flex-direction: column; }
|
|
1248
|
+
|
|
1249
|
+
button {
|
|
1250
|
+
padding: 6px 14px; border: 1px solid #cbd5e1; background: white;
|
|
1251
|
+
cursor: pointer; font-size: 13px; color: #1e293b; transition: all 0.15s;
|
|
1252
|
+
|
|
1253
|
+
&:first-child { border-radius: 6px 0 0 6px; }
|
|
1254
|
+
&:last-child { border-radius: 0 6px 6px 0; }
|
|
1255
|
+
&:not(:first-child) { margin-left: -1px; }
|
|
1256
|
+
&:hover { background: #f8fafc; z-index: 1; }
|
|
1257
|
+
&:active { background: #f1f5f9; }
|
|
1258
|
+
}
|
|
1259
|
+
|
|
1260
|
+
&[data-disabled] { opacity: 0.5; pointer-events: none; }
|
|
1261
|
+
}
|
|
1262
|
+
|
|
1263
|
+
/* ── AlertDialog ── */
|
|
1264
|
+
|
|
1265
|
+
.gallery [data-open]:has(> [role="alertdialog"]) {
|
|
1266
|
+
position: fixed; inset: 0; background: rgba(0,0,0,0.4);
|
|
1267
|
+
display: grid; place-items: center; z-index: 100;
|
|
1268
|
+
animation: fadeIn 150ms ease;
|
|
1269
|
+
}
|
|
1270
|
+
|
|
1271
|
+
.gallery .alert-dialog-panel {
|
|
1272
|
+
background: white; border-radius: 12px; padding: 24px;
|
|
1273
|
+
box-shadow: 0 4px 16px rgba(0,0,0,0.12); max-width: min(90vw, 420px); width: 100%;
|
|
1274
|
+
}
|
|
1275
|
+
|
|
1276
|
+
/* ── Sheet ── */
|
|
1277
|
+
|
|
1278
|
+
.gallery [data-open]:has([data-sheet]) {
|
|
1279
|
+
position: fixed; inset: 0; background: rgba(0,0,0,0.4);
|
|
1280
|
+
z-index: 100; animation: fadeIn 150ms ease;
|
|
1281
|
+
}
|
|
1282
|
+
|
|
1283
|
+
.gallery [data-sheet] {
|
|
1284
|
+
position: fixed; background: white; padding: 24px;
|
|
1285
|
+
box-shadow: 0 0 24px rgba(0,0,0,0.15); overflow-y: auto;
|
|
1286
|
+
|
|
1287
|
+
&[data-side="right"] { top: 0; right: 0; bottom: 0; width: min(85vw, 360px); animation: slideInRight 200ms ease; }
|
|
1288
|
+
&[data-side="left"] { top: 0; left: 0; bottom: 0; width: min(85vw, 360px); animation: slideInLeft 200ms ease; }
|
|
1289
|
+
&[data-side="top"] { top: 0; left: 0; right: 0; height: min(85vh, 320px); animation: slideInTop 200ms ease; }
|
|
1290
|
+
&[data-side="bottom"] { bottom: 0; left: 0; right: 0; height: min(85vh, 320px); animation: slideInBottom 200ms ease; }
|
|
1291
|
+
|
|
1292
|
+
h2 { font-size: 18px; font-weight: 700; margin-bottom: 8px; }
|
|
1293
|
+
p { color: #64748b; font-size: 14px; margin-bottom: 12px; }
|
|
1294
|
+
}
|
|
1295
|
+
|
|
1296
|
+
@keyframes slideInTop { from { transform: translateY(-100%); } to { transform: none; } }
|
|
1297
|
+
@keyframes slideInBottom { from { transform: translateY(100%); } to { transform: none; } }
|
|
1298
|
+
|
|
1299
|
+
/* ── Breadcrumb ── */
|
|
1300
|
+
|
|
1301
|
+
.gallery nav[aria-label="Breadcrumb"] ol {
|
|
1302
|
+
display: flex; align-items: center; gap: 6px; list-style: none;
|
|
1303
|
+
font-size: 13px; color: #64748b;
|
|
1304
|
+
|
|
1305
|
+
[data-item] { color: #64748b; text-decoration: none; }
|
|
1306
|
+
[data-item]:hover:not([data-current]) { color: #1e293b; text-decoration: underline; }
|
|
1307
|
+
[data-item] + [data-item]::before { content: '/'; color: #cbd5e1; margin-right: 6px; user-select: none; text-decoration: none; display: inline-block; }
|
|
1308
|
+
[data-current] { color: #1e293b; font-weight: 600; }
|
|
1309
|
+
}
|
|
1310
|
+
|
|
1311
|
+
/* ── Table ── */
|
|
1312
|
+
|
|
1313
|
+
.gallery .table-demo table {
|
|
1314
|
+
width: 100%; border-collapse: collapse; font-size: 13px;
|
|
1315
|
+
|
|
1316
|
+
caption { font-size: 14px; font-weight: 600; text-align: left; padding: 8px 0; color: #1e293b; }
|
|
1317
|
+
|
|
1318
|
+
th { text-align: left; padding: 8px 12px; font-weight: 600; color: #475569;
|
|
1319
|
+
border-bottom: 2px solid #e2e8f0; font-size: 12px; text-transform: uppercase; letter-spacing: 0.04em; }
|
|
1320
|
+
td { padding: 8px 12px; border-bottom: 1px solid #e2e8f0; color: #1e293b; }
|
|
1321
|
+
|
|
1322
|
+
&[data-striped] tbody tr:nth-child(even) td { background: #f8fafc; }
|
|
1323
|
+
}
|
|
1324
|
+
|
|
1325
|
+
/* ── Collapsible ── */
|
|
1326
|
+
|
|
1327
|
+
.gallery [data-trigger]:has(+ [data-content]) {
|
|
1328
|
+
padding: 8px 14px; border: 1px solid #cbd5e1; border-radius: 6px;
|
|
1329
|
+
background: white; cursor: pointer; font-size: 14px; width: 100%; text-align: left;
|
|
1330
|
+
|
|
1331
|
+
&[aria-expanded="true"] { border-color: #94a3b8; }
|
|
1332
|
+
&:hover { background: #f8fafc; }
|
|
1333
|
+
}
|
|
1334
|
+
|
|
1335
|
+
.gallery .collapsible-demo [data-content] {
|
|
1336
|
+
padding: 12px 14px; color: #64748b; font-size: 13px;
|
|
1337
|
+
border: 1px solid #e2e8f0; border-top: none; border-radius: 0 0 6px 6px;
|
|
1338
|
+
}
|
|
1339
|
+
|
|
1340
|
+
/* ── Pagination ── */
|
|
1341
|
+
|
|
1342
|
+
.gallery nav[aria-label="Pagination"] {
|
|
1343
|
+
display: inline-flex; align-items: center; gap: 2px;
|
|
1344
|
+
|
|
1345
|
+
button {
|
|
1346
|
+
min-width: 32px; height: 32px; padding: 0 8px;
|
|
1347
|
+
border: 1px solid #e2e8f0; border-radius: 6px; background: white;
|
|
1348
|
+
font-size: 13px; color: #475569; cursor: pointer; transition: all 0.15s;
|
|
1349
|
+
|
|
1350
|
+
&:hover:not(:disabled):not([data-active]) { background: #f1f5f9; border-color: #94a3b8; }
|
|
1351
|
+
&[data-active] { background: #3b82f6; color: white; border-color: #3b82f6; }
|
|
1352
|
+
&[data-active]:hover { background: #2563eb; }
|
|
1353
|
+
&:disabled { opacity: 0.4; cursor: not-allowed; }
|
|
1354
|
+
}
|
|
1355
|
+
|
|
1356
|
+
[data-prev]::before { content: '‹'; }
|
|
1357
|
+
[data-next]::before { content: '›'; }
|
|
1358
|
+
[data-ellipsis] { min-width: 32px; text-align: center; color: #94a3b8; font-size: 13px; user-select: none; }
|
|
1359
|
+
}
|
|
1360
|
+
|
|
1361
|
+
/* ── Carousel ── */
|
|
1362
|
+
|
|
1363
|
+
.gallery [aria-roledescription="carousel"] {
|
|
1364
|
+
position: relative; overflow: hidden;
|
|
1365
|
+
border: 1px solid #e2e8f0; border-radius: 8px; background: white;
|
|
1366
|
+
|
|
1367
|
+
[role="tablist"] {
|
|
1368
|
+
border-bottom: none; margin-bottom: 0;
|
|
1369
|
+
min-height: 160px; display: grid; place-items: center;
|
|
1370
|
+
padding: 24px; text-align: center; font-size: 18px; color: #475569;
|
|
1371
|
+
}
|
|
1372
|
+
|
|
1373
|
+
[role="tabpanel"] { padding: 24px; text-align: center; }
|
|
1374
|
+
|
|
1375
|
+
[data-prev], [data-next] {
|
|
1376
|
+
position: absolute; top: 50%; transform: translateY(-50%);
|
|
1377
|
+
width: 32px; height: 32px; border-radius: 50%;
|
|
1378
|
+
border: 1px solid #e2e8f0; background: white; cursor: pointer;
|
|
1379
|
+
display: grid; place-items: center; font-size: 16px; color: #475569;
|
|
1380
|
+
box-shadow: 0 2px 6px rgba(0,0,0,0.08); z-index: 2;
|
|
1381
|
+
|
|
1382
|
+
&:hover:not(:disabled) { background: #f1f5f9; }
|
|
1383
|
+
&:disabled { opacity: 0.3; cursor: not-allowed; }
|
|
1384
|
+
}
|
|
1385
|
+
|
|
1386
|
+
[data-prev] { left: 8px; }
|
|
1387
|
+
[data-next] { right: 8px; }
|
|
1388
|
+
[data-prev]::before { content: '‹'; }
|
|
1389
|
+
[data-next]::before { content: '›'; }
|
|
1390
|
+
}
|
|
1391
|
+
|
|
1392
|
+
/* ── Resizable ── */
|
|
1393
|
+
|
|
1394
|
+
.gallery .resizable-demo > div {
|
|
1395
|
+
border: 1px solid #e2e8f0; border-radius: 8px; overflow: hidden;
|
|
1396
|
+
min-height: 160px;
|
|
1397
|
+
|
|
1398
|
+
[data-panel] {
|
|
1399
|
+
display: flex; align-items: center; justify-content: center;
|
|
1400
|
+
font-size: 13px; color: #64748b; background: white; overflow: hidden;
|
|
1401
|
+
}
|
|
1402
|
+
|
|
1403
|
+
[data-handle] {
|
|
1404
|
+
flex-shrink: 0; background: #e2e8f0; cursor: col-resize;
|
|
1405
|
+
display: flex; align-items: center; justify-content: center;
|
|
1406
|
+
transition: background 0.15s;
|
|
1407
|
+
|
|
1408
|
+
&:hover, &[data-dragging] { background: #3b82f6; }
|
|
1409
|
+
}
|
|
1410
|
+
|
|
1411
|
+
&[data-orientation="horizontal"] [data-handle] { width: 4px; }
|
|
1412
|
+
&[data-orientation="vertical"] [data-handle] { height: 4px; cursor: row-resize; }
|
|
1413
|
+
}
|
|
1414
|
+
|
|
1101
1415
|
/* ── Dark Mode ── */
|
|
1102
1416
|
|
|
1103
1417
|
[data-theme="dark"] {
|
|
@@ -1239,6 +1553,8 @@ html.no-transition, html.no-transition * { transition: none !important; }
|
|
|
1239
1553
|
|
|
1240
1554
|
/* OTP Field */
|
|
1241
1555
|
.gallery [role="group"][aria-label="One-time password"] input { border-color: #475569; background: #0f172a; color: #e2e8f0; }
|
|
1556
|
+
.gallery [role="group"][aria-label="One-time password"] input[data-filled] { border-color: #3b82f6; }
|
|
1557
|
+
.gallery [role="group"][aria-label="One-time password"][data-complete] input { border-color: #22c55e; background: #052e16; }
|
|
1242
1558
|
|
|
1243
1559
|
/* MultiSelect */
|
|
1244
1560
|
.gallery [data-chips] { border-color: #475569; background: #1e293b; }
|
|
@@ -1261,8 +1577,9 @@ html.no-transition, html.no-transition * { transition: none !important; }
|
|
|
1261
1577
|
.gallery [data-weekdays] [data-weekday] { color: #64748b; }
|
|
1262
1578
|
.gallery [data-days] button { color: #e2e8f0; }
|
|
1263
1579
|
.gallery [data-days] button:hover { background: #334155; }
|
|
1580
|
+
.gallery [data-days] button:active:not([data-selected]) { background: #1e3a5f; color: #93c5fd; }
|
|
1264
1581
|
.gallery [data-days] button[data-outside] { color: #475569; }
|
|
1265
|
-
.gallery [data-days] button[data-in-range] { background: #
|
|
1582
|
+
.gallery [data-days] button[data-in-range] { background: #1e3a5f; color: #93c5fd; }
|
|
1266
1583
|
.gallery [data-trigger]:has(+ [data-calendar]) { border-color: #475569; background: #334155; color: #e2e8f0; }
|
|
1267
1584
|
.gallery [data-trigger][aria-haspopup] { border-color: #475569; background: #334155; color: #e2e8f0; }
|
|
1268
1585
|
|
|
@@ -1290,9 +1607,9 @@ html.no-transition, html.no-transition * { transition: none !important; }
|
|
|
1290
1607
|
.gallery nav[role="navigation"] [data-nav-panel] a:hover { background: #334155; color: #e2e8f0; }
|
|
1291
1608
|
|
|
1292
1609
|
/* ToggleGroup / RadioGroup / CheckboxGroup */
|
|
1293
|
-
.gallery [role="group"][data-orientation] button[aria-pressed] { border-color: #475569; background: #1e293b; color: #64748b; }
|
|
1294
|
-
.gallery [role="group"][data-orientation] button[aria-pressed][data-pressed="true"] { background: #3b82f6; color: white; border-color: #3b82f6; }
|
|
1295
|
-
.gallery [role="group"][data-orientation] button[aria-pressed]:hover:not([data-pressed="true"]) { background: #334155; color: #94a3b8; }
|
|
1610
|
+
.gallery [role="group"][data-orientation]:has(button[aria-pressed]) button[aria-pressed] { border-color: #475569; background: #1e293b; color: #64748b; }
|
|
1611
|
+
.gallery [role="group"][data-orientation]:has(button[aria-pressed]) button[aria-pressed][data-pressed="true"] { background: #3b82f6; color: white; border-color: #3b82f6; }
|
|
1612
|
+
.gallery [role="group"][data-orientation]:has(button[aria-pressed]) button[aria-pressed]:hover:not([data-pressed="true"]) { background: #334155; color: #94a3b8; }
|
|
1296
1613
|
.gallery [role="radiogroup"] [role="radio"] { border-color: #475569; background: #1e293b; color: #94a3b8; }
|
|
1297
1614
|
.gallery [role="radiogroup"] [role="radio"][data-checked] { background: #172554; color: #60a5fa; border-color: #3b82f6; }
|
|
1298
1615
|
.gallery [role="radiogroup"] [role="radio"]:hover:not([data-checked]) { background: #334155; }
|
|
@@ -1306,6 +1623,82 @@ html.no-transition, html.no-transition * { transition: none !important; }
|
|
|
1306
1623
|
.gallery [role="toolbar"] button:hover { background: #1e293b; color: #e2e8f0; box-shadow: 0 1px 3px rgba(0,0,0,0.3); }
|
|
1307
1624
|
.gallery [role="toolbar"] button[aria-pressed="true"] { background: #1e293b; color: #60a5fa; box-shadow: 0 1px 3px rgba(0,0,0,0.3); }
|
|
1308
1625
|
|
|
1626
|
+
/* Badge */
|
|
1627
|
+
.gallery [data-variant="solid"] { background: #2563eb; }
|
|
1628
|
+
.gallery [data-variant="outline"] { color: #60a5fa; border-color: #60a5fa; }
|
|
1629
|
+
.gallery [data-variant="subtle"] { background: #172554; color: #60a5fa; }
|
|
1630
|
+
|
|
1631
|
+
/* Kbd */
|
|
1632
|
+
.gallery kbd:not(.api kbd) { background: #1e293b; border-color: #475569; color: #94a3b8; box-shadow: 0 1px 0 #475569; }
|
|
1633
|
+
|
|
1634
|
+
/* Skeleton */
|
|
1635
|
+
.gallery [aria-busy="true"][role="status"]:not([aria-label="Carousel"]) { background: linear-gradient(90deg, #334155 25%, #475569 50%, #334155 75%); background-size: 200% 100%; }
|
|
1636
|
+
|
|
1637
|
+
/* Spinner */
|
|
1638
|
+
.gallery .spinner-demo [role="status"][aria-label] { border-color: #334155; border-top-color: #60a5fa; }
|
|
1639
|
+
|
|
1640
|
+
/* Card */
|
|
1641
|
+
.gallery .card-demo > div { background: #1e293b; border-color: #334155; }
|
|
1642
|
+
.gallery .card-demo > div [data-header] h3 { color: #e2e8f0; }
|
|
1643
|
+
.gallery .card-demo > div [data-content] { color: #94a3b8; }
|
|
1644
|
+
|
|
1645
|
+
/* Label */
|
|
1646
|
+
.gallery label[data-required] { color: #cbd5e1; }
|
|
1647
|
+
|
|
1648
|
+
/* Textarea */
|
|
1649
|
+
.gallery textarea { border-color: #475569; background: #0f172a; color: #e2e8f0; }
|
|
1650
|
+
|
|
1651
|
+
/* NativeSelect */
|
|
1652
|
+
.gallery .native-select-demo select { border-color: #475569; background: #1e293b; color: #e2e8f0; }
|
|
1653
|
+
|
|
1654
|
+
/* InputGroup */
|
|
1655
|
+
.gallery .input-group-demo > div { border-color: #475569; }
|
|
1656
|
+
.gallery .input-group-demo > div [data-prefix], .gallery .input-group-demo > div [data-suffix] { background: #0f172a; color: #94a3b8; border-color: #334155; }
|
|
1657
|
+
.gallery .input-group-demo > div input { color: #e2e8f0; background: #1e293b; }
|
|
1658
|
+
|
|
1659
|
+
/* ButtonGroup */
|
|
1660
|
+
.gallery [role="group"][data-orientation]:not(:has(button[aria-pressed])):not([role="radiogroup"]) button { border-color: #475569; background: #1e293b; color: #e2e8f0; }
|
|
1661
|
+
.gallery [role="group"][data-orientation]:not(:has(button[aria-pressed])):not([role="radiogroup"]) button:hover { background: #334155; }
|
|
1662
|
+
|
|
1663
|
+
/* AlertDialog */
|
|
1664
|
+
.gallery .alert-dialog-panel { background: #1e293b; box-shadow: 0 4px 16px rgba(0,0,0,0.4); }
|
|
1665
|
+
|
|
1666
|
+
/* Sheet */
|
|
1667
|
+
.gallery [data-sheet] { background: #1e293b; box-shadow: 0 0 24px rgba(0,0,0,0.4); }
|
|
1668
|
+
.gallery [data-sheet] h2 { color: #e2e8f0; }
|
|
1669
|
+
.gallery [data-sheet] p { color: #94a3b8; }
|
|
1670
|
+
|
|
1671
|
+
/* Breadcrumb */
|
|
1672
|
+
.gallery nav[aria-label="Breadcrumb"] ol [data-item] { color: #94a3b8; }
|
|
1673
|
+
.gallery nav[aria-label="Breadcrumb"] ol [data-item]:hover:not([data-current]) { color: #e2e8f0; }
|
|
1674
|
+
.gallery nav[aria-label="Breadcrumb"] ol [data-item] + [data-item]::before { color: #475569; }
|
|
1675
|
+
.gallery nav[aria-label="Breadcrumb"] ol [data-current] { color: #e2e8f0; }
|
|
1676
|
+
|
|
1677
|
+
/* Table */
|
|
1678
|
+
.gallery .table-demo table caption { color: #e2e8f0; }
|
|
1679
|
+
.gallery .table-demo table th { color: #94a3b8; border-bottom-color: #334155; }
|
|
1680
|
+
.gallery .table-demo table td { color: #e2e8f0; border-bottom-color: #334155; }
|
|
1681
|
+
.gallery .table-demo table[data-striped] tbody tr:nth-child(even) td { background: #172032; }
|
|
1682
|
+
|
|
1683
|
+
/* Collapsible */
|
|
1684
|
+
.gallery .collapsible-demo [data-content] { border-color: #334155; color: #94a3b8; }
|
|
1685
|
+
|
|
1686
|
+
/* Pagination */
|
|
1687
|
+
.gallery nav[aria-label="Pagination"] button { border-color: #475569; background: #1e293b; color: #94a3b8; }
|
|
1688
|
+
.gallery nav[aria-label="Pagination"] button:hover:not(:disabled) { background: #334155; border-color: #64748b; }
|
|
1689
|
+
.gallery nav[aria-label="Pagination"] button[data-active] { background: #3b82f6; color: white; border-color: #3b82f6; }
|
|
1690
|
+
.gallery nav[aria-label="Pagination"] [data-ellipsis] { color: #64748b; }
|
|
1691
|
+
|
|
1692
|
+
/* Carousel */
|
|
1693
|
+
.gallery [aria-roledescription="carousel"] { border-color: #334155; background: #1e293b; }
|
|
1694
|
+
.gallery [aria-roledescription="carousel"] [data-prev], .gallery [aria-roledescription="carousel"] [data-next] { border-color: #475569; background: #1e293b; color: #94a3b8; box-shadow: 0 2px 6px rgba(0,0,0,0.3); }
|
|
1695
|
+
.gallery [aria-roledescription="carousel"] [data-prev]:hover:not(:disabled), .gallery [aria-roledescription="carousel"] [data-next]:hover:not(:disabled) { background: #334155; }
|
|
1696
|
+
|
|
1697
|
+
/* Resizable */
|
|
1698
|
+
.gallery .resizable-demo > div { border-color: #334155; }
|
|
1699
|
+
.gallery .resizable-demo > div [data-panel] { background: #1e293b; color: #94a3b8; }
|
|
1700
|
+
.gallery .resizable-demo > div [data-handle] { background: #475569; }
|
|
1701
|
+
|
|
1309
1702
|
/* Shared demo styles */
|
|
1310
1703
|
.context-zone { border-color: #64748b; color: #94a3b8; }
|
|
1311
1704
|
.dialog-desc { color: #94a3b8; }
|
|
@@ -1327,22 +1720,22 @@ html.no-transition, html.no-transition * { transition: none !important; }
|
|
|
1327
1720
|
.source-close:hover { background: #334155; color: #e2e8f0; }
|
|
1328
1721
|
.source-gutter { color: #475569; border-right-color: #334155; }
|
|
1329
1722
|
.source-code { color: #e2e8f0; }
|
|
1330
|
-
.source-code .hljs-comment { color: #64748b; }
|
|
1331
|
-
.source-code .hljs-keyword
|
|
1332
|
-
.source-code .hljs-built_in { color: #
|
|
1723
|
+
.source-code .hljs-comment { color: #64748b; font-style: italic; }
|
|
1724
|
+
.source-code .hljs-keyword { color: #c084fc; }
|
|
1725
|
+
.source-code .hljs-built_in { color: #a78bfa; }
|
|
1333
1726
|
.source-code .hljs-string,
|
|
1334
1727
|
.source-code .hljs-regexp { color: #86efac; }
|
|
1335
1728
|
.source-code .hljs-number,
|
|
1336
1729
|
.source-code .hljs-literal { color: #fbbf24; }
|
|
1337
1730
|
.source-code .hljs-title,
|
|
1338
|
-
.source-code .hljs-function { color: #
|
|
1731
|
+
.source-code .hljs-function { color: #93c5fd; }
|
|
1339
1732
|
.source-code .hljs-params { color: #f0abfc; }
|
|
1340
|
-
.source-code .hljs-
|
|
1341
|
-
.source-code .hljs-attribute { color: #
|
|
1342
|
-
.source-code .hljs-variable,
|
|
1733
|
+
.source-code .hljs-variable { color: #67e8f9; }
|
|
1734
|
+
.source-code .hljs-attribute { color: #5eead4; }
|
|
1343
1735
|
.source-code .hljs-property { color: #e2e8f0; }
|
|
1736
|
+
.source-code .hljs-operator { color: #94a3b8; }
|
|
1344
1737
|
.source-code .hljs-subst { color: #fca5a5; }
|
|
1345
|
-
.source-code .hljs-
|
|
1738
|
+
.source-code .hljs-type { color: #67e8f9; }
|
|
1346
1739
|
}
|
|
1347
1740
|
|
|
1348
1741
|
/* ── Shared demo styles ── */
|