@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,25 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { Form as HeroForm } from "@heroui/react";
4
+ import { fieldPresentationState } from "../../primitive/Field/index.js";
5
+ /**
6
+ * The form boundary. Controls inside validate on submit (native constraint validation, required
7
+ * values, and any `validationErrors` from the server matched by field name) and show the message in
8
+ * their own error slot; the first invalid control receives focus.
9
+ */
10
+ export const Form = ({ children, label, id, onSubmit, onReset, action, method, validationErrors, validationBehavior = "native", isPending = false, }) => {
11
+ const errors = validationErrors === undefined
12
+ ? undefined
13
+ : Object.fromEntries(Object.entries(validationErrors).map(([key, value]) => [key, typeof value === "string" ? value : [...value]]));
14
+ return (_jsx(HeroForm, { "data-tier": "composite", "data-component": "Form", "data-contract": "FEEDBACK-1 ACTION-1 ACTION-2", "data-grammar-pending": isPending ? "true" : "false", "data-grammar-field-state": fieldPresentationState({ isPending }), className: "starci-core-form", validationBehavior: validationBehavior, ...(label === undefined ? {} : { "aria-label": label }), ...(id === undefined ? {} : { id }), ...(action === undefined ? {} : { action }), ...(method === undefined ? {} : { method }), ...(errors === undefined ? {} : { validationErrors: errors }), ...(isPending ? { "aria-busy": true } : {}), ...(onReset === undefined ? {} : { onReset: () => onReset() }), onSubmit: (event) => {
15
+ if (isPending) {
16
+ event.preventDefault();
17
+ return;
18
+ }
19
+ if (onSubmit === undefined)
20
+ return;
21
+ event.preventDefault();
22
+ onSubmit(new FormData(event.currentTarget), event);
23
+ }, children: children }));
24
+ };
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/Form/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAA;AAEhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AA4BvE;;;;GAIG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EACjB,QAAQ,EACR,KAAK,EACL,EAAE,EACF,QAAQ,EACR,OAAO,EACP,MAAM,EACN,MAAM,EACN,gBAAgB,EAChB,kBAAkB,GAAG,QAAQ,EAC7B,SAAS,GAAG,KAAK,GACT,EAAE,EAAE;IACZ,MAAM,MAAM,GAAG,gBAAgB,KAAK,SAAS;QACzC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAEvI,OAAO,CACH,KAAC,QAAQ,iBACK,WAAW,oBACN,MAAM,mBACP,8BAA8B,0BACtB,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,8BACxB,sBAAsB,CAAC,EAAE,SAAS,EAAE,CAAC,EAC/D,SAAS,EAAC,kBAAkB,EAC5B,kBAAkB,EAAE,kBAAkB,KAClC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,KACpD,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAChC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,KACxC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,KACxC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,KAC1D,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACxC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,EAC/D,QAAQ,EAAE,CAAC,KAAiC,EAAE,EAAE;YAC5C,IAAI,SAAS,EAAE,CAAC;gBACZ,KAAK,CAAC,cAAc,EAAE,CAAA;gBACtB,OAAM;YACV,CAAC;YACD,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAM;YAClC,KAAK,CAAC,cAAc,EAAE,CAAA;YACtB,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,CAAA;QACtD,CAAC,YAEA,QAAQ,GACF,CACd,CAAA;AACL,CAAC,CAAA"}
@@ -14,6 +14,11 @@ export type HorizontalScrollRegionProps = Omit<ComponentProps<"div">, "children"
14
14
  readonly hideScrollBar?: boolean;
15
15
  /** The region's own overflow answer; the stamp and the render both follow it. */
16
16
  readonly overflow?: HorizontalScrollRegionOverflow;
17
+ /**
18
+ * Keyboard reachability (WCAG 2.1.1). Default `true`: the region is a Tab stop and, when named,
19
+ * a `role="region"`. Pass `false` when every scrolled item is itself focusable (tabs, OTP slots).
20
+ */
21
+ readonly isFocusable?: boolean;
17
22
  };
18
23
  /** Preserve intrinsic inline content and expose HeroUI's horizontal overflow affordance. */
19
24
  export declare const HorizontalScrollRegion: import("react").ForwardRefExoticComponent<Omit<HorizontalScrollRegionProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/HorizontalScrollRegion/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAGvE;;;;;;;GAOG;AACH,MAAM,MAAM,8BAA8B,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAEhE,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IAChF,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,+FAA+F;IAC/F,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,CAAC,EAAE,8BAA8B,CAAA;CACrD,CAAA;AAED,4FAA4F;AAC5F,eAAO,MAAM,sBAAsB,qIAgBjC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/HorizontalScrollRegion/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAIvE;;;;;;;GAOG;AACH,MAAM,MAAM,8BAA8B,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAEhE,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IAChF,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,+FAA+F;IAC/F,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,CAAC,EAAE,8BAA8B,CAAA;IAClD;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CACjC,CAAA;AAED,4FAA4F;AAC5F,eAAO,MAAM,sBAAsB,qIAiBjC,CAAA"}
@@ -1,13 +1,14 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
3
  import { ScrollShadow, cn } from "@heroui/react";
4
+ import { scrollRegionFocusProps } from "../VerticalScrollRegion/index.js";
4
5
  /** Preserve intrinsic inline content and expose HeroUI's horizontal overflow affordance. */
5
6
  export const HorizontalScrollRegion = forwardRef((props, ref) => {
6
- const { hideScrollBar = true, overflow = "always", className, ...regionProps } = props;
7
+ const { hideScrollBar = true, overflow = "always", isFocusable = true, className, ...regionProps } = props;
7
8
  const contract = overflow === "needed"
8
9
  ? "PADDING-1 MEASURE-3 OVERFLOW-4 OVERFLOW-5"
9
10
  : "PADDING-1 MEASURE-3 OVERFLOW-3 OVERFLOW-5";
10
- return (_jsx(ScrollShadow, { ...regionProps, ref: ref, className: cn("starci-core-horizontal-scroll-region", className), "data-contract": contract, "data-grammar-overflow": overflow, hideScrollBar: hideScrollBar, orientation: "horizontal" }));
11
+ return (_jsx(ScrollShadow, { ...regionProps, ...scrollRegionFocusProps(regionProps, isFocusable), ref: ref, className: cn("starci-core-horizontal-scroll-region", className), "data-contract": contract, "data-grammar-overflow": overflow, hideScrollBar: hideScrollBar, orientation: "horizontal" }));
11
12
  });
