@heymantle/litho 0.0.3 → 0.0.4

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 (353) 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 +33 -11
  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 +34 -12
  9. package/dist/cjs/components/Card.js +5 -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 +8 -3
  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 +15 -7
  16. package/dist/cjs/components/Filters.js +32 -20
  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 +40 -15
  20. package/dist/cjs/components/FrameSaveBar.js +21 -12
  21. package/dist/cjs/components/Layout.js +3 -3
  22. package/dist/cjs/components/LayoutSection.js +2 -2
  23. package/dist/cjs/components/Link.js +6 -2
  24. package/dist/cjs/components/List.js +1 -0
  25. package/dist/cjs/components/Listbox.js +9 -4
  26. package/dist/cjs/components/Modal.js +26 -17
  27. package/dist/cjs/components/Navigation.js +30 -20
  28. package/dist/cjs/components/Page.js +8 -3
  29. package/dist/cjs/components/Pagination.js +11 -4
  30. package/dist/cjs/components/Pane.js +118 -35
  31. package/dist/cjs/components/Popover.js +59 -6
  32. package/dist/cjs/components/RangeSlider.js +11 -4
  33. package/dist/cjs/components/ResourceList.js +9 -3
  34. package/dist/cjs/components/Select.js +2 -0
  35. package/dist/cjs/components/Table.js +32 -19
  36. package/dist/cjs/components/Text.js +8 -5
  37. package/dist/cjs/components/TextField.js +23 -13
  38. package/dist/cjs/components/Thumbnail.js +7 -2
  39. package/dist/cjs/components/TimePicker.js +7 -2
  40. package/dist/cjs/components/Tip.js +10 -4
  41. package/dist/cjs/components/Tooltip.js +16 -8
  42. package/dist/cjs/components/TopBar.js +17 -9
  43. package/dist/cjs/dev/verify-publish.js +37 -4
  44. package/dist/cjs/postcss.config.js +21 -0
  45. package/dist/cjs/stories/ActionList.stories.js +365 -0
  46. package/dist/cjs/stories/AnnouncementBar.stories.js +244 -0
  47. package/dist/cjs/stories/Autocomplete.stories.js +871 -0
  48. package/dist/cjs/stories/Badge.stories.js +183 -0
  49. package/dist/cjs/stories/Banner.stories.js +201 -0
  50. package/dist/cjs/stories/Box.stories.js +599 -0
  51. package/dist/cjs/stories/Button.stories.js +325 -0
  52. package/dist/cjs/stories/ButtonGroup.stories.js +404 -0
  53. package/dist/cjs/stories/Card.stories.js +278 -0
  54. package/dist/cjs/stories/Checkbox.stories.js +266 -0
  55. package/dist/cjs/stories/ChoiceList.stories.js +884 -0
  56. package/dist/cjs/stories/Collapsible.stories.js +905 -0
  57. package/dist/cjs/stories/ColorField.stories.js +883 -0
  58. package/dist/cjs/stories/ContextualSaveBar.stories.js +970 -0
  59. package/dist/cjs/stories/DatePicker.stories.js +584 -0
  60. package/dist/cjs/stories/Divider.stories.js +759 -0
  61. package/dist/cjs/stories/DropZone.stories.js +1205 -0
  62. package/dist/cjs/stories/EmptyState.stories.js +296 -0
  63. package/dist/cjs/stories/Filters.stories.js +1353 -0
  64. package/dist/cjs/stories/FooterHelp.stories.js +869 -0
  65. package/dist/cjs/stories/Form.stories.js +940 -0
  66. package/dist/cjs/stories/Grid.stories.js +1199 -0
  67. package/dist/cjs/stories/HorizontalStack.stories.js +1064 -0
  68. package/dist/cjs/stories/Icon.stories.js +596 -0
  69. package/dist/cjs/stories/Image.stories.js +883 -0
  70. package/dist/cjs/stories/InlineError.stories.js +710 -0
  71. package/dist/cjs/stories/Label.stories.js +665 -0
  72. package/dist/cjs/stories/Layout.stories.js +685 -0
  73. package/dist/cjs/stories/LayoutSection.stories.js +1267 -0
  74. package/dist/cjs/stories/Link.stories.js +423 -0
  75. package/dist/cjs/stories/List.stories.js +1031 -0
  76. package/dist/cjs/stories/Listbox.stories.js +820 -0
  77. package/dist/cjs/stories/Loading.stories.js +900 -0
  78. package/dist/cjs/stories/Modal.stories.js +363 -0
  79. package/dist/cjs/stories/Navigation.stories.js +605 -0
  80. package/dist/cjs/stories/Page.stories.js +318 -0
  81. package/dist/cjs/stories/Pagination.stories.js +438 -0
  82. package/dist/cjs/stories/Pane.stories.js +1535 -0
  83. package/dist/cjs/stories/Popover.stories.js +637 -0
  84. package/dist/cjs/stories/PopoverManager.stories.js +1225 -0
  85. package/dist/cjs/stories/ProgressBar.stories.js +506 -0
  86. package/dist/cjs/stories/RadioButton.stories.js +642 -0
  87. package/dist/cjs/stories/RadioButtonCard.stories.js +816 -0
  88. package/dist/cjs/stories/RangeSlider.stories.js +892 -0
  89. package/dist/cjs/stories/ResourceList.stories.js +1067 -0
  90. package/dist/cjs/stories/Select.stories.js +413 -0
  91. package/dist/cjs/stories/SkeletonText.stories.js +776 -0
  92. package/dist/cjs/stories/Spinner.stories.js +396 -0
  93. package/dist/cjs/stories/Table.stories.js +628 -0
  94. package/dist/cjs/stories/Tabs.stories.js +723 -0
  95. package/dist/cjs/stories/Tag.stories.js +620 -0
  96. package/dist/cjs/stories/Text.stories.js +262 -0
  97. package/dist/cjs/stories/TextField.stories.js +377 -0
  98. package/dist/cjs/stories/Thumbnail.stories.js +859 -0
  99. package/dist/cjs/stories/TimePicker.stories.js +966 -0
  100. package/dist/cjs/stories/Tip.stories.js +753 -0
  101. package/dist/cjs/stories/Tooltip.stories.js +357 -0
  102. package/dist/cjs/stories/TopBar.stories.js +155 -0
  103. package/dist/cjs/stories/VerticalStack.stories.js +1287 -0
  104. package/dist/cjs/tailwind.config.js +17 -0
  105. package/dist/cjs/utilities/transformers.js +66 -0
  106. package/dist/cjs/vite.config.js +35 -0
  107. package/dist/esm/components/ActionList.js +41 -12
  108. package/dist/esm/components/AnnouncementBar.js +3 -1
  109. package/dist/esm/components/AppProvider.js +10 -1
  110. package/dist/esm/components/Autocomplete.js +21 -4
  111. package/dist/esm/components/Badge.js +2 -2
  112. package/dist/esm/components/Banner.js +20 -21
  113. package/dist/esm/components/Box.js +5 -4
  114. package/dist/esm/components/Button.js +24 -7
  115. package/dist/esm/components/Card.js +5 -4
  116. package/dist/esm/components/Checkbox.js +6 -1
  117. package/dist/esm/components/ChoiceList.js +7 -4
  118. package/dist/esm/components/ColorField.js +1 -1
  119. package/dist/esm/components/DatePicker.js +6 -1
  120. package/dist/esm/components/DropZone.js +14 -4
  121. package/dist/esm/components/EmptyState.js +4 -1
  122. package/dist/esm/components/Filters.js +10 -3
  123. package/dist/esm/components/FooterHelp.js +1 -1
  124. package/dist/esm/components/Form.js +18 -3
  125. package/dist/esm/components/Frame.js +18 -6
  126. package/dist/esm/components/FrameSaveBar.js +10 -6
  127. package/dist/esm/components/InlineError.js +1 -1
  128. package/dist/esm/components/Layout.js +4 -4
  129. package/dist/esm/components/LayoutSection.js +2 -2
  130. package/dist/esm/components/Link.js +6 -2
  131. package/dist/esm/components/List.js +1 -0
  132. package/dist/esm/components/Listbox.js +4 -4
  133. package/dist/esm/components/Modal.js +8 -4
  134. package/dist/esm/components/Navigation.js +16 -11
  135. package/dist/esm/components/Page.js +9 -4
  136. package/dist/esm/components/Pagination.js +3 -1
  137. package/dist/esm/components/Pane.js +114 -36
  138. package/dist/esm/components/Popover.js +18 -6
  139. package/dist/esm/components/RangeSlider.js +3 -1
  140. package/dist/esm/components/ResourceList.js +2 -1
  141. package/dist/esm/components/Select.js +2 -0
  142. package/dist/esm/components/Table.js +16 -3
  143. package/dist/esm/components/Text.js +8 -6
  144. package/dist/esm/components/TextField.js +6 -1
  145. package/dist/esm/components/Thumbnail.js +1 -1
  146. package/dist/esm/components/TimePicker.js +1 -1
  147. package/dist/esm/components/Tip.js +3 -2
  148. package/dist/esm/components/Tooltip.js +4 -1
  149. package/dist/esm/components/TopBar.js +7 -4
  150. package/dist/esm/dev/verify-publish.js +37 -4
  151. package/dist/esm/postcss.config.js +6 -0
  152. package/dist/esm/stories/ActionList.stories.js +327 -0
  153. package/dist/esm/stories/AnnouncementBar.stories.js +212 -0
  154. package/dist/esm/stories/Autocomplete.stories.js +833 -0
  155. package/dist/esm/stories/Badge.stories.js +138 -0
  156. package/dist/esm/stories/Banner.stories.js +159 -0
  157. package/dist/esm/stories/Box.stories.js +558 -0
  158. package/dist/esm/stories/Button.stories.js +277 -0
  159. package/dist/esm/stories/ButtonGroup.stories.js +357 -0
  160. package/dist/esm/stories/Card.stories.js +240 -0
  161. package/dist/esm/stories/Checkbox.stories.js +219 -0
  162. package/dist/esm/stories/ChoiceList.stories.js +834 -0
  163. package/dist/esm/stories/Collapsible.stories.js +867 -0
  164. package/dist/esm/stories/ColorField.stories.js +842 -0
  165. package/dist/esm/stories/ContextualSaveBar.stories.js +938 -0
  166. package/dist/esm/stories/DatePicker.stories.js +537 -0
  167. package/dist/esm/stories/Divider.stories.js +715 -0
  168. package/dist/esm/stories/DropZone.stories.js +1161 -0
  169. package/dist/esm/stories/EmptyState.stories.js +246 -0
  170. package/dist/esm/stories/Filters.stories.js +1315 -0
  171. package/dist/esm/stories/FooterHelp.stories.js +813 -0
  172. package/dist/esm/stories/Form.stories.js +905 -0
  173. package/dist/esm/stories/Grid.stories.js +1152 -0
  174. package/dist/esm/stories/HorizontalStack.stories.js +1011 -0
  175. package/dist/esm/stories/Icon.stories.js +555 -0
  176. package/dist/esm/stories/Image.stories.js +836 -0
  177. package/dist/esm/stories/InlineError.stories.js +666 -0
  178. package/dist/esm/stories/Label.stories.js +612 -0
  179. package/dist/esm/stories/Layout.stories.js +647 -0
  180. package/dist/esm/stories/LayoutSection.stories.js +1226 -0
  181. package/dist/esm/stories/Link.stories.js +379 -0
  182. package/dist/esm/stories/List.stories.js +975 -0
  183. package/dist/esm/stories/Listbox.stories.js +776 -0
  184. package/dist/esm/stories/Loading.stories.js +850 -0
  185. package/dist/esm/stories/Modal.stories.js +322 -0
  186. package/dist/esm/stories/Navigation.stories.js +567 -0
  187. package/dist/esm/stories/Page.stories.js +276 -0
  188. package/dist/esm/stories/Pagination.stories.js +394 -0
  189. package/dist/esm/stories/Pane.stories.js +1497 -0
  190. package/dist/esm/stories/Popover.stories.js +605 -0
  191. package/dist/esm/stories/PopoverManager.stories.js +1193 -0
  192. package/dist/esm/stories/ProgressBar.stories.js +465 -0
  193. package/dist/esm/stories/RadioButton.stories.js +598 -0
  194. package/dist/esm/stories/RadioButtonCard.stories.js +772 -0
  195. package/dist/esm/stories/RangeSlider.stories.js +845 -0
  196. package/dist/esm/stories/ResourceList.stories.js +1029 -0
  197. package/dist/esm/stories/Select.stories.js +363 -0
  198. package/dist/esm/stories/SkeletonText.stories.js +717 -0
  199. package/dist/esm/stories/Spinner.stories.js +355 -0
  200. package/dist/esm/stories/Table.stories.js +584 -0
  201. package/dist/esm/stories/Tabs.stories.js +685 -0
  202. package/dist/esm/stories/Tag.stories.js +573 -0
  203. package/dist/esm/stories/Text.stories.js +217 -0
  204. package/dist/esm/stories/TextField.stories.js +332 -0
  205. package/dist/esm/stories/Thumbnail.stories.js +806 -0
  206. package/dist/esm/stories/TimePicker.stories.js +910 -0
  207. package/dist/esm/stories/Tip.stories.js +706 -0
  208. package/dist/esm/stories/Tooltip.stories.js +313 -0
  209. package/dist/esm/stories/TopBar.stories.js +114 -0
  210. package/dist/esm/stories/VerticalStack.stories.js +1240 -0
  211. package/dist/esm/tailwind.config.js +7 -0
  212. package/dist/esm/utilities/transformers.js +47 -0
  213. package/dist/esm/vite.config.js +20 -0
  214. package/dist/types/components/ActionList.d.ts +122 -0
  215. package/dist/types/components/ActionList.d.ts.map +1 -0
  216. package/dist/types/components/AnnouncementBar.d.ts +21 -0
  217. package/dist/types/components/AnnouncementBar.d.ts.map +1 -0
  218. package/dist/types/components/AppProvider.d.ts +61 -0
  219. package/dist/types/components/AppProvider.d.ts.map +1 -0
  220. package/dist/types/components/Autocomplete.d.ts +130 -0
  221. package/dist/types/components/Autocomplete.d.ts.map +1 -0
  222. package/dist/types/components/Badge.d.ts +21 -0
  223. package/dist/types/components/Badge.d.ts.map +1 -0
  224. package/dist/types/components/Banner.d.ts +78 -0
  225. package/dist/types/components/Banner.d.ts.map +1 -0
  226. package/dist/types/components/Box.d.ts +70 -0
  227. package/dist/types/components/Box.d.ts.map +1 -0
  228. package/dist/types/components/Button.d.ts +123 -0
  229. package/dist/types/components/Button.d.ts.map +1 -0
  230. package/dist/types/components/ButtonGroup.d.ts +26 -0
  231. package/dist/types/components/ButtonGroup.d.ts.map +1 -0
  232. package/dist/types/components/Card.d.ts +139 -0
  233. package/dist/types/components/Card.d.ts.map +1 -0
  234. package/dist/types/components/Checkbox.d.ts +56 -0
  235. package/dist/types/components/Checkbox.d.ts.map +1 -0
  236. package/dist/types/components/ChoiceList.d.ts +69 -0
  237. package/dist/types/components/ChoiceList.d.ts.map +1 -0
  238. package/dist/types/components/Collapsible.d.ts +17 -0
  239. package/dist/types/components/Collapsible.d.ts.map +1 -0
  240. package/dist/types/components/ColorField.d.ts +36 -0
  241. package/dist/types/components/ColorField.d.ts.map +1 -0
  242. package/dist/types/components/ContextualSaveBar.d.ts +22 -0
  243. package/dist/types/components/ContextualSaveBar.d.ts.map +1 -0
  244. package/dist/types/components/DatePicker.d.ts +66 -0
  245. package/dist/types/components/DatePicker.d.ts.map +1 -0
  246. package/dist/types/components/Divider.d.ts +21 -0
  247. package/dist/types/components/Divider.d.ts.map +1 -0
  248. package/dist/types/components/DropZone.d.ts +108 -0
  249. package/dist/types/components/DropZone.d.ts.map +1 -0
  250. package/dist/types/components/EmptyState.d.ts +52 -0
  251. package/dist/types/components/EmptyState.d.ts.map +1 -0
  252. package/dist/types/components/Filters.d.ts +166 -0
  253. package/dist/types/components/Filters.d.ts.map +1 -0
  254. package/dist/types/components/FooterHelp.d.ts +21 -0
  255. package/dist/types/components/FooterHelp.d.ts.map +1 -0
  256. package/dist/types/components/Form.d.ts +39 -0
  257. package/dist/types/components/Form.d.ts.map +1 -0
  258. package/dist/types/components/Frame.d.ts +51 -0
  259. package/dist/types/components/Frame.d.ts.map +1 -0
  260. package/dist/types/components/FrameSaveBar.d.ts +8 -0
  261. package/dist/types/components/FrameSaveBar.d.ts.map +1 -0
  262. package/dist/types/components/Grid.d.ts +39 -0
  263. package/dist/types/components/Grid.d.ts.map +1 -0
  264. package/dist/types/components/HorizontalStack.d.ts +36 -0
  265. package/dist/types/components/HorizontalStack.d.ts.map +1 -0
  266. package/dist/types/components/Icon.d.ts +43 -0
  267. package/dist/types/components/Icon.d.ts.map +1 -0
  268. package/dist/types/components/Image.d.ts +45 -0
  269. package/dist/types/components/Image.d.ts.map +1 -0
  270. package/dist/types/components/InlineError.d.ts +22 -0
  271. package/dist/types/components/InlineError.d.ts.map +1 -0
  272. package/dist/types/components/Label.d.ts +28 -0
  273. package/dist/types/components/Label.d.ts.map +1 -0
  274. package/dist/types/components/Layout.d.ts +44 -0
  275. package/dist/types/components/Layout.d.ts.map +1 -0
  276. package/dist/types/components/LayoutSection.d.ts +24 -0
  277. package/dist/types/components/LayoutSection.d.ts.map +1 -0
  278. package/dist/types/components/Link.d.ts +38 -0
  279. package/dist/types/components/Link.d.ts.map +1 -0
  280. package/dist/types/components/List.d.ts +33 -0
  281. package/dist/types/components/List.d.ts.map +1 -0
  282. package/dist/types/components/Listbox.d.ts +34 -0
  283. package/dist/types/components/Listbox.d.ts.map +1 -0
  284. package/dist/types/components/Loading.d.ts +13 -0
  285. package/dist/types/components/Loading.d.ts.map +1 -0
  286. package/dist/types/components/Modal.d.ts +75 -0
  287. package/dist/types/components/Modal.d.ts.map +1 -0
  288. package/dist/types/components/Navigation.d.ts +105 -0
  289. package/dist/types/components/Navigation.d.ts.map +1 -0
  290. package/dist/types/components/Page.d.ts +59 -0
  291. package/dist/types/components/Page.d.ts.map +1 -0
  292. package/dist/types/components/Pagination.d.ts +39 -0
  293. package/dist/types/components/Pagination.d.ts.map +1 -0
  294. package/dist/types/components/Pane.d.ts +11 -0
  295. package/dist/types/components/Pane.d.ts.map +1 -0
  296. package/dist/types/components/Popover.d.ts +56 -0
  297. package/dist/types/components/Popover.d.ts.map +1 -0
  298. package/dist/types/components/PopoverManager.d.ts +3 -0
  299. package/dist/types/components/PopoverManager.d.ts.map +1 -0
  300. package/dist/types/components/ProgressBar.d.ts +24 -0
  301. package/dist/types/components/ProgressBar.d.ts.map +1 -0
  302. package/dist/types/components/RadioButton.d.ts +39 -0
  303. package/dist/types/components/RadioButton.d.ts.map +1 -0
  304. package/dist/types/components/RadioButtonCard.d.ts +41 -0
  305. package/dist/types/components/RadioButtonCard.d.ts.map +1 -0
  306. package/dist/types/components/RangeSlider.d.ts +44 -0
  307. package/dist/types/components/RangeSlider.d.ts.map +1 -0
  308. package/dist/types/components/ResourceList.d.ts +54 -0
  309. package/dist/types/components/ResourceList.d.ts.map +1 -0
  310. package/dist/types/components/Select.d.ts +48 -0
  311. package/dist/types/components/Select.d.ts.map +1 -0
  312. package/dist/types/components/SkeletonText.d.ts +28 -0
  313. package/dist/types/components/SkeletonText.d.ts.map +1 -0
  314. package/dist/types/components/Spinner.d.ts +18 -0
  315. package/dist/types/components/Spinner.d.ts.map +1 -0
  316. package/dist/types/components/Table.d.ts +197 -0
  317. package/dist/types/components/Table.d.ts.map +1 -0
  318. package/dist/types/components/Tabs.d.ts +41 -0
  319. package/dist/types/components/Tabs.d.ts.map +1 -0
  320. package/dist/types/components/Tag.d.ts +26 -0
  321. package/dist/types/components/Tag.d.ts.map +1 -0
  322. package/dist/types/components/Text.d.ts +32 -0
  323. package/dist/types/components/Text.d.ts.map +1 -0
  324. package/dist/types/components/TextField.d.ts +109 -0
  325. package/dist/types/components/TextField.d.ts.map +1 -0
  326. package/dist/types/components/Thumbnail.d.ts +18 -0
  327. package/dist/types/components/Thumbnail.d.ts.map +1 -0
  328. package/dist/types/components/TimePicker.d.ts +3 -0
  329. package/dist/types/components/TimePicker.d.ts.map +1 -0
  330. package/dist/types/components/Tip.d.ts +23 -0
  331. package/dist/types/components/Tip.d.ts.map +1 -0
  332. package/dist/types/components/Tooltip.d.ts +84 -0
  333. package/dist/types/components/Tooltip.d.ts.map +1 -0
  334. package/dist/types/components/TopBar.d.ts +43 -0
  335. package/dist/types/components/TopBar.d.ts.map +1 -0
  336. package/dist/types/components/VerticalStack.d.ts +27 -0
  337. package/dist/types/components/VerticalStack.d.ts.map +1 -0
  338. package/dist/types/index.d.ts +62 -0
  339. package/dist/types/index.d.ts.map +1 -0
  340. package/dist/types/styles/Table.d.ts +1570 -0
  341. package/dist/types/styles/Table.d.ts.map +1 -0
  342. package/dist/types/utilities/dates.d.ts +46 -0
  343. package/dist/types/utilities/dates.d.ts.map +1 -0
  344. package/dist/types/utilities/transformers.d.ts +4 -0
  345. package/dist/types/utilities/transformers.d.ts.map +1 -0
  346. package/dist/types/utilities/useIndexResourceState.d.ts +21 -0
  347. package/dist/types/utilities/useIndexResourceState.d.ts.map +1 -0
  348. package/dist/types/utilities/useMounted.d.ts +2 -0
  349. package/dist/types/utilities/useMounted.d.ts.map +1 -0
  350. package/dist/types/utilities/useTableScrollState.d.ts +29 -0
  351. package/dist/types/utilities/useTableScrollState.d.ts.map +1 -0
  352. package/index.css +6 -0
  353. package/package.json +37 -6
