@heymantle/litho 0.0.3 → 0.0.5

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 (369) hide show
  1. package/dist/cjs/components/ActionList.js +50 -16
  2. package/dist/cjs/components/AnnouncementBar.js +10 -3
  3. package/dist/cjs/components/AppProvider.js +10 -1
  4. package/dist/cjs/components/Autocomplete.js +55 -22
  5. package/dist/cjs/components/Badge.js +2 -1
  6. package/dist/cjs/components/Banner.js +35 -31
  7. package/dist/cjs/components/Box.js +5 -3
  8. package/dist/cjs/components/Button.js +78 -18
  9. package/dist/cjs/components/Card.js +6 -45
  10. package/dist/cjs/components/Checkbox.js +16 -6
  11. package/dist/cjs/components/ChoiceList.js +7 -4
  12. package/dist/cjs/components/ColorField.js +10 -5
  13. package/dist/cjs/components/DatePicker.js +13 -8
  14. package/dist/cjs/components/DropZone.js +33 -18
  15. package/dist/cjs/components/EmptyState.js +17 -9
  16. package/dist/cjs/components/Filters.js +36 -23
  17. package/dist/cjs/components/FooterHelp.js +7 -2
  18. package/dist/cjs/components/Form.js +18 -3
  19. package/dist/cjs/components/Frame.js +48 -23
  20. package/dist/cjs/components/FrameSaveBar.js +21 -12
  21. package/dist/cjs/components/HorizontalStack.js +9 -2
  22. package/dist/cjs/components/Icon.js +1 -0
  23. package/dist/cjs/components/Layout.js +3 -3
  24. package/dist/cjs/components/LayoutSection.js +2 -2
  25. package/dist/cjs/components/Link.js +6 -2
  26. package/dist/cjs/components/List.js +4 -3
  27. package/dist/cjs/components/Listbox.js +9 -4
  28. package/dist/cjs/components/Modal.js +26 -17
  29. package/dist/cjs/components/Navigation.js +30 -20
  30. package/dist/cjs/components/Page.js +8 -3
  31. package/dist/cjs/components/Pagination.js +11 -4
  32. package/dist/cjs/components/Pane.js +168 -41
  33. package/dist/cjs/components/Popover.js +59 -6
  34. package/dist/cjs/components/RangeSlider.js +11 -4
  35. package/dist/cjs/components/ResourceList.js +9 -3
  36. package/dist/cjs/components/Select.js +2 -0
  37. package/dist/cjs/components/Stack.js +223 -0
  38. package/dist/cjs/components/Table.js +33 -20
  39. package/dist/cjs/components/Tabs.js +41 -11
  40. package/dist/cjs/components/Text.js +8 -5
  41. package/dist/cjs/components/TextField.js +23 -13
  42. package/dist/cjs/components/Thumbnail.js +7 -2
  43. package/dist/cjs/components/TimePicker.js +7 -2
  44. package/dist/cjs/components/Tip.js +10 -4
  45. package/dist/cjs/components/Tooltip.js +16 -8
  46. package/dist/cjs/components/TopBar.js +17 -9
  47. package/dist/cjs/components/VerticalStack.js +8 -2
  48. package/dist/cjs/dev/verify-publish.js +37 -4
  49. package/dist/cjs/index.js +4 -0
  50. package/dist/cjs/postcss.config.js +21 -0
  51. package/dist/cjs/stories/ActionList.stories.js +365 -0
  52. package/dist/cjs/stories/AnnouncementBar.stories.js +244 -0
  53. package/dist/cjs/stories/Autocomplete.stories.js +874 -0
  54. package/dist/cjs/stories/Badge.stories.js +183 -0
  55. package/dist/cjs/stories/Banner.stories.js +201 -0
  56. package/dist/cjs/stories/Box.stories.js +601 -0
  57. package/dist/cjs/stories/Button.stories.js +325 -0
  58. package/dist/cjs/stories/ButtonGroup.stories.js +404 -0
  59. package/dist/cjs/stories/Card.stories.js +278 -0
  60. package/dist/cjs/stories/Checkbox.stories.js +266 -0
  61. package/dist/cjs/stories/ChoiceList.stories.js +885 -0
  62. package/dist/cjs/stories/Collapsible.stories.js +917 -0
  63. package/dist/cjs/stories/ColorField.stories.js +887 -0
  64. package/dist/cjs/stories/ContextualSaveBar.stories.js +971 -0
  65. package/dist/cjs/stories/DatePicker.stories.js +584 -0
  66. package/dist/cjs/stories/Divider.stories.js +766 -0
  67. package/dist/cjs/stories/DropZone.stories.js +1210 -0
  68. package/dist/cjs/stories/EmptyState.stories.js +296 -0
  69. package/dist/cjs/stories/Filters.stories.js +1355 -0
  70. package/dist/cjs/stories/FooterHelp.stories.js +874 -0
  71. package/dist/cjs/stories/Form.stories.js +943 -0
  72. package/dist/cjs/stories/Grid.stories.js +1199 -0
  73. package/dist/cjs/stories/HorizontalStack.stories.js +1064 -0
  74. package/dist/cjs/stories/Icon.stories.js +599 -0
  75. package/dist/cjs/stories/Image.stories.js +883 -0
  76. package/dist/cjs/stories/InlineError.stories.js +711 -0
  77. package/dist/cjs/stories/Label.stories.js +665 -0
  78. package/dist/cjs/stories/Layout.stories.js +687 -0
  79. package/dist/cjs/stories/LayoutSection.stories.js +1275 -0
  80. package/dist/cjs/stories/Link.stories.js +425 -0
  81. package/dist/cjs/stories/List.stories.js +1048 -0
  82. package/dist/cjs/stories/Listbox.stories.js +824 -0
  83. package/dist/cjs/stories/Loading.stories.js +909 -0
  84. package/dist/cjs/stories/Modal.stories.js +363 -0
  85. package/dist/cjs/stories/Navigation.stories.js +605 -0
  86. package/dist/cjs/stories/Page.stories.js +327 -0
  87. package/dist/cjs/stories/Pagination.stories.js +438 -0
  88. package/dist/cjs/stories/Pane.stories.js +1550 -0
  89. package/dist/cjs/stories/Popover.stories.js +641 -0
  90. package/dist/cjs/stories/PopoverManager.stories.js +1233 -0
  91. package/dist/cjs/stories/ProgressBar.stories.js +513 -0
  92. package/dist/cjs/stories/RadioButton.stories.js +642 -0
  93. package/dist/cjs/stories/RadioButtonCard.stories.js +816 -0
  94. package/dist/cjs/stories/RangeSlider.stories.js +896 -0
  95. package/dist/cjs/stories/ResourceList.stories.js +1076 -0
  96. package/dist/cjs/stories/Select.stories.js +413 -0
  97. package/dist/cjs/stories/SkeletonText.stories.js +777 -0
  98. package/dist/cjs/stories/Spinner.stories.js +403 -0
  99. package/dist/cjs/stories/Stack.stories.js +1397 -0
  100. package/dist/cjs/stories/Table.stories.js +628 -0
  101. package/dist/cjs/stories/Tabs.stories.js +722 -0
  102. package/dist/cjs/stories/Tag.stories.js +628 -0
  103. package/dist/cjs/stories/Text.stories.js +262 -0
  104. package/dist/cjs/stories/TextField.stories.js +377 -0
  105. package/dist/cjs/stories/Thumbnail.stories.js +863 -0
  106. package/dist/cjs/stories/TimePicker.stories.js +967 -0
  107. package/dist/cjs/stories/Tip.stories.js +753 -0
  108. package/dist/cjs/stories/Tooltip.stories.js +357 -0
  109. package/dist/cjs/stories/TopBar.stories.js +157 -0
  110. package/dist/cjs/stories/VerticalStack.stories.js +1287 -0
  111. package/dist/cjs/tailwind.config.js +17 -0
  112. package/dist/cjs/utilities/transformers.js +66 -0
  113. package/dist/cjs/vite.config.js +35 -0
  114. package/dist/esm/components/ActionList.js +41 -12
  115. package/dist/esm/components/AnnouncementBar.js +3 -1
  116. package/dist/esm/components/AppProvider.js +10 -1
  117. package/dist/esm/components/Autocomplete.js +44 -16
  118. package/dist/esm/components/Badge.js +2 -2
  119. package/dist/esm/components/Banner.js +20 -21
  120. package/dist/esm/components/Box.js +5 -4
  121. package/dist/esm/components/Button.js +68 -13
  122. package/dist/esm/components/Card.js +6 -4
  123. package/dist/esm/components/Checkbox.js +6 -1
  124. package/dist/esm/components/ChoiceList.js +7 -4
  125. package/dist/esm/components/ColorField.js +3 -3
  126. package/dist/esm/components/DatePicker.js +6 -1
  127. package/dist/esm/components/DropZone.js +14 -4
  128. package/dist/esm/components/EmptyState.js +6 -3
  129. package/dist/esm/components/Filters.js +14 -6
  130. package/dist/esm/components/FooterHelp.js +1 -1
  131. package/dist/esm/components/Form.js +18 -3
  132. package/dist/esm/components/Frame.js +27 -15
  133. package/dist/esm/components/FrameSaveBar.js +10 -6
  134. package/dist/esm/components/HorizontalStack.js +9 -2
  135. package/dist/esm/components/Icon.js +1 -0
  136. package/dist/esm/components/InlineError.js +1 -1
  137. package/dist/esm/components/Layout.js +4 -4
  138. package/dist/esm/components/LayoutSection.js +2 -2
  139. package/dist/esm/components/Link.js +6 -2
  140. package/dist/esm/components/List.js +4 -3
  141. package/dist/esm/components/Listbox.js +4 -4
  142. package/dist/esm/components/Modal.js +8 -4
  143. package/dist/esm/components/Navigation.js +16 -11
  144. package/dist/esm/components/Page.js +9 -4
  145. package/dist/esm/components/Pagination.js +3 -1
  146. package/dist/esm/components/Pane.js +165 -43
  147. package/dist/esm/components/Popover.js +18 -6
  148. package/dist/esm/components/RangeSlider.js +3 -1
  149. package/dist/esm/components/ResourceList.js +2 -1
  150. package/dist/esm/components/Select.js +2 -0
  151. package/dist/esm/components/Stack.js +213 -0
  152. package/dist/esm/components/Table.js +17 -4
  153. package/dist/esm/components/Tabs.js +41 -11
  154. package/dist/esm/components/Text.js +8 -6
  155. package/dist/esm/components/TextField.js +6 -1
  156. package/dist/esm/components/Thumbnail.js +1 -1
  157. package/dist/esm/components/TimePicker.js +1 -1
  158. package/dist/esm/components/Tip.js +3 -2
  159. package/dist/esm/components/Tooltip.js +4 -1
  160. package/dist/esm/components/TopBar.js +7 -4
  161. package/dist/esm/components/VerticalStack.js +8 -2
  162. package/dist/esm/dev/verify-publish.js +37 -4
  163. package/dist/esm/index.js +1 -0
  164. package/dist/esm/postcss.config.js +6 -0
  165. package/dist/esm/stories/ActionList.stories.js +327 -0
  166. package/dist/esm/stories/AnnouncementBar.stories.js +212 -0
  167. package/dist/esm/stories/Autocomplete.stories.js +836 -0
  168. package/dist/esm/stories/Badge.stories.js +138 -0
  169. package/dist/esm/stories/Banner.stories.js +159 -0
  170. package/dist/esm/stories/Box.stories.js +560 -0
  171. package/dist/esm/stories/Button.stories.js +277 -0
  172. package/dist/esm/stories/ButtonGroup.stories.js +357 -0
  173. package/dist/esm/stories/Card.stories.js +240 -0
  174. package/dist/esm/stories/Checkbox.stories.js +219 -0
  175. package/dist/esm/stories/ChoiceList.stories.js +835 -0
  176. package/dist/esm/stories/Collapsible.stories.js +879 -0
  177. package/dist/esm/stories/ColorField.stories.js +846 -0
  178. package/dist/esm/stories/ContextualSaveBar.stories.js +939 -0
  179. package/dist/esm/stories/DatePicker.stories.js +537 -0
  180. package/dist/esm/stories/Divider.stories.js +722 -0
  181. package/dist/esm/stories/DropZone.stories.js +1166 -0
  182. package/dist/esm/stories/EmptyState.stories.js +246 -0
  183. package/dist/esm/stories/Filters.stories.js +1317 -0
  184. package/dist/esm/stories/FooterHelp.stories.js +818 -0
  185. package/dist/esm/stories/Form.stories.js +908 -0
  186. package/dist/esm/stories/Grid.stories.js +1152 -0
  187. package/dist/esm/stories/HorizontalStack.stories.js +1011 -0
  188. package/dist/esm/stories/Icon.stories.js +558 -0
  189. package/dist/esm/stories/Image.stories.js +836 -0
  190. package/dist/esm/stories/InlineError.stories.js +667 -0
  191. package/dist/esm/stories/Label.stories.js +612 -0
  192. package/dist/esm/stories/Layout.stories.js +649 -0
  193. package/dist/esm/stories/LayoutSection.stories.js +1234 -0
  194. package/dist/esm/stories/Link.stories.js +381 -0
  195. package/dist/esm/stories/List.stories.js +992 -0
  196. package/dist/esm/stories/Listbox.stories.js +780 -0
  197. package/dist/esm/stories/Loading.stories.js +859 -0
  198. package/dist/esm/stories/Modal.stories.js +322 -0
  199. package/dist/esm/stories/Navigation.stories.js +567 -0
  200. package/dist/esm/stories/Page.stories.js +280 -0
  201. package/dist/esm/stories/Pagination.stories.js +394 -0
  202. package/dist/esm/stories/Pane.stories.js +1512 -0
  203. package/dist/esm/stories/Popover.stories.js +609 -0
  204. package/dist/esm/stories/PopoverManager.stories.js +1201 -0
  205. package/dist/esm/stories/ProgressBar.stories.js +472 -0
  206. package/dist/esm/stories/RadioButton.stories.js +598 -0
  207. package/dist/esm/stories/RadioButtonCard.stories.js +772 -0
  208. package/dist/esm/stories/RangeSlider.stories.js +849 -0
  209. package/dist/esm/stories/ResourceList.stories.js +1038 -0
  210. package/dist/esm/stories/Select.stories.js +363 -0
  211. package/dist/esm/stories/SkeletonText.stories.js +718 -0
  212. package/dist/esm/stories/Spinner.stories.js +362 -0
  213. package/dist/esm/stories/Stack.stories.js +1338 -0
  214. package/dist/esm/stories/Table.stories.js +584 -0
  215. package/dist/esm/stories/Tabs.stories.js +684 -0
  216. package/dist/esm/stories/Tag.stories.js +581 -0
  217. package/dist/esm/stories/Text.stories.js +217 -0
  218. package/dist/esm/stories/TextField.stories.js +332 -0
  219. package/dist/esm/stories/Thumbnail.stories.js +810 -0
  220. package/dist/esm/stories/TimePicker.stories.js +911 -0
  221. package/dist/esm/stories/Tip.stories.js +706 -0
  222. package/dist/esm/stories/Tooltip.stories.js +313 -0
  223. package/dist/esm/stories/TopBar.stories.js +116 -0
  224. package/dist/esm/stories/VerticalStack.stories.js +1240 -0
  225. package/dist/esm/tailwind.config.js +7 -0
  226. package/dist/esm/utilities/transformers.js +47 -0
  227. package/dist/esm/vite.config.js +20 -0
  228. package/dist/types/components/ActionList.d.ts +122 -0
  229. package/dist/types/components/ActionList.d.ts.map +1 -0
  230. package/dist/types/components/AnnouncementBar.d.ts +21 -0
  231. package/dist/types/components/AnnouncementBar.d.ts.map +1 -0
  232. package/dist/types/components/AppProvider.d.ts +61 -0
  233. package/dist/types/components/AppProvider.d.ts.map +1 -0
  234. package/dist/types/components/Autocomplete.d.ts +135 -0
  235. package/dist/types/components/Autocomplete.d.ts.map +1 -0
  236. package/dist/types/components/Badge.d.ts +21 -0
  237. package/dist/types/components/Badge.d.ts.map +1 -0
  238. package/dist/types/components/Banner.d.ts +78 -0
  239. package/dist/types/components/Banner.d.ts.map +1 -0
  240. package/dist/types/components/Box.d.ts +70 -0
  241. package/dist/types/components/Box.d.ts.map +1 -0
  242. package/dist/types/components/Button.d.ts +133 -0
  243. package/dist/types/components/Button.d.ts.map +1 -0
  244. package/dist/types/components/ButtonGroup.d.ts +26 -0
  245. package/dist/types/components/ButtonGroup.d.ts.map +1 -0
  246. package/dist/types/components/Card.d.ts +141 -0
  247. package/dist/types/components/Card.d.ts.map +1 -0
  248. package/dist/types/components/Checkbox.d.ts +56 -0
  249. package/dist/types/components/Checkbox.d.ts.map +1 -0
  250. package/dist/types/components/ChoiceList.d.ts +69 -0
  251. package/dist/types/components/ChoiceList.d.ts.map +1 -0
  252. package/dist/types/components/Collapsible.d.ts +17 -0
  253. package/dist/types/components/Collapsible.d.ts.map +1 -0
  254. package/dist/types/components/ColorField.d.ts +36 -0
  255. package/dist/types/components/ColorField.d.ts.map +1 -0
  256. package/dist/types/components/ContextualSaveBar.d.ts +22 -0
  257. package/dist/types/components/ContextualSaveBar.d.ts.map +1 -0
  258. package/dist/types/components/DatePicker.d.ts +66 -0
  259. package/dist/types/components/DatePicker.d.ts.map +1 -0
  260. package/dist/types/components/Divider.d.ts +21 -0
  261. package/dist/types/components/Divider.d.ts.map +1 -0
  262. package/dist/types/components/DropZone.d.ts +108 -0
  263. package/dist/types/components/DropZone.d.ts.map +1 -0
  264. package/dist/types/components/EmptyState.d.ts +52 -0
  265. package/dist/types/components/EmptyState.d.ts.map +1 -0
  266. package/dist/types/components/Filters.d.ts +168 -0
  267. package/dist/types/components/Filters.d.ts.map +1 -0
  268. package/dist/types/components/FooterHelp.d.ts +21 -0
  269. package/dist/types/components/FooterHelp.d.ts.map +1 -0
  270. package/dist/types/components/Form.d.ts +39 -0
  271. package/dist/types/components/Form.d.ts.map +1 -0
  272. package/dist/types/components/Frame.d.ts +51 -0
  273. package/dist/types/components/Frame.d.ts.map +1 -0
  274. package/dist/types/components/FrameSaveBar.d.ts +8 -0
  275. package/dist/types/components/FrameSaveBar.d.ts.map +1 -0
  276. package/dist/types/components/Grid.d.ts +39 -0
  277. package/dist/types/components/Grid.d.ts.map +1 -0
  278. package/dist/types/components/HorizontalStack.d.ts +36 -0
  279. package/dist/types/components/HorizontalStack.d.ts.map +1 -0
  280. package/dist/types/components/Icon.d.ts +43 -0
  281. package/dist/types/components/Icon.d.ts.map +1 -0
  282. package/dist/types/components/Image.d.ts +45 -0
  283. package/dist/types/components/Image.d.ts.map +1 -0
  284. package/dist/types/components/InlineError.d.ts +22 -0
  285. package/dist/types/components/InlineError.d.ts.map +1 -0
  286. package/dist/types/components/Label.d.ts +28 -0
  287. package/dist/types/components/Label.d.ts.map +1 -0
  288. package/dist/types/components/Layout.d.ts +44 -0
  289. package/dist/types/components/Layout.d.ts.map +1 -0
  290. package/dist/types/components/LayoutSection.d.ts +24 -0
  291. package/dist/types/components/LayoutSection.d.ts.map +1 -0
  292. package/dist/types/components/Link.d.ts +38 -0
  293. package/dist/types/components/Link.d.ts.map +1 -0
  294. package/dist/types/components/List.d.ts +33 -0
  295. package/dist/types/components/List.d.ts.map +1 -0
  296. package/dist/types/components/Listbox.d.ts +34 -0
  297. package/dist/types/components/Listbox.d.ts.map +1 -0
  298. package/dist/types/components/Loading.d.ts +13 -0
  299. package/dist/types/components/Loading.d.ts.map +1 -0
  300. package/dist/types/components/Modal.d.ts +75 -0
  301. package/dist/types/components/Modal.d.ts.map +1 -0
  302. package/dist/types/components/Navigation.d.ts +105 -0
  303. package/dist/types/components/Navigation.d.ts.map +1 -0
  304. package/dist/types/components/Page.d.ts +59 -0
  305. package/dist/types/components/Page.d.ts.map +1 -0
  306. package/dist/types/components/Pagination.d.ts +39 -0
  307. package/dist/types/components/Pagination.d.ts.map +1 -0
  308. package/dist/types/components/Pane.d.ts +11 -0
  309. package/dist/types/components/Pane.d.ts.map +1 -0
  310. package/dist/types/components/Popover.d.ts +56 -0
  311. package/dist/types/components/Popover.d.ts.map +1 -0
  312. package/dist/types/components/PopoverManager.d.ts +3 -0
  313. package/dist/types/components/PopoverManager.d.ts.map +1 -0
  314. package/dist/types/components/ProgressBar.d.ts +24 -0
  315. package/dist/types/components/ProgressBar.d.ts.map +1 -0
  316. package/dist/types/components/RadioButton.d.ts +39 -0
  317. package/dist/types/components/RadioButton.d.ts.map +1 -0
  318. package/dist/types/components/RadioButtonCard.d.ts +41 -0
  319. package/dist/types/components/RadioButtonCard.d.ts.map +1 -0
  320. package/dist/types/components/RangeSlider.d.ts +44 -0
  321. package/dist/types/components/RangeSlider.d.ts.map +1 -0
  322. package/dist/types/components/ResourceList.d.ts +54 -0
  323. package/dist/types/components/ResourceList.d.ts.map +1 -0
  324. package/dist/types/components/Select.d.ts +48 -0
  325. package/dist/types/components/Select.d.ts.map +1 -0
  326. package/dist/types/components/SkeletonText.d.ts +28 -0
  327. package/dist/types/components/SkeletonText.d.ts.map +1 -0
  328. package/dist/types/components/Spinner.d.ts +18 -0
  329. package/dist/types/components/Spinner.d.ts.map +1 -0
  330. package/dist/types/components/Stack.d.ts +49 -0
  331. package/dist/types/components/Stack.d.ts.map +1 -0
  332. package/dist/types/components/Table.d.ts +197 -0
  333. package/dist/types/components/Table.d.ts.map +1 -0
  334. package/dist/types/components/Tabs.d.ts +43 -0
  335. package/dist/types/components/Tabs.d.ts.map +1 -0
  336. package/dist/types/components/Tag.d.ts +26 -0
  337. package/dist/types/components/Tag.d.ts.map +1 -0
  338. package/dist/types/components/Text.d.ts +32 -0
  339. package/dist/types/components/Text.d.ts.map +1 -0
  340. package/dist/types/components/TextField.d.ts +109 -0
  341. package/dist/types/components/TextField.d.ts.map +1 -0
  342. package/dist/types/components/Thumbnail.d.ts +18 -0
  343. package/dist/types/components/Thumbnail.d.ts.map +1 -0
  344. package/dist/types/components/TimePicker.d.ts +3 -0
  345. package/dist/types/components/TimePicker.d.ts.map +1 -0
  346. package/dist/types/components/Tip.d.ts +23 -0
  347. package/dist/types/components/Tip.d.ts.map +1 -0
  348. package/dist/types/components/Tooltip.d.ts +84 -0
  349. package/dist/types/components/Tooltip.d.ts.map +1 -0
  350. package/dist/types/components/TopBar.d.ts +43 -0
  351. package/dist/types/components/TopBar.d.ts.map +1 -0
  352. package/dist/types/components/VerticalStack.d.ts +27 -0
  353. package/dist/types/components/VerticalStack.d.ts.map +1 -0
  354. package/dist/types/index.d.ts +63 -0
  355. package/dist/types/index.d.ts.map +1 -0
  356. package/dist/types/styles/Table.d.ts +1570 -0
  357. package/dist/types/styles/Table.d.ts.map +1 -0
  358. package/dist/types/utilities/dates.d.ts +46 -0
  359. package/dist/types/utilities/dates.d.ts.map +1 -0
  360. package/dist/types/utilities/transformers.d.ts +4 -0
  361. package/dist/types/utilities/transformers.d.ts.map +1 -0
  362. package/dist/types/utilities/useIndexResourceState.d.ts +21 -0
  363. package/dist/types/utilities/useIndexResourceState.d.ts.map +1 -0
  364. package/dist/types/utilities/useMounted.d.ts +2 -0
  365. package/dist/types/utilities/useMounted.d.ts.map +1 -0
  366. package/dist/types/utilities/useTableScrollState.d.ts +29 -0
  367. package/dist/types/utilities/useTableScrollState.d.ts.map +1 -0
  368. package/index.css +17 -0
  369. package/package.json +38 -7
