@omni-design/components 0.7.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 (223) hide show
  1. package/.claude/commands/ScanComponents.md +26 -0
  2. package/.claude/commands/ShareComponent.md +128 -0
  3. package/.cursorrules +21 -0
  4. package/CLAUDE.md +1046 -0
  5. package/README.md +70 -0
  6. package/dist/OmniDesignProvider.esm.js +2 -0
  7. package/dist/OmniDesignProvider.esm.js.map +1 -0
  8. package/dist/OmniDesignProvider.js +2 -0
  9. package/dist/OmniDesignProvider.js.map +1 -0
  10. package/dist/index.esm.js +42 -0
  11. package/dist/index.esm.js.map +1 -0
  12. package/dist/index.js +42 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/types/OmniDesignProvider.d.ts +158 -0
  15. package/dist/types/components/Accordion/Accordion.d.ts +42 -0
  16. package/dist/types/components/Accordion/AccordionShowcase.d.ts +2 -0
  17. package/dist/types/components/Accordion/index.d.ts +2 -0
  18. package/dist/types/components/Alert/Alert.d.ts +14 -0
  19. package/dist/types/components/Alert/AlertShowcase.d.ts +2 -0
  20. package/dist/types/components/Alert/index.d.ts +2 -0
  21. package/dist/types/components/AppBar/AppBar.d.ts +43 -0
  22. package/dist/types/components/AppBar/AppBarShowcase.d.ts +2 -0
  23. package/dist/types/components/AppBar/index.d.ts +2 -0
  24. package/dist/types/components/Autocomplete/Autocomplete.d.ts +26 -0
  25. package/dist/types/components/Autocomplete/AutocompleteShowcase.d.ts +2 -0
  26. package/dist/types/components/Autocomplete/index.d.ts +2 -0
  27. package/dist/types/components/Avatar/Avatar.d.ts +29 -0
  28. package/dist/types/components/Avatar/AvatarShowcase.d.ts +2 -0
  29. package/dist/types/components/Avatar/defaultAvatar.d.ts +2 -0
  30. package/dist/types/components/Avatar/index.d.ts +3 -0
  31. package/dist/types/components/BackgroundPicker.d.ts +12 -0
  32. package/dist/types/components/Badge/Badge.d.ts +43 -0
  33. package/dist/types/components/Badge/BadgeShowcase.d.ts +1 -0
  34. package/dist/types/components/Badge/index.d.ts +2 -0
  35. package/dist/types/components/BevelText/BevelText.d.ts +15 -0
  36. package/dist/types/components/BevelText/BevelTextShowcase.d.ts +2 -0
  37. package/dist/types/components/BevelText/index.d.ts +2 -0
  38. package/dist/types/components/BottomNavigation/BottomNavigation.d.ts +15 -0
  39. package/dist/types/components/BottomNavigation/BottomNavigationShowcase.d.ts +2 -0
  40. package/dist/types/components/BottomNavigation/index.d.ts +2 -0
  41. package/dist/types/components/Box/Box.d.ts +36 -0
  42. package/dist/types/components/Box/BoxShowcase.d.ts +2 -0
  43. package/dist/types/components/Box/index.d.ts +2 -0
  44. package/dist/types/components/Breadcrumbs/Breadcrumbs.d.ts +22 -0
  45. package/dist/types/components/Breadcrumbs/BreadcrumbsShowcase.d.ts +2 -0
  46. package/dist/types/components/Breadcrumbs/index.d.ts +2 -0
  47. package/dist/types/components/Button/Button.d.ts +66 -0
  48. package/dist/types/components/Button/index.d.ts +2 -0
  49. package/dist/types/components/ButtonGroup/ButtonGroup.d.ts +41 -0
  50. package/dist/types/components/ButtonGroup/index.d.ts +2 -0
  51. package/dist/types/components/Card/Card.d.ts +54 -0
  52. package/dist/types/components/Card/CardShowcase.d.ts +2 -0
  53. package/dist/types/components/Card/index.d.ts +2 -0
  54. package/dist/types/components/Checkbox/Checkbox.d.ts +51 -0
  55. package/dist/types/components/Checkbox/index.d.ts +2 -0
  56. package/dist/types/components/Chip/Chip.d.ts +42 -0
  57. package/dist/types/components/Chip/ChipShowcase.d.ts +2 -0
  58. package/dist/types/components/Chip/index.d.ts +2 -0
  59. package/dist/types/components/CircularProgress/CircularProgress.d.ts +12 -0
  60. package/dist/types/components/CircularProgress/CircularProgressShowcase.d.ts +2 -0
  61. package/dist/types/components/CircularProgress/index.d.ts +2 -0
  62. package/dist/types/components/CodeBlock/CodeBlock.d.ts +35 -0
  63. package/dist/types/components/Colors/Colors.d.ts +7 -0
  64. package/dist/types/components/Colors/index.d.ts +1 -0
  65. package/dist/types/components/Container/Container.d.ts +70 -0
  66. package/dist/types/components/Container/index.d.ts +1 -0
  67. package/dist/types/components/Copyright/Copyright.d.ts +11 -0
  68. package/dist/types/components/Copyright/CopyrightShowcase.d.ts +2 -0
  69. package/dist/types/components/Copyright/index.d.ts +2 -0
  70. package/dist/types/components/CurvedText/CurvedText.d.ts +23 -0
  71. package/dist/types/components/CurvedText/CurvedTextShowcase.d.ts +2 -0
  72. package/dist/types/components/CurvedText/index.d.ts +2 -0
  73. package/dist/types/components/Dialog/Dialog.d.ts +82 -0
  74. package/dist/types/components/Dialog/DialogShowcase.d.ts +2 -0
  75. package/dist/types/components/Dialog/index.d.ts +2 -0
  76. package/dist/types/components/Divider/Divider.d.ts +22 -0
  77. package/dist/types/components/Divider/DividerShowcase.d.ts +2 -0
  78. package/dist/types/components/Divider/index.d.ts +2 -0
  79. package/dist/types/components/Drawer/Drawer.d.ts +30 -0
  80. package/dist/types/components/Drawer/DrawerShowcase.d.ts +2 -0
  81. package/dist/types/components/Drawer/index.d.ts +2 -0
  82. package/dist/types/components/DropZone/DropZone.d.ts +15 -0
  83. package/dist/types/components/DropZone/index.d.ts +2 -0
  84. package/dist/types/components/Fab/Fab.d.ts +17 -0
  85. package/dist/types/components/Fab/FabShowcase.d.ts +2 -0
  86. package/dist/types/components/Fab/index.d.ts +2 -0
  87. package/dist/types/components/Footer/Footer.d.ts +14 -0
  88. package/dist/types/components/Footer/FooterShowcase.d.ts +2 -0
  89. package/dist/types/components/Footer/index.d.ts +2 -0
  90. package/dist/types/components/Gradient/Gradient.d.ts +38 -0
  91. package/dist/types/components/Gradient/GradientShowcase.d.ts +2 -0
  92. package/dist/types/components/Gradient/gradientUtils.d.ts +185 -0
  93. package/dist/types/components/Gradient/index.d.ts +3 -0
  94. package/dist/types/components/Grid/Grid.d.ts +112 -0
  95. package/dist/types/components/Grid/index.d.ts +1 -0
  96. package/dist/types/components/Header/Header.d.ts +53 -0
  97. package/dist/types/components/Header/index.d.ts +1 -0
  98. package/dist/types/components/Icon/Icon.d.ts +19 -0
  99. package/dist/types/components/Icon/IconShowcase.d.ts +2 -0
  100. package/dist/types/components/Icon/index.d.ts +2 -0
  101. package/dist/types/components/IconBadge/IconBadge.d.ts +10 -0
  102. package/dist/types/components/IconBadge/IconBadgeShowcase.d.ts +2 -0
  103. package/dist/types/components/IconBadge/index.d.ts +2 -0
  104. package/dist/types/components/Input/Input.d.ts +47 -0
  105. package/dist/types/components/Input/index.d.ts +2 -0
  106. package/dist/types/components/LinearProgress/LinearProgress.d.ts +9 -0
  107. package/dist/types/components/LinearProgress/LinearProgressShowcase.d.ts +2 -0
  108. package/dist/types/components/LinearProgress/index.d.ts +2 -0
  109. package/dist/types/components/Link/Link.d.ts +16 -0
  110. package/dist/types/components/Link/LinkShowcase.d.ts +2 -0
  111. package/dist/types/components/Link/index.d.ts +2 -0
  112. package/dist/types/components/List/List.d.ts +55 -0
  113. package/dist/types/components/List/ListShowcase.d.ts +2 -0
  114. package/dist/types/components/List/index.d.ts +2 -0
  115. package/dist/types/components/MainLayout/MainLayout.d.ts +28 -0
  116. package/dist/types/components/MainLayout/index.d.ts +1 -0
  117. package/dist/types/components/Menu/Menu.d.ts +37 -0
  118. package/dist/types/components/Menu/MenuShowcase.d.ts +2 -0
  119. package/dist/types/components/Menu/index.d.ts +2 -0
  120. package/dist/types/components/Modal/Modal.d.ts +18 -0
  121. package/dist/types/components/Modal/ModalShowcase.d.ts +2 -0
  122. package/dist/types/components/Modal/index.d.ts +2 -0
  123. package/dist/types/components/NumberField/NumberField.d.ts +22 -0
  124. package/dist/types/components/NumberField/NumberFieldShowcase.d.ts +2 -0
  125. package/dist/types/components/NumberField/index.d.ts +2 -0
  126. package/dist/types/components/Pagination/Pagination.d.ts +17 -0
  127. package/dist/types/components/Pagination/PaginationShowcase.d.ts +2 -0
  128. package/dist/types/components/Pagination/index.d.ts +2 -0
  129. package/dist/types/components/Paper/Paper.d.ts +111 -0
  130. package/dist/types/components/Paper/index.d.ts +1 -0
  131. package/dist/types/components/Popover/Popover.d.ts +31 -0
  132. package/dist/types/components/Popover/index.d.ts +1 -0
  133. package/dist/types/components/PreviewSurface.d.ts +18 -0
  134. package/dist/types/components/Radio/Radio.d.ts +55 -0
  135. package/dist/types/components/Radio/RadioShowcase.d.ts +2 -0
  136. package/dist/types/components/Radio/index.d.ts +2 -0
  137. package/dist/types/components/Rail/Rail.d.ts +15 -0
  138. package/dist/types/components/Rail/RailShowcase.d.ts +2 -0
  139. package/dist/types/components/Rail/index.d.ts +2 -0
  140. package/dist/types/components/Rating/Rating.d.ts +16 -0
  141. package/dist/types/components/Rating/RatingShowcase.d.ts +2 -0
  142. package/dist/types/components/Rating/index.d.ts +2 -0
  143. package/dist/types/components/Ratio/Ratio.d.ts +20 -0
  144. package/dist/types/components/Ratio/RatioShowcase.d.ts +2 -0
  145. package/dist/types/components/Ratio/index.d.ts +2 -0
  146. package/dist/types/components/SearchField/SearchField.d.ts +19 -0
  147. package/dist/types/components/SearchField/SearchFieldShowcase.d.ts +2 -0
  148. package/dist/types/components/SearchField/index.d.ts +2 -0
  149. package/dist/types/components/Section/Section.d.ts +44 -0
  150. package/dist/types/components/Section/SectionShowcase.d.ts +2 -0
  151. package/dist/types/components/Section/index.d.ts +2 -0
  152. package/dist/types/components/Select/Select.d.ts +23 -0
  153. package/dist/types/components/Select/SelectShowcase.d.ts +2 -0
  154. package/dist/types/components/Select/index.d.ts +2 -0
  155. package/dist/types/components/SettingsPanel.d.ts +2 -0
  156. package/dist/types/components/Sidebar/Sidebar.d.ts +53 -0
  157. package/dist/types/components/Sidebar/index.d.ts +1 -0
  158. package/dist/types/components/Slider/Slider.d.ts +79 -0
  159. package/dist/types/components/Slider/SliderShowcase.d.ts +2 -0
  160. package/dist/types/components/Slider/index.d.ts +2 -0
  161. package/dist/types/components/Snackbar/Snackbar.d.ts +17 -0
  162. package/dist/types/components/Snackbar/SnackbarShowcase.d.ts +2 -0
  163. package/dist/types/components/Snackbar/index.d.ts +2 -0
  164. package/dist/types/components/Spacing/Spacing.d.ts +16 -0
  165. package/dist/types/components/Spacing/index.d.ts +1 -0
  166. package/dist/types/components/SpeedDial/SpeedDial.d.ts +17 -0
  167. package/dist/types/components/SpeedDial/SpeedDialShowcase.d.ts +2 -0
  168. package/dist/types/components/SpeedDial/index.d.ts +2 -0
  169. package/dist/types/components/Stack/Stack.d.ts +52 -0
  170. package/dist/types/components/Stack/StackShowcase.d.ts +2 -0
  171. package/dist/types/components/Stack/index.d.ts +2 -0
  172. package/dist/types/components/Stepper/Stepper.d.ts +33 -0
  173. package/dist/types/components/Stepper/StepperShowcase.d.ts +2 -0
  174. package/dist/types/components/Stepper/index.d.ts +2 -0
  175. package/dist/types/components/Switch/Switch.d.ts +65 -0
  176. package/dist/types/components/Switch/SwitchShowcase.d.ts +2 -0
  177. package/dist/types/components/Switch/index.d.ts +2 -0
  178. package/dist/types/components/Table/Table.d.ts +20 -0
  179. package/dist/types/components/Table/TableShowcase.d.ts +2 -0
  180. package/dist/types/components/Table/index.d.ts +2 -0
  181. package/dist/types/components/Tabs/Tabs.d.ts +51 -0
  182. package/dist/types/components/Tabs/TabsShowcase.d.ts +2 -0
  183. package/dist/types/components/Tabs/index.d.ts +2 -0
  184. package/dist/types/components/Tag/Tag.d.ts +57 -0
  185. package/dist/types/components/Tag/TagShowcase.d.ts +2 -0
  186. package/dist/types/components/Tag/index.d.ts +2 -0
  187. package/dist/types/components/TextField/TextField.d.ts +105 -0
  188. package/dist/types/components/TextField/index.d.ts +1 -0
  189. package/dist/types/components/ToggleButton/ToggleButton.d.ts +94 -0
  190. package/dist/types/components/ToggleButton/index.d.ts +1 -0
  191. package/dist/types/components/ToggleButtonGroup/ToggleButtonGroup.d.ts +48 -0
  192. package/dist/types/components/Toolbar/Toolbar.d.ts +14 -0
  193. package/dist/types/components/Toolbar/ToolbarShowcase.d.ts +2 -0
  194. package/dist/types/components/Toolbar/index.d.ts +2 -0
  195. package/dist/types/components/Tooltip/Tooltip.d.ts +20 -0
  196. package/dist/types/components/Tooltip/TooltipShowcase.d.ts +2 -0
  197. package/dist/types/components/Tooltip/index.d.ts +2 -0
  198. package/dist/types/components/TreeView/TreeBranch.d.ts +14 -0
  199. package/dist/types/components/TreeView/TreeView.d.ts +82 -0
  200. package/dist/types/components/TreeView/TreeViewShowcase.d.ts +2 -0
  201. package/dist/types/components/TreeView/index.d.ts +3 -0
  202. package/dist/types/components/Typography/Typography.d.ts +492 -0
  203. package/dist/types/components/Typography/TypographyShowcase.d.ts +2 -0
  204. package/dist/types/components/Typography/index.d.ts +2 -0
  205. package/dist/types/components/_a11y/ContrastCheck.d.ts +15 -0
  206. package/dist/types/components/_bevelPresets.d.ts +92 -0
  207. package/dist/types/components/_shadows.d.ts +32 -0
  208. package/dist/types/components/index.d.ts +74 -0
  209. package/dist/types/theme/useThemeMode.d.ts +4 -0
  210. package/docs/components.md +797 -0
  211. package/docs/getting-started.md +409 -0
  212. package/docs/token-system.md +468 -0
  213. package/package.json +126 -0
  214. package/public/styles/Dark-Mode.css +13867 -0
  215. package/public/styles/Light-Mode.css +14091 -0
  216. package/public/styles/README.md +93 -0
  217. package/public/styles/base.css +261 -0
  218. package/public/styles/core.css +378 -0
  219. package/public/styles/foundation.css +72 -0
  220. package/public/styles/styles.css +6 -0
  221. package/public/styles/theme.js +234 -0
  222. package/public/styles/theme.json +12 -0
  223. package/public/styles/typography-tokens.css +720 -0