@@ -60,7 +60,14 @@ function _unsupported_iterable_to_array(o, minLen) {
60
60
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
61
61
  import { useEffect, useRef, useState } from "react";
62
62
  import { tv } from "tailwind-variants";
63
- import { Button, Icon, InlineError, Label, Link, SkeletonText, Spinner, Text } from "../index.js";
63
+ import Button from "./Button.js";
64
+ import Icon from "./Icon.js";
65
+ import InlineError from "./InlineError.js";
66
+ import Label from "./Label.js";
67
+ import Link from "./Link.js";
68
+ import SkeletonText from "./SkeletonText.js";
69
+ import Spinner from "./Spinner.js";
70
+ import Text from "./Text.js";
64
71
  import { CancelMajor, CircleAlertMajor, FileMinor, ImageMajor, ImagesMajor } from "@shopify/polaris-icons";
65
72
  var dropZoneStyles = tv({
66
73
  base: "Litho-DropZone w-full flex items-center justify-center p-4 border border-form-border border-dashed rounded-md focus:outline-hidden",
@@ -122,9 +129,12 @@ var dropZoneStyles = tv({
122
129
  * @returns {JSX.Element} DropZone component.
123
130
  */ function DropZone() {
124
131
  var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
125
- var id = props.id, label = props.label, labelHidden = props.labelHidden, labelAction = props.labelAction, tooltip = props.tooltip, labelVariant = props.labelVariant, _props_type = props.type, type = _props_type === void 0 ? "file" : _props_type, _props_accept = props.accept, accept = _props_accept === void 0 ? typeof props.accept === "string" ? [
126
- props.accept
127
- ] : props.accept : _props_accept, _props_allowMultiple = props.allowMultiple, allowMultiple = _props_allowMultiple === void 0 ? false : _props_allowMultiple, _props_showDropZoneWhenDisabled = props.showDropZoneWhenDisabled, showDropZoneWhenDisabled = _props_showDropZoneWhenDisabled === void 0 ? true : _props_showDropZoneWhenDisabled, _disabled = props.disabled, onDrop = props.onDrop, onDropAccepted = props.onDropAccepted, onDropRejected = props.onDropRejected, helpText = props.helpText, error = props.error, _props_uploading = props.uploading, uploading = _props_uploading === void 0 ? false : _props_uploading, _props_uploadedFiles = props.uploadedFiles, uploadedFiles = _props_uploadedFiles === void 0 ? [] : _props_uploadedFiles, _props_uploadLabel = props.uploadLabel, uploadLabel = _props_uploadLabel === void 0 ? "Drag and drop files or click to upload" : _props_uploadLabel, _props_uploadingLabel = props.uploadingLabel, uploadingLabel = _props_uploadingLabel === void 0 ? "Uploading..." : _props_uploadingLabel, _props_dragLabel = props.dragLabel, dragLabel = _props_dragLabel === void 0 ? "Release to upload" : _props_dragLabel, tmp = props.showFilePreview, _showFilePreview = tmp === void 0 ? true : tmp, previewLoading = props.previewLoading, _props_previewRows = props.previewRows, previewRows = _props_previewRows === void 0 ? 2 : _props_previewRows, onRemove = props.onRemove, onFilePreviewClick = props.onFilePreviewClick, filename = props.filename;
132
+ var id = props.id, label = props.label, labelHidden = props.labelHidden, labelAction = props.labelAction, tooltip = props.tooltip, labelVariant = props.labelVariant, _props_type = props.type, type = _props_type === void 0 ? "file" : _props_type, _accept = props.accept, _props_allowMultiple = props.allowMultiple, allowMultiple = _props_allowMultiple === void 0 ? false : _props_allowMultiple, _props_showDropZoneWhenDisabled = props.showDropZoneWhenDisabled, showDropZoneWhenDisabled = _props_showDropZoneWhenDisabled === void 0 ? true : _props_showDropZoneWhenDisabled, _disabled = props.disabled, onDrop = props.onDrop, onDropAccepted = props.onDropAccepted, onDropRejected = props.onDropRejected, helpText = props.helpText, error = props.error, _props_uploading = props.uploading, uploading = _props_uploading === void 0 ? false : _props_uploading, _props_uploadedFiles = props.uploadedFiles, uploadedFiles = _props_uploadedFiles === void 0 ? [] : _props_uploadedFiles, _props_uploadLabel = props.uploadLabel, uploadLabel = _props_uploadLabel === void 0 ? "Drag and drop files or click to upload" : _props_uploadLabel, _props_uploadingLabel = props.uploadingLabel, uploadingLabel = _props_uploadingLabel === void 0 ? "Uploading..." : _props_uploadingLabel, _props_dragLabel = props.dragLabel, dragLabel = _props_dragLabel === void 0 ? "Release to upload" : _props_dragLabel, tmp = props.showFilePreview, _showFilePreview = tmp === void 0 ? true : tmp, previewLoading = props.previewLoading, _props_previewRows = props.previewRows, previewRows = _props_previewRows === void 0 ? 2 : _props_previewRows, onRemove = props.onRemove, onFilePreviewClick = props.onFilePreviewClick, filename = props.filename;
133
+ var accept = _accept ? typeof _accept === "string" ? [
134
+ _accept
135
+ ] : _accept : [
136
+ "*/*"
137
+ ];
128
138
  var inputRef = useRef(null);
129
139
  var _useState = _sliced_to_array(useState(false), 2), hasFocusWithin = _useState[0], setHasFocusWithin = _useState[1];
130
140
  var _useState1 = _sliced_to_array(useState(false), 2), isDraggingOver = _useState1[0], setIsDraggingOver = _useState1[1];
@@ -1,5 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Button, Image, Text, ProgressBar } from "../index.js";
2
+ import Button from "./Button.js";
3
+ import Image from "./Image.js";
4
+ import Text from "./Text.js";
5
+ import ProgressBar from "./ProgressBar.js";
3
6
  import { tv } from "tailwind-variants";
4
7
  var styles = tv({
5
8
  base: "Litho-EmptyState py-16 px-4 flex flex-col items-center text-center gap-6"
@@ -112,9 +112,16 @@ function _unsupported_iterable_to_array(o, minLen) {
112
112
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
113
113
  import React, { useContext, useEffect, useRef, useState } from "react";
114
114
  import { tv } from "tailwind-variants";
115
- import { ActionList, Button, Icon, Link, Popover, Text, TextField, Tooltip } from "../index.js";
115
+ import ActionList from "./ActionList.js";
116
+ import Button from "./Button.js";
117
+ import Icon from "./Icon.js";
118
+ import Link from "./Link.js";
119
+ import Popover from "./Popover.js";
120
+ import Text from "./Text.js";
121
+ import TextField from "./TextField.js";
122
+ import Tooltip from "./Tooltip.js";
116
123
  import { CancelSmallMinor, CaretDownMinor, DeleteMinor, HorizontalDotsMinor, PlusMinor, SearchMajor, ChevronLeftMinor, ChevronRightMinor } from "@shopify/polaris-icons";
117
- import { DarkModeContext } from "./AppProvider.js";
124
+ import { useDarkMode } from "./AppProvider.js";
118
125
  var styles = tv({
119
126
  base: "Litho-Filters flex items-center",
120
127
  variants: {
@@ -800,7 +807,7 @@ var tabActionIconStyles = tv({
800
807
  * @returns {JSX.Element} The text field component.
801
808
  */ Filters.TextField = function FiltersTextField() {
802
809
  var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
803
- var darkMode = useContext(DarkModeContext).darkMode;
810
+ var darkMode = useDarkMode().darkMode;
804
811
  var queryValue = props.queryValue, onQueryChange = props.onQueryChange, onQueryBlur = props.onQueryBlur, onQueryFocus = props.onQueryFocus, onQueryClear = props.onQueryClear, _props_queryPlaceholder = props.queryPlaceholder, queryPlaceholder = _props_queryPlaceholder === void 0 ? "Search" : _props_queryPlaceholder, disableQueryField = props.disableQueryField;
805
812
  return /*#__PURE__*/ _jsx("div", {
806
813
  className: "p-1",
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Icon } from "../index.js";
2
+ import Icon from "./Icon.js";
3
3
  import { CircleInformationMajor } from "@shopify/polaris-icons";
4
4
  /**
5
5
  * Renders a `FooterHelp` component, which provides additional information
@@ -1,11 +1,26 @@
1
1
  /**
2
- * A reusable Form component.
2
+ * A reusable Form component that provides a structured HTML form with customizable attributes and submission handling.
3
3
  *
4
+ * @component
4
5
  * @param {Object} [props={}] - The properties passed to the component.
5
- * @param {string} [props.method="get"] - The HTTP method for the form submission.
6
- * @param {function} [props.onSubmit] - The function to call when the form is submitted.
6
+ * @param {string} [props.acceptCharset] - The character encoding that the form accepts.
7
+ * @param {string} [props.action] - The URL where the form data should be submitted.
8
+ * @param {string} [props.autoComplete] - Whether the form should have autocomplete enabled. Can be "on" or "off".
7
9
  * @param {React.ReactNode} [props.children] - The child elements to be rendered inside the form.
10
+ * @param {string} [props.encType] - The encoding type for the form submission (e.g., "multipart/form-data", "application/x-www-form-urlencoded").
11
+ * @param {string} [props.method="post"] - The HTTP method for the form submission. Can be "get", "post", etc.
12
+ * @param {string} [props.name] - The name attribute for the form element.
13
+ * @param {boolean} [props.noValidate] - Whether to disable HTML5 form validation.
14
+ * @param {boolean} [props.preventDefault=true] - Whether to prevent the default form submission behavior.
15
+ * @param {string} [props.target] - The target window or frame for the form submission (e.g., "_blank", "_self").
16
+ * @param {Function} [props.onSubmit] - The function to call when the form is submitted. Receives the form event as a parameter.
8
17
  * @returns {JSX.Element} The rendered form component.
18
+ *
19
+ * @example
20
+ * <Form onSubmit={(event) => console.log('Form submitted')}>
21
+ * <TextField label="Name" />
22
+ * <Button submit>Submit</Button>
23
+ * </Form>
9
24
  */ import { jsx as _jsx } from "react/jsx-runtime";
10
25
  function Form() {
11
26
  var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
@@ -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: {
@@ -162,7 +167,7 @@ var logoStyles = tv({
162
167
  * @returns {React.ReactElement} The rendered Frame component.
163
168
  */ var Frame = function(param) {
164
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, searchModal = param.searchModal, onToggleSearchModal = param.onToggleSearchModal, headerAccessory = param.headerAccessory;
165
- var darkMode = useContext(DarkModeContext).darkMode;
170
+ var darkMode = useDarkMode().darkMode;
166
171
  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
172
  var _useState = _sliced_to_array(useState(""), 2), searchTriggerShortcutText = _useState[0], setSearchTriggerShortcutText = _useState[1];
168
173
  useEffect(function() {
@@ -218,7 +223,7 @@ var logoStyles = tv({
218
223
  contentIsFullPage,
219
224
  navigation
220
225
  ]);
221
- var logoSource = darkMode ? logo.darkSource : logo.source;
226
+ var logoSource = logo ? darkMode ? logo === null || logo === void 0 ? void 0 : logo.darkSource : logo === null || logo === void 0 ? void 0 : logo.source : undefined;
222
227
  var searchTrigger = showSearchTrigger ? /*#__PURE__*/ _jsxs("div", {
223
228
  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
229
  onClick: function() {
@@ -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) ? {
@@ -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,6 +4,7 @@ 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
  },
@@ -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.