@crisp-ui-kit/crisp 0.52.4 → 0.52.6
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/board.css +6 -6
- package/dist/board.layered.css +6 -6
- package/dist/bulkbar.css +2 -2
- package/dist/bulkbar.layered.css +2 -2
- package/dist/cjs/components/bulkbar/bulkbar.js +1 -1
- package/dist/cjs/components/bulkbar/bulkbar.recipe.js +2 -2
- package/dist/cjs/components/datatable/datatable.recipe.js +4 -1
- package/dist/cjs/components/input/input.recipe.js +6 -1
- package/dist/cjs/components/multiselect/multiselect.js +1 -1
- package/dist/cjs/components/multiselect/multiselect.recipe.js +1 -1
- package/dist/cjs/components/switch/switch.recipe.js +4 -0
- package/dist/cjs/components/table/table.recipe.js +5 -1
- package/dist/cjs/components/tabletoolbar/tabletoolbar.chrome.js +5 -4
- package/dist/cjs/components/tabletoolbar/tabletoolbar.js +1 -1
- package/dist/cjs/components/textarea/textarea.recipe.js +6 -1
- package/dist/cjs/components/tooltip/tooltip.recipe.js +13 -4
- package/dist/cjs/product/board/board.recipe.js +16 -6
- package/dist/cjs/product/entitycard/entitycard.recipe.js +20 -4
- package/dist/cjs/product/listpage/listpage.js +1 -1
- package/dist/cjs/product/listpage/listpage.recipe.js +5 -7
- package/dist/cjs/tokens/elevation.js +17 -2
- package/dist/cjs/tokens/palette.js +17 -0
- package/dist/cjs/tokens/semantic.js +2 -0
- package/dist/datatable.css +30 -24
- package/dist/datatable.layered.css +30 -24
- package/dist/entitycard.css +4 -4
- package/dist/entitycard.layered.css +4 -4
- package/dist/esm/components/bulkbar/bulkbar.js +1 -1
- package/dist/esm/components/bulkbar/bulkbar.recipe.js +2 -2
- package/dist/esm/components/datatable/datatable.recipe.js +4 -1
- package/dist/esm/components/input/input.recipe.js +6 -1
- package/dist/esm/components/multiselect/multiselect.js +1 -1
- package/dist/esm/components/multiselect/multiselect.recipe.js +1 -1
- package/dist/esm/components/switch/switch.recipe.js +4 -0
- package/dist/esm/components/table/table.recipe.js +5 -1
- package/dist/esm/components/tabletoolbar/tabletoolbar.chrome.js +5 -4
- package/dist/esm/components/tabletoolbar/tabletoolbar.js +1 -1
- package/dist/esm/components/textarea/textarea.recipe.js +6 -1
- package/dist/esm/components/tooltip/tooltip.recipe.js +13 -4
- package/dist/esm/product/board/board.recipe.js +16 -6
- package/dist/esm/product/entitycard/entitycard.recipe.js +20 -4
- package/dist/esm/product/listpage/listpage.js +2 -2
- package/dist/esm/product/listpage/listpage.recipe.js +5 -7
- package/dist/esm/tokens/elevation.js +17 -2
- package/dist/esm/tokens/palette.js +17 -0
- package/dist/esm/tokens/semantic.js +2 -0
- package/dist/input.css +1 -1
- package/dist/input.layered.css +1 -1
- package/dist/listpage.css +5 -5
- package/dist/listpage.layered.css +5 -5
- package/dist/multiselect.css +1 -1
- package/dist/multiselect.layered.css +1 -1
- package/dist/native/tokens.d.ts +1 -1
- package/dist/native/tokens.js +8 -0
- package/dist/recordstable.css +5 -4
- package/dist/recordstable.layered.css +5 -4
- package/dist/styles.css +69 -55
- package/dist/styles.layered.css +69 -55
- package/dist/switch.css +1 -1
- package/dist/switch.layered.css +1 -1
- package/dist/table.css +3 -1
- package/dist/table.layered.css +3 -1
- package/dist/tabletoolbar.css +5 -4
- package/dist/tabletoolbar.layered.css +5 -4
- package/dist/textarea.css +1 -1
- package/dist/textarea.layered.css +1 -1
- package/dist/tokens.css +4 -0
- package/dist/tokens.json +8 -0
- package/dist/tooltip.css +1 -1
- package/dist/tooltip.layered.css +1 -1
- package/dist/types/components/bulkbar/bulkbar.d.ts +3 -3
- package/dist/types/components/switch/switch.recipe.d.ts +1 -0
- package/dist/types/components/tooltip/tooltip.recipe.d.ts +2 -2
- package/dist/types/tokens/contract.d.ts +2 -0
- package/dist/types/tokens/elevation.d.ts +17 -2
- package/dist/types/tokens/palette.d.ts +8 -0
- package/dist/types/tokens/semantic.d.ts +2 -0
- package/package.json +1 -1
package/dist/styles.layered.css
CHANGED
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
--crisp-border-default: #e4e4e7;
|
|
9
9
|
--crisp-border-subtle: #eeeff1;
|
|
10
10
|
--crisp-ring-neutral: transparent;
|
|
11
|
+
--crisp-ring-field: rgba(0,0,0,0.06);
|
|
12
|
+
--crisp-ring-switch: #d9dade;
|
|
11
13
|
--crisp-bg-tile-active: #ffffff;
|
|
12
14
|
--crisp-shadow-tile-active: rgba(0,0,0,0.04);
|
|
13
15
|
--crisp-bg-overlay-frost: #ffffff;
|
|
@@ -55,6 +57,8 @@
|
|
|
55
57
|
--crisp-border-default: #212224;
|
|
56
58
|
--crisp-border-subtle: #1c1d1f;
|
|
57
59
|
--crisp-ring-neutral: #212224;
|
|
60
|
+
--crisp-ring-field: #212224;
|
|
61
|
+
--crisp-ring-switch: #212224;
|
|
58
62
|
--crisp-bg-tile-active: #101112;
|
|
59
63
|
--crisp-shadow-tile-active: rgba(0,0,0,0);
|
|
60
64
|
--crisp-bg-overlay-frost: #1c1d1f;
|
|
@@ -291,13 +295,13 @@
|
|
|
291
295
|
position: absolute; left: 0; right: 0; bottom: var(--crisp-space-4); display: flex; justify-content: center; pointer-events: none; z-index: 10;
|
|
292
296
|
& .crisp-bulkbar-bar { pointer-events: auto; display: flex; align-items: center; gap: var(--crisp-space-0-5); height: 48px; padding: 0 var(--crisp-space-1) 0 var(--crisp-space-1-5); border-radius: 14px; background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px var(--crisp-ring-popover), 0 0 0 1px var(--crisp-shadow-popover1), 0 4px 8px -4px var(--crisp-shadow-popover2), 0 4px 12px -2px var(--crisp-shadow-popover3); color: var(--crisp-fg-primary); transition: opacity .16s ease, transform .16s ease; }
|
|
293
297
|
& .crisp-bulkbar-bar { @starting-style { opacity: 0; transform: translateY(10px); } }
|
|
294
|
-
& .crisp-bulkbar-count { display: inline-flex; align-items: center; gap: var(--crisp-space-1); height: var(--crisp-size-menuRow); margin: 0; padding: 0 var(--crisp-space-2); border: none; border-radius: var(--crisp-radius-
|
|
298
|
+
& .crisp-bulkbar-count { display: inline-flex; align-items: center; gap: var(--crisp-space-1); height: var(--crisp-size-menuRow); margin: 0; padding: 0 var(--crisp-space-2); border: none; border-radius: var(--crisp-radius-lg); background: color-mix(in srgb, var(--crisp-fg-primary) 2%, transparent); font-family: inherit; font-size: var(--crisp-text-md); font-weight: var(--crisp-weight-medium); color: var(--crisp-fg-muted); white-space: nowrap; cursor: pointer; transition: background-color .12s; }
|
|
295
299
|
& .crisp-bulkbar-count:hover { background: color-mix(in srgb, var(--crisp-fg-primary) 8%, transparent); color: var(--crisp-fg-primary); }
|
|
296
300
|
& .crisp-bulkbar-count svg { flex-shrink: 0; }
|
|
297
301
|
/* the ", Clear selection" ARIA concatenates onto the pill's name (#324)
|
|
298
302
|
-- read, never drawn. Same technique as Slider's thumblabel. */
|
|
299
303
|
& .crisp-bulkbar-clearlabel { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
|
|
300
|
-
& .crisp-bulkbar-btn { display: inline-flex; align-items: center; gap: var(--crisp-space-1); height: var(--crisp-size-menuRow); padding: 0 var(--crisp-space-2); border: none; border-radius: var(--crisp-radius-
|
|
304
|
+
& .crisp-bulkbar-btn { display: inline-flex; align-items: center; gap: var(--crisp-space-1); height: var(--crisp-size-menuRow); padding: 0 var(--crisp-space-2); border: none; border-radius: var(--crisp-radius-lg); background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px var(--crisp-ring-neutral), 0 0 2px rgba(28,40,64,0.18), 0 1px 3px rgba(0,0,0,0.04); color: var(--crisp-fg-primary); font-family: inherit; font-size: var(--crisp-text-md); font-weight: var(--crisp-weight-medium); white-space: nowrap; cursor: pointer; transition: background-color .12s; }
|
|
301
305
|
& .crisp-bulkbar-btn:hover { background: var(--crisp-bg-raised); }
|
|
302
306
|
& .crisp-bulkbar-btn--danger { color: var(--crisp-bg-danger); }
|
|
303
307
|
& .crisp-bulkbar-btn--danger:hover { background: color-mix(in srgb, var(--crisp-bg-danger) 10%, transparent); }
|
|
@@ -573,13 +577,15 @@
|
|
|
573
577
|
& .crisp-datatable-th-rename { width: 100%; min-width: 0; height: var(--crisp-size-row); margin: 0; padding: 0 var(--crisp-space-1); border: none; border-radius: var(--crisp-radius-md); background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px var(--crisp-bg-brand-solid); font-family: inherit; font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-medium); color: var(--crisp-fg-primary); outline: none; }
|
|
574
578
|
& .crisp-datatable-th-rename:focus { box-shadow: inset 0 0 0 1px var(--crisp-bg-brand-solid); }
|
|
575
579
|
& .crisp-datatable-th-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
580
|
+
/* #465: 12px per the comment above (and Attio's measured header cell
|
|
581
|
+
padding: 0 12px) -- was still c.space["2"] (8px), drifted from its
|
|
582
|
+
own documented value. */
|
|
583
|
+
& .crisp-datatable-sort { display: flex; align-items: center; gap: var(--crisp-space-1-5); width: 100%; min-width: 0; height: 100%; margin: 0; padding: 0 var(--crisp-space-3); border: none; background: none; font: inherit; letter-spacing: inherit; color: inherit; text-align: start; cursor: pointer; }
|
|
584
|
+
/* A right-aligned column's header keeps its field-icon + label packed at the START, matching its own values only in that the VALUES right-align -- Attio's own right-aligned header (measured live: "Twitter follower
|
|
585
|
+
count") keeps the icon+label left and only the trailing column-menu
|
|
586
|
+
icon sits pinned to the right edge, independent of the label's width (#406, reversing #393's own justify-content: flex-end here). The
|
|
587
|
+
chevron's own margin-inline-start: auto below already pins IT to the end of a flex-start row with no override needed -- that's what pins
|
|
588
|
+
the trailing icon on Attio too. */
|
|
583
589
|
& .crisp-datatable-chevron { margin-inline-start: auto; flex-shrink: 0; color: var(--crisp-fg-muted); opacity: 0; transition: opacity .12s; }
|
|
584
590
|
& .crisp-datatable-sort:hover .crisp-datatable-chevron { opacity: 0.6; }
|
|
585
591
|
& .crisp-datatable-sort[data-sorted] .crisp-datatable-chevron { opacity: 1; color: var(--crisp-fg-primary); }
|
|
@@ -603,25 +609,23 @@
|
|
|
603
609
|
& .crisp-datatable-editable:hover { background: color-mix(in srgb, var(--crisp-fg-primary) 4%, var(--crisp-bg-surface)); cursor: text; }
|
|
604
610
|
& .crisp-datatable-edit { width: 100%; height: 28px; margin: 0; padding: 0 var(--crisp-space-1-5); border: none; border-radius: var(--crisp-radius-sm); background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px var(--crisp-bg-brand-solid); font-family: inherit; font-size: var(--crisp-text-lg); color: var(--crisp-fg-primary); outline: none; vertical-align: middle; }
|
|
605
611
|
& .crisp-datatable-edit:focus { box-shadow: inset 0 0 0 1px var(--crisp-bg-brand-solid); }
|
|
606
|
-
/* An async onEdit's in-flight state (#385) -- the field/picker dims and
|
|
607
|
-
stops accepting input rather than disappearing, so the just-typed or
|
|
608
|
-
just-chosen value stays visible while its commit is pending. Same
|
|
609
|
-
treatment Input already gives its own disabled state. */
|
|
612
|
+
/* An async onEdit's in-flight state (#385) -- the field/picker dims and stops accepting input rather than disappearing, so the just-typed or just-chosen value stays visible while its commit is pending. Same treatment Input already gives its own disabled state. */
|
|
610
613
|
& .crisp-datatable-edit:disabled { opacity: 0.5; cursor: not-allowed; }
|
|
611
614
|
& .crisp-datatable-edit-pending { flex-shrink: 0; margin-inline-start: var(--crisp-space-1); color: var(--crisp-fg-muted); vertical-align: middle; }
|
|
612
|
-
/* The rejection's message, beside the cell's own content -- a sibling in
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
the row below, so it can never end up clipped by the scroll
|
|
616
|
-
container's overflow the way a position:fixed escape would need guarding against. */
|
|
615
|
+
/* The rejection's message, beside the cell's own content -- a sibling in the TableCell, never nested inside a column's own render output, so a
|
|
616
|
+
hover-only wrapper (a Tooltip, say) around a custom render can't hide it. Block-level: the row grows to fit it rather than floating over the row below, so it can never end up clipped by the scroll container's overflow the way a position:fixed escape would need
|
|
617
|
+
guarding against. */
|
|
617
618
|
& .crisp-datatable-edit-error { display: block; padding: var(--crisp-space-0-5) 0 0; font-size: var(--crisp-text-sm); color: var(--crisp-bg-danger); }
|
|
618
|
-
/* editor: "select"/"switch" -- always live, no separate edit mode, so
|
|
619
|
-
|
|
619
|
+
/* editor: "select"/"switch" -- always live, no separate edit mode, so
|
|
620
|
+
the cell IS the picker: same chromeless-fill treatment as
|
|
621
|
+
RecordsTable's own --picker cells (measured there already; DataTable shares RecordsTable's grid, Golden Rule 0). */
|
|
620
622
|
& .crisp-datatable-td--picker { padding: 0; }
|
|
621
623
|
& .crisp-datatable-edit-picker { display: flex; align-items: center; gap: var(--crisp-space-1); height: var(--crisp-size-tableRow); padding: 0 var(--crisp-space-2); }
|
|
622
624
|
& .crisp-datatable-edit-picker .crisp-select-trigger { flex: 1; min-width: 0; height: 100%; min-height: 0; border-radius: 0; box-shadow: none; padding: 0; }
|
|
623
625
|
& .crisp-datatable-td--picker .crisp-datatable-edit-error { padding-inline-start: var(--crisp-space-2); }
|
|
624
|
-
/* reference picker: a leading 16px avatar per option, plus a trailing
|
|
626
|
+
/* reference picker: a leading 16px avatar per option, plus a trailing
|
|
627
|
+
"Create X" row when the consumer supplies one (#449) -- same measured
|
|
628
|
+
values as RecordsTable's own .crisp-recordstable-refoption*. */
|
|
625
629
|
& .crisp-datatable-refoption { display: flex; align-items: center; gap: var(--crisp-space-2); min-width: 0; overflow: hidden; text-overflow: ellipsis; }
|
|
626
630
|
& .crisp-datatable-refoption-avatar { flex-shrink: 0; }
|
|
627
631
|
& .crisp-datatable-refoption--create { color: var(--crisp-fg-muted); }
|
|
@@ -636,7 +640,12 @@
|
|
|
636
640
|
& .crisp-datatable-entity { display: flex; align-items: center; gap: var(--crisp-space-1-5); min-width: 0; color: var(--crisp-fg-primary); font-weight: var(--crisp-weight-medium); }
|
|
637
641
|
& .crisp-datatable-entity-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
638
642
|
& .crisp-datatable-avatar { width: var(--crisp-size-icon); height: var(--crisp-size-icon); border-radius: var(--crisp-radius-sm); flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; font-size: 10px; line-height: 1; font-weight: var(--crisp-weight-semibold); text-transform: uppercase; color: var(--crisp-fg-on-brand); background: var(--crisp-bg-brand-solid); }
|
|
639
|
-
& .crisp-datatable-avatar[data-tone="success"] { background: var(--crisp-bg-success); }
|
|
643
|
+
& .crisp-datatable-avatar[data-tone="success"] { background: var(--crisp-bg-success); }
|
|
644
|
+
& .crisp-datatable-avatar[data-tone="warning"] { background: var(--crisp-bg-warning); }
|
|
645
|
+
& .crisp-datatable-avatar[data-tone="danger"] { background: var(--crisp-bg-danger); }
|
|
646
|
+
& .crisp-datatable-avatar[data-tone="purple"] { background: var(--crisp-bg-purple); }
|
|
647
|
+
& .crisp-datatable-avatar[data-tone="cyan"] { background: var(--crisp-bg-cyan); }
|
|
648
|
+
& .crisp-datatable-avatar[data-tone="orange"] { background: var(--crisp-bg-orange); }
|
|
640
649
|
& .crisp-datatable-avatar img { width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
|
|
641
650
|
& .crisp-datatable-tags { display: flex; align-items: center; gap: var(--crisp-space-1); overflow: hidden; }
|
|
642
651
|
& .crisp-datatable-tag { display: inline-flex; align-items: center; height: var(--crisp-size-chip); padding: 0 var(--crisp-space-1); border-radius: var(--crisp-radius-chip); font-size: var(--crisp-text-lg); line-height: 20px; font-weight: var(--crisp-weight-medium); white-space: nowrap; background: color-mix(in srgb, var(--crisp-fg-primary) 6%, transparent); color: color-mix(in srgb, var(--crisp-fg-primary) 82%, transparent); }
|
|
@@ -649,10 +658,11 @@
|
|
|
649
658
|
& .crisp-datatable-tag[data-tone="orange"] { background: color-mix(in srgb, var(--crisp-bg-orange) 16%, transparent); color: color-mix(in srgb, var(--crisp-bg-orange) 82%, var(--crisp-fg-primary)); }
|
|
650
659
|
& .crisp-datatable-num { font-variant-numeric: tabular-nums; }
|
|
651
660
|
& .crisp-datatable-muted { color: var(--crisp-fg-muted); }
|
|
652
|
-
/* row drag-to-reorder -- a Settings > Objects > Attributes screen measures
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
(RecordsTable's reorderColumn) -- not a proprietary
|
|
661
|
+
/* row drag-to-reorder -- a Settings > Objects > Attributes screen measures a leading 20px grip column, a 16px grip icon, and the row's own
|
|
662
|
+
hairline doubling as the drop indicator (it tints toward the brand
|
|
663
|
+
colour as the active drop target). The affordance + geometry are
|
|
664
|
+
measured; the drag MECHANISM is crisp's existing house idiom -- HTML5 draggable + dataTransfer, the same one column reorder already uses (RecordsTable's reorderColumn) -- not a proprietary
|
|
665
|
+
pointer-events implementation. */
|
|
656
666
|
& .crisp-datatable-col-grip { width: 20px; padding: 0; text-align: center; }
|
|
657
667
|
& .crisp-datatable-grip { display: inline-flex; align-items: center; justify-content: center; width: 100%; height: 100%; margin: 0; border: none; border-radius: 0; background: none; font-family: inherit; color: var(--crisp-fg-muted); cursor: grab; }
|
|
658
668
|
& .crisp-datatable-grip:active { cursor: grabbing; }
|
|
@@ -1017,7 +1027,7 @@
|
|
|
1017
1027
|
}
|
|
1018
1028
|
|
|
1019
1029
|
.crisp-input {
|
|
1020
|
-
position: relative; box-sizing: border-box; display: inline-flex; align-items: center; width: 100%; background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px var(--crisp-ring-
|
|
1030
|
+
position: relative; box-sizing: border-box; display: inline-flex; align-items: center; width: 100%; background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px var(--crisp-ring-field); font-family: var(--crisp-font-sans); font-size: var(--crisp-text-lg); line-height: 20px;
|
|
1021
1031
|
&::after { content: ""; position: absolute; inset: 0; border-radius: inherit; border: 2px solid transparent; transition: border-color .1s ease; pointer-events: none; }
|
|
1022
1032
|
&:focus-within::after { border-color: var(--crisp-stroke-field-focus); }
|
|
1023
1033
|
& .crisp-input-value { box-sizing: border-box; flex: 1 1 auto; min-width: 0; width: 100%; align-self: stretch; margin: 0; border: none; background: none; outline: none; font: inherit; color: var(--crisp-fg-primary); }
|
|
@@ -1136,7 +1146,7 @@
|
|
|
1136
1146
|
}
|
|
1137
1147
|
.crisp-multiselect-listbox[data-up] { transform-origin: bottom left; }
|
|
1138
1148
|
.crisp-multiselect-listbox { @starting-style { opacity: 0; transform: scale(0.97) translateY(-1px); } }
|
|
1139
|
-
.crisp-multiselect-search { display: flex; align-items: center; gap: var(--crisp-space-
|
|
1149
|
+
.crisp-multiselect-search { display: flex; align-items: center; gap: var(--crisp-space-1-5); height: 36px; flex-shrink: 0; margin: calc(-1 * var(--crisp-space-1)) calc(-1 * var(--crisp-space-1)) var(--crisp-space-1); padding: var(--crisp-space-2) var(--crisp-space-3); color: var(--crisp-fg-muted); }
|
|
1140
1150
|
.crisp-multiselect-search svg { flex-shrink: 0; }
|
|
1141
1151
|
.crisp-multiselect-search input { flex: 1; min-width: 0; border: none; outline: none; background: none; font-family: inherit; font-size: var(--crisp-text-lg); color: var(--crisp-fg-primary); }
|
|
1142
1152
|
.crisp-multiselect-search input::placeholder { color: var(--crisp-fg-muted); }
|
|
@@ -1547,7 +1557,7 @@
|
|
|
1547
1557
|
|
|
1548
1558
|
.crisp-switch {
|
|
1549
1559
|
display: inline-flex; align-items: center; flex-shrink: 0; width: 24px; height: 16px; padding: 0; margin: 0; border: none; border-radius: var(--crisp-radius-full); background: color-mix(in srgb, var(--crisp-fg-primary) 9%, transparent); cursor: pointer; transition: background-color .2s ease; -webkit-tap-highlight-color: transparent;
|
|
1550
|
-
& .crisp-switch-thumb { width: 12px; height: 12px; margin: 0 2px; border-radius: var(--crisp-radius-full); background: #fff; transition: transform .2s ease; }
|
|
1560
|
+
& .crisp-switch-thumb { width: 12px; height: 12px; margin: 0 2px; border-radius: var(--crisp-radius-full); background: #fff; box-shadow: 0 0 0 1px var(--crisp-ring-switch); transition: transform .2s ease; }
|
|
1551
1561
|
&[data-checked] { background: var(--crisp-bg-brand-solid); }
|
|
1552
1562
|
&[data-checked] .crisp-switch-thumb { transform: translateX(8px); }
|
|
1553
1563
|
&:focus-visible { outline: 2px solid var(--crisp-bg-brand-solid); outline-offset: 2px; }
|
|
@@ -1566,7 +1576,9 @@
|
|
|
1566
1576
|
display: block; box-sizing: border-box; background: var(--crisp-bg-surface);
|
|
1567
1577
|
& .crisp-table-scroll { overflow-x: auto; }
|
|
1568
1578
|
& table { width: 100%; border-collapse: separate; border-spacing: 0; font-family: var(--crisp-font-sans); font-size: var(--crisp-text-lg); color: var(--crisp-fg-primary); }
|
|
1569
|
-
|
|
1579
|
+
/* #465: 12px, not crisp's old 8px -- measured on a live header cell
|
|
1580
|
+
(padding: 0 12px) and independently on a body cell's text inset (getBoundingClientRect delta from the cell edge). Matches ColumnCalc's own already-correct 12px trigger inset. */
|
|
1581
|
+
& th, & td { position: relative; height: var(--crisp-size-tableRow); padding: 0 var(--crisp-space-3); border-bottom: 1px solid var(--crisp-border-subtle); border-inline-end: 1px solid var(--crisp-border-subtle); text-align: start; vertical-align: middle; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
1570
1582
|
& th { height: var(--crisp-size-tableHeader); background: var(--crisp-bg-surface); border-top: 1px solid var(--crisp-border-subtle); font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-medium); letter-spacing: -0.14px; color: color-mix(in srgb, var(--crisp-fg-primary) 63%, transparent); user-select: none; }
|
|
1571
1583
|
& td { color: var(--crisp-fg-primary); background: var(--crisp-bg-surface); }
|
|
1572
1584
|
& th:last-child, & td:last-child { border-inline-end: none; }
|
|
@@ -1603,7 +1615,7 @@
|
|
|
1603
1615
|
.crisp-tabletoolbar {
|
|
1604
1616
|
display: contents; font-family: var(--crisp-font-sans); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
|
|
1605
1617
|
& * { box-sizing: border-box; }
|
|
1606
|
-
& .crisp-tabletoolbar-toolbar { display: flex; align-items: center; gap: var(--crisp-space-
|
|
1618
|
+
& .crisp-tabletoolbar-toolbar { display: flex; align-items: center; gap: var(--crisp-space-2); padding: 0 var(--crisp-space-3) var(--crisp-space-2); }
|
|
1607
1619
|
& .crisp-tabletoolbar-toolbar[data-inline] { padding-bottom: 0; }
|
|
1608
1620
|
& .crisp-tabletoolbar-search { display: flex; align-items: center; gap: var(--crisp-space-1-5); height: var(--crisp-size-row); padding: 0 var(--crisp-space-2-5); border: none; border-radius: var(--crisp-radius-md); background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px var(--crisp-border-subtle); color: var(--crisp-fg-muted); }
|
|
1609
1621
|
& .crisp-tabletoolbar-search svg { flex-shrink: 0; }
|
|
@@ -1616,10 +1628,11 @@
|
|
|
1616
1628
|
& .crisp-tabletoolbar-tool--ghost { box-shadow: none; background: color-mix(in srgb, var(--crisp-fg-primary) 3%, transparent); color: var(--crisp-fg-muted); }
|
|
1617
1629
|
& .crisp-tabletoolbar-tool--ghost:hover { background: color-mix(in srgb, var(--crisp-fg-primary) 6%, transparent); }
|
|
1618
1630
|
& .crisp-tabletoolbar-toolgroup { position: relative; display: inline-flex; }
|
|
1619
|
-
& .crisp-tabletoolbar-
|
|
1631
|
+
& .crisp-tabletoolbar-divider { flex-shrink: 0; width: 1px; height: 20px; background: var(--crisp-border-subtle); }
|
|
1632
|
+
& .crisp-tabletoolbar-menu { position: absolute; top: calc(100% + var(--crisp-space-1)); left: 0; z-index: 30; min-width: 232px; padding: var(--crisp-space-1); border-radius: var(--crisp-radius-xl); background: var(--crisp-bg-popover); box-shadow: inset 0 0 0 1px var(--crisp-ring-popover), 0 0 0 1px var(--crisp-shadow-popover1), 0 4px 8px -4px var(--crisp-shadow-popover2), 0 4px 12px -2px var(--crisp-shadow-popover3); display: flex; flex-direction: column; gap: var(--crisp-space-px); transform-origin: top; opacity: 1; transform: none; transition: opacity .13s ease, transform .13s ease; }
|
|
1620
1633
|
& .crisp-tabletoolbar-menu { @starting-style { opacity: 0; transform: scale(0.96); } }
|
|
1621
1634
|
& .crisp-tabletoolbar-menu-head { padding: var(--crisp-space-1) var(--crisp-space-2) var(--crisp-space-0-5); font-size: var(--crisp-text-sm); font-weight: var(--crisp-weight-medium); color: var(--crisp-fg-muted); }
|
|
1622
|
-
& .crisp-tabletoolbar-sortpop { min-width:
|
|
1635
|
+
& .crisp-tabletoolbar-sortpop { min-width: 480px; overflow: visible; padding: var(--crisp-space-3) var(--crisp-space-1-5); gap: var(--crisp-space-2); }
|
|
1623
1636
|
& .crisp-tabletoolbar-sort-empty { padding: var(--crisp-space-1) var(--crisp-space-1) var(--crisp-space-2); font-size: var(--crisp-text-md); color: var(--crisp-fg-muted); }
|
|
1624
1637
|
& .crisp-tabletoolbar-sort-row { display: flex; align-items: center; gap: var(--crisp-space-1-5); }
|
|
1625
1638
|
& .crisp-tabletoolbar-sort-grip { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 28px; flex-shrink: 0; margin-right: calc(-1 * var(--crisp-space-1)); padding: 0; border: none; background: none; color: var(--crisp-fg-muted); cursor: grab; }
|
|
@@ -1640,7 +1653,7 @@
|
|
|
1640
1653
|
& .crisp-tabletoolbar-sort-learn { display: inline-flex; align-items: center; gap: var(--crisp-space-1-5); font-size: var(--crisp-text-lg); color: color-mix(in srgb, var(--crisp-fg-primary) 63%, transparent); text-decoration: none; }
|
|
1641
1654
|
& .crisp-tabletoolbar-sort-learn svg { flex-shrink: 0; }
|
|
1642
1655
|
& .crisp-tabletoolbar-sort-learn:hover { color: var(--crisp-fg-primary); }
|
|
1643
|
-
& .crisp-tabletoolbar-menu-item { display: flex; align-items: center; gap: var(--crisp-space-
|
|
1656
|
+
& .crisp-tabletoolbar-menu-item { display: flex; align-items: center; gap: var(--crisp-space-1-5); width: 100%; height: var(--crisp-size-menuRow); margin: 0; padding: 0 var(--crisp-space-2); border: none; background: none; border-radius: var(--crisp-radius-md); font-family: inherit; font-size: var(--crisp-text-lg); color: var(--crisp-fg-primary); text-align: left; cursor: pointer; }
|
|
1644
1657
|
& .crisp-tabletoolbar-menu-item:hover { background: var(--crisp-bg-raised); }
|
|
1645
1658
|
& .crisp-tabletoolbar-menu-item:disabled { opacity: 0.4; cursor: default; }
|
|
1646
1659
|
& .crisp-tabletoolbar-menu-item:disabled:hover { background: none; }
|
|
@@ -1705,7 +1718,7 @@
|
|
|
1705
1718
|
|
|
1706
1719
|
.crisp-textarea {
|
|
1707
1720
|
position: relative; display: block; width: 100%; font-family: var(--crisp-font-sans);
|
|
1708
|
-
& .crisp-textarea-field { box-sizing: border-box; display: block; width: 100%; min-height: 80px; resize: vertical; margin: 0; padding: var(--crisp-space-2-5) 14px; border: none; border-radius: var(--crisp-radius-md); background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px var(--crisp-ring-
|
|
1721
|
+
& .crisp-textarea-field { box-sizing: border-box; display: block; width: 100%; min-height: 80px; resize: vertical; margin: 0; padding: var(--crisp-space-2-5) 14px; border: none; border-radius: var(--crisp-radius-md); background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px var(--crisp-ring-field); font-family: inherit; font-size: var(--crisp-text-lg); line-height: 20px; color: var(--crisp-fg-primary); outline: none; transition: box-shadow .15s ease; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
|
|
1709
1722
|
& .crisp-textarea-field::placeholder { color: var(--crisp-fg-muted); }
|
|
1710
1723
|
& .crisp-textarea-field:disabled { opacity: 0.5; cursor: not-allowed; }
|
|
1711
1724
|
/* seed-design's focus treatment, same as Input: a 2px ring on an ::after
|
|
@@ -1760,7 +1773,7 @@
|
|
|
1760
1773
|
}
|
|
1761
1774
|
|
|
1762
1775
|
.crisp-tooltip {
|
|
1763
|
-
position: fixed; z-index: 70; box-sizing: border-box; pointer-events: none; max-width: 260px; padding: var(--crisp-space-1) var(--crisp-space-2); border-radius: var(--crisp-radius-
|
|
1776
|
+
position: fixed; z-index: 70; box-sizing: border-box; pointer-events: none; max-width: 260px; padding: var(--crisp-space-1-5) var(--crisp-space-2); border-radius: var(--crisp-radius-md); background: #101112; color: #eeeff1; font-family: var(--crisp-font-sans); font-size: var(--crisp-text-sm); font-weight: var(--crisp-weight-medium); line-height: 1.45; box-shadow: 0 4px 14px -2px rgba(28,40,64,0.28), 0 0 0 1px rgba(255,255,255,0.04); opacity: 1; transition: opacity 0.12s ease;
|
|
1764
1777
|
@starting-style { opacity: 0; }
|
|
1765
1778
|
}
|
|
1766
1779
|
|
|
@@ -1861,19 +1874,19 @@
|
|
|
1861
1874
|
}
|
|
1862
1875
|
|
|
1863
1876
|
.crisp-board {
|
|
1864
|
-
display: flex; gap: var(--crisp-space-
|
|
1865
|
-
& .crisp-board-col { display: flex; flex-direction: column; width:
|
|
1877
|
+
display: flex; gap: var(--crisp-space-2); height: 100%; box-sizing: border-box; padding: var(--crisp-space-3); overflow-x: auto; align-items: flex-start; font-family: var(--crisp-font-sans);
|
|
1878
|
+
& .crisp-board-col { display: flex; flex-direction: column; width: 268px; flex-shrink: 0; max-height: 100%; box-sizing: border-box; }
|
|
1866
1879
|
& .crisp-board-col-header { display: flex; align-items: center; gap: var(--crisp-space-2); height: 36px; padding: 0 var(--crisp-space-1); flex-shrink: 0; }
|
|
1867
|
-
& .crisp-board-col-dot { width:
|
|
1880
|
+
& .crisp-board-col-dot { width: 12px; height: 12px; border-radius: var(--crisp-radius-full); flex-shrink: 0; }
|
|
1868
1881
|
& .crisp-board-col-title { font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-semibold); color: var(--crisp-fg-primary); }
|
|
1869
|
-
& .crisp-board-col-count { font-size: var(--crisp-text-
|
|
1870
|
-
& .crisp-board-col-add { display: inline-flex; align-items: center; justify-content: center; width:
|
|
1882
|
+
& .crisp-board-col-count { display: inline-flex; align-items: center; justify-content: center; min-width: 16px; height: 16px; padding: 0 var(--crisp-space-1); border-radius: var(--crisp-radius-sm); background: color-mix(in srgb, var(--crisp-fg-primary) 4%, transparent); font-size: var(--crisp-text-sm); font-weight: var(--crisp-weight-medium); color: color-mix(in srgb, var(--crisp-fg-primary) 63%, transparent); }
|
|
1883
|
+
& .crisp-board-col-add { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; margin-inline-start: auto; padding: 0; border: none; border-radius: var(--crisp-radius-sm); background: none; color: var(--crisp-fg-muted); font-family: inherit; cursor: pointer; }
|
|
1871
1884
|
& .crisp-board-col-add:hover { background: color-mix(in srgb, var(--crisp-fg-primary) 6%, transparent); color: var(--crisp-fg-primary); }
|
|
1872
1885
|
& .crisp-board-col-body { display: flex; flex-direction: column; gap: var(--crisp-space-2); flex: 1; min-height: 48px; padding: var(--crisp-space-1); border-radius: var(--crisp-radius-lg); overflow-y: auto; transition: background 0.12s; }
|
|
1873
1886
|
& .crisp-board-col[data-over] .crisp-board-col-body { background: color-mix(in srgb, var(--crisp-bg-brand-solid) 7%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--crisp-bg-brand-solid) 30%, transparent); }
|
|
1874
1887
|
& .crisp-board-newcard { display: flex; align-items: center; justify-content: center; gap: var(--crisp-space-1-5); height: 32px; flex-shrink: 0; border: none; border-radius: var(--crisp-radius-md); background: color-mix(in srgb, var(--crisp-fg-primary) 4%, transparent); color: var(--crisp-fg-muted); font-family: inherit; font-size: var(--crisp-text-md); font-weight: var(--crisp-weight-medium); cursor: pointer; }
|
|
1875
1888
|
& .crisp-board-newcard:hover { background: color-mix(in srgb, var(--crisp-fg-primary) 7%, transparent); color: var(--crisp-fg-primary); }
|
|
1876
|
-
& .crisp-board-card { display: flex; flex-direction: column; gap: var(--crisp-space-2); box-sizing: border-box; padding: var(--crisp-space-2-5) var(--crisp-space-3); border-radius: var(--crisp-radius-
|
|
1889
|
+
& .crisp-board-card { display: flex; flex-direction: column; gap: var(--crisp-space-2); box-sizing: border-box; padding: var(--crisp-space-2-5) var(--crisp-space-3); border-radius: var(--crisp-radius-xl); background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px var(--crisp-border-subtle); cursor: grab; }
|
|
1877
1890
|
& .crisp-board-card:active { cursor: grabbing; }
|
|
1878
1891
|
& .crisp-board-card[data-dragging] { opacity: 0.4; }
|
|
1879
1892
|
& .crisp-board-card:focus { outline: none; }
|
|
@@ -1935,11 +1948,11 @@
|
|
|
1935
1948
|
display: flex; flex-direction: column; box-sizing: border-box; width: 100%; min-width: 0; text-align: start; padding: var(--crisp-space-3) var(--crisp-space-4); margin: 0; border: none; border-radius: var(--crisp-radius-xl); background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px var(--crisp-border-subtle); color: var(--crisp-fg-primary); font-family: var(--crisp-font-sans); cursor: pointer; transition: box-shadow .12s ease, background-color .12s ease; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
|
|
1936
1949
|
&:hover { box-shadow: inset 0 0 0 1px var(--crisp-border-default), 0 1px 2px rgba(0,0,0,0.04), 0 6px 16px -6px rgba(28,40,64,0.12); }
|
|
1937
1950
|
&:focus-visible { outline: 2px solid var(--crisp-bg-brand-solid); outline-offset: 2px; }
|
|
1938
|
-
& .crisp-entitycard-author { display: inline-flex; align-items: center; gap: var(--crisp-space-1-5); font-size: var(--crisp-text-
|
|
1939
|
-
& .crisp-entitycard-title { margin-top: var(--crisp-space-2); font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-
|
|
1940
|
-
& .crisp-entitycard-excerpt { margin-top: var(--crisp-space-1); font-size: var(--crisp-text-
|
|
1951
|
+
& .crisp-entitycard-author { display: inline-flex; align-items: center; gap: var(--crisp-space-1-5); font-size: var(--crisp-text-sm); font-weight: var(--crisp-weight-medium); color: var(--crisp-fg-primary); }
|
|
1952
|
+
& .crisp-entitycard-title { margin-top: var(--crisp-space-2); font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-medium); letter-spacing: -0.1px; color: var(--crisp-fg-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
1953
|
+
& .crisp-entitycard-excerpt { margin-top: var(--crisp-space-1); font-size: var(--crisp-text-sm); line-height: 16px; color: color-mix(in srgb, var(--crisp-fg-primary) 63%, transparent); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
|
|
1941
1954
|
& .crisp-entitycard-spacer { flex: 1; min-height: var(--crisp-space-3); }
|
|
1942
|
-
& .crisp-entitycard-foot { display: flex; align-items: center; gap: var(--crisp-space-1-5); padding-top: var(--crisp-space-2-5); margin-top: var(--crisp-space-1); border-top: 1px solid var(--crisp-border-subtle); font-size: var(--crisp-text-sm); color: var(--crisp-fg-
|
|
1955
|
+
& .crisp-entitycard-foot { display: flex; align-items: center; gap: var(--crisp-space-1-5); padding-top: var(--crisp-space-2-5); margin-top: var(--crisp-space-1); border-top: 1px solid var(--crisp-border-subtle); font-size: var(--crisp-text-sm); color: color-mix(in srgb, var(--crisp-fg-primary) 63%, transparent); }
|
|
1943
1956
|
& .crisp-entitycard-foot-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--crisp-fg-primary); }
|
|
1944
1957
|
& .crisp-entitycard-date { margin-inline-start: auto; flex-shrink: 0; white-space: nowrap; }
|
|
1945
1958
|
}
|
|
@@ -2004,18 +2017,18 @@
|
|
|
2004
2017
|
|
|
2005
2018
|
.crisp-listpage {
|
|
2006
2019
|
display: flex; flex-direction: column; min-height: 0; box-sizing: border-box; font-family: var(--crisp-font-sans); color: var(--crisp-fg-primary); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
|
|
2007
|
-
& .crisp-listpage-toolbar { display: flex; align-items: center; gap: var(--crisp-space-2); height:
|
|
2020
|
+
& .crisp-listpage-toolbar { display: flex; align-items: center; gap: var(--crisp-space-2); height: var(--crisp-size-header); flex-shrink: 0; padding: 0 var(--crisp-space-3); }
|
|
2008
2021
|
& .crisp-listpage-toolbar-lead { display: flex; align-items: center; gap: var(--crisp-space-2); }
|
|
2009
2022
|
& .crisp-listpage-count { margin-inline-start: auto; font-size: var(--crisp-text-md); color: var(--crisp-fg-muted); white-space: nowrap; }
|
|
2010
2023
|
& .crisp-listpage-toolbar-trail { display: flex; align-items: center; gap: var(--crisp-space-2); }
|
|
2011
2024
|
& .crisp-listpage-count + .crisp-listpage-toolbar-trail { margin-inline-start: var(--crisp-space-3); }
|
|
2012
2025
|
& .crisp-listpage-body { flex: 1; min-height: 0; overflow-y: auto; padding: 0 var(--crisp-space-3) var(--crisp-space-3); }
|
|
2013
2026
|
& .crisp-listpage-section-label { padding: var(--crisp-space-2) var(--crisp-space-1); font-size: var(--crisp-text-sm); font-weight: var(--crisp-weight-medium); color: var(--crisp-fg-muted); }
|
|
2014
|
-
& .crisp-listpage-favorites {
|
|
2015
|
-
& .crisp-listpage-favorites
|
|
2016
|
-
& .crisp-listpage-colhead { display: flex; align-items: center; gap: var(--crisp-space-2-5); height:
|
|
2027
|
+
& .crisp-listpage-favorites-section { background: var(--crisp-bg-subtle); box-shadow: inset 0 -1px 0 var(--crisp-border-subtle); }
|
|
2028
|
+
& .crisp-listpage-favorites { display: flex; align-items: center; justify-content: center; min-height: 200px; padding: var(--crisp-space-6); }
|
|
2029
|
+
& .crisp-listpage-colhead { display: flex; align-items: center; gap: var(--crisp-space-2-5); height: var(--crisp-size-menuRow); padding: 0 var(--crisp-space-4); box-shadow: inset 0 -1px 0 var(--crisp-border-subtle); font-size: var(--crisp-text-sm); color: var(--crisp-fg-muted); }
|
|
2017
2030
|
& .crisp-listpage-colhead-cell { display: inline-flex; align-items: center; gap: var(--crisp-space-1-5); }
|
|
2018
|
-
& .crisp-listpage-group { display: flex; align-items: center; gap: var(--crisp-space-1-5); height:
|
|
2031
|
+
& .crisp-listpage-group { display: flex; align-items: center; gap: var(--crisp-space-1-5); height: var(--crisp-size-menuRow); padding: var(--crisp-space-2) var(--crisp-space-4); box-shadow: inset 0 -1px 0 var(--crisp-border-subtle); background: color-mix(in srgb, var(--crisp-fg-primary) 2%, transparent); font-size: var(--crisp-text-sm); font-weight: var(--crisp-weight-medium); color: var(--crisp-fg-muted); }
|
|
2019
2032
|
& .crisp-listpage-group-count { display: inline-flex; align-items: center; justify-content: center; min-width: 16px; height: 16px; padding: 0 var(--crisp-space-1); border-radius: var(--crisp-radius-sm); background: color-mix(in srgb, var(--crisp-fg-primary) 6%, transparent); font-size: var(--crisp-text-xs); color: var(--crisp-fg-muted); }
|
|
2020
2033
|
& .crisp-listpage-row { display: flex; align-items: center; gap: var(--crisp-space-2-5); width: 100%; height: 52px; padding: 0 var(--crisp-space-2); margin: 0; border: none; border-top: 1px solid var(--crisp-border-subtle); background: none; font-family: inherit; color: inherit; text-align: start; cursor: pointer; transition: background-color .12s; }
|
|
2021
2034
|
& .crisp-listpage-row:focus-visible { outline: 2px solid var(--crisp-bg-brand-solid); outline-offset: -2px; }
|
|
@@ -2343,7 +2356,7 @@
|
|
|
2343
2356
|
box-sizing: border-box; position: relative; display: flex; flex-direction: column; min-height: 0; height: 100%; width: 100%; font-family: var(--crisp-font-sans); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
|
|
2344
2357
|
& * { box-sizing: border-box; }
|
|
2345
2358
|
/* toolbar */
|
|
2346
|
-
& .crisp-recordstable-toolbar { display: flex; align-items: center; gap: var(--crisp-space-
|
|
2359
|
+
& .crisp-recordstable-toolbar { display: flex; align-items: center; gap: var(--crisp-space-2); padding: 0 var(--crisp-space-3) var(--crisp-space-2); }
|
|
2347
2360
|
& .crisp-recordstable-toolbar[data-inline] { padding-bottom: 0; }
|
|
2348
2361
|
& .crisp-recordstable-search { display: flex; align-items: center; gap: var(--crisp-space-1-5); height: var(--crisp-size-row); padding: 0 var(--crisp-space-2-5); border: none; border-radius: var(--crisp-radius-md); background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px var(--crisp-border-subtle); color: var(--crisp-fg-muted); }
|
|
2349
2362
|
& .crisp-recordstable-search svg { flex-shrink: 0; }
|
|
@@ -2356,13 +2369,14 @@
|
|
|
2356
2369
|
& .crisp-recordstable-tool--ghost { box-shadow: none; background: color-mix(in srgb, var(--crisp-fg-primary) 3%, transparent); color: var(--crisp-fg-muted); }
|
|
2357
2370
|
& .crisp-recordstable-tool--ghost:hover { background: color-mix(in srgb, var(--crisp-fg-primary) 6%, transparent); }
|
|
2358
2371
|
& .crisp-recordstable-toolgroup { position: relative; display: inline-flex; }
|
|
2359
|
-
& .crisp-recordstable-
|
|
2372
|
+
& .crisp-recordstable-divider { flex-shrink: 0; width: 1px; height: 20px; background: var(--crisp-border-subtle); }
|
|
2373
|
+
& .crisp-recordstable-menu { position: absolute; top: calc(100% + var(--crisp-space-1)); left: 0; z-index: 30; min-width: 232px; padding: var(--crisp-space-1); border-radius: var(--crisp-radius-xl); background: var(--crisp-bg-popover); box-shadow: inset 0 0 0 1px var(--crisp-ring-popover), 0 0 0 1px var(--crisp-shadow-popover1), 0 4px 8px -4px var(--crisp-shadow-popover2), 0 4px 12px -2px var(--crisp-shadow-popover3); display: flex; flex-direction: column; gap: var(--crisp-space-px); transform-origin: top; opacity: 1; transform: none; transition: opacity .13s ease, transform .13s ease; }
|
|
2360
2374
|
& .crisp-recordstable-menu { @starting-style { opacity: 0; transform: scale(0.96); } }
|
|
2361
2375
|
& .crisp-recordstable-ctx { z-index: 60; }
|
|
2362
2376
|
& .crisp-recordstable-th[data-drop] { box-shadow: inset 2px 0 0 var(--crisp-bg-brand-solid); }
|
|
2363
2377
|
& .crisp-recordstable-th-inner[draggable="true"]:active { cursor: grabbing; }
|
|
2364
2378
|
& .crisp-recordstable-menu-head { padding: var(--crisp-space-1) var(--crisp-space-2) var(--crisp-space-0-5); font-size: var(--crisp-text-sm); font-weight: var(--crisp-weight-medium); color: var(--crisp-fg-muted); }
|
|
2365
|
-
& .crisp-recordstable-sortpop { min-width:
|
|
2379
|
+
& .crisp-recordstable-sortpop { min-width: 480px; overflow: visible; padding: var(--crisp-space-3) var(--crisp-space-1-5); gap: var(--crisp-space-2); }
|
|
2366
2380
|
& .crisp-recordstable-sort-empty { padding: var(--crisp-space-1) var(--crisp-space-1) var(--crisp-space-2); font-size: var(--crisp-text-md); color: var(--crisp-fg-muted); }
|
|
2367
2381
|
& .crisp-recordstable-sort-row { display: flex; align-items: center; gap: var(--crisp-space-1-5); }
|
|
2368
2382
|
& .crisp-recordstable-sort-grip { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 28px; flex-shrink: 0; margin-right: calc(-1 * var(--crisp-space-1)); padding: 0; border: none; background: none; color: var(--crisp-fg-muted); cursor: grab; }
|
|
@@ -2383,7 +2397,7 @@
|
|
|
2383
2397
|
& .crisp-recordstable-sort-learn { display: inline-flex; align-items: center; gap: var(--crisp-space-1-5); font-size: var(--crisp-text-lg); color: color-mix(in srgb, var(--crisp-fg-primary) 63%, transparent); text-decoration: none; }
|
|
2384
2398
|
& .crisp-recordstable-sort-learn svg { flex-shrink: 0; }
|
|
2385
2399
|
& .crisp-recordstable-sort-learn:hover { color: var(--crisp-fg-primary); }
|
|
2386
|
-
& .crisp-recordstable-menu-item { display: flex; align-items: center; gap: var(--crisp-space-
|
|
2400
|
+
& .crisp-recordstable-menu-item { display: flex; align-items: center; gap: var(--crisp-space-1-5); width: 100%; height: var(--crisp-size-menuRow); margin: 0; padding: 0 var(--crisp-space-2); border: none; background: none; border-radius: var(--crisp-radius-md); font-family: inherit; font-size: var(--crisp-text-lg); color: var(--crisp-fg-primary); text-align: left; cursor: pointer; }
|
|
2387
2401
|
& .crisp-recordstable-menu-item:hover { background: var(--crisp-bg-raised); }
|
|
2388
2402
|
& .crisp-recordstable-menu-item:disabled { opacity: 0.4; cursor: default; }
|
|
2389
2403
|
& .crisp-recordstable-menu-item:disabled:hover { background: none; }
|
package/dist/switch.css
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
.crisp-switch {
|
|
2
2
|
display: inline-flex; align-items: center; flex-shrink: 0; width: 24px; height: 16px; padding: 0; margin: 0; border: none; border-radius: var(--crisp-radius-full); background: color-mix(in srgb, var(--crisp-fg-primary) 9%, transparent); cursor: pointer; transition: background-color .2s ease; -webkit-tap-highlight-color: transparent;
|
|
3
|
-
& .crisp-switch-thumb { width: 12px; height: 12px; margin: 0 2px; border-radius: var(--crisp-radius-full); background: #fff; transition: transform .2s ease; }
|
|
3
|
+
& .crisp-switch-thumb { width: 12px; height: 12px; margin: 0 2px; border-radius: var(--crisp-radius-full); background: #fff; box-shadow: 0 0 0 1px var(--crisp-ring-switch); transition: transform .2s ease; }
|
|
4
4
|
&[data-checked] { background: var(--crisp-bg-brand-solid); }
|
|
5
5
|
&[data-checked] .crisp-switch-thumb { transform: translateX(8px); }
|
|
6
6
|
&:focus-visible { outline: 2px solid var(--crisp-bg-brand-solid); outline-offset: 2px; }
|
package/dist/switch.layered.css
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
@layer crisp-components {
|
|
2
2
|
.crisp-switch {
|
|
3
3
|
display: inline-flex; align-items: center; flex-shrink: 0; width: 24px; height: 16px; padding: 0; margin: 0; border: none; border-radius: var(--crisp-radius-full); background: color-mix(in srgb, var(--crisp-fg-primary) 9%, transparent); cursor: pointer; transition: background-color .2s ease; -webkit-tap-highlight-color: transparent;
|
|
4
|
-
& .crisp-switch-thumb { width: 12px; height: 12px; margin: 0 2px; border-radius: var(--crisp-radius-full); background: #fff; transition: transform .2s ease; }
|
|
4
|
+
& .crisp-switch-thumb { width: 12px; height: 12px; margin: 0 2px; border-radius: var(--crisp-radius-full); background: #fff; box-shadow: 0 0 0 1px var(--crisp-ring-switch); transition: transform .2s ease; }
|
|
5
5
|
&[data-checked] { background: var(--crisp-bg-brand-solid); }
|
|
6
6
|
&[data-checked] .crisp-switch-thumb { transform: translateX(8px); }
|
|
7
7
|
&:focus-visible { outline: 2px solid var(--crisp-bg-brand-solid); outline-offset: 2px; }
|
package/dist/table.css
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
display: block; box-sizing: border-box; background: var(--crisp-bg-surface);
|
|
3
3
|
& .crisp-table-scroll { overflow-x: auto; }
|
|
4
4
|
& table { width: 100%; border-collapse: separate; border-spacing: 0; font-family: var(--crisp-font-sans); font-size: var(--crisp-text-lg); color: var(--crisp-fg-primary); }
|
|
5
|
-
|
|
5
|
+
/* #465: 12px, not crisp's old 8px -- measured on a live header cell
|
|
6
|
+
(padding: 0 12px) and independently on a body cell's text inset (getBoundingClientRect delta from the cell edge). Matches ColumnCalc's own already-correct 12px trigger inset. */
|
|
7
|
+
& th, & td { position: relative; height: var(--crisp-size-tableRow); padding: 0 var(--crisp-space-3); border-bottom: 1px solid var(--crisp-border-subtle); border-inline-end: 1px solid var(--crisp-border-subtle); text-align: start; vertical-align: middle; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
6
8
|
& th { height: var(--crisp-size-tableHeader); background: var(--crisp-bg-surface); border-top: 1px solid var(--crisp-border-subtle); font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-medium); letter-spacing: -0.14px; color: color-mix(in srgb, var(--crisp-fg-primary) 63%, transparent); user-select: none; }
|
|
7
9
|
& td { color: var(--crisp-fg-primary); background: var(--crisp-bg-surface); }
|
|
8
10
|
& th:last-child, & td:last-child { border-inline-end: none; }
|
package/dist/table.layered.css
CHANGED
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
display: block; box-sizing: border-box; background: var(--crisp-bg-surface);
|
|
4
4
|
& .crisp-table-scroll { overflow-x: auto; }
|
|
5
5
|
& table { width: 100%; border-collapse: separate; border-spacing: 0; font-family: var(--crisp-font-sans); font-size: var(--crisp-text-lg); color: var(--crisp-fg-primary); }
|
|
6
|
-
|
|
6
|
+
/* #465: 12px, not crisp's old 8px -- measured on a live header cell
|
|
7
|
+
(padding: 0 12px) and independently on a body cell's text inset (getBoundingClientRect delta from the cell edge). Matches ColumnCalc's own already-correct 12px trigger inset. */
|
|
8
|
+
& th, & td { position: relative; height: var(--crisp-size-tableRow); padding: 0 var(--crisp-space-3); border-bottom: 1px solid var(--crisp-border-subtle); border-inline-end: 1px solid var(--crisp-border-subtle); text-align: start; vertical-align: middle; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
7
9
|
& th { height: var(--crisp-size-tableHeader); background: var(--crisp-bg-surface); border-top: 1px solid var(--crisp-border-subtle); font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-medium); letter-spacing: -0.14px; color: color-mix(in srgb, var(--crisp-fg-primary) 63%, transparent); user-select: none; }
|
|
8
10
|
& td { color: var(--crisp-fg-primary); background: var(--crisp-bg-surface); }
|
|
9
11
|
& th:last-child, & td:last-child { border-inline-end: none; }
|
package/dist/tabletoolbar.css
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.crisp-tabletoolbar {
|
|
2
2
|
display: contents; font-family: var(--crisp-font-sans); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
|
|
3
3
|
& * { box-sizing: border-box; }
|
|
4
|
-
& .crisp-tabletoolbar-toolbar { display: flex; align-items: center; gap: var(--crisp-space-
|
|
4
|
+
& .crisp-tabletoolbar-toolbar { display: flex; align-items: center; gap: var(--crisp-space-2); padding: 0 var(--crisp-space-3) var(--crisp-space-2); }
|
|
5
5
|
& .crisp-tabletoolbar-toolbar[data-inline] { padding-bottom: 0; }
|
|
6
6
|
& .crisp-tabletoolbar-search { display: flex; align-items: center; gap: var(--crisp-space-1-5); height: var(--crisp-size-row); padding: 0 var(--crisp-space-2-5); border: none; border-radius: var(--crisp-radius-md); background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px var(--crisp-border-subtle); color: var(--crisp-fg-muted); }
|
|
7
7
|
& .crisp-tabletoolbar-search svg { flex-shrink: 0; }
|
|
@@ -14,10 +14,11 @@
|
|
|
14
14
|
& .crisp-tabletoolbar-tool--ghost { box-shadow: none; background: color-mix(in srgb, var(--crisp-fg-primary) 3%, transparent); color: var(--crisp-fg-muted); }
|
|
15
15
|
& .crisp-tabletoolbar-tool--ghost:hover { background: color-mix(in srgb, var(--crisp-fg-primary) 6%, transparent); }
|
|
16
16
|
& .crisp-tabletoolbar-toolgroup { position: relative; display: inline-flex; }
|
|
17
|
-
& .crisp-tabletoolbar-
|
|
17
|
+
& .crisp-tabletoolbar-divider { flex-shrink: 0; width: 1px; height: 20px; background: var(--crisp-border-subtle); }
|
|
18
|
+
& .crisp-tabletoolbar-menu { position: absolute; top: calc(100% + var(--crisp-space-1)); left: 0; z-index: 30; min-width: 232px; padding: var(--crisp-space-1); border-radius: var(--crisp-radius-xl); background: var(--crisp-bg-popover); box-shadow: inset 0 0 0 1px var(--crisp-ring-popover), 0 0 0 1px var(--crisp-shadow-popover1), 0 4px 8px -4px var(--crisp-shadow-popover2), 0 4px 12px -2px var(--crisp-shadow-popover3); display: flex; flex-direction: column; gap: var(--crisp-space-px); transform-origin: top; opacity: 1; transform: none; transition: opacity .13s ease, transform .13s ease; }
|
|
18
19
|
& .crisp-tabletoolbar-menu { @starting-style { opacity: 0; transform: scale(0.96); } }
|
|
19
20
|
& .crisp-tabletoolbar-menu-head { padding: var(--crisp-space-1) var(--crisp-space-2) var(--crisp-space-0-5); font-size: var(--crisp-text-sm); font-weight: var(--crisp-weight-medium); color: var(--crisp-fg-muted); }
|
|
20
|
-
& .crisp-tabletoolbar-sortpop { min-width:
|
|
21
|
+
& .crisp-tabletoolbar-sortpop { min-width: 480px; overflow: visible; padding: var(--crisp-space-3) var(--crisp-space-1-5); gap: var(--crisp-space-2); }
|
|
21
22
|
& .crisp-tabletoolbar-sort-empty { padding: var(--crisp-space-1) var(--crisp-space-1) var(--crisp-space-2); font-size: var(--crisp-text-md); color: var(--crisp-fg-muted); }
|
|
22
23
|
& .crisp-tabletoolbar-sort-row { display: flex; align-items: center; gap: var(--crisp-space-1-5); }
|
|
23
24
|
& .crisp-tabletoolbar-sort-grip { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 28px; flex-shrink: 0; margin-right: calc(-1 * var(--crisp-space-1)); padding: 0; border: none; background: none; color: var(--crisp-fg-muted); cursor: grab; }
|
|
@@ -38,7 +39,7 @@
|
|
|
38
39
|
& .crisp-tabletoolbar-sort-learn { display: inline-flex; align-items: center; gap: var(--crisp-space-1-5); font-size: var(--crisp-text-lg); color: color-mix(in srgb, var(--crisp-fg-primary) 63%, transparent); text-decoration: none; }
|
|
39
40
|
& .crisp-tabletoolbar-sort-learn svg { flex-shrink: 0; }
|
|
40
41
|
& .crisp-tabletoolbar-sort-learn:hover { color: var(--crisp-fg-primary); }
|
|
41
|
-
& .crisp-tabletoolbar-menu-item { display: flex; align-items: center; gap: var(--crisp-space-
|
|
42
|
+
& .crisp-tabletoolbar-menu-item { display: flex; align-items: center; gap: var(--crisp-space-1-5); width: 100%; height: var(--crisp-size-menuRow); margin: 0; padding: 0 var(--crisp-space-2); border: none; background: none; border-radius: var(--crisp-radius-md); font-family: inherit; font-size: var(--crisp-text-lg); color: var(--crisp-fg-primary); text-align: left; cursor: pointer; }
|
|
42
43
|
& .crisp-tabletoolbar-menu-item:hover { background: var(--crisp-bg-raised); }
|
|
43
44
|
& .crisp-tabletoolbar-menu-item:disabled { opacity: 0.4; cursor: default; }
|
|
44
45
|
& .crisp-tabletoolbar-menu-item:disabled:hover { background: none; }
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
.crisp-tabletoolbar {
|
|
3
3
|
display: contents; font-family: var(--crisp-font-sans); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
|
|
4
4
|
& * { box-sizing: border-box; }
|
|
5
|
-
& .crisp-tabletoolbar-toolbar { display: flex; align-items: center; gap: var(--crisp-space-
|
|
5
|
+
& .crisp-tabletoolbar-toolbar { display: flex; align-items: center; gap: var(--crisp-space-2); padding: 0 var(--crisp-space-3) var(--crisp-space-2); }
|
|
6
6
|
& .crisp-tabletoolbar-toolbar[data-inline] { padding-bottom: 0; }
|
|
7
7
|
& .crisp-tabletoolbar-search { display: flex; align-items: center; gap: var(--crisp-space-1-5); height: var(--crisp-size-row); padding: 0 var(--crisp-space-2-5); border: none; border-radius: var(--crisp-radius-md); background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px var(--crisp-border-subtle); color: var(--crisp-fg-muted); }
|
|
8
8
|
& .crisp-tabletoolbar-search svg { flex-shrink: 0; }
|
|
@@ -15,10 +15,11 @@
|
|
|
15
15
|
& .crisp-tabletoolbar-tool--ghost { box-shadow: none; background: color-mix(in srgb, var(--crisp-fg-primary) 3%, transparent); color: var(--crisp-fg-muted); }
|
|
16
16
|
& .crisp-tabletoolbar-tool--ghost:hover { background: color-mix(in srgb, var(--crisp-fg-primary) 6%, transparent); }
|
|
17
17
|
& .crisp-tabletoolbar-toolgroup { position: relative; display: inline-flex; }
|
|
18
|
-
& .crisp-tabletoolbar-
|
|
18
|
+
& .crisp-tabletoolbar-divider { flex-shrink: 0; width: 1px; height: 20px; background: var(--crisp-border-subtle); }
|
|
19
|
+
& .crisp-tabletoolbar-menu { position: absolute; top: calc(100% + var(--crisp-space-1)); left: 0; z-index: 30; min-width: 232px; padding: var(--crisp-space-1); border-radius: var(--crisp-radius-xl); background: var(--crisp-bg-popover); box-shadow: inset 0 0 0 1px var(--crisp-ring-popover), 0 0 0 1px var(--crisp-shadow-popover1), 0 4px 8px -4px var(--crisp-shadow-popover2), 0 4px 12px -2px var(--crisp-shadow-popover3); display: flex; flex-direction: column; gap: var(--crisp-space-px); transform-origin: top; opacity: 1; transform: none; transition: opacity .13s ease, transform .13s ease; }
|
|
19
20
|
& .crisp-tabletoolbar-menu { @starting-style { opacity: 0; transform: scale(0.96); } }
|
|
20
21
|
& .crisp-tabletoolbar-menu-head { padding: var(--crisp-space-1) var(--crisp-space-2) var(--crisp-space-0-5); font-size: var(--crisp-text-sm); font-weight: var(--crisp-weight-medium); color: var(--crisp-fg-muted); }
|
|
21
|
-
& .crisp-tabletoolbar-sortpop { min-width:
|
|
22
|
+
& .crisp-tabletoolbar-sortpop { min-width: 480px; overflow: visible; padding: var(--crisp-space-3) var(--crisp-space-1-5); gap: var(--crisp-space-2); }
|
|
22
23
|
& .crisp-tabletoolbar-sort-empty { padding: var(--crisp-space-1) var(--crisp-space-1) var(--crisp-space-2); font-size: var(--crisp-text-md); color: var(--crisp-fg-muted); }
|
|
23
24
|
& .crisp-tabletoolbar-sort-row { display: flex; align-items: center; gap: var(--crisp-space-1-5); }
|
|
24
25
|
& .crisp-tabletoolbar-sort-grip { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 28px; flex-shrink: 0; margin-right: calc(-1 * var(--crisp-space-1)); padding: 0; border: none; background: none; color: var(--crisp-fg-muted); cursor: grab; }
|
|
@@ -39,7 +40,7 @@
|
|
|
39
40
|
& .crisp-tabletoolbar-sort-learn { display: inline-flex; align-items: center; gap: var(--crisp-space-1-5); font-size: var(--crisp-text-lg); color: color-mix(in srgb, var(--crisp-fg-primary) 63%, transparent); text-decoration: none; }
|
|
40
41
|
& .crisp-tabletoolbar-sort-learn svg { flex-shrink: 0; }
|
|
41
42
|
& .crisp-tabletoolbar-sort-learn:hover { color: var(--crisp-fg-primary); }
|
|
42
|
-
& .crisp-tabletoolbar-menu-item { display: flex; align-items: center; gap: var(--crisp-space-
|
|
43
|
+
& .crisp-tabletoolbar-menu-item { display: flex; align-items: center; gap: var(--crisp-space-1-5); width: 100%; height: var(--crisp-size-menuRow); margin: 0; padding: 0 var(--crisp-space-2); border: none; background: none; border-radius: var(--crisp-radius-md); font-family: inherit; font-size: var(--crisp-text-lg); color: var(--crisp-fg-primary); text-align: left; cursor: pointer; }
|
|
43
44
|
& .crisp-tabletoolbar-menu-item:hover { background: var(--crisp-bg-raised); }
|
|
44
45
|
& .crisp-tabletoolbar-menu-item:disabled { opacity: 0.4; cursor: default; }
|
|
45
46
|
& .crisp-tabletoolbar-menu-item:disabled:hover { background: none; }
|
package/dist/textarea.css
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
.crisp-textarea {
|
|
2
2
|
position: relative; display: block; width: 100%; font-family: var(--crisp-font-sans);
|
|
3
|
-
& .crisp-textarea-field { box-sizing: border-box; display: block; width: 100%; min-height: 80px; resize: vertical; margin: 0; padding: var(--crisp-space-2-5) 14px; border: none; border-radius: var(--crisp-radius-md); background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px var(--crisp-ring-
|
|
3
|
+
& .crisp-textarea-field { box-sizing: border-box; display: block; width: 100%; min-height: 80px; resize: vertical; margin: 0; padding: var(--crisp-space-2-5) 14px; border: none; border-radius: var(--crisp-radius-md); background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px var(--crisp-ring-field); font-family: inherit; font-size: var(--crisp-text-lg); line-height: 20px; color: var(--crisp-fg-primary); outline: none; transition: box-shadow .15s ease; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
|
|
4
4
|
& .crisp-textarea-field::placeholder { color: var(--crisp-fg-muted); }
|
|
5
5
|
& .crisp-textarea-field:disabled { opacity: 0.5; cursor: not-allowed; }
|
|
6
6
|
/* seed-design's focus treatment, same as Input: a 2px ring on an ::after
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
@layer crisp-components {
|
|
2
2
|
.crisp-textarea {
|
|
3
3
|
position: relative; display: block; width: 100%; font-family: var(--crisp-font-sans);
|
|
4
|
-
& .crisp-textarea-field { box-sizing: border-box; display: block; width: 100%; min-height: 80px; resize: vertical; margin: 0; padding: var(--crisp-space-2-5) 14px; border: none; border-radius: var(--crisp-radius-md); background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px var(--crisp-ring-
|
|
4
|
+
& .crisp-textarea-field { box-sizing: border-box; display: block; width: 100%; min-height: 80px; resize: vertical; margin: 0; padding: var(--crisp-space-2-5) 14px; border: none; border-radius: var(--crisp-radius-md); background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px var(--crisp-ring-field); font-family: inherit; font-size: var(--crisp-text-lg); line-height: 20px; color: var(--crisp-fg-primary); outline: none; transition: box-shadow .15s ease; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
|
|
5
5
|
& .crisp-textarea-field::placeholder { color: var(--crisp-fg-muted); }
|
|
6
6
|
& .crisp-textarea-field:disabled { opacity: 0.5; cursor: not-allowed; }
|
|
7
7
|
/* seed-design's focus treatment, same as Input: a 2px ring on an ::after
|
package/dist/tokens.css
CHANGED
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
--crisp-border-default: #e4e4e7;
|
|
9
9
|
--crisp-border-subtle: #eeeff1;
|
|
10
10
|
--crisp-ring-neutral: transparent;
|
|
11
|
+
--crisp-ring-field: rgba(0,0,0,0.06);
|
|
12
|
+
--crisp-ring-switch: #d9dade;
|
|
11
13
|
--crisp-bg-tile-active: #ffffff;
|
|
12
14
|
--crisp-shadow-tile-active: rgba(0,0,0,0.04);
|
|
13
15
|
--crisp-bg-overlay-frost: #ffffff;
|
|
@@ -55,6 +57,8 @@
|
|
|
55
57
|
--crisp-border-default: #212224;
|
|
56
58
|
--crisp-border-subtle: #1c1d1f;
|
|
57
59
|
--crisp-ring-neutral: #212224;
|
|
60
|
+
--crisp-ring-field: #212224;
|
|
61
|
+
--crisp-ring-switch: #212224;
|
|
58
62
|
--crisp-bg-tile-active: #101112;
|
|
59
63
|
--crisp-shadow-tile-active: rgba(0,0,0,0);
|
|
60
64
|
--crisp-bg-overlay-frost: #1c1d1f;
|
package/dist/tokens.json
CHANGED
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
"borderDefault": "#e4e4e7",
|
|
11
11
|
"borderSubtle": "#eeeff1",
|
|
12
12
|
"ringNeutral": "transparent",
|
|
13
|
+
"ringField": "rgba(0,0,0,0.06)",
|
|
14
|
+
"ringSwitch": "#d9dade",
|
|
13
15
|
"bgTileActive": "#ffffff",
|
|
14
16
|
"shadowTileActive": "rgba(0,0,0,0.04)",
|
|
15
17
|
"bgOverlayFrost": "#ffffff",
|
|
@@ -56,6 +58,8 @@
|
|
|
56
58
|
"borderDefault": "#212224",
|
|
57
59
|
"borderSubtle": "#1c1d1f",
|
|
58
60
|
"ringNeutral": "#212224",
|
|
61
|
+
"ringField": "#212224",
|
|
62
|
+
"ringSwitch": "#212224",
|
|
59
63
|
"bgTileActive": "#101112",
|
|
60
64
|
"shadowTileActive": "rgba(0,0,0,0)",
|
|
61
65
|
"bgOverlayFrost": "#1c1d1f",
|
|
@@ -103,6 +107,8 @@
|
|
|
103
107
|
"line200": "#e4e4e7",
|
|
104
108
|
"line100": "#eeeff1",
|
|
105
109
|
"ringNeutral": "transparent",
|
|
110
|
+
"ringField": "rgba(0,0,0,0.06)",
|
|
111
|
+
"ringSwitch": "#d9dade",
|
|
106
112
|
"tileActive": "#ffffff",
|
|
107
113
|
"tileActiveShadow": "rgba(0,0,0,0.04)",
|
|
108
114
|
"overlayFrost": "#ffffff",
|
|
@@ -148,6 +154,8 @@
|
|
|
148
154
|
"line200": "#212224",
|
|
149
155
|
"line100": "#1c1d1f",
|
|
150
156
|
"ringNeutral": "#212224",
|
|
157
|
+
"ringField": "#212224",
|
|
158
|
+
"ringSwitch": "#212224",
|
|
151
159
|
"tileActive": "#101112",
|
|
152
160
|
"tileActiveShadow": "rgba(0,0,0,0)",
|
|
153
161
|
"overlayFrost": "#1c1d1f",
|
package/dist/tooltip.css
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
.crisp-tooltip {
|
|
2
|
-
position: fixed; z-index: 70; box-sizing: border-box; pointer-events: none; max-width: 260px; padding: var(--crisp-space-1) var(--crisp-space-2); border-radius: var(--crisp-radius-
|
|
2
|
+
position: fixed; z-index: 70; box-sizing: border-box; pointer-events: none; max-width: 260px; padding: var(--crisp-space-1-5) var(--crisp-space-2); border-radius: var(--crisp-radius-md); background: #101112; color: #eeeff1; font-family: var(--crisp-font-sans); font-size: var(--crisp-text-sm); font-weight: var(--crisp-weight-medium); line-height: 1.45; box-shadow: 0 4px 14px -2px rgba(28,40,64,0.28), 0 0 0 1px rgba(255,255,255,0.04); opacity: 1; transition: opacity 0.12s ease;
|
|
3
3
|
@starting-style { opacity: 0; }
|
|
4
4
|
}
|
|
5
5
|
|
package/dist/tooltip.layered.css
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
@layer crisp-components {
|
|
2
2
|
.crisp-tooltip {
|
|
3
|
-
position: fixed; z-index: 70; box-sizing: border-box; pointer-events: none; max-width: 260px; padding: var(--crisp-space-1) var(--crisp-space-2); border-radius: var(--crisp-radius-
|
|
3
|
+
position: fixed; z-index: 70; box-sizing: border-box; pointer-events: none; max-width: 260px; padding: var(--crisp-space-1-5) var(--crisp-space-2); border-radius: var(--crisp-radius-md); background: #101112; color: #eeeff1; font-family: var(--crisp-font-sans); font-size: var(--crisp-text-sm); font-weight: var(--crisp-weight-medium); line-height: 1.45; box-shadow: 0 4px 14px -2px rgba(28,40,64,0.28), 0 0 0 1px rgba(255,255,255,0.04); opacity: 1; transition: opacity 0.12s ease;
|
|
4
4
|
@starting-style { opacity: 0; }
|
|
5
5
|
}
|
|
6
6
|
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
export type BulkBarProps = Omit<React.ComponentPropsWithoutRef<"div">, "children"> & {
|
|
3
|
-
/** Selected count — renders the leading "N
|
|
3
|
+
/** Selected count — renders the leading "N Selected" pill when provided. */
|
|
4
4
|
count?: number;
|
|
5
5
|
/** Called when the count pill (its ✕) is pressed — clear the selection. */
|
|
6
6
|
onClear?: () => void;
|
|
7
|
-
/** Word after the count in the pill (default "
|
|
7
|
+
/** Word after the count in the pill (default "Selected"). */
|
|
8
8
|
countLabel?: string;
|
|
9
9
|
/**
|
|
10
10
|
* The whole pill line, given the count and `countLabel`. A formatter,
|
|
11
|
-
* because "3
|
|
11
|
+
* because "3 Selected" is a sentence with a hole in it and the count does
|
|
12
12
|
* not sit in the same place in every language. Defaults to
|
|
13
13
|
* `{count} {countLabel}`, so a consumer who only wants the word keeps
|
|
14
14
|
* passing `countLabel`.
|