@starci/grammar 0.4.12 → 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.
Files changed (361) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +269 -47
  3. package/dist/.build-stamp.json +9 -0
  4. package/dist/common/components-forms.css +435 -0
  5. package/dist/common/components-navigation.css +1163 -0
  6. package/dist/common/components-overlays.css +939 -0
  7. package/dist/common/registry.d.ts +60 -1
  8. package/dist/common/registry.d.ts.map +1 -1
  9. package/dist/common/registry.js +6 -0
  10. package/dist/common/registry.js.map +1 -1
  11. package/dist/common/renderers-forms.d.ts +44 -0
  12. package/dist/common/renderers-forms.d.ts.map +1 -0
  13. package/dist/common/renderers-forms.js +49 -0
  14. package/dist/common/renderers-forms.js.map +1 -0
  15. package/dist/common/renderers-navigation.d.ts +42 -0
  16. package/dist/common/renderers-navigation.d.ts.map +1 -0
  17. package/dist/common/renderers-navigation.js +46 -0
  18. package/dist/common/renderers-navigation.js.map +1 -0
  19. package/dist/common/renderers-overlays.d.ts +32 -0
  20. package/dist/common/renderers-overlays.d.ts.map +1 -0
  21. package/dist/common/renderers-overlays.js +36 -0
  22. package/dist/common/renderers-overlays.js.map +1 -0
  23. package/dist/common/renderers.d.ts +5 -2
  24. package/dist/common/renderers.d.ts.map +1 -1
  25. package/dist/common/renderers.js +3 -0
  26. package/dist/common/renderers.js.map +1 -1
  27. package/dist/common/styles.css +282 -1
  28. package/dist/core/LeadingNumber.d.ts.map +1 -1
  29. package/dist/core/LeadingNumber.js +1 -1
  30. package/dist/core/LeadingNumber.js.map +1 -1
  31. package/dist/core/OtpInput.d.ts +17 -1
  32. package/dist/core/OtpInput.d.ts.map +1 -1
  33. package/dist/core/OtpInput.js +17 -5
  34. package/dist/core/OtpInput.js.map +1 -1
  35. package/dist/core/StateMark.d.ts +6 -1
  36. package/dist/core/StateMark.d.ts.map +1 -1
  37. package/dist/core/StateMark.js +7 -2
  38. package/dist/core/StateMark.js.map +1 -1
  39. package/dist/core/branch/Accordion/index.d.ts +28 -0
  40. package/dist/core/branch/Accordion/index.d.ts.map +1 -0
  41. package/dist/core/branch/Accordion/index.js +30 -0
  42. package/dist/core/branch/Accordion/index.js.map +1 -0
  43. package/dist/core/branch/AlertDialog/index.d.ts +40 -0
  44. package/dist/core/branch/AlertDialog/index.d.ts.map +1 -0
  45. package/dist/core/branch/AlertDialog/index.js +59 -0
  46. package/dist/core/branch/AlertDialog/index.js.map +1 -0
  47. package/dist/core/branch/Calendar/index.d.ts +26 -0
  48. package/dist/core/branch/Calendar/index.d.ts.map +1 -0
  49. package/dist/core/branch/Calendar/index.js +17 -0
  50. package/dist/core/branch/Calendar/index.js.map +1 -0
  51. package/dist/core/branch/ComboBox/index.d.ts +32 -0
  52. package/dist/core/branch/ComboBox/index.d.ts.map +1 -0
  53. package/dist/core/branch/ComboBox/index.js +28 -0
  54. package/dist/core/branch/ComboBox/index.js.map +1 -0
  55. package/dist/core/branch/DataTable/index.d.ts +52 -0
  56. package/dist/core/branch/DataTable/index.d.ts.map +1 -0
  57. package/dist/core/branch/DataTable/index.js +46 -0
  58. package/dist/core/branch/DataTable/index.js.map +1 -0
  59. package/dist/core/branch/DatePicker/index.d.ts +23 -0
  60. package/dist/core/branch/DatePicker/index.d.ts.map +1 -0
  61. package/dist/core/branch/DatePicker/index.js +29 -0
  62. package/dist/core/branch/DatePicker/index.js.map +1 -0
  63. package/dist/core/branch/DateRangePicker/index.d.ts +21 -0
  64. package/dist/core/branch/DateRangePicker/index.d.ts.map +1 -0
  65. package/dist/core/branch/DateRangePicker/index.js +22 -0
  66. package/dist/core/branch/DateRangePicker/index.js.map +1 -0
  67. package/dist/core/branch/Dialog/index.d.ts +36 -0
  68. package/dist/core/branch/Dialog/index.d.ts.map +1 -0
  69. package/dist/core/branch/Dialog/index.js +20 -0
  70. package/dist/core/branch/Dialog/index.js.map +1 -0
  71. package/dist/core/branch/Disclosure/index.d.ts +22 -0
  72. package/dist/core/branch/Disclosure/index.d.ts.map +1 -0
  73. package/dist/core/branch/Disclosure/index.js +26 -0
  74. package/dist/core/branch/Disclosure/index.js.map +1 -0
  75. package/dist/core/branch/Drawer/index.d.ts +35 -0
  76. package/dist/core/branch/Drawer/index.d.ts.map +1 -0
  77. package/dist/core/branch/Drawer/index.js +20 -0
  78. package/dist/core/branch/Drawer/index.js.map +1 -0
  79. package/dist/core/branch/DropdownMenu/index.d.ts +61 -0
  80. package/dist/core/branch/DropdownMenu/index.d.ts.map +1 -0
  81. package/dist/core/branch/DropdownMenu/index.js +59 -0
  82. package/dist/core/branch/DropdownMenu/index.js.map +1 -0
  83. package/dist/core/branch/ListBox/index.d.ts +30 -0
  84. package/dist/core/branch/ListBox/index.d.ts.map +1 -0
  85. package/dist/core/branch/ListBox/index.js +14 -0
  86. package/dist/core/branch/ListBox/index.js.map +1 -0
  87. package/dist/core/branch/MarkdownArticle/index.d.ts +8 -0
  88. package/dist/core/branch/MarkdownArticle/index.d.ts.map +1 -1
  89. package/dist/core/branch/MarkdownArticle/index.js +7 -2
  90. package/dist/core/branch/MarkdownArticle/index.js.map +1 -1
  91. package/dist/core/branch/Popover/index.d.ts +33 -0
  92. package/dist/core/branch/Popover/index.d.ts.map +1 -0
  93. package/dist/core/branch/Popover/index.js +16 -0
  94. package/dist/core/branch/Popover/index.js.map +1 -0
  95. package/dist/core/branch/Rail/index.d.ts +2 -0
  96. package/dist/core/branch/Rail/index.d.ts.map +1 -1
  97. package/dist/core/branch/Rail/index.js +10 -3
  98. package/dist/core/branch/Rail/index.js.map +1 -1
  99. package/dist/core/branch/Select/index.d.ts +31 -0
  100. package/dist/core/branch/Select/index.d.ts.map +1 -0
  101. package/dist/core/branch/Select/index.js +41 -0
  102. package/dist/core/branch/Select/index.js.map +1 -0
  103. package/dist/core/branch/SurfaceAccordionCard/index.d.ts +6 -0
  104. package/dist/core/branch/SurfaceAccordionCard/index.d.ts.map +1 -1
  105. package/dist/core/branch/SurfaceAccordionCard/index.js +6 -6
  106. package/dist/core/branch/SurfaceAccordionCard/index.js.map +1 -1
  107. package/dist/core/branch/SurfaceCard/classNames.d.ts +7 -2
  108. package/dist/core/branch/SurfaceCard/classNames.d.ts.map +1 -1
  109. package/dist/core/branch/SurfaceCard/classNames.js +7 -2
  110. package/dist/core/branch/SurfaceCard/classNames.js.map +1 -1
  111. package/dist/core/branch/SurfaceCard/index.d.ts +6 -0
  112. package/dist/core/branch/SurfaceCard/index.d.ts.map +1 -1
  113. package/dist/core/branch/SurfaceCard/index.js +4 -4
  114. package/dist/core/branch/SurfaceCard/index.js.map +1 -1
  115. package/dist/core/branch/SurfaceListCard/index.d.ts +17 -1
  116. package/dist/core/branch/SurfaceListCard/index.d.ts.map +1 -1
  117. package/dist/core/branch/SurfaceListCard/index.js +10 -4
  118. package/dist/core/branch/SurfaceListCard/index.js.map +1 -1
  119. package/dist/core/branch/Tabs/index.js +1 -1
  120. package/dist/core/branch/Tabs/index.js.map +1 -1
  121. package/dist/core/branch/Toast/index.d.ts +75 -0
  122. package/dist/core/branch/Toast/index.d.ts.map +1 -0
  123. package/dist/core/branch/Toast/index.js +145 -0
  124. package/dist/core/branch/Toast/index.js.map +1 -0
  125. package/dist/core/composite/Alert/index.d.ts +40 -0
  126. package/dist/core/composite/Alert/index.d.ts.map +1 -0
  127. package/dist/core/composite/Alert/index.js +27 -0
  128. package/dist/core/composite/Alert/index.js.map +1 -0
  129. package/dist/core/composite/AvatarGroup/index.d.ts +23 -0
  130. package/dist/core/composite/AvatarGroup/index.d.ts.map +1 -0
  131. package/dist/core/composite/AvatarGroup/index.js +15 -0
  132. package/dist/core/composite/AvatarGroup/index.js.map +1 -0
  133. package/dist/core/composite/Breadcrumbs/index.d.ts +27 -0
  134. package/dist/core/composite/Breadcrumbs/index.d.ts.map +1 -0
  135. package/dist/core/composite/Breadcrumbs/index.js +16 -0
  136. package/dist/core/composite/Breadcrumbs/index.js.map +1 -0
  137. package/dist/core/composite/ButtonGroup/index.d.ts +14 -0
  138. package/dist/core/composite/ButtonGroup/index.d.ts.map +1 -0
  139. package/dist/core/composite/ButtonGroup/index.js +17 -0
  140. package/dist/core/composite/ButtonGroup/index.js.map +1 -0
  141. package/dist/core/composite/CheckboxGroup/index.d.ts +23 -0
  142. package/dist/core/composite/CheckboxGroup/index.d.ts.map +1 -0
  143. package/dist/core/composite/CheckboxGroup/index.js +21 -0
  144. package/dist/core/composite/CheckboxGroup/index.js.map +1 -0
  145. package/dist/core/composite/DescriptionList/index.d.ts +23 -0
  146. package/dist/core/composite/DescriptionList/index.d.ts.map +1 -0
  147. package/dist/core/composite/DescriptionList/index.js +8 -0
  148. package/dist/core/composite/DescriptionList/index.js.map +1 -0
  149. package/dist/core/composite/Fieldset/index.d.ts +17 -0
  150. package/dist/core/composite/Fieldset/index.d.ts.map +1 -0
  151. package/dist/core/composite/Fieldset/index.js +14 -0
  152. package/dist/core/composite/Fieldset/index.js.map +1 -0
  153. package/dist/core/composite/Form/index.d.ts +32 -0
  154. package/dist/core/composite/Form/index.d.ts.map +1 -0
  155. package/dist/core/composite/Form/index.js +25 -0
  156. package/dist/core/composite/Form/index.js.map +1 -0
  157. package/dist/core/composite/HorizontalScrollRegion/index.d.ts +5 -0
  158. package/dist/core/composite/HorizontalScrollRegion/index.d.ts.map +1 -1
  159. package/dist/core/composite/HorizontalScrollRegion/index.js +3 -2
  160. package/dist/core/composite/HorizontalScrollRegion/index.js.map +1 -1
  161. package/dist/core/composite/Pagination/index.d.ts +31 -0
  162. package/dist/core/composite/Pagination/index.d.ts.map +1 -0
  163. package/dist/core/composite/Pagination/index.js +42 -0
  164. package/dist/core/composite/Pagination/index.js.map +1 -0
  165. package/dist/core/composite/RadioGroup/index.d.ts +15 -0
  166. package/dist/core/composite/RadioGroup/index.d.ts.map +1 -0
  167. package/dist/core/composite/RadioGroup/index.js +20 -0
  168. package/dist/core/composite/RadioGroup/index.js.map +1 -0
  169. package/dist/core/composite/SegmentedControl/index.d.ts +24 -0
  170. package/dist/core/composite/SegmentedControl/index.d.ts.map +1 -0
  171. package/dist/core/composite/SegmentedControl/index.js +33 -0
  172. package/dist/core/composite/SegmentedControl/index.js.map +1 -0
  173. package/dist/core/composite/StaticStateRow/index.d.ts +6 -1
  174. package/dist/core/composite/StaticStateRow/index.d.ts.map +1 -1
  175. package/dist/core/composite/StaticStateRow/index.js +6 -1
  176. package/dist/core/composite/StaticStateRow/index.js.map +1 -1
  177. package/dist/core/composite/Stepper/index.d.ts +34 -0
  178. package/dist/core/composite/Stepper/index.d.ts.map +1 -0
  179. package/dist/core/composite/Stepper/index.js +27 -0
  180. package/dist/core/composite/Stepper/index.js.map +1 -0
  181. package/dist/core/composite/TagGroup/index.d.ts +41 -0
  182. package/dist/core/composite/TagGroup/index.d.ts.map +1 -0
  183. package/dist/core/composite/TagGroup/index.js +17 -0
  184. package/dist/core/composite/TagGroup/index.js.map +1 -0
  185. package/dist/core/composite/Timeline/index.d.ts +28 -0
  186. package/dist/core/composite/Timeline/index.d.ts.map +1 -0
  187. package/dist/core/composite/Timeline/index.js +14 -0
  188. package/dist/core/composite/Timeline/index.js.map +1 -0
  189. package/dist/core/composite/VerticalScrollRegion/index.d.ts +31 -1
  190. package/dist/core/composite/VerticalScrollRegion/index.d.ts.map +1 -1
  191. package/dist/core/composite/VerticalScrollRegion/index.js +16 -3
  192. package/dist/core/composite/VerticalScrollRegion/index.js.map +1 -1
  193. package/dist/core/composition/BottomNav/index.d.ts +33 -0
  194. package/dist/core/composition/BottomNav/index.d.ts.map +1 -0
  195. package/dist/core/composition/BottomNav/index.js +22 -0
  196. package/dist/core/composition/BottomNav/index.js.map +1 -0
  197. package/dist/core/composition/Footer/index.d.ts +35 -0
  198. package/dist/core/composition/Footer/index.d.ts.map +1 -0
  199. package/dist/core/composition/Footer/index.js +19 -0
  200. package/dist/core/composition/Footer/index.js.map +1 -0
  201. package/dist/core/composition/NavigationFeatureNav/index.d.ts +3 -0
  202. package/dist/core/composition/NavigationFeatureNav/index.d.ts.map +1 -1
  203. package/dist/core/composition/NavigationFeatureNav/index.js +3 -0
  204. package/dist/core/composition/NavigationFeatureNav/index.js.map +1 -1
  205. package/dist/core/composition/TopBar/index.d.ts +34 -0
  206. package/dist/core/composition/TopBar/index.d.ts.map +1 -0
  207. package/dist/core/composition/TopBar/index.js +15 -0
  208. package/dist/core/composition/TopBar/index.js.map +1 -0
  209. package/dist/core/composition/WorkspaceShell/index.d.ts +18 -1
  210. package/dist/core/composition/WorkspaceShell/index.d.ts.map +1 -1
  211. package/dist/core/composition/WorkspaceShell/index.js +10 -1
  212. package/dist/core/composition/WorkspaceShell/index.js.map +1 -1
  213. package/dist/core/dna.d.ts +26 -8
  214. package/dist/core/dna.d.ts.map +1 -1
  215. package/dist/core/dna.js +22 -4
  216. package/dist/core/dna.js.map +1 -1
  217. package/dist/core/index.d.ts +60 -1
  218. package/dist/core/index.d.ts.map +1 -1
  219. package/dist/core/navigationClassNames.d.ts +3 -0
  220. package/dist/core/navigationClassNames.d.ts.map +1 -0
  221. package/dist/core/navigationClassNames.js +4 -0
  222. package/dist/core/navigationClassNames.js.map +1 -0
  223. package/dist/core/navigationKeys.d.ts +11 -0
  224. package/dist/core/navigationKeys.d.ts.map +1 -0
  225. package/dist/core/navigationKeys.js +44 -0
  226. package/dist/core/navigationKeys.js.map +1 -0
  227. package/dist/core/overlayScope.d.ts +42 -0
  228. package/dist/core/overlayScope.d.ts.map +1 -0
  229. package/dist/core/overlayScope.js +54 -0
  230. package/dist/core/overlayScope.js.map +1 -0
  231. package/dist/core/primitive/Avatar/index.d.ts +34 -0
  232. package/dist/core/primitive/Avatar/index.d.ts.map +1 -0
  233. package/dist/core/primitive/Avatar/index.js +24 -0
  234. package/dist/core/primitive/Avatar/index.js.map +1 -0
  235. package/dist/core/primitive/Badge/index.d.ts +6 -1
  236. package/dist/core/primitive/Badge/index.d.ts.map +1 -1
  237. package/dist/core/primitive/Badge/index.js +7 -2
  238. package/dist/core/primitive/Badge/index.js.map +1 -1
  239. package/dist/core/primitive/Checkbox/index.d.ts +25 -0
  240. package/dist/core/primitive/Checkbox/index.d.ts.map +1 -0
  241. package/dist/core/primitive/Checkbox/index.js +17 -0
  242. package/dist/core/primitive/Checkbox/index.js.map +1 -0
  243. package/dist/core/primitive/CloseButton/index.d.ts +17 -0
  244. package/dist/core/primitive/CloseButton/index.d.ts.map +1 -0
  245. package/dist/core/primitive/CloseButton/index.js +11 -0
  246. package/dist/core/primitive/CloseButton/index.js.map +1 -0
  247. package/dist/core/primitive/DateField/index.d.ts +33 -0
  248. package/dist/core/primitive/DateField/index.d.ts.map +1 -0
  249. package/dist/core/primitive/DateField/index.js +33 -0
  250. package/dist/core/primitive/DateField/index.js.map +1 -0
  251. package/dist/core/primitive/Field/index.d.ts +127 -0
  252. package/dist/core/primitive/Field/index.d.ts.map +1 -0
  253. package/dist/core/primitive/Field/index.js +100 -0
  254. package/dist/core/primitive/Field/index.js.map +1 -0
  255. package/dist/core/primitive/FileDropzone/index.d.ts +25 -0
  256. package/dist/core/primitive/FileDropzone/index.d.ts.map +1 -0
  257. package/dist/core/primitive/FileDropzone/index.js +35 -0
  258. package/dist/core/primitive/FileDropzone/index.js.map +1 -0
  259. package/dist/core/primitive/GrammarRoot/index.d.ts +6 -1
  260. package/dist/core/primitive/GrammarRoot/index.d.ts.map +1 -1
  261. package/dist/core/primitive/GrammarRoot/index.js +7 -2
  262. package/dist/core/primitive/GrammarRoot/index.js.map +1 -1
  263. package/dist/core/primitive/Icon/index.d.ts +7 -1
  264. package/dist/core/primitive/Icon/index.d.ts.map +1 -1
  265. package/dist/core/primitive/Icon/index.js +7 -2
  266. package/dist/core/primitive/Icon/index.js.map +1 -1
  267. package/dist/core/primitive/IconButton/index.d.ts +1 -1
  268. package/dist/core/primitive/IconButton/index.d.ts.map +1 -1
  269. package/dist/core/primitive/IconButton/index.js +2 -2
  270. package/dist/core/primitive/IconButton/index.js.map +1 -1
  271. package/dist/core/primitive/Image/index.d.ts +30 -0
  272. package/dist/core/primitive/Image/index.d.ts.map +1 -0
  273. package/dist/core/primitive/Image/index.js +29 -0
  274. package/dist/core/primitive/Image/index.js.map +1 -0
  275. package/dist/core/primitive/IncludedMark/index.d.ts +2 -1
  276. package/dist/core/primitive/IncludedMark/index.d.ts.map +1 -1
  277. package/dist/core/primitive/IncludedMark/index.js +3 -2
  278. package/dist/core/primitive/IncludedMark/index.js.map +1 -1
  279. package/dist/core/primitive/Kbd/index.d.ts +13 -0
  280. package/dist/core/primitive/Kbd/index.d.ts.map +1 -0
  281. package/dist/core/primitive/Kbd/index.js +14 -0
  282. package/dist/core/primitive/Kbd/index.js.map +1 -0
  283. package/dist/core/primitive/Label/index.d.ts +18 -4
  284. package/dist/core/primitive/Label/index.d.ts.map +1 -1
  285. package/dist/core/primitive/Label/index.js +4 -2
  286. package/dist/core/primitive/Label/index.js.map +1 -1
  287. package/dist/core/primitive/Link/index.d.ts +30 -0
  288. package/dist/core/primitive/Link/index.d.ts.map +1 -0
  289. package/dist/core/primitive/Link/index.js +17 -0
  290. package/dist/core/primitive/Link/index.js.map +1 -0
  291. package/dist/core/primitive/Meter/index.d.ts +16 -0
  292. package/dist/core/primitive/Meter/index.d.ts.map +1 -0
  293. package/dist/core/primitive/Meter/index.js +20 -0
  294. package/dist/core/primitive/Meter/index.js.map +1 -0
  295. package/dist/core/primitive/NumberField/index.d.ts +21 -0
  296. package/dist/core/primitive/NumberField/index.d.ts.map +1 -0
  297. package/dist/core/primitive/NumberField/index.js +15 -0
  298. package/dist/core/primitive/NumberField/index.js.map +1 -0
  299. package/dist/core/primitive/ProgressCircle/index.d.ts +13 -0
  300. package/dist/core/primitive/ProgressCircle/index.d.ts.map +1 -0
  301. package/dist/core/primitive/ProgressCircle/index.js +5 -0
  302. package/dist/core/primitive/ProgressCircle/index.js.map +1 -0
  303. package/dist/core/primitive/RankArtwork/index.d.ts +2 -1
  304. package/dist/core/primitive/RankArtwork/index.d.ts.map +1 -1
  305. package/dist/core/primitive/RankArtwork/index.js +3 -2
  306. package/dist/core/primitive/RankArtwork/index.js.map +1 -1
  307. package/dist/core/primitive/Rating/index.d.ts +26 -0
  308. package/dist/core/primitive/Rating/index.d.ts.map +1 -0
  309. package/dist/core/primitive/Rating/index.js +37 -0
  310. package/dist/core/primitive/Rating/index.js.map +1 -0
  311. package/dist/core/primitive/SearchField/index.d.ts +22 -0
  312. package/dist/core/primitive/SearchField/index.d.ts.map +1 -0
  313. package/dist/core/primitive/SearchField/index.js +15 -0
  314. package/dist/core/primitive/SearchField/index.js.map +1 -0
  315. package/dist/core/primitive/SectionHeader/index.d.ts +9 -2
  316. package/dist/core/primitive/SectionHeader/index.d.ts.map +1 -1
  317. package/dist/core/primitive/SectionHeader/index.js +8 -2
  318. package/dist/core/primitive/SectionHeader/index.js.map +1 -1
  319. package/dist/core/primitive/Skeleton/index.d.ts +21 -0
  320. package/dist/core/primitive/Skeleton/index.d.ts.map +1 -0
  321. package/dist/core/primitive/Skeleton/index.js +18 -0
  322. package/dist/core/primitive/Skeleton/index.js.map +1 -0
  323. package/dist/core/primitive/Slider/index.d.ts +26 -0
  324. package/dist/core/primitive/Slider/index.d.ts.map +1 -0
  325. package/dist/core/primitive/Slider/index.js +37 -0
  326. package/dist/core/primitive/Slider/index.js.map +1 -0
  327. package/dist/core/primitive/Spinner/index.d.ts +18 -0
  328. package/dist/core/primitive/Spinner/index.d.ts.map +1 -0
  329. package/dist/core/primitive/Spinner/index.js +11 -0
  330. package/dist/core/primitive/Spinner/index.js.map +1 -0
  331. package/dist/core/primitive/Switch/index.d.ts +13 -0
  332. package/dist/core/primitive/Switch/index.d.ts.map +1 -0
  333. package/dist/core/primitive/Switch/index.js +15 -0
  334. package/dist/core/primitive/Switch/index.js.map +1 -0
  335. package/dist/core/primitive/Textarea/index.d.ts +16 -0
  336. package/dist/core/primitive/Textarea/index.d.ts.map +1 -0
  337. package/dist/core/primitive/Textarea/index.js +20 -0
  338. package/dist/core/primitive/Textarea/index.js.map +1 -0
  339. package/dist/core/primitive/TimeField/index.d.ts +15 -0
  340. package/dist/core/primitive/TimeField/index.d.ts.map +1 -0
  341. package/dist/core/primitive/TimeField/index.js +13 -0
  342. package/dist/core/primitive/TimeField/index.js.map +1 -0
  343. package/dist/core/styles.css +32 -6
  344. package/dist/heritage/styles.css +21 -6
  345. package/dist/offset-pop/components-forms.css +405 -0
  346. package/dist/offset-pop/components-navigation.css +394 -0
  347. package/dist/offset-pop/components-overlays.css +253 -0
  348. package/dist/offset-pop/conformance.d.ts +64 -0
  349. package/dist/offset-pop/conformance.d.ts.map +1 -0
  350. package/dist/offset-pop/conformance.js +63 -0
  351. package/dist/offset-pop/conformance.js.map +1 -0
  352. package/dist/offset-pop/dna.d.ts +282 -0
  353. package/dist/offset-pop/dna.d.ts.map +1 -0
  354. package/dist/offset-pop/dna.js +276 -0
  355. package/dist/offset-pop/dna.js.map +1 -0
  356. package/dist/offset-pop/index.d.ts +4 -8
  357. package/dist/offset-pop/index.d.ts.map +1 -1
  358. package/dist/offset-pop/index.js +7 -18
  359. package/dist/offset-pop/index.js.map +1 -1
  360. package/dist/offset-pop/styles.css +203 -62
  361. package/package.json +33 -9
