@heymantle/litho 0.0.14 → 0.0.16

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 (381) hide show
  1. package/AI_COMPONENTS_GUIDE.md +28 -15
  2. package/AI_INTEGRATION_GUIDE.md +3 -3
  3. package/AI_PATTERNS_GUIDE.md +59 -25
  4. package/COMPONENT_QUICK_REFERENCE.md +3 -3
  5. package/README.md +52 -0
  6. package/dist/cjs/components/ActionList.js +33 -25
  7. package/dist/cjs/components/AnnouncementBar.js +115 -18
  8. package/dist/cjs/components/AnnouncementCard.js +269 -0
  9. package/dist/cjs/components/AppProvider.js +15 -2
  10. package/dist/cjs/components/Autocomplete.js +58 -36
  11. package/dist/cjs/components/Badge.js +28 -14
  12. package/dist/cjs/components/Banner.js +37 -27
  13. package/dist/cjs/components/Box.js +50 -38
  14. package/dist/cjs/components/Button.js +338 -109
  15. package/dist/cjs/components/ButtonGroup.js +27 -14
  16. package/dist/cjs/components/Card.js +311 -143
  17. package/dist/cjs/components/Checkbox.js +55 -47
  18. package/dist/cjs/components/CheckboxCard.js +222 -0
  19. package/dist/cjs/components/CheckboxCardGroup.js +384 -0
  20. package/dist/cjs/components/ChoiceList.js +21 -11
  21. package/dist/cjs/components/Code.js +22 -8
  22. package/dist/cjs/components/Collapsible.js +24 -11
  23. package/dist/cjs/components/ColorField.js +163 -38
  24. package/dist/cjs/components/ContextualSaveBar.js +13 -6
  25. package/dist/cjs/components/DatePicker.js +48 -37
  26. package/dist/cjs/components/Disclosure.js +57 -13
  27. package/dist/cjs/components/Divider.js +82 -18
  28. package/dist/cjs/components/DropZone.js +194 -68
  29. package/dist/cjs/components/EmptyState.js +18 -6
  30. package/dist/cjs/components/Filters.js +84 -36
  31. package/dist/cjs/components/FooterHelp.js +14 -4
  32. package/dist/cjs/components/Form.js +13 -2
  33. package/dist/cjs/components/Frame.js +57 -22
  34. package/dist/cjs/components/FrameSaveBar.js +37 -6
  35. package/dist/cjs/components/Grid.js +31 -15
  36. package/dist/cjs/components/HorizontalStack.js +38 -25
  37. package/dist/cjs/components/Icon.js +683 -61
  38. package/dist/cjs/components/Image.js +35 -22
  39. package/dist/cjs/components/InlineError.js +19 -10
  40. package/dist/cjs/components/Label.js +21 -12
  41. package/dist/cjs/components/Layout.js +37 -26
  42. package/dist/cjs/components/LayoutSection.js +84 -22
  43. package/dist/cjs/components/Link.js +35 -22
  44. package/dist/cjs/components/List.js +28 -12
  45. package/dist/cjs/components/Listbox.js +53 -31
  46. package/dist/cjs/components/Loading.js +14 -2
  47. package/dist/cjs/components/Modal.js +32 -39
  48. package/dist/cjs/components/Navigation.js +107 -36
  49. package/dist/cjs/components/Page.js +44 -31
  50. package/dist/cjs/components/Pagination.js +20 -5
  51. package/dist/cjs/components/Pane.js +67 -4
  52. package/dist/cjs/components/Popover.js +63 -30
  53. package/dist/cjs/components/PopoverManager.js +14 -1
  54. package/dist/cjs/components/ProgressBar.js +28 -15
  55. package/dist/cjs/components/RadioButton.js +32 -24
  56. package/dist/cjs/components/RadioButtonCard.js +92 -67
  57. package/dist/cjs/components/RadioButtonCardGroup.js +379 -0
  58. package/dist/cjs/components/RangeSlider.js +34 -26
  59. package/dist/cjs/components/ResourceList.js +28 -14
  60. package/dist/cjs/components/Select.js +38 -26
  61. package/dist/cjs/components/SkeletonText.js +33 -18
  62. package/dist/cjs/components/Spinner.js +24 -12
  63. package/dist/cjs/components/Stack.js +131 -71
  64. package/dist/cjs/components/TabNavigation.js +27 -1
  65. package/dist/cjs/components/Table.js +85 -29
  66. package/dist/cjs/components/Tabs.js +84 -24
  67. package/dist/cjs/components/Tag.js +37 -16
  68. package/dist/cjs/components/Text.js +32 -18
  69. package/dist/cjs/components/TextField.js +119 -69
  70. package/dist/cjs/components/Thumbnail.js +25 -11
  71. package/dist/cjs/components/TimePicker.js +22 -1
  72. package/dist/cjs/components/Tip.js +140 -25
  73. package/dist/cjs/components/ToastNotification.js +107 -34
  74. package/dist/cjs/components/ToastProvider.js +13 -3
  75. package/dist/cjs/components/Tooltip.js +50 -41
  76. package/dist/cjs/components/TopBar.js +83 -9
  77. package/dist/cjs/components/VerticalStack.js +31 -16
  78. package/dist/cjs/index.js +24 -0
  79. package/dist/cjs/playwright.config.js +114 -0
  80. package/dist/cjs/stories/Autocomplete.stories.js +10 -10
  81. package/dist/cjs/stories/Checkbox.stories.js +6 -8
  82. package/dist/cjs/stories/CheckboxCardGroup.stories.js +459 -0
  83. package/dist/cjs/stories/Collapsible.stories.js +11 -11
  84. package/dist/cjs/stories/ColorField.stories.js +2 -3
  85. package/dist/cjs/stories/ComplexExamples.stories.js +48 -77
  86. package/dist/cjs/stories/ContextualSaveBar.stories.js +1 -1
  87. package/dist/cjs/stories/Divider.stories.js +15 -16
  88. package/dist/cjs/stories/DropZone.stories.js +3 -3
  89. package/dist/cjs/stories/FooterHelp.stories.js +3 -4
  90. package/dist/cjs/stories/Form.stories.js +2 -4
  91. package/dist/cjs/stories/Grid.stories.js +24 -33
  92. package/dist/cjs/stories/Icon.stories.js +22 -23
  93. package/dist/cjs/stories/Image.stories.js +12 -15
  94. package/dist/cjs/stories/InlineError.stories.js +0 -1
  95. package/dist/cjs/stories/Layout.stories.js +96 -2
  96. package/dist/cjs/stories/LayoutSection.stories.js +13 -18
  97. package/dist/cjs/stories/List.stories.js +24 -28
  98. package/dist/cjs/stories/Listbox.stories.js +2 -2
  99. package/dist/cjs/stories/Loading.stories.js +21 -25
  100. package/dist/cjs/stories/Modal.stories.js +0 -1
  101. package/dist/cjs/stories/Pagination.stories.js +4 -4
  102. package/dist/cjs/stories/Pane.stories.js +10 -18
  103. package/dist/cjs/stories/Popover.stories.js +7 -7
  104. package/dist/cjs/stories/PopoverManager.stories.js +9 -9
  105. package/dist/cjs/stories/ProgressBar.stories.js +8 -8
  106. package/dist/cjs/stories/RadioButton.stories.js +2 -2
  107. package/dist/cjs/stories/RadioButtonCard.stories.js +2 -2
  108. package/dist/cjs/stories/RadioButtonCardGroup.stories.js +502 -0
  109. package/dist/cjs/stories/RangeSlider.stories.js +1 -3
  110. package/dist/cjs/stories/ResourceList.stories.js +13 -13
  111. package/dist/cjs/stories/Spinner.stories.js +9 -9
  112. package/dist/cjs/stories/Stack.stories.js +233 -51
  113. package/dist/cjs/stories/Tabs.stories.js +2 -2
  114. package/dist/cjs/stories/Tag.stories.js +1 -1
  115. package/dist/cjs/stories/Thumbnail.stories.js +17 -18
  116. package/dist/cjs/stories/TimePicker.stories.js +0 -5
  117. package/dist/cjs/stories/Tip.stories.js +1 -1
  118. package/dist/cjs/styles/Table.js +2 -7
  119. package/dist/cjs/tests/visual/stories.spec.js +637 -0
  120. package/dist/cjs/utilities/dates.js +7 -7
  121. package/dist/esm/components/ActionList.js +33 -25
  122. package/dist/esm/components/AnnouncementBar.js +115 -18
  123. package/dist/esm/components/AnnouncementCard.js +254 -0
  124. package/dist/esm/components/AppProvider.js +15 -2
  125. package/dist/esm/components/Autocomplete.js +58 -36
  126. package/dist/esm/components/Badge.js +28 -14
  127. package/dist/esm/components/Banner.js +37 -27
  128. package/dist/esm/components/Box.js +50 -38
  129. package/dist/esm/components/Button.js +338 -109
  130. package/dist/esm/components/ButtonGroup.js +27 -14
  131. package/dist/esm/components/Card.js +300 -140
  132. package/dist/esm/components/Checkbox.js +55 -47
  133. package/dist/esm/components/CheckboxCard.js +207 -0
  134. package/dist/esm/components/CheckboxCardGroup.js +370 -0
  135. package/dist/esm/components/ChoiceList.js +21 -11
  136. package/dist/esm/components/Code.js +22 -8
  137. package/dist/esm/components/Collapsible.js +24 -11
  138. package/dist/esm/components/ColorField.js +165 -40
  139. package/dist/esm/components/ContextualSaveBar.js +13 -6
  140. package/dist/esm/components/DatePicker.js +48 -37
  141. package/dist/esm/components/Disclosure.js +50 -6
  142. package/dist/esm/components/Divider.js +78 -20
  143. package/dist/esm/components/DropZone.js +194 -68
  144. package/dist/esm/components/EmptyState.js +18 -6
  145. package/dist/esm/components/Filters.js +84 -36
  146. package/dist/esm/components/FooterHelp.js +14 -4
  147. package/dist/esm/components/Form.js +13 -2
  148. package/dist/esm/components/Frame.js +57 -22
  149. package/dist/esm/components/FrameSaveBar.js +37 -6
  150. package/dist/esm/components/Grid.js +31 -15
  151. package/dist/esm/components/HorizontalStack.js +38 -25
  152. package/dist/esm/components/Icon.js +681 -62
  153. package/dist/esm/components/Image.js +35 -22
  154. package/dist/esm/components/InlineError.js +19 -10
  155. package/dist/esm/components/Label.js +21 -12
  156. package/dist/esm/components/Layout.js +62 -27
  157. package/dist/esm/components/LayoutSection.js +84 -22
  158. package/dist/esm/components/Link.js +35 -22
  159. package/dist/esm/components/List.js +28 -12
  160. package/dist/esm/components/Listbox.js +53 -31
  161. package/dist/esm/components/Loading.js +14 -2
  162. package/dist/esm/components/Modal.js +79 -40
  163. package/dist/esm/components/Navigation.js +107 -36
  164. package/dist/esm/components/Page.js +44 -31
  165. package/dist/esm/components/Pagination.js +20 -5
  166. package/dist/esm/components/Pane.js +67 -4
  167. package/dist/esm/components/Popover.js +63 -30
  168. package/dist/esm/components/PopoverManager.js +14 -1
  169. package/dist/esm/components/ProgressBar.js +28 -15
  170. package/dist/esm/components/RadioButton.js +32 -24
  171. package/dist/esm/components/RadioButtonCard.js +92 -67
  172. package/dist/esm/components/RadioButtonCardGroup.js +364 -0
  173. package/dist/esm/components/RangeSlider.js +34 -26
  174. package/dist/esm/components/ResourceList.js +28 -14
  175. package/dist/esm/components/Select.js +38 -26
  176. package/dist/esm/components/SkeletonText.js +33 -18
  177. package/dist/esm/components/Spinner.js +24 -12
  178. package/dist/esm/components/Stack.js +131 -71
  179. package/dist/esm/components/TabNavigation.js +27 -1
  180. package/dist/esm/components/Table.js +85 -29
  181. package/dist/esm/components/Tabs.js +84 -24
  182. package/dist/esm/components/Tag.js +37 -16
  183. package/dist/esm/components/Text.js +32 -18
  184. package/dist/esm/components/TextField.js +119 -69
  185. package/dist/esm/components/Thumbnail.js +25 -11
  186. package/dist/esm/components/TimePicker.js +22 -1
  187. package/dist/esm/components/Tip.js +140 -25
  188. package/dist/esm/components/ToastNotification.js +107 -34
  189. package/dist/esm/components/ToastProvider.js +13 -3
  190. package/dist/esm/components/Tooltip.js +50 -41
  191. package/dist/esm/components/TopBar.js +83 -9
  192. package/dist/esm/components/VerticalStack.js +31 -16
  193. package/dist/esm/index.js +6 -0
  194. package/dist/esm/playwright.config.js +104 -0
  195. package/dist/esm/stories/Autocomplete.stories.js +10 -10
  196. package/dist/esm/stories/Checkbox.stories.js +6 -8
  197. package/dist/esm/stories/CheckboxCardGroup.stories.js +421 -0
  198. package/dist/esm/stories/Collapsible.stories.js +11 -11
  199. package/dist/esm/stories/ColorField.stories.js +2 -3
  200. package/dist/esm/stories/ComplexExamples.stories.js +48 -77
  201. package/dist/esm/stories/ContextualSaveBar.stories.js +1 -1
  202. package/dist/esm/stories/Divider.stories.js +15 -16
  203. package/dist/esm/stories/DropZone.stories.js +3 -3
  204. package/dist/esm/stories/FooterHelp.stories.js +3 -4
  205. package/dist/esm/stories/Form.stories.js +2 -4
  206. package/dist/esm/stories/Grid.stories.js +24 -33
  207. package/dist/esm/stories/Icon.stories.js +22 -23
  208. package/dist/esm/stories/Image.stories.js +12 -15
  209. package/dist/esm/stories/InlineError.stories.js +0 -1
  210. package/dist/esm/stories/Layout.stories.js +93 -2
  211. package/dist/esm/stories/LayoutSection.stories.js +13 -18
  212. package/dist/esm/stories/List.stories.js +24 -28
  213. package/dist/esm/stories/Listbox.stories.js +2 -2
  214. package/dist/esm/stories/Loading.stories.js +21 -25
  215. package/dist/esm/stories/Modal.stories.js +0 -1
  216. package/dist/esm/stories/Pagination.stories.js +4 -4
  217. package/dist/esm/stories/Pane.stories.js +10 -18
  218. package/dist/esm/stories/Popover.stories.js +7 -7
  219. package/dist/esm/stories/PopoverManager.stories.js +9 -9
  220. package/dist/esm/stories/ProgressBar.stories.js +8 -8
  221. package/dist/esm/stories/RadioButton.stories.js +2 -2
  222. package/dist/esm/stories/RadioButtonCard.stories.js +2 -2
  223. package/dist/esm/stories/RadioButtonCardGroup.stories.js +461 -0
  224. package/dist/esm/stories/RangeSlider.stories.js +1 -3
  225. package/dist/esm/stories/ResourceList.stories.js +13 -13
  226. package/dist/esm/stories/Spinner.stories.js +9 -9
  227. package/dist/esm/stories/Stack.stories.js +224 -51
  228. package/dist/esm/stories/Tabs.stories.js +2 -2
  229. package/dist/esm/stories/Tag.stories.js +1 -1
  230. package/dist/esm/stories/Thumbnail.stories.js +17 -18
  231. package/dist/esm/stories/TimePicker.stories.js +0 -5
  232. package/dist/esm/stories/Tip.stories.js +1 -1
  233. package/dist/esm/styles/Table.js +2 -7
  234. package/dist/esm/tests/visual/stories.spec.js +633 -0
  235. package/dist/esm/utilities/dates.js +7 -7
  236. package/dist/types/components/ActionList.d.ts +1 -31
  237. package/dist/types/components/ActionList.d.ts.map +1 -1
  238. package/dist/types/components/AnnouncementBar.d.ts +1 -19
  239. package/dist/types/components/AnnouncementBar.d.ts.map +1 -1
  240. package/dist/types/components/AnnouncementCard.d.ts +3 -0
  241. package/dist/types/components/AnnouncementCard.d.ts.map +1 -0
  242. package/dist/types/components/AppProvider.d.ts +14 -1
  243. package/dist/types/components/AppProvider.d.ts.map +1 -1
  244. package/dist/types/components/Autocomplete.d.ts +1 -71
  245. package/dist/types/components/Autocomplete.d.ts.map +1 -1
  246. package/dist/types/components/Badge.d.ts +1 -19
  247. package/dist/types/components/Badge.d.ts.map +1 -1
  248. package/dist/types/components/Banner.d.ts +1 -37
  249. package/dist/types/components/Banner.d.ts.map +1 -1
  250. package/dist/types/components/Box.d.ts +1 -68
  251. package/dist/types/components/Box.d.ts.map +1 -1
  252. package/dist/types/components/Button.d.ts +1 -131
  253. package/dist/types/components/Button.d.ts.map +1 -1
  254. package/dist/types/components/ButtonGroup.d.ts +1 -22
  255. package/dist/types/components/ButtonGroup.d.ts.map +1 -1
  256. package/dist/types/components/Card.d.ts +54 -59
  257. package/dist/types/components/Card.d.ts.map +1 -1
  258. package/dist/types/components/Checkbox.d.ts +1 -63
  259. package/dist/types/components/Checkbox.d.ts.map +1 -1
  260. package/dist/types/components/CheckboxCard.d.ts +3 -0
  261. package/dist/types/components/CheckboxCard.d.ts.map +1 -0
  262. package/dist/types/components/CheckboxCardGroup.d.ts +3 -0
  263. package/dist/types/components/CheckboxCardGroup.d.ts.map +1 -0
  264. package/dist/types/components/ChoiceList.d.ts +1 -42
  265. package/dist/types/components/ChoiceList.d.ts.map +1 -1
  266. package/dist/types/components/Code.d.ts +1 -26
  267. package/dist/types/components/Code.d.ts.map +1 -1
  268. package/dist/types/components/Collapsible.d.ts +1 -15
  269. package/dist/types/components/Collapsible.d.ts.map +1 -1
  270. package/dist/types/components/ColorField.d.ts +13 -34
  271. package/dist/types/components/ColorField.d.ts.map +1 -1
  272. package/dist/types/components/ContextualSaveBar.d.ts +13 -6
  273. package/dist/types/components/ContextualSaveBar.d.ts.map +1 -1
  274. package/dist/types/components/DatePicker.d.ts +1 -64
  275. package/dist/types/components/DatePicker.d.ts.map +1 -1
  276. package/dist/types/components/Disclosure.d.ts +1 -25
  277. package/dist/types/components/Disclosure.d.ts.map +1 -1
  278. package/dist/types/components/Divider.d.ts +1 -19
  279. package/dist/types/components/Divider.d.ts.map +1 -1
  280. package/dist/types/components/DropZone.d.ts +3 -62
  281. package/dist/types/components/DropZone.d.ts.map +1 -1
  282. package/dist/types/components/EmptyState.d.ts +1 -50
  283. package/dist/types/components/EmptyState.d.ts.map +1 -1
  284. package/dist/types/components/Filters.d.ts +13 -68
  285. package/dist/types/components/Filters.d.ts.map +1 -1
  286. package/dist/types/components/FooterHelp.d.ts +14 -4
  287. package/dist/types/components/FooterHelp.d.ts.map +1 -1
  288. package/dist/types/components/Form.d.ts +13 -2
  289. package/dist/types/components/Form.d.ts.map +1 -1
  290. package/dist/types/components/Frame.d.ts +15 -36
  291. package/dist/types/components/Frame.d.ts.map +1 -1
  292. package/dist/types/components/FrameSaveBar.d.ts +3 -6
  293. package/dist/types/components/FrameSaveBar.d.ts.map +1 -1
  294. package/dist/types/components/Grid.d.ts +5 -21
  295. package/dist/types/components/Grid.d.ts.map +1 -1
  296. package/dist/types/components/HorizontalStack.d.ts +1 -34
  297. package/dist/types/components/HorizontalStack.d.ts.map +1 -1
  298. package/dist/types/components/Icon.d.ts +1 -41
  299. package/dist/types/components/Icon.d.ts.map +1 -1
  300. package/dist/types/components/Image.d.ts +1 -43
  301. package/dist/types/components/Image.d.ts.map +1 -1
  302. package/dist/types/components/InlineError.d.ts +1 -20
  303. package/dist/types/components/InlineError.d.ts.map +1 -1
  304. package/dist/types/components/Label.d.ts +1 -26
  305. package/dist/types/components/Label.d.ts.map +1 -1
  306. package/dist/types/components/Layout.d.ts +24 -15
  307. package/dist/types/components/Layout.d.ts.map +1 -1
  308. package/dist/types/components/LayoutSection.d.ts +1 -19
  309. package/dist/types/components/LayoutSection.d.ts.map +1 -1
  310. package/dist/types/components/Link.d.ts +1 -37
  311. package/dist/types/components/Link.d.ts.map +1 -1
  312. package/dist/types/components/List.d.ts +5 -17
  313. package/dist/types/components/List.d.ts.map +1 -1
  314. package/dist/types/components/Listbox.d.ts +1 -32
  315. package/dist/types/components/Listbox.d.ts.map +1 -1
  316. package/dist/types/components/Loading.d.ts +14 -2
  317. package/dist/types/components/Loading.d.ts.map +1 -1
  318. package/dist/types/components/Modal.d.ts +26 -35
  319. package/dist/types/components/Modal.d.ts.map +1 -1
  320. package/dist/types/components/Navigation.d.ts +1 -25
  321. package/dist/types/components/Navigation.d.ts.map +1 -1
  322. package/dist/types/components/Page.d.ts +1 -57
  323. package/dist/types/components/Page.d.ts.map +1 -1
  324. package/dist/types/components/Pagination.d.ts +13 -3
  325. package/dist/types/components/Pagination.d.ts.map +1 -1
  326. package/dist/types/components/Pane.d.ts +55 -3
  327. package/dist/types/components/Pane.d.ts.map +1 -1
  328. package/dist/types/components/Popover.d.ts +5 -35
  329. package/dist/types/components/Popover.d.ts.map +1 -1
  330. package/dist/types/components/PopoverManager.d.ts.map +1 -1
  331. package/dist/types/components/ProgressBar.d.ts +1 -22
  332. package/dist/types/components/ProgressBar.d.ts.map +1 -1
  333. package/dist/types/components/RadioButton.d.ts +1 -37
  334. package/dist/types/components/RadioButton.d.ts.map +1 -1
  335. package/dist/types/components/RadioButtonCard.d.ts +1 -39
  336. package/dist/types/components/RadioButtonCard.d.ts.map +1 -1
  337. package/dist/types/components/RadioButtonCardGroup.d.ts +3 -0
  338. package/dist/types/components/RadioButtonCardGroup.d.ts.map +1 -0
  339. package/dist/types/components/RangeSlider.d.ts +1 -42
  340. package/dist/types/components/RangeSlider.d.ts.map +1 -1
  341. package/dist/types/components/ResourceList.d.ts +5 -30
  342. package/dist/types/components/ResourceList.d.ts.map +1 -1
  343. package/dist/types/components/Select.d.ts +1 -46
  344. package/dist/types/components/Select.d.ts.map +1 -1
  345. package/dist/types/components/SkeletonText.d.ts +1 -26
  346. package/dist/types/components/SkeletonText.d.ts.map +1 -1
  347. package/dist/types/components/Spinner.d.ts +1 -16
  348. package/dist/types/components/Spinner.d.ts.map +1 -1
  349. package/dist/types/components/Stack.d.ts +1 -47
  350. package/dist/types/components/Stack.d.ts.map +1 -1
  351. package/dist/types/components/TabNavigation.d.ts.map +1 -1
  352. package/dist/types/components/Table.d.ts +13 -58
  353. package/dist/types/components/Table.d.ts.map +1 -1
  354. package/dist/types/components/Tabs.d.ts +40 -34
  355. package/dist/types/components/Tabs.d.ts.map +1 -1
  356. package/dist/types/components/Tag.d.ts +1 -24
  357. package/dist/types/components/Tag.d.ts.map +1 -1
  358. package/dist/types/components/Text.d.ts +1 -30
  359. package/dist/types/components/Text.d.ts.map +1 -1
  360. package/dist/types/components/TextField.d.ts +1 -109
  361. package/dist/types/components/TextField.d.ts.map +1 -1
  362. package/dist/types/components/Thumbnail.d.ts +1 -16
  363. package/dist/types/components/Thumbnail.d.ts.map +1 -1
  364. package/dist/types/components/TimePicker.d.ts +28 -1
  365. package/dist/types/components/TimePicker.d.ts.map +1 -1
  366. package/dist/types/components/Tip.d.ts +1 -21
  367. package/dist/types/components/Tip.d.ts.map +1 -1
  368. package/dist/types/components/ToastNotification.d.ts +1 -34
  369. package/dist/types/components/ToastNotification.d.ts.map +1 -1
  370. package/dist/types/components/ToastProvider.d.ts +13 -3
  371. package/dist/types/components/ToastProvider.d.ts.map +1 -1
  372. package/dist/types/components/Tooltip.d.ts +1 -54
  373. package/dist/types/components/Tooltip.d.ts.map +1 -1
  374. package/dist/types/components/TopBar.d.ts +1 -19
  375. package/dist/types/components/TopBar.d.ts.map +1 -1
  376. package/dist/types/components/VerticalStack.d.ts +1 -25
  377. package/dist/types/components/VerticalStack.d.ts.map +1 -1
  378. package/dist/types/index.d.ts +6 -0
  379. package/dist/types/styles/Table.d.ts.map +1 -1
  380. package/index.css +76 -14
  381. package/package.json +15 -5