@@ -0,0 +1,26 @@
1
+ ---
2
+ description: Scan the codebase for tagged lib-component gaps (MISSING-LIB-COMPONENT)
3
+ ---
4
+
5
+ Run `grep -rn "MISSING-LIB-COMPONENT" src/` from the repo root and report what
6
+ turns up.
7
+
8
+ How to format the answer:
9
+
10
+ - **If the output is empty**: reply with a single line, e.g. "No outstanding
11
+ lib-component gaps." Don't pad with anything else.
12
+ - **If there are matches**: group by file. For each match, show:
13
+ - `<file>:<line>` reference
14
+ - The full `MISSING-LIB-COMPONENT` comment block (typically the tag line
15
+ plus the next 2–3 comment lines beneath it — `Needed for`, `Proposed API`,
16
+ `Lib-track`)
17
+ - One blank line between entries
18
+ - **If there are more than 15 matches total**: switch to a compact summary —
19
+ one line per file showing `<file>: N gaps` and a list of component names
20
+ found (parse the `<ComponentName>` from each tag).
21
+
22
+ After the listing, end with a single short sentence suggesting the next step:
23
+ either "Lib looks complete." (when empty) or "Consider lifting these into
24
+ `@dynodesign/components`." (when there are matches).
25
+
26
+ Do not edit files. Do not look for related issues. Just grep and report.
@@ -0,0 +1,128 @@
1
+ ---
2
+ description: Share a MISSING-LIB-COMPONENT with the DynoDesign admin dashboard for review
3
+ ---
4
+
5
+ The user wants to share an inline component (tagged `MISSING-LIB-COMPONENT`)
6
+ with the DynoDesign maintainers. Submissions are posted to a cloud function
7
+ and reviewed in the admin dashboard at /admin/proposals.
8
+
9
+ **Endpoint:**
10
+ `https://us-central1-dino-design.cloudfunctions.net/submitComponentProposal`
11
+
12
+ Workflow:
13
+
14
+ 1. **Find candidates.** Run `grep -rn "MISSING-LIB-COMPONENT" src/`.
15
+
16
+ 2. **Pick what to share.**
17
+ - If the user passed a component name as the slash command argument (e.g.
18
+ `/ShareComponent Popover`), use only the matching tags.
19
+ - Otherwise, if exactly one tag exists, use it.
20
+ - Multiple tags + no argument: list them and ask which one. Don't bundle
21
+ unless asked.
22
+
23
+ 3. **Extract context.** Open the file at the tagged line and read:
24
+ - The tag block (the `MISSING-LIB-COMPONENT` line and the next 3–4
25
+ comment lines: `Needed for`, `Proposed API`, `Lib-track`).
26
+ - The inline implementation that follows the tag, with surrounding code
27
+ needed to make it self-contained (imports, tightly-coupled helpers).
28
+
29
+ 4. **Read installed lib version.** From the consumer project's `package.json`,
30
+ look up `dependencies["@dynodesign/components"]` (or `devDependencies`).
31
+
32
+ 5. **Show a preview.** Print a summary to the user:
33
+
34
+ ```
35
+ Ready to submit:
36
+
37
+ Component: <ComponentName>
38
+ Use case: <one-line summary>
39
+ Source: <file path>:<line>
40
+ Version: <lib version>
41
+
42
+ This will POST to the DynoDesign admin dashboard. The submission is
43
+ anonymous (no auth required) but the endpoint logs your IP for
44
+ rate-limiting purposes (10 submissions / 24h per IP).
45
+
46
+ Confirm submission? (yes / no)
47
+ ```
48
+
49
+ Wait for the user to confirm. Don't submit until they say yes.
50
+
51
+ 6. **Submit.** On confirm, run a curl POST (or use the Bash tool to run it).
52
+ The payload shape:
53
+
54
+ ```json
55
+ {
56
+ "componentName": "<PascalCase or kebab-case identifier>",
57
+ "useCase": "<paraphrased from 'Needed for' + any extra context>",
58
+ "proposedApi": "<the props sketch / TypeScript interface>",
59
+ "implementation": "<the inline code, including imports>",
60
+ "sourceFilePath": "<file path:line>",
61
+ "libVersion": "<from package.json>",
62
+ "submittedBy": "<git user.email if available, else omit>",
63
+ "notes": "<edge cases / a11y notes / hesitations>"
64
+ }
65
+ ```
66
+
67
+ Use a heredoc to keep the JSON readable in the command:
68
+
69
+ ```bash
70
+ curl -sS -X POST \
71
+ 'https://us-central1-dino-design.cloudfunctions.net/submitComponentProposal' \
72
+ -H 'Content-Type: application/json' \
73
+ -d @- <<'EOF'
74
+ {
75
+ "componentName": "...",
76
+ ...
77
+ }
78
+ EOF
79
+ ```
80
+
81
+ 7. **Report the result.**
82
+ - **201**: `Submitted as proposal <proposalId>. The DynoDesign team will review
83
+ and reply via the admin dashboard. <remainingToday> submissions remaining
84
+ today from this IP.`
85
+ - **400**: relay the validation errors from the response body and offer to
86
+ fix and retry.
87
+ - **429**: `Rate limit reached. Try again in <retryAfterSeconds> seconds.`
88
+ - **5xx or network error**: fall back to printing the submission as a
89
+ markdown block (the original behavior — see fallback format below) so
90
+ the user can paste it manually. End with: `Submission via API failed;
91
+ copy the block above and send it to lib@dynodesign.dev or paste it into
92
+ the admin dashboard manually.`
93
+
94
+ 8. **Don't modify source files.** The inline `MISSING-LIB-COMPONENT` tag and
95
+ implementation stay in place. Once the admin marks the proposal as `inLib`
96
+ in a future lib release, a separate cleanup pass replaces the inline copy.
97
+
98
+ ### Fallback markdown format (only used when API call fails)
99
+
100
+ ````markdown
101
+ # DynoDesign component proposal: <ComponentName>
102
+
103
+ ## Use case
104
+ <paraphrased>
105
+
106
+ ## Proposed API
107
+ ```tsx
108
+ <sketch>
109
+ ```
110
+
111
+ ## Inline implementation
112
+ ```tsx
113
+ <code>
114
+ ```
115
+
116
+ ## Source
117
+ - File: <path:line>
118
+ - Lib version: <version>
119
+
120
+ ## Notes
121
+ <notes>
122
+ ````
123
+
124
+ ### Empty case
125
+
126
+ If `grep` finds zero tags, reply with one line:
127
+ "No `MISSING-LIB-COMPONENT` tags to share. Run `/ScanComponents` to confirm,
128
+ or add a tag in your code following the format in `CLAUDE.md`."
package/.cursorrules ADDED
@@ -0,0 +1,21 @@
1
+ This project uses the @omni-design/components design system.
2
+
3
+ Read these docs before writing any code:
4
+ - node_modules/@omni-design/components/docs/getting-started.md
5
+ - node_modules/@omni-design/components/docs/token-system.md
6
+ - node_modules/@omni-design/components/docs/components.md
7
+
8
+ ALWAYS import components from '@omni-design/components'
9
+ ALWAYS import CSS at the top of App.js:
10
+ import '@omni-design/components/public/styles/foundation.css'
11
+ import '@omni-design/components/public/styles/core.css'
12
+ import '@omni-design/components/public/styles/Light-Mode.css'
13
+ import '@omni-design/components/public/styles/base.css'
14
+
15
+ ALWAYS wrap content in a div with data-theme, data-surface, and data-style attributes.
16
+
17
+ Available themes: Default, Primary, Primary-Light, Primary-Dark, Secondary, Tertiary, Neutral, Success-Light, Warning-Light, Error-Light, Info-Light
18
+ Available surfaces: Surface, Surface-Dim, Container, Container-Low, Container-Lowest, Container-High
19
+ Available styles: Professional, Modern, Bold, Playful
20
+ Available colors: primary, secondary, tertiary, neutral, info, success, warning, error
21
+ Available components: Button, ButtonGroup, Chip, Input, TextField, Card, Tabs, Stack, Checkbox