@@ -1,72 +1,142 @@
1
1
  @import "../common/styles.css";
2
+ @import "./components-forms.css";
3
+ @import "./components-overlays.css";
4
+ @import "./components-navigation.css";
2
5
 
3
6
  @layer starci-grammar-offset-pop {
7
+ /*
8
+ * Offset Pop visual DNA is opt-in through OffsetPopGrammarRoot. It supplies a complete,
9
+ * portable semantic theme (see ./dna.ts, whose values equal these defaults) and feeds every
10
+ * Common semantic variable Core feeds. Product/UI laws stay out of CSS.
11
+ */
4
12
  .grammar-common-root[data-grammar-family="offset-pop"] {
5
13
  color-scheme: light;
6
14
 
7
- --offset-pop-canvas: #fff8ef;
8
- --offset-pop-ink: #1c1524;
9
- --offset-pop-muted: #716a76;
10
- --offset-pop-surface: #fffdf9;
11
- --offset-pop-surface-muted: #f8dbe8;
15
+ /* Family inks and the offset signature. */
12
16
  --offset-pop-pink: #ff3593;
17
+ --offset-pop-blush: #f8d8e6;
13
18
  --offset-pop-yellow: #ffd447;
14
19
  --offset-pop-mint: #91e4ca;
15
- --offset-pop-blush: #f8d8e6;
16
20
  --offset-pop-critical: #e84a5f;
21
+ --offset-pop-ink: #1c1524;
22
+ --offset-pop-shadow-ink: #1c1524;
17
23
  --offset-pop-outline-width: 2px;
18
24
  --offset-pop-shadow-x: 0.25rem;
19
25
  --offset-pop-shadow-y: 0.5rem;
20
- --offset-pop-shadow-ink: var(--offset-pop-ink);
26
+
27
+ /* Semantic theme, the adaptation contract (OFFSET_POP_TOKEN_NAMES). */
28
+ --offset-pop-accent: #ff3593;
29
+ --offset-pop-accent-foreground: #1c1524;
30
+ --offset-pop-focus: #ff3593;
31
+ --offset-pop-canvas: #fff8ef;
32
+ --offset-pop-surface: #fffdf9;
33
+ --offset-pop-surface-secondary: #f8dbe8;
34
+ --offset-pop-foreground: #1c1524;
35
+ --offset-pop-muted: #675f6c;
36
+ --offset-pop-border: #1c1524;
37
+ --offset-pop-separator: #1c1524;
38
+ --offset-pop-success: #91e4ca;
39
+ --offset-pop-success-foreground: #1c1524;
40
+ --offset-pop-warning: #ffd447;
41
+ --offset-pop-warning-foreground: #1c1524;
42
+ --offset-pop-danger: #e84a5f;
43
+ --offset-pop-danger-foreground: #1c1524;
44
+ --offset-pop-info: #f8d8e6;
45
+ --offset-pop-info-foreground: #1c1524;
46
+ --offset-pop-accent-text: #b8005f;
47
+ --offset-pop-accent-soft: #f8dbe8;
48
+ --offset-pop-page-measure: 80rem;
49
+ --offset-pop-reading-measure: 72ch;
50
+ --offset-pop-page-inset: var(--grammar-page-inset);
51
+ --offset-pop-region-gap: var(--grammar-region-gap);
52
+ --offset-pop-section-gap: var(--grammar-section-gap);
53
+ --offset-pop-inline-gap: var(--grammar-inline-gap);
54
+ --offset-pop-row-gap: var(--grammar-row-gap);
21
55
  --offset-pop-surface-radius: 1.5rem;
22
56
  --offset-pop-control-radius: 1rem;
23
- --offset-pop-transition: 140ms cubic-bezier(.2, .8, .2, 1);
24
-
25
- --accent: var(--offset-pop-pink);
26
- --accent-foreground: white;
27
- --focus: var(--offset-pop-pink);
57
+ --offset-pop-pill-radius: 999px;
58
+ --offset-pop-surface-shadow: var(--offset-pop-shadow-x) var(--offset-pop-shadow-y) 0 var(--offset-pop-shadow-ink);
59
+ --offset-pop-motion-duration: 140ms;
60
+ --offset-pop-motion-easing: cubic-bezier(.2, .8, .2, 1);
61
+
62
+ /* Compatibility names from before the semantic contract. */
63
+ --offset-pop-surface-muted: var(--offset-pop-surface-secondary);
64
+ --offset-pop-transition: var(--offset-pop-motion-duration) var(--offset-pop-motion-easing);
65
+
66
+ /* HeroUI and Common anatomy resolve through the same DNA. */
67
+ --accent: var(--offset-pop-accent);
68
+ --accent-foreground: var(--offset-pop-accent-foreground);
69
+ --focus: var(--offset-pop-focus);
28
70
  --background: var(--offset-pop-canvas);
29
- --foreground: var(--offset-pop-ink);
71
+ --foreground: var(--offset-pop-foreground);
30
72
  --surface: var(--offset-pop-surface);
31
- --surface-foreground: var(--offset-pop-ink);
32
- --surface-secondary: var(--offset-pop-surface-muted);
33
- --surface-secondary-foreground: var(--offset-pop-ink);
73
+ --surface-foreground: var(--offset-pop-foreground);
74
+ --surface-secondary: var(--offset-pop-surface-secondary);
75
+ --surface-secondary-foreground: var(--offset-pop-foreground);
34
76
  --muted: var(--offset-pop-muted);
35
- --border: var(--offset-pop-ink);
36
- --separator: var(--offset-pop-ink);
37
- --success: var(--offset-pop-mint);
38
- --success-foreground: var(--offset-pop-ink);
39
- --warning: var(--offset-pop-yellow);
40
- --warning-foreground: var(--offset-pop-ink);
41
- --danger: var(--offset-pop-critical);
42
- --danger-foreground: white;
43
- --info: var(--offset-pop-blush);
44
- --info-foreground: var(--offset-pop-ink);
77
+ --border: var(--offset-pop-border);
78
+ --separator: var(--offset-pop-separator);
79
+ --success: var(--offset-pop-success);
80
+ --success-foreground: var(--offset-pop-success-foreground);
81
+ --warning: var(--offset-pop-warning);
82
+ --warning-foreground: var(--offset-pop-warning-foreground);
83
+ --danger: var(--offset-pop-danger);
84
+ --danger-foreground: var(--offset-pop-danger-foreground);
85
+ --info: var(--offset-pop-info);
86
+ --info-foreground: var(--offset-pop-info-foreground);
45
87
  --field-background: var(--offset-pop-surface);
46
- --field-border: var(--offset-pop-ink);
47
- --field-foreground: var(--offset-pop-ink);
88
+ --field-border: var(--offset-pop-border);
89
+ --field-foreground: var(--offset-pop-foreground);
48
90
  --field-placeholder: var(--offset-pop-muted);
49
91
  --radius: var(--offset-pop-control-radius);
50
92
  --field-radius: var(--offset-pop-control-radius);
51
- --shadow-surface:
52
- var(--offset-pop-shadow-x)
53
- var(--offset-pop-shadow-y)
54
- 0
55
- var(--offset-pop-shadow-ink);
93
+ --shadow-surface: var(--offset-pop-surface-shadow);
94
+
95
+ /*
96
+ * The vendor's neutral control fill (secondary and tertiary buttons, tab list, kbd) is the
97
+ * family's secondary surface, so the text-safe accent on a secondary button clears AA in
98
+ * both themes instead of reading HeroUI's own light grey.
99
+ */
100
+ --default: var(--offset-pop-surface-secondary);
101
+
102
+ /*
103
+ * Accent as TEXT. The pink is a fill and a ring (3.22:1 as text on the canvas), so every
104
+ * Common place that paints the accent as text reads the text-safe accent instead: the soft
105
+ * accent pairing (Text tone "accent", current choice/route/section TextAction, disclosure,
106
+ * selected Sidebar item, accent IconTile) and Markdown links. The soft background is the
107
+ * secondary surface, on which the text-safe accent still clears AA.
108
+ */
109
+ --accent-soft: var(--offset-pop-accent-soft);
110
+ --accent-soft-foreground: var(--offset-pop-accent-text);
111
+ --link: var(--offset-pop-accent-text);
56
112
 
57
113
  color: var(--foreground);
58
114
  background: var(--background);
59
115
  }
60
116
 
117
+ /* A real dark theme: its own canvas, surfaces and inks, not an inverted light one. */
61
118
  .grammar-common-root[data-grammar-family="offset-pop"][data-grammar-theme="dark"] {
62
119
  color-scheme: dark;
63
120
 
64
- --offset-pop-canvas: #17121d;
65
121
  --offset-pop-ink: #fff8ef;
66
- --offset-pop-muted: #c8bdca;
67
- --offset-pop-surface: #251d2c;
68
- --offset-pop-surface-muted: #3b2936;
69
122
  --offset-pop-shadow-ink: #050306;
123
+ --offset-pop-canvas: #17121d;
124
+ --offset-pop-surface: #251d2c;
125
+ --offset-pop-surface-secondary: #3b2936;
126
+ --offset-pop-foreground: #fff8ef;
127
+ --offset-pop-muted: #c8bdca;
128
+ --offset-pop-border: #fff8ef;
129
+ --offset-pop-separator: #fff8ef;
130
+ --offset-pop-success: #91e4ca;
131
+ --offset-pop-success-foreground: #1c1524;
132
+ --offset-pop-warning: #ffd447;
133
+ --offset-pop-warning-foreground: #1c1524;
134
+ --offset-pop-danger: #e84a5f;
135
+ --offset-pop-danger-foreground: #1c1524;
136
+ --offset-pop-info: #f8d8e6;
137
+ --offset-pop-info-foreground: #1c1524;
138
+ --offset-pop-accent-text: #ff7ab8;
139
+ --offset-pop-accent-soft: #3b2936;
70
140
  }
71
141
 
72
142
  .grammar-common-root[data-grammar-family="offset-pop"] [data-component="Heading"][data-scale="display"] {
@@ -82,7 +152,27 @@
82
152
  }
83
153
 
84
154
  .grammar-common-root[data-grammar-family="offset-pop"] [data-component="Text"][data-tone="accent"] {
85
- color: var(--accent);
155
+ color: var(--offset-pop-accent-text);
156
+ }
157
+
158
+ /* Common paints these two with the fill accent itself; the family routes their TEXT to the text-safe one. */
159
+ .grammar-common-root[data-grammar-family="offset-pop"] [data-grammar-section-header] .starci-core-section-eyebrow {
160
+ color: var(--offset-pop-accent-text);
161
+ }
162
+
163
+ /* The current tab keeps its pink underline (non-text, a decision mark); only the label reads the text-safe accent. */
164
+ .grammar-common-root[data-grammar-family="offset-pop"] [data-component="TextAction"][data-appearance="tab"][data-current="true"] {
165
+ border-block-end-color: var(--offset-pop-accent);
166
+ color: var(--offset-pop-accent-text);
167
+ }
168
+
169
+ /*
170
+ * Every other Common rule that paints the accent as TEXT (link, current tab, bottom-nav and
171
+ * step, eyebrow) reads the text-safe accent too: the family re-declares the accent on those
172
+ * elements, so a rule the family does not restyle still never paints pink body-size text.
173
+ */
174
+ .grammar-common-root[data-grammar-family="offset-pop"] :is(.starci-core-link, .starci-core-section-eyebrow, .starci-core-text-action[data-appearance="tab"][data-current="true"], .starci-core-bottom-nav-item, .starci-core-step-marker) {
175
+ --accent: var(--offset-pop-accent-text);
86
176
  }
87
177
 
88
178
  .grammar-common-root[data-grammar-family="offset-pop"] [data-component="Button"] {
@@ -94,7 +184,7 @@
94
184
 
95
185
  .grammar-common-root[data-grammar-family="offset-pop"] [data-component="Badge"] {
96
186
  border: var(--offset-pop-outline-width) solid var(--border);
97
- border-radius: 999px;
187
+ border-radius: var(--offset-pop-pill-radius);
98
188
  color: var(--foreground);
99
189
  font-weight: 800;
100
190
  }
@@ -130,25 +220,38 @@
130
220
  letter-spacing: -.015em;
131
221
  }
132
222
 
223
+ /*
224
+ * A scrollable SurfaceListCard renders its collection AS the vertical scroll region, and the
225
+ * family layer outranks Common, so clipping it would override Common's overflow-y: auto
226
+ * (OVERFLOW-3) and stop the list scrolling. Only a list that does not scroll is clipped here.
227
+ */
133
228
  .grammar-common-root[data-grammar-family="offset-pop"] [data-grammar-list] {
134
- overflow: clip;
135
229
  border-radius: calc(var(--offset-pop-surface-radius) - var(--offset-pop-outline-width));
136
230
  }
137
231
 
232
+ /* A scroll region already clips its rows to that radius through its own overflow. */
233
+ .grammar-common-root[data-grammar-family="offset-pop"] [data-grammar-list]:not([data-grammar-scroll-region]) {
234
+ overflow: clip;
235
+ }
236
+
138
237
  .grammar-common-root[data-grammar-family="offset-pop"] [data-grammar-row] {
139
- border-block-end: var(--offset-pop-outline-width) solid var(--separator);
140
238
  background: transparent;
141
239
  }
142
240
 
143
- .grammar-common-root[data-grammar-family="offset-pop"] [data-grammar-row]:last-child {
144
- border-block-end: 0;
241
+ /*
242
+ * One seam per pair of rows (BOUNDARY-3). Common draws it as the between-rows top edge; the
243
+ * family repaints that SAME edge at its outline width instead of adding a second one below each
244
+ * row, so a seam is exactly one 2px line and the first and last rows have no outer edge.
245
+ */
246
+ .grammar-common-root[data-grammar-family="offset-pop"] [data-grammar-row] + [data-grammar-row] {
247
+ border-block-start: var(--offset-pop-outline-width) solid var(--separator);
145
248
  }
146
249
 
147
250
  .grammar-common-root[data-grammar-family="offset-pop"] [data-grammar-state-mark] {
148
251
  color: var(--success-foreground);
149
252
  background: var(--success);
150
253
  border: var(--offset-pop-outline-width) solid var(--border);
151
- border-radius: 999px;
254
+ border-radius: var(--offset-pop-pill-radius);
152
255
  }
153
256
 
154
257
  .grammar-common-root[data-grammar-family="offset-pop"] [data-grammar-rail] {
@@ -178,8 +281,13 @@
178
281
  transform: translate(0.25rem, 0.25rem);
179
282
  }
180
283
 
181
- .grammar-common-root[data-grammar-family="offset-pop"] [data-grammar-surface-card][data-slot="card"] [data-grammar-frame="bounded"][data-slot="card-content"]:has([data-grammar-whole-action]:focus-visible),
182
- .grammar-common-root[data-grammar-family="offset-pop"] [data-grammar-row]:focus-within {
284
+ /*
285
+ * `[data-grammar-row]` is StaticStateRow's hook, a non-interactive row whose label and
286
+ * description are strings, so it carries no hover or focus treatment. Rows that ARE interactive
287
+ * (ListBox options, Select/ComboBox options, selectable DataTable rows) are the pointer and focus
288
+ * target themselves and take theirs from the vendor state attributes in the component sheets.
289
+ */
290
+ .grammar-common-root[data-grammar-family="offset-pop"] [data-grammar-surface-card][data-slot="card"] [data-grammar-frame="bounded"][data-slot="card-content"]:has([data-grammar-whole-action]:focus-visible) {
183
291
  outline: 2px solid var(--focus);
184
292
  outline-offset: 0.25rem;
185
293
  }
@@ -193,10 +301,6 @@
193
301
  transform: translateY(0.25rem);
194
302
  }
195
303
 
196
- .grammar-common-root[data-grammar-family="offset-pop"] [data-grammar-row]:has(:is(a, button):hover) {
197
- background: color-mix(in srgb, var(--offset-pop-yellow) 32%, transparent);
198
- }
199
-
200
304
  .grammar-common-root[data-grammar-family="offset-pop"] [data-grammar-state="affirmative"] {
201
305
  --offset-pop-state-color: var(--success);
202
306
  }
@@ -217,9 +321,13 @@
217
321
  box-shadow: inset 0.25rem 0 0 var(--offset-pop-state-color, transparent);
218
322
  }
219
323
 
324
+ /*
325
+ * Unavailable is not disabled: its copy is still content, so it reads in the muted ink (AA)
326
+ * instead of fading the whole row to ~2.3:1. The lift and the state colour edge go away.
327
+ */
220
328
  .grammar-common-root[data-grammar-family="offset-pop"] [data-grammar-state="unavailable"] {
221
329
  box-shadow: none;
222
- opacity: .56;
330
+ color: var(--muted);
223
331
  transform: none;
224
332
  cursor: not-allowed;
225
333
  }
@@ -237,6 +345,7 @@
237
345
 
238
346
  @media (prefers-reduced-motion: reduce) {
239
347
  .grammar-common-root[data-grammar-family="offset-pop"] {
348
+ --offset-pop-motion-duration: 0ms;
240
349
  --offset-pop-transition: 0ms linear;
241
350
  }
242
351
 
@@ -252,28 +361,60 @@
252
361
  .grammar-common-root[data-grammar-family="offset-pop"][data-grammar-theme="system"] {
253
362
  color-scheme: dark;
254
363
 
255
- --offset-pop-canvas: #17121d;
256
364
  --offset-pop-ink: #fff8ef;
257
- --offset-pop-muted: #c8bdca;
258
- --offset-pop-surface: #251d2c;
259
- --offset-pop-surface-muted: #3b2936;
260
365
  --offset-pop-shadow-ink: #050306;
366
+ --offset-pop-canvas: #17121d;
367
+ --offset-pop-surface: #251d2c;
368
+ --offset-pop-surface-secondary: #3b2936;
369
+ --offset-pop-foreground: #fff8ef;
370
+ --offset-pop-muted: #c8bdca;
371
+ --offset-pop-border: #fff8ef;
372
+ --offset-pop-separator: #fff8ef;
373
+ --offset-pop-success: #91e4ca;
374
+ --offset-pop-success-foreground: #1c1524;
375
+ --offset-pop-warning: #ffd447;
376
+ --offset-pop-warning-foreground: #1c1524;
377
+ --offset-pop-danger: #e84a5f;
378
+ --offset-pop-danger-foreground: #1c1524;
379
+ --offset-pop-info: #f8d8e6;
380
+ --offset-pop-info-foreground: #1c1524;
381
+ --offset-pop-accent-text: #ff7ab8;
382
+ --offset-pop-accent-soft: #3b2936;
261
383
  }
262
384
  }
263
385
 
386
+ /* The theme-qualified selector outranks the dark and system blocks, so system colours win in every theme. */
264
387
  @media (forced-colors: active) {
265
- .grammar-common-root[data-grammar-family="offset-pop"] {
266
- --offset-pop-canvas: Canvas;
267
- --offset-pop-ink: CanvasText;
268
- --offset-pop-muted: GrayText;
269
- --offset-pop-surface: Canvas;
270
- --offset-pop-surface-muted: Canvas;
388
+ .grammar-common-root[data-grammar-family="offset-pop"],
389
+ .grammar-common-root[data-grammar-family="offset-pop"][data-grammar-theme] {
271
390
  --offset-pop-pink: Highlight;
391
+ --offset-pop-blush: Canvas;
272
392
  --offset-pop-yellow: Canvas;
273
393
  --offset-pop-mint: Canvas;
274
- --offset-pop-blush: Canvas;
275
394
  --offset-pop-critical: CanvasText;
395
+ --offset-pop-ink: CanvasText;
276
396
  --offset-pop-shadow-ink: CanvasText;
397
+ --offset-pop-accent: Highlight;
398
+ --offset-pop-accent-foreground: HighlightText;
399
+ --offset-pop-focus: Highlight;
400
+ --offset-pop-canvas: Canvas;
401
+ --offset-pop-surface: Canvas;
402
+ --offset-pop-surface-secondary: Canvas;
403
+ --offset-pop-foreground: CanvasText;
404
+ --offset-pop-muted: GrayText;
405
+ --offset-pop-border: CanvasText;
406
+ --offset-pop-separator: CanvasText;
407
+ --offset-pop-success: CanvasText;
408
+ --offset-pop-success-foreground: Canvas;
409
+ --offset-pop-warning: CanvasText;
410
+ --offset-pop-warning-foreground: Canvas;
411
+ --offset-pop-danger: CanvasText;
412
+ --offset-pop-danger-foreground: Canvas;
413
+ --offset-pop-info: CanvasText;
414
+ --offset-pop-info-foreground: Canvas;
415
+ --offset-pop-accent-text: CanvasText;
416
+ --offset-pop-accent-soft: Canvas;
417
+ --offset-pop-surface-shadow: none;
277
418
  --shadow-surface: none;
278
419
  }
279
420
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@starci/grammar",
3
- "version": "0.4.12",
3
+ "version": "0.5.0",
4
4
  "description": "Reusable StarCi React components, compositions, and packaged visual DNA.",
5
5
  "keywords": [
6
6
  "starci",
@@ -9,19 +9,24 @@
9
9
  ],
10
10
  "repository": {
11
11
  "type": "git",
12
- "url": "git+https://github.com/starci-lab/starci-academy-fe.git",
12
+ "url": "git+https://github.com/starci183/starci-skills.git",
13
13
  "directory": "packages/grammar"
14
14
  },
15
15
  "bugs": {
16
- "url": "https://github.com/starci-lab/starci-academy-fe/issues"
16
+ "url": "https://github.com/starci183/starci-skills/issues"
17
17
  },
18
- "homepage": "https://github.com/starci-lab/starci-academy-fe/tree/main/packages/grammar#readme",
18
+ "homepage": "https://github.com/starci183/starci-skills/tree/main/packages/grammar#readme",
19
19
  "type": "module",
20
20
  "sideEffects": [
21
21
  "./dist/**/*.css"
22
22
  ],
23
23
  "files": [
24
24
  "dist",
25
+ "!dist/stories",
26
+ "!dist/__test__",
27
+ "!dist/**/*.stories.*",
28
+ "!dist/**/*.spec.*",
29
+ "!dist/**/*.test.*",
25
30
  "README.md",
26
31
  "LICENSE"
27
32
  ],
@@ -53,10 +58,14 @@
53
58
  "./package.json": "./package.json"
54
59
  },
55
60
  "scripts": {
56
- "build": "node scripts/clean.mjs && tsc -p tsconfig.build.json && node scripts/copy-css.mjs",
57
- "typecheck": "tsc -p tsconfig.build.json --noEmit",
58
- "test": "npm run build && node --test src/common/index.test.mjs src/core/index.test.mjs src/package-boundary.test.mjs && vitest run --config vitest.config.ts src/shipped-geometry.spec.ts src/core/shipped-claims.spec.tsx src/common/conformance.spec.ts src/common/styles.spec.ts src/core/family.spec.tsx src/core/styles.spec.ts src/core/surface-card-family.spec.tsx src/core/scrollable-surfaces.spec.tsx src/core/primitive/Badge/index.spec.tsx src/core/primitive/Button/index.spec.tsx src/core/primitive/Divider/index.spec.tsx src/core/primitive/Heading/index.spec.tsx src/core/primitive/Icon/index.spec.tsx src/core/primitive/IconButton/index.spec.tsx src/core/primitive/IconTile/index.spec.tsx src/core/primitive/Input/index.spec.tsx src/core/primitive/PressableField/index.spec.tsx src/core/primitive/Progress/index.spec.tsx src/core/primitive/Text/index.spec.tsx src/core/primitive/TextAction/index.spec.tsx src/core/primitive/Label/index.spec.tsx src/core/primitive/RankArtwork/index.spec.tsx src/core/composite/EmptyNotice/index.spec.tsx src/core/branch/Tabs/index.spec.tsx src/core/branch/Subnav/index.spec.tsx src/core/branch/Tooltip/index.spec.tsx src/core/composition/NavigationFeatureNav/index.spec.tsx src/core/composition/NavigationFeatureNav/styles.spec.ts src/core/composition/Sidebar/index.spec.tsx src/core/composition/Sidebar/styles.spec.ts src/core/composition/collapse.spec.tsx src/core/composition/WorkspaceShell/index.spec.tsx src/core/composition/ChatWorkspace/index.spec.tsx src/heritage/index.spec.tsx src/heritage/styles.spec.ts src/offset-pop/index.spec.tsx src/offset-pop/render.spec.tsx src/offset-pop/styles.spec.ts",
59
- "prepack": "npm run typecheck && npm test"
61
+ "build": "node scripts/clean.mjs && tsc -p tsconfig.build.json && node scripts/copy-css.mjs && node scripts/build-stamp.mjs",
62
+ "typecheck": "tsc -p tsconfig.build.json --noEmit && tsc -p tsconfig.stories.json",
63
+ "test": "npm run build && node --test src/common/index.test.mjs src/core/index.test.mjs src/offset-pop/index.test.mjs src/package-boundary.test.mjs && vitest run --config vitest.config.ts src/shipped-geometry.spec.ts src/core/shipped-claims.spec.tsx src/common/conformance.spec.ts src/common/styles.spec.ts src/core/family.spec.tsx src/core/styles.spec.ts src/core/surface-card-family.spec.tsx src/core/scrollable-surfaces.spec.tsx src/core/primitive/Badge/index.spec.tsx src/core/primitive/Button/index.spec.tsx src/core/primitive/Divider/index.spec.tsx src/core/primitive/Heading/index.spec.tsx src/core/primitive/Icon/index.spec.tsx src/core/primitive/IconButton/index.spec.tsx src/core/primitive/IconTile/index.spec.tsx src/core/primitive/Input/index.spec.tsx src/core/primitive/PressableField/index.spec.tsx src/core/primitive/Progress/index.spec.tsx src/core/primitive/Text/index.spec.tsx src/core/primitive/TextAction/index.spec.tsx src/core/primitive/Label/index.spec.tsx src/core/primitive/RankArtwork/index.spec.tsx src/core/composite/EmptyNotice/index.spec.tsx src/core/branch/Tabs/index.spec.tsx src/core/branch/Subnav/index.spec.tsx src/core/branch/Subnav/styles.spec.ts src/core/branch/Tooltip/index.spec.tsx src/core/composition/NavigationFeatureNav/index.spec.tsx src/core/composition/NavigationFeatureNav/styles.spec.ts src/core/composition/Sidebar/index.spec.tsx src/core/composition/Sidebar/styles.spec.ts src/core/composition/collapse.spec.tsx src/core/composition/WorkspaceShell/index.spec.tsx src/core/composition/ChatWorkspace/index.spec.tsx src/heritage/index.spec.tsx src/heritage/styles.spec.ts src/offset-pop/index.spec.tsx src/offset-pop/render.spec.tsx src/offset-pop/styles.spec.ts src/offset-pop/family.spec.tsx src/offset-pop/shipped-claims.spec.tsx src/offset-pop/surface-card-family.spec.tsx src/offset-pop/scrollable-surfaces.spec.tsx src/offset-pop/conformance.spec.ts src/core/branch/Accordion/index.spec.tsx src/core/branch/AlertDialog/index.spec.tsx src/core/branch/Calendar/index.spec.tsx src/core/branch/ComboBox/index.spec.tsx src/core/branch/DataTable/index.spec.tsx src/core/branch/DatePicker/index.spec.tsx src/core/branch/DateRangePicker/index.spec.tsx src/core/branch/Dialog/index.spec.tsx src/core/branch/Disclosure/index.spec.tsx src/core/branch/Drawer/index.spec.tsx src/core/branch/DropdownMenu/index.spec.tsx src/core/branch/ListBox/index.spec.tsx src/core/branch/Popover/index.spec.tsx src/core/branch/Select/index.spec.tsx src/core/branch/Toast/index.spec.tsx src/core/composite/Alert/index.spec.tsx src/core/composite/AvatarGroup/index.spec.tsx src/core/composite/Breadcrumbs/index.spec.tsx src/core/composite/ButtonGroup/index.spec.tsx src/core/composite/CheckboxGroup/index.spec.tsx src/core/composite/DescriptionList/index.spec.tsx src/core/composite/Fieldset/index.spec.tsx src/core/composite/Form/index.spec.tsx src/core/composite/Pagination/index.spec.tsx src/core/composite/RadioGroup/index.spec.tsx src/core/composite/SegmentedControl/index.spec.tsx src/core/composite/Stepper/index.spec.tsx src/core/composite/TagGroup/index.spec.tsx src/core/composite/Timeline/index.spec.tsx src/core/composition/BottomNav/index.spec.tsx src/core/composition/Footer/index.spec.tsx src/core/composition/TopBar/index.spec.tsx src/core/primitive/Avatar/index.spec.tsx src/core/primitive/Checkbox/index.spec.tsx src/core/primitive/CloseButton/index.spec.tsx src/core/primitive/DateField/index.spec.tsx src/core/primitive/Field/index.spec.tsx src/core/primitive/FileDropzone/index.spec.tsx src/core/primitive/Image/index.spec.tsx src/core/primitive/Kbd/index.spec.tsx src/core/primitive/Link/index.spec.tsx src/core/primitive/Meter/index.spec.tsx src/core/primitive/NumberField/index.spec.tsx src/core/primitive/ProgressCircle/index.spec.tsx src/core/primitive/Rating/index.spec.tsx src/core/primitive/SearchField/index.spec.tsx src/core/primitive/Skeleton/index.spec.tsx src/core/primitive/Slider/index.spec.tsx src/core/primitive/Spinner/index.spec.tsx src/core/primitive/Switch/index.spec.tsx src/core/primitive/Textarea/index.spec.tsx src/core/primitive/TimeField/index.spec.tsx src/offset-pop/components-forms.spec.ts src/offset-pop/components-navigation.spec.ts src/offset-pop/components-overlays.spec.ts src/core/branch/SurfaceCard/index.spec.tsx src/core/branch/SurfaceListCard/index.spec.tsx src/core/branch/SurfaceAccordionCard/index.spec.tsx src/core/branch/Rail/index.spec.tsx src/core/branch/MarkdownArticle/index.spec.tsx src/core/composite/VerticalScrollRegion/index.spec.tsx src/core/primitive/SectionHeader/index.spec.tsx src/core/OtpInput.spec.tsx src/stories/catalog.spec.ts",
64
+ "test:a11y": "vitest run --config vitest.a11y.config.ts",
65
+ "pack:check": "npm run build && node --test src/package-boundary.test.mjs",
66
+ "prepack": "npm run typecheck && npm test",
67
+ "storybook": "storybook dev -p 6006",
68
+ "build-storybook": "storybook build"
60
69
  },
61
70
  "engines": {
62
71
  "node": ">=20"
@@ -69,7 +78,22 @@
69
78
  "@types/react": "^19.0.0",
70
79
  "react": "^19.0.0",
71
80
  "typescript": "^5.0.0",
72
- "vitest": "^4.1.11"
81
+ "vitest": "^4.1.11",
82
+ "storybook": "^10.6.0",
83
+ "@storybook/react-vite": "^10.6.0",
84
+ "@chromatic-com/storybook": "latest",
85
+ "@storybook/addon-vitest": "^10.6.0",
86
+ "@storybook/addon-a11y": "^10.6.0",
87
+ "@storybook/addon-docs": "^10.6.0",
88
+ "@storybook/addon-mcp": "^10.6.0",
89
+ "eslint-plugin-storybook": "^10.6.0",
90
+ "@vitest/browser-playwright": "^4",
91
+ "@vitest/coverage-v8": "^4",
92
+ "jsdom": "^30",
93
+ "playwright": "latest",
94
+ "@testing-library/react": "^16",
95
+ "react-dom": "^19.0.0",
96
+ "@internationalized/date": "^3.12.4"
73
97
  },
74
98
  "license": "MIT",
75
99
  "publishConfig": {