12
13
  HorizontalScrollRegion.displayName = "HorizontalScrollRegion";
13
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/HorizontalScrollRegion/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAuC,MAAM,OAAO,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAoBhD,4FAA4F;AAC5F,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAA8C,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACzG,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,GAAG,KAAK,CAAA;IACtF,MAAM,QAAQ,GAAG,QAAQ,KAAK,QAAQ;QAClC,CAAC,CAAC,2CAA2C;QAC7C,CAAC,CAAC,2CAA2C,CAAA;IACjD,OAAO,CACH,KAAC,YAAY,OACL,WAAW,EACf,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,sCAAsC,EAAE,SAAS,CAAC,mBACjD,QAAQ,2BACA,QAAQ,EAC/B,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAC,YAAY,GAC1B,CACL,CAAA;AACL,CAAC,CAAC,CAAA;AAEF,sBAAsB,CAAC,WAAW,GAAG,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/HorizontalScrollRegion/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAuC,MAAM,OAAO,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAyBzE,4FAA4F;AAC5F,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAA8C,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACzG,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,WAAW,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,GAAG,KAAK,CAAA;IAC1G,MAAM,QAAQ,GAAG,QAAQ,KAAK,QAAQ;QAClC,CAAC,CAAC,2CAA2C;QAC7C,CAAC,CAAC,2CAA2C,CAAA;IACjD,OAAO,CACH,KAAC,YAAY,OACL,WAAW,KACX,sBAAsB,CAAC,WAAW,EAAE,WAAW,CAAC,EACpD,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,sCAAsC,EAAE,SAAS,CAAC,mBACjD,QAAQ,2BACA,QAAQ,EAC/B,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAC,YAAY,GAC1B,CACL,CAAA;AACL,CAAC,CAAC,CAAA;AAEF,sBAAsB,CAAC,WAAW,GAAG,wBAAwB,CAAA"}
@@ -0,0 +1,31 @@
1
+ import type { ReactNode } from "react";
2
+ export type PaginationToken = number | "start-ellipsis" | "end-ellipsis";
3
+ export type PaginationProps = {
4
+ /** Names the pagination landmark, e.g. "Results pages". */
5
+ readonly label: string;
6
+ /** 1-based current page. */
7
+ readonly page: number;
8
+ readonly pageCount: number;
9
+ readonly onPageChange: (page: number) => void;
10
+ /** Pages kept on each side of the current page before collapsing into an ellipsis. */
11
+ readonly siblingCount?: number;
12
+ readonly previousLabel: string;
13
+ readonly nextLabel: string;
14
+ /** App-owned accessible name of one page button, e.g. "Page 3". */
15
+ readonly pageLabel: (page: number) => string;
16
+ /** Optional app-owned summary, e.g. "21-30 of 94". */
17
+ readonly summary?: ReactNode;
18
+ readonly className?: string;
19
+ };
20
+ /** The page tokens drawn for one position: first, last, the current window and collapsed gaps. */
21
+ export declare const paginationTokens: (page: number, pageCount: number, siblingCount?: number) => ReadonlyArray<PaginationToken>;
22
+ /**
23
+ * Page-by-page navigation over one ordered result set.
24
+ *
25
+ * The current page carries `aria-current="page"`. Below 30rem the previous/next labels and the
26
+ * non-adjacent page numbers leave the paint (the first, last and current page stay), so the strip
27
+ * fits a 360px viewport without horizontal scroll.
28
+ * Contract: list FOCUS-2 (tab order = page order), steps A11Y-2 FOCUS-1, pages FOCUS-1 CONTROL-STATE-3.
29
+ */
30
+ export declare const Pagination: ({ label, page, pageCount, onPageChange, siblingCount, previousLabel, nextLabel, pageLabel, summary, className, }: PaginationProps) => import("react").JSX.Element;
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/Pagination/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,gBAAgB,GAAG,cAAc,CAAA;AAExE,MAAM,MAAM,eAAe,GAAG;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,4BAA4B;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,sFAAsF;IACtF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC5C,sDAAsD;IACtD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAID,kGAAkG;AAClG,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,EAAE,WAAW,MAAM,EAAE,qBAAgB,KAAG,aAAa,CAAC,eAAe,CAYjH,CAAA;AAQD;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,GAAI,kHAWxB,eAAe,gCA8DjB,CAAA"}
@@ -0,0 +1,42 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Pagination as HeroPagination } from "@heroui/react";
4
+ import { navigationClassName } from "../../navigationClassNames.js";
5
+ const range = (from, to) => Array.from({ length: Math.max(0, to - from + 1) }, (_, index) => from + index);
6
+ /** The page tokens drawn for one position: first, last, the current window and collapsed gaps. */
7
+ export const paginationTokens = (page, pageCount, siblingCount = 1) => {
8
+ const count = Math.max(0, Math.floor(pageCount));
9
+ const current = Math.min(Math.max(1, Math.floor(page)), Math.max(1, count));
10
+ if (count <= siblingCount * 2 + 5)
11
+ return range(1, count);
12
+ const left = Math.max(current - siblingCount, 1);
13
+ const right = Math.min(current + siblingCount, count);
14
+ const showStart = left > 2;
15
+ const showEnd = right < count - 1;
16
+ const edge = 3 + siblingCount * 2;
17
+ if (!showStart && showEnd)
18
+ return [...range(1, edge), "end-ellipsis", count];
19
+ if (showStart && !showEnd)
20
+ return [1, "start-ellipsis", ...range(count - edge + 1, count)];
21
+ return [1, "start-ellipsis", ...range(left, right), "end-ellipsis", count];
22
+ };
23
+ /*
24
+ * Consumer hooks: `starci-core-pagination-summary` names a HeroUI part whose vendor paint Common
25
+ * leaves as it is. No shipped sheet paints it; the Grammar name lets a consumer or family select
26
+ * that part without reaching for vendor class names.
27
+ */
28
+ /**
29
+ * Page-by-page navigation over one ordered result set.
30
+ *
31
+ * The current page carries `aria-current="page"`. Below 30rem the previous/next labels and the
32
+ * non-adjacent page numbers leave the paint (the first, last and current page stay), so the strip
33
+ * fits a 360px viewport without horizontal scroll.
34
+ * Contract: list FOCUS-2 (tab order = page order), steps A11Y-2 FOCUS-1, pages FOCUS-1 CONTROL-STATE-3.
35
+ */
36
+ export const Pagination = ({ label, page, pageCount, onPageChange, siblingCount = 1, previousLabel, nextLabel, pageLabel, summary, className, }) => {
37
+ const tokens = paginationTokens(page, pageCount, siblingCount);
38
+ const last = Math.max(1, pageCount);
39
+ return (_jsxs(HeroPagination, { "aria-label": label, className: navigationClassName("starci-core-pagination", className), "data-component": "Pagination", "data-tier": "composite", children: [summary === undefined ? null : _jsx(HeroPagination.Summary, { className: "starci-core-pagination-summary", "data-grammar-pagination-summary": "true", children: summary }), _jsxs(HeroPagination.Content, { className: "starci-core-pagination-list", "data-contract": "FOCUS-2", children: [_jsx(HeroPagination.Item, { className: "starci-core-pagination-item", "data-grammar-pagination-step": "previous", children: _jsxs(HeroPagination.Previous, { "aria-label": previousLabel, className: "starci-core-pagination-step", "data-contract": "A11Y-2 FOCUS-1", isDisabled: page <= 1, onPress: () => onPageChange(page - 1), children: [_jsx(HeroPagination.PreviousIcon, {}), _jsx("span", { "aria-hidden": "true", className: "starci-core-pagination-step-label", children: previousLabel })] }) }), tokens.map((token) => typeof token === "number" ? (_jsx(HeroPagination.Item, { className: "starci-core-pagination-item", "data-grammar-page-distance": Math.min(Math.abs(token - page), 2), "data-grammar-page-edge": token === 1 || token === last ? "true" : "false", children: _jsx(HeroPagination.Link, { "aria-label": pageLabel(token), className: "starci-core-pagination-page", "data-contract": "FOCUS-1 CONTROL-STATE-3", "data-grammar-current": token === page ? "true" : "false", isActive: token === page, onPress: () => { if (token !== page)
40
+ onPageChange(token); }, children: token }) }, token)) : (_jsx(HeroPagination.Item, { className: "starci-core-pagination-item", "data-grammar-pagination-gap": "true", children: _jsx(HeroPagination.Ellipsis, {}) }, token))), _jsx(HeroPagination.Item, { className: "starci-core-pagination-item", "data-grammar-pagination-step": "next", children: _jsxs(HeroPagination.Next, { "aria-label": nextLabel, className: "starci-core-pagination-step", "data-contract": "A11Y-2 FOCUS-1", isDisabled: page >= last, onPress: () => onPageChange(page + 1), children: [_jsx("span", { "aria-hidden": "true", className: "starci-core-pagination-step-label", children: nextLabel }), _jsx(HeroPagination.NextIcon, {})] }) })] })] }));
41
+ };
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/Pagination/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { type FieldControlProps } from "../../primitive/Field/index.js";
2
+ import type { ChoiceOption, ChoiceOrientation } from "../CheckboxGroup/index.js";
3
+ export type RadioGroupProps = FieldControlProps & {
4
+ readonly options: ReadonlyArray<ChoiceOption>;
5
+ readonly value?: string | null;
6
+ readonly defaultValue?: string | null;
7
+ readonly onValueChange?: (value: string) => void;
8
+ readonly orientation?: ChoiceOrientation;
9
+ };
10
+ /**
11
+ * Exactly one of a few visible choices (`role="radiogroup"`). Arrow keys move and select within the
12
+ * group, Tab leaves it - roving focus is the vendor's.
13
+ */
14
+ export declare const RadioGroup: ({ options, value, defaultValue, onValueChange, orientation, ...field }: RadioGroupProps) => import("react").JSX.Element;
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/RadioGroup/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAKH,KAAK,iBAAiB,EACzB,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAEhF,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG;IAC9C,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;CAC3C,CAAA;AAcD;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,wEAOxB,eAAe,gCAoCjB,CAAA"}
@@ -0,0 +1,20 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Radio as HeroRadio, RadioGroup as HeroRadioGroup } from "@heroui/react";
4
+ import { FieldDescription, FieldErrorText, FieldLabel, vendorFieldProps, } from "../../primitive/Field/index.js";
5
+ /*
6
+ * Consumer hook: `starci-core-choice-group` names this control's root for a consumer or family
7
+ * stylesheet. No shipped sheet paints it: the root is drawn as a whole by `.starci-core-field`, so
8
+ * a rule on the hook adds to the shared anatomy and never has to replace it.
9
+ */
10
+ /*
11
+ * Consumer hook: `starci-core-radio` names each option's root for a consumer or family stylesheet.
12
+ * No shipped sheet paints it: the root is drawn as a whole by `.starci-core-choice`, so a rule on
13
+ * the hook adds to the shared anatomy and never has to replace it.
14
+ */
15
+ /**
16
+ * Exactly one of a few visible choices (`role="radiogroup"`). Arrow keys move and select within the
17
+ * group, Tab leaves it - roving focus is the vendor's.
18
+ */
19
+ export const RadioGroup = ({ options, value, defaultValue, onValueChange, orientation = "vertical", ...field }) => (_jsxs(HeroRadioGroup, { "data-tier": "composite", "data-component": "RadioGroup", "data-contract": "A11Y-1 FIELD-1 STATE-6 FOCUS-2", "data-grammar-orientation": orientation, className: "starci-core-field starci-core-choice-group", orientation: orientation, ...vendorFieldProps(field), isReadOnly: field.isReadOnly === true, ...(value === undefined ? defaultValue === undefined ? {} : { defaultValue } : { value }), ...(onValueChange === undefined ? {} : { onChange: onValueChange }), children: [_jsx(FieldLabel, { isHidden: field.isLabelHidden, isRequired: field.isRequired, children: field.label }), _jsx(FieldDescription, { children: field.description }), _jsx("div", { className: "starci-core-choice-group-options", "data-grammar-field-control": "true", children: options.map((option) => (_jsxs(HeroRadio, { value: option.value, isDisabled: option.isDisabled === true, className: "starci-core-choice starci-core-radio", "data-grammar-option": "true", children: [_jsxs(HeroRadio.Content, { className: "starci-core-choice-content", "data-grammar-choice-target": "true", children: [_jsx(HeroRadio.Control, { className: "starci-core-choice-control", "data-grammar-choice-control": "radio", children: _jsx(HeroRadio.Indicator, {}) }), _jsx(FieldLabel, { children: option.label })] }), _jsx(FieldDescription, { children: option.description })] }, option.value))) }), _jsx(FieldErrorText, { children: field.errorMessage })] }));
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/RadioGroup/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,eAAe,CAAA;AAChF,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,gBAAgB,GAEnB,MAAM,gCAAgC,CAAA;AAWvC;;;;GAIG;AAEH;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACvB,OAAO,EACP,KAAK,EACL,YAAY,EACZ,aAAa,EACb,WAAW,GAAG,UAAU,EACxB,GAAG,KAAK,EACM,EAAE,EAAE,CAAC,CACnB,MAAC,cAAc,iBACD,WAAW,oBACN,YAAY,mBACb,gCAAgC,8BACpB,WAAW,EACrC,SAAS,EAAC,4CAA4C,EACtD,WAAW,EAAE,WAAW,KACpB,gBAAgB,CAAC,KAAK,CAAC,EAC3B,UAAU,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,KACjC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KACtF,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,aAEpE,KAAC,UAAU,IAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,YAAG,KAAK,CAAC,KAAK,GAAc,EACnG,KAAC,gBAAgB,cAAE,KAAK,CAAC,WAAW,GAAoB,EACxD,cAAK,SAAS,EAAC,kCAAkC,gCAA4B,MAAM,YAC9E,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACrB,MAAC,SAAS,IAEN,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,UAAU,EAAE,MAAM,CAAC,UAAU,KAAK,IAAI,EACtC,SAAS,EAAC,sCAAsC,yBAC5B,MAAM,aAE1B,MAAC,SAAS,CAAC,OAAO,IAAC,SAAS,EAAC,4BAA4B,gCAA4B,MAAM,aACvF,KAAC,SAAS,CAAC,OAAO,IAAC,SAAS,EAAC,4BAA4B,iCAA6B,OAAO,YACzF,KAAC,SAAS,CAAC,SAAS,KAAG,GACP,EACpB,KAAC,UAAU,cAAE,MAAM,CAAC,KAAK,GAAc,IACvB,EACpB,KAAC,gBAAgB,cAAE,MAAM,CAAC,WAAW,GAAoB,KAZpD,MAAM,CAAC,KAAK,CAaT,CACf,CAAC,GACA,EACN,KAAC,cAAc,cAAE,KAAK,CAAC,YAAY,GAAkB,IACxC,CACpB,CAAA"}
@@ -0,0 +1,24 @@
1
+ import { type ReactNode } from "react";
2
+ import { type FieldControlProps } from "../../primitive/Field/index.js";
3
+ export type SegmentOption = {
4
+ readonly value: string;
5
+ readonly label: ReactNode;
6
+ /** Required when `label` is an icon only. */
7
+ readonly accessibleLabel?: string;
8
+ readonly isDisabled?: boolean;
9
+ };
10
+ export type SegmentedControlProps = FieldControlProps & {
11
+ readonly options: ReadonlyArray<SegmentOption>;
12
+ readonly value?: string;
13
+ readonly defaultValue?: string;
14
+ readonly onValueChange?: (value: string) => void;
15
+ /** `fill` stretches the segments across the parent. */
16
+ readonly width?: "content" | "fill";
17
+ };
18
+ /**
19
+ * One-of-few choice drawn as joined segments (a toggle-button group in single-selection mode, so it
20
+ * is announced as a radio group). A segment is never deselected by pressing it again. With `name`,
21
+ * the selected value is submitted through a hidden input so it works inside a Form.
22
+ */
23
+ export declare const SegmentedControl: ({ options, value, defaultValue, onValueChange, width, label, isLabelHidden, description, errorMessage, isInvalid, isRequired, isDisabled, isReadOnly, name, }: SegmentedControlProps) => import("react").JSX.Element;
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/SegmentedControl/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACvD,OAAO,EAAwC,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAE7G,MAAM,MAAM,aAAa,GAAG;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,6CAA6C;IAC7C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GAAG;IACpD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;IAC9C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,uDAAuD;IACvD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;CACtC,CAAA;AAOD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,+JAe9B,qBAAqB,gCAkEvB,CAAA"}
@@ -0,0 +1,33 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { ToggleButton as HeroToggleButton, ToggleButtonGroup as HeroToggleButtonGroup } from "@heroui/react";
4
+ import { useId, useState } from "react";
5
+ import { fieldStateAttributes, isFieldInvalid } from "../../primitive/Field/index.js";
6
+ const firstKey = (keys) => {
7
+ for (const key of keys)
8
+ return String(key);
9
+ return undefined;
10
+ };
11
+ /**
12
+ * One-of-few choice drawn as joined segments (a toggle-button group in single-selection mode, so it
13
+ * is announced as a radio group). A segment is never deselected by pressing it again. With `name`,
14
+ * the selected value is submitted through a hidden input so it works inside a Form.
15
+ */
16
+ export const SegmentedControl = ({ options, value, defaultValue, onValueChange, width = "content", label, isLabelHidden, description, errorMessage, isInvalid, isRequired, isDisabled, isReadOnly, name, }) => {
17
+ const id = useId().replace(/:/g, "");
18
+ const [held, setHeld] = useState(value ?? defaultValue ?? options[0]?.value);
19
+ const selected = value ?? held;
20
+ const invalid = isFieldInvalid({ isInvalid, errorMessage });
21
+ const labelId = `segmented${id}-label`;
22
+ const descriptionId = description == null ? undefined : `segmented${id}-description`;
23
+ const errorId = invalid && errorMessage != null ? `segmented${id}-error` : undefined;
24
+ const describedBy = [descriptionId, errorId].filter((part) => part !== undefined).join(" ");
25
+ return (_jsxs("div", { "data-tier": "composite", "data-component": "SegmentedControl", "data-contract": "A11Y-1 FIELD-2", "data-width": width, className: "starci-core-field starci-core-segmented-control", ...fieldStateAttributes({ isInvalid: invalid, isDisabled, isReadOnly, isRequired }), children: [_jsx("span", { id: labelId, className: isLabelHidden === true ? "starci-core-field-label starci-core-form-label--screen-reader" : "starci-core-field-label", "data-grammar-field-label": "true", children: label }), _jsx(HeroToggleButtonGroup, { "aria-labelledby": labelId, ...(describedBy === "" ? {} : { "aria-describedby": describedBy }), selectionMode: "single", disallowEmptySelection: true, fullWidth: width === "fill", ...(isDisabled === true ? { isDisabled: true } : {}), selectedKeys: selected === undefined ? [] : [selected], onSelectionChange: (keys) => {
26
+ const next = firstKey(keys);
27
+ if (isReadOnly === true || next === undefined)
28
+ return;
29
+ setHeld(next);
30
+ onValueChange?.(next);
31
+ }, className: "starci-core-segmented-control-group", "data-grammar-field-control": "true", "data-contract": "STATE-6 FOCUS-2", children: options.map((option) => (_jsx(HeroToggleButton, { id: option.value, isDisabled: option.isDisabled === true, className: "starci-core-segment", "data-grammar-option": "true", ...(option.accessibleLabel === undefined ? {} : { "aria-label": option.accessibleLabel }), children: option.label }, option.value))) }), name === undefined || selected === undefined ? null : _jsx("input", { type: "hidden", name: name, value: selected }), descriptionId === undefined ? null : (_jsx("span", { id: descriptionId, className: "starci-core-field-description", "data-grammar-field-description": "true", children: description })), errorId === undefined ? null : (_jsx("span", { id: errorId, className: "starci-core-field-error", "data-grammar-field-error": "true", "data-contract": "FEEDBACK-1", children: errorMessage }))] }));
32
+ };
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/SegmentedControl/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,iBAAiB,IAAI,qBAAqB,EAAY,MAAM,eAAe,CAAA;AACtH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAA;AACvD,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAA0B,MAAM,gCAAgC,CAAA;AAmB7G,MAAM,QAAQ,GAAG,CAAC,IAAmB,EAAsB,EAAE;IACzD,KAAK,MAAM,GAAG,IAAI,IAAI;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;IAC1C,OAAO,SAAS,CAAA;AACpB,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC7B,OAAO,EACP,KAAK,EACL,YAAY,EACZ,aAAa,EACb,KAAK,GAAG,SAAS,EACjB,KAAK,EACL,aAAa,EACb,WAAW,EACX,YAAY,EACZ,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,IAAI,GACgB,EAAE,EAAE;IACxB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACpC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAqB,KAAK,IAAI,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IAChG,MAAM,QAAQ,GAAG,KAAK,IAAI,IAAI,CAAA;IAC9B,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAG,YAAY,EAAE,QAAQ,CAAA;IACtC,MAAM,aAAa,GAAG,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,EAAE,cAAc,CAAA;IACpF,MAAM,OAAO,GAAG,OAAO,IAAI,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;IACpF,MAAM,WAAW,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAE3F,OAAO,CACH,4BACc,WAAW,oBACN,kBAAkB,mBACnB,gBAAgB,gBAClB,KAAK,EACjB,SAAS,EAAC,iDAAiD,KACvD,oBAAoB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,aAEpF,eACI,EAAE,EAAE,OAAO,EACX,SAAS,EAAE,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,+DAA+D,CAAC,CAAC,CAAC,yBAAyB,8BACtG,MAAM,YAE9B,KAAK,GACH,EACP,KAAC,qBAAqB,uBACD,OAAO,KACpB,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,WAAW,EAAE,CAAC,EACnE,aAAa,EAAC,QAAQ,EACtB,sBAAsB,QACtB,SAAS,EAAE,KAAK,KAAK,MAAM,KACvB,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACrD,YAAY,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EACtD,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE;oBACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;oBAC3B,IAAI,UAAU,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;wBAAE,OAAM;oBACrD,OAAO,CAAC,IAAI,CAAC,CAAA;oBACb,aAAa,EAAE,CAAC,IAAI,CAAC,CAAA;gBACzB,CAAC,EACD,SAAS,EAAC,qCAAqC,gCACpB,MAAM,mBACnB,iBAAiB,YAE9B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACrB,KAAC,gBAAgB,IAEb,EAAE,EAAE,MAAM,CAAC,KAAK,EAChB,UAAU,EAAE,MAAM,CAAC,UAAU,KAAK,IAAI,EACtC,SAAS,EAAC,qBAAqB,yBACX,MAAM,KACtB,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,YAEzF,MAAM,CAAC,KAAK,IAPR,MAAM,CAAC,KAAK,CAQF,CACtB,CAAC,GACkB,EACvB,IAAI,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAO,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,GAAI,EAC1G,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAClC,eAAM,EAAE,EAAE,aAAa,EAAE,SAAS,EAAC,+BAA+B,oCAAgC,MAAM,YAAE,WAAW,GAAQ,CAChI,EACA,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC5B,eAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAC,yBAAyB,8BAA0B,MAAM,mBAAe,YAAY,YAAE,YAAY,GAAQ,CAC1I,IACC,CACT,CAAA;AACL,CAAC,CAAA"}
@@ -19,6 +19,11 @@ export type StaticStateRowData = {
19
19
  export type StaticStateRowProps = {
20
20
  readonly item: StaticStateRowData;
21
21
  };
22
- /** One non-interactive, product-neutral row in a Core-owned static collection. */
22
+ /**
23
+ * One non-interactive, product-neutral row in a Core-owned static collection.
24
+ *
25
+ * It is an `<li>`: render it inside a list - `SurfaceListCard` (whose collection is the list) or an
26
+ * app-owned `<ul>`/`<ol>` - never loose, where it would be a list item without a list.
27
+ */
23
28
  export declare const StaticStateRow: (props: StaticStateRowProps) => import("react").JSX.Element;
24
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/StaticStateRow/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAGrE;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAA;AAE7C,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAA;IAClC,mEAAmE;IACnE,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;CACpC,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,cAAc,GAAI,OAAO,mBAAmB,gCAqBxD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/StaticStateRow/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAGrE;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAA;AAE7C,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAA;IAClC,mEAAmE;IACnE,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;CACpC,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,mBAAmB,gCAqBxD,CAAA"}
@@ -2,7 +2,12 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { StateMark } from "../../StateMark.js";
3
3
  import { treatmentFor } from "../../state.js";
4
4
  import { staticRowClassName, staticRowCopyClassName } from "../../classNames.js";
5
- /** One non-interactive, product-neutral row in a Core-owned static collection. */
5
+ /**
6
+ * One non-interactive, product-neutral row in a Core-owned static collection.
7
+ *
8
+ * It is an `<li>`: render it inside a list - `SurfaceListCard` (whose collection is the list) or an
9
+ * app-owned `<ul>`/`<ol>` - never loose, where it would be a list item without a list.
10
+ */
6
11
  export const StaticStateRow = (props) => {
7
12
  const item = props.item;
8
13
  const state = item.state ?? "neutral";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/StaticStateRow/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAA0B,MAAM,gBAAgB,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAyBhF,kFAAkF;AAClF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,EAAE;IACzD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAA;IACrC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAErC,OAAO,CACH,cACI,SAAS,EAAE,kBAAkB,sBACZ,MAAM,wBACH,KAAK,4BACD,SAAS,CAAC,IAAI,kBACxB,IAAI,CAAC,OAAO,mBACZ,4BAA4B,aAE1C,KAAC,SAAS,IAAC,KAAK,EAAE,KAAK,GAAI,EAC3B,gBAAM,SAAS,EAAE,sBAAsB,mBAAgB,OAAO,aAC1D,yBAAO,IAAI,CAAC,KAAK,GAAQ,EACxB,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAO,IAAI,CAAC,WAAW,GAAQ,IACrE,IACN,CACR,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/StaticStateRow/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAA0B,MAAM,gBAAgB,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAyBhF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,EAAE;IACzD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAA;IACrC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAErC,OAAO,CACH,cACI,SAAS,EAAE,kBAAkB,sBACZ,MAAM,wBACH,KAAK,4BACD,SAAS,CAAC,IAAI,kBACxB,IAAI,CAAC,OAAO,mBACZ,4BAA4B,aAE1C,KAAC,SAAS,IAAC,KAAK,EAAE,KAAK,GAAI,EAC3B,gBAAM,SAAS,EAAE,sBAAsB,mBAAgB,OAAO,aAC1D,yBAAO,IAAI,CAAC,KAAK,GAAQ,EACxB,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAO,IAAI,CAAC,WAAW,GAAQ,IACrE,IACN,CACR,CAAA;AACL,CAAC,CAAA"}
@@ -0,0 +1,34 @@
1
+ import type { ReactNode } from "react";
2
+ export type StepperStepState = "complete" | "current" | "upcoming" | "error";
3
+ export type StepperStep = {
4
+ readonly id: string;
5
+ readonly label: string;
6
+ readonly description?: ReactNode;
7
+ /** Overrides the position-derived state, e.g. `error` for a step that failed validation. */
8
+ readonly state?: StepperStepState;
9
+ readonly isDisabled?: boolean;
10
+ };
11
+ export type StepperProps = {
12
+ /** Names the progress landmark, e.g. "Checkout progress". */
13
+ readonly label: string;
14
+ readonly steps: ReadonlyArray<StepperStep>;
15
+ readonly currentStepId: string;
16
+ readonly orientation?: "horizontal" | "vertical";
17
+ /** Present only when the reader may jump between steps; each step then becomes a button. */
18
+ readonly onStepSelect?: (id: string) => void;
19
+ /** App-owned assistive text per state, e.g. "completed". Omitted states are announced by position only. */
20
+ readonly stateLabel?: (state: StepperStepState) => string | undefined;
21
+ /** App-owned marker; defaults to the 1-based step number. */
22
+ readonly renderMarker?: (step: StepperStep, index: number, state: StepperStepState) => ReactNode;
23
+ readonly className?: string;
24
+ };
25
+ /** Position-derived state: before the current step is complete, after it is upcoming. */
26
+ export declare const stepStateFor: (steps: ReadonlyArray<StepperStep>, currentStepId: string, index: number) => StepperStepState;
27
+ /**
28
+ * A multi-step flow's progress. The current step carries `aria-current="step"`; each step exposes
29
+ * `data-grammar-step-state`. With `onStepSelect` the steps are buttons and the arrow keys move
30
+ * between them. Below 30rem a horizontal stepper keeps only the current step's label in the paint.
31
+ * Contract: list HIERARCHY-3 (+FOCUS-2 when interactive), step STATE-1, marker ICON-6, control FOCUS-1.
32
+ */
33
+ export declare const Stepper: ({ label, steps, currentStepId, orientation, onStepSelect, stateLabel, renderMarker, className, }: StepperProps) => import("react").JSX.Element;
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/Stepper/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAA;AAE5E,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAA;IAChC,4FAA4F;IAC5F,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;IAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IAChD,4FAA4F;IAC5F,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,2GAA2G;IAC3G,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,MAAM,GAAG,SAAS,CAAA;IACrE,6DAA6D;IAC7D,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,KAAK,SAAS,CAAA;IAChG,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,yFAAyF;AACzF,eAAO,MAAM,YAAY,GAAI,OAAO,aAAa,CAAC,WAAW,CAAC,EAAE,eAAe,MAAM,EAAE,OAAO,MAAM,KAAG,gBAMtG,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,kGASrB,YAAY,gCAuDd,CAAA"}
@@ -0,0 +1,27 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { moveFocusBetweenPeers } from "../../navigationKeys.js";
4
+ import { navigationClassName } from "../../navigationClassNames.js";
5
+ /** Position-derived state: before the current step is complete, after it is upcoming. */
6
+ export const stepStateFor = (steps, currentStepId, index) => {
7
+ const step = steps[index];
8
+ if (step?.state !== undefined)
9
+ return step.state;
10
+ const currentIndex = steps.findIndex((candidate) => candidate.id === currentStepId);
11
+ if (index === currentIndex)
12
+ return "current";
13
+ return currentIndex >= 0 && index < currentIndex ? "complete" : "upcoming";
14
+ };
15
+ /**
16
+ * A multi-step flow's progress. The current step carries `aria-current="step"`; each step exposes
17
+ * `data-grammar-step-state`. With `onStepSelect` the steps are buttons and the arrow keys move
18
+ * between them. Below 30rem a horizontal stepper keeps only the current step's label in the paint.
19
+ * Contract: list HIERARCHY-3 (+FOCUS-2 when interactive), step STATE-1, marker ICON-6, control FOCUS-1.
20
+ */
21
+ export const Stepper = ({ label, steps, currentStepId, orientation = "horizontal", onStepSelect, stateLabel, renderMarker, className, }) => (_jsx("nav", { "aria-label": label, className: navigationClassName("starci-core-stepper", className), "data-component": "Stepper", "data-tier": "composite", "data-grammar-stepper-orientation": orientation, "data-grammar-stepper-interactive": onStepSelect === undefined ? "false" : "true", children: _jsx("ol", { className: "starci-core-stepper-list", "data-contract": onStepSelect === undefined ? "HIERARCHY-3" : "HIERARCHY-3 FOCUS-2", onKeyDown: onStepSelect === undefined ? undefined : (event) => { moveFocusBetweenPeers(event, "[data-grammar-step-control]", orientation === "vertical" ? "vertical" : "horizontal"); }, children: steps.map((step, index) => {
22
+ const state = stepStateFor(steps, currentStepId, index);
23
+ const announcement = stateLabel?.(state);
24
+ const content = _jsxs(_Fragment, { children: [_jsx("span", { "aria-hidden": "true", className: "starci-core-step-marker", "data-contract": "ICON-6", "data-grammar-step-marker": "true", children: renderMarker === undefined ? index + 1 : renderMarker(step, index, state) }), _jsxs("span", { className: "starci-core-step-copy", children: [_jsx("span", { className: "starci-core-step-label", "data-grammar-step-label": "true", children: step.label }), announcement === undefined ? null : _jsx("span", { className: "starci-core-nav-visually-hidden", children: `, ${announcement}` }), step.description === undefined ? null : _jsx("span", { className: "starci-core-step-description", "data-grammar-step-description": "true", children: step.description })] })] });
25
+ return (_jsx("li", { "aria-current": state === "current" ? "step" : undefined, className: "starci-core-step", "data-contract": "STATE-1", "data-grammar-step-state": state, "data-grammar-current": state === "current" ? "true" : "false", children: onStepSelect === undefined ? (_jsx("span", { className: "starci-core-step-body", children: content })) : (_jsx("button", { className: "starci-core-step-body starci-core-step-control", "data-contract": "FOCUS-1", "data-grammar-step-control": "true", disabled: step.isDisabled === true, onClick: () => onStepSelect(step.id), type: "button", children: content })) }, step.id));
26
+ }) }) }));
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/Stepper/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { ReactNode } from "react";
2
+ export type TagGroupItem = {
3
+ readonly id: string;
4
+ readonly label: string;
5
+ readonly leading?: ReactNode;
6
+ readonly isDisabled?: boolean;
7
+ };
8
+ type TagGroupRemoval = {
9
+ /** Present only for removable chips. Delete/Backspace on a focused chip also removes it. */
10
+ readonly onRemove: (ids: ReadonlyArray<string>) => void;
11
+ /** App-owned accessible name of a chip's remove button, e.g. "Remove Design". */
12
+ readonly removeLabel: (label: string) => string;
13
+ } | {
14
+ readonly onRemove?: undefined;
15
+ readonly removeLabel?: undefined;
16
+ };
17
+ export type TagGroupProps = TagGroupRemoval & {
18
+ /** Names the set of tags/chips, e.g. "Filters". */
19
+ readonly label: string;
20
+ readonly items: ReadonlyArray<TagGroupItem>;
21
+ /** `none` renders static chips; `single`/`multiple` make them selectable filter chips. */
22
+ readonly selectionMode?: "none" | "single" | "multiple";
23
+ readonly selectedIds?: ReadonlyArray<string>;
24
+ readonly defaultSelectedIds?: ReadonlyArray<string>;
25
+ readonly onSelectionChange?: (ids: ReadonlyArray<string>) => void;
26
+ /** Shown when no items remain. */
27
+ readonly emptyContent?: ReactNode;
28
+ readonly size?: "sm" | "md" | "lg";
29
+ readonly className?: string;
30
+ };
31
+ /**
32
+ * Chips/tags: static labels, selectable filters, or removable tokens.
33
+ *
34
+ * Built on the vendor TagGroup, so arrow keys move between chips, Space/Enter toggle selection
35
+ * and Delete/Backspace remove. Each chip exposes `data-grammar-selected`; chips wrap onto new lines
36
+ * at narrow widths instead of overflowing.
37
+ * Contract: root CONTROL-STATE-3, list FOCUS-2, chip FOCUS-1, remove A11Y-2 ICON-5, empty STATE-3.
38
+ */
39
+ export declare const TagGroup: ({ label, items, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, onRemove, removeLabel, emptyContent, size, className, }: TagGroupProps) => import("react").JSX.Element;
40
+ export {};
41
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/TagGroup/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,KAAK,eAAe,GAAG;IACnB,4FAA4F;IAC5F,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IACvD,iFAAiF;IACjF,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;CAClD,GAAG;IACA,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG;IAC1C,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IAC3C,0FAA0F;IAC1F,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAA;IACvD,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC5C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACnD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IACjE,kCAAkC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAMD;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,GAAI,4IAYtB,aAAa,gCA0Cf,CAAA"}
@@ -0,0 +1,17 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { Tag as HeroTag, TagGroup as HeroTagGroup } from "@heroui/react";
4
+ import { navigationClassName } from "../../navigationClassNames.js";
5
+ const toIds = (selection, items) => selection === "all"
6
+ ? items.map((item) => item.id)
7
+ : [...selection].map(String);
8
+ /**
9
+ * Chips/tags: static labels, selectable filters, or removable tokens.
10
+ *
11
+ * Built on the vendor TagGroup, so arrow keys move between chips, Space/Enter toggle selection
12
+ * and Delete/Backspace remove. Each chip exposes `data-grammar-selected`; chips wrap onto new lines
13
+ * at narrow widths instead of overflowing.
14
+ * Contract: root CONTROL-STATE-3, list FOCUS-2, chip FOCUS-1, remove A11Y-2 ICON-5, empty STATE-3.
15
+ */
16
+ export const TagGroup = ({ label, items, selectionMode = "none", selectedIds, defaultSelectedIds, onSelectionChange, onRemove, removeLabel, emptyContent, size = "md", className, }) => (_jsx(HeroTagGroup, { "aria-label": label, className: navigationClassName("starci-core-tag-group", className), "data-component": "TagGroup", "data-contract": "CONTROL-STATE-3", "data-tier": "composite", "data-grammar-tag-selection": selectionMode, "data-grammar-tag-removable": onRemove === undefined ? "false" : "true", selectionMode: selectionMode, size: size, ...(selectedIds === undefined ? {} : { selectedKeys: new Set(selectedIds) }), ...(defaultSelectedIds === undefined ? {} : { defaultSelectedKeys: new Set(defaultSelectedIds) }), ...(onSelectionChange === undefined ? {} : { onSelectionChange: (selection) => onSelectionChange(toIds(selection, items)) }), ...(onRemove === undefined ? {} : { onRemove: (keys) => onRemove([...keys].map(String)) }), children: _jsx(HeroTagGroup.List, { className: "starci-core-tag-list", "data-contract": "FOCUS-2", ...(emptyContent === undefined ? {} : { renderEmptyState: () => _jsx("span", { className: "starci-core-tag-empty", "data-contract": "STATE-3", "data-grammar-tag-empty": "true", children: emptyContent }) }), children: items.map((item) => (_jsx(HeroTag, { id: item.id, className: "starci-core-tag", "data-contract": "FOCUS-1", "data-grammar-tag": "true", textValue: item.label, ...(item.isDisabled === undefined ? {} : { isDisabled: item.isDisabled }), children: ({ isSelected, allowsRemoving }) => _jsxs(_Fragment, { children: [_jsxs("span", { className: "starci-core-tag-label", "data-grammar-tag-label": "true", "data-grammar-selected": isSelected ? "true" : "false", children: [item.leading === undefined ? null : _jsx("span", { "aria-hidden": "true", className: "starci-core-tag-leading", "data-contract": "ICON-6", children: item.leading }), item.label] }), allowsRemoving ? _jsx(HeroTag.RemoveButton, { "aria-label": removeLabel?.(item.label) ?? item.label, className: "starci-core-tag-remove", "data-contract": "A11Y-2 ICON-5", "data-grammar-tag-remove": "true" }) : null] }) }, item.id))) }) }));
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/TagGroup/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { ReactNode } from "react";
2
+ import { type PresentationState } from "../../../common/state.js";
3
+ export type TimelineItem = {
4
+ readonly id: string;
5
+ readonly title: ReactNode;
6
+ /** A machine-readable instant for `<time dateTime>`; `timeLabel` is what the reader sees. */
7
+ readonly dateTime?: string;
8
+ readonly timeLabel?: ReactNode;
9
+ readonly description?: ReactNode;
10
+ readonly state?: PresentationState;
11
+ /** The entry the reader is at now (`aria-current="step"`). */
12
+ readonly isCurrent?: boolean;
13
+ /** App-owned marker glyph; defaults to a dot. */
14
+ readonly marker?: ReactNode;
15
+ };
16
+ export type TimelineProps = {
17
+ /** Names the list, e.g. "Order history". */
18
+ readonly label: string;
19
+ readonly items: ReadonlyArray<TimelineItem>;
20
+ readonly className?: string;
21
+ };
22
+ /**
23
+ * An ordered history of events. Each entry exposes `data-grammar-timeline-state` from the Common
24
+ * presentation states and `data-grammar-current`; the connector line is drawn by the stylesheet.
25
+ * Contract: list HIERARCHY-3, entry STATE-1 TRUTH-1 (closed presentation states, neutral default), marker ICON-6.
26
+ */
27
+ export declare const Timeline: ({ label, items, className }: TimelineProps) => import("react").JSX.Element;
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/Timeline/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAG1F,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,6FAA6F;IAC7F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAA;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAA;IAClC,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,iDAAiD;IACjD,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IACxB,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,6BAA6B,aAAa,gCAgClE,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { assertPresentationState } from "../../../common/state.js";
3
+ import { navigationClassName } from "../../navigationClassNames.js";
4
+ /**
5
+ * An ordered history of events. Each entry exposes `data-grammar-timeline-state` from the Common
6
+ * presentation states and `data-grammar-current`; the connector line is drawn by the stylesheet.
7
+ * Contract: list HIERARCHY-3, entry STATE-1 TRUTH-1 (closed presentation states, neutral default), marker ICON-6.
8
+ */
9
+ export const Timeline = ({ label, items, className }) => (_jsx("ol", { "aria-label": label, className: navigationClassName("starci-core-timeline", className), "data-component": "Timeline", "data-contract": "HIERARCHY-3", "data-tier": "composite", children: items.map((item) => {
10
+ const state = item.state ?? "neutral";
11
+ assertPresentationState(state);
12
+ return (_jsxs("li", { "aria-current": item.isCurrent ? "step" : undefined, className: "starci-core-timeline-item", "data-contract": "STATE-1 TRUTH-1", "data-grammar-timeline-state": state, "data-grammar-current": item.isCurrent ? "true" : "false", children: [_jsx("span", { "aria-hidden": "true", className: "starci-core-timeline-marker", "data-contract": "ICON-6", "data-grammar-timeline-marker": "true", children: item.marker }), _jsxs("div", { className: "starci-core-timeline-copy", children: [_jsx("p", { className: "starci-core-timeline-title", children: item.title }), item.timeLabel === undefined ? null : (_jsx("time", { className: "starci-core-timeline-time", ...(item.dateTime === undefined ? {} : { dateTime: item.dateTime }), children: item.timeLabel })), item.description === undefined ? null : _jsx("div", { className: "starci-core-timeline-description", children: item.description })] })] }, item.id));
13
+ }) }));
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/Timeline/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,uBAAuB,EAA0B,MAAM,0BAA0B,CAAA;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAuBnE;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAiB,EAAE,EAAE,CAAC,CACpE,2BACgB,KAAK,EACjB,SAAS,EAAE,mBAAmB,CAAC,sBAAsB,EAAE,SAAS,CAAC,oBAClD,UAAU,mBACX,aAAa,eACjB,WAAW,YAEpB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAA;QACrC,uBAAuB,CAAC,KAAK,CAAC,CAAA;QAC9B,OAAO,CACH,8BAEkB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACjD,SAAS,EAAC,2BAA2B,mBACvB,iBAAiB,iCACF,KAAK,0BACZ,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,aAEvD,8BAAkB,MAAM,EAAC,SAAS,EAAC,6BAA6B,mBAAe,QAAQ,kCAA8B,MAAM,YAAE,IAAI,CAAC,MAAM,GAAQ,EAChJ,eAAK,SAAS,EAAC,2BAA2B,aACtC,YAAG,SAAS,EAAC,4BAA4B,YAAE,IAAI,CAAC,KAAK,GAAK,EACzD,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACnC,eAAM,SAAS,EAAC,2BAA2B,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,YAAG,IAAI,CAAC,SAAS,GAAQ,CAC5I,EACA,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,kCAAkC,YAAE,IAAI,CAAC,WAAW,GAAO,IACjH,KAdD,IAAI,CAAC,EAAE,CAeX,CACR,CAAA;IACL,CAAC,CAAC,GACD,CACR,CAAA"}