@felloinnovations/brand-kit 0.4.0 → 0.5.0
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 +198 -24
- package/CHANGELOG.md +197 -0
- package/README.md +34 -7
- package/design-system/01-how-claude-decides.md +26 -17
- package/design-system/02-principles.md +11 -6
- package/design-system/03-colour.md +134 -47
- package/design-system/04-type.md +45 -23
- package/design-system/05-space-and-layout.md +175 -52
- package/design-system/06-sizing-profiles.md +4 -4
- package/design-system/07-scrolling.md +66 -20
- package/design-system/08-choosing-components.md +50 -22
- package/design-system/09-charts.md +71 -28
- package/design-system/10-patterns.md +33 -10
- package/design-system/11-page-recipes.md +110 -23
- package/design-system/12-content.md +2 -1
- package/design-system/13-motion.md +330 -47
- package/design-system/14-accessibility.md +47 -24
- package/design-system/15-ai-experiences.md +11 -6
- package/design-system/16-creativity.md +1 -1
- package/design-system/17-decisions.md +357 -1
- package/design-system/18-checklist.md +79 -16
- package/design-system/19-public-pages.md +6 -4
- package/design-system/20-palettes.md +275 -0
- package/design-system/README.md +30 -17
- package/design-system/components/ActionList/README.md +96 -10
- package/design-system/components/ActionList/preview.html +52 -7
- package/design-system/components/ActionList/style.css +64 -0
- package/design-system/components/ActivityGrid/README.md +38 -2
- package/design-system/components/ActivityGrid/preview.html +1 -1
- package/design-system/components/ActivityGrid/style.css +35 -0
- package/design-system/components/AppShell/README.md +205 -75
- package/design-system/components/AppShell/preview.html +339 -58
- package/design-system/components/AppShell/style.css +154 -0
- package/design-system/components/Avatar/README.md +37 -10
- package/design-system/components/Avatar/preview.html +13 -4
- package/design-system/components/Avatar/style.css +14 -0
- package/design-system/components/Badge/README.md +41 -19
- package/design-system/components/Badge/preview.html +13 -10
- package/design-system/components/Badge/style.css +23 -0
- package/design-system/components/Banner/README.md +30 -9
- package/design-system/components/Banner/preview.html +1 -1
- package/design-system/components/Banner/style.css +19 -0
- package/design-system/components/Breadcrumb/README.md +58 -46
- package/design-system/components/Breadcrumb/preview.html +16 -16
- package/design-system/components/Breadcrumb/style.css +17 -0
- package/design-system/components/Button/README.md +113 -55
- package/design-system/components/Button/preview.html +98 -25
- package/design-system/components/Button/style.css +86 -0
- package/design-system/components/Card/README.md +158 -49
- package/design-system/components/Card/preview.html +141 -19
- package/design-system/components/Card/style.css +115 -0
- package/design-system/components/CardBoard/README.md +58 -37
- package/design-system/components/CardBoard/preview.html +26 -29
- package/design-system/components/ChatCard/README.md +115 -29
- package/design-system/components/ChatCard/preview.html +149 -32
- package/design-system/components/ChatCard/style.css +49 -0
- package/design-system/components/ChatShell/README.md +116 -0
- package/design-system/components/ChatShell/preview.html +201 -0
- package/design-system/components/ChatShell/style.css +86 -0
- package/design-system/components/ChatTurn/README.md +78 -35
- package/design-system/components/ChatTurn/preview.html +60 -28
- package/design-system/components/ChatTurn/style.css +50 -0
- package/design-system/components/CheckRow/README.md +141 -0
- package/design-system/components/CheckRow/preview.html +140 -0
- package/design-system/components/CheckRow/style.css +88 -0
- package/design-system/components/Checkbox/README.md +58 -22
- package/design-system/components/Checkbox/preview.html +112 -50
- package/design-system/components/Checkbox/style.css +45 -0
- package/design-system/components/Chip/README.md +78 -47
- package/design-system/components/Chip/preview.html +29 -4
- package/design-system/components/Chip/style.css +17 -0
- package/design-system/components/Combobox/README.md +44 -11
- package/design-system/components/Combobox/preview.html +35 -12
- package/design-system/components/Combobox/style.css +54 -0
- package/design-system/components/Composer/README.md +137 -35
- package/design-system/components/Composer/preview.html +115 -40
- package/design-system/components/Composer/style.css +81 -0
- package/design-system/components/ConfirmDialog/README.md +73 -52
- package/design-system/components/ConfirmDialog/preview.html +70 -26
- package/design-system/components/ConfirmDialog/style.css +5 -0
- package/design-system/components/Cover/preview.html +3 -3
- package/design-system/components/Cover/style.css +19 -0
- package/design-system/components/DateInput/README.md +77 -12
- package/design-system/components/DateInput/preview.html +27 -12
- package/design-system/components/DateInput/style.css +38 -0
- package/design-system/components/Dialog/README.md +112 -44
- package/design-system/components/Dialog/preview.html +141 -18
- package/design-system/components/Dialog/style.css +74 -0
- package/design-system/components/EmptyState/README.md +42 -12
- package/design-system/components/EmptyState/preview.html +11 -11
- package/design-system/components/EmptyState/style.css +9 -0
- package/design-system/components/EntryShell/README.md +73 -48
- package/design-system/components/EntryShell/preview.html +60 -27
- package/design-system/components/EntryShell/style.css +19 -0
- package/design-system/components/FeatureGrid/README.md +61 -39
- package/design-system/components/FeatureGrid/preview.html +2 -2
- package/design-system/components/FeatureGrid/style.css +20 -0
- package/design-system/components/FileUpload/README.md +33 -3
- package/design-system/components/FileUpload/preview.html +18 -4
- package/design-system/components/FileUpload/style.css +23 -0
- package/design-system/components/FilterBar/README.md +114 -0
- package/design-system/components/FilterBar/preview.html +82 -0
- package/design-system/components/FilterBar/style.css +22 -0
- package/design-system/components/Fold/README.md +84 -26
- package/design-system/components/Fold/preview.html +77 -34
- package/design-system/components/Fold/style.css +48 -0
- package/design-system/components/Footer/README.md +62 -39
- package/design-system/components/Footer/preview.html +5 -5
- package/design-system/components/Footer/style.css +30 -0
- package/design-system/components/FunnelBars/README.md +24 -3
- package/design-system/components/FunnelBars/preview.html +5 -5
- package/design-system/components/FunnelBars/style.css +13 -0
- package/design-system/components/GoalBars/README.md +54 -10
- package/design-system/components/GoalBars/preview.html +69 -28
- package/design-system/components/GoalBars/style.css +51 -0
- package/design-system/components/GoalTicks/README.md +74 -58
- package/design-system/components/GoalTicks/preview.html +41 -118
- package/design-system/components/GoalTicks/style.css +37 -0
- package/design-system/components/GoalTubes/README.md +29 -3
- package/design-system/components/GoalTubes/preview.html +6 -6
- package/design-system/components/GoalTubes/style.css +23 -0
- package/design-system/components/Heatmap/README.md +133 -0
- package/design-system/components/Heatmap/preview.html +168 -0
- package/design-system/components/Heatmap/style.css +119 -0
- package/design-system/components/Hero/README.md +58 -40
- package/design-system/components/Hero/preview.html +1 -1
- package/design-system/components/Hero/style.css +19 -0
- package/design-system/components/HoverCard/README.md +114 -0
- package/design-system/components/HoverCard/preview.html +107 -0
- package/design-system/components/HoverCard/style.css +59 -0
- package/design-system/components/IconButton/README.md +69 -38
- package/design-system/components/IconButton/preview.html +77 -43
- package/design-system/components/IconButton/style.css +45 -0
- package/design-system/components/Input/README.md +36 -11
- package/design-system/components/Input/preview.html +1 -1
- package/design-system/components/Input/style.css +23 -0
- package/design-system/components/KanbanBoard/README.md +93 -45
- package/design-system/components/KanbanBoard/preview.html +159 -43
- package/design-system/components/KanbanBoard/style.css +53 -0
- package/design-system/components/Kbd/README.md +25 -9
- package/design-system/components/Kbd/preview.html +6 -2
- package/design-system/components/Kbd/style.css +9 -0
- package/design-system/components/KitButton/README.md +81 -47
- package/design-system/components/KitButton/preview.html +35 -13
- package/design-system/components/KitButton/style.css +46 -0
- package/design-system/components/KitCard/README.md +75 -44
- package/design-system/components/KitCard/preview.html +18 -10
- package/design-system/components/KitCard/style.css +15 -0
- package/design-system/components/KitInput/README.md +54 -39
- package/design-system/components/KitInput/preview.html +7 -7
- package/design-system/components/KitInput/style.css +23 -0
- package/design-system/components/Leaderboard/README.md +76 -49
- package/design-system/components/Leaderboard/preview.html +61 -26
- package/design-system/components/Leaderboard/style.css +44 -0
- package/design-system/components/ListDetail/README.md +222 -0
- package/design-system/components/ListDetail/preview.html +213 -0
- package/design-system/components/ListDetail/style.css +148 -0
- package/design-system/components/LoadBar/README.md +79 -0
- package/design-system/components/LoadBar/preview.html +40 -0
- package/design-system/components/LoadBar/style.css +17 -0
- package/design-system/components/MarketingNav/README.md +76 -42
- package/design-system/components/MarketingNav/preview.html +37 -8
- package/design-system/components/MarketingNav/style.css +45 -0
- package/design-system/components/Matrix/README.md +129 -0
- package/design-system/components/Matrix/preview.html +99 -0
- package/design-system/components/Matrix/style.css +84 -0
- package/design-system/components/Menu/README.md +117 -41
- package/design-system/components/Menu/preview.html +85 -23
- package/design-system/components/Menu/style.css +61 -0
- package/design-system/components/Meter/README.md +39 -4
- package/design-system/components/Meter/preview.html +18 -1
- package/design-system/components/Meter/style.css +23 -0
- package/design-system/components/MetricTile/README.md +237 -0
- package/design-system/components/MetricTile/preview.html +241 -0
- package/design-system/components/MetricTile/style.css +129 -0
- package/design-system/components/Morph/README.md +106 -0
- package/design-system/components/Morph/preview.html +103 -0
- package/design-system/components/Morph/style.css +31 -0
- package/design-system/components/Motion/README.md +164 -0
- package/design-system/components/Motion/preview.html +2537 -0
- package/design-system/components/NumberInput/README.md +27 -8
- package/design-system/components/NumberInput/preview.html +21 -5
- package/design-system/components/NumberInput/style.css +34 -0
- package/design-system/components/PaceBar/README.md +75 -0
- package/design-system/components/PaceBar/preview.html +67 -0
- package/design-system/components/PaceBar/style.css +25 -0
- package/design-system/components/Page/README.md +57 -18
- package/design-system/components/Page/preview.html +15 -17
- package/design-system/components/Page/style.css +7 -0
- package/design-system/components/PageBar/README.md +90 -34
- package/design-system/components/PageBar/preview.html +60 -19
- package/design-system/components/PageBar/style.css +35 -0
- package/design-system/components/PageHero/README.md +87 -51
- package/design-system/components/PageHero/preview.html +35 -6
- package/design-system/components/PageHero/style.css +31 -0
- package/design-system/components/Pagination/README.md +70 -49
- package/design-system/components/Pagination/preview.html +24 -15
- package/design-system/components/Pagination/style.css +12 -0
- package/design-system/components/Panel/README.md +109 -51
- package/design-system/components/Panel/preview.html +118 -20
- package/design-system/components/Panel/style.css +51 -0
- package/design-system/components/PasswordInput/README.md +50 -18
- package/design-system/components/PasswordInput/preview.html +71 -21
- package/design-system/components/PasswordInput/style.css +31 -0
- package/design-system/components/Plate/README.md +75 -17
- package/design-system/components/Plate/preview.html +40 -7
- package/design-system/components/Plate/style.css +37 -0
- package/design-system/components/Popover/README.md +70 -49
- package/design-system/components/Popover/preview.html +44 -22
- package/design-system/components/Popover/style.css +41 -0
- package/design-system/components/PricingTable/README.md +69 -49
- package/design-system/components/PricingTable/preview.html +21 -21
- package/design-system/components/PricingTable/style.css +21 -0
- package/design-system/components/ProgressPetals/README.md +31 -3
- package/design-system/components/ProgressPetals/preview.html +14 -15
- package/design-system/components/ProgressPetals/style.css +27 -0
- package/design-system/components/README.md +151 -0
- package/design-system/components/Radio/README.md +40 -17
- package/design-system/components/Radio/preview.html +16 -1
- package/design-system/components/Radio/style.css +21 -0
- package/design-system/components/RankBar/README.md +29 -2
- package/design-system/components/RankBar/preview.html +14 -12
- package/design-system/components/RankBar/style.css +18 -0
- package/design-system/components/Ring/README.md +61 -11
- package/design-system/components/Ring/preview.html +55 -10
- package/design-system/components/Ring/style.css +49 -0
- package/design-system/components/ScoreHero/README.md +91 -0
- package/design-system/components/ScoreHero/preview.html +104 -0
- package/design-system/components/ScoreHero/style.css +32 -0
- package/design-system/components/Section/README.md +72 -33
- package/design-system/components/Section/preview.html +46 -16
- package/design-system/components/Section/style.css +18 -0
- package/design-system/components/Segmented/README.md +100 -55
- package/design-system/components/Segmented/preview.html +107 -26
- package/design-system/components/Segmented/style.css +94 -0
- package/design-system/components/SegmentedProgress/README.md +64 -0
- package/design-system/components/SegmentedProgress/preview.html +69 -0
- package/design-system/components/SegmentedProgress/style.css +11 -0
- package/design-system/components/Select/README.md +47 -12
- package/design-system/components/Select/preview.html +28 -2
- package/design-system/components/Select/style.css +22 -0
- package/design-system/components/ShareBar/README.md +69 -0
- package/design-system/components/ShareBar/preview.html +72 -0
- package/design-system/components/ShareBar/style.css +25 -0
- package/design-system/components/SideList/README.md +147 -0
- package/design-system/components/SideList/preview.html +139 -0
- package/design-system/components/SideList/style.css +94 -0
- package/design-system/components/Skeleton/README.md +52 -16
- package/design-system/components/Skeleton/preview.html +35 -23
- package/design-system/components/Skeleton/style.css +22 -0
- package/design-system/components/Slider/README.md +95 -0
- package/design-system/components/Slider/preview.html +49 -0
- package/design-system/components/Slider/style.css +13 -0
- package/design-system/components/Split/README.md +112 -0
- package/design-system/components/Split/preview.html +105 -0
- package/design-system/components/Split/style.css +30 -0
- package/design-system/components/Starter/README.md +21 -9
- package/design-system/components/Starter/preview.html +5 -5
- package/design-system/components/Stat/README.md +64 -43
- package/design-system/components/Stat/preview.html +3 -3
- package/design-system/components/Stat/style.css +15 -0
- package/design-system/components/StatTiles/README.md +88 -44
- package/design-system/components/StatTiles/preview.html +142 -71
- package/design-system/components/StatTiles/style.css +64 -0
- package/design-system/components/StatusLine/README.md +85 -0
- package/design-system/components/StatusLine/preview.html +49 -0
- package/design-system/components/StatusLine/style.css +14 -0
- package/design-system/components/StatusScreen/README.md +49 -35
- package/design-system/components/StatusScreen/preview.html +20 -5
- package/design-system/components/StatusScreen/style.css +9 -0
- package/design-system/components/StepLine/README.md +97 -0
- package/design-system/components/StepLine/preview.html +108 -0
- package/design-system/components/StepLine/style.css +62 -0
- package/design-system/components/Stepper/README.md +35 -13
- package/design-system/components/Stepper/style.css +13 -0
- package/design-system/components/StreakCalendar/README.md +22 -1
- package/design-system/components/StreakCalendar/preview.html +10 -10
- package/design-system/components/StreakCalendar/style.css +12 -0
- package/design-system/components/SuggestionChip/README.md +87 -0
- package/design-system/components/SuggestionChip/preview.html +42 -0
- package/design-system/components/SuggestionChip/style.css +20 -0
- package/design-system/components/Switch/README.md +44 -24
- package/design-system/components/Switch/preview.html +23 -8
- package/design-system/components/Switch/style.css +31 -0
- package/design-system/components/Table/README.md +129 -58
- package/design-system/components/Table/preview.html +106 -72
- package/design-system/components/Table/style.css +104 -0
- package/design-system/components/Tabs/README.md +71 -46
- package/design-system/components/Tabs/preview.html +56 -24
- package/design-system/components/Tabs/style.css +44 -0
- package/design-system/components/Testimonial/README.md +48 -32
- package/design-system/components/Testimonial/preview.html +14 -14
- package/design-system/components/Testimonial/style.css +12 -0
- package/design-system/components/TextArea/README.md +27 -11
- package/design-system/components/TextArea/preview.html +8 -2
- package/design-system/components/TextArea/style.css +12 -0
- package/design-system/components/ThemeSwitch/README.md +116 -0
- package/design-system/components/ThemeSwitch/preview.html +57 -0
- package/design-system/components/ThemeSwitch/style.css +6 -0
- package/design-system/components/TickRow/README.md +52 -36
- package/design-system/components/TickRow/preview.html +64 -41
- package/design-system/components/TickRow/style.css +23 -0
- package/design-system/components/TickStrip/README.md +95 -0
- package/design-system/components/TickStrip/preview.html +88 -0
- package/design-system/components/TickStrip/style.css +42 -0
- package/design-system/components/Tile/README.md +79 -18
- package/design-system/components/Tile/preview.html +91 -40
- package/design-system/components/Tile/style.css +36 -0
- package/design-system/components/Timeline/README.md +68 -48
- package/design-system/components/Timeline/preview.html +27 -15
- package/design-system/components/Timeline/style.css +25 -0
- package/design-system/components/Toast/README.md +70 -38
- package/design-system/components/Toast/preview.html +43 -8
- package/design-system/components/Toast/style.css +25 -0
- package/design-system/components/Tooltip/README.md +93 -35
- package/design-system/components/Tooltip/preview.html +69 -15
- package/design-system/components/Tooltip/style.css +78 -0
- package/design-system/components/TopBar/README.md +67 -53
- package/design-system/components/TopBar/preview.html +14 -27
- package/design-system/components/TopBar/style.css +35 -0
- package/design-system/components/TopicRail/README.md +108 -0
- package/design-system/components/TopicRail/preview.html +58 -0
- package/design-system/components/TopicRail/style.css +48 -0
- package/design-system/components/TrendBars/README.md +52 -14
- package/design-system/components/TrendBars/preview.html +65 -32
- package/design-system/components/TrendBars/style.css +25 -0
- package/design-system/components/TrendLine/README.md +164 -0
- package/design-system/components/TrendLine/preview.html +373 -0
- package/design-system/components/TrendLine/style.css +155 -0
- package/design-system/components/Well/README.md +64 -22
- package/design-system/components/Well/preview.html +14 -14
- package/design-system/components/Well/style.css +22 -0
- package/design-system/components/_house.css +324 -0
- package/design-system/components/bundle.css +4091 -744
- package/design-system/tokens.json +1314 -124
- package/dist/fello-core.css +2 -2
- package/dist/fello.css +6 -1369
- package/dist/fello.scoped.css +7 -0
- package/dist/index.d.ts +110 -11
- package/dist/index.js +781 -96
- package/dist/palettes.d.ts +464 -0
- package/dist/palettes.js +497 -0
- package/dist/scoped.d.ts +3 -0
- package/dist/scoped.js +16 -0
- package/dist/toast.d.ts +14 -0
- package/dist/toast.js +33 -29
- package/dist/tokens.d.ts +1686 -62
- package/dist/tokens.js +1668 -61
- package/package.json +20 -4
- package/scripts/check-palette.mjs +295 -0
- package/scripts/token-model.mjs +552 -0
- package/tokens/_dark.css +174 -0
- package/tokens/_palettes.css +46 -0
- package/tokens/_product.css +266 -53
- package/tokens/_source.hubl.css +39 -19
- package/tokens/design-tokens.json +319 -0
- package/tokens/palettes.ts +504 -0
- package/tokens/shadcn-compat.css +19 -19
- package/tokens/shadcn-compat.hsl.css +76 -0
- package/tokens/tokens.css +1292 -62
- package/tokens/tokens.md +588 -61
- package/tokens/tokens.root.css +1298 -62
- package/tokens/tokens.ts +1677 -64
package/tokens/_dark.css
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/* ============================================================================
|
|
2
|
+
The dark theme (D12, kit 0.5.0, 4 Nov 2026). Opt-in only: an app that sets
|
|
3
|
+
nothing stays light.
|
|
4
|
+
|
|
5
|
+
<html data-theme="dark"> the night ground, always
|
|
6
|
+
<html data-theme="system"> the night ground on a dark OS
|
|
7
|
+
<html data-theme="dark" data-ground="navy"> the Ignite navy ground (brand and event pages)
|
|
8
|
+
|
|
9
|
+
scripts/generate-tokens.mjs reads the two blocks below and writes them, each
|
|
10
|
+
also under @media (prefers-color-scheme: dark) for data-theme="system", into
|
|
11
|
+
tokens.root.css, tokens.css, fello.css and fello.scoped.css (on .fello there).
|
|
12
|
+
Brand colours stay literal (white is white, navy is navy); the semantic names
|
|
13
|
+
carry the swap. Sources per value: the dark-theme research notes
|
|
14
|
+
(gtm-ai-impact public/ds-dark.css for night, ignite-dark.css and Usher for
|
|
15
|
+
navy). Every word pair is checked by the generator, which stops on a fail.
|
|
16
|
+
========================================================================== */
|
|
17
|
+
|
|
18
|
+
:root[data-theme="dark"] {
|
|
19
|
+
/* D15: every ground, edge, tint and fade below derives from the dark contract inputs (the page, the tray, the
|
|
20
|
+
edges, the words, the chart tones), so an app's dark palette moves them. A solved partner keeps the night value
|
|
21
|
+
exactly; a tint or a fade is its tone over the page (within CIEDE2000 3.5 of the old literal). */
|
|
22
|
+
--ws-page: color-mix(in srgb, var(--color-bg-page) 50%, #05090e); /* #0A1118 */
|
|
23
|
+
--color-bg-page: #0F1922;
|
|
24
|
+
--color-surface: #131E28;
|
|
25
|
+
--ws-raised: #16222D;
|
|
26
|
+
--ws-surface-sunk: color-mix(in srgb, var(--color-bg-page) 93.75%, #8fb9e2); /* #17232E */
|
|
27
|
+
--ws-surface-press: color-mix(in srgb, var(--color-bg-page) 90%, #a5cdfe); /* #1E2B38 */
|
|
28
|
+
--ws-well: color-mix(in srgb, var(--ws-tray) 20%, rgb(6.25 14.25 21)); /* #0B141C: under the tray */
|
|
29
|
+
--ws-field: color-mix(in srgb, var(--color-bg-page) 50%, #070f16); /* #0B141C */
|
|
30
|
+
--ws-chart-foot: color-mix(in srgb, var(--color-bg-page) 80%, #000509); /* #0C151D */
|
|
31
|
+
--ws-sidebar-hover: color-mix(in srgb, var(--color-bg-page) 98.5%, #d7e1ea); /* #121C25 */
|
|
32
|
+
--ws-sidebar-press: color-mix(in srgb, var(--color-bg-page) 95%, #afcdfe); /* #17222D */
|
|
33
|
+
--ws-menu-hover: var(--ws-surface-press);
|
|
34
|
+
--ws-menu-line: color-mix(in srgb, var(--color-bg-page) 80%, #6e8cb8); /* #223040 */
|
|
35
|
+
--ws-tint-accent: var(--color-surface);
|
|
36
|
+
--ws-tint-needs: color-mix(in srgb, var(--ws-chart-under-half) 13.05%, var(--color-bg-page)); /* #2E252A */
|
|
37
|
+
--ws-tint-live: color-mix(in srgb, var(--ws-chart-finished) 12.1%, var(--color-bg-page)); /* was #0E2931 */
|
|
38
|
+
--ws-card-tint-blue: color-mix(in srgb, var(--color-bg-page) 90%, #879bf4); /* #1B2637: the page toward the mid blue */
|
|
39
|
+
--ws-card-tint-done: color-mix(in srgb, var(--ws-chart-finished) 10.4%, var(--color-bg-page)); /* was #10262B */
|
|
40
|
+
--ws-track: color-mix(in srgb, var(--ws-tray) 80%, #0a1215); /* #1A2631: the tray, darker */
|
|
41
|
+
--color-dropdown-bg: var(--ws-raised);
|
|
42
|
+
--color-feedback-success-bg: color-mix(in srgb, var(--ws-chart-finished) 20%, rgb(25 16.75 1.75)); /* #1B2F22 */
|
|
43
|
+
--ws-scrim: color-mix(in srgb, color-mix(in srgb, var(--ws-page) 20%, rgb(0 3.25 6.5)) 62%, transparent); /* rgba(2, 6, 10, .62): the shell, near black */
|
|
44
|
+
--ws-edge: #1E2A36;
|
|
45
|
+
--ws-edge-card: #273544;
|
|
46
|
+
--ws-edge-chip: color-mix(in srgb, var(--ws-edge-card) 96%, #a4cbf3); /* #2C3B4B */
|
|
47
|
+
--ws-edge-slot: color-mix(in srgb, var(--ws-edge-card) 75%, #071118); /* #1F2C39 */
|
|
48
|
+
--ws-edge-tray: color-mix(in srgb, var(--ws-tray) 90%, #aacbf6); /* #2C3B4B */
|
|
49
|
+
--color-text-heading: #E8EDF3;
|
|
50
|
+
--color-text-body: #B0BBC7;
|
|
51
|
+
--color-text-muted: #8494A5;
|
|
52
|
+
--color-text-placeholder: var(--color-text-muted);
|
|
53
|
+
--color-text-interactive: #93A6DC;
|
|
54
|
+
--color-text-primary: color-mix(in srgb, var(--color-text-heading) 53.5%, var(--color-text-body)); /* was #CDD6E0 */
|
|
55
|
+
--ws-word-needs: #FF8B78;
|
|
56
|
+
--color-text-error-strong: var(--ws-word-needs);
|
|
57
|
+
--ws-word-positive: #4FC7BE;
|
|
58
|
+
--color-text-success-strong: color-mix(in srgb, var(--ws-word-positive) 20%, #aed15f); /* #9BCF72 */
|
|
59
|
+
--color-feedback-success-text: var(--color-text-success-strong);
|
|
60
|
+
--ws-field-ink: color-mix(in srgb, var(--color-text-heading) 88%, var(--color-text-body)); /* #E1E7EE */
|
|
61
|
+
--ws-on-act: var(--color-bg-page); /* words on the light act are the page (#0F1922) */
|
|
62
|
+
--color-stat-positive: color-mix(in srgb, var(--ws-chart-finished) 80%, #9bf8ee); /* #3BB8B2: the teal tone, brighter, for marks */
|
|
63
|
+
--ws-chart-finished: #23A8A3;
|
|
64
|
+
--ws-chart-past-half: #9A84EE;
|
|
65
|
+
--ws-chart-navy-light: #6E9CC4;
|
|
66
|
+
--ws-chart-empty: var(--ws-track);
|
|
67
|
+
--ws-chart-dot: color-mix(in srgb, var(--color-bg-page) 90%, #91afd6); /* #1C2834 */
|
|
68
|
+
/* The fades and tints: each its tone over the page (was #2A4560, #5C342E, #3A325E, #1A4446, #1C4D4B, #3A3366;
|
|
69
|
+
the salmon tint keeps #4B3A2B, which no tone over the page lands near). */
|
|
70
|
+
--ws-chart-navy-fade: color-mix(in srgb, var(--ws-chart-navy-light) 36.2%, var(--color-bg-page));
|
|
71
|
+
--ws-chart-salmon-fade: color-mix(in srgb, var(--ws-chart-under-half) 33.2%, var(--color-bg-page));
|
|
72
|
+
--ws-chart-purple-fade: color-mix(in srgb, var(--ws-chart-past-half) 31.3%, var(--color-bg-page));
|
|
73
|
+
--ws-chart-teal-fade: color-mix(in srgb, var(--ws-chart-finished) 29.8%, var(--color-bg-page));
|
|
74
|
+
--ws-chart-finished-tint: color-mix(in srgb, var(--ws-chart-finished) 36.8%, var(--color-bg-page));
|
|
75
|
+
--ws-chart-past-half-tint: color-mix(in srgb, var(--ws-chart-past-half) 32.2%, var(--color-bg-page));
|
|
76
|
+
--ws-chart-under-half-tint: color-mix(in srgb, var(--ws-chart-under-half) 20%, rgb(30 44 30.75));
|
|
77
|
+
--color-feedback-error: color-mix(in srgb, var(--ws-chart-under-half) 90%, #ffe0a2); /* #FF7D63 */
|
|
78
|
+
--color-alert: #FF5A5A;
|
|
79
|
+
--ws-ink-rgb: 232, 237, 243;
|
|
80
|
+
--ws-shade-rgb: 0, 0, 0;
|
|
81
|
+
--ws-shade: #000; /* a drop in the dark is black */
|
|
82
|
+
--color-nav-hover-bg: color-mix(in srgb, var(--ws-ink) 4%, transparent);
|
|
83
|
+
--ws-shadow-band: inset 0 0.5px 0 color-mix(in srgb, var(--ws-tray) 96%, #82a8ce), inset 0 10px 6px 0 rgba(0, 0, 0, 0.06), inset 0 4px 4px 0 rgba(0, 0, 0, 0.1), inset 0 1px 2px 0 rgba(0, 0, 0, 0.14);
|
|
84
|
+
--ws-shadow-lift: 0 0 0 0.5px color-mix(in srgb, var(--ws-ink) 8%, transparent), 0 6px 14px rgba(0, 0, 0, 0.32), 0 16px 40px rgba(0, 0, 0, 0.42);
|
|
85
|
+
--shadow-card-default: 0 1px 2px rgba(0, 0, 0, 0.3), 0 4px 8px rgba(0, 0, 0, 0.24);
|
|
86
|
+
--shadow-card-hover: var(--ws-shadow-lift);
|
|
87
|
+
--shadow-dropdown: 0 0 0 0.5px color-mix(in srgb, var(--ws-ink) 8%, transparent), 0 8px 17px rgba(0, 0, 0, 0.3), 0 30px 30px rgba(0, 0, 0, 0.26), 0 68px 41px rgba(0, 0, 0, 0.16);
|
|
88
|
+
--ws-ring-selected: 0 0 0 2px color-mix(in srgb, var(--ws-ink) 70%, transparent);
|
|
89
|
+
--ws-card-ring-lit: 0 0 0 2px color-mix(in srgb, var(--ws-ink) 32%, transparent);
|
|
90
|
+
--ws-card-ring-person: inset 0 0 0 1px color-mix(in srgb, var(--ws-ink) 14%, transparent);
|
|
91
|
+
/* The glows centred inside the hero and fading to nothing at their edge (centred on the top edge they read as a
|
|
92
|
+
hard-cut band), over the raised ground, so the hero keeps a body on the dark page (derived). */
|
|
93
|
+
--ws-glow-blue: color-mix(in srgb, var(--ws-chart-navy-light) 20%, rgb(42.5 151 251)); /* the AI blue #3898F0, from the dark navy tone */
|
|
94
|
+
--ws-cool-glow: radial-gradient(80% 90% at 85% 10%, color-mix(in srgb, var(--ws-glow-blue) 14%, transparent), transparent), linear-gradient(var(--ws-raised), var(--ws-raised));
|
|
95
|
+
--ws-team-glow: radial-gradient(80% 90% at 85% 10%, color-mix(in srgb, var(--ws-glow-blue) 14%, transparent), transparent), radial-gradient(70% 80% at 0% 90%, color-mix(in srgb, var(--ws-chart-under-half) 12%, transparent), transparent), linear-gradient(var(--ws-raised), var(--ws-raised));
|
|
96
|
+
--ws-orb: radial-gradient(circle at 30% 30% in srgb, color-mix(in srgb, var(--ws-chart-finished) 50%, #05ccf3), var(--ws-glow-blue) 45%, color-mix(in srgb, var(--ws-chart-past-half) 80%, #5902c6) 80%); /* the light orb's #14BACB, #3898F0, #8D6AE6, from the dark tones */
|
|
97
|
+
/* Added with 0.5.0 (F2, 4 Nov 2026). "derived": no Fello source draws it in dark;
|
|
98
|
+
a mix of kit colours or a shipped dark value, every word pair computed. */
|
|
99
|
+
--ws-tray: #1E2B38; /* derived: the night press step, so the rim lifts off the stage as #EDEDED does off the cream and words on a foot pass (muted 4.64) */
|
|
100
|
+
--ws-edge-card-1x: var(--ws-edge-card); /* gtm ds-dark.css:133: halving the edge leaves 1.2:1 or less on dark */
|
|
101
|
+
--ws-well-hover: #273544; /* derived: the frame lights to the card edge */
|
|
102
|
+
--ws-frame: var(--ws-frame-top); /* the light wash drops out (dark-theme notes: glass interim): a flat frame-top, the shell unless a palette says */
|
|
103
|
+
--ws-frame-top: var(--ws-page); /* what the flat frame paints, so a palette's dark value reads true (D15) */
|
|
104
|
+
--ws-stage-foot: var(--color-bg-page);
|
|
105
|
+
--ws-stage-wash: var(--color-bg-page);
|
|
106
|
+
--ws-glass: color-mix(in srgb, var(--color-bg-page) 59%, transparent); /* derived interim until Seth draws the dark glass */
|
|
107
|
+
--ws-edge-stage: var(--ws-edge-card);
|
|
108
|
+
--ws-float-rim: 0 0 0 0.5px color-mix(in srgb, var(--ws-ink) 8%, transparent); /* gtm ds-dark.css: a light rim, since a shadow does not show */
|
|
109
|
+
--ws-chart-alert: #FF5470; /* was #FF5A5A (gtm --color-alert dark), CIEDE2000 6.1 from salmon: a chart could not tell the two apart. A step toward crimson, 12.3 from salmon and 11.9 from the pink; words 4.63 on press (D15) */
|
|
110
|
+
--ws-word-needs-work: var(--ws-chart-needs-work); /* derived: Seth's pink itself clears AA on every night ground (5.26 on press) */
|
|
111
|
+
--ws-tint-needs-work: color-mix(in srgb, var(--ws-chart-needs-work) 18%, var(--color-bg-page)); /* derived, the tint-needs formula */
|
|
112
|
+
--ws-shimmer: linear-gradient(100deg, var(--ws-track) 0 34%, color-mix(in srgb, var(--ws-chart-under-half) 14%, var(--ws-track)) 44%, color-mix(in srgb, var(--ws-chart-past-half) 14%, var(--ws-track)) 50%, color-mix(in srgb, var(--color-stat-positive) 14%, var(--ws-track)) 56%, var(--ws-track) 66% 100%); /* derived: the chart colours at 14% over the dark track; still frames plain, as in light */
|
|
113
|
+
/* Promoted at integration (0.5.0): the packages' scoped dark values, now global. */
|
|
114
|
+
--ws-rating-middle: var(--color-text-interactive); /* the mid blue was 2.5:1 on night, under 3:1 for a mark; its words' own dark step */
|
|
115
|
+
--ws-raised-sunk: var(--ws-surface-press); /* the page's sunk is 1/255 off raised in dark */
|
|
116
|
+
--ws-edge-hover: var(--color-text-muted); /* derived (WP-controls): no Fello dark value, the edge lifts toward the muted words */
|
|
117
|
+
--ws-act-hover: color-mix(in srgb, var(--color-text-heading) 92%, var(--ws-on-act)); /* derived: the light act eases a step toward its words */
|
|
118
|
+
--ws-act-light: transparent; /* a light on a light fill only muddies it */
|
|
119
|
+
--ws-agent-tally: var(--color-text-heading); /* the act itself in dark (WP-controls) */
|
|
120
|
+
--ws-mark-muted: color-mix(in srgb, var(--color-text-muted) 79.8%, var(--color-bg-page)); /* derived: the muted words toward the page, 3.3:1 on the tray, 4.0 on night, a mark (was #6B7A8A) */
|
|
121
|
+
--ws-control-off: color-mix(in srgb, var(--color-text-muted) 50%, #7a6a59); /* #7F7F7F, the off track as in light */
|
|
122
|
+
--ws-shimmer-ground: var(--ws-track);
|
|
123
|
+
--ws-inverse: var(--color-bg-dark); /* a brand pair in dark: the navy message keeps the navy and white (D12) */
|
|
124
|
+
--ws-on-inverse: var(--color-white);
|
|
125
|
+
--ws-chart-rest: var(--ws-edge-card);
|
|
126
|
+
--ws-ghost: var(--ws-well-hover);
|
|
127
|
+
--ws-word-answer: color-mix(in srgb, var(--color-text-body) 50%, var(--ws-field-ink)); /* derived (WP-cards): between the body and the field's words */
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
:root[data-theme="dark"][data-ground="navy"] {
|
|
131
|
+
--ws-page: var(--color-bg-page);
|
|
132
|
+
--color-bg-page: #021A32;
|
|
133
|
+
--color-surface: color-mix(in srgb, var(--color-bg-page) 95%, var(--color-white));
|
|
134
|
+
--ws-raised: color-mix(in srgb, var(--color-bg-page) 92%, var(--color-white));
|
|
135
|
+
--ws-surface-sunk: color-mix(in srgb, var(--color-bg-page) 90%, var(--color-white));
|
|
136
|
+
--ws-surface-press: color-mix(in srgb, var(--color-bg-page) 84%, var(--color-white));
|
|
137
|
+
--ws-well: color-mix(in srgb, var(--color-bg-page) 94%, var(--color-white));
|
|
138
|
+
--ws-field: var(--color-white);
|
|
139
|
+
--ws-chart-foot: color-mix(in srgb, var(--color-bg-page) 95%, var(--color-white));
|
|
140
|
+
--ws-sidebar-hover: color-mix(in srgb, var(--color-bg-page) 94%, var(--color-white));
|
|
141
|
+
--ws-sidebar-press: color-mix(in srgb, var(--color-bg-page) 90%, var(--color-white));
|
|
142
|
+
--ws-menu-hover: color-mix(in srgb, var(--color-bg-page) 88%, var(--color-white));
|
|
143
|
+
--ws-menu-line: var(--ws-edge-card);
|
|
144
|
+
--ws-tint-accent: color-mix(in srgb, var(--color-bg-page) 94%, var(--color-white));
|
|
145
|
+
--ws-tint-needs: color-mix(in srgb, var(--ws-chart-under-half) 18%, var(--color-bg-page));
|
|
146
|
+
--ws-tint-live: color-mix(in srgb, var(--ws-chart-finished) 13.1%, var(--color-bg-page)); /* was the light teal 18% (#032D41) */
|
|
147
|
+
--ws-card-tint-blue: color-mix(in srgb, var(--color-brand-mid-blue) 25%, var(--color-bg-page));
|
|
148
|
+
--ws-card-tint-done: var(--ws-tint-live);
|
|
149
|
+
--ws-track: color-mix(in srgb, var(--color-bg-page) 88%, var(--color-white));
|
|
150
|
+
--ws-edge: color-mix(in srgb, var(--color-white) 10%, transparent);
|
|
151
|
+
--ws-edge-card: color-mix(in srgb, var(--color-white) 18%, transparent);
|
|
152
|
+
--ws-edge-chip: var(--ws-edge-card);
|
|
153
|
+
--ws-edge-slot: var(--ws-edge-card);
|
|
154
|
+
--ws-edge-tray: var(--ws-edge-card);
|
|
155
|
+
--color-text-heading: #FFFFFF;
|
|
156
|
+
--color-text-body: #D3D3D3;
|
|
157
|
+
--color-text-muted: #A9A9A9;
|
|
158
|
+
--color-text-placeholder: #6E6E6E;
|
|
159
|
+
--color-text-primary: color-mix(in srgb, var(--color-text-heading) 93%, #000000); /* #EDEDED */
|
|
160
|
+
--ws-field-ink: var(--color-brand-navy);
|
|
161
|
+
--ws-field-mark: var(--ws-field-ink); /* the fields are white here, so their marks take the field's own ink (promoted from Input, 0.5.0) */
|
|
162
|
+
--ws-chart-empty: var(--ws-track);
|
|
163
|
+
--ws-chart-dot: color-mix(in srgb, var(--ws-ink) 10%, transparent);
|
|
164
|
+
--ws-chart-navy-fade: color-mix(in srgb, var(--color-text-heading) 30%, var(--color-bg-page));
|
|
165
|
+
--ws-ink-rgb: 255, 255, 255;
|
|
166
|
+
--ws-shadow-band: inset 0 var(--ws-hairline) 0 var(--ws-edge-tray);
|
|
167
|
+
/* Added with 0.5.0 (F2): the navy press step is 84% white, so words lift further. */
|
|
168
|
+
--ws-tray: color-mix(in srgb, var(--color-bg-page) 84%, var(--color-white)); /* derived: the navy press step */
|
|
169
|
+
--ws-word-needs-work: color-mix(in srgb, var(--ws-chart-needs-work) 80%, #fdcfe0); /* #F583B0, derived: the pink toward white, 4.53 on the navy press */
|
|
170
|
+
--ws-word-alert: #FF8282; /* derived: the dark red 24% toward white, 4.53 on the navy press */
|
|
171
|
+
--ws-word-past-half: color-mix(in srgb, var(--ws-chart-past-half) 80%, #f9f7fd); /* #AD9BF1, derived: the dark purple toward white, 4.52 on the navy press */
|
|
172
|
+
--ws-mark-muted: color-mix(in srgb, var(--color-text-muted) 80%, #0e5eb3); /* #8A9AAB, derived: 3.8:1 on the navy tray, a mark */
|
|
173
|
+
--ws-word-answer: color-mix(in srgb, var(--color-text-body) 50%, var(--color-text-heading)); /* WP-cards: the field ink is navy on this ground */
|
|
174
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/* ============================================================================
|
|
2
|
+
The built-in palettes (D15, kit 0.5.0, 4 Nov 2026). A palette is named for how it
|
|
3
|
+
looks, never for an app. With no attribute the kit is its own palette, "default".
|
|
4
|
+
|
|
5
|
+
<html data-palette="cool"> the whole page
|
|
6
|
+
<div class="fello" data-palette="warm" data-theme="dark"> one container, dark
|
|
7
|
+
|
|
8
|
+
Each palette sets only contract tokens (tokens/design-tokens.json "palette"), in the
|
|
9
|
+
same form an app writes its own: the light values on [data-palette="name"], the dark
|
|
10
|
+
ones on [data-palette="name"][data-theme="dark"]. A token it changes in light and
|
|
11
|
+
leaves out of dark takes the kit's dark value there, derived from the dark inputs
|
|
12
|
+
(reported by the check). Marks keep their source's exact tone; a word in that tone
|
|
13
|
+
takes its AA step (D2).
|
|
14
|
+
|
|
15
|
+
scripts/generate-tokens.mjs writes these into tokens.css, tokens.root.css, fello.css
|
|
16
|
+
and the scoped build in the form `check-palette --emit` writes for an app's own (each
|
|
17
|
+
palette on any element, light or dark, nested either way), and stops when
|
|
18
|
+
scripts/check-palette.mjs finds a word under AA, a weak focus ring or chart tones
|
|
19
|
+
that cannot be told apart. Sources are data, quoted by value.
|
|
20
|
+
|
|
21
|
+
The first product's shipped tally navy (#093555, its globals.css) differs from the
|
|
22
|
+
default's #2C4870 in that one token; Seth's value wins (D1), so it has no palette of
|
|
23
|
+
its own: the product adopts the default's tally.
|
|
24
|
+
========================================================================== */
|
|
25
|
+
|
|
26
|
+
/* cool: the blue-grey sky ground under a glass stage, links in the heading navy, the
|
|
27
|
+
finer #E2E2E2 row lines. Source: Seth's prototype CSS (style1.css :root and the frame,
|
|
28
|
+
lines 6, 12-14, 76-78, 132, 195). Its paper, well, edges, hovers, coral and tones are
|
|
29
|
+
already the kit's (the default took them from it), so they are not repeated. */
|
|
30
|
+
[data-palette="cool"] {
|
|
31
|
+
--ws-stage-foot: #fefbf9; /* the stage is glass over the sky, never washed warm (style1.css:76-78) */
|
|
32
|
+
--ws-edge: #e2e2e2; /* --line: row hairlines inside cards (style1.css:195) */
|
|
33
|
+
--color-text-interactive: var(--color-text-heading); /* links and acting words are the navy (style1.css:132) */
|
|
34
|
+
}
|
|
35
|
+
[data-palette="cool"][data-theme="dark"] {
|
|
36
|
+
--color-text-interactive: var(--color-text-heading); /* derived: the source draws no dark; links keep the heading's tone */
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/* warm: the plain warm cream with no sky over it, the stage washed from the cream to
|
|
40
|
+
#FEF9F6, the #EDEDED tray and the #F3F1EF plate. Source: Seth's six product frames
|
|
41
|
+
(the stage 301:1630, the tray card 2.1, the agent tones). Tally #2C4870, coach #098486,
|
|
42
|
+
growth #6D4FC2, recruit salmon, error #B1042F, the tray and the plate are already the
|
|
43
|
+
kit's, so only the sky differs. */
|
|
44
|
+
[data-palette="warm"] {
|
|
45
|
+
--ws-frame-top: #fefbf9; /* no sky: the frames' page is the cream itself */
|
|
46
|
+
}
|