@omni-design/components 0.11.0 → 0.13.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.
Files changed (64) hide show
  1. package/.claude/commands/ScanComponents.md +1 -1
  2. package/.claude/commands/ShareComponent.md +1 -1
  3. package/CLAUDE.md +5 -3
  4. package/dist/OmniDesignProvider.esm.js +1 -1
  5. package/dist/OmniDesignProvider.esm.js.map +1 -1
  6. package/dist/OmniDesignProvider.js +1 -1
  7. package/dist/OmniDesignProvider.js.map +1 -1
  8. package/dist/index.esm.js +8 -3
  9. package/dist/index.esm.js.map +1 -1
  10. package/dist/index.js +8 -3
  11. package/dist/index.js.map +1 -1
  12. package/dist/types/components/BackgroundPicker.d.ts +1 -1
  13. package/dist/types/components/BrandIcon/BrandIcon.d.ts +20 -0
  14. package/dist/types/components/BrandIcon/index.d.ts +1 -0
  15. package/dist/types/components/Button/Button.d.ts +3 -1
  16. package/dist/types/components/ButtonGroup/ButtonGroup.d.ts +3 -2
  17. package/dist/types/components/Charts/tokens.d.ts +1 -1
  18. package/dist/types/components/Chip/Chip.d.ts +1 -1
  19. package/dist/types/components/Footer/Footer.d.ts +3 -1
  20. package/dist/types/components/Foundations/FoundationTopic.d.ts +4 -0
  21. package/dist/types/components/Foundations/HowToSlot.d.ts +16 -0
  22. package/dist/types/components/Foundations/TokenRoles.d.ts +19 -0
  23. package/dist/types/components/Foundations/TypographySummary.d.ts +2 -0
  24. package/dist/types/components/IconBadge/IconBadge.d.ts +1 -1
  25. package/dist/types/components/Loader/Loader.d.ts +66 -0
  26. package/dist/types/components/Loader/index.d.ts +1 -0
  27. package/dist/types/components/MiniSwatch/MiniSwatch.d.ts +7 -0
  28. package/dist/types/components/MiniSwatch/index.d.ts +1 -0
  29. package/dist/types/components/ShowcaseHeader.d.ts +5 -0
  30. package/dist/types/components/Swatch/Swatch.d.ts +14 -0
  31. package/dist/types/components/Swatch/index.d.ts +1 -0
  32. package/dist/types/components/Switch/Switch.d.ts +24 -8
  33. package/dist/types/components/Switch/index.d.ts +1 -1
  34. package/dist/types/components/TextField/TextField.d.ts +1 -1
  35. package/dist/types/components/Typography/Typography.d.ts +54 -1
  36. package/dist/types/components/Typography/index.d.ts +1 -1
  37. package/dist/types/components/_states.d.ts +1 -1
  38. package/dist/types/components/a11yPanel.d.ts +37 -0
  39. package/dist/types/components/index.d.ts +7 -1
  40. package/dist/types/docs/DocPanels.d.ts +25 -0
  41. package/dist/types/docs/components.d.ts +220 -0
  42. package/dist/types/docs/componentsData.d.ts +587 -0
  43. package/dist/types/docs/componentsForms.d.ts +597 -0
  44. package/dist/types/docs/componentsNav.d.ts +420 -0
  45. package/dist/types/docs/componentsOverlays.d.ts +379 -0
  46. package/dist/types/docs/componentsRest.d.ts +158 -0
  47. package/dist/types/docs/componentsSurfaces.d.ts +429 -0
  48. package/dist/types/docs/docsLink.d.ts +32 -0
  49. package/dist/types/docs/examples.d.ts +48 -0
  50. package/dist/types/docs/figmaHowTo.d.ts +28 -0
  51. package/dist/types/docs/figmaLinks.d.ts +58 -0
  52. package/dist/types/docs/foundations.d.ts +40 -0
  53. package/dist/types/docs/index.d.ts +5 -0
  54. package/docs/components.md +71 -55
  55. package/package.json +4 -2
  56. package/public/styles/Dark-Mode.css +12062 -13009
  57. package/public/styles/Light-Mode.css +11246 -12370
  58. package/public/styles/base.css +387 -182
  59. package/public/styles/core.css +569 -133
  60. package/public/styles/foundation.css +142 -53
  61. package/public/styles/styles.css +5 -5
  62. package/public/styles/theme.json +2 -2
  63. package/public/styles/typography-tokens.css +873 -96
  64. package/dist/types/theme/useThemeMode.d.ts +0 -4
