@crewlethq/ui 0.4.4 → 0.5.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 +888 -24
- package/dist/Accordion/index.js +2 -2
- package/dist/AddPill/index.js +1 -1
- package/dist/{AddPill-DFWXYLIQ.css → AddPill-IJQYCY6C.css} +9 -0
- package/dist/AppShell/AppShell.d.ts +26 -5
- package/dist/AppShell/index.js +3 -3
- package/dist/{AppShell-NVE6LHNI.css → AppShell-XARELGIH.css} +178 -25
- package/dist/Avatar/Avatar.d.ts +85 -40
- package/dist/Avatar/AvatarStack.d.ts +76 -0
- package/dist/Avatar/index.d.ts +5 -2
- package/dist/Avatar/index.js +1 -1
- package/dist/Avatar-XID7Z74C.css +200 -0
- package/dist/AvatarStack-GEJBNV7E.css +72 -0
- package/dist/BrandLockup/index.js +1 -1
- package/dist/{BrandLockup-6ISDEHPJ.css → BrandLockup-JKGXFCZF.css} +25 -19
- package/dist/Button/Button.d.ts +7 -2
- package/dist/Button/index.js +1 -1
- package/dist/{Button-D4J6B4MA.css → Button-X4B2TJAQ.css} +50 -19
- package/dist/Callout/index.js +1 -1
- package/dist/Canvas/index.js +4 -4
- package/dist/Card/Card.d.ts +9 -5
- package/dist/Card/index.js +1 -1
- package/dist/{Card-RLR254LD.css → Card-GLP7SUV6.css} +25 -18
- package/dist/Charts/BarList.d.ts +18 -1
- package/dist/Charts/ChartTooltip.d.ts +68 -0
- package/dist/Charts/StackedBar.d.ts +25 -7
- package/dist/Charts/StackedColumns.d.ts +112 -0
- package/dist/Charts/TimeSeries.d.ts +33 -2
- package/dist/Charts/dataColor.d.ts +22 -14
- package/dist/Charts/index.d.ts +6 -0
- package/dist/Charts/index.js +1 -1
- package/dist/Charts/useChartHover.d.ts +56 -0
- package/dist/Charts-B3YEF7R4.css +742 -0
- package/dist/Checkbox/index.js +1 -1
- package/dist/{Checkbox-VGW26YLQ.css → Checkbox-BOXQ747I.css} +2 -2
- package/dist/CodeBlock/index.js +4 -4
- package/dist/Combobox/index.js +5 -5
- package/dist/CommandPalette/CommandPalette.d.ts +97 -6
- package/dist/CommandPalette/index.d.ts +1 -1
- package/dist/CommandPalette/index.js +9 -7
- package/dist/CommandPalette-C5AMKGN2.css +259 -0
- package/dist/Copyable/index.js +3 -3
- package/dist/DataTable/index.js +7 -7
- package/dist/{DataTable-37UWTRN6.css → DataTable-OLHPF7D4.css} +35 -38
- package/dist/DataView/index.js +16 -16
- package/dist/{DataView-256YF32J.css → DataView-N6JX464S.css} +5 -4
- package/dist/DateTimePicker/index.js +5 -5
- package/dist/DiffList/index.js +1 -1
- package/dist/Disclosure/index.js +2 -2
- package/dist/EntityChip/EntityChip.d.ts +9 -12
- package/dist/EntityChip/index.d.ts +1 -1
- package/dist/EntityChip/index.js +2 -2
- package/dist/ErrorBoundary/index.js +2 -2
- package/dist/{ErrorBoundary-ME36CQTA.css → ErrorBoundary-U2PA3LY2.css} +4 -4
- package/dist/IconButton/index.js +1 -1
- package/dist/{IconButton-VQGNMJDI.css → IconButton-TVEUWK6L.css} +2 -2
- package/dist/ImageUpload/ImageUpload.d.ts +10 -7
- package/dist/ImageUpload/index.js +2 -2
- package/dist/{ImageUpload-HKFIZR6D.css → ImageUpload-YCHJMUGX.css} +24 -10
- package/dist/Input/index.js +2 -2
- package/dist/Kbd/Kbd.d.ts +14 -4
- package/dist/Kbd/index.js +1 -1
- package/dist/Kbd-JPLDVJIP.css +71 -0
- package/dist/Layer/index.js +1 -1
- package/dist/Link/index.js +1 -1
- package/dist/List/index.js +1 -1
- package/dist/{List-XTHESXLR.css → List-MYJIV6MP.css} +12 -2
- package/dist/ListInput/index.js +6 -6
- package/dist/Listbox/index.js +2 -2
- package/dist/Listbox/useListbox.d.ts +2 -0
- package/dist/{Listbox-ZXYYNN6U.css → Listbox-6WJNJQVQ.css} +32 -7
- package/dist/Menu/index.js +4 -4
- package/dist/Meter/Meter.d.ts +103 -16
- package/dist/Meter/index.d.ts +2 -2
- package/dist/Meter/index.js +1 -1
- package/dist/{Meter-SKOOXQBC.css → Meter-5VCSFMZW.css} +46 -7
- package/dist/Modal/index.js +4 -4
- package/dist/{Modal-XYQJ4BL6.css → Modal-JAYBS2KS.css} +13 -4
- package/dist/OrgLabel/OrgLabel.d.ts +60 -24
- package/dist/OrgLabel/index.d.ts +1 -1
- package/dist/OrgLabel/index.js +2 -1
- package/dist/{OrgLabel-D7U6QJZD.css → OrgLabel-CR233G34.css} +9 -18
- package/dist/OrgNode/index.js +3 -2
- package/dist/OrgTable/OrgTable.d.ts +2 -2
- package/dist/OrgTable/index.js +8 -7
- package/dist/Popover/index.js +2 -2
- package/dist/PricingCard/index.js +3 -3
- package/dist/{PricingCard-JFI7RYXP.css → PricingCard-7EFXRSD2.css} +4 -5
- package/dist/SearchTrigger/SearchTrigger.d.ts +23 -4
- package/dist/SearchTrigger/index.d.ts +1 -1
- package/dist/SearchTrigger/index.js +1 -1
- package/dist/SearchTrigger-Z5D4AAY7.css +112 -0
- package/dist/SegmentedControl/index.js +2 -2
- package/dist/SegmentedMeter/SegmentedMeter.d.ts +107 -0
- package/dist/SegmentedMeter/index.d.ts +3 -0
- package/dist/SegmentedMeter/index.js +2 -0
- package/dist/SegmentedMeter-KQNML2TW.css +109 -0
- package/dist/Select/index.js +3 -3
- package/dist/Shortcut/index.js +2 -2
- package/dist/SidebarNav/SidebarNav.d.ts +85 -25
- package/dist/SidebarNav/index.d.ts +1 -1
- package/dist/SidebarNav/index.js +1 -1
- package/dist/SidebarNav-X5NLZNWA.css +424 -0
- package/dist/StatCard/StatCard.d.ts +59 -12
- package/dist/StatCard/index.d.ts +1 -1
- package/dist/StatCard/index.js +1 -1
- package/dist/StatCard-KPAFD4E2.css +204 -0
- package/dist/StatGroup/index.js +1 -1
- package/dist/{StatGroup-TGB6AEKM.css → StatGroup-HVG6O62W.css} +8 -9
- package/dist/StatusDot/StatusDot.d.ts +24 -6
- package/dist/StatusDot/index.js +1 -1
- package/dist/StatusDot-7OMCQCZF.css +186 -0
- package/dist/Stepper/Stepper.d.ts +78 -0
- package/dist/Stepper/index.d.ts +3 -0
- package/dist/Stepper/index.js +4 -0
- package/dist/Stepper-HW4JM3YH.css +176 -0
- package/dist/Tabs/index.js +1 -1
- package/dist/{Tabs-MJ2E3VPK.css → Tabs-XCNPHA7B.css} +46 -26
- package/dist/Tag/Tag.d.ts +29 -22
- package/dist/Tag/index.js +2 -2
- package/dist/{Tag-VNZEYLB6.css → Tag-GBE7LQJP.css} +82 -83
- package/dist/TagsInput/index.js +7 -7
- package/dist/ThemeSwitcher/ThemeSwitcher.d.ts +53 -21
- package/dist/ThemeSwitcher/index.d.ts +3 -3
- package/dist/ThemeSwitcher/index.js +4 -3
- package/dist/ThemeSwitcher/preferences.d.ts +19 -5
- package/dist/ThemeToggle/ThemeToggle.d.ts +40 -0
- package/dist/ThemeToggle/index.d.ts +2 -0
- package/dist/ThemeToggle/index.js +5 -0
- package/dist/TimeWindowPicker/index.js +8 -8
- package/dist/Toaster/index.js +2 -2
- package/dist/Toolbar/index.js +2 -2
- package/dist/{Toolbar-IP6LXN45.css → Toolbar-HUOSMNTH.css} +3 -1
- package/dist/Tooltip/index.js +2 -2
- package/dist/Tree/index.d.ts +2 -2
- package/dist/Tree/index.js +1 -1
- package/dist/Tree/layout.d.ts +103 -28
- package/dist/TreeCanvas/TreeCanvas.d.ts +60 -14
- package/dist/TreeCanvas/index.d.ts +1 -1
- package/dist/TreeCanvas/index.js +6 -6
- package/dist/TreeCanvas/motion.d.ts +3 -2
- package/dist/{TreeCanvas-WBNQPHC7.css → TreeCanvas-HVOV4SQN.css} +154 -30
- package/dist/TreeGrid/index.js +4 -4
- package/dist/{chunk-F6OE5FH3.js → chunk-2FPENTCF.js} +1 -1
- package/dist/chunk-4AK52VHB.js +88 -0
- package/dist/{chunk-7EM5T4ME.js → chunk-4IQD3HUQ.js} +2 -2
- package/dist/{chunk-YODNNSZL.js → chunk-4PZ6FJKW.js} +43 -13
- package/dist/{chunk-F27EPQ7D.js → chunk-4UQ7SMPK.js} +1 -1
- package/dist/chunk-5QWIJSQM.js +73 -0
- package/dist/{chunk-KIC7BZYJ.js → chunk-6MU7HNB4.js} +6 -5
- package/dist/{chunk-S2XHHEW4.js → chunk-74KMX7YH.js} +4 -4
- package/dist/{chunk-WNI2WSJF.js → chunk-7KBNFFM3.js} +1 -1
- package/dist/{chunk-EFSG7HNU.js → chunk-AUS5FNQE.js} +1 -1
- package/dist/{chunk-CMEE37QJ.js → chunk-BMYPGGPV.js} +4 -4
- package/dist/{chunk-H4FBTAYS.js → chunk-BNCCEER3.js} +8 -8
- package/dist/chunk-C5WJUZVR.js +56 -0
- package/dist/{chunk-5WS6L6FA.js → chunk-CAIHUYXV.js} +9 -9
- package/dist/{chunk-5KSRXHOW.js → chunk-CQY5NTRS.js} +1 -1
- package/dist/{chunk-MW356IVK.js → chunk-D6EVJUGU.js} +2 -2
- package/dist/{chunk-7PEFUMQJ.js → chunk-DHPUMOTX.js} +2 -2
- package/dist/{chunk-HZ5XZNPS.js → chunk-DS2C73RJ.js} +3 -3
- package/dist/{chunk-GKHAKGOF.js → chunk-DSUY5F4E.js} +3 -3
- package/dist/{chunk-Q4ZPPART.js → chunk-EFYPAJT3.js} +3 -3
- package/dist/{chunk-PATXSJGR.js → chunk-ERVO6OUF.js} +17 -17
- package/dist/{chunk-BZYDZBAN.js → chunk-ETYEBKR4.js} +3 -3
- package/dist/{chunk-CC67MUUO.js → chunk-FD5UEN6X.js} +30 -30
- package/dist/{chunk-5SDBMKUO.js → chunk-FIFNP6PL.js} +3 -3
- package/dist/{chunk-7HPRF5XN.js → chunk-FUF52K7E.js} +98 -16
- package/dist/{chunk-5KPQ6D7N.js → chunk-FZVJDJFN.js} +2 -2
- package/dist/chunk-IA232OTU.js +156 -0
- package/dist/{chunk-2EOKFKHX.js → chunk-IG27QX7Q.js} +7 -7
- package/dist/chunk-IKB6HFGK.js +55 -0
- package/dist/{chunk-T43A26SD.js → chunk-IPVQKAHO.js} +6 -6
- package/dist/{chunk-3EYF6HKB.js → chunk-IVFJD7WY.js} +28 -9
- package/dist/{chunk-XJWXPRSK.js → chunk-JGRNTBF2.js} +11 -11
- package/dist/chunk-K3OWD7BJ.js +121 -0
- package/dist/{chunk-6KCO2D5C.js → chunk-KD4H66L6.js} +7 -20
- package/dist/{chunk-SFZOKW2G.js → chunk-KJ34ZBBI.js} +8 -3
- package/dist/{chunk-AQTBF4EB.js → chunk-LFHCXZO5.js} +5 -5
- package/dist/{chunk-LWKJQTOM.js → chunk-MICH6QSJ.js} +1 -1
- package/dist/chunk-N3DPO6HG.js +226 -0
- package/dist/{chunk-S4GZWSKR.js → chunk-OM5E3TTK.js} +1 -1
- package/dist/{chunk-3QRYCPXQ.js → chunk-OPKIKM35.js} +6 -6
- package/dist/{chunk-5EKIWVOR.js → chunk-PGRPNDWM.js} +2 -2
- package/dist/{chunk-FSOW3ARP.js → chunk-PQNILU27.js} +9 -9
- package/dist/{chunk-QNCVHRZL.js → chunk-QVAFL2LE.js} +1 -1
- package/dist/{chunk-Q3B66TJM.js → chunk-QY7UU5ZB.js} +1 -1
- package/dist/{chunk-ITHXJHBB.js → chunk-R25RGPUB.js} +1 -0
- package/dist/{chunk-KLJCCMF3.js → chunk-R6735B37.js} +2 -2
- package/dist/{chunk-3ZP55QZE.js → chunk-R6FBDTP3.js} +4 -4
- package/dist/{chunk-7FZ53WDJ.js → chunk-RIAZM6L3.js} +1 -1
- package/dist/chunk-RJM4QCGG.js +550 -0
- package/dist/{chunk-NTRZGNEX.js → chunk-S3BCVWTU.js} +215 -46
- package/dist/chunk-S7KW47IQ.js +121 -0
- package/dist/{chunk-KNYYCWMK.js → chunk-SJQ546ID.js} +4 -4
- package/dist/{chunk-D35VTV2Z.js → chunk-SV7QAONL.js} +1 -1
- package/dist/{chunk-IAJLHVUA.js → chunk-TIWAHZZ6.js} +1 -1
- package/dist/{chunk-2PRH365R.js → chunk-UA7O3KKJ.js} +1 -1
- package/dist/{chunk-NPZY6YYL.js → chunk-UG5ZMAXW.js} +6 -6
- package/dist/{chunk-NDCATSW7.js → chunk-V34H2YCY.js} +1 -1
- package/dist/chunk-WIATRXEJ.js +22 -0
- package/dist/{chunk-5C5YMZQU.js → chunk-WOFOMTGB.js} +16 -10
- package/dist/{chunk-QYOFACSP.js → chunk-WSOFKOLP.js} +3 -3
- package/dist/{chunk-MNAXYY3R.js → chunk-WUVZDFHS.js} +31 -11
- package/dist/{chunk-DB2VDLVR.js → chunk-YIMOT5OO.js} +10 -10
- package/dist/{chunk-2ZQMA2WB.js → chunk-ZPSOF6VL.js} +2 -2
- package/dist/generated/index.d.ts +3 -0
- package/dist/generated/index.js +70 -66
- package/dist/index.js +70 -66
- package/dist/styles.css +2538 -741
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/tone.d.ts +7 -12
- package/package.json +4 -4
- package/scripts/check-css-literals.mjs +159 -23
- package/scripts/check-css-variables.mjs +5 -3
- package/scripts/css-source.mjs +97 -5
- package/dist/Avatar-P2KRQM2B.css +0 -156
- package/dist/Charts-D7G2BSXH.css +0 -277
- package/dist/CommandPalette-CSJDUCQA.css +0 -115
- package/dist/Kbd-W66MXQI5.css +0 -61
- package/dist/SearchTrigger-QXOYAUUY.css +0 -79
- package/dist/SidebarNav-QGSFKZYA.css +0 -319
- package/dist/StatCard-KYPKZUWX.css +0 -111
- package/dist/StatusDot-HA2L2FSX.css +0 -84
- package/dist/chunk-22O7LAW2.js +0 -41
- package/dist/chunk-AJNCATWZ.js +0 -144
- package/dist/chunk-F4PJZ4ED.js +0 -245
- package/dist/chunk-PNFASD6F.js +0 -98
- package/dist/chunk-PZSWF74H.js +0 -15
- package/dist/chunk-R66KLW7S.js +0 -143
- /package/dist/{chunk-ZCR6YGQ4.js → chunk-PKIN4IMB.js} +0 -0
package/dist/Charts-D7G2BSXH.css
DELETED
|
@@ -1,277 +0,0 @@
|
|
|
1
|
-
/* The chart kit: a legend, a ranked bar list, a stacked bar and an activity
|
|
2
|
-
strip. Hand-drawn rather than a charting library, for one reason that
|
|
3
|
-
decides it: every mark here reads tokens, in two themes, at the contrast
|
|
4
|
-
floors the palette suite measures, and a library's theming surface is a
|
|
5
|
-
second design system to keep in step with this one. */
|
|
6
|
-
|
|
7
|
-
/* ─── Legend ──────────────────────────────────────────────────── */
|
|
8
|
-
.crewlet-legend {
|
|
9
|
-
display: flex;
|
|
10
|
-
flex-wrap: wrap;
|
|
11
|
-
align-items: center;
|
|
12
|
-
gap: var(--spacing-1) var(--spacing-3);
|
|
13
|
-
margin: 0;
|
|
14
|
-
padding: 0;
|
|
15
|
-
list-style: none;
|
|
16
|
-
font-size: var(--font-size-xs);
|
|
17
|
-
color: var(--color-text-tertiary);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.crewlet-legend__item {
|
|
21
|
-
display: inline-flex;
|
|
22
|
-
align-items: center;
|
|
23
|
-
gap: var(--spacing-1);
|
|
24
|
-
min-width: 0;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/*
|
|
28
|
-
* A ROUNDED SQUARE, NOT A DOT. At the smallest radius step an 8px swatch is a
|
|
29
|
-
* circle, and a circle in this system is a StatusDot: a legend beside a chart
|
|
30
|
-
* was reading as a row of live states. Half that step keeps the corner soft
|
|
31
|
-
* and the shape square, and it is written as half a step rather than as 2px so
|
|
32
|
-
* it is still a value off the scale.
|
|
33
|
-
*/
|
|
34
|
-
.crewlet-legend__swatch {
|
|
35
|
-
width: 8px;
|
|
36
|
-
height: 8px;
|
|
37
|
-
flex: none;
|
|
38
|
-
border-radius: calc(var(--radius-xs) / 2);
|
|
39
|
-
background: var(--crewlet-legend-swatch-color, var(--color-data-other));
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
.crewlet-legend__label {
|
|
43
|
-
overflow: hidden;
|
|
44
|
-
text-overflow: ellipsis;
|
|
45
|
-
white-space: nowrap;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.crewlet-legend__value {
|
|
49
|
-
color: var(--color-text-secondary);
|
|
50
|
-
font-variant-numeric: tabular-nums;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/* ─── Bar list ────────────────────────────────────────────────── */
|
|
54
|
-
.crewlet-bar-list {
|
|
55
|
-
display: flex;
|
|
56
|
-
flex-direction: column;
|
|
57
|
-
gap: var(--spacing-2);
|
|
58
|
-
margin: 0;
|
|
59
|
-
padding: 0;
|
|
60
|
-
list-style: none;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
.crewlet-bar-list__item {
|
|
64
|
-
min-width: 0;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
.crewlet-bar-list__row {
|
|
68
|
-
display: flex;
|
|
69
|
-
flex-direction: column;
|
|
70
|
-
gap: var(--spacing-1);
|
|
71
|
-
width: 100%;
|
|
72
|
-
padding: 0;
|
|
73
|
-
border: none;
|
|
74
|
-
background: none;
|
|
75
|
-
color: inherit;
|
|
76
|
-
font: inherit;
|
|
77
|
-
text-align: left;
|
|
78
|
-
text-decoration: none;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
.crewlet-bar-list__row--pressable {
|
|
82
|
-
cursor: pointer;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
.crewlet-bar-list__row--pressable:hover .crewlet-bar-list__label {
|
|
86
|
-
color: var(--color-text-primary);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
.crewlet-bar-list__row--pressable:focus-visible {
|
|
90
|
-
outline: 2px solid var(--color-focus);
|
|
91
|
-
outline-offset: 2px;
|
|
92
|
-
border-radius: var(--radius-xs);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
.crewlet-bar-list__head {
|
|
96
|
-
display: flex;
|
|
97
|
-
align-items: baseline;
|
|
98
|
-
gap: var(--spacing-2);
|
|
99
|
-
min-width: 0;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
.crewlet-bar-list__label {
|
|
103
|
-
flex: 1;
|
|
104
|
-
min-width: 0;
|
|
105
|
-
overflow: hidden;
|
|
106
|
-
text-overflow: ellipsis;
|
|
107
|
-
white-space: nowrap;
|
|
108
|
-
font-size: var(--font-size-compact);
|
|
109
|
-
color: var(--color-text-primary);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
.crewlet-bar-list__value {
|
|
113
|
-
font-size: var(--font-size-compact);
|
|
114
|
-
color: var(--color-text-secondary);
|
|
115
|
-
/* Tabular, so a column of numbers lines up on its digits and a push that
|
|
116
|
-
changes one of them does not move the rest. */
|
|
117
|
-
font-variant-numeric: tabular-nums;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
.crewlet-bar-list__track {
|
|
121
|
-
display: block;
|
|
122
|
-
height: 5px;
|
|
123
|
-
border-radius: var(--radius-pill);
|
|
124
|
-
background: var(--color-surface-inset);
|
|
125
|
-
overflow: hidden;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
.crewlet-bar-list__bar {
|
|
129
|
-
display: block;
|
|
130
|
-
height: 100%;
|
|
131
|
-
border-radius: var(--radius-pill);
|
|
132
|
-
background: var(--crewlet-bar-list-bar-color, var(--color-data-other));
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
/*
|
|
136
|
-
* THE CAPTION STEP. These are sentences a reader actually reads (what a row is
|
|
137
|
-
* besides its name, how long the tail is, that there is nothing here at all),
|
|
138
|
-
* and the 11px step is the MICRO-LABEL register: it is for a word above a
|
|
139
|
-
* column, not for a line of prose.
|
|
140
|
-
*/
|
|
141
|
-
.crewlet-bar-list__sub,
|
|
142
|
-
.crewlet-bar-list__more,
|
|
143
|
-
.crewlet-bar-list__empty {
|
|
144
|
-
font-size: var(--font-size-xs);
|
|
145
|
-
color: var(--color-text-tertiary);
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
/*
|
|
149
|
-
* THE SENTENCE STARTS WHERE THE BARS WOULD HAVE. It stands in for them, so it
|
|
150
|
-
* takes the inset the panel holding it gives every other row and none of its
|
|
151
|
-
* own.
|
|
152
|
-
*
|
|
153
|
-
* It carried the panel's own step for a while, which was a repair applied at
|
|
154
|
-
* the wrong end: the sentence was landing against a card's border because the
|
|
155
|
-
* CARD was drawing its content with no inset at all, and a padding here moved
|
|
156
|
-
* this one line while every sibling in the same card stayed against the edge.
|
|
157
|
-
* A card draws its own content in a body now, so a padding here is the panel's
|
|
158
|
-
* inset a second time.
|
|
159
|
-
*/
|
|
160
|
-
.crewlet-bar-list__empty {
|
|
161
|
-
margin: 0;
|
|
162
|
-
padding: 0;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
.crewlet-bar-list__sub {
|
|
166
|
-
overflow: hidden;
|
|
167
|
-
text-overflow: ellipsis;
|
|
168
|
-
white-space: nowrap;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
/* ─── Stacked bar ─────────────────────────────────────────────── */
|
|
172
|
-
.crewlet-stacked-bar__track {
|
|
173
|
-
display: flex;
|
|
174
|
-
height: 6px;
|
|
175
|
-
border-radius: var(--radius-pill);
|
|
176
|
-
background: var(--color-surface-inset);
|
|
177
|
-
overflow: hidden;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
.crewlet-stacked-bar__segment {
|
|
181
|
-
height: 100%;
|
|
182
|
-
background: var(--crewlet-stacked-bar-segment-color, var(--color-data-other));
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
/* ─── Activity strip ──────────────────────────────────────────── */
|
|
186
|
-
.crewlet-activity-strip {
|
|
187
|
-
display: flex;
|
|
188
|
-
align-items: flex-end;
|
|
189
|
-
gap: var(--crewlet-activity-strip-gap, 2px);
|
|
190
|
-
height: var(--crewlet-activity-strip-height, 26px);
|
|
191
|
-
width: 100%;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
.crewlet-activity-strip__cell {
|
|
195
|
-
flex: 1;
|
|
196
|
-
min-width: var(--crewlet-activity-strip-cell-min-width, 2px);
|
|
197
|
-
height: var(--crewlet-activity-strip-fill, 10%);
|
|
198
|
-
/*
|
|
199
|
-
* A quarter of the smallest step. A cell is two pixels wide, so at the step
|
|
200
|
-
* itself every mark was a capsule and the strip read as a row of pills
|
|
201
|
-
* rather than as a shape.
|
|
202
|
-
*/
|
|
203
|
-
border-radius: calc(var(--radius-xs) / 4);
|
|
204
|
-
/* An empty bucket is a neutral hairline: the bucket happened, and nothing
|
|
205
|
-
happened in it. That is a different fact from a quiet one, so it takes a
|
|
206
|
-
different colour rather than a fainter version of the same one. */
|
|
207
|
-
background: var(--color-border-default);
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
.crewlet-activity-strip__cell.is-active {
|
|
211
|
-
background: var(--color-data-1);
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
/* ─── Time series, and the sparkline beside a number ──────────── */
|
|
215
|
-
|
|
216
|
-
/*
|
|
217
|
-
* The plot fills the width it is given and does not clip: a line that touches
|
|
218
|
-
* the top of its own box is a peak, and a box that clipped it would silently
|
|
219
|
-
* flatten exactly the moment a reader is looking for.
|
|
220
|
-
*/
|
|
221
|
-
.crewlet-time-series {
|
|
222
|
-
margin: 0;
|
|
223
|
-
min-width: 0;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
.crewlet-chart {
|
|
227
|
-
display: block;
|
|
228
|
-
width: 100%;
|
|
229
|
-
overflow: visible;
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
/* The baseline: a hairline, because it is where the plot sits rather than
|
|
233
|
-
something to read. */
|
|
234
|
-
.crewlet-chart__axis-line {
|
|
235
|
-
stroke: var(--color-border-default);
|
|
236
|
-
stroke-width: 1;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
/*
|
|
240
|
-
* The grid is DASHED, which is what keeps three horizontal lines from reading
|
|
241
|
-
* as three series. They carry no values of their own: the peak under the plot
|
|
242
|
-
* is the scale, and a chart this size cannot label four gridlines legibly.
|
|
243
|
-
*/
|
|
244
|
-
.crewlet-chart__grid-line {
|
|
245
|
-
stroke: var(--color-border-default);
|
|
246
|
-
stroke-width: 1;
|
|
247
|
-
stroke-dasharray: 2 4;
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
/*
|
|
251
|
-
* The series line. It is painted with the colour passed on the element,
|
|
252
|
-
* because a series' hue is data rather than style; the shape of the stroke is
|
|
253
|
-
* the one thing that is the same for all of them.
|
|
254
|
-
*/
|
|
255
|
-
.crewlet-chart__series {
|
|
256
|
-
fill: none;
|
|
257
|
-
stroke-width: 1.75;
|
|
258
|
-
stroke-linejoin: round;
|
|
259
|
-
stroke-linecap: round;
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
/* The window's two ends and its peak, under the plot: the scale, as words. */
|
|
263
|
-
.crewlet-time-series__scale {
|
|
264
|
-
display: flex;
|
|
265
|
-
justify-content: space-between;
|
|
266
|
-
gap: var(--spacing-2);
|
|
267
|
-
min-width: 0;
|
|
268
|
-
font-size: var(--font-size-xs);
|
|
269
|
-
color: var(--color-text-tertiary);
|
|
270
|
-
font-variant-numeric: tabular-nums;
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
.crewlet-spark {
|
|
274
|
-
display: block;
|
|
275
|
-
width: 100%;
|
|
276
|
-
overflow: visible;
|
|
277
|
-
}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* The command palette: a field, a list, and a line of keyboard hints.
|
|
3
|
-
*
|
|
4
|
-
* It is a Modal with its body's padding dropped, so the three bands run edge to
|
|
5
|
-
* edge and the field reads as the surface rather than as a question on a form.
|
|
6
|
-
* The rows are the listbox register (`Listbox.css`), because a result here and
|
|
7
|
-
* a completion in a field are the same thing to a reader and the accent that
|
|
8
|
-
* marks the active row has to mean the same in both.
|
|
9
|
-
*
|
|
10
|
-
* THE TWO OVERRIDES BELOW NAME BOTH CLASSES ON PURPOSE. A single class would
|
|
11
|
-
* tie with the rule it is overriding (`.crewlet-modal--md`,
|
|
12
|
-
* `.crewlet-input--command`), and a tie is broken by the order the stylesheets
|
|
13
|
-
* happen to be concatenated in, which is alphabetical over filenames.
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
.crewlet-modal.crewlet-palette {
|
|
17
|
-
/* Wider than a prompt and shorter than the window: a launcher is read in one
|
|
18
|
-
glance, and a list taller than this is a list nobody scans. */
|
|
19
|
-
--crewlet-modal-width: 620px;
|
|
20
|
-
|
|
21
|
-
max-height: min(60dvh, 520px);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/*
|
|
25
|
-
* THE BODY LAYS THE THREE BANDS OUT, and the RESULTS are what scrolls.
|
|
26
|
-
*
|
|
27
|
-
* A Modal's body is a block that scrolls its whole content, which is right for
|
|
28
|
-
* a dialog read top to bottom and wrong here: the field would ride up out of
|
|
29
|
-
* view as the arrows walked the list, and the list, sized to its own content,
|
|
30
|
-
* would never overflow, so the row the listbox brings into view by scrolling
|
|
31
|
-
* that element would have nowhere to go.
|
|
32
|
-
*/
|
|
33
|
-
.crewlet-palette .crewlet-modal__body {
|
|
34
|
-
display: flex;
|
|
35
|
-
flex-direction: column;
|
|
36
|
-
overflow: hidden;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/*
|
|
40
|
-
* The field, drawn as the surface's own top band: no box of its own, the full
|
|
41
|
-
* height of a large row, and the question asked at the reading size rather
|
|
42
|
-
* than at a control's. It is the first thing on the surface and the only thing
|
|
43
|
-
* with focus, so it is the surface's headline as much as its input.
|
|
44
|
-
*/
|
|
45
|
-
.crewlet-input.crewlet-palette__field {
|
|
46
|
-
flex-shrink: 0;
|
|
47
|
-
min-height: var(--size-row-lg);
|
|
48
|
-
padding-inline: var(--spacing-4);
|
|
49
|
-
border: none;
|
|
50
|
-
border-bottom: 1px solid var(--color-border-default);
|
|
51
|
-
border-radius: 0;
|
|
52
|
-
background: transparent;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
.crewlet-input.crewlet-palette__field .crewlet-input__control {
|
|
56
|
-
font-size: var(--font-size-md);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/*
|
|
60
|
-
* THE FOOT IS THE KEYBOARD'S OWN BAND, at the micro register rather than the
|
|
61
|
-
* modal footer's. A modal's foot carries buttons and is sized for them; this
|
|
62
|
-
* one carries a line of keycaps saying what the arrows, Enter and Escape do,
|
|
63
|
-
* and at a dialog's padding that line reads as an action row nobody can press.
|
|
64
|
-
*
|
|
65
|
-
* Both classes are named for the same reason the two rules below are: a single
|
|
66
|
-
* class ties with `.crewlet-modal__footer`, and a tie is broken by the order
|
|
67
|
-
* the stylesheets are concatenated in.
|
|
68
|
-
*/
|
|
69
|
-
.crewlet-palette .crewlet-modal__footer {
|
|
70
|
-
gap: var(--spacing-3);
|
|
71
|
-
padding: var(--spacing-2) var(--spacing-3);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
.crewlet-palette .crewlet-modal__footer-start {
|
|
75
|
-
gap: var(--spacing-3);
|
|
76
|
-
font-size: var(--font-size-2xs);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
.crewlet-palette__results {
|
|
80
|
-
flex: 1 1 auto;
|
|
81
|
-
min-height: 0;
|
|
82
|
-
overflow-y: auto;
|
|
83
|
-
overscroll-behavior: contain;
|
|
84
|
-
padding: var(--spacing-1);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/*
|
|
88
|
-
* The glyph takes the ROW'S colour rather than a quiet step of its own, so the
|
|
89
|
-
* row under the arrows turns accent in one piece. Pinned to the tertiary step
|
|
90
|
-
* it stayed grey inside the highlight, which read as a glyph that had failed
|
|
91
|
-
* to load.
|
|
92
|
-
*/
|
|
93
|
-
.crewlet-palette__icon {
|
|
94
|
-
display: inline-flex;
|
|
95
|
-
flex-shrink: 0;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
.crewlet-palette__label {
|
|
99
|
-
min-width: 0;
|
|
100
|
-
overflow: hidden;
|
|
101
|
-
text-overflow: ellipsis;
|
|
102
|
-
white-space: nowrap;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/*
|
|
106
|
-
* An honest empty state: it says which kind of nothing this is, and the
|
|
107
|
-
* component takes the sentence from the caller for that reason.
|
|
108
|
-
*/
|
|
109
|
-
.crewlet-palette__empty {
|
|
110
|
-
margin: 0;
|
|
111
|
-
padding: var(--spacing-5) var(--spacing-4);
|
|
112
|
-
color: var(--color-text-tertiary);
|
|
113
|
-
font-size: var(--font-size-compact);
|
|
114
|
-
text-align: center;
|
|
115
|
-
}
|
package/dist/Kbd-W66MXQI5.css
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/* A keycap: the key's name on a small raised tile. */
|
|
2
|
-
.crewlet-kbd {
|
|
3
|
-
display: inline-flex;
|
|
4
|
-
align-items: center;
|
|
5
|
-
gap: var(--spacing-1);
|
|
6
|
-
min-width: 18px;
|
|
7
|
-
padding: 1px var(--spacing-1);
|
|
8
|
-
border-radius: var(--radius-xs);
|
|
9
|
-
border: 1px solid var(--color-border-default);
|
|
10
|
-
/* The thicker bottom edge is the whole of the "cap": one border, drawn
|
|
11
|
-
heavier on one side, reads as a key without a shadow that forced-colors
|
|
12
|
-
mode would drop. */
|
|
13
|
-
border-bottom-width: 2px;
|
|
14
|
-
background: var(--color-surface-inset);
|
|
15
|
-
/*
|
|
16
|
-
* The MONO face, not the surrounding one. A keycap is a literal: the reader
|
|
17
|
-
* is being told which character is printed on a key, and a proportional face
|
|
18
|
-
* draws `l`, `I` and `1` as three widths of the same mark.
|
|
19
|
-
*/
|
|
20
|
-
font-family: var(--font-family-mono);
|
|
21
|
-
font-variant-ligatures: none;
|
|
22
|
-
font-size: var(--font-size-2xs);
|
|
23
|
-
/* THE DOCUMENT'S OWN LEADING, because a cap is drawn INSIDE a line of text
|
|
24
|
-
and not beside it: a hint at the end of a search field, a key named in a
|
|
25
|
-
sentence, a shortcut in a menu row. Tightened it stood a pixel under the
|
|
26
|
-
line it sits in and the row it was in wobbled by that pixel wherever a
|
|
27
|
-
cap appeared and wherever one did not. */
|
|
28
|
-
line-height: var(--font-line-height-normal);
|
|
29
|
-
color: var(--color-text-tertiary);
|
|
30
|
-
white-space: nowrap;
|
|
31
|
-
vertical-align: middle;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/*
|
|
35
|
-
* A quieter cap: FLATTER, not fainter. The opacity this replaces multiplied
|
|
36
|
-
* the ink as well as the frame, and 0.7 of a text step measures 3.43:1 on the
|
|
37
|
-
* panel, so a hint printing the key a reader is told to press was the one
|
|
38
|
-
* thing on the row they could not read. The cap gives up its raised edge and
|
|
39
|
-
* its fill instead, and keeps the tertiary ink, which is measured at 4.5:1 on
|
|
40
|
-
* every surface the package paints on.
|
|
41
|
-
*/
|
|
42
|
-
.crewlet-kbd--subtle {
|
|
43
|
-
border-bottom-width: 1px;
|
|
44
|
-
background: none;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/*
|
|
48
|
-
* A whole shortcut: the caps drawn together, and one sentence read instead of
|
|
49
|
-
* them. The caps are hidden from assistive technology by the component; this
|
|
50
|
-
* only lays them out.
|
|
51
|
-
*/
|
|
52
|
-
.crewlet-kbd-combo {
|
|
53
|
-
display: inline-flex;
|
|
54
|
-
align-items: center;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
.crewlet-kbd-keys {
|
|
58
|
-
display: inline-flex;
|
|
59
|
-
align-items: center;
|
|
60
|
-
gap: var(--spacing-1);
|
|
61
|
-
}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* A button drawn as the field it stands in for.
|
|
3
|
-
*
|
|
4
|
-
* Below the shell breakpoint it keeps the glyph and drops the label and the
|
|
5
|
-
* hint, which is why the name lives on the button rather than in its text.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
.crewlet-search-trigger {
|
|
9
|
-
display: inline-flex;
|
|
10
|
-
align-items: center;
|
|
11
|
-
gap: var(--spacing-2);
|
|
12
|
-
/* The resting width of the box. A topbar with less room sets it. */
|
|
13
|
-
--crewlet-search-trigger-width: 220px;
|
|
14
|
-
min-width: var(--crewlet-search-trigger-width);
|
|
15
|
-
height: var(--size-control-md);
|
|
16
|
-
padding: 0 var(--spacing-2) 0 var(--spacing-3);
|
|
17
|
-
border: 1px solid var(--color-border-default);
|
|
18
|
-
border-radius: var(--radius-md);
|
|
19
|
-
background: var(--color-surface-subtle);
|
|
20
|
-
color: var(--color-text-tertiary);
|
|
21
|
-
font-family: var(--font-family-sans);
|
|
22
|
-
font-size: var(--font-size-compact);
|
|
23
|
-
cursor: pointer;
|
|
24
|
-
transition:
|
|
25
|
-
border-color var(--motion-duration-fast) var(--motion-easing-default),
|
|
26
|
-
color var(--motion-duration-fast) var(--motion-easing-default);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.crewlet-search-trigger:hover {
|
|
30
|
-
border-color: var(--color-border-hover);
|
|
31
|
-
color: var(--color-text-primary);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.crewlet-search-trigger:focus-visible {
|
|
35
|
-
outline: 2px solid var(--color-focus);
|
|
36
|
-
outline-offset: 2px;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
.crewlet-search-trigger__icon {
|
|
40
|
-
display: inline-flex;
|
|
41
|
-
flex: none;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/* The glyph is quieter than the word beside it, on the decoration step, which
|
|
45
|
-
is the one thing that step is for. */
|
|
46
|
-
.crewlet-search-trigger__icon svg {
|
|
47
|
-
color: var(--color-text-muted);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
.crewlet-search-trigger__label {
|
|
51
|
-
overflow: hidden;
|
|
52
|
-
text-overflow: ellipsis;
|
|
53
|
-
white-space: nowrap;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/* The hint as a whole, so its keys stay together at the end of the box. */
|
|
57
|
-
.crewlet-search-trigger__shortcut {
|
|
58
|
-
display: inline-flex;
|
|
59
|
-
align-items: center;
|
|
60
|
-
margin-left: auto;
|
|
61
|
-
flex: none;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
@media (max-width: 900px) {
|
|
65
|
-
.crewlet-search-trigger {
|
|
66
|
-
min-width: 0;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
.crewlet-search-trigger__label,
|
|
70
|
-
.crewlet-search-trigger__shortcut {
|
|
71
|
-
display: none;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
@media (prefers-reduced-motion: reduce) {
|
|
76
|
-
.crewlet-search-trigger {
|
|
77
|
-
transition: none;
|
|
78
|
-
}
|
|
79
|
-
}
|