@felloinnovations/brand-kit 0.5.0 → 0.5.3
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/AGENTS.md +29 -9
- package/CHANGELOG.md +110 -0
- package/README.md +14 -6
- package/design-system/01-how-claude-decides.md +5 -3
- package/design-system/03-colour.md +22 -3
- package/design-system/05-space-and-layout.md +2 -1
- package/design-system/08-choosing-components.md +20 -4
- package/design-system/09-charts.md +7 -4
- package/design-system/10-patterns.md +1 -1
- package/design-system/11-page-recipes.md +40 -1
- package/design-system/13-motion.md +4 -4
- package/design-system/15-ai-experiences.md +11 -0
- package/design-system/17-decisions.md +51 -0
- package/design-system/components/AppShell/README.md +89 -21
- package/design-system/components/AppShell/preview.html +148 -3
- package/design-system/components/AppShell/style.css +47 -0
- package/design-system/components/Avatar/README.md +6 -3
- package/design-system/components/Avatar/preview.html +2 -1
- package/design-system/components/Avatar/style.css +3 -0
- package/design-system/components/Banner/README.md +9 -5
- package/design-system/components/Banner/preview.html +9 -0
- package/design-system/components/Banner/style.css +3 -0
- package/design-system/components/Button/README.md +29 -2
- package/design-system/components/Button/preview.html +33 -1
- package/design-system/components/Button/style.css +21 -0
- package/design-system/components/Calendar/README.md +148 -0
- package/design-system/components/Calendar/preview.html +449 -0
- package/design-system/components/Calendar/style.css +61 -0
- package/design-system/components/Card/README.md +13 -0
- package/design-system/components/Card/preview.html +23 -0
- package/design-system/components/Card/style.css +19 -0
- package/design-system/components/ChatCard/README.md +74 -3
- package/design-system/components/ChatCard/preview.html +126 -25
- package/design-system/components/ChatCard/style.css +6 -0
- package/design-system/components/CheckRow/README.md +1 -1
- package/design-system/components/CheckRow/preview.html +1 -1
- package/design-system/components/CheckRow/style.css +1 -1
- package/design-system/components/Chip/README.md +16 -7
- package/design-system/components/Chip/preview.html +25 -1
- package/design-system/components/Chip/style.css +5 -0
- package/design-system/components/Combobox/README.md +10 -4
- package/design-system/components/Combobox/preview.html +19 -4
- package/design-system/components/Combobox/style.css +7 -1
- package/design-system/components/CommentThread/README.md +138 -0
- package/design-system/components/CommentThread/preview.html +134 -0
- package/design-system/components/CommentThread/style.css +41 -0
- package/design-system/components/DateInput/README.md +38 -4
- package/design-system/components/DateInput/preview.html +50 -2
- package/design-system/components/DateInput/style.css +6 -0
- package/design-system/components/Dialog/README.md +26 -3
- package/design-system/components/Dialog/preview.html +80 -0
- package/design-system/components/Dialog/style.css +28 -3
- package/design-system/components/EmptyState/README.md +1 -1
- package/design-system/components/Fold/README.md +21 -0
- package/design-system/components/Fold/preview.html +44 -1
- package/design-system/components/Fold/style.css +30 -0
- package/design-system/components/InlineEdit/README.md +116 -0
- package/design-system/components/InlineEdit/preview.html +135 -0
- package/design-system/components/InlineEdit/style.css +34 -0
- package/design-system/components/Input/README.md +20 -1
- package/design-system/components/Input/preview.html +24 -0
- package/design-system/components/Input/style.css +13 -1
- package/design-system/components/KanbanBoard/README.md +69 -5
- package/design-system/components/KanbanBoard/preview.html +129 -0
- package/design-system/components/KanbanBoard/style.css +32 -1
- package/design-system/components/ListDetail/preview.html +1 -1
- package/design-system/components/Matrix/README.md +1 -1
- package/design-system/components/Matrix/preview.html +1 -1
- package/design-system/components/Motion/README.md +2 -2
- package/design-system/components/Motion/preview.html +8 -8
- package/design-system/components/PlanTimeline/README.md +144 -0
- package/design-system/components/PlanTimeline/preview.html +109 -0
- package/design-system/components/PlanTimeline/style.css +64 -0
- package/design-system/components/README.md +12 -7
- package/design-system/components/ScoreHero/README.md +2 -2
- package/design-system/components/ScoreHero/style.css +1 -1
- package/design-system/components/ShareBar/README.md +1 -1
- package/design-system/components/ShareBar/style.css +1 -1
- package/design-system/components/Skeleton/README.md +82 -17
- package/design-system/components/Skeleton/preview.html +84 -2
- package/design-system/components/Skeleton/style.css +9 -14
- package/design-system/components/Starter/README.md +1 -1
- package/design-system/components/Starter/preview.html +1 -1
- package/design-system/components/Stepper/README.md +81 -5
- package/design-system/components/Stepper/preview.html +64 -1
- package/design-system/components/Stepper/style.css +29 -0
- package/design-system/components/StreakCalendar/README.md +1 -0
- package/design-system/components/Table/README.md +8 -4
- package/design-system/components/Table/preview.html +16 -1
- package/design-system/components/Table/style.css +3 -1
- package/design-system/components/TextDiff/README.md +96 -0
- package/design-system/components/TextDiff/preview.html +42 -0
- package/design-system/components/TextDiff/style.css +21 -0
- package/design-system/components/TickStrip/README.md +1 -1
- package/design-system/components/TickStrip/preview.html +1 -1
- package/design-system/components/TickStrip/style.css +1 -1
- package/design-system/components/Timeline/README.md +4 -2
- package/design-system/components/TrendLine/README.md +38 -7
- package/design-system/components/TrendLine/preview.html +140 -3
- package/design-system/components/TrendLine/style.css +12 -2
- package/design-system/components/Well/README.md +1 -1
- package/design-system/components/Well/style.css +2 -2
- package/design-system/components/_house.css +1 -1
- package/design-system/components/bundle.css +501 -30
- package/design-system/tokens.json +17 -7
- package/dist/fello-core.css +2 -2
- package/dist/fello.css +2 -2
- package/dist/fello.scoped.css +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/scoped.js +2 -2
- package/dist/tokens.d.ts +16 -8
- package/dist/tokens.js +16 -8
- package/package.json +7 -2
- package/scripts/check-drift.mjs +325 -0
- package/scripts/token-model.mjs +2 -1
- package/tokens/_dark.css +3 -2
- package/tokens/_product.css +13 -11
- package/tokens/palettes.ts +1 -1
- package/tokens/shadcn-compat.css +1 -1
- package/tokens/shadcn-compat.hsl.css +1 -1
- package/tokens/tokens.css +23 -15
- package/tokens/tokens.md +56 -50
- package/tokens/tokens.root.css +23 -15
- package/tokens/tokens.ts +17 -9
|
@@ -30,6 +30,16 @@
|
|
|
30
30
|
.ws-trend-line__lines path { fill: none; stroke: var(--ws-trend-line-tone); stroke-width: var(--ws-chart-line); stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
|
|
31
31
|
/* What is still to come (a projection): a dotted 1 px line. */
|
|
32
32
|
.ws-trend-line__lines .ws-trend-line__ahead { stroke-width: var(--ws-line); stroke-dasharray: 0.1 calc(var(--ws-hairline) * 5); }
|
|
33
|
+
/* Several series (up to 3, one unit, one axis): the first is the figure's own __draw and points; each other is a
|
|
34
|
+
__series box (display: contents, so its points still sit on the plot) holding its own __draw (the path only) and its
|
|
35
|
+
points. The tones run navy, teal, purple (salmon is the reference's), each series' own --tone over it; the key's
|
|
36
|
+
__key--2 and __key--3 match. With several series: no hatch (one area claims a whole, two areas cover each other), and
|
|
37
|
+
the period in progress keeps its series' tone (its name and the dotted __ahead say it). */
|
|
38
|
+
.ws-trend-line__series { display: contents; }
|
|
39
|
+
.ws-trend-line__series, .ws-trend-line__legend > .ws-trend-line__key--2 { --ws-trend-line-tone: var(--tone, var(--ws-chart-finished)); }
|
|
40
|
+
.ws-trend-line__series ~ .ws-trend-line__series, .ws-trend-line__legend > .ws-trend-line__key--3 { --ws-trend-line-tone: var(--tone, var(--ws-chart-past-half)); }
|
|
41
|
+
.ws-trend-line__area:has(> .ws-trend-line__series) .ws-trend-line__hatch { display: none; }
|
|
42
|
+
.ws-trend-line__area:has(> .ws-trend-line__series) .ws-trend-line__point--now { --ws-trend-line-mark: var(--ws-trend-line-tone); }
|
|
33
43
|
/* A point: its period's slot, from 12 above its value (the pointer's room) to the baseline. The column (::before) runs
|
|
34
44
|
from the value to the baseline, its corners 1 px, cut by the grid's lines (set --ticks on the figure to the number of
|
|
35
45
|
even steps the grid has; 1 cuts only at the top line); the dot (::after) is 8 on the value, ringed in the ground so the
|
|
@@ -60,14 +70,14 @@
|
|
|
60
70
|
.ws-trend-line__point:is(:focus-visible, .ws-trend-line__point--on) { anchor-name: --ws-trend-line-at; }
|
|
61
71
|
.ws-trend-line__band { position-anchor: --ws-trend-line-at; left: anchor(left); right: anchor(right); width: auto; top: calc(anchor(top) + var(--ws-trend-line-hit)); background: repeating-linear-gradient(to bottom, var(--ws-trend-line-tone) 0 var(--ws-ring), transparent 0 calc(var(--ws-ring) * 2)) center / var(--ws-line) 100% no-repeat; }
|
|
62
72
|
.ws-trend-line--bars .ws-trend-line__band { top: 0; background: var(--ws-hover); }
|
|
63
|
-
.ws-trend-line__area:has(
|
|
73
|
+
.ws-trend-line__area:has(.ws-trend-line__point:is(:focus-visible, .ws-trend-line__point--on)) > .ws-trend-line__band { opacity: 1; }
|
|
64
74
|
}
|
|
65
75
|
.ws-trend-line__point:is(:focus-visible, .ws-trend-line__point--on)::after { transform: scale(1.5); box-shadow: 0 0 0 var(--ws-trend-line-ring) var(--color-bg-page), 0 0 0 var(--space-xxs-plus) color-mix(in srgb, var(--ws-trend-line-mark) 12%, transparent); }
|
|
66
76
|
.ws-trend-line--bars .ws-trend-line__area:has(> .ws-trend-line__point:is(:focus-visible, .ws-trend-line__point--on)) > .ws-trend-line__point:not(:focus-visible, .ws-trend-line__point--on)::before { opacity: var(--ws-dim); }
|
|
67
77
|
@media (hover: hover) {
|
|
68
78
|
@supports (anchor-name: --a) {
|
|
69
79
|
.ws-trend-line__point:hover { anchor-name: --ws-trend-line-at; }
|
|
70
|
-
.ws-trend-line__area:has(
|
|
80
|
+
.ws-trend-line__area:has(.ws-trend-line__point:hover) > .ws-trend-line__band { opacity: 1; }
|
|
71
81
|
}
|
|
72
82
|
.ws-trend-line__point:hover::after { transform: scale(1.5); box-shadow: 0 0 0 var(--ws-trend-line-ring) var(--color-bg-page), 0 0 0 var(--space-xxs-plus) color-mix(in srgb, var(--ws-trend-line-mark) 12%, transparent); }
|
|
73
83
|
.ws-trend-line--bars .ws-trend-line__area:has(> .ws-trend-line__point:hover) > .ws-trend-line__point:not(:hover)::before { opacity: var(--ws-dim); }
|
|
@@ -42,7 +42,7 @@ The system's grey well: a plate holding a short list of pressable rows, for ever
|
|
|
42
42
|
- **Focus**: the 2 px navy ring drawn inside the row (`--ws-focus-*`), since a row cannot grow an outer ring without
|
|
43
43
|
touching its neighbours.
|
|
44
44
|
- **Pressed**: `--ws-surface-press` at once; rows never scale under a press, they only tint.
|
|
45
|
-
- **Busy**: the well carries `aria-busy`, and rows still loading show a shimmer line
|
|
45
|
+
- **Busy**: the well carries `aria-busy`, and rows still loading show a shimmer line, one quiet grey
|
|
46
46
|
(`hidden` rows), present for layout and invisible to a screen reader. Under reduced motion the line stands still.
|
|
47
47
|
- **Disabled**: not a state a well row carries; a row that cannot be used yet is not shown.
|
|
48
48
|
- **Empty**: a well with no suggestions is not rendered; there is no empty well.
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
.ws-well-row__words { display: flex; min-width: 0; flex: 1; flex-direction: column; }
|
|
17
17
|
.ws-well-row__words > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
18
18
|
.ws-well-row__chevron { flex-shrink: 0; width: var(--ws-icon); height: var(--ws-icon); color: var(--color-text-muted); }
|
|
19
|
-
/* Busy: a shimmer line in each row
|
|
20
|
-
|
|
19
|
+
/* Busy: a shimmer line in each row, sized where used; under reduced motion a still ghost in the hover grey, never a
|
|
20
|
+
frozen frame of the sweep. */
|
|
21
21
|
.ws-well-row__placeholder { height: var(--space-sm); border-radius: var(--ws-radius-chip); background: var(--ws-well-hover); }
|
|
22
22
|
@media (prefers-reduced-motion: no-preference) { .ws-well-row__placeholder { background: var(--ws-shimmer); background-size: 300% 100%; animation: ws-shimmer var(--ws-loop-shimmer) var(--ws-ease-shimmer) infinite; } }
|
|
@@ -237,7 +237,7 @@ body { margin: 0; background: var(--color-bg-page); color: var(--color-text-body
|
|
|
237
237
|
.ws-settle { animation: ws-settle var(--ws-duration-settle) var(--ws-ease-soft) backwards; animation-delay: calc(var(--ws-i, 0) * var(--ws-stagger-detail)); }
|
|
238
238
|
.ws-shimmer { animation: ws-shimmer var(--ws-loop-shimmer) var(--ws-ease-shimmer) infinite; }
|
|
239
239
|
}
|
|
240
|
-
/* Loading (North): a ghost block
|
|
240
|
+
/* Loading (North): a ghost block under the shimmer. Give it the size of what it stands for; its words, if
|
|
241
241
|
any, are transparent. Under reduced motion it is a still ghost. */
|
|
242
242
|
.ws-shimmer { border-radius: var(--ws-radius-bar); background: var(--ws-shimmer); background-size: 300% 100%; color: transparent; }
|
|
243
243
|
/* Hover tint (North): Seth's navy wash over whatever ground, a colour change, never a lift. --faint for a list row,
|