@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
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Offset Pop's rule conformance against the canonical Common catalogue.
3
+ *
4
+ * The family's CSS is `styles.css` plus the three component sheets it imports
5
+ * (`components-forms.css`, `components-overlays.css`, `components-navigation.css`). A rule is
6
+ * FAMILY-owned only when that CSS makes a decision inside the rule's concern; the evidence names the
7
+ * mechanism. Every other rule is inherited: the family declares nothing in its concern, so Common's
8
+ * realization stands unchanged (Core inherits all 150 the same way).
9
+ *
10
+ * Inherited on purpose, although the family is close to them:
11
+ * - The spacing and size rules not listed below: the family's only geometry is the short allow-list
12
+ * `conformance.spec.ts` locks, each entry owned by a claim here.
13
+ * - ACCENT-3 / COLOR-3: one pink fills the decision action, marks the selected or current state and
14
+ * draws the focus ring, so distinctness rests on Common's carriers (fill on an action, fill inside a
15
+ * control, outline, soft pairing, underline), not on hue.
16
+ * - BOUNDARY-3: rows claim it, and the seam stays Common's one line between consecutive rows; the family
17
+ * only repaints that same edge in its 2px outline material (BOUNDARY-5) and adds no edge of its own.
18
+ *
19
+ * Each claim below is proved in `conformance.spec.ts`, which cites the matching assertion in
20
+ * `styles.spec.ts`, the component `components-*.spec.ts` files or the render specs.
21
+ */
22
+ export declare const OFFSET_POP_FAMILY_EVIDENCE: {
23
+ readonly "ACCENT-1": readonly ["`--accent` binds the one pink. The family fills with it only the decision it marks: the dialog confirm, toast and alert action (the single action in each), a checked, selected or current state inside a control, and a real measurement (slider, meter, rating, spinner); it never paints text with it."];
24
+ readonly "BOUNDARY-1": readonly ["Band edges are the ink line at `--offset-pop-outline-width`: NavigationFeatureNav and TopBar below, Footer and BottomNav above; `--border` and `--separator` resolve to the same ink in every theme and CanvasText under forced colours."];
25
+ readonly "BOUNDARY-4": readonly ["Rail draws its inline-end column edge as the 2px `--offset-pop-outline-width` ink line in `--border`; Common draws none on Rail."];
26
+ readonly "BOUNDARY-5": readonly ["Objects carry a `--offset-pop-outline-width` (2px) solid ink outline in place of Common's 1px: nested surfaces, Button, Badge, StateMark, field and choice controls, overlay surfaces, DataTable, Calendar, Avatar, tags and pagination; grouped Buttons overlap by one outline width so a shared edge draws once, and a row seam is Common's one between-rows edge repainted at the outline width (never a second edge)."];
27
+ readonly "BOUNDARY-6": readonly ["Family-owned departure: a `depth=\"top\"` surface keeps `--shadow-surface` (the hard `0.25rem 0.5rem 0 --offset-pop-shadow-ink` offset) AND the 2px ink outline, the outline-plus-offset signature (overlay surfaces, DataTable and Calendar do the same); forced colours drop the shadow and keep only the outline."];
28
+ readonly "COLOR-5": readonly ["Scoped light, `[data-grammar-theme=\"dark\"]`, `prefers-color-scheme` system and `forced-colors` token blocks, and every component sheet resets its edges, shadows and selected fills to system colours; every text pair measures at least 4.5:1 and the focus ring at least 3:1 in light and dark, error text included (critical mixed 65% with the ink)."];
29
+ readonly "CONTROL-STATE-2": readonly ["`[data-grammar-state=\"unavailable\"]` reads in the muted ink (AA, unavailable is not disabled), drops shadow and transform and shows `not-allowed`; `[data-grammar-state=\"pending\"]` only removes pointer events at full paint. Two hooks, never derived from each other."];
30
+ readonly "CORE-BOUNDARY-1": readonly ["Every family edge lands on a hook a Common owner emits (`data-component`, `data-grammar-*`, the HeroUI slot, or the vendor's own state attribute); the family adds no wrapper shell."];
31
+ readonly "CORE-BOUNDARY-4": readonly ["Shadows stay material, not stacking: `--shadow-surface` and the overlay, drawer and chip offsets are hard ink copies of the outline, nested and forced-colour surfaces have none, and the family sets no `z-index` or `position`."];
32
+ readonly "CORE-BOUNDARY-5": readonly ["Unlike Core, the family adds width queries, and they change shadow geometry only: below 40rem the offset shadow and the surface radius shorten, below 30rem DataTable and Calendar take a smaller hard shadow; every owner hook stays. State paint changes text colour, shadow and pointer only."];
33
+ readonly "CORE-SURFACE-2": readonly ["Material (ink outline, radius, `--surface`, depth shadow) is painted on the bounded `[data-slot=\"card-content\"]` frame and `[data-grammar-surface]` shells; the HeroUI `[data-slot=\"card\"]` root is cleared to no edge, no background and no shadow."];
34
+ readonly "FLOW-2": readonly ["The display Heading wraps with `text-wrap: balance`; `overflow-wrap` stays Common's."];
35
+ readonly "FONT-6": readonly ["The display Heading keeps Common's `text-4xl` size; the family sets weight 900, tracking -.045em and line-height .96, tighter than Common's `leading-tight`."];
36
+ readonly "FOCUS-1": readonly ["`--focus` binds the pink ring (3.22:1 on canvas light, 5.42:1 dark, Highlight under forced colours). It rings a focus-visible whole action's painted frame, a choice control and a slider thumb (2px, 0.25rem offset), and a keyboard-focused ListBox or Select/ComboBox option (2px on the row edge, offset 0, so the list's clip never cuts it); a field shows focus as the hard offset shadow over a transparent 2px outline that forced colours turn into a Highlight ring."];
37
+ readonly "GAP-4": readonly ["Stacked toasts are spaced by `--offset-pop-shadow-y` + 0.5rem (1rem, and .75rem below 40rem) so each hard shadow clears the next toast."];
38
+ readonly "MARGIN-2": readonly ["Accordion items are separated by `margin-block-start: var(--grammar-inline-gap)` (.5rem) because each item is its own outlined box."];
39
+ readonly "MEASURE-5": readonly ["BottomNav items keep a 4rem minimum block size and their icon pill 3.25rem by 2rem, a thumb-sized target; the family also fixes the Meter track at .75rem and the Timeline rail at the outline width."];
40
+ readonly "MOTION-1": readonly ["The family's only movement is press travel: a translate plus shadow collapse keyed on `:active` or the vendor's `data-pressed` / `data-dragging`, repeating a press Common already handles; no state or meaning rides on it."];
41
+ readonly "MOTION-2": readonly ["`prefers-reduced-motion: reduce` zeroes `--offset-pop-motion-duration` and `--offset-pop-transition`, and every sheet that moves something sets its `transform` or `translate` to none (navigation zeroes its disclosure and dock transitions); the press itself still reaches Common."];
42
+ readonly "MOTION-3": readonly ["Every family transition reads `--offset-pop-transition`, built from the DNA's `--offset-pop-motion-duration` (140ms) and `--offset-pop-motion-easing`."];
43
+ readonly "OVERFLOW-2": readonly ["The family clips (`overflow: clip`) only non-scrolling shells to their radius: a list that is not the scroll region, the DataTable sheet (its rows scroll in the inner table scroll container) and the SegmentedControl unit; a list that is the scroll region keeps Common's OVERFLOW-3 `overflow-y: auto`."];
44
+ readonly "PADDING-2": readonly ["The current Breadcrumb becomes an outlined pill with a .5rem inline inset."];
45
+ readonly "PADDING-3": readonly ["The Calendar becomes an outlined sheet with a .75rem inset."];
46
+ readonly "PADDING-4": readonly ["Disclosure and Accordion triggers take a 1rem inline inset inside their outlined box."];
47
+ readonly "RESPONSIVE-1": readonly ["Narrow widths change only family shadow geometry: below 40rem `--offset-pop-shadow-y` (0.5rem to 0.25rem) and `--offset-pop-surface-radius` (1.5rem to 1.25rem), below 30rem the DataTable and Calendar shadow; no region, hook or content is removed."];
48
+ readonly "STATE-5": readonly ["Surface press and focus treatments are keyed on `:has([data-grammar-whole-action]...)`, so a static surface never paints as pressable."];
49
+ readonly "SURFACE-1": readonly ["The HeroUI card root stays no-surface around the painted frame (no edge, transparent, no shadow), and a frameless SurfaceCard carries no hook the family paints."];
50
+ readonly "SURFACE-2": readonly ["Bounded frames and `[data-grammar-surface]` shells paint `--surface` with `--surface-foreground`, both bound to family tokens."];
51
+ readonly "SURFACE-3": readonly ["A nested frame or shell paints `--surface-secondary`, drops the shadow, and keeps `--surface-foreground` (the same ink as `--foreground`)."];
52
+ readonly "SURFACE-4": readonly ["`--accent-soft` binds the secondary surface and `--accent-soft-foreground` the text-safe `--offset-pop-accent-text` (5.09:1 light, 5.61:1 dark)."];
53
+ readonly "TONE-2": readonly ["`Text tone=\"muted\"` reads `--muted` (#675f6c light, #c8bdca dark), at least 4.75:1 on every family surface."];
54
+ readonly "TONE-3": readonly ["`Text tone=\"accent\"`, the SectionHeader eyebrow, the current tab label, a selected menu item and a selected ListBox option, Select/ComboBox option or DataTable row (on the `--accent-soft` fill) read `--offset-pop-accent-text`, never the fill pink."];
55
+ readonly "TRUTH-1": readonly ["The inset state stripe is drawn only on rows whose state is not neutral (`:not([data-grammar-state=\"neutral\"])`), and toast and meter tones map each named outcome to its own semantic colour; no neutral tone is painted as success or danger."];
56
+ };
57
+ export declare const offsetPopRuleConformance: Readonly<{
58
+ familyId: string;
59
+ inheritedCommonRules: readonly string[];
60
+ familyEvidence: Readonly<{
61
+ [x: string]: readonly string[];
62
+ }>;
63
+ }>;
64
+ //# sourceMappingURL=conformance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conformance.d.ts","sourceRoot":"","sources":["../../src/offset-pop/conformance.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkC6B,CAAA;AAEpE,eAAO,MAAM,wBAAwB;;;;;;EAInC,CAAA"}
@@ -0,0 +1,63 @@
1
+ import { COMMON_UI_RULE_IDS, defineGrammarRuleConformance } from "../common/index.js";
2
+ /**
3
+ * Offset Pop's rule conformance against the canonical Common catalogue.
4
+ *
5
+ * The family's CSS is `styles.css` plus the three component sheets it imports
6
+ * (`components-forms.css`, `components-overlays.css`, `components-navigation.css`). A rule is
7
+ * FAMILY-owned only when that CSS makes a decision inside the rule's concern; the evidence names the
8
+ * mechanism. Every other rule is inherited: the family declares nothing in its concern, so Common's
9
+ * realization stands unchanged (Core inherits all 150 the same way).
10
+ *
11
+ * Inherited on purpose, although the family is close to them:
12
+ * - The spacing and size rules not listed below: the family's only geometry is the short allow-list
13
+ * `conformance.spec.ts` locks, each entry owned by a claim here.
14
+ * - ACCENT-3 / COLOR-3: one pink fills the decision action, marks the selected or current state and
15
+ * draws the focus ring, so distinctness rests on Common's carriers (fill on an action, fill inside a
16
+ * control, outline, soft pairing, underline), not on hue.
17
+ * - BOUNDARY-3: rows claim it, and the seam stays Common's one line between consecutive rows; the family
18
+ * only repaints that same edge in its 2px outline material (BOUNDARY-5) and adds no edge of its own.
19
+ *
20
+ * Each claim below is proved in `conformance.spec.ts`, which cites the matching assertion in
21
+ * `styles.spec.ts`, the component `components-*.spec.ts` files or the render specs.
22
+ */
23
+ export const OFFSET_POP_FAMILY_EVIDENCE = {
24
+ "ACCENT-1": ["`--accent` binds the one pink. The family fills with it only the decision it marks: the dialog confirm, toast and alert action (the single action in each), a checked, selected or current state inside a control, and a real measurement (slider, meter, rating, spinner); it never paints text with it."],
25
+ "BOUNDARY-1": ["Band edges are the ink line at `--offset-pop-outline-width`: NavigationFeatureNav and TopBar below, Footer and BottomNav above; `--border` and `--separator` resolve to the same ink in every theme and CanvasText under forced colours."],
26
+ "BOUNDARY-4": ["Rail draws its inline-end column edge as the 2px `--offset-pop-outline-width` ink line in `--border`; Common draws none on Rail."],
27
+ "BOUNDARY-5": ["Objects carry a `--offset-pop-outline-width` (2px) solid ink outline in place of Common's 1px: nested surfaces, Button, Badge, StateMark, field and choice controls, overlay surfaces, DataTable, Calendar, Avatar, tags and pagination; grouped Buttons overlap by one outline width so a shared edge draws once, and a row seam is Common's one between-rows edge repainted at the outline width (never a second edge)."],
28
+ "BOUNDARY-6": ["Family-owned departure: a `depth=\"top\"` surface keeps `--shadow-surface` (the hard `0.25rem 0.5rem 0 --offset-pop-shadow-ink` offset) AND the 2px ink outline, the outline-plus-offset signature (overlay surfaces, DataTable and Calendar do the same); forced colours drop the shadow and keep only the outline."],
29
+ "COLOR-5": ["Scoped light, `[data-grammar-theme=\"dark\"]`, `prefers-color-scheme` system and `forced-colors` token blocks, and every component sheet resets its edges, shadows and selected fills to system colours; every text pair measures at least 4.5:1 and the focus ring at least 3:1 in light and dark, error text included (critical mixed 65% with the ink)."],
30
+ "CONTROL-STATE-2": ["`[data-grammar-state=\"unavailable\"]` reads in the muted ink (AA, unavailable is not disabled), drops shadow and transform and shows `not-allowed`; `[data-grammar-state=\"pending\"]` only removes pointer events at full paint. Two hooks, never derived from each other."],
31
+ "CORE-BOUNDARY-1": ["Every family edge lands on a hook a Common owner emits (`data-component`, `data-grammar-*`, the HeroUI slot, or the vendor's own state attribute); the family adds no wrapper shell."],
32
+ "CORE-BOUNDARY-4": ["Shadows stay material, not stacking: `--shadow-surface` and the overlay, drawer and chip offsets are hard ink copies of the outline, nested and forced-colour surfaces have none, and the family sets no `z-index` or `position`."],
33
+ "CORE-BOUNDARY-5": ["Unlike Core, the family adds width queries, and they change shadow geometry only: below 40rem the offset shadow and the surface radius shorten, below 30rem DataTable and Calendar take a smaller hard shadow; every owner hook stays. State paint changes text colour, shadow and pointer only."],
34
+ "CORE-SURFACE-2": ["Material (ink outline, radius, `--surface`, depth shadow) is painted on the bounded `[data-slot=\"card-content\"]` frame and `[data-grammar-surface]` shells; the HeroUI `[data-slot=\"card\"]` root is cleared to no edge, no background and no shadow."],
35
+ "FLOW-2": ["The display Heading wraps with `text-wrap: balance`; `overflow-wrap` stays Common's."],
36
+ "FONT-6": ["The display Heading keeps Common's `text-4xl` size; the family sets weight 900, tracking -.045em and line-height .96, tighter than Common's `leading-tight`."],
37
+ "FOCUS-1": ["`--focus` binds the pink ring (3.22:1 on canvas light, 5.42:1 dark, Highlight under forced colours). It rings a focus-visible whole action's painted frame, a choice control and a slider thumb (2px, 0.25rem offset), and a keyboard-focused ListBox or Select/ComboBox option (2px on the row edge, offset 0, so the list's clip never cuts it); a field shows focus as the hard offset shadow over a transparent 2px outline that forced colours turn into a Highlight ring."],
38
+ "GAP-4": ["Stacked toasts are spaced by `--offset-pop-shadow-y` + 0.5rem (1rem, and .75rem below 40rem) so each hard shadow clears the next toast."],
39
+ "MARGIN-2": ["Accordion items are separated by `margin-block-start: var(--grammar-inline-gap)` (.5rem) because each item is its own outlined box."],
40
+ "MEASURE-5": ["BottomNav items keep a 4rem minimum block size and their icon pill 3.25rem by 2rem, a thumb-sized target; the family also fixes the Meter track at .75rem and the Timeline rail at the outline width."],
41
+ "MOTION-1": ["The family's only movement is press travel: a translate plus shadow collapse keyed on `:active` or the vendor's `data-pressed` / `data-dragging`, repeating a press Common already handles; no state or meaning rides on it."],
42
+ "MOTION-2": ["`prefers-reduced-motion: reduce` zeroes `--offset-pop-motion-duration` and `--offset-pop-transition`, and every sheet that moves something sets its `transform` or `translate` to none (navigation zeroes its disclosure and dock transitions); the press itself still reaches Common."],
43
+ "MOTION-3": ["Every family transition reads `--offset-pop-transition`, built from the DNA's `--offset-pop-motion-duration` (140ms) and `--offset-pop-motion-easing`."],
44
+ "OVERFLOW-2": ["The family clips (`overflow: clip`) only non-scrolling shells to their radius: a list that is not the scroll region, the DataTable sheet (its rows scroll in the inner table scroll container) and the SegmentedControl unit; a list that is the scroll region keeps Common's OVERFLOW-3 `overflow-y: auto`."],
45
+ "PADDING-2": ["The current Breadcrumb becomes an outlined pill with a .5rem inline inset."],
46
+ "PADDING-3": ["The Calendar becomes an outlined sheet with a .75rem inset."],
47
+ "PADDING-4": ["Disclosure and Accordion triggers take a 1rem inline inset inside their outlined box."],
48
+ "RESPONSIVE-1": ["Narrow widths change only family shadow geometry: below 40rem `--offset-pop-shadow-y` (0.5rem to 0.25rem) and `--offset-pop-surface-radius` (1.5rem to 1.25rem), below 30rem the DataTable and Calendar shadow; no region, hook or content is removed."],
49
+ "STATE-5": ["Surface press and focus treatments are keyed on `:has([data-grammar-whole-action]...)`, so a static surface never paints as pressable."],
50
+ "SURFACE-1": ["The HeroUI card root stays no-surface around the painted frame (no edge, transparent, no shadow), and a frameless SurfaceCard carries no hook the family paints."],
51
+ "SURFACE-2": ["Bounded frames and `[data-grammar-surface]` shells paint `--surface` with `--surface-foreground`, both bound to family tokens."],
52
+ "SURFACE-3": ["A nested frame or shell paints `--surface-secondary`, drops the shadow, and keeps `--surface-foreground` (the same ink as `--foreground`)."],
53
+ "SURFACE-4": ["`--accent-soft` binds the secondary surface and `--accent-soft-foreground` the text-safe `--offset-pop-accent-text` (5.09:1 light, 5.61:1 dark)."],
54
+ "TONE-2": ["`Text tone=\"muted\"` reads `--muted` (#675f6c light, #c8bdca dark), at least 4.75:1 on every family surface."],
55
+ "TONE-3": ["`Text tone=\"accent\"`, the SectionHeader eyebrow, the current tab label, a selected menu item and a selected ListBox option, Select/ComboBox option or DataTable row (on the `--accent-soft` fill) read `--offset-pop-accent-text`, never the fill pink."],
56
+ "TRUTH-1": ["The inset state stripe is drawn only on rows whose state is not neutral (`:not([data-grammar-state=\"neutral\"])`), and toast and meter tones map each named outcome to its own semantic colour; no neutral tone is painted as success or danger."],
57
+ };
58
+ export const offsetPopRuleConformance = defineGrammarRuleConformance({
59
+ familyId: "offset-pop",
60
+ inheritedCommonRules: COMMON_UI_RULE_IDS.filter((rule) => !(rule in OFFSET_POP_FAMILY_EVIDENCE)),
61
+ familyEvidence: OFFSET_POP_FAMILY_EVIDENCE,
62
+ });
63
+ //# sourceMappingURL=conformance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conformance.js","sourceRoot":"","sources":["../../src/offset-pop/conformance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAA;AAErF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACtC,UAAU,EAAE,CAAC,2SAA2S,CAAC;IACzT,YAAY,EAAE,CAAC,0OAA0O,CAAC;IAC1P,YAAY,EAAE,CAAC,kIAAkI,CAAC;IAClJ,YAAY,EAAE,CAAC,2ZAA2Z,CAAC;IAC3a,YAAY,EAAE,CAAC,sTAAsT,CAAC;IACtU,SAAS,EAAE,CAAC,4VAA4V,CAAC;IACzW,iBAAiB,EAAE,CAAC,8QAA8Q,CAAC;IACnS,iBAAiB,EAAE,CAAC,sLAAsL,CAAC;IAC3M,iBAAiB,EAAE,CAAC,mOAAmO,CAAC;IACxP,iBAAiB,EAAE,CAAC,kSAAkS,CAAC;IACvT,gBAAgB,EAAE,CAAC,0PAA0P,CAAC;IAC9Q,QAAQ,EAAE,CAAC,sFAAsF,CAAC;IAClG,QAAQ,EAAE,CAAC,8JAA8J,CAAC;IAC1K,SAAS,EAAE,CAAC,idAAid,CAAC;IAC9d,OAAO,EAAE,CAAC,yIAAyI,CAAC;IACpJ,UAAU,EAAE,CAAC,qIAAqI,CAAC;IACnJ,WAAW,EAAE,CAAC,uMAAuM,CAAC;IACtN,UAAU,EAAE,CAAC,8NAA8N,CAAC;IAC5O,UAAU,EAAE,CAAC,wRAAwR,CAAC;IACtS,UAAU,EAAE,CAAC,wJAAwJ,CAAC;IACtK,YAAY,EAAE,CAAC,8SAA8S,CAAC;IAC9T,WAAW,EAAE,CAAC,4EAA4E,CAAC;IAC3F,WAAW,EAAE,CAAC,6DAA6D,CAAC;IAC5E,WAAW,EAAE,CAAC,uFAAuF,CAAC;IACtG,cAAc,EAAE,CAAC,wPAAwP,CAAC;IAC1Q,SAAS,EAAE,CAAC,wIAAwI,CAAC;IACrJ,WAAW,EAAE,CAAC,kKAAkK,CAAC;IACjL,WAAW,EAAE,CAAC,gIAAgI,CAAC;IAC/I,WAAW,EAAE,CAAC,4IAA4I,CAAC;IAC3J,WAAW,EAAE,CAAC,kJAAkJ,CAAC;IACjK,QAAQ,EAAE,CAAC,+GAA+G,CAAC;IAC3H,QAAQ,EAAE,CAAC,2PAA2P,CAAC;IACvQ,SAAS,EAAE,CAAC,mPAAmP,CAAC;CAChM,CAAA;AAEpE,MAAM,CAAC,MAAM,wBAAwB,GAAG,4BAA4B,CAAC;IACjE,QAAQ,EAAE,YAAY;IACtB,oBAAoB,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,0BAA0B,CAAC,CAAC;IAChG,cAAc,EAAE,0BAA0B;CAC7C,CAAC,CAAA"}
@@ -0,0 +1,282 @@
1
+ /**
2
+ * Stable visual identity shipped by the Offset Pop Grammar family.
3
+ *
4
+ * Same shape as `STARCI_CORE_DNA`, key for key, plus two family groups: `offset` (the hard
5
+ * offset shadow and ink outline that make the family recognisable) and `palette` (the named
6
+ * inks the semantic colours are drawn from). This is presentation data, not a registry of UI
7
+ * laws, and it is product-neutral. Every value equals the default in `./styles.css`; the
8
+ * styles spec holds the two together.
9
+ *
10
+ * WCAG 2.x contrast, recorded here and asserted in `styles.spec.ts`:
11
+ *
12
+ * | pair | light | dark | need |
13
+ * | -------------------------------------- | ----- | ----- | ---- |
14
+ * | foreground on canvas | 16.86 | 17.47 | 4.5 |
15
+ * | foreground on surface | 17.49 | 15.44 | 4.5 |
16
+ * | foreground on surfaceSecondary | 13.78 | 12.80 | 4.5 |
17
+ * | muted on canvas | 5.81 | 10.16 | 4.5 |
18
+ * | muted on surface | 6.03 | 8.98 | 4.5 |
19
+ * | muted on surfaceSecondary | 4.75 | 7.45 | 4.5 |
20
+ * | accentForeground on accent | 5.23 | 5.23 | 4.5 |
21
+ * | successForeground on success | 11.97 | 11.97 | 4.5 |
22
+ * | warningForeground on warning | 12.49 | 12.49 | 4.5 |
23
+ * | dangerForeground on danger | 4.72 | 4.72 | 4.5 |
24
+ * | infoForeground on info | 13.50 | 13.50 | 4.5 |
25
+ * | focus on canvas (non-text, 1.4.11) | 3.22 | 5.42 | 3 |
26
+ * | focus on surface (non-text, 1.4.11) | 3.34 | 4.79 | 3 |
27
+ * | accentText on canvas | 6.22 | 7.65 | 4.5 |
28
+ * | accentText on surface | 6.45 | 6.76 | 4.5 |
29
+ * | accentText on surfaceSecondary | 5.09 | 5.61 | 4.5 |
30
+ * | accentText on blush (palette/info) | 4.98 | - | 4.5 |
31
+ *
32
+ * The accent foreground is the ink, not white: white on the family pink is 3.40:1, which fails
33
+ * AA for button-size text. The same reasoning puts ink on the critical red (white is 3.77:1).
34
+ * Pink as body-size TEXT on the light canvas is only 3.22:1, so `accent` stays the fill and the
35
+ * focus ring and every place the accent paints text reads `accentText` instead: a deeper
36
+ * raspberry in light, a lighter candy pink in dark. `accentText` and `accentSoft` (the selected
37
+ * and soft tint, the blush secondary surface in light and the plum one in dark) mirror Core's
38
+ * keys of the same names.
39
+ */
40
+ export declare const OFFSET_POP_DNA: Readonly<{
41
+ readonly id: "offset-pop";
42
+ readonly version: 1;
43
+ readonly color: Readonly<{
44
+ accent: "#ff3593";
45
+ accentForeground: "#1c1524";
46
+ focus: "#ff3593";
47
+ light: Readonly<{
48
+ canvas: "#fff8ef";
49
+ surface: "#fffdf9";
50
+ surfaceSecondary: "#f8dbe8";
51
+ foreground: "#1c1524";
52
+ muted: "#675f6c";
53
+ border: "#1c1524";
54
+ separator: "#1c1524";
55
+ success: "#91e4ca";
56
+ successForeground: "#1c1524";
57
+ warning: "#ffd447";
58
+ warningForeground: "#1c1524";
59
+ danger: "#e84a5f";
60
+ dangerForeground: "#1c1524";
61
+ info: "#f8d8e6";
62
+ infoForeground: "#1c1524";
63
+ accentText: "#b8005f";
64
+ accentSoft: "#f8dbe8";
65
+ }>;
66
+ dark: Readonly<{
67
+ canvas: "#17121d";
68
+ surface: "#251d2c";
69
+ surfaceSecondary: "#3b2936";
70
+ foreground: "#fff8ef";
71
+ muted: "#c8bdca";
72
+ border: "#fff8ef";
73
+ separator: "#fff8ef";
74
+ success: "#91e4ca";
75
+ successForeground: "#1c1524";
76
+ warning: "#ffd447";
77
+ warningForeground: "#1c1524";
78
+ danger: "#e84a5f";
79
+ dangerForeground: "#1c1524";
80
+ info: "#f8d8e6";
81
+ infoForeground: "#1c1524";
82
+ accentText: "#ff7ab8";
83
+ accentSoft: "#3b2936";
84
+ }>;
85
+ }>;
86
+ readonly geometry: Readonly<{
87
+ pageMeasure: "80rem";
88
+ readingMeasure: "72ch";
89
+ surfaceRadius: "1.5rem";
90
+ controlRadius: "1rem";
91
+ pillRadius: "999px";
92
+ }>;
93
+ readonly rhythm: Readonly<{
94
+ inlineGap: "0.5rem";
95
+ rowGap: "0.75rem";
96
+ sectionGap: "1rem";
97
+ regionGap: "1.5rem";
98
+ pageInset: "clamp(1rem, 3vw, 2rem)";
99
+ }>;
100
+ readonly elevation: Readonly<{
101
+ /** Composed from `offset`, so it follows the theme's shadow ink and the narrow-viewport drop. */
102
+ surface: "var(--offset-pop-shadow-x) var(--offset-pop-shadow-y) 0 var(--offset-pop-shadow-ink)";
103
+ }>;
104
+ readonly motion: Readonly<{
105
+ duration: "140ms";
106
+ easing: "cubic-bezier(.2, .8, .2, 1)";
107
+ }>;
108
+ readonly offset: Readonly<{
109
+ x: "0.25rem";
110
+ y: "0.5rem";
111
+ outlineWidth: "2px";
112
+ ink: "#1c1524";
113
+ shadowInk: "#1c1524";
114
+ /** Dark ink is the outline and text colour (it flips to cream); the shadow stays near-black. */
115
+ dark: Readonly<{
116
+ ink: "#fff8ef";
117
+ shadowInk: "#050306";
118
+ }>;
119
+ }>;
120
+ readonly palette: Readonly<{
121
+ pink: "#ff3593";
122
+ blush: "#f8d8e6";
123
+ yellow: "#ffd447";
124
+ mint: "#91e4ca";
125
+ critical: "#e84a5f";
126
+ }>;
127
+ }>;
128
+ /** Canonical 4px spacing scale; the same values as Common and Core, which the family does not re-space. */
129
+ export declare const OFFSET_POP_SPACING_SCALE: Readonly<{
130
+ readonly "0": "0rem";
131
+ readonly "0.5": "0.125rem";
132
+ readonly "1": "0.25rem";
133
+ readonly "1.5": "0.375rem";
134
+ readonly "2": "0.5rem";
135
+ readonly "2.5": "0.625rem";
136
+ readonly "3": "0.75rem";
137
+ readonly "4": "1rem";
138
+ readonly "5": "1.25rem";
139
+ readonly "6": "1.5rem";
140
+ readonly "8": "2rem";
141
+ readonly "10": "2.5rem";
142
+ readonly "12": "3rem";
143
+ readonly "16": "4rem";
144
+ }>;
145
+ export type OffsetPopSpacingStep = keyof typeof OFFSET_POP_SPACING_SCALE;
146
+ export type OffsetPopSpacingValue = (typeof OFFSET_POP_SPACING_SCALE)[OffsetPopSpacingStep];
147
+ /** CSS custom-property contract for adapting Offset Pop without renaming its anatomy. */
148
+ export declare const OFFSET_POP_TOKEN_NAMES: Readonly<{
149
+ readonly accent: "--offset-pop-accent";
150
+ readonly accentForeground: "--offset-pop-accent-foreground";
151
+ readonly focus: "--offset-pop-focus";
152
+ readonly canvas: "--offset-pop-canvas";
153
+ readonly surface: "--offset-pop-surface";
154
+ readonly surfaceSecondary: "--offset-pop-surface-secondary";
155
+ readonly foreground: "--offset-pop-foreground";
156
+ readonly muted: "--offset-pop-muted";
157
+ readonly border: "--offset-pop-border";
158
+ readonly separator: "--offset-pop-separator";
159
+ readonly success: "--offset-pop-success";
160
+ readonly successForeground: "--offset-pop-success-foreground";
161
+ readonly warning: "--offset-pop-warning";
162
+ readonly warningForeground: "--offset-pop-warning-foreground";
163
+ readonly danger: "--offset-pop-danger";
164
+ readonly dangerForeground: "--offset-pop-danger-foreground";
165
+ readonly info: "--offset-pop-info";
166
+ readonly infoForeground: "--offset-pop-info-foreground";
167
+ readonly accentText: "--offset-pop-accent-text";
168
+ readonly accentSoft: "--offset-pop-accent-soft";
169
+ readonly pageMeasure: "--offset-pop-page-measure";
170
+ readonly readingMeasure: "--offset-pop-reading-measure";
171
+ readonly surfaceRadius: "--offset-pop-surface-radius";
172
+ readonly controlRadius: "--offset-pop-control-radius";
173
+ readonly pillRadius: "--offset-pop-pill-radius";
174
+ readonly pageInset: "--offset-pop-page-inset";
175
+ readonly inlineGap: "--offset-pop-inline-gap";
176
+ readonly rowGap: "--offset-pop-row-gap";
177
+ readonly sectionGap: "--offset-pop-section-gap";
178
+ readonly regionGap: "--offset-pop-region-gap";
179
+ readonly elevation: "--offset-pop-surface-shadow";
180
+ readonly motionDuration: "--offset-pop-motion-duration";
181
+ readonly motionEasing: "--offset-pop-motion-easing";
182
+ readonly shadowX: "--offset-pop-shadow-x";
183
+ readonly shadowY: "--offset-pop-shadow-y";
184
+ readonly outlineWidth: "--offset-pop-outline-width";
185
+ readonly ink: "--offset-pop-ink";
186
+ readonly shadowInk: "--offset-pop-shadow-ink";
187
+ readonly pink: "--offset-pop-pink";
188
+ readonly blush: "--offset-pop-blush";
189
+ readonly yellow: "--offset-pop-yellow";
190
+ readonly mint: "--offset-pop-mint";
191
+ readonly critical: "--offset-pop-critical";
192
+ }>;
193
+ /**
194
+ * Sticky-band geometry published under an Offset Pop root.
195
+ *
196
+ * Common, not the family, publishes the band: `src/common/styles.css` defines these on every
197
+ * `.grammar-common-root` that holds a sticky `NavigationFeatureNav` or `Subnav`, whatever its
198
+ * family, and reads the two host overrides. So the names are Common's, shared with Core; the
199
+ * family re-exports them so a consumer reads them from `@starci/grammar/offset-pop`. They are
200
+ * not theme tokens and are absent from `OFFSET_POP_TOKEN_NAMES`; Offset Pop CSS never writes them.
201
+ * See `STARCI_CORE_BAND_TOKEN_NAMES` for what each one means.
202
+ */
203
+ export declare const OFFSET_POP_BAND_TOKEN_NAMES: Readonly<{
204
+ readonly bandOffset: "--starci-core-band-offset";
205
+ readonly bandHeight: "--starci-core-band-height";
206
+ readonly bandSubnavHeight: "--starci-core-band-subnav-height";
207
+ readonly railOffset: "--starci-core-rail-offset";
208
+ readonly subnavOffset: "--starci-core-subnav-offset";
209
+ }>;
210
+ export type OffsetPopBandTokenName = (typeof OFFSET_POP_BAND_TOKEN_NAMES)[keyof typeof OFFSET_POP_BAND_TOKEN_NAMES];
211
+ export type OffsetPopDna = typeof OFFSET_POP_DNA;
212
+ export type OffsetPopTokenName = (typeof OFFSET_POP_TOKEN_NAMES)[keyof typeof OFFSET_POP_TOKEN_NAMES];
213
+ /** Portable light/default values keyed by the public CSS custom-property contract. */
214
+ export declare const OFFSET_POP_TOKEN_DEFAULTS: Readonly<{
215
+ "--offset-pop-accent": "#ff3593";
216
+ "--offset-pop-accent-foreground": "#1c1524";
217
+ "--offset-pop-focus": "#ff3593";
218
+ "--offset-pop-canvas": "#fff8ef";
219
+ "--offset-pop-surface": "#fffdf9";
220
+ "--offset-pop-surface-secondary": "#f8dbe8";
221
+ "--offset-pop-foreground": "#1c1524";
222
+ "--offset-pop-muted": "#675f6c";
223
+ "--offset-pop-border": "#1c1524";
224
+ "--offset-pop-separator": "#1c1524";
225
+ "--offset-pop-success": "#91e4ca";
226
+ "--offset-pop-success-foreground": "#1c1524";
227
+ "--offset-pop-warning": "#ffd447";
228
+ "--offset-pop-warning-foreground": "#1c1524";
229
+ "--offset-pop-danger": "#e84a5f";
230
+ "--offset-pop-danger-foreground": "#1c1524";
231
+ "--offset-pop-info": "#f8d8e6";
232
+ "--offset-pop-info-foreground": "#1c1524";
233
+ "--offset-pop-accent-text": "#b8005f";
234
+ "--offset-pop-accent-soft": "#f8dbe8";
235
+ "--offset-pop-page-measure": "80rem";
236
+ "--offset-pop-reading-measure": "72ch";
237
+ "--offset-pop-surface-radius": "1.5rem";
238
+ "--offset-pop-control-radius": "1rem";
239
+ "--offset-pop-pill-radius": "999px";
240
+ "--offset-pop-page-inset": "clamp(1rem, 3vw, 2rem)";
241
+ "--offset-pop-inline-gap": "0.5rem";
242
+ "--offset-pop-row-gap": "0.75rem";
243
+ "--offset-pop-section-gap": "1rem";
244
+ "--offset-pop-region-gap": "1.5rem";
245
+ "--offset-pop-surface-shadow": "var(--offset-pop-shadow-x) var(--offset-pop-shadow-y) 0 var(--offset-pop-shadow-ink)";
246
+ "--offset-pop-motion-duration": "140ms";
247
+ "--offset-pop-motion-easing": "cubic-bezier(.2, .8, .2, 1)";
248
+ "--offset-pop-shadow-x": "0.25rem";
249
+ "--offset-pop-shadow-y": "0.5rem";
250
+ "--offset-pop-outline-width": "2px";
251
+ "--offset-pop-ink": "#1c1524";
252
+ "--offset-pop-shadow-ink": "#1c1524";
253
+ "--offset-pop-pink": "#ff3593";
254
+ "--offset-pop-blush": "#f8d8e6";
255
+ "--offset-pop-yellow": "#ffd447";
256
+ "--offset-pop-mint": "#91e4ca";
257
+ "--offset-pop-critical": "#e84a5f";
258
+ }>;
259
+ /** Theme overrides layered on the default token set by `OffsetPopGrammarRoot` dark (and system-dark) mode. */
260
+ export declare const OFFSET_POP_DARK_TOKEN_DEFAULTS: Readonly<{
261
+ "--offset-pop-canvas": "#17121d";
262
+ "--offset-pop-surface": "#251d2c";
263
+ "--offset-pop-surface-secondary": "#3b2936";
264
+ "--offset-pop-foreground": "#fff8ef";
265
+ "--offset-pop-muted": "#c8bdca";
266
+ "--offset-pop-border": "#fff8ef";
267
+ "--offset-pop-separator": "#fff8ef";
268
+ "--offset-pop-success": "#91e4ca";
269
+ "--offset-pop-success-foreground": "#1c1524";
270
+ "--offset-pop-warning": "#ffd447";
271
+ "--offset-pop-warning-foreground": "#1c1524";
272
+ "--offset-pop-danger": "#e84a5f";
273
+ "--offset-pop-danger-foreground": "#1c1524";
274
+ "--offset-pop-info": "#f8d8e6";
275
+ "--offset-pop-info-foreground": "#1c1524";
276
+ "--offset-pop-accent-text": "#ff7ab8";
277
+ "--offset-pop-accent-soft": "#3b2936";
278
+ "--offset-pop-ink": "#fff8ef";
279
+ "--offset-pop-shadow-ink": "#050306";
280
+ }>;
281
+ export type OffsetPopTokenDefaults = typeof OFFSET_POP_TOKEN_DEFAULTS;
282
+ //# sourceMappingURL=dna.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dna.d.ts","sourceRoot":"","sources":["../../src/offset-pop/dna.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA6DnB,iGAAiG;;;;;;;;;;;;;QAajG,gGAAgG;;;;;;;;;;;;;EAa7F,CAAA;AAEX,2GAA2G;AAC3G,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;EAe1B,CAAA;AAEX,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,wBAAwB,CAAA;AACxE,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,oBAAoB,CAAC,CAAA;AAE3F,yFAAyF;AACzF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4CxB,CAAA;AAEX;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B;;;;;;EAM7B,CAAA;AAEX,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,OAAO,2BAA2B,CAAC,CAAA;AAEnH,MAAM,MAAM,YAAY,GAAG,OAAO,cAAc,CAAA;AAChD,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,OAAO,sBAAsB,CAAC,CAAA;AAErG,sFAAsF;AACtF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4CmB,CAAA;AAEzD,8GAA8G;AAC9G,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;EAoBuB,CAAA;AAElE,MAAM,MAAM,sBAAsB,GAAG,OAAO,yBAAyB,CAAA"}