@@ -1,72 +1,161 @@
1
+ @import url('https://fonts.googleapis.com/css2?family=Google+Sans+Flex:GRAD,ROND,opsz,slnt,wdth,wght@0..100,0..100,6..144,-10..0,25..151,1..1000&display=swap');
2
+ @import url('https://fonts.googleapis.com/css2?family=Raleway:wght@400&display=swap');
3
+ @import url('https://fonts.googleapis.com/css2?family=Google+Sans+Flex:wght@640&display=swap');
4
+ @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap');
5
+
1
6
  :root {
2
7
 
8
+ /* ── The brand's CORE colours ────────────────────────────────────────────
9
+ The three hexes the user actually picked, verbatim.
10
+
11
+ Nothing else in the published CSS says which colour a brand chose.
12
+ generateScaledTones writes the pick into the tone NEAREST ITS LIGHTNESS,
13
+ so the index differs per colour — a dark pick lands low, a pale one high
14
+ — and no fixed tone can stand for it. Color-Vibrant is not it either: that
15
+ is hardcoded to Color-8, which on a light brand is a pale tint. The
16
+ library's own Colors page showed Color-11 and then Color-8 and was wrong
17
+ both times, because the information was never published.
18
+
19
+ Emitted here rather than derived, so a consumer can show the brand's
20
+ colours without reaching into Firestore — which a published stylesheet
21
+ cannot do. */
22
+ --Primary-Core: #849054;
23
+ --Secondary-Core: #e49090;
24
+ --Tertiary-Core: #f0b484;
25
+
3
26
  /* Button */
4
- --Button-Radius: 4px;
5
- --Button-Icon-Radius: 4px;
6
- --Button-Height: 36px;
27
+ --Button-Radius: 2px;
28
+ --Sm-Button-Radius: 2px;
29
+ --Lg-Button-Radius: 2px;
30
+ --Button-Inner-Focus-Radius: 1px;
31
+ --Sm-Button-Inner-Focus-Radius: 1px;
32
+ --Lg-Button-Inner-Focus-Radius: 1px;
33
+ --Button-Focus-Radius: 5px;
34
+ --Sm-Button-Focus-Radius: 5px;
35
+ --Lg-Button-Focus-Radius: 5px;
36
+ --Button-Icon-Radius: 32px;
37
+ --Sm-Button-Icon-Radius: 12px;
38
+ --Lg-Button-Icon-Radius: 28px;
39
+ --Button-Icon-Inner-Radius: 31px;
40
+ --Sm-Button-Icon-Inner-Radius: 11px;
41
+ --Lg-Button-Icon-Inner-Radius: 27px;
42
+ --Button-Icon-Focus-Radius: 35px;
43
+ --Sm-Button-Icon-Focus-Radius: 15px;
44
+ --Lg-Button-Icon-Focus-Radius: 31px;
45
+ --Button-Height: 32px;
7
46
  --Small-Button-Height: 24px;
8
47
  --Large-Button-Height: 56px;
9
48
  --Button-Min-Width: 60px;
49
+ --Lg-Button-Min-Width: 100px;
10
50
  --Button-Bevel: 0;
11
51
  --Button-Bevel-Px: 0px;
12
52
  --Button-Bevel-Opacity: 0.5;
13
- --Button-Bevel-Shadow: none;
53
+ /* Bevel geometry — the literal box-shadow numbers, same values the Figma
54
+ Platform/Components collections carry (there as bare numbers, here as px).
55
+ Small and large don't vary by platform, so they live here; medium's live
56
+ in core.css beside the platform button heights they're derived from. */
57
+ --Sm-Button-Highlight-Offset-x: 0px;
58
+ --Sm-Button-Highlight-Offset-y: 0px;
59
+ --Sm-Button-Highlight-Blur-Radius: 0px;
60
+ --Sm-Button-Highlight-Spread: 0px;
61
+ --Sm-Button-Lowlight-Offset-x: 0px;
62
+ --Sm-Button-Lowlight-Offset-y: 0px;
63
+ --Sm-Button-Lowlight-Blur-Radius: 0px;
64
+ --Sm-Button-Lowlight-Spread: 0px;
65
+ --Lg-Button-Highlight-Offset-x: 0px;
66
+ --Lg-Button-Highlight-Offset-y: 0px;
67
+ --Lg-Button-Highlight-Blur-Radius: 0px;
68
+ --Lg-Button-Highlight-Spread: 0px;
69
+ --Lg-Button-Lowlight-Offset-x: 0px;
70
+ --Lg-Button-Lowlight-Offset-y: 0px;
71
+ --Lg-Button-Lowlight-Blur-Radius: 0px;
72
+ --Lg-Button-Lowlight-Spread: 0px;
14
73
  --Style-Border-Radius: var(--Button-Radius);
15
74
 
16
75
  /* Card */
17
- --Card-Radius: 8px;
18
- --Card-Focus-Radius: 11px;
19
-
20
- /* Input — used by TextField, Select, ListItem (when clickable),
21
- and any element whose chrome reads as a tappable input row.
22
- --Input-Inner-Focus-Visible is the corner radius for the inset
23
- focus ring; it's the input radius minus 1 so the inset 3px-thick
24
- focus indicator visually matches the chrome's outer corners. */
25
- --Input-Radius: 4px;
26
- --Input-Inner-Focus-Visible: calc(var(--Input-Radius) - 1px);
76
+ --Accordion-Radius: 2px;
77
+ --Card-Radius: 18px;
78
+ --Sm-Card-Radius: 14px;
79
+ --Lg-Card-Radius: 23px;
80
+ --Card-Inner-Radius: 17px;
81
+ --Sm-Card-Inner-Radius: 13px;
82
+ --Lg-Card-Inner-Radius: 22px;
83
+ --Card-Focus-Radius: 21px;
84
+ --List-Item-Radius: 2px;
85
+ --List-Item-Focus-Radius: 0px;
86
+ --List-Item-Padding: 12px;
87
+ --List-Item-Gap: 12px;
88
+ --Sm-List-Item-Padding: 8px;
89
+ --Lg-List-Item-Padding: 16px;
90
+ --Sm-List-Item-Gap: 8px;
91
+ --Lg-List-Item-Gap: 16px;
92
+ --Sm-List-Item-Radius: 2px;
93
+ --Lg-List-Item-Radius: 2px;
94
+ --Sm-List-Item-Focus-Radius: 0px;
95
+ --Lg-List-Item-Focus-Radius: 0px;
96
+ --List-Item-Image-Radius: 1px;
97
+ --List-Item-Default-Image-Width: 64px;
98
+ --Sm-List-Item-Default-Image-Width: 48px;
99
+ --Lg-List-Item-Default-Image-Width: 80px;
100
+ --Sm-Card-Focus-Radius: 17px;
101
+ --Lg-Card-Focus-Radius: 26px;
27
102
  --Card-Padding: 16px;
103
+ --Sm-Card-Padding: 12px;
104
+ --Lg-Card-Padding: 20px;
105
+
106
+ /* Modal */
107
+ --Modal-Padding: 24px;
108
+ --Modal-Radius: 18px;
109
+ --Dropdown-Frame-Radius: 2px;
110
+ --Menu-Item-Radius: 0px;
111
+ --Menu-Focus-Radius: 0px;
112
+ --Modal-Inner-Radius: 17px;
113
+ --Modal-Focus-Radius: 21px;
114
+
115
+ /* Input */
116
+ --Input-Radius: 2px;
117
+ --Sm-Input-Radius: 1px;
118
+ --Lg-Input-Radius: 3px;
119
+ --Input-Inner-Focus-Radius: 1px;
120
+ --Input-Focus-Radius: 5px;
121
+ --Input-Swatch-Radius: 2px;
122
+ --Sm-Input-Swatch-Radius: 1px;
123
+ --Lg-Input-Swatch-Radius: 3px;
124
+
125
+ /* Checkbox — per-size corner radius = 20% of the box (16/20/24px).
126
+ Border is 2px (set in the lib component). */
127
+ --Sm-Checkbox-Radius: 3.2px;
128
+ --Checkbox-Radius: 4px;
129
+ --Lg-Checkbox-Radius: 4.8px;
28
130
  --Style-Gradient-Color-1: var(--Buttons-Primary-Button);
29
131
  --Style-Gradient-Color-2: var(--Buttons-Primary-Button);
30
132
  --Style-Gradient-Angle: 0;
31
133
 
32
- /* Positive sizing scale. The whole-number sequence steps by 8px
33
- through 16 (covering common spacing + element-sizing needs), then
34
- jumps to 20 (=160px) and 30 (=240px) for layout-level sizes. The
35
- fractional tokens (Quarter, Half, 1-and-Half, 2-and-Half) plug the
36
- 2/4/12/20px gaps used by lab-spacing and inset-positioning rules. */
37
- --Sizing-Quarter: 2px;
38
- --Sizing-Half: 4px;
39
- --Sizing-1: 8px;
40
- --Sizing-1-and-Half: 12px;
41
- --Sizing-2: 16px;
42
- --Sizing-2-and-Half: 20px;
43
- --Sizing-3: 24px;
44
- --Sizing-4: 32px;
45
- --Sizing-5: 40px;
46
- --Sizing-6: 48px;
47
- --Sizing-7: 56px;
48
- --Sizing-8: 64px;
49
- --Sizing-9: 72px;
50
- --Sizing-10: 80px;
51
- --Sizing-11: 88px;
52
- --Sizing-12: 96px;
53
- --Sizing-13: 104px;
54
- --Sizing-14: 112px;
55
- --Sizing-15: 120px;
56
- --Sizing-16: 128px;
57
- --Sizing-20: 160px;
58
- --Sizing-30: 240px;
59
-
60
- /* Negative sizing scale. Used by overlap/inset/negative-margin rules
61
- (e.g. pulling a card edge into a stage's padding, hanging a label
62
- into a gutter). Sizing-Negative-Quarter (-2px) is kept for the
63
- hairline-overlap case even though it's not in the Figma variable
64
- set — removing it would break consumers; adding it to Figma later
65
- is a no-op. */
66
- --Sizing-Negative-Quarter: -2px;
67
- --Sizing-Negative-Half: -4px;
68
- --Sizing-Negative-1: -8px;
69
- --Sizing-Negative-1-and-Half:-12px;
70
- --Sizing-Negative-2: -16px;
134
+ --Sizing-Quarter: 2px;
135
+ --Sizing-Half: 4px;
136
+ --Sizing-1: 8px;
137
+ --Sizing-1-and-Half: 12px;
138
+ --Sizing-2: 16px;
139
+ --Sizing-2-and-Half: 20px;
140
+ --Sizing-3: 24px;
141
+ --Sizing-4: 32px;
142
+ --Sizing-5: 40px;
143
+ --Sizing-6: 48px;
144
+ --Sizing-7: 56px;
145
+ --Sizing-8: 64px;
146
+ --Sizing-9: 72px;
147
+ --Sizing-10: 80px;
148
+ --Sizing-11: 88px;
149
+ --Sizing-12: 96px;
150
+ --Sizing-13: 104px;
151
+ --Sizing-14: 112px;
152
+ --Sizing-15: 120px;
153
+ --Sizing-16: 128px;
154
+ --Sizing-20: 160px;
155
+ --Sizing-30: 240px;
156
+ --Sizing-Negative-Quarter: -2px;
157
+ --Sizing-Negative-Half: -4px;
158
+ --Sizing-Negative-1: -8px;
159
+ --Sizing-Negative-1-and-Half: -12px;
71
160
  --Min-Stack-Gap: 0px;
72
161
  }
@@ -1,6 +1,6 @@
1
- /* ============================================================================
2
- * styles.css — STATIC: lib-owned, do not regenerate per design system.
3
- * Final overrides slot (loads last). Currently empty — add hand-edited
4
- * overrides here, NOT in any of the regenerated files.
5
- * ============================================================================ */
1
+ @import url('https://fonts.googleapis.com/css2?family=Google+Sans+Flex:GRAD,ROND,opsz,slnt,wdth,wght@0..100,0..100,6..144,-10..0,25..151,1..1000&display=swap');
2
+ @import url('https://fonts.googleapis.com/css2?family=Raleway:wght@400&display=swap');
3
+ @import url('https://fonts.googleapis.com/css2?family=Google+Sans+Flex:wght@640&display=swap');
4
+ @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap');
5
+
6
6
  /* Overrides */
@@ -8,5 +8,5 @@
8
8
  "defaultTheme": "Default",
9
9
  "defaultStyle": "Modern",
10
10
  "defaultSurface": "Surface",
11
- "darkTheme": "Neutral-Dark"
12
- }
11
+ "darkTheme": "Neutral"
12
+ }