@@ -47,10 +47,15 @@ function _unsupported_iterable_to_array(o, minLen) {
47
47
  }
48
48
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
49
49
  import { useEffect, useContext, useState, useMemo } from "react";
50
- import { DarkModeContext, FrameContext } from "./AppProvider.js";
50
+ import { useDarkMode, FrameContext } from "./AppProvider.js";
51
51
  import { tv } from "tailwind-variants";
52
52
  import { CancelMajor, SearchMajor, QuestionMarkInverseMajor } from "@shopify/polaris-icons";
53
- import { Button, Icon, FrameSaveBar, TopBar, Popover, ActionList } from "../index.js";
53
+ import Button from "./Button.js";
54
+ import Icon from "./Icon.js";
55
+ import FrameSaveBar from "./FrameSaveBar.js";
56
+ import TopBar from "./TopBar.js";
57
+ import Popover from "./Popover.js";
58
+ import ActionList from "./ActionList.js";
54
59
  var frameStyles = tv({
55
60
  base: "Litho-Frame bg-surface-normal",
56
61
  variants: {
@@ -154,15 +159,18 @@ var logoStyles = tv({
154
159
  * @param {number} props.logo.width - Width of the logo image.
155
160
  * @param {boolean} props.showSearchTrigger - Whether to show the search trigger.
156
161
  * @param {React.ReactNode} props.searchModal - Modal to render as the search modal.
157
- * @param {function} props.onToggleSearchModal - Function to toggle the search modal.
162
+ * @param {function} props.onToggleSearch - Function to toggle the search modal.
158
163
  * @param {string} [props.className] - Additional CSS classes for the Frame.
159
164
  * @param {React.ReactNode} props.children - Content to render within the Frame.
160
165
  * @param {boolean} [props.alwaysShowUserMenuInTopBar] - Whether to always show the user menu in the top bar.
161
166
  * @param {React.ReactNode} [props.headerAccessory] - Accessory to render in the header.
162
167
  * @returns {React.ReactElement} The rendered Frame component.
163
168
  */ var Frame = function(param) {
164
- var navigation = param.navigation, announcement = param.announcement, logo = param.logo, children = param.children, className = param.className, userMenu = param.userMenu, moreActions = param.moreActions, _param_showSearchTrigger = param.showSearchTrigger, showSearchTrigger = _param_showSearchTrigger === void 0 ? true : _param_showSearchTrigger, _param_alwaysShowUserMenuInTopBar = param.alwaysShowUserMenuInTopBar, alwaysShowUserMenuInTopBar = _param_alwaysShowUserMenuInTopBar === void 0 ? false : _param_alwaysShowUserMenuInTopBar, searchModal = param.searchModal, onToggleSearchModal = param.onToggleSearchModal, headerAccessory = param.headerAccessory;
165
- var darkMode = useContext(DarkModeContext).darkMode;
169
+ var navigation = param.navigation, announcement = param.announcement, logo = param.logo, children = param.children, className = param.className, userMenu = param.userMenu, moreActions = param.moreActions, _param_showSearchTrigger = param.showSearchTrigger, showSearchTrigger = _param_showSearchTrigger === void 0 ? true : _param_showSearchTrigger, _param_alwaysShowUserMenuInTopBar = param.alwaysShowUserMenuInTopBar, alwaysShowUserMenuInTopBar = _param_alwaysShowUserMenuInTopBar === void 0 ? false : _param_alwaysShowUserMenuInTopBar, _param_searchLabel = param.searchLabel, searchLabel = _param_searchLabel === void 0 ? "Search" : _param_searchLabel, _param_searchIcon = param.searchIcon, searchIcon = _param_searchIcon === void 0 ? /*#__PURE__*/ _jsx(Icon, {
170
+ source: SearchMajor,
171
+ color: "subdued"
172
+ }) : _param_searchIcon, searchModal = param.searchModal, onToggleSearch = param.onToggleSearch, headerAccessory = param.headerAccessory;
173
+ var darkMode = useDarkMode().darkMode;
166
174
  var _useContext = useContext(FrameContext), contentIsInIframe = _useContext.contentIsInIframe, contentIsFullPage = _useContext.contentIsFullPage, showMobileNavigation = _useContext.showMobileNavigation, setShowMobileNavigation = _useContext.setShowMobileNavigation, modalIsOpen = _useContext.modalIsOpen, paneIsOpen = _useContext.paneIsOpen, embedded = _useContext.embedded;
167
175
  var _useState = _sliced_to_array(useState(""), 2), searchTriggerShortcutText = _useState[0], setSearchTriggerShortcutText = _useState[1];
168
176
  useEffect(function() {
@@ -199,7 +207,7 @@ var logoStyles = tv({
199
207
  var handleSearchShortcut = function(e) {
200
208
  if ((e.metaKey || e.ctrlKey) && e.key === "k") {
201
209
  e.preventDefault();
202
- onToggleSearchModal();
210
+ onToggleSearch();
203
211
  }
204
212
  };
205
213
  window.addEventListener("keydown", handleSearchShortcut);
@@ -218,22 +226,19 @@ var logoStyles = tv({
218
226
  contentIsFullPage,
219
227
  navigation
220
228
  ]);
221
- var logoSource = darkMode ? logo.darkSource : logo.source;
229
+ var logoSource = logo ? darkMode ? logo === null || logo === void 0 ? void 0 : logo.darkSource : logo === null || logo === void 0 ? void 0 : logo.source : undefined;
222
230
  var searchTrigger = showSearchTrigger ? /*#__PURE__*/ _jsxs("div", {
223
231
  className: "w-full pl-2 pr-3 h-8 rounded-md flex items-center gap-2 cursor-pointer bg-tint-2 hover:bg-tint-3 active:bg-tint-4 dark:bg-tint-alt-2 dark:hover:bg-tint-alt-3 dark:active:bg-tint-alt-4",
224
232
  onClick: function() {
225
- return onToggleSearchModal();
233
+ return onToggleSearch();
226
234
  },
227
235
  children: [
228
- /*#__PURE__*/ _jsx(Icon, {
229
- source: SearchMajor,
230
- color: "subdued"
231
- }),
236
+ searchIcon,
232
237
  /*#__PURE__*/ _jsxs("div", {
233
238
  className: "flex-1 text-low flex items-center justify-between gap-1",
234
239
  children: [
235
240
  /*#__PURE__*/ _jsx("span", {
236
- children: "Search"
241
+ children: searchLabel
237
242
  }),
238
243
  /*#__PURE__*/ _jsx("span", {
239
244
  className: "text-xs text-lowest hidden @md:block",
@@ -257,13 +262,13 @@ var logoStyles = tv({
257
262
  modalIsOpen: modalIsOpen,
258
263
  alwaysShowLogo: alwaysShowLogo
259
264
  }),
260
- children: /*#__PURE__*/ _jsx("a", {
265
+ children: logo && /*#__PURE__*/ _jsx("a", {
261
266
  href: logo.url,
262
267
  className: "block py-1 px-2 relative -left-2 ".concat(logo.url ? " cursor-pointer" : ""),
263
268
  children: /*#__PURE__*/ _jsx("img", {
264
269
  src: logoSource,
265
270
  alt: logo.accessibilityLabel,
266
- style: (logo === null || logo === void 0 ? void 0 : logo.width) ? {
271
+ style: logo.width ? {
267
272
  width: logo.width
268
273
  } : undefined
269
274
  })
@@ -373,4 +378,11 @@ var logoStyles = tv({
373
378
  })
374
379
  });
375
380
  };
381
+ export var useFrame = function() {
382
+ var context = useContext(FrameContext);
383
+ if (!context) {
384
+ throw new Error("useFrame must be used within a FrameProvider");
385
+ }
386
+ return context;
387
+ };
376
388
  export default Frame;
@@ -47,10 +47,14 @@ function _unsupported_iterable_to_array(o, minLen) {
47
47
  }
48
48
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
49
49
  import { useContext, useEffect, useState } from "react";
50
- import { FormContext, DarkModeContext, FrameContext } from "./AppProvider.js";
50
+ import { FormContext, useDarkMode } from "./AppProvider.js";
51
51
  import { tv } from "tailwind-variants";
52
- import { Button, Text, Icon, Tooltip } from "../index.js";
52
+ import Button from "./Button.js";
53
+ import Text from "./Text.js";
54
+ import Icon from "./Icon.js";
55
+ import Tooltip from "./Tooltip.js";
53
56
  import { ChevronUpMinor, ChevronDownMinor } from "@shopify/polaris-icons";
57
+ import { useFrame } from "./Frame.js";
54
58
  var styles = tv({
55
59
  base: "Litho-FrameSaveBar fixed top-[var(--litho-header-offset)] right-0 left-0 h-[var(--litho-header-height)] px-4 @md:px-5 flex items-center gap-2 bg-surface-alternate dark:bg-brand transition-opacity transition-transform duration-300 transform",
56
60
  variants: {
@@ -96,8 +100,8 @@ var toggleStyles = tv({
96
100
  * @returns {JSX.Element} The rendered FrameSaveBar component
97
101
  */ function FrameSaveBar(param) {
98
102
  var logo = param.logo;
99
- var darkMode = useContext(DarkModeContext).darkMode;
100
- var paneIsOpen = useContext(FrameContext).paneIsOpen;
103
+ var darkMode = useDarkMode().darkMode;
104
+ var paneIsOpen = useFrame().paneIsOpen;
101
105
  var _useContext = useContext(FormContext), showGlobalContextualSaveBar = _useContext.showGlobalContextualSaveBar, message = _useContext.message, saveAction = _useContext.saveAction, discardAction = _useContext.discardAction;
102
106
  var _useState = _sliced_to_array(useState(false), 2), visible = _useState[0], setVisible = _useState[1];
103
107
  var _useState1 = _sliced_to_array(useState(false), 2), show = _useState1[0], setShow = _useState1[1];
@@ -123,7 +127,7 @@ var toggleStyles = tv({
123
127
  }, [
124
128
  showGlobalContextualSaveBar
125
129
  ]);
126
- var logoSource = darkMode ? logo.source : logo.darkSource;
130
+ var logoSource = logo ? darkMode ? logo === null || logo === void 0 ? void 0 : logo.source : logo === null || logo === void 0 ? void 0 : logo.darkSource : undefined;
127
131
  if (!visible) return null;
128
132
  return /*#__PURE__*/ _jsxs(_Fragment, {
129
133
  children: [
@@ -157,7 +161,7 @@ var toggleStyles = tv({
157
161
  children: [
158
162
  /*#__PURE__*/ _jsx("div", {
159
163
  className: "hidden @md:block py-1 px-0.5 w-51.5",
160
- children: /*#__PURE__*/ _jsx("img", {
164
+ children: logo && /*#__PURE__*/ _jsx("img", {
161
165
  src: logoSource,
162
166
  alt: logo.accessibilityLabel,
163
167
  style: (logo === null || logo === void 0 ? void 0 : logo.width) ? {
@@ -83,7 +83,13 @@ var styles = tv({
83
83
  base: "Litho-HorizontalStack flex flex-row",
84
84
  variants: {
85
85
  gap: {
86
- none: "",
86
+ none: "gap-0",
87
+ // Semantic values (recommended)
88
+ xs: "gap-1",
89
+ sm: "gap-2",
90
+ md: "gap-4",
91
+ lg: "gap-8",
92
+ // Numeric values (backwards compatibility)
87
93
  "0": "gap-0",
88
94
  "px": "gap-px",
89
95
  "0.5": "gap-0.5",
@@ -91,6 +97,7 @@ var styles = tv({
91
97
  "2": "gap-2",
92
98
  "3": "gap-3",
93
99
  "4": "gap-4",
100
+ "5": "gap-5",
94
101
  "6": "gap-6",
95
102
  "8": "gap-8",
96
103
  "10": "gap-10"
@@ -126,7 +133,7 @@ var styles = tv({
126
133
  * @param {Object} [props={}] - Component props.
127
134
  * @param {string} [props.as='div'] - The HTML element to render. Defaults to `div`.
128
135
  * @param {React.ReactNode} [props.children] - Child elements to render inside the stack.
129
- * @param {string} [props.gap] - Spacing between children. Options: 'none', '0', 'px', '0.5', '1', '2', '3', '4', '6', '8', '10'.
136
+ * @param {('none'|'xs'|'sm'|'md'|'lg'|'0'|'px'|'0.5'|'1'|'2'|'3'|'4'|'5'|'6'|'8'|'10')} [props.gap] - Spacing between children. Semantic options: 'none', 'xs' (1), 'sm' (2), 'md' (4), 'lg' (8). Numeric options: '0', 'px', '0.5', '1', '2', '3', '4', '5', '6', '8', '10'.
130
137
  * @param {string} [props.id] - Optional ID for the component.
131
138
  * @param {string} [props.className] - Additional custom class names to apply to the component.
132
139
  * @param {string} [props.align='start'] - Horizontal alignment of children. Options: 'start', 'center', 'end'.
@@ -33,6 +33,7 @@ var iconStyles = tv({
33
33
  default: "fill-higher",
34
34
  base: "fill-higher",
35
35
  subdued: "fill-low",
36
+ lower: "fill-lower",
36
37
  link: "fill-link",
37
38
  primary: "fill-link",
38
39
  alternate: "fill-alternate",
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { tv } from "tailwind-variants";
3
- import { default as Icon } from "./Icon.js";
3
+ import Icon from "./Icon.js";
4
4
  import { CircleAlertMajor } from "@shopify/polaris-icons";
5
5
  var styles = tv({
6
6
  base: "Litho-InlineError flex items-start justify-start gap-2"
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import React, { createContext, useContext, useMemo } from "react";
3
+ import React, { createContext, useMemo } from "react";
4
4
  import { tv } from "tailwind-variants";
5
- import { FrameContext } from "./AppProvider.js";
6
5
  import Section from "./LayoutSection.js";
7
6
  import Text from "./Text.js";
7
+ import { useFrame } from "./Frame.js";
8
8
  export var LayoutContext = /*#__PURE__*/ createContext();
9
9
  var styles = tv({
10
10
  base: "Litho-Layout flex flex-col gap-4 w-full max-w-full",
@@ -42,7 +42,7 @@ var styles = tv({
42
42
  * @returns {JSX.Element} The rendered layout component.
43
43
  */ function Layout() {
44
44
  var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
45
- var embedded = useContext(FrameContext).embedded;
45
+ var embedded = useFrame().embedded;
46
46
  var children = props.children;
47
47
  var analyzeChildren = function(children) {
48
48
  var depth = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
@@ -131,7 +131,7 @@ var annotatedSectionStyles = tv({
131
131
  */ function AnnotatedSection() {
132
132
  var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
133
133
  var children = props.children, title = props.title, description = props.description;
134
- var embedded = useContext(FrameContext).embedded;
134
+ var embedded = useFrame().embedded;
135
135
  var annotatedSectionClasses = annotatedSectionStyles({
136
136
  embedded: embedded
137
137
  });
@@ -2,8 +2,8 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import React, { useContext } from "react";
4
4
  import { tv } from "tailwind-variants";
5
- import { FrameContext } from "./AppProvider.js";
6
5
  import { LayoutContext } from "./Layout.js";
6
+ import { useFrame } from "./Frame.js";
7
7
  var sectionStyles = tv({
8
8
  base: "Litho-Layout__Section",
9
9
  variants: {
@@ -59,7 +59,7 @@ var sectionStyles = tv({
59
59
  */ function Section() {
60
60
  var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
61
61
  var children = props.children, _props_sidebar = props.sidebar, sidebar = _props_sidebar === void 0 ? false : _props_sidebar, className = props.className, sticky = props.sticky;
62
- var embedded = useContext(FrameContext).embedded;
62
+ var embedded = useFrame().embedded;
63
63
  var parentHasSidebar = useContext(LayoutContext).parentHasSidebar;
64
64
  var sectionClasses = sectionStyles({
65
65
  sidebar: sidebar,
@@ -91,11 +91,13 @@ var styles = tv({
91
91
  * @param {boolean} [props.removeUnderline=false] - If true, removes underline from the link.
92
92
  * @param {string} [props.accessibilityLabel] - Optional aria-label for accessibility.
93
93
  * @param {string} [props.dataPrimaryLink] - Optional data attribute for custom tracking.
94
- *
94
+ * @param {Function} [props.onMouseEnter] - Optional mouse enter event handler for the link.
95
+ * @param {Function} [props.onMouseLeave] - Optional mouse leave event handler for the link.
96
+ *
95
97
  * @returns {JSX.Element} Rendered link element.
96
98
  */ function Link() {
97
99
  var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
98
- var url = props.url, children = props.children, onClick = props.onClick, external = props.external, target = props.target, _props_bold = props.bold, bold = _props_bold === void 0 ? false : _props_bold, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, id = props.id, monochrome = props.monochrome, removeUnderline = props.removeUnderline, accessibilityLabel = props.accessibilityLabel, dataPrimaryLink = props.dataPrimaryLink, color = props.color, className = props.className;
100
+ var url = props.url, children = props.children, onClick = props.onClick, external = props.external, target = props.target, _props_bold = props.bold, bold = _props_bold === void 0 ? false : _props_bold, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, id = props.id, monochrome = props.monochrome, removeUnderline = props.removeUnderline, accessibilityLabel = props.accessibilityLabel, dataPrimaryLink = props.dataPrimaryLink, color = props.color, className = props.className, onMouseEnter = props.onMouseEnter, onMouseLeave = props.onMouseLeave;
99
101
  var classes = styles({
100
102
  monochrome: monochrome,
101
103
  removeUnderline: removeUnderline,
@@ -111,6 +113,8 @@ var styles = tv({
111
113
  id: id,
112
114
  "aria-label": accessibilityLabel,
113
115
  "data-primary-link": dataPrimaryLink,
116
+ onMouseEnter: onMouseEnter,
117
+ onMouseLeave: onMouseLeave,
114
118
  children: children
115
119
  });
116
120
  }
@@ -4,13 +4,14 @@ var styles = tv({
4
4
  base: "Litho-List list-outside ml-5",
5
5
  variants: {
6
6
  type: {
7
+ none: "ml-0",
7
8
  bullet: "list-disc",
8
9
  number: "list-decimal"
9
10
  },
10
11
  spacing: {
11
- loose: "space-y-2",
12
- normal: "space-y-1",
13
- tight: "space-y-0"
12
+ loose: "space-y-3",
13
+ normal: "space-y-2",
14
+ tight: "space-y-1"
14
15
  }
15
16
  }
16
17
  });
@@ -46,11 +46,11 @@ function _unsupported_iterable_to_array(o, minLen) {
46
46
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
47
47
  }
48
48
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
49
- import { FrameContext } from "./AppProvider.js";
50
- import { useContext, useState } from "react";
49
+ import { useState } from "react";
51
50
  import { MobileAcceptMajor } from "@shopify/polaris-icons";
52
51
  import { tv } from "tailwind-variants";
53
- import { Icon } from "../index.js";
52
+ import Icon from "./Icon.js";
53
+ import { useFrame } from "./Frame.js";
54
54
  var styles = tv({
55
55
  base: "Litho-Listbox__Option rounded-md cursor-pointer min-h-8 py-1 flex items-center justify-between pl-3 focus:outline-hidden active:ring-0",
56
56
  variants: {
@@ -108,7 +108,7 @@ var containerStyles = tv({
108
108
  */ function Listbox() {
109
109
  var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
110
110
  var options = props.options, _props_showIcon = props.showIcon, showIcon = _props_showIcon === void 0 ? false : _props_showIcon, _props_displayHorizontallyOnMobile = props.displayHorizontallyOnMobile, displayHorizontallyOnMobile = _props_displayHorizontallyOnMobile === void 0 ? false : _props_displayHorizontallyOnMobile, _props_icon = props.icon, icon = _props_icon === void 0 ? MobileAcceptMajor : _props_icon;
111
- var screenSizes = useContext(FrameContext).screenSizes;
111
+ var screenSizes = useFrame().screenSizes;
112
112
  var _useState = _sliced_to_array(useState(null), 2), removeVisualFocus = _useState[0], setRemoveVisualFocus = _useState[1];
113
113
  var handleKeyDown = function(e, index) {
114
114
  if (!options.length) return;
@@ -51,11 +51,15 @@ function _unsupported_iterable_to_array(o, minLen) {
51
51
  }
52
52
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
53
53
  import { ArrowLeftMinor, CancelMajor } from "@shopify/polaris-icons";
54
- import React, { createContext, useContext, useEffect, useLayoutEffect, useRef, useState } from "react";
54
+ import React, { createContext, useEffect, useLayoutEffect, useRef, useState } from "react";
55
55
  import { createPortal } from "react-dom";
56
56
  import { tv } from "tailwind-variants";
57
- import { FrameContext } from "./AppProvider.js";
58
- import { Button, Icon, Spinner, Text, Tooltip } from "../index.js";
57
+ import Button from "./Button.js";
58
+ import Icon from "./Icon.js";
59
+ import Spinner from "./Spinner.js";
60
+ import Text from "./Text.js";
61
+ import Tooltip from "./Tooltip.js";
62
+ import { useFrame } from "./Frame.js";
59
63
  export var ModalContext = /*#__PURE__*/ createContext(false);
60
64
  var containerStyles = tv({
61
65
  base: "Litho-ModalContainer fixed inset-0 block flex flex-col justify-end md:justify-center items-center pointer-events-none"
@@ -135,7 +139,7 @@ var sectionStyles = tv({
135
139
  */ function Modal() {
136
140
  var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
137
141
  var children = props.children, title = props.title, subtitle = props.subtitle, open = props.open, onClose = props.onClose, sectioned = props.sectioned, primaryAction = props.primaryAction, secondaryAction = props.secondaryAction, _props_secondaryActions = props.secondaryActions, secondaryActions = _props_secondaryActions === void 0 ? [] : _props_secondaryActions, destructiveAction = props.destructiveAction, loading = props.loading, _props_size = props.size, size = _props_size === void 0 ? "default" : _props_size, leftAccessory = props.leftAccessory, _props_hideCloseButton = props.hideCloseButton, hideCloseButton = _props_hideCloseButton === void 0 ? false : _props_hideCloseButton, backAction = props.backAction, zIndexOverride = props.zIndexOverride;
138
- var setModalIsOpen = useContext(FrameContext).setModalIsOpen;
142
+ var setModalIsOpen = useFrame().setModalIsOpen;
139
143
  var modalContentRef = useRef(null);
140
144
  var hasChildren = !!children;
141
145
  var classes = styles({
@@ -27,11 +27,12 @@ function _object_spread(target) {
27
27
  return target;
28
28
  }
29
29
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
30
- import { useContext } from "react";
31
- import { FrameContext } from "./AppProvider.js";
32
30
  import { tv } from "tailwind-variants";
33
- import { Badge, Icon, Text } from "../index.js";
31
+ import Badge from "./Badge.js";
32
+ import Icon from "./Icon.js";
33
+ import Text from "./Text.js";
34
34
  import { ChevronLeftMinor, ChevronRightMinor, ExternalMinor } from "@shopify/polaris-icons";
35
+ import { useFrame } from "./Frame.js";
35
36
  var styles = tv({
36
37
  base: "Litho-Navigation h-full w-full pt-12 @md:pt-0 pr-2.5 pb-3 @md:pb-0 flex flex-col gap-2 justify-between bg-surface-normal"
37
38
  });
@@ -69,7 +70,7 @@ var titleStyles = tv({
69
70
  */ function Navigation() {
70
71
  var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
71
72
  var breadcrumb = props.breadcrumb, sections = props.sections, footerLinks = props.footerLinks;
72
- var setShowMobileNavigation = useContext(FrameContext).setShowMobileNavigation;
73
+ var setShowMobileNavigation = useFrame().setShowMobileNavigation;
73
74
  var classes = styles(props);
74
75
  var sectionClasses = sectionStyles(props);
75
76
  return /*#__PURE__*/ _jsxs("div", {
@@ -83,7 +84,8 @@ var titleStyles = tv({
83
84
  label: breadcrumb.content || "Back",
84
85
  onAction: breadcrumb.onAction,
85
86
  icon: ChevronLeftMinor,
86
- keepNavigationOpen: breadcrumb.keepNavigationOpen
87
+ keepNavigationOpen: breadcrumb.keepNavigationOpen,
88
+ accessory: breadcrumb.accessory
87
89
  })
88
90
  }),
89
91
  sections && sections.map(function(section, index) {
@@ -170,11 +172,12 @@ var linkStyles = tv({
170
172
  * @param {boolean} [props.disclosure] - Whether the link has a disclosure icon.
171
173
  * @param {string} [props.iconDisplay] - Icon display style (e.g., "block", "inline").
172
174
  * @param {boolean} [props.keepNavigationOpen] - Whether to keep the navigation open.
175
+ * @param {React.ReactNode} [props.accessory] - Optional accessory to render.
173
176
  * @returns {JSX.Element} The rendered Link component.
174
177
  */ function Link() {
175
178
  var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
176
- var selected = props.selected, highlight = props.highlight, subLinks = props.subLinks, showSubLinksAsRegularLinks = props.showSubLinksAsRegularLinks, showDividerAbove = props.showDividerAbove, showDividerBelow = props.showDividerBelow, onAction = props.onAction, source = props.source, icon = props.icon, label = props.label, badge = props.badge, external = props.external, expanded = props.expanded, _props_iconDisplay = props.iconDisplay, iconDisplay = _props_iconDisplay === void 0 ? "block" : _props_iconDisplay, _props_keepNavigationOpen = props.keepNavigationOpen, keepNavigationOpen = _props_keepNavigationOpen === void 0 ? false : _props_keepNavigationOpen, _props_onlyShowOnMobile = props.onlyShowOnMobile, onlyShowOnMobile = _props_onlyShowOnMobile === void 0 ? false : _props_onlyShowOnMobile, _props_disclosure = props.disclosure, disclosure = _props_disclosure === void 0 ? false : _props_disclosure;
177
- var setShowMobileNavigation = useContext(FrameContext).setShowMobileNavigation;
179
+ var selected = props.selected, highlight = props.highlight, subLinks = props.subLinks, showSubLinksAsRegularLinks = props.showSubLinksAsRegularLinks, showDividerAbove = props.showDividerAbove, showDividerBelow = props.showDividerBelow, onAction = props.onAction, source = props.source, icon = props.icon, label = props.label, badge = props.badge, external = props.external, expanded = props.expanded, _props_iconDisplay = props.iconDisplay, iconDisplay = _props_iconDisplay === void 0 ? "block" : _props_iconDisplay, _props_keepNavigationOpen = props.keepNavigationOpen, keepNavigationOpen = _props_keepNavigationOpen === void 0 ? false : _props_keepNavigationOpen, _props_onlyShowOnMobile = props.onlyShowOnMobile, onlyShowOnMobile = _props_onlyShowOnMobile === void 0 ? false : _props_onlyShowOnMobile, _props_disclosure = props.disclosure, disclosure = _props_disclosure === void 0 ? false : _props_disclosure, accessory = props.accessory;
180
+ var setShowMobileNavigation = useFrame().setShowMobileNavigation;
178
181
  var subLinkIsSelected = subLinks === null || subLinks === void 0 ? void 0 : subLinks.some(function(subLink) {
179
182
  return subLink.selected;
180
183
  });
@@ -232,7 +235,7 @@ var linkStyles = tv({
232
235
  source: ChevronRightMinor,
233
236
  color: "subdued",
234
237
  className: "opacity-50"
235
- }) : null
238
+ }) : accessory ? accessory : null
236
239
  ]
237
240
  }),
238
241
  (expanded || selected || subLinkIsSelected || grandChildLinkIsSelected) && !disclosure && subLinks && /*#__PURE__*/ _jsx("div", {
@@ -276,15 +279,16 @@ var subLinkStyles = tv({
276
279
  * @param {string} [props.badge.status] - Badge status (e.g., "success", "warning").
277
280
  * @param {string} [props.badge.label] - Badge label.
278
281
  * @param {boolean} [props.keepNavigationOpen] - Whether to keep the navigation open.
282
+ * @param {React.ReactNode} [props.accessory] - Optional accessory to render.
279
283
  * @returns {JSX.Element} The rendered SubLink component.
280
284
  */ function SubLink() {
281
285
  var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
282
- var selected = props.selected, onAction = props.onAction, label = props.label, badge = props.badge, _props_keepNavigationOpen = props.keepNavigationOpen, keepNavigationOpen = _props_keepNavigationOpen === void 0 ? false : _props_keepNavigationOpen;
286
+ var selected = props.selected, onAction = props.onAction, label = props.label, badge = props.badge, _props_keepNavigationOpen = props.keepNavigationOpen, keepNavigationOpen = _props_keepNavigationOpen === void 0 ? false : _props_keepNavigationOpen, accessory = props.accessory;
283
287
  var subLinkClasses = subLinkStyles({
284
288
  selected: selected,
285
289
  hasAction: !!onAction
286
290
  });
287
- var setShowMobileNavigation = useContext(FrameContext).setShowMobileNavigation;
291
+ var setShowMobileNavigation = useFrame().setShowMobileNavigation;
288
292
  var handleClick = function() {
289
293
  onAction === null || onAction === void 0 ? void 0 : onAction();
290
294
  if (!keepNavigationOpen) {
@@ -313,7 +317,8 @@ var subLinkStyles = tv({
313
317
  badge && /*#__PURE__*/ _jsx(Badge, {
314
318
  status: badge.status,
315
319
  children: badge.label
316
- })
320
+ }),
321
+ accessory
317
322
  ]
318
323
  });
319
324
  }
@@ -110,14 +110,14 @@ function _unsupported_iterable_to_array(o, minLen) {
110
110
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
111
111
  }
112
112
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
113
- import React, { useContext, useRef, useState } from "react";
113
+ import React, { useRef, useState } from "react";
114
114
  import { tv } from "tailwind-variants";
115
- import { FrameContext } from "./AppProvider.js";
116
115
  import Text from "./Text.js";
117
116
  import Button from "./Button.js";
118
117
  import Popover from "./Popover.js";
119
118
  import ActionList from "./ActionList.js";
120
119
  import { ArrowLeftMinor, MobileHorizontalDotsMajor } from "@shopify/polaris-icons";
120
+ import { useFrame } from "./Frame.js";
121
121
  var styles = tv({
122
122
  base: "Litho-Page w-full mx-auto",
123
123
  variants: {
@@ -192,7 +192,9 @@ var contentStyles = tv({
192
192
  });
193
193
  /**
194
194
  * Page component that provides a structured layout with a header, primary and secondary actions, and content.
195
- *
195
+ *
196
+ * @component
197
+ *
196
198
  * @param {Object} props - Props for the component.
197
199
  * @param {string|React.ReactNode} props.title - The title of the page. Can be a string or React element.
198
200
  * @param {string|React.ReactNode} props.subtitle - The subtitle of the page. Can be a string or React element.
@@ -201,6 +203,8 @@ var contentStyles = tv({
201
203
  * @param {string} [props.backAction.accessibilityLabel] - Accessibility label for the back action button.
202
204
  * @param {boolean} [props.narrowWidth=false] - Whether to use a narrow width layout.
203
205
  * @param {boolean} [props.fullWidth=false] - Whether to use a full-width layout.
206
+ * @param {boolean} [props.showTitleInTopBar=true] - Whether to show the title in the top bar area.
207
+ * @param {boolean} [props.wrapInContentContainer=true] - Whether to wrap the content in a container with padding.
204
208
  * @param {Object} [props.primaryAction] - Configuration for the primary action button.
205
209
  * @param {Function} [props.primaryAction.onAction] - Callback when the primary action is triggered.
206
210
  * @param {boolean} [props.primaryAction.loading] - Whether the primary action button is in a loading state.
@@ -218,7 +222,7 @@ var contentStyles = tv({
218
222
  */ function Page() {
219
223
  var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
220
224
  var title = props.title, subtitle = props.subtitle, _props_showTitleInTopBar = props.showTitleInTopBar, showTitleInTopBar = _props_showTitleInTopBar === void 0 ? true : _props_showTitleInTopBar, tmp = props.backAction, _backAction = tmp === void 0 ? null : tmp, children = props.children, narrowWidth = props.narrowWidth, fullWidth = props.fullWidth, primaryAction = props.primaryAction, _props_secondaryActions = props.secondaryActions, secondaryActions = _props_secondaryActions === void 0 ? [] : _props_secondaryActions, titleMetadata = props.titleMetadata, _props_moreActionsLabel = props.moreActionsLabel, moreActionsLabel = _props_moreActionsLabel === void 0 ? "Actions" : _props_moreActionsLabel, _props_wrapInContentContainer = props.wrapInContentContainer, wrapInContentContainer = _props_wrapInContentContainer === void 0 ? true : _props_wrapInContentContainer, footerActions = props.footerActions, className = props.className;
221
- var paneIsOpen = useContext(FrameContext).paneIsOpen;
225
+ var paneIsOpen = useFrame().paneIsOpen;
222
226
  var detailsRef = useRef(null);
223
227
  var classes = styles({
224
228
  narrowWidth: narrowWidth,
@@ -377,6 +381,7 @@ var contentStyles = tv({
377
381
  activator: /*#__PURE__*/ _jsx(Button, {
378
382
  plain: true,
379
383
  disclosure: true,
384
+ icon: action.icon,
380
385
  onClick: function() {
381
386
  return togglePopover(index);
382
387
  },
@@ -28,7 +28,9 @@ function _object_spread(target) {
28
28
  }
29
29
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
30
30
  import { ChevronLeftMinor, ChevronRightMinor } from "@shopify/polaris-icons";
31
- import { Button, ButtonGroup, Tooltip } from "../index.js";
31
+ import Button from "./Button.js";
32
+ import ButtonGroup from "./ButtonGroup.js";
33
+ import Tooltip from "./Tooltip.js";
32
34
  /**
33
35
  * Pagination component for navigating between pages or steps.
34
36
  * Provides support for next and previous navigation with optional tooltips.