@crisp-ui-kit/crisp 0.32.1 → 0.33.1
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 +33 -1
- package/dist/appshell.css +1 -4
- package/dist/appshell.layered.css +1 -4
- package/dist/authshell.css +4 -19
- package/dist/authshell.layered.css +4 -19
- package/dist/avatar.css +2 -1
- package/dist/avatar.layered.css +2 -1
- package/dist/board.css +1 -4
- package/dist/board.layered.css +1 -4
- package/dist/breadcrumb.css +0 -1
- package/dist/breadcrumb.layered.css +0 -1
- package/dist/button.css +14 -6
- package/dist/button.layered.css +14 -6
- package/dist/card.css +2 -1
- package/dist/card.layered.css +2 -1
- package/dist/checkbox.css +6 -9
- package/dist/checkbox.layered.css +6 -9
- package/dist/cjs/components/avatar/avatar.recipe.js +38 -19
- package/dist/cjs/components/badge/badge.recipe.js +83 -24
- package/dist/cjs/components/button/button.recipe.js +109 -18
- package/dist/cjs/components/divider/divider.recipe.js +20 -8
- package/dist/cjs/components/progress/progress.recipe.js +50 -10
- package/dist/cjs/components/spinner/spinner.recipe.js +15 -7
- package/dist/cjs/components/switch/switch.recipe.js +48 -18
- package/dist/cjs/core/index.js +4 -1
- package/dist/cjs/core/spec.js +71 -0
- package/dist/columncalc.css +2 -6
- package/dist/columncalc.layered.css +2 -6
- package/dist/command.css +9 -11
- package/dist/command.layered.css +9 -11
- package/dist/datatable.css +9 -19
- package/dist/datatable.layered.css +9 -19
- package/dist/datepicker.css +15 -80
- package/dist/datepicker.layered.css +15 -80
- package/dist/datepickerfield.css +3 -18
- package/dist/datepickerfield.layered.css +3 -18
- package/dist/donutchart.css +1 -2
- package/dist/donutchart.layered.css +1 -2
- package/dist/entitycard.css +1 -7
- package/dist/entitycard.layered.css +1 -7
- package/dist/esm/components/avatar/avatar.recipe.js +38 -19
- package/dist/esm/components/badge/badge.recipe.js +83 -24
- package/dist/esm/components/button/button.recipe.js +109 -18
- package/dist/esm/components/divider/divider.recipe.js +20 -8
- package/dist/esm/components/progress/progress.recipe.js +50 -10
- package/dist/esm/components/spinner/spinner.recipe.js +15 -7
- package/dist/esm/components/switch/switch.recipe.js +48 -18
- package/dist/esm/core/index.js +1 -0
- package/dist/esm/core/spec.js +66 -0
- package/dist/fileupload.css +10 -60
- package/dist/fileupload.layered.css +10 -60
- package/dist/inbox.css +1 -7
- package/dist/inbox.layered.css +1 -7
- package/dist/input.css +9 -20
- package/dist/input.layered.css +9 -20
- package/dist/listpage.css +2 -12
- package/dist/listpage.layered.css +2 -12
- package/dist/menu.css +3 -19
- package/dist/menu.layered.css +3 -19
- package/dist/multiselect.css +4 -25
- package/dist/multiselect.layered.css +4 -25
- package/dist/navitem.css +5 -13
- package/dist/navitem.layered.css +5 -13
- package/dist/onboarding.css +1 -8
- package/dist/onboarding.layered.css +1 -8
- package/dist/quantitypicker.css +15 -50
- package/dist/quantitypicker.layered.css +15 -50
- package/dist/radiogroup.css +1 -6
- package/dist/radiogroup.layered.css +1 -6
- package/dist/recordpage.css +2 -10
- package/dist/recordpage.layered.css +2 -10
- package/dist/recordpanel.css +1 -13
- package/dist/recordpanel.layered.css +1 -13
- package/dist/recordstable.css +2 -11
- package/dist/recordstable.layered.css +2 -11
- package/dist/resizablepanel.css +4 -15
- package/dist/resizablepanel.layered.css +4 -15
- package/dist/richtext.css +1 -5
- package/dist/richtext.layered.css +1 -5
- package/dist/select.css +7 -30
- package/dist/select.layered.css +7 -30
- package/dist/settingsshell.css +2 -7
- package/dist/settingsshell.layered.css +2 -7
- package/dist/sidebar.css +23 -28
- package/dist/sidebar.layered.css +23 -28
- package/dist/slider.css +1 -8
- package/dist/slider.layered.css +1 -8
- package/dist/statcard.css +1 -2
- package/dist/statcard.layered.css +1 -2
- package/dist/styles.css +194 -652
- package/dist/styles.layered.css +194 -652
- package/dist/switch.css +1 -5
- package/dist/switch.layered.css +1 -5
- package/dist/table.css +2 -1
- package/dist/table.layered.css +2 -1
- package/dist/tabletoolbar.css +1 -3
- package/dist/tabletoolbar.layered.css +1 -3
- package/dist/tabs.css +1 -5
- package/dist/tabs.layered.css +1 -5
- package/dist/tasklist.css +1 -8
- package/dist/tasklist.layered.css +1 -8
- package/dist/textarea.css +2 -13
- package/dist/textarea.layered.css +2 -13
- package/dist/tooltip.css +2 -1
- package/dist/tooltip.layered.css +2 -1
- package/dist/trialbanner.css +2 -11
- package/dist/trialbanner.layered.css +2 -11
- package/dist/types/components/avatar/avatar.d.ts +30 -30
- package/dist/types/components/avatar/avatar.recipe.d.ts +136 -49
- package/dist/types/components/badge/badge.d.ts +26 -26
- package/dist/types/components/badge/badge.recipe.d.ts +169 -45
- package/dist/types/components/button/button.d.ts +30 -30
- package/dist/types/components/button/button.recipe.d.ts +193 -45
- package/dist/types/components/divider/divider.recipe.d.ts +26 -2
- package/dist/types/components/progress/progress.recipe.d.ts +49 -2
- package/dist/types/components/spinner/spinner.recipe.d.ts +17 -2
- package/dist/types/components/switch/switch.recipe.d.ts +57 -3
- package/dist/types/core/index.d.ts +1 -0
- package/dist/types/core/spec.d.ts +83 -0
- package/dist/viewtoggle.css +3 -9
- package/dist/viewtoggle.layered.css +3 -9
- package/dist/wheelpicker.css +14 -59
- package/dist/wheelpicker.layered.css +14 -59
- package/package.json +4 -1
package/dist/recordstable.css
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
.crisp-recordstable {
|
|
2
|
-
|
|
3
|
-
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;
|
|
2
|
+
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;
|
|
4
3
|
& * { box-sizing: border-box; }
|
|
5
|
-
|
|
6
4
|
/* toolbar */
|
|
7
5
|
& .crisp-recordstable-toolbar { display: flex; align-items: center; gap: var(--crisp-space-1-5); padding: 0 var(--crisp-space-3) var(--crisp-space-2); }
|
|
8
6
|
& .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); }
|
|
@@ -71,7 +69,6 @@
|
|
|
71
69
|
& .crisp-recordstable-count { font-size: var(--crisp-text-md); color: var(--crisp-fg-muted); }
|
|
72
70
|
& .crisp-recordstable-new { display: inline-flex; align-items: center; gap: var(--crisp-space-1); height: var(--crisp-size-row); padding: 0 var(--crisp-space-2-5); border: none; border-radius: var(--crisp-radius-md); background: var(--crisp-bg-brand-solid); color: var(--crisp-fg-on-brand); font-family: inherit; font-size: var(--crisp-text-md); font-weight: var(--crisp-weight-medium); cursor: pointer; transition: background-color .12s; }
|
|
73
71
|
& .crisp-recordstable-new:hover { background: var(--crisp-bg-brand-solid-pressed); }
|
|
74
|
-
|
|
75
72
|
/* scroll frame + table */
|
|
76
73
|
& .crisp-recordstable-scroll { flex: 1; min-height: 0; overflow: auto; background: var(--crisp-bg-surface); border-top: 1px solid var(--crisp-border-subtle); scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--crisp-fg-primary) 22%, transparent) transparent; }
|
|
77
74
|
& .crisp-recordstable-scroll::-webkit-scrollbar { width: 10px; height: 10px; }
|
|
@@ -89,20 +86,15 @@
|
|
|
89
86
|
& .crisp-recordstable-sort { flex-shrink: 0; opacity: 0.4; transition: opacity .12s; color: color-mix(in srgb, var(--crisp-fg-primary) 45%, transparent); }
|
|
90
87
|
& .crisp-recordstable-th:hover .crisp-recordstable-sort, & .crisp-recordstable-th[data-sorted] .crisp-recordstable-sort { opacity: 1; }
|
|
91
88
|
& .crisp-recordstable-th[data-sorted="desc"] .crisp-recordstable-sort svg { transform: rotate(180deg); }
|
|
92
|
-
|
|
93
89
|
/* column resize handle */
|
|
94
90
|
& .crisp-recordstable-resize { position: absolute; top: 0; inset-inline-end: -3px; width: 9px; height: 100%; cursor: col-resize; z-index: 6; touch-action: none; }
|
|
95
91
|
& .crisp-recordstable-resize::after { content: ""; position: absolute; top: 0; inset-inline-start: 3px; width: 2px; height: 100%; background: var(--crisp-bg-brand-solid); opacity: 0; transition: opacity .12s; }
|
|
96
92
|
& .crisp-recordstable-resize:hover::after, & .crisp-recordstable-resize[data-resizing]::after { opacity: 1; }
|
|
97
|
-
|
|
98
93
|
/* add-column header */
|
|
99
94
|
& .crisp-recordstable-addcol { min-width: 44px; }
|
|
100
95
|
& .crisp-recordstable-addcol button { display: flex; align-items: center; justify-content: center; width: 44px; height: 100%; border: none; background: none; color: var(--crisp-fg-muted); cursor: pointer; }
|
|
101
96
|
& .crisp-recordstable-addcol button:hover { background: var(--crisp-bg-raised); color: var(--crisp-fg-primary); }
|
|
102
|
-
|
|
103
|
-
/* cells */
|
|
104
|
-
/* font-weight is explicit because the first cell of each row is a
|
|
105
|
-
th[scope=row] — the record's name is what the row IS — and a th
|
|
97
|
+
/* cells */ /* font-weight is explicit because the first cell of each row is a th[scope=row] — the record's name is what the row IS — and a th
|
|
106
98
|
defaults to bold. Measured before the change and unchanged after: 400. */
|
|
107
99
|
& .crisp-recordstable-td { font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-regular); color: var(--crisp-fg-primary); background: var(--crisp-bg-surface); cursor: default; }
|
|
108
100
|
& .crisp-recordstable-td--editable { cursor: text; }
|
|
@@ -208,7 +200,6 @@
|
|
|
208
200
|
}
|
|
209
201
|
|
|
210
202
|
[dir="rtl"] & [data-rtl-flip] { transform: scaleX(-1); }
|
|
211
|
-
|
|
212
203
|
}
|
|
213
204
|
|
|
214
205
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
@layer crisp-components {
|
|
2
2
|
.crisp-recordstable {
|
|
3
|
-
|
|
4
|
-
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;
|
|
3
|
+
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;
|
|
5
4
|
& * { box-sizing: border-box; }
|
|
6
|
-
|
|
7
5
|
/* toolbar */
|
|
8
6
|
& .crisp-recordstable-toolbar { display: flex; align-items: center; gap: var(--crisp-space-1-5); padding: 0 var(--crisp-space-3) var(--crisp-space-2); }
|
|
9
7
|
& .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); }
|
|
@@ -72,7 +70,6 @@
|
|
|
72
70
|
& .crisp-recordstable-count { font-size: var(--crisp-text-md); color: var(--crisp-fg-muted); }
|
|
73
71
|
& .crisp-recordstable-new { display: inline-flex; align-items: center; gap: var(--crisp-space-1); height: var(--crisp-size-row); padding: 0 var(--crisp-space-2-5); border: none; border-radius: var(--crisp-radius-md); background: var(--crisp-bg-brand-solid); color: var(--crisp-fg-on-brand); font-family: inherit; font-size: var(--crisp-text-md); font-weight: var(--crisp-weight-medium); cursor: pointer; transition: background-color .12s; }
|
|
74
72
|
& .crisp-recordstable-new:hover { background: var(--crisp-bg-brand-solid-pressed); }
|
|
75
|
-
|
|
76
73
|
/* scroll frame + table */
|
|
77
74
|
& .crisp-recordstable-scroll { flex: 1; min-height: 0; overflow: auto; background: var(--crisp-bg-surface); border-top: 1px solid var(--crisp-border-subtle); scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--crisp-fg-primary) 22%, transparent) transparent; }
|
|
78
75
|
& .crisp-recordstable-scroll::-webkit-scrollbar { width: 10px; height: 10px; }
|
|
@@ -90,20 +87,15 @@
|
|
|
90
87
|
& .crisp-recordstable-sort { flex-shrink: 0; opacity: 0.4; transition: opacity .12s; color: color-mix(in srgb, var(--crisp-fg-primary) 45%, transparent); }
|
|
91
88
|
& .crisp-recordstable-th:hover .crisp-recordstable-sort, & .crisp-recordstable-th[data-sorted] .crisp-recordstable-sort { opacity: 1; }
|
|
92
89
|
& .crisp-recordstable-th[data-sorted="desc"] .crisp-recordstable-sort svg { transform: rotate(180deg); }
|
|
93
|
-
|
|
94
90
|
/* column resize handle */
|
|
95
91
|
& .crisp-recordstable-resize { position: absolute; top: 0; inset-inline-end: -3px; width: 9px; height: 100%; cursor: col-resize; z-index: 6; touch-action: none; }
|
|
96
92
|
& .crisp-recordstable-resize::after { content: ""; position: absolute; top: 0; inset-inline-start: 3px; width: 2px; height: 100%; background: var(--crisp-bg-brand-solid); opacity: 0; transition: opacity .12s; }
|
|
97
93
|
& .crisp-recordstable-resize:hover::after, & .crisp-recordstable-resize[data-resizing]::after { opacity: 1; }
|
|
98
|
-
|
|
99
94
|
/* add-column header */
|
|
100
95
|
& .crisp-recordstable-addcol { min-width: 44px; }
|
|
101
96
|
& .crisp-recordstable-addcol button { display: flex; align-items: center; justify-content: center; width: 44px; height: 100%; border: none; background: none; color: var(--crisp-fg-muted); cursor: pointer; }
|
|
102
97
|
& .crisp-recordstable-addcol button:hover { background: var(--crisp-bg-raised); color: var(--crisp-fg-primary); }
|
|
103
|
-
|
|
104
|
-
/* cells */
|
|
105
|
-
/* font-weight is explicit because the first cell of each row is a
|
|
106
|
-
th[scope=row] — the record's name is what the row IS — and a th
|
|
98
|
+
/* cells */ /* font-weight is explicit because the first cell of each row is a th[scope=row] — the record's name is what the row IS — and a th
|
|
107
99
|
defaults to bold. Measured before the change and unchanged after: 400. */
|
|
108
100
|
& .crisp-recordstable-td { font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-regular); color: var(--crisp-fg-primary); background: var(--crisp-bg-surface); cursor: default; }
|
|
109
101
|
& .crisp-recordstable-td--editable { cursor: text; }
|
|
@@ -209,7 +201,6 @@
|
|
|
209
201
|
}
|
|
210
202
|
|
|
211
203
|
[dir="rtl"] & [data-rtl-flip] { transform: scaleX(-1); }
|
|
212
|
-
|
|
213
204
|
}
|
|
214
205
|
|
|
215
206
|
@media (prefers-reduced-motion: reduce) {
|
package/dist/resizablepanel.css
CHANGED
|
@@ -1,27 +1,20 @@
|
|
|
1
1
|
.crisp-resizablepanel {
|
|
2
|
-
|
|
3
|
-
position: relative; display: flex; height: 100%;
|
|
2
|
+
position: relative; display: flex; height: 100%;
|
|
4
3
|
& .crisp-resizablepanel-spacer { flex: 0 0 auto; height: 100%; transition: width 0.14s; }
|
|
5
4
|
& .crisp-resizablepanel-panel { position: absolute; top: 0; bottom: 0; box-sizing: border-box; overflow: hidden; background: var(--crisp-bg-surface); }
|
|
6
5
|
& .crisp-resizablepanel-panel[data-side="left"] { left: 0; }
|
|
7
6
|
& .crisp-resizablepanel-panel[data-side="right"] { right: 0; }
|
|
8
|
-
|
|
9
7
|
/* docked */
|
|
10
8
|
& .crisp-resizablepanel-panel[data-floating="false"] { border-radius: 0; box-shadow: none; }
|
|
11
9
|
& .crisp-resizablepanel-panel[data-floating="false"][data-side="left"] { border-inline-end: 1px solid var(--crisp-border-subtle); }
|
|
12
10
|
& .crisp-resizablepanel-panel[data-floating="false"][data-side="right"] { border-inline-start: 1px solid var(--crisp-border-subtle); }
|
|
13
|
-
|
|
14
|
-
/* floating — position: fixed, 8px gutter, r10, the measured floating elevation.
|
|
15
|
-
Rest is transform: none (Lesson 27); the off-canvas value is the @starting-style enter only. */
|
|
11
|
+
/* floating — position: fixed, 8px gutter, r10, the measured floating elevation. Rest is transform: none (Lesson 27); the off-canvas value is the @starting-style enter only. */
|
|
16
12
|
& .crisp-resizablepanel-panel[data-floating="true"] { position: fixed; top: var(--crisp-space-2); bottom: var(--crisp-space-2); border-inline-end: none; border-inline-start: none; border-radius: 10px; 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); transform: none; transition: transform 0.14s, padding 0.14s; }
|
|
17
13
|
& .crisp-resizablepanel-panel[data-floating="true"][data-side="left"] { padding: var(--crisp-space-2) 0 var(--crisp-space-2) var(--crisp-space-2); @starting-style { transform: translateX(calc(-100% - var(--crisp-space-2))); } }
|
|
18
14
|
& .crisp-resizablepanel-panel[data-floating="true"][data-side="right"] { padding: var(--crisp-space-2) var(--crisp-space-2) var(--crisp-space-2) 0; @starting-style { transform: translateX(calc(100% + var(--crisp-space-2))); } }
|
|
19
|
-
|
|
20
15
|
& .crisp-resizablepanel-inner { height: 100%; opacity: 1; }
|
|
21
16
|
& .crisp-resizablepanel-panel[data-floating="true"] .crisp-resizablepanel-inner { opacity: 1; transition: opacity 0.14s; @starting-style { opacity: 0; } }
|
|
22
|
-
|
|
23
|
-
/* handle — variant "panel" (default): a 10px hit target, its ::before the
|
|
24
|
-
only visible divider (1px rest -> 2px on hover/drag, brand-solid). */
|
|
17
|
+
/* handle — variant "panel" (default): a 10px hit target, its ::before the only visible divider (1px rest -> 2px on hover/drag, brand-solid). */
|
|
25
18
|
& .crisp-resizablepanel-handle { position: absolute; top: 0; width: 10px; height: 100%; z-index: 2; cursor: col-resize; background: transparent; touch-action: none; }
|
|
26
19
|
& .crisp-resizablepanel-handle[data-side="left"] { right: 0; }
|
|
27
20
|
& .crisp-resizablepanel-handle[data-side="right"] { left: 0; }
|
|
@@ -29,10 +22,7 @@
|
|
|
29
22
|
& .crisp-resizablepanel-handle[data-side="left"]::before { right: 0; }
|
|
30
23
|
& .crisp-resizablepanel-handle[data-side="right"]::before { left: 0; }
|
|
31
24
|
& .crisp-resizablepanel-handle:hover::before, & .crisp-resizablepanel-handle[data-dragging="true"]::before { width: 2px; background: var(--crisp-bg-brand-solid); }
|
|
32
|
-
|
|
33
|
-
/* handle — variant "column": a wider 7px hit target straddling a 1px
|
|
34
|
-
divider (table column edges), with a real 3px inner bar whose opacity
|
|
35
|
-
comes in on a 100ms DELAY — distinct from the panel variant's instant
|
|
25
|
+
/* handle — variant "column": a wider 7px hit target straddling a 1px divider (table column edges), with a real 3px inner bar whose opacity comes in on a 100ms DELAY — distinct from the panel variant's instant
|
|
36
26
|
::before swap. */
|
|
37
27
|
/* .crisp-resizablepanel-handle.crisp-resizablepanel-handle--column (both classes) to
|
|
38
28
|
out-specificity the base [data-side] left/right rules above, which
|
|
@@ -41,7 +31,6 @@
|
|
|
41
31
|
& .crisp-resizablepanel-handle--column::before { content: none; }
|
|
42
32
|
& .crisp-resizablepanel-handle-inner { width: 3px; height: 100%; border-radius: 3px; background: var(--crisp-bg-brand-solid); opacity: 0; transition: opacity 0.1s 0.1s; }
|
|
43
33
|
& .crisp-resizablepanel-handle--column:hover .crisp-resizablepanel-handle-inner, & .crisp-resizablepanel-handle--column[data-dragging="true"] .crisp-resizablepanel-handle-inner { opacity: 1; }
|
|
44
|
-
|
|
45
34
|
}
|
|
46
35
|
|
|
47
36
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -1,28 +1,21 @@
|
|
|
1
1
|
@layer crisp-components {
|
|
2
2
|
.crisp-resizablepanel {
|
|
3
|
-
|
|
4
|
-
position: relative; display: flex; height: 100%;
|
|
3
|
+
position: relative; display: flex; height: 100%;
|
|
5
4
|
& .crisp-resizablepanel-spacer { flex: 0 0 auto; height: 100%; transition: width 0.14s; }
|
|
6
5
|
& .crisp-resizablepanel-panel { position: absolute; top: 0; bottom: 0; box-sizing: border-box; overflow: hidden; background: var(--crisp-bg-surface); }
|
|
7
6
|
& .crisp-resizablepanel-panel[data-side="left"] { left: 0; }
|
|
8
7
|
& .crisp-resizablepanel-panel[data-side="right"] { right: 0; }
|
|
9
|
-
|
|
10
8
|
/* docked */
|
|
11
9
|
& .crisp-resizablepanel-panel[data-floating="false"] { border-radius: 0; box-shadow: none; }
|
|
12
10
|
& .crisp-resizablepanel-panel[data-floating="false"][data-side="left"] { border-inline-end: 1px solid var(--crisp-border-subtle); }
|
|
13
11
|
& .crisp-resizablepanel-panel[data-floating="false"][data-side="right"] { border-inline-start: 1px solid var(--crisp-border-subtle); }
|
|
14
|
-
|
|
15
|
-
/* floating — position: fixed, 8px gutter, r10, the measured floating elevation.
|
|
16
|
-
Rest is transform: none (Lesson 27); the off-canvas value is the @starting-style enter only. */
|
|
12
|
+
/* floating — position: fixed, 8px gutter, r10, the measured floating elevation. Rest is transform: none (Lesson 27); the off-canvas value is the @starting-style enter only. */
|
|
17
13
|
& .crisp-resizablepanel-panel[data-floating="true"] { position: fixed; top: var(--crisp-space-2); bottom: var(--crisp-space-2); border-inline-end: none; border-inline-start: none; border-radius: 10px; 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); transform: none; transition: transform 0.14s, padding 0.14s; }
|
|
18
14
|
& .crisp-resizablepanel-panel[data-floating="true"][data-side="left"] { padding: var(--crisp-space-2) 0 var(--crisp-space-2) var(--crisp-space-2); @starting-style { transform: translateX(calc(-100% - var(--crisp-space-2))); } }
|
|
19
15
|
& .crisp-resizablepanel-panel[data-floating="true"][data-side="right"] { padding: var(--crisp-space-2) var(--crisp-space-2) var(--crisp-space-2) 0; @starting-style { transform: translateX(calc(100% + var(--crisp-space-2))); } }
|
|
20
|
-
|
|
21
16
|
& .crisp-resizablepanel-inner { height: 100%; opacity: 1; }
|
|
22
17
|
& .crisp-resizablepanel-panel[data-floating="true"] .crisp-resizablepanel-inner { opacity: 1; transition: opacity 0.14s; @starting-style { opacity: 0; } }
|
|
23
|
-
|
|
24
|
-
/* handle — variant "panel" (default): a 10px hit target, its ::before the
|
|
25
|
-
only visible divider (1px rest -> 2px on hover/drag, brand-solid). */
|
|
18
|
+
/* handle — variant "panel" (default): a 10px hit target, its ::before the only visible divider (1px rest -> 2px on hover/drag, brand-solid). */
|
|
26
19
|
& .crisp-resizablepanel-handle { position: absolute; top: 0; width: 10px; height: 100%; z-index: 2; cursor: col-resize; background: transparent; touch-action: none; }
|
|
27
20
|
& .crisp-resizablepanel-handle[data-side="left"] { right: 0; }
|
|
28
21
|
& .crisp-resizablepanel-handle[data-side="right"] { left: 0; }
|
|
@@ -30,10 +23,7 @@
|
|
|
30
23
|
& .crisp-resizablepanel-handle[data-side="left"]::before { right: 0; }
|
|
31
24
|
& .crisp-resizablepanel-handle[data-side="right"]::before { left: 0; }
|
|
32
25
|
& .crisp-resizablepanel-handle:hover::before, & .crisp-resizablepanel-handle[data-dragging="true"]::before { width: 2px; background: var(--crisp-bg-brand-solid); }
|
|
33
|
-
|
|
34
|
-
/* handle — variant "column": a wider 7px hit target straddling a 1px
|
|
35
|
-
divider (table column edges), with a real 3px inner bar whose opacity
|
|
36
|
-
comes in on a 100ms DELAY — distinct from the panel variant's instant
|
|
26
|
+
/* handle — variant "column": a wider 7px hit target straddling a 1px divider (table column edges), with a real 3px inner bar whose opacity comes in on a 100ms DELAY — distinct from the panel variant's instant
|
|
37
27
|
::before swap. */
|
|
38
28
|
/* .crisp-resizablepanel-handle.crisp-resizablepanel-handle--column (both classes) to
|
|
39
29
|
out-specificity the base [data-side] left/right rules above, which
|
|
@@ -42,7 +32,6 @@
|
|
|
42
32
|
& .crisp-resizablepanel-handle--column::before { content: none; }
|
|
43
33
|
& .crisp-resizablepanel-handle-inner { width: 3px; height: 100%; border-radius: 3px; background: var(--crisp-bg-brand-solid); opacity: 0; transition: opacity 0.1s 0.1s; }
|
|
44
34
|
& .crisp-resizablepanel-handle--column:hover .crisp-resizablepanel-handle-inner, & .crisp-resizablepanel-handle--column[data-dragging="true"] .crisp-resizablepanel-handle-inner { opacity: 1; }
|
|
45
|
-
|
|
46
35
|
}
|
|
47
36
|
|
|
48
37
|
@media (prefers-reduced-motion: reduce) {
|
package/dist/richtext.css
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
.crisp-richtext {
|
|
2
|
-
display: flex; flex-direction: column; box-sizing: border-box; font-family: var(--crisp-font-sans); color: var(--crisp-fg-primary);
|
|
3
|
-
-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
|
|
4
|
-
|
|
2
|
+
display: flex; flex-direction: column; box-sizing: border-box; font-family: var(--crisp-font-sans); color: var(--crisp-fg-primary); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
|
|
5
3
|
& .crisp-rte-title { font-size: 32px; line-height: 36px; font-weight: var(--crisp-weight-semibold); letter-spacing: -0.6px; color: var(--crisp-fg-primary); outline: none; }
|
|
6
4
|
& .crisp-rte-title[data-empty]::before { content: attr(data-placeholder); color: color-mix(in srgb, var(--crisp-fg-primary) 28%, transparent); pointer-events: none; }
|
|
7
|
-
|
|
8
5
|
& .crisp-rte-body { margin-top: var(--crisp-space-3); font-size: var(--crisp-text-lg); line-height: 20px; color: var(--crisp-fg-primary); outline: none; }
|
|
9
6
|
& .crisp-rte-body[data-empty]::before { content: attr(data-placeholder); color: color-mix(in srgb, var(--crisp-fg-primary) 28%, transparent); pointer-events: none; }
|
|
10
7
|
& .crisp-rte-body > * { margin: 0; }
|
|
@@ -18,7 +15,6 @@
|
|
|
18
15
|
& .crisp-rte-body code { font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace; font-size: var(--crisp-text-md); padding: 1px var(--crisp-space-1); border-radius: var(--crisp-radius-sm); background: color-mix(in srgb, var(--crisp-fg-primary) 6%, transparent); }
|
|
19
16
|
& .crisp-rte-body a { color: var(--crisp-bg-brand-solid); text-decoration: underline; text-underline-offset: 2px; }
|
|
20
17
|
& .crisp-rte-body strong { font-weight: var(--crisp-weight-semibold); }
|
|
21
|
-
|
|
22
18
|
& .crisp-rte-toolbar { position: fixed; z-index: 70; display: inline-flex; align-items: center; gap: 2px; padding: var(--crisp-space-0-5); border-radius: var(--crisp-radius-md); background: #20242c; box-shadow: 0 8px 28px -6px rgba(0,0,0,0.36), 0 2px 6px -2px rgba(0,0,0,0.24); transform: translate(-50%, -100%); opacity: 1; transition: opacity 0.1s ease; }
|
|
23
19
|
& .crisp-rte-toolbar { @starting-style { opacity: 0; } }
|
|
24
20
|
& .crisp-rte-tool { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; padding: 0; margin: 0; border: none; border-radius: var(--crisp-radius-sm); background: none; color: rgba(255,255,255,0.86); font-family: inherit; cursor: pointer; transition: background-color .1s; }
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
@layer crisp-components {
|
|
2
2
|
.crisp-richtext {
|
|
3
|
-
display: flex; flex-direction: column; box-sizing: border-box; font-family: var(--crisp-font-sans); color: var(--crisp-fg-primary);
|
|
4
|
-
-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
|
|
5
|
-
|
|
3
|
+
display: flex; flex-direction: column; box-sizing: border-box; font-family: var(--crisp-font-sans); color: var(--crisp-fg-primary); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
|
|
6
4
|
& .crisp-rte-title { font-size: 32px; line-height: 36px; font-weight: var(--crisp-weight-semibold); letter-spacing: -0.6px; color: var(--crisp-fg-primary); outline: none; }
|
|
7
5
|
& .crisp-rte-title[data-empty]::before { content: attr(data-placeholder); color: color-mix(in srgb, var(--crisp-fg-primary) 28%, transparent); pointer-events: none; }
|
|
8
|
-
|
|
9
6
|
& .crisp-rte-body { margin-top: var(--crisp-space-3); font-size: var(--crisp-text-lg); line-height: 20px; color: var(--crisp-fg-primary); outline: none; }
|
|
10
7
|
& .crisp-rte-body[data-empty]::before { content: attr(data-placeholder); color: color-mix(in srgb, var(--crisp-fg-primary) 28%, transparent); pointer-events: none; }
|
|
11
8
|
& .crisp-rte-body > * { margin: 0; }
|
|
@@ -19,7 +16,6 @@
|
|
|
19
16
|
& .crisp-rte-body code { font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace; font-size: var(--crisp-text-md); padding: 1px var(--crisp-space-1); border-radius: var(--crisp-radius-sm); background: color-mix(in srgb, var(--crisp-fg-primary) 6%, transparent); }
|
|
20
17
|
& .crisp-rte-body a { color: var(--crisp-bg-brand-solid); text-decoration: underline; text-underline-offset: 2px; }
|
|
21
18
|
& .crisp-rte-body strong { font-weight: var(--crisp-weight-semibold); }
|
|
22
|
-
|
|
23
19
|
& .crisp-rte-toolbar { position: fixed; z-index: 70; display: inline-flex; align-items: center; gap: 2px; padding: var(--crisp-space-0-5); border-radius: var(--crisp-radius-md); background: #20242c; box-shadow: 0 8px 28px -6px rgba(0,0,0,0.36), 0 2px 6px -2px rgba(0,0,0,0.24); transform: translate(-50%, -100%); opacity: 1; transition: opacity 0.1s ease; }
|
|
24
20
|
& .crisp-rte-toolbar { @starting-style { opacity: 0; } }
|
|
25
21
|
& .crisp-rte-tool { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; padding: 0; margin: 0; border: none; border-radius: var(--crisp-radius-sm); background: none; color: rgba(255,255,255,0.86); font-family: inherit; cursor: pointer; transition: background-color .1s; }
|
package/dist/select.css
CHANGED
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
.crisp-select {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
|
|
5
|
-
|
|
6
|
-
& .crisp-select-trigger {
|
|
7
|
-
box-sizing: border-box; display: inline-flex; align-items: center; gap: var(--crisp-space-1-5);
|
|
8
|
-
height: var(--crisp-size-menuRow); width: 100%; min-width: 0; margin: 0; padding: 0 var(--crisp-space-1-5) 0 var(--crisp-space-2);
|
|
9
|
-
border: none; border-radius: var(--crisp-radius-md); background: transparent; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--crisp-fg-primary) 7%, transparent);
|
|
10
|
-
font-family: inherit; font-size: var(--crisp-text-lg); color: var(--crisp-fg-primary); cursor: pointer;
|
|
11
|
-
transition: background-color .12s ease, box-shadow .12s ease;
|
|
12
|
-
}
|
|
2
|
+
position: relative; display: inline-flex; font-family: var(--crisp-font-sans); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
|
|
3
|
+
& .crisp-select-trigger { box-sizing: border-box; display: inline-flex; align-items: center; gap: var(--crisp-space-1-5); height: var(--crisp-size-menuRow); width: 100%; min-width: 0; margin: 0; padding: 0 var(--crisp-space-1-5) 0 var(--crisp-space-2); border: none; border-radius: var(--crisp-radius-md); background: transparent; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--crisp-fg-primary) 7%, transparent); font-family: inherit; font-size: var(--crisp-text-lg); color: var(--crisp-fg-primary); cursor: pointer; transition: background-color .12s ease, box-shadow .12s ease; }
|
|
13
4
|
& .crisp-select-trigger:hover { background: var(--crisp-bg-raised); }
|
|
14
5
|
& .crisp-select-trigger[data-open], & .crisp-select-trigger:focus-visible { outline: none; box-shadow: inset 0 0 0 1px var(--crisp-bg-brand-solid); background: var(--crisp-bg-surface); }
|
|
15
6
|
& .crisp-select-trigger:disabled { opacity: 0.5; cursor: not-allowed; }
|
|
@@ -17,14 +8,7 @@
|
|
|
17
8
|
& .crisp-select-placeholder { color: var(--crisp-fg-muted); }
|
|
18
9
|
& .crisp-select-chevron { flex-shrink: 0; color: var(--crisp-fg-muted); transition: transform .15s ease; }
|
|
19
10
|
& .crisp-select-trigger[data-open] .crisp-select-chevron { transform: rotate(180deg); }
|
|
20
|
-
|
|
21
|
-
& .crisp-select-listbox {
|
|
22
|
-
position: fixed; z-index: 60; box-sizing: border-box; display: flex; flex-direction: column; gap: var(--crisp-space-px);
|
|
23
|
-
max-height: 280px; overflow-y: auto; padding: var(--crisp-space-1);
|
|
24
|
-
border-radius: var(--crisp-radius-xl); background: var(--crisp-bg-popover);
|
|
25
|
-
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);
|
|
26
|
-
transform-origin: top left; opacity: 1; transform: none; transition: opacity .08s ease, transform .08s ease;
|
|
27
|
-
}
|
|
11
|
+
& .crisp-select-listbox { position: fixed; z-index: 60; box-sizing: border-box; display: flex; flex-direction: column; gap: var(--crisp-space-px); max-height: 280px; overflow-y: auto; 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); transform-origin: top left; opacity: 1; transform: none; transition: opacity .08s ease, transform .08s ease; }
|
|
28
12
|
& .crisp-select-listbox[data-up] { transform-origin: bottom; }
|
|
29
13
|
& .crisp-select-listbox { @starting-style { opacity: 0; transform: scale(0.97) translateY(-1px); } }
|
|
30
14
|
& .crisp-select-search { display: flex; align-items: center; gap: var(--crisp-space-2); height: 34px; flex-shrink: 0; margin: calc(-1 * var(--crisp-space-1)) calc(-1 * var(--crisp-space-1)) var(--crisp-space-1); padding: 0 var(--crisp-space-2-5); border-bottom: 1px solid var(--crisp-border-subtle); color: var(--crisp-fg-muted); }
|
|
@@ -32,27 +16,20 @@
|
|
|
32
16
|
& .crisp-select-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); }
|
|
33
17
|
& .crisp-select-search input::placeholder { color: var(--crisp-fg-muted); }
|
|
34
18
|
& .crisp-select-empty { padding: var(--crisp-space-3) var(--crisp-space-2); text-align: center; font-size: var(--crisp-text-md); color: var(--crisp-fg-muted); }
|
|
35
|
-
& .crisp-select-option {
|
|
36
|
-
box-sizing: border-box; display: flex; align-items: center; gap: var(--crisp-space-2); height: var(--crisp-size-menuRow); flex-shrink: 0;
|
|
37
|
-
padding: 0 var(--crisp-space-2); margin: 0; border: none; background: none; border-radius: var(--crisp-radius-md);
|
|
38
|
-
font-family: inherit; font-size: var(--crisp-text-lg); color: var(--crisp-fg-primary); text-align: start; cursor: pointer; white-space: nowrap;
|
|
39
|
-
}
|
|
19
|
+
& .crisp-select-option { box-sizing: border-box; display: flex; align-items: center; gap: var(--crisp-space-2); height: var(--crisp-size-menuRow); flex-shrink: 0; padding: 0 var(--crisp-space-2); margin: 0; 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: start; cursor: pointer; white-space: nowrap; }
|
|
40
20
|
& .crisp-select-option[data-highlighted] { background: var(--crisp-bg-raised); }
|
|
41
21
|
& .crisp-select-option[data-disabled] { opacity: 0.5; cursor: not-allowed; }
|
|
42
22
|
& .crisp-select-option-dot { flex-shrink: 0; width: 8px; height: 8px; border-radius: var(--crisp-radius-full); }
|
|
43
23
|
& .crisp-select-option-label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
|
|
44
24
|
& .crisp-select-option-check { flex-shrink: 0; color: var(--crisp-bg-brand-solid); }
|
|
45
|
-
|
|
46
25
|
}
|
|
47
26
|
.crisp-select--variant_default {
|
|
48
27
|
|
|
49
28
|
}
|
|
50
29
|
.crisp-select--variant_ghost {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
& .crisp-select-trigger[data-open], & .crisp-select-trigger:focus-visible { background: transparent; box-shadow: inset 0 0 0 1px var(--crisp-bg-brand-solid); }
|
|
55
|
-
|
|
30
|
+
& .crisp-select-trigger { background: transparent; box-shadow: none; }
|
|
31
|
+
& .crisp-select-trigger:hover { background: var(--crisp-bg-raised); box-shadow: none; }
|
|
32
|
+
& .crisp-select-trigger[data-open], & .crisp-select-trigger:focus-visible { background: transparent; box-shadow: inset 0 0 0 1px var(--crisp-bg-brand-solid); }
|
|
56
33
|
}
|
|
57
34
|
.crisp-select--width_full {
|
|
58
35
|
width: 100%;
|
package/dist/select.layered.css
CHANGED
|
@@ -1,16 +1,7 @@
|
|
|
1
1
|
@layer crisp-components {
|
|
2
2
|
.crisp-select {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
|
|
6
|
-
|
|
7
|
-
& .crisp-select-trigger {
|
|
8
|
-
box-sizing: border-box; display: inline-flex; align-items: center; gap: var(--crisp-space-1-5);
|
|
9
|
-
height: var(--crisp-size-menuRow); width: 100%; min-width: 0; margin: 0; padding: 0 var(--crisp-space-1-5) 0 var(--crisp-space-2);
|
|
10
|
-
border: none; border-radius: var(--crisp-radius-md); background: transparent; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--crisp-fg-primary) 7%, transparent);
|
|
11
|
-
font-family: inherit; font-size: var(--crisp-text-lg); color: var(--crisp-fg-primary); cursor: pointer;
|
|
12
|
-
transition: background-color .12s ease, box-shadow .12s ease;
|
|
13
|
-
}
|
|
3
|
+
position: relative; display: inline-flex; font-family: var(--crisp-font-sans); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
|
|
4
|
+
& .crisp-select-trigger { box-sizing: border-box; display: inline-flex; align-items: center; gap: var(--crisp-space-1-5); height: var(--crisp-size-menuRow); width: 100%; min-width: 0; margin: 0; padding: 0 var(--crisp-space-1-5) 0 var(--crisp-space-2); border: none; border-radius: var(--crisp-radius-md); background: transparent; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--crisp-fg-primary) 7%, transparent); font-family: inherit; font-size: var(--crisp-text-lg); color: var(--crisp-fg-primary); cursor: pointer; transition: background-color .12s ease, box-shadow .12s ease; }
|
|
14
5
|
& .crisp-select-trigger:hover { background: var(--crisp-bg-raised); }
|
|
15
6
|
& .crisp-select-trigger[data-open], & .crisp-select-trigger:focus-visible { outline: none; box-shadow: inset 0 0 0 1px var(--crisp-bg-brand-solid); background: var(--crisp-bg-surface); }
|
|
16
7
|
& .crisp-select-trigger:disabled { opacity: 0.5; cursor: not-allowed; }
|
|
@@ -18,14 +9,7 @@
|
|
|
18
9
|
& .crisp-select-placeholder { color: var(--crisp-fg-muted); }
|
|
19
10
|
& .crisp-select-chevron { flex-shrink: 0; color: var(--crisp-fg-muted); transition: transform .15s ease; }
|
|
20
11
|
& .crisp-select-trigger[data-open] .crisp-select-chevron { transform: rotate(180deg); }
|
|
21
|
-
|
|
22
|
-
& .crisp-select-listbox {
|
|
23
|
-
position: fixed; z-index: 60; box-sizing: border-box; display: flex; flex-direction: column; gap: var(--crisp-space-px);
|
|
24
|
-
max-height: 280px; overflow-y: auto; padding: var(--crisp-space-1);
|
|
25
|
-
border-radius: var(--crisp-radius-xl); background: var(--crisp-bg-popover);
|
|
26
|
-
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);
|
|
27
|
-
transform-origin: top left; opacity: 1; transform: none; transition: opacity .08s ease, transform .08s ease;
|
|
28
|
-
}
|
|
12
|
+
& .crisp-select-listbox { position: fixed; z-index: 60; box-sizing: border-box; display: flex; flex-direction: column; gap: var(--crisp-space-px); max-height: 280px; overflow-y: auto; 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); transform-origin: top left; opacity: 1; transform: none; transition: opacity .08s ease, transform .08s ease; }
|
|
29
13
|
& .crisp-select-listbox[data-up] { transform-origin: bottom; }
|
|
30
14
|
& .crisp-select-listbox { @starting-style { opacity: 0; transform: scale(0.97) translateY(-1px); } }
|
|
31
15
|
& .crisp-select-search { display: flex; align-items: center; gap: var(--crisp-space-2); height: 34px; flex-shrink: 0; margin: calc(-1 * var(--crisp-space-1)) calc(-1 * var(--crisp-space-1)) var(--crisp-space-1); padding: 0 var(--crisp-space-2-5); border-bottom: 1px solid var(--crisp-border-subtle); color: var(--crisp-fg-muted); }
|
|
@@ -33,27 +17,20 @@
|
|
|
33
17
|
& .crisp-select-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); }
|
|
34
18
|
& .crisp-select-search input::placeholder { color: var(--crisp-fg-muted); }
|
|
35
19
|
& .crisp-select-empty { padding: var(--crisp-space-3) var(--crisp-space-2); text-align: center; font-size: var(--crisp-text-md); color: var(--crisp-fg-muted); }
|
|
36
|
-
& .crisp-select-option {
|
|
37
|
-
box-sizing: border-box; display: flex; align-items: center; gap: var(--crisp-space-2); height: var(--crisp-size-menuRow); flex-shrink: 0;
|
|
38
|
-
padding: 0 var(--crisp-space-2); margin: 0; border: none; background: none; border-radius: var(--crisp-radius-md);
|
|
39
|
-
font-family: inherit; font-size: var(--crisp-text-lg); color: var(--crisp-fg-primary); text-align: start; cursor: pointer; white-space: nowrap;
|
|
40
|
-
}
|
|
20
|
+
& .crisp-select-option { box-sizing: border-box; display: flex; align-items: center; gap: var(--crisp-space-2); height: var(--crisp-size-menuRow); flex-shrink: 0; padding: 0 var(--crisp-space-2); margin: 0; 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: start; cursor: pointer; white-space: nowrap; }
|
|
41
21
|
& .crisp-select-option[data-highlighted] { background: var(--crisp-bg-raised); }
|
|
42
22
|
& .crisp-select-option[data-disabled] { opacity: 0.5; cursor: not-allowed; }
|
|
43
23
|
& .crisp-select-option-dot { flex-shrink: 0; width: 8px; height: 8px; border-radius: var(--crisp-radius-full); }
|
|
44
24
|
& .crisp-select-option-label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
|
|
45
25
|
& .crisp-select-option-check { flex-shrink: 0; color: var(--crisp-bg-brand-solid); }
|
|
46
|
-
|
|
47
26
|
}
|
|
48
27
|
.crisp-select--variant_default {
|
|
49
28
|
|
|
50
29
|
}
|
|
51
30
|
.crisp-select--variant_ghost {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
& .crisp-select-trigger[data-open], & .crisp-select-trigger:focus-visible { background: transparent; box-shadow: inset 0 0 0 1px var(--crisp-bg-brand-solid); }
|
|
56
|
-
|
|
31
|
+
& .crisp-select-trigger { background: transparent; box-shadow: none; }
|
|
32
|
+
& .crisp-select-trigger:hover { background: var(--crisp-bg-raised); box-shadow: none; }
|
|
33
|
+
& .crisp-select-trigger[data-open], & .crisp-select-trigger:focus-visible { background: transparent; box-shadow: inset 0 0 0 1px var(--crisp-bg-brand-solid); }
|
|
57
34
|
}
|
|
58
35
|
.crisp-select--width_full {
|
|
59
36
|
width: 100%;
|
package/dist/settingsshell.css
CHANGED
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
.crisp-settingsshell {
|
|
2
|
-
display: flex; min-height: 0; box-sizing: border-box; font-family: var(--crisp-font-sans); color: var(--crisp-fg-primary);
|
|
3
|
-
-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
|
|
4
|
-
|
|
2
|
+
display: flex; 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;
|
|
5
3
|
& .crisp-settingsshell-nav { display: flex; flex-direction: column; width: 256px; flex-shrink: 0; min-height: 0; padding: var(--crisp-space-3); border-inline-end: 1px solid var(--crisp-border-subtle); }
|
|
6
4
|
& .crisp-settingsshell-back { display: inline-flex; align-items: center; gap: var(--crisp-space-1-5); height: 28px; padding: 0 var(--crisp-space-1); margin: 0 0 var(--crisp-space-2); border: none; background: none; font-family: inherit; font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-semibold); color: var(--crisp-fg-primary); cursor: pointer; border-radius: var(--crisp-radius-md); }
|
|
7
5
|
& .crisp-settingsshell-back svg { color: var(--crisp-fg-muted); }
|
|
8
6
|
& .crisp-settingsshell-back:hover svg { color: var(--crisp-fg-primary); }
|
|
9
|
-
|
|
10
7
|
& .crisp-settingsshell-search { display: flex; align-items: center; gap: var(--crisp-space-2); height: 32px; margin-bottom: var(--crisp-space-2); padding: 0 var(--crisp-space-2-5); border-radius: var(--crisp-radius-md); background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px var(--crisp-border-default); color: var(--crisp-fg-muted); }
|
|
11
|
-
/* The field box owns the ring, so focus has to move it -- the inner
|
|
12
|
-
input kills its own outline. Measured live: a focused field's
|
|
8
|
+
/* The field box owns the ring, so focus has to move it -- the inner input kills its own outline. Measured live: a focused field's
|
|
13
9
|
input carries box-shadow: none while its wrapper carries
|
|
14
10
|
inset 0 0 0 1px #266df0. */
|
|
15
11
|
& .crisp-settingsshell-search:focus-within { box-shadow: inset 0 0 0 1px var(--crisp-bg-brand-solid); }
|
|
@@ -30,7 +26,6 @@
|
|
|
30
26
|
|
|
31
27
|
& .crisp-settingsshell-content { flex: 1; min-width: 0; min-height: 0; overflow-y: auto; padding: var(--crisp-space-6) var(--crisp-space-8); }
|
|
32
28
|
[dir="rtl"] & [data-rtl-flip] { transform: scaleX(-1); }
|
|
33
|
-
|
|
34
29
|
}
|
|
35
30
|
|
|
36
31
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
@layer crisp-components {
|
|
2
2
|
.crisp-settingsshell {
|
|
3
|
-
display: flex; min-height: 0; box-sizing: border-box; font-family: var(--crisp-font-sans); color: var(--crisp-fg-primary);
|
|
4
|
-
-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
|
|
5
|
-
|
|
3
|
+
display: flex; 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;
|
|
6
4
|
& .crisp-settingsshell-nav { display: flex; flex-direction: column; width: 256px; flex-shrink: 0; min-height: 0; padding: var(--crisp-space-3); border-inline-end: 1px solid var(--crisp-border-subtle); }
|
|
7
5
|
& .crisp-settingsshell-back { display: inline-flex; align-items: center; gap: var(--crisp-space-1-5); height: 28px; padding: 0 var(--crisp-space-1); margin: 0 0 var(--crisp-space-2); border: none; background: none; font-family: inherit; font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-semibold); color: var(--crisp-fg-primary); cursor: pointer; border-radius: var(--crisp-radius-md); }
|
|
8
6
|
& .crisp-settingsshell-back svg { color: var(--crisp-fg-muted); }
|
|
9
7
|
& .crisp-settingsshell-back:hover svg { color: var(--crisp-fg-primary); }
|
|
10
|
-
|
|
11
8
|
& .crisp-settingsshell-search { display: flex; align-items: center; gap: var(--crisp-space-2); height: 32px; margin-bottom: var(--crisp-space-2); padding: 0 var(--crisp-space-2-5); border-radius: var(--crisp-radius-md); background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px var(--crisp-border-default); color: var(--crisp-fg-muted); }
|
|
12
|
-
/* The field box owns the ring, so focus has to move it -- the inner
|
|
13
|
-
input kills its own outline. Measured live: a focused field's
|
|
9
|
+
/* The field box owns the ring, so focus has to move it -- the inner input kills its own outline. Measured live: a focused field's
|
|
14
10
|
input carries box-shadow: none while its wrapper carries
|
|
15
11
|
inset 0 0 0 1px #266df0. */
|
|
16
12
|
& .crisp-settingsshell-search:focus-within { box-shadow: inset 0 0 0 1px var(--crisp-bg-brand-solid); }
|
|
@@ -31,7 +27,6 @@
|
|
|
31
27
|
|
|
32
28
|
& .crisp-settingsshell-content { flex: 1; min-width: 0; min-height: 0; overflow-y: auto; padding: var(--crisp-space-6) var(--crisp-space-8); }
|
|
33
29
|
[dir="rtl"] & [data-rtl-flip] { transform: scaleX(-1); }
|
|
34
|
-
|
|
35
30
|
}
|
|
36
31
|
|
|
37
32
|
@media (prefers-reduced-motion: reduce) {
|
package/dist/sidebar.css
CHANGED
|
@@ -1,32 +1,27 @@
|
|
|
1
1
|
.crisp-sidebar {
|
|
2
|
-
box-sizing: border-box; display: flex; flex-direction: column; width: 275px; height: 100%; background: var(--crisp-bg-sidebar)
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
& .crisp-sidebar-newlist { box-sizing: border-box; display: flex; align-items: center; justify-content: center; width: 100%; height: var(--crisp-size-row); border-radius: var(--crisp-radius-md); border: 1px dashed var(--crisp-border-default); background: transparent; color: var(--crisp-fg-muted); font-family: var(--crisp-font-sans); font-size: var(--crisp-text-md); font-weight: var(--crisp-weight-medium); cursor: pointer; }
|
|
26
|
-
& .crisp-sidebar-newlist:hover { background: var(--crisp-bg-raised); color: var(--crisp-fg-primary); }
|
|
27
|
-
|
|
28
|
-
[dir="rtl"] & [data-rtl-flip] { transform: scaleX(-1); }
|
|
29
|
-
|
|
2
|
+
box-sizing: border-box; display: flex; flex-direction: column; width: 275px; height: 100%; background: var(--crisp-bg-sidebar) ; border-inline-end: 1px solid var(--crisp-border-subtle) ; padding: var(--crisp-space-2) ; font-family: var(--crisp-font-sans) ; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-y: auto;
|
|
3
|
+
& .crisp-sidebar-section { display: flex; flex-direction: column; gap: var(--crisp-space-px); margin-top: var(--crisp-space-2); }
|
|
4
|
+
& .crisp-sidebar-section[data-collapsed] { display: none; }
|
|
5
|
+
& .crisp-sidebar-label { font-size: var(--crisp-text-sm); font-weight: var(--crisp-weight-medium); color: var(--crisp-fg-muted); padding: var(--crisp-space-1-5) var(--crisp-space-2) var(--crisp-space-0-5); }
|
|
6
|
+
& .crisp-sidebar-section-header { display: flex; align-items: center; gap: var(--crisp-space-1); width: 100%; margin: 0; border: none; background: none; padding: var(--crisp-space-1-5) var(--crisp-space-2) var(--crisp-space-0-5); font-family: var(--crisp-font-sans); font-size: var(--crisp-text-sm); font-weight: var(--crisp-weight-medium); color: var(--crisp-fg-muted); cursor: pointer; }
|
|
7
|
+
& .crisp-sidebar-section-header svg { flex-shrink: 0; transition: transform .15s ease; }
|
|
8
|
+
& .crisp-sidebar-section-header[data-collapsed] svg { transform: rotate(-90deg); }
|
|
9
|
+
& .crisp-sidebar-ws { display: flex; align-items: center; gap: var(--crisp-space-2); height: var(--crisp-size-header); padding: 0 var(--crisp-space-2); border-radius: var(--crisp-radius-lg); cursor: pointer; transition: background-color 0.16s; }
|
|
10
|
+
& .crisp-sidebar-ws:hover { background: color-mix(in srgb, var(--crisp-fg-primary) 5%, transparent); }
|
|
11
|
+
& .crisp-sidebar-ws-name { font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-semibold); flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
12
|
+
& .crisp-sidebar-ws-collapse { margin-inline-start: auto; }
|
|
13
|
+
& .crisp-sidebar-searchrow { display: flex; align-items: center; gap: var(--crisp-space-1-5); margin-top: var(--crisp-space-2-5); padding-inline-end: var(--crisp-space-2); }
|
|
14
|
+
& .crisp-sidebar-footer { margin-top: auto; display: flex; flex-direction: column; gap: var(--crisp-space-0-5); }
|
|
15
|
+
& .crisp-sidebar-trial { display: flex; align-items: center; justify-content: space-between; gap: var(--crisp-space-2); padding: var(--crisp-space-1-5) var(--crisp-space-2); font-size: var(--crisp-text-sm); color: var(--crisp-fg-muted); }
|
|
16
|
+
& .crisp-sidebar-search { box-sizing: border-box; flex: 1; min-width: 0; display: flex; align-items: center; gap: var(--crisp-space-2); height: var(--crisp-size-row); margin: 0; padding: 0 var(--crisp-space-1) 0 var(--crisp-space-2); border: none; border-radius: var(--crisp-radius-md); 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-muted); font-family: inherit; font-size: var(--crisp-text-lg); text-align: start; cursor: pointer; transition: background-color 0.14s; }
|
|
17
|
+
& .crisp-sidebar-search:hover { background: var(--crisp-bg-raised); }
|
|
18
|
+
& .crisp-sidebar-search-label { flex: 1; color: var(--crisp-fg-primary); font-weight: var(--crisp-weight-medium); }
|
|
19
|
+
& .crisp-sidebar-search-kbd { margin-inline-start: auto; display: inline-flex; align-items: center; height: 18px; padding: 0 var(--crisp-space-1); border-radius: var(--crisp-radius-sm); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--crisp-fg-primary) 8%, transparent); color: color-mix(in srgb, var(--crisp-fg-primary) 50%, transparent); font-size: var(--crisp-text-xs); }
|
|
20
|
+
& .crisp-sidebar-pill { border-radius: var(--crisp-radius-full); align-self: center; width: auto; height: 32px; padding-inline: var(--crisp-space-4); }
|
|
21
|
+
& .crisp-sidebar-divider { height: 0; border: none; border-top: 1px solid var(--crisp-border-subtle); margin: var(--crisp-space-2) calc(-1 * var(--crisp-space-2)) 0; }
|
|
22
|
+
& .crisp-sidebar-newlist { box-sizing: border-box; display: flex; align-items: center; justify-content: center; width: 100%; height: var(--crisp-size-row); border-radius: var(--crisp-radius-md); border: 1px dashed var(--crisp-border-default); background: transparent; color: var(--crisp-fg-muted); font-family: var(--crisp-font-sans); font-size: var(--crisp-text-md); font-weight: var(--crisp-weight-medium); cursor: pointer; }
|
|
23
|
+
& .crisp-sidebar-newlist:hover { background: var(--crisp-bg-raised); color: var(--crisp-fg-primary); }
|
|
24
|
+
[dir="rtl"] & [data-rtl-flip] { transform: scaleX(-1); }
|
|
30
25
|
}
|
|
31
26
|
|
|
32
27
|
@media (prefers-reduced-motion: reduce) {
|
package/dist/sidebar.layered.css
CHANGED
|
@@ -1,33 +1,28 @@
|
|
|
1
1
|
@layer crisp-components {
|
|
2
2
|
.crisp-sidebar {
|
|
3
|
-
box-sizing: border-box; display: flex; flex-direction: column; width: 275px; height: 100%; background: var(--crisp-bg-sidebar)
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
& .crisp-sidebar-newlist { box-sizing: border-box; display: flex; align-items: center; justify-content: center; width: 100%; height: var(--crisp-size-row); border-radius: var(--crisp-radius-md); border: 1px dashed var(--crisp-border-default); background: transparent; color: var(--crisp-fg-muted); font-family: var(--crisp-font-sans); font-size: var(--crisp-text-md); font-weight: var(--crisp-weight-medium); cursor: pointer; }
|
|
27
|
-
& .crisp-sidebar-newlist:hover { background: var(--crisp-bg-raised); color: var(--crisp-fg-primary); }
|
|
28
|
-
|
|
29
|
-
[dir="rtl"] & [data-rtl-flip] { transform: scaleX(-1); }
|
|
30
|
-
|
|
3
|
+
box-sizing: border-box; display: flex; flex-direction: column; width: 275px; height: 100%; background: var(--crisp-bg-sidebar) ; border-inline-end: 1px solid var(--crisp-border-subtle) ; padding: var(--crisp-space-2) ; font-family: var(--crisp-font-sans) ; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-y: auto;
|
|
4
|
+
& .crisp-sidebar-section { display: flex; flex-direction: column; gap: var(--crisp-space-px); margin-top: var(--crisp-space-2); }
|
|
5
|
+
& .crisp-sidebar-section[data-collapsed] { display: none; }
|
|
6
|
+
& .crisp-sidebar-label { font-size: var(--crisp-text-sm); font-weight: var(--crisp-weight-medium); color: var(--crisp-fg-muted); padding: var(--crisp-space-1-5) var(--crisp-space-2) var(--crisp-space-0-5); }
|
|
7
|
+
& .crisp-sidebar-section-header { display: flex; align-items: center; gap: var(--crisp-space-1); width: 100%; margin: 0; border: none; background: none; padding: var(--crisp-space-1-5) var(--crisp-space-2) var(--crisp-space-0-5); font-family: var(--crisp-font-sans); font-size: var(--crisp-text-sm); font-weight: var(--crisp-weight-medium); color: var(--crisp-fg-muted); cursor: pointer; }
|
|
8
|
+
& .crisp-sidebar-section-header svg { flex-shrink: 0; transition: transform .15s ease; }
|
|
9
|
+
& .crisp-sidebar-section-header[data-collapsed] svg { transform: rotate(-90deg); }
|
|
10
|
+
& .crisp-sidebar-ws { display: flex; align-items: center; gap: var(--crisp-space-2); height: var(--crisp-size-header); padding: 0 var(--crisp-space-2); border-radius: var(--crisp-radius-lg); cursor: pointer; transition: background-color 0.16s; }
|
|
11
|
+
& .crisp-sidebar-ws:hover { background: color-mix(in srgb, var(--crisp-fg-primary) 5%, transparent); }
|
|
12
|
+
& .crisp-sidebar-ws-name { font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-semibold); flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
13
|
+
& .crisp-sidebar-ws-collapse { margin-inline-start: auto; }
|
|
14
|
+
& .crisp-sidebar-searchrow { display: flex; align-items: center; gap: var(--crisp-space-1-5); margin-top: var(--crisp-space-2-5); padding-inline-end: var(--crisp-space-2); }
|
|
15
|
+
& .crisp-sidebar-footer { margin-top: auto; display: flex; flex-direction: column; gap: var(--crisp-space-0-5); }
|
|
16
|
+
& .crisp-sidebar-trial { display: flex; align-items: center; justify-content: space-between; gap: var(--crisp-space-2); padding: var(--crisp-space-1-5) var(--crisp-space-2); font-size: var(--crisp-text-sm); color: var(--crisp-fg-muted); }
|
|
17
|
+
& .crisp-sidebar-search { box-sizing: border-box; flex: 1; min-width: 0; display: flex; align-items: center; gap: var(--crisp-space-2); height: var(--crisp-size-row); margin: 0; padding: 0 var(--crisp-space-1) 0 var(--crisp-space-2); border: none; border-radius: var(--crisp-radius-md); 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-muted); font-family: inherit; font-size: var(--crisp-text-lg); text-align: start; cursor: pointer; transition: background-color 0.14s; }
|
|
18
|
+
& .crisp-sidebar-search:hover { background: var(--crisp-bg-raised); }
|
|
19
|
+
& .crisp-sidebar-search-label { flex: 1; color: var(--crisp-fg-primary); font-weight: var(--crisp-weight-medium); }
|
|
20
|
+
& .crisp-sidebar-search-kbd { margin-inline-start: auto; display: inline-flex; align-items: center; height: 18px; padding: 0 var(--crisp-space-1); border-radius: var(--crisp-radius-sm); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--crisp-fg-primary) 8%, transparent); color: color-mix(in srgb, var(--crisp-fg-primary) 50%, transparent); font-size: var(--crisp-text-xs); }
|
|
21
|
+
& .crisp-sidebar-pill { border-radius: var(--crisp-radius-full); align-self: center; width: auto; height: 32px; padding-inline: var(--crisp-space-4); }
|
|
22
|
+
& .crisp-sidebar-divider { height: 0; border: none; border-top: 1px solid var(--crisp-border-subtle); margin: var(--crisp-space-2) calc(-1 * var(--crisp-space-2)) 0; }
|
|
23
|
+
& .crisp-sidebar-newlist { box-sizing: border-box; display: flex; align-items: center; justify-content: center; width: 100%; height: var(--crisp-size-row); border-radius: var(--crisp-radius-md); border: 1px dashed var(--crisp-border-default); background: transparent; color: var(--crisp-fg-muted); font-family: var(--crisp-font-sans); font-size: var(--crisp-text-md); font-weight: var(--crisp-weight-medium); cursor: pointer; }
|
|
24
|
+
& .crisp-sidebar-newlist:hover { background: var(--crisp-bg-raised); color: var(--crisp-fg-primary); }
|
|
25
|
+
[dir="rtl"] & [data-rtl-flip] { transform: scaleX(-1); }
|
|
31
26
|
}
|
|
32
27
|
|
|
33
28
|
@media (prefers-reduced-motion: reduce) {
|