@@ -20,54 +20,20 @@ function _interop_require_default(obj) {
20
20
  default: obj
21
21
  };
22
22
  }
23
- var styles = (0, _tailwindvariants.tv)({
24
- base: "Litho-Checkbox group flex gap-2 py-1",
25
- variants: {
26
- disabled: {
27
- false: "cursor-pointer"
28
- }
29
- }
30
- });
31
- var checkboxStyles = (0, _tailwindvariants.tv)({
32
- base: "Litho-Checkbox__Control w-4.5 h-4.5 pt-px rounded-sm border flex items-center justify-center",
33
- variants: {
34
- disabled: {
35
- true: "bg-form-bg-disabled border-form-border"
36
- }
37
- },
38
- compoundVariants: [
39
- {
40
- hasError: true,
41
- disabled: false,
42
- checked: false,
43
- class: "bg-form-bg-error border-form-border-error hover:bg-form-bg-error-low hover:ring hover:ring-form-focus-error"
44
- },
45
- {
46
- hasError: true,
47
- disabled: false,
48
- checked: true,
49
- class: "bg-critical border-form-border-error hover:ring hover:ring-form-focus-error"
50
- },
51
- {
52
- hasError: false,
53
- disabled: false,
54
- checked: false,
55
- class: "bg-form-bg border-form-border hover:border-form-border-focus hover:ring hover:ring-form-focus"
56
- },
57
- {
58
- hasError: false,
59
- disabled: false,
60
- checked: true,
61
- class: "bg-form-accent border-form-border-focus hover:border-form-border-focus hover:ring hover:ring-form-focus"
62
- }
63
- ]
64
- });
65
23
  /**
66
- * Checkbox Component
24
+ * @component Checkbox
25
+ *
26
+ * @description A boolean toggle input rendered as a checkbox with label, help text, and error state.
67
27
  *
68
- * A custom checkbox component with support for labels, help text, and extensive styling using Tailwind Variants (tv).
28
+ * @usage
29
+ * - DO: Use for toggling a single boolean option or within a group for multi-select.
30
+ * - DON'T: Use for mutually exclusive options (use RadioButton).
69
31
  *
70
- * @component
32
+ * @accessibility
33
+ * - Always provide a `label` prop associated with the checkbox input. Supports keyboard toggling via Space key.
34
+ *
35
+ * @alternative
36
+ * - If you need a rich card-style checkbox, use `CheckboxCard`. If you need grouped options, use `ChoiceList`.
71
37
  *
72
38
  * @param {Object} props - Props for the Checkbox component.
73
39
  * @param {string|React.ReactNode} [props.label] - The label for the checkbox. Can be a string or a React element (e.g., text with a badge).
@@ -103,11 +69,53 @@ var checkboxStyles = (0, _tailwindvariants.tv)({
103
69
  * @example
104
70
  * // With React element label (e.g., text with badge)
105
71
  * <Checkbox
106
- * label={<Stack horizontal gap="xs" blockAlign="center"><span>Premium Feature</span><Badge>Pro</Badge></Stack>}
72
+ * label={<Stack horizontal gap="xs" align="center"><span>Premium Feature</span><Badge>Pro</Badge></Stack>}
107
73
  * checked={false}
108
74
  * onChange={(checked) => console.log('Checkbox changed:', checked)}
109
75
  * />
110
- */ function Checkbox() {
76
+ */ var styles = (0, _tailwindvariants.tv)({
77
+ base: "Litho-Checkbox group flex gap-2 py-1",
78
+ variants: {
79
+ disabled: {
80
+ false: "cursor-pointer"
81
+ }
82
+ }
83
+ });
84
+ var checkboxStyles = (0, _tailwindvariants.tv)({
85
+ base: "Litho-Checkbox__Control w-4.5 h-4.5 pt-px rounded-sm border flex items-center justify-center",
86
+ variants: {
87
+ disabled: {
88
+ true: "bg-form-bg-disabled border-form-border"
89
+ }
90
+ },
91
+ compoundVariants: [
92
+ {
93
+ hasError: true,
94
+ disabled: false,
95
+ checked: false,
96
+ class: "bg-form-bg-error border-form-border-error hover:bg-form-bg-error-low hover:ring hover:ring-form-focus-error"
97
+ },
98
+ {
99
+ hasError: true,
100
+ disabled: false,
101
+ checked: true,
102
+ class: "bg-critical border-form-border-error hover:ring hover:ring-form-focus-error"
103
+ },
104
+ {
105
+ hasError: false,
106
+ disabled: false,
107
+ checked: false,
108
+ class: "bg-form-bg border-form-border hover:border-form-border-focus hover:ring hover:ring-form-focus"
109
+ },
110
+ {
111
+ hasError: false,
112
+ disabled: false,
113
+ checked: true,
114
+ class: "bg-form-accent border-form-border-focus hover:border-form-border-focus hover:ring hover:ring-form-focus"
115
+ }
116
+ ]
117
+ });
118
+ function Checkbox() {
111
119
  var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
112
120
  var label = props.label, tooltip = props.tooltip, labelHidden = props.labelHidden, id = props.id, name = props.name, value = props.value, error = props.error, tmp = props.checked, _checked = tmp === void 0 ? false : tmp, _props_indeterminate = props.indeterminate, indeterminate = _props_indeterminate === void 0 ? false : _props_indeterminate, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, helpText = props.helpText, onChange = props.onChange, onFocus = props.onFocus, onBlur = props.onBlur, className = props.className;
113
121
  var checked = !!_checked;
@@ -0,0 +1,222 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ var _jsxruntime = require("react/jsx-runtime");
12
+ var _tailwindvariants = require("tailwind-variants");
13
+ var _react = require("react");
14
+ var _Icon = /*#__PURE__*/ _interop_require_default(require("./Icon"));
15
+ var _Text = /*#__PURE__*/ _interop_require_default(require("./Text"));
16
+ var _Label = /*#__PURE__*/ _interop_require_default(require("./Label"));
17
+ var _polarisicons = require("@shopify/polaris-icons");
18
+ function _interop_require_default(obj) {
19
+ return obj && obj.__esModule ? obj : {
20
+ default: obj
21
+ };
22
+ }
23
+ /**
24
+ * @component CheckboxCard
25
+ *
26
+ * @description A card-styled checkbox input that displays a title, description, and optional children within a selectable card container.
27
+ *
28
+ * @usage
29
+ * - DO: Use for visually prominent boolean selections with descriptive content.
30
+ * - DON'T: Use for simple inline toggles (use Checkbox).
31
+ *
32
+ * @accessibility
33
+ * - The entire card is clickable and keyboard accessible; ensure title clearly describes the option.
34
+ *
35
+ * @alternative
36
+ * - If you need a simple inline checkbox, use `Checkbox`. If you need a radio-style card, use `RadioButtonCard`.
37
+ *
38
+ * @param {Object} props - Props for the CheckboxCard component.
39
+ * @param {string|React.ReactNode} [props.label] - The text label for the checkbox. Can be a string or a React element.
40
+ * @param {boolean} [props.labelHidden=false] - If true, hides the label visually but keeps it available for screen readers.
41
+ * @param {string} [props.id] - The unique identifier for the checkbox input.
42
+ * @param {string} [props.name] - The name attribute for the checkbox input.
43
+ * @param {string} [props.description] - A description of the checkbox.
44
+ * @param {string} [props.value] - The value attribute for the checkbox input.
45
+ * @param {string} [props.error] - An error message associated with the checkbox, if any.
46
+ * @param {boolean} [props.checked=false] - Indicates whether the checkbox is checked.
47
+ * @param {boolean} [props.disabled=false] - Indicates whether the checkbox is disabled.
48
+ * @param {string} [props.helpText] - Additional descriptive text for the checkbox.
49
+ * @param {React.ReactNode|import("./Tooltip").TooltipContentObject} [props.tooltip] - Tooltip content for the checkbox label.
50
+ * @param {"left"|"right"} [props.checkboxPosition="left"] - Position of the checkbox relative to the label.
51
+ * @param {function} [props.onChange] - Callback function called when the checkbox state changes.
52
+ * @param {function} [props.onFocus] - Callback function called when the checkbox gains focus.
53
+ * @param {function} [props.onBlur] - Callback function called when the checkbox loses focus.
54
+ *
55
+ * @returns {JSX.Element} The rendered CheckboxCard component.
56
+ */ var styles = (0, _tailwindvariants.tv)({
57
+ base: "Litho-CheckboxCardContainer border border-transparent rounded-lg p-3 flex gap-2 hover:border-form-border-focus hover:ring hover:ring-form-focus",
58
+ variants: {
59
+ disabled: {
60
+ true: "bg-tint-1",
61
+ false: "cursor-pointer"
62
+ },
63
+ checked: {
64
+ true: "",
65
+ false: "border-edge-subdued"
66
+ },
67
+ checkboxPosition: {
68
+ left: "pr-4",
69
+ right: "pl-4 justify-between"
70
+ }
71
+ },
72
+ compoundVariants: [
73
+ {
74
+ disabled: false,
75
+ checked: true,
76
+ class: "border-form-border-focus bg-surface-selected"
77
+ },
78
+ {
79
+ disabled: false,
80
+ checked: false,
81
+ class: ""
82
+ }
83
+ ],
84
+ defaultVariants: {
85
+ checkboxPosition: "left"
86
+ }
87
+ });
88
+ var checkboxStyles = (0, _tailwindvariants.tv)({
89
+ base: "Litho-Checkbox__Control w-4.5 h-4.5 pt-px rounded-sm border flex items-center justify-center",
90
+ variants: {
91
+ disabled: {
92
+ true: "bg-form-bg-disabled border-form-border"
93
+ }
94
+ },
95
+ compoundVariants: [
96
+ {
97
+ hasError: true,
98
+ disabled: false,
99
+ checked: false,
100
+ class: "bg-form-bg-error border-form-border-error hover:bg-form-bg-error-low hover:ring hover:ring-form-focus-error"
101
+ },
102
+ {
103
+ hasError: true,
104
+ disabled: false,
105
+ checked: true,
106
+ class: "bg-critical border-form-border-error hover:ring hover:ring-form-focus-error"
107
+ },
108
+ {
109
+ hasError: false,
110
+ disabled: false,
111
+ checked: false,
112
+ class: "bg-form-bg border-form-border hover:border-form-border-focus hover:ring hover:ring-form-focus"
113
+ },
114
+ {
115
+ hasError: false,
116
+ disabled: false,
117
+ checked: true,
118
+ class: "bg-form-accent border-form-border-focus hover:border-form-border-focus hover:ring hover:ring-form-focus"
119
+ }
120
+ ]
121
+ });
122
+ function CheckboxCard() {
123
+ var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
124
+ var label = props.label, tooltip = props.tooltip, labelHidden = props.labelHidden, id = props.id, name = props.name, description = props.description, value = props.value, error = props.error, tmp = props.checked, _checked = tmp === void 0 ? false : tmp, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, helpText = props.helpText, _props_checkboxPosition = props.checkboxPosition, checkboxPosition = _props_checkboxPosition === void 0 ? "left" : _props_checkboxPosition, onChange = props.onChange, onFocus = props.onFocus, onBlur = props.onBlur;
125
+ var checked = !!_checked;
126
+ var hasError = !!error;
127
+ var labelIsReactElement = /*#__PURE__*/ (0, _react.isValidElement)(label);
128
+ var classes = styles({
129
+ checked: checked,
130
+ disabled: disabled,
131
+ hasError: hasError,
132
+ checkboxPosition: checkboxPosition
133
+ });
134
+ var checkboxClasses = checkboxStyles({
135
+ checked: checked,
136
+ disabled: disabled,
137
+ hasError: hasError
138
+ });
139
+ var handleChange = function() {
140
+ if (onChange) {
141
+ onChange(!checked);
142
+ }
143
+ };
144
+ var handleFocus = function(event) {
145
+ if (onFocus) {
146
+ onFocus(event);
147
+ }
148
+ };
149
+ var handleBlur = function(event) {
150
+ if (onBlur) {
151
+ onBlur(event);
152
+ }
153
+ };
154
+ var labelContent = /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
155
+ className: "flex flex-col gap-1",
156
+ children: [
157
+ label && !labelHidden && /*#__PURE__*/ (0, _jsxruntime.jsx)(_Label.default, {
158
+ tooltip: tooltip,
159
+ disabled: disabled,
160
+ as: labelIsReactElement ? "div" : "p",
161
+ children: label
162
+ }),
163
+ description && /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
164
+ color: disabled ? "disabled" : "subdued",
165
+ children: description
166
+ })
167
+ ]
168
+ });
169
+ var checkboxControl = /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
170
+ className: "pointer-events-none",
171
+ children: [
172
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("input", {
173
+ type: "checkbox",
174
+ id: id,
175
+ name: name,
176
+ value: value,
177
+ checked: checked,
178
+ disabled: disabled,
179
+ onChange: handleChange,
180
+ onFocus: handleFocus,
181
+ onBlur: handleBlur,
182
+ className: "sr-only"
183
+ }),
184
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
185
+ className: "Litho-Checkbox__ControlContainer w-5 h-5 flex items-center justify-center",
186
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
187
+ className: checkboxClasses,
188
+ children: checked && /*#__PURE__*/ (0, _jsxruntime.jsx)(_Icon.default, {
189
+ color: disabled ? "inputFgDisabled" : hasError ? "white" : "inputFg",
190
+ source: _polarisicons.TickMinor,
191
+ className: "pointer-events-none"
192
+ })
193
+ })
194
+ })
195
+ ]
196
+ });
197
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
198
+ className: "flex flex-col gap-1",
199
+ children: [
200
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("label", {
201
+ className: classes,
202
+ children: checkboxPosition === "left" ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
203
+ children: [
204
+ checkboxControl,
205
+ labelContent
206
+ ]
207
+ }) : /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
208
+ children: [
209
+ labelContent,
210
+ checkboxControl
211
+ ]
212
+ })
213
+ }),
214
+ helpText && typeof helpText === "string" && /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
215
+ color: disabled ? "disabled" : "subdued",
216
+ children: helpText
217
+ }),
218
+ helpText && typeof helpText !== "string" && helpText
219
+ ]
220
+ });
221
+ }
222
+ var _default = CheckboxCard;