@heymantle/litho 0.0.15 → 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 (371) 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/dist/cjs/components/ActionList.js +33 -25
  6. package/dist/cjs/components/AnnouncementBar.js +115 -18
  7. package/dist/cjs/components/AnnouncementCard.js +269 -0
  8. package/dist/cjs/components/AppProvider.js +15 -2
  9. package/dist/cjs/components/Autocomplete.js +58 -36
  10. package/dist/cjs/components/Badge.js +28 -14
  11. package/dist/cjs/components/Banner.js +37 -27
  12. package/dist/cjs/components/Box.js +50 -38
  13. package/dist/cjs/components/Button.js +338 -109
  14. package/dist/cjs/components/ButtonGroup.js +27 -14
  15. package/dist/cjs/components/Card.js +311 -143
  16. package/dist/cjs/components/Checkbox.js +55 -47
  17. package/dist/cjs/components/CheckboxCard.js +222 -0
  18. package/dist/cjs/components/CheckboxCardGroup.js +384 -0
  19. package/dist/cjs/components/ChoiceList.js +21 -11
  20. package/dist/cjs/components/Code.js +22 -8
  21. package/dist/cjs/components/Collapsible.js +24 -11
  22. package/dist/cjs/components/ColorField.js +163 -38
  23. package/dist/cjs/components/ContextualSaveBar.js +13 -6
  24. package/dist/cjs/components/DatePicker.js +48 -37
  25. package/dist/cjs/components/Disclosure.js +35 -22
  26. package/dist/cjs/components/Divider.js +82 -18
  27. package/dist/cjs/components/DropZone.js +111 -37
  28. package/dist/cjs/components/EmptyState.js +18 -6
  29. package/dist/cjs/components/Filters.js +84 -36
  30. package/dist/cjs/components/FooterHelp.js +14 -4
  31. package/dist/cjs/components/Form.js +13 -2
  32. package/dist/cjs/components/Frame.js +57 -22
  33. package/dist/cjs/components/FrameSaveBar.js +37 -6
  34. package/dist/cjs/components/Grid.js +31 -15
  35. package/dist/cjs/components/HorizontalStack.js +38 -25
  36. package/dist/cjs/components/Icon.js +683 -61
  37. package/dist/cjs/components/Image.js +35 -22
  38. package/dist/cjs/components/InlineError.js +19 -10
  39. package/dist/cjs/components/Label.js +21 -12
  40. package/dist/cjs/components/Layout.js +33 -24
  41. package/dist/cjs/components/LayoutSection.js +84 -22
  42. package/dist/cjs/components/Link.js +35 -22
  43. package/dist/cjs/components/List.js +28 -12
  44. package/dist/cjs/components/Listbox.js +53 -31
  45. package/dist/cjs/components/Loading.js +14 -2
  46. package/dist/cjs/components/Modal.js +22 -40
  47. package/dist/cjs/components/Navigation.js +107 -36
  48. package/dist/cjs/components/Page.js +44 -31
  49. package/dist/cjs/components/Pagination.js +20 -5
  50. package/dist/cjs/components/Pane.js +67 -4
  51. package/dist/cjs/components/Popover.js +37 -21
  52. package/dist/cjs/components/PopoverManager.js +14 -1
  53. package/dist/cjs/components/ProgressBar.js +28 -15
  54. package/dist/cjs/components/RadioButton.js +32 -24
  55. package/dist/cjs/components/RadioButtonCard.js +92 -67
  56. package/dist/cjs/components/RadioButtonCardGroup.js +379 -0
  57. package/dist/cjs/components/RangeSlider.js +34 -26
  58. package/dist/cjs/components/ResourceList.js +28 -14
  59. package/dist/cjs/components/Select.js +38 -26
  60. package/dist/cjs/components/SkeletonText.js +33 -18
  61. package/dist/cjs/components/Spinner.js +24 -12
  62. package/dist/cjs/components/Stack.js +131 -71
  63. package/dist/cjs/components/TabNavigation.js +27 -1
  64. package/dist/cjs/components/Table.js +58 -18
  65. package/dist/cjs/components/Tabs.js +52 -23
  66. package/dist/cjs/components/Tag.js +37 -16
  67. package/dist/cjs/components/Text.js +32 -18
  68. package/dist/cjs/components/TextField.js +119 -69
  69. package/dist/cjs/components/Thumbnail.js +25 -11
  70. package/dist/cjs/components/TimePicker.js +22 -1
  71. package/dist/cjs/components/Tip.js +140 -25
  72. package/dist/cjs/components/ToastNotification.js +107 -34
  73. package/dist/cjs/components/ToastProvider.js +13 -3
  74. package/dist/cjs/components/Tooltip.js +50 -41
  75. package/dist/cjs/components/TopBar.js +83 -9
  76. package/dist/cjs/components/VerticalStack.js +31 -16
  77. package/dist/cjs/index.js +24 -0
  78. package/dist/cjs/stories/Autocomplete.stories.js +10 -10
  79. package/dist/cjs/stories/Checkbox.stories.js +6 -8
  80. package/dist/cjs/stories/CheckboxCardGroup.stories.js +459 -0
  81. package/dist/cjs/stories/Collapsible.stories.js +11 -11
  82. package/dist/cjs/stories/ColorField.stories.js +2 -3
  83. package/dist/cjs/stories/ComplexExamples.stories.js +48 -77
  84. package/dist/cjs/stories/ContextualSaveBar.stories.js +1 -1
  85. package/dist/cjs/stories/Divider.stories.js +15 -16
  86. package/dist/cjs/stories/DropZone.stories.js +3 -3
  87. package/dist/cjs/stories/FooterHelp.stories.js +3 -4
  88. package/dist/cjs/stories/Form.stories.js +2 -4
  89. package/dist/cjs/stories/Grid.stories.js +24 -33
  90. package/dist/cjs/stories/Icon.stories.js +22 -23
  91. package/dist/cjs/stories/Image.stories.js +12 -15
  92. package/dist/cjs/stories/InlineError.stories.js +0 -1
  93. package/dist/cjs/stories/Layout.stories.js +96 -2
  94. package/dist/cjs/stories/LayoutSection.stories.js +13 -18
  95. package/dist/cjs/stories/List.stories.js +24 -28
  96. package/dist/cjs/stories/Listbox.stories.js +2 -2
  97. package/dist/cjs/stories/Loading.stories.js +21 -25
  98. package/dist/cjs/stories/Modal.stories.js +0 -1
  99. package/dist/cjs/stories/Pagination.stories.js +4 -4
  100. package/dist/cjs/stories/Pane.stories.js +10 -18
  101. package/dist/cjs/stories/Popover.stories.js +7 -7
  102. package/dist/cjs/stories/PopoverManager.stories.js +9 -9
  103. package/dist/cjs/stories/ProgressBar.stories.js +8 -8
  104. package/dist/cjs/stories/RadioButton.stories.js +2 -2
  105. package/dist/cjs/stories/RadioButtonCard.stories.js +2 -2
  106. package/dist/cjs/stories/RadioButtonCardGroup.stories.js +502 -0
  107. package/dist/cjs/stories/RangeSlider.stories.js +1 -3
  108. package/dist/cjs/stories/ResourceList.stories.js +13 -13
  109. package/dist/cjs/stories/Spinner.stories.js +9 -9
  110. package/dist/cjs/stories/Stack.stories.js +233 -51
  111. package/dist/cjs/stories/Tabs.stories.js +2 -2
  112. package/dist/cjs/stories/Tag.stories.js +1 -1
  113. package/dist/cjs/stories/Thumbnail.stories.js +17 -18
  114. package/dist/cjs/stories/TimePicker.stories.js +0 -5
  115. package/dist/cjs/stories/Tip.stories.js +1 -1
  116. package/dist/esm/components/ActionList.js +33 -25
  117. package/dist/esm/components/AnnouncementBar.js +115 -18
  118. package/dist/esm/components/AnnouncementCard.js +254 -0
  119. package/dist/esm/components/AppProvider.js +15 -2
  120. package/dist/esm/components/Autocomplete.js +58 -36
  121. package/dist/esm/components/Badge.js +28 -14
  122. package/dist/esm/components/Banner.js +37 -27
  123. package/dist/esm/components/Box.js +50 -38
  124. package/dist/esm/components/Button.js +338 -109
  125. package/dist/esm/components/ButtonGroup.js +27 -14
  126. package/dist/esm/components/Card.js +300 -140
  127. package/dist/esm/components/Checkbox.js +55 -47
  128. package/dist/esm/components/CheckboxCard.js +207 -0
  129. package/dist/esm/components/CheckboxCardGroup.js +370 -0
  130. package/dist/esm/components/ChoiceList.js +21 -11
  131. package/dist/esm/components/Code.js +22 -8
  132. package/dist/esm/components/Collapsible.js +24 -11
  133. package/dist/esm/components/ColorField.js +165 -40
  134. package/dist/esm/components/ContextualSaveBar.js +13 -6
  135. package/dist/esm/components/DatePicker.js +48 -37
  136. package/dist/esm/components/Disclosure.js +35 -22
  137. package/dist/esm/components/Divider.js +78 -20
  138. package/dist/esm/components/DropZone.js +111 -37
  139. package/dist/esm/components/EmptyState.js +18 -6
  140. package/dist/esm/components/Filters.js +84 -36
  141. package/dist/esm/components/FooterHelp.js +14 -4
  142. package/dist/esm/components/Form.js +13 -2
  143. package/dist/esm/components/Frame.js +57 -22
  144. package/dist/esm/components/FrameSaveBar.js +37 -6
  145. package/dist/esm/components/Grid.js +31 -15
  146. package/dist/esm/components/HorizontalStack.js +38 -25
  147. package/dist/esm/components/Icon.js +681 -62
  148. package/dist/esm/components/Image.js +35 -22
  149. package/dist/esm/components/InlineError.js +19 -10
  150. package/dist/esm/components/Label.js +21 -12
  151. package/dist/esm/components/Layout.js +58 -25
  152. package/dist/esm/components/LayoutSection.js +84 -22
  153. package/dist/esm/components/Link.js +35 -22
  154. package/dist/esm/components/List.js +28 -12
  155. package/dist/esm/components/Listbox.js +53 -31
  156. package/dist/esm/components/Loading.js +14 -2
  157. package/dist/esm/components/Modal.js +69 -41
  158. package/dist/esm/components/Navigation.js +107 -36
  159. package/dist/esm/components/Page.js +44 -31
  160. package/dist/esm/components/Pagination.js +20 -5
  161. package/dist/esm/components/Pane.js +67 -4
  162. package/dist/esm/components/Popover.js +37 -21
  163. package/dist/esm/components/PopoverManager.js +14 -1
  164. package/dist/esm/components/ProgressBar.js +28 -15
  165. package/dist/esm/components/RadioButton.js +32 -24
  166. package/dist/esm/components/RadioButtonCard.js +92 -67
  167. package/dist/esm/components/RadioButtonCardGroup.js +364 -0
  168. package/dist/esm/components/RangeSlider.js +34 -26
  169. package/dist/esm/components/ResourceList.js +28 -14
  170. package/dist/esm/components/Select.js +38 -26
  171. package/dist/esm/components/SkeletonText.js +33 -18
  172. package/dist/esm/components/Spinner.js +24 -12
  173. package/dist/esm/components/Stack.js +131 -71
  174. package/dist/esm/components/TabNavigation.js +27 -1
  175. package/dist/esm/components/Table.js +58 -18
  176. package/dist/esm/components/Tabs.js +52 -23
  177. package/dist/esm/components/Tag.js +37 -16
  178. package/dist/esm/components/Text.js +32 -18
  179. package/dist/esm/components/TextField.js +119 -69
  180. package/dist/esm/components/Thumbnail.js +25 -11
  181. package/dist/esm/components/TimePicker.js +22 -1
  182. package/dist/esm/components/Tip.js +140 -25
  183. package/dist/esm/components/ToastNotification.js +107 -34
  184. package/dist/esm/components/ToastProvider.js +13 -3
  185. package/dist/esm/components/Tooltip.js +50 -41
  186. package/dist/esm/components/TopBar.js +83 -9
  187. package/dist/esm/components/VerticalStack.js +31 -16
  188. package/dist/esm/index.js +6 -0
  189. package/dist/esm/stories/Autocomplete.stories.js +10 -10
  190. package/dist/esm/stories/Checkbox.stories.js +6 -8
  191. package/dist/esm/stories/CheckboxCardGroup.stories.js +421 -0
  192. package/dist/esm/stories/Collapsible.stories.js +11 -11
  193. package/dist/esm/stories/ColorField.stories.js +2 -3
  194. package/dist/esm/stories/ComplexExamples.stories.js +48 -77
  195. package/dist/esm/stories/ContextualSaveBar.stories.js +1 -1
  196. package/dist/esm/stories/Divider.stories.js +15 -16
  197. package/dist/esm/stories/DropZone.stories.js +3 -3
  198. package/dist/esm/stories/FooterHelp.stories.js +3 -4
  199. package/dist/esm/stories/Form.stories.js +2 -4
  200. package/dist/esm/stories/Grid.stories.js +24 -33
  201. package/dist/esm/stories/Icon.stories.js +22 -23
  202. package/dist/esm/stories/Image.stories.js +12 -15
  203. package/dist/esm/stories/InlineError.stories.js +0 -1
  204. package/dist/esm/stories/Layout.stories.js +93 -2
  205. package/dist/esm/stories/LayoutSection.stories.js +13 -18
  206. package/dist/esm/stories/List.stories.js +24 -28
  207. package/dist/esm/stories/Listbox.stories.js +2 -2
  208. package/dist/esm/stories/Loading.stories.js +21 -25
  209. package/dist/esm/stories/Modal.stories.js +0 -1
  210. package/dist/esm/stories/Pagination.stories.js +4 -4
  211. package/dist/esm/stories/Pane.stories.js +10 -18
  212. package/dist/esm/stories/Popover.stories.js +7 -7
  213. package/dist/esm/stories/PopoverManager.stories.js +9 -9
  214. package/dist/esm/stories/ProgressBar.stories.js +8 -8
  215. package/dist/esm/stories/RadioButton.stories.js +2 -2
  216. package/dist/esm/stories/RadioButtonCard.stories.js +2 -2
  217. package/dist/esm/stories/RadioButtonCardGroup.stories.js +461 -0
  218. package/dist/esm/stories/RangeSlider.stories.js +1 -3
  219. package/dist/esm/stories/ResourceList.stories.js +13 -13
  220. package/dist/esm/stories/Spinner.stories.js +9 -9
  221. package/dist/esm/stories/Stack.stories.js +224 -51
  222. package/dist/esm/stories/Tabs.stories.js +2 -2
  223. package/dist/esm/stories/Tag.stories.js +1 -1
  224. package/dist/esm/stories/Thumbnail.stories.js +17 -18
  225. package/dist/esm/stories/TimePicker.stories.js +0 -5
  226. package/dist/esm/stories/Tip.stories.js +1 -1
  227. package/dist/types/components/ActionList.d.ts +1 -31
  228. package/dist/types/components/ActionList.d.ts.map +1 -1
  229. package/dist/types/components/AnnouncementBar.d.ts +1 -19
  230. package/dist/types/components/AnnouncementBar.d.ts.map +1 -1
  231. package/dist/types/components/AnnouncementCard.d.ts +3 -0
  232. package/dist/types/components/AnnouncementCard.d.ts.map +1 -0
  233. package/dist/types/components/AppProvider.d.ts +14 -1
  234. package/dist/types/components/AppProvider.d.ts.map +1 -1
  235. package/dist/types/components/Autocomplete.d.ts +1 -71
  236. package/dist/types/components/Autocomplete.d.ts.map +1 -1
  237. package/dist/types/components/Badge.d.ts +1 -19
  238. package/dist/types/components/Badge.d.ts.map +1 -1
  239. package/dist/types/components/Banner.d.ts +1 -37
  240. package/dist/types/components/Banner.d.ts.map +1 -1
  241. package/dist/types/components/Box.d.ts +1 -68
  242. package/dist/types/components/Box.d.ts.map +1 -1
  243. package/dist/types/components/Button.d.ts +1 -131
  244. package/dist/types/components/Button.d.ts.map +1 -1
  245. package/dist/types/components/ButtonGroup.d.ts +1 -22
  246. package/dist/types/components/ButtonGroup.d.ts.map +1 -1
  247. package/dist/types/components/Card.d.ts +54 -59
  248. package/dist/types/components/Card.d.ts.map +1 -1
  249. package/dist/types/components/Checkbox.d.ts +1 -63
  250. package/dist/types/components/Checkbox.d.ts.map +1 -1
  251. package/dist/types/components/CheckboxCard.d.ts +3 -0
  252. package/dist/types/components/CheckboxCard.d.ts.map +1 -0
  253. package/dist/types/components/CheckboxCardGroup.d.ts +3 -0
  254. package/dist/types/components/CheckboxCardGroup.d.ts.map +1 -0
  255. package/dist/types/components/ChoiceList.d.ts +1 -42
  256. package/dist/types/components/ChoiceList.d.ts.map +1 -1
  257. package/dist/types/components/Code.d.ts +1 -26
  258. package/dist/types/components/Code.d.ts.map +1 -1
  259. package/dist/types/components/Collapsible.d.ts +1 -15
  260. package/dist/types/components/Collapsible.d.ts.map +1 -1
  261. package/dist/types/components/ColorField.d.ts +13 -34
  262. package/dist/types/components/ColorField.d.ts.map +1 -1
  263. package/dist/types/components/ContextualSaveBar.d.ts +13 -6
  264. package/dist/types/components/ContextualSaveBar.d.ts.map +1 -1
  265. package/dist/types/components/DatePicker.d.ts +1 -64
  266. package/dist/types/components/DatePicker.d.ts.map +1 -1
  267. package/dist/types/components/Disclosure.d.ts +1 -25
  268. package/dist/types/components/Disclosure.d.ts.map +1 -1
  269. package/dist/types/components/Divider.d.ts +1 -19
  270. package/dist/types/components/Divider.d.ts.map +1 -1
  271. package/dist/types/components/DropZone.d.ts +1 -62
  272. package/dist/types/components/DropZone.d.ts.map +1 -1
  273. package/dist/types/components/EmptyState.d.ts +1 -50
  274. package/dist/types/components/EmptyState.d.ts.map +1 -1
  275. package/dist/types/components/Filters.d.ts +13 -68
  276. package/dist/types/components/Filters.d.ts.map +1 -1
  277. package/dist/types/components/FooterHelp.d.ts +14 -4
  278. package/dist/types/components/FooterHelp.d.ts.map +1 -1
  279. package/dist/types/components/Form.d.ts +13 -2
  280. package/dist/types/components/Form.d.ts.map +1 -1
  281. package/dist/types/components/Frame.d.ts +15 -36
  282. package/dist/types/components/Frame.d.ts.map +1 -1
  283. package/dist/types/components/FrameSaveBar.d.ts +3 -6
  284. package/dist/types/components/FrameSaveBar.d.ts.map +1 -1
  285. package/dist/types/components/Grid.d.ts +5 -21
  286. package/dist/types/components/Grid.d.ts.map +1 -1
  287. package/dist/types/components/HorizontalStack.d.ts +1 -34
  288. package/dist/types/components/HorizontalStack.d.ts.map +1 -1
  289. package/dist/types/components/Icon.d.ts +1 -41
  290. package/dist/types/components/Icon.d.ts.map +1 -1
  291. package/dist/types/components/Image.d.ts +1 -43
  292. package/dist/types/components/Image.d.ts.map +1 -1
  293. package/dist/types/components/InlineError.d.ts +1 -20
  294. package/dist/types/components/InlineError.d.ts.map +1 -1
  295. package/dist/types/components/Label.d.ts +1 -26
  296. package/dist/types/components/Label.d.ts.map +1 -1
  297. package/dist/types/components/Layout.d.ts +24 -15
  298. package/dist/types/components/Layout.d.ts.map +1 -1
  299. package/dist/types/components/LayoutSection.d.ts +1 -19
  300. package/dist/types/components/LayoutSection.d.ts.map +1 -1
  301. package/dist/types/components/Link.d.ts +1 -37
  302. package/dist/types/components/Link.d.ts.map +1 -1
  303. package/dist/types/components/List.d.ts +5 -17
  304. package/dist/types/components/List.d.ts.map +1 -1
  305. package/dist/types/components/Listbox.d.ts +1 -32
  306. package/dist/types/components/Listbox.d.ts.map +1 -1
  307. package/dist/types/components/Loading.d.ts +14 -2
  308. package/dist/types/components/Loading.d.ts.map +1 -1
  309. package/dist/types/components/Modal.d.ts +26 -35
  310. package/dist/types/components/Modal.d.ts.map +1 -1
  311. package/dist/types/components/Navigation.d.ts +1 -25
  312. package/dist/types/components/Navigation.d.ts.map +1 -1
  313. package/dist/types/components/Page.d.ts +1 -57
  314. package/dist/types/components/Page.d.ts.map +1 -1
  315. package/dist/types/components/Pagination.d.ts +13 -3
  316. package/dist/types/components/Pagination.d.ts.map +1 -1
  317. package/dist/types/components/Pane.d.ts +55 -3
  318. package/dist/types/components/Pane.d.ts.map +1 -1
  319. package/dist/types/components/Popover.d.ts +5 -37
  320. package/dist/types/components/Popover.d.ts.map +1 -1
  321. package/dist/types/components/PopoverManager.d.ts.map +1 -1
  322. package/dist/types/components/ProgressBar.d.ts +1 -22
  323. package/dist/types/components/ProgressBar.d.ts.map +1 -1
  324. package/dist/types/components/RadioButton.d.ts +1 -37
  325. package/dist/types/components/RadioButton.d.ts.map +1 -1
  326. package/dist/types/components/RadioButtonCard.d.ts +1 -39
  327. package/dist/types/components/RadioButtonCard.d.ts.map +1 -1
  328. package/dist/types/components/RadioButtonCardGroup.d.ts +3 -0
  329. package/dist/types/components/RadioButtonCardGroup.d.ts.map +1 -0
  330. package/dist/types/components/RangeSlider.d.ts +1 -42
  331. package/dist/types/components/RangeSlider.d.ts.map +1 -1
  332. package/dist/types/components/ResourceList.d.ts +5 -30
  333. package/dist/types/components/ResourceList.d.ts.map +1 -1
  334. package/dist/types/components/Select.d.ts +1 -46
  335. package/dist/types/components/Select.d.ts.map +1 -1
  336. package/dist/types/components/SkeletonText.d.ts +1 -26
  337. package/dist/types/components/SkeletonText.d.ts.map +1 -1
  338. package/dist/types/components/Spinner.d.ts +1 -16
  339. package/dist/types/components/Spinner.d.ts.map +1 -1
  340. package/dist/types/components/Stack.d.ts +1 -47
  341. package/dist/types/components/Stack.d.ts.map +1 -1
  342. package/dist/types/components/TabNavigation.d.ts.map +1 -1
  343. package/dist/types/components/Table.d.ts +13 -58
  344. package/dist/types/components/Table.d.ts.map +1 -1
  345. package/dist/types/components/Tabs.d.ts +3 -41
  346. package/dist/types/components/Tabs.d.ts.map +1 -1
  347. package/dist/types/components/Tag.d.ts +1 -24
  348. package/dist/types/components/Tag.d.ts.map +1 -1
  349. package/dist/types/components/Text.d.ts +1 -30
  350. package/dist/types/components/Text.d.ts.map +1 -1
  351. package/dist/types/components/TextField.d.ts +1 -109
  352. package/dist/types/components/TextField.d.ts.map +1 -1
  353. package/dist/types/components/Thumbnail.d.ts +1 -16
  354. package/dist/types/components/Thumbnail.d.ts.map +1 -1
  355. package/dist/types/components/TimePicker.d.ts +28 -1
  356. package/dist/types/components/TimePicker.d.ts.map +1 -1
  357. package/dist/types/components/Tip.d.ts +1 -21
  358. package/dist/types/components/Tip.d.ts.map +1 -1
  359. package/dist/types/components/ToastNotification.d.ts +1 -34
  360. package/dist/types/components/ToastNotification.d.ts.map +1 -1
  361. package/dist/types/components/ToastProvider.d.ts +13 -3
  362. package/dist/types/components/ToastProvider.d.ts.map +1 -1
  363. package/dist/types/components/Tooltip.d.ts +1 -54
  364. package/dist/types/components/Tooltip.d.ts.map +1 -1
  365. package/dist/types/components/TopBar.d.ts +1 -19
  366. package/dist/types/components/TopBar.d.ts.map +1 -1
  367. package/dist/types/components/VerticalStack.d.ts +1 -25
  368. package/dist/types/components/VerticalStack.d.ts.map +1 -1
  369. package/dist/types/index.d.ts +6 -0
  370. package/index.css +76 -14
  371. package/package.json +4 -3
@@ -2,7 +2,33 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { tv } from "tailwind-variants";
3
3
  import Icon from "./Icon.js";
4
4
  import { CancelSmallMinor, TickSmallMinor } from "@shopify/polaris-icons";
5
- var styles = tv({
5
+ /**
6
+ * @component Tag
7
+ *
8
+ * @description A removable label component used to display active filters, selected categories, or user-applied tags.
9
+ *
10
+ * @usage
11
+ * - DO: Display removable filters, categories, or labels.
12
+ * - DON'T: Use for non-removable status indicators (use Badge).
13
+ *
14
+ * @accessibility
15
+ * - Tag renders a button for removal; ensure the remove action is accessible via keyboard.
16
+ *
17
+ * @alternative
18
+ * - If you need a non-interactive status label, use `Badge`.
19
+ * - If you need a selectable option, use `ChoiceList`.
20
+ *
21
+ * @param {Object} props - The properties for the Tag component.
22
+ * @param {React.ReactNode} props.children - The content to be displayed inside the Tag.
23
+ * @param {boolean} [props.disabled=false] - Whether the tag is disabled.
24
+ * @param {Function} [props.onClick] - The callback function to execute on tag click.
25
+ * @param {Function} [props.onRemove] - The callback function to execute when the remove icon is clicked.
26
+ * @param {string} [props.accessibilityLabel] - The accessibility label for the tag.
27
+ * @param {string} [props.url] - The URL to open when the tag is clicked.
28
+ * @param {string} [props.target="_self"] - Specifies where to open the URL.
29
+ *
30
+ * @returns {JSX.Element} The rendered Tag component.
31
+ */ var styles = tv({
6
32
  base: "Litho-Tag text-xs rounded-md inline-grid pl-1 whitespace-nowrap",
7
33
  variants: {
8
34
  disabled: {
@@ -75,21 +101,7 @@ var actionStyles = tv({
75
101
  }
76
102
  }
77
103
  });
78
- /**
79
- * Renders a Tag component with optional interactive and removable features.
80
- *
81
- * @function Tag
82
- * @param {Object} props - The properties for the Tag component.
83
- * @param {React.ReactNode} props.children - The content to be displayed inside the Tag.
84
- * @param {boolean} [props.disabled=false] - Whether the tag is disabled.
85
- * @param {Function} [props.onClick] - The callback function to execute on tag click.
86
- * @param {Function} [props.onRemove] - The callback function to execute when the remove icon is clicked.
87
- * @param {string} [props.accessibilityLabel] - The accessibility label for the tag.
88
- * @param {string} [props.url] - The URL to open when the tag is clicked.
89
- * @param {string} [props.target="_self"] - Specifies where to open the URL.
90
- *
91
- * @returns {JSX.Element} The rendered Tag component.
92
- */ function Tag() {
104
+ function Tag() {
93
105
  var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
94
106
  var children = props.children, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, icon = props.icon, onClick = props.onClick, onRemove = props.onRemove, accessibilityLabel = props.accessibilityLabel, url = props.url, _props_target = props.target, target = _props_target === void 0 ? "_self" : _props_target, className = props.className, _props_selected = props.selected, selected = _props_selected === void 0 ? false : _props_selected;
95
107
  var interactive = !!url || !!onClick;
@@ -136,6 +148,15 @@ var actionStyles = tv({
136
148
  hasRemoveAction && /*#__PURE__*/ _jsx("div", {
137
149
  className: actionClasses,
138
150
  onClick: onRemove,
151
+ role: "button",
152
+ tabIndex: disabled ? -1 : 0,
153
+ "aria-label": "Remove",
154
+ onKeyDown: function(e) {
155
+ if (e.key === "Enter" || e.key === " ") {
156
+ e.preventDefault();
157
+ onRemove === null || onRemove === void 0 ? void 0 : onRemove();
158
+ }
159
+ },
139
160
  children: /*#__PURE__*/ _jsx(Icon, {
140
161
  source: CancelSmallMinor,
141
162
  color: disabled ? "disabled" : "default",
@@ -79,7 +79,37 @@ function _object_without_properties_loose(source, excluded) {
79
79
  }
80
80
  import { jsx as _jsx } from "react/jsx-runtime";
81
81
  import { tv } from "tailwind-variants";
82
- var styles = tv({
82
+ /**
83
+ * @component Text
84
+ *
85
+ * @description A typography component that renders text content with consistent heading and body variants, alignment, weight, and color options.
86
+ *
87
+ * @usage
88
+ * - DO: Use for all text content with consistent typography variants (headings, body, captions).
89
+ * - DON'T: Use raw HTML heading or paragraph tags; always use Text with the appropriate `variant` prop.
90
+ *
91
+ * @accessibility
92
+ * - Use the `as` prop to render semantically correct heading levels (h1-h6) matching the visual hierarchy.
93
+ * - Use `visuallyHidden` to provide screen-reader-only text without hiding content from assistive tech.
94
+ *
95
+ * @alternative
96
+ * - If you need a code block, use `Code` instead.
97
+ * - If you need a clickable text element, use `Link` or `Button` with `link` variant instead.
98
+ *
99
+ * @param {Object} props - Properties to customize the text component.
100
+ * @param {'left' | 'center' | 'right' | 'end' | 'start'} [props.alignment] - Text alignment.
101
+ * @param {'normal' | 'regular' | 'medium' | 'semibold' | 'bold'} [props.fontWeight] - Font weight.
102
+ * @param {'default' | 'subdued' | 'critical' | 'success' | 'warning' | 'alternate' | 'link' | 'disabled'} [props.color] - Text color variant.
103
+ * @param {boolean} [props.truncate] - Whether to truncate text with ellipsis.
104
+ * @param {'headingXl' | 'headingLg' | 'headingMd' | 'headingSm' | 'headingXs' | 'bodyXl' | 'bodyLg' | 'bodyMd' | 'bodySm' | 'bodyXs'} [props.variant] - Text size and style variant.
105
+ * @param {boolean} [props.visuallyHidden] - Visually hides text for accessibility.
106
+ * @param {string} [props.className] - Additional CSS class names.
107
+ * @param {string} [props.as] - Element type (e.g., 'p' or 'span').
108
+ * @param {number} [props.clampLines] - Number of lines to clamp.
109
+ * @param {boolean} [props.strike] - Whether to strike through the text.
110
+ * @param {React.ReactNode} [props.children] - The content to be displayed within the text component. Defaults to an empty string.
111
+ * @returns {JSX.Element} Rendered text component with applied styles.
112
+ */ var styles = tv({
83
113
  base: "Litho-Text block",
84
114
  variants: {
85
115
  alignment: {
@@ -218,23 +248,7 @@ var styles = tv({
218
248
  }
219
249
  ]
220
250
  });
221
- /**
222
- * A text component that renders styled text based on provided props.
223
- *
224
- * @param {Object} props - Properties to customize the text component.
225
- * @param {'left' | 'center' | 'right' | 'end' | 'start'} [props.alignment] - Text alignment.
226
- * @param {'normal' | 'regular' | 'medium' | 'semibold' | 'bold'} [props.fontWeight] - Font weight.
227
- * @param {'default' | 'subdued' | 'critical' | 'success' | 'warning' | 'alternate' | 'link' | 'disabled'} [props.color] - Text color variant.
228
- * @param {boolean} [props.truncate] - Whether to truncate text with ellipsis.
229
- * @param {'headingXl' | 'headingLg' | 'headingMd' | 'headingSm' | 'headingXs' | 'bodyXl' | 'bodyLg' | 'bodyMd' | 'bodySm' | 'bodyXs'} [props.variant] - Text size and style variant.
230
- * @param {boolean} [props.visuallyHidden] - Visually hides text for accessibility.
231
- * @param {string} [props.className] - Additional CSS class names.
232
- * @param {string} [props.as] - Element type (e.g., 'p' or 'span').
233
- * @param {number} [props.clampLines] - Number of lines to clamp.
234
- * @param {boolean} [props.strike] - Whether to strike through the text.
235
- * @param {React.ReactNode} [props.children] - The content to be displayed within the text component. Defaults to an empty string.
236
- * @returns {JSX.Element} Rendered text component with applied styles.
237
- */ function Text() {
251
+ function Text() {
238
252
  var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
239
253
  var alignment = props.alignment, as = props.as, className = props.className, color = props.color, fontWeight = props.fontWeight, truncate = props.truncate, variant = props.variant, visuallyHidden = props.visuallyHidden, clampLines = props.clampLines, strike = props.strike, children = props.children, rest = _object_without_properties(props, [
240
254
  "alignment",
@@ -55,7 +55,78 @@ import InlineError from "./InlineError.js";
55
55
  import Label from "./Label.js";
56
56
  import Link from "./Link.js";
57
57
  import Text from "./Text.js";
58
- var styles = tv({
58
+ /**
59
+ * @component TextField
60
+ *
61
+ * @description A text input component with label, help text, error handling, prefix/suffix, and character count support.
62
+ *
63
+ * @usage
64
+ * - DO: Use for single-line or multi-line text input with built-in labeling and validation.
65
+ * - DON'T: Use for selection from a fixed list (use Select or Autocomplete).
66
+ *
67
+ * @accessibility
68
+ * - Always provide a `label` prop; the label is programmatically associated with the input via `htmlFor`.
69
+ *
70
+ * @alternative
71
+ * - If you need a dropdown selection, use `Select`. If you need searchable selection, use `Autocomplete`.
72
+ *
73
+ * @param {Object} props - The properties for the TextField component.
74
+ * @param {string} [props.prefix] - Text content to display before the input.
75
+ * @param {string} [props.suffix] - Text content to display after the input.
76
+ * @param {string} [props.placeholder] - Placeholder text for the input.
77
+ * @param {string} [props.value=''] - The current value of the input.
78
+ * @param {string} [props.helpText] - Helper text to display below the input.
79
+ * @param {string} [props.label] - Label text for the input field.
80
+ * @param {string} [props.labelVariant='bodyMd'] - Visual variant for the label text.
81
+ * @param {Object} [props.labelAction] - Action button to display next to the label.
82
+ * @param {boolean} [props.labelHidden] - Whether to visually hide the label.
83
+ * @param {boolean} [props.disabled=false] - Whether the input is disabled. Defaults to false.
84
+ * @param {boolean} [props.clearButton] - Whether to show a clear button.
85
+ * @param {boolean} [props.readOnly] - Whether the input is read-only.
86
+ * @param {boolean} [props.autoFocus] - Whether to focus the input on mount.
87
+ * @param {boolean} [props.focused] - Whether the input is focused.
88
+ * @param {number} [props.multiline=1] - Number of lines for multiline input (1 for single line). Defaults to 1.
89
+ * @param {boolean} [props.autoGrow=false] - Whether textarea should automatically grow with content. Only applies when multiline > 1.
90
+ * @param {number} [props.maxHeight] - Maximum height in pixels before scrolling starts. Only applies when autoGrow is true.
91
+ * @param {string} [props.error] - Error message to display.
92
+ * @param {ReactNode} [props.connectedRight] - React element to connect to the right of the input.
93
+ * @param {ReactNode} [props.connectedLeft] - React element to connect to the left of the input.
94
+ * @param {string} [props.type='text'] - HTML input type. Defaults to 'text'.
95
+ * @param {boolean} [props.subdued=false] - Whether to use subdued styling.
96
+ * @param {string} [props.name] - Name attribute for the input.
97
+ * @param {string} [props.id] - ID for the input element.
98
+ * @param {string} [props.role] - ARIA role.
99
+ * @param {number} [props.step] - Step value for number inputs.
100
+ * @param {number} [props.largeStep=10] - Large step value when using shift + arrows.
101
+ * @param {string} [props.autoComplete] - HTML autocomplete attribute.
102
+ * @param {number} [props.max] - Maximum value for number inputs.
103
+ * @param {number} [props.maxLength] - Maximum length for text input.
104
+ * @param {number} [props.min] - Minimum value for number inputs.
105
+ * @param {number} [props.minLength] - Minimum length for text input.
106
+ * @param {string} [props.pattern] - Input validation pattern.
107
+ * @param {boolean} [props.spellCheck] - Whether to enable spell checking.
108
+ * @param {string} [props.ariaOwns] - ARIA owns attribute.
109
+ * @param {string} [props.ariaControls] - ARIA controls attribute.
110
+ * @param {boolean} [props.ariaExpanded] - ARIA expanded attribute.
111
+ * @param {string} [props.ariaActiveDescendant] - ARIA active descendant attribute.
112
+ * @param {string} [props.ariaAutocomplete] - ARIA autocomplete attribute.
113
+ * @param {('left'|'center'|'right')} [props.align='left'] - Text alignment within the input.
114
+ * @param {boolean} [props.requiredIndicator] - Whether to show a required field indicator.
115
+ * @param {boolean} [props.selectTextOnFocus] - Whether to select all text when focused.
116
+ * @param {Function} [props.onClearButtonClick] - Handler for clear button click.
117
+ * @param {Function} [props.onChange] - Handler for value changes.
118
+ * @param {Function} [props.onFocus] - Handler for input focus.
119
+ * @param {Function} [props.onBlur] - Handler for input blur.
120
+ * @param {Function} [props.onKeyDown] - Handler for key down.
121
+ * @param {ReactNode} [props.tooltip] - Tooltip content for the label.
122
+ * @param {string} [props.className] - Additional CSS classes.
123
+ * @param {string} [props.containerClassName] - Additional CSS classes for the outer container (Litho-TextFieldContainer).
124
+ * @param {ReactNode} [props.icon] - Icon to display before the input.
125
+ * @param {string} [props.iconColor='subdued'] - Color of the icon. Defaults to 'subdued'.
126
+ * @param {boolean} [props.disableFocusStyles=false] - Whether to disable focused styles when the input is focused.
127
+ * @param {boolean} [props.insight=false] - Whether to use insight/AI styling with insight-alt background, border, and text colors.
128
+ * @returns {JSX.Element} The rendered TextField component.
129
+ */ var styles = tv({
59
130
  base: "Litho-TextField group relative rounded-md border min-h-8 cursor-text",
60
131
  variants: {
61
132
  disabled: {
@@ -72,6 +143,10 @@ var styles = tv({
72
143
  transparent: {
73
144
  true: "border-transparent",
74
145
  false: ""
146
+ },
147
+ insight: {
148
+ true: "",
149
+ false: ""
75
150
  }
76
151
  },
77
152
  compoundVariants: [
@@ -119,12 +194,27 @@ var styles = tv({
119
194
  hasError: false,
120
195
  subdued: true,
121
196
  class: "bg-form-bg"
197
+ },
198
+ {
199
+ focused: false,
200
+ disabled: false,
201
+ hasError: false,
202
+ insight: true,
203
+ class: "bg-form-bg-insight border-form-border-insight"
204
+ },
205
+ {
206
+ focused: true,
207
+ disabled: false,
208
+ hasError: false,
209
+ insight: true,
210
+ class: "bg-form-bg-insight-low border-form-border-insight ring ring-form-focus-insight"
122
211
  }
123
212
  ],
124
213
  defaultVariants: {
125
214
  disabled: false,
126
215
  hasError: false,
127
- focused: false
216
+ focused: false,
217
+ insight: false
128
218
  }
129
219
  });
130
220
  var inputStyles = tv({
@@ -155,13 +245,23 @@ var inputStyles = tv({
155
245
  true: "placeholder-form-placeholder-error",
156
246
  false: "placeholder-form-placeholder"
157
247
  },
248
+ insight: {
249
+ true: "text-insight-alt-fg placeholder-insight-alt-fg/50",
250
+ false: ""
251
+ },
158
252
  type: {
159
253
  time: "hide-time-picker"
160
254
  }
161
255
  }
162
256
  });
163
257
  var iconStyles = tv({
164
- base: "Litho-TextField__Icon pl-0.5"
258
+ base: "Litho-TextField__Icon pl-0.5",
259
+ variants: {
260
+ hasMultiline: {
261
+ true: "self-start pt-1",
262
+ false: ""
263
+ }
264
+ }
165
265
  });
166
266
  var clearButtonStyles = tv({
167
267
  base: "Litho-TextField__ClearButton mr-1 rounded-md h-6 w-6 flex self-center items-center justify-center cursor-pointer bg-btn-outline hover:bg-btn-outline-low active:bg-btn-outline-lower",
@@ -172,65 +272,11 @@ var clearButtonStyles = tv({
172
272
  }
173
273
  }
174
274
  });
175
- /**
176
- * Renders a TextField component.
177
- *
178
- * @function TextField
179
- * @param {Object} props - The properties for the TextField component.
180
- * @param {string} [props.prefix] - Text content to display before the input.
181
- * @param {string} [props.suffix] - Text content to display after the input.
182
- * @param {string} [props.placeholder] - Placeholder text for the input.
183
- * @param {string} [props.value=''] - The current value of the input.
184
- * @param {string} [props.helpText] - Helper text to display below the input.
185
- * @param {string} [props.label] - Label text for the input field.
186
- * @param {string} [props.labelVariant='bodyMd'] - Visual variant for the label text.
187
- * @param {Object} [props.labelAction] - Action button to display next to the label.
188
- * @param {boolean} [props.labelHidden] - Whether to visually hide the label.
189
- * @param {boolean} [props.disabled=false] - Whether the input is disabled. Defaults to false.
190
- * @param {boolean} [props.clearButton] - Whether to show a clear button.
191
- * @param {boolean} [props.readOnly] - Whether the input is read-only.
192
- * @param {boolean} [props.autoFocus] - Whether to focus the input on mount.
193
- * @param {boolean} [props.focused] - Whether the input is focused.
194
- * @param {number} [props.multiline=1] - Number of lines for multiline input (1 for single line). Defaults to 1.
195
- * @param {boolean} [props.autoGrow=false] - Whether textarea should automatically grow with content. Only applies when multiline > 1.
196
- * @param {number} [props.maxHeight] - Maximum height in pixels before scrolling starts. Only applies when autoGrow is true.
197
- * @param {string} [props.error] - Error message to display.
198
- * @param {ReactNode} [props.connectedRight] - React element to connect to the right of the input.
199
- * @param {ReactNode} [props.connectedLeft] - React element to connect to the left of the input.
200
- * @param {string} [props.type='text'] - HTML input type. Defaults to 'text'.
201
- * @param {boolean} [props.subdued=false] - Whether to use subdued styling.
202
- * @param {string} [props.name] - Name attribute for the input.
203
- * @param {string} [props.id] - ID for the input element.
204
- * @param {string} [props.role] - ARIA role.
205
- * @param {number} [props.step] - Step value for number inputs.
206
- * @param {number} [props.largeStep=10] - Large step value when using shift + arrows.
207
- * @param {string} [props.autoComplete] - HTML autocomplete attribute.
208
- * @param {number} [props.max] - Maximum value for number inputs.
209
- * @param {number} [props.maxLength] - Maximum length for text input.
210
- * @param {number} [props.min] - Minimum value for number inputs.
211
- * @param {number} [props.minLength] - Minimum length for text input.
212
- * @param {string} [props.pattern] - Input validation pattern.
213
- * @param {boolean} [props.spellCheck] - Whether to enable spell checking.
214
- * @param {string} [props.ariaOwns] - ARIA owns attribute.
215
- * @param {string} [props.ariaControls] - ARIA controls attribute.
216
- * @param {boolean} [props.ariaExpanded] - ARIA expanded attribute.
217
- * @param {string} [props.ariaActiveDescendant] - ARIA active descendant attribute.
218
- * @param {string} [props.ariaAutocomplete] - ARIA autocomplete attribute.
219
- * @param {('left'|'center'|'right')} [props.align='left'] - Text alignment within the input.
220
- * @param {boolean} [props.requiredIndicator] - Whether to show a required field indicator.
221
- * @param {boolean} [props.selectTextOnFocus] - Whether to select all text when focused.
222
- * @param {Function} [props.onClearButtonClick] - Handler for clear button click.
223
- * @param {Function} [props.onChange] - Handler for value changes.
224
- * @param {Function} [props.onFocus] - Handler for input focus.
225
- * @param {Function} [props.onBlur] - Handler for input blur.
226
- * @param {Function} [props.onKeyDown] - Handler for key down.
227
- * @param {ReactNode} [props.tooltip] - Tooltip content for the label.
228
- * @param {string} [props.className] - Additional CSS classes.
229
- * @param {boolean} [props.disableFocusStyles=false] - Whether to disable focused styles when the input is focused.
230
- * @returns {JSX.Element} The rendered TextField component.
231
- */ function TextField() {
275
+ function TextField() {
232
276
  var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
233
- var prefix = props.prefix, _suffix = props.suffix, placeholder = props.placeholder, _props_value = props.value, value = _props_value === void 0 ? "" : _props_value, helpText = props.helpText, label = props.label, _props_labelVariant = props.labelVariant, labelVariant = _props_labelVariant === void 0 ? "bodyMd" : _props_labelVariant, labelAction = props.labelAction, labelHidden = props.labelHidden, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, clearButton = props.clearButton, readOnly = props.readOnly, autoFocus = props.autoFocus, _focused = props.focused, _props_multiline = props.multiline, multiline = _props_multiline === void 0 ? 1 : _props_multiline, _props_autoGrow = props.autoGrow, autoGrow = _props_autoGrow === void 0 ? false : _props_autoGrow, maxHeight = props.maxHeight, error = props.error, connectedRight = props.connectedRight, connectedLeft = props.connectedLeft, _props_type = props.type, type = _props_type === void 0 ? "text" : _props_type, _props_subdued = props.subdued, subdued = _props_subdued === void 0 ? false : _props_subdued, name = props.name, _id = props.id, role = props.role, step = props.step, _props_largeStep = props.largeStep, largeStep = _props_largeStep === void 0 ? 10 : _props_largeStep, autoComplete = props.autoComplete, max = props.max, maxLength = props.maxLength, min = props.min, minLength = props.minLength, _props_showCharacterCount = props.showCharacterCount, showCharacterCount = _props_showCharacterCount === void 0 ? false : _props_showCharacterCount, pattern = props.pattern, spellCheck = props.spellCheck, ariaOwns = props.ariaOwns, ariaControls = props.ariaControls, ariaExpanded = props.ariaExpanded, ariaActiveDescendant = props.ariaActiveDescendant, ariaAutocomplete = props.ariaAutocomplete, _props_align = props.align, align = _props_align === void 0 ? "left" : _props_align, requiredIndicator = props.requiredIndicator, selectTextOnFocus = props.selectTextOnFocus, onClearButtonClick = props.onClearButtonClick, onChange = props.onChange, onFocus = props.onFocus, onBlur = props.onBlur, tooltip = props.tooltip, className = props.className, _inputRef = props.inputRef, icon = props.icon, _props_transparent = props.transparent, transparent = _props_transparent === void 0 ? false : _props_transparent, _props_showNumberSteppers = props.showNumberSteppers, showNumberSteppers = _props_showNumberSteppers === void 0 ? true : _props_showNumberSteppers, onKeyDown = props.onKeyDown, _props_disableFocusStyles = props.disableFocusStyles, disableFocusStyles = _props_disableFocusStyles === void 0 ? false : _props_disableFocusStyles;
277
+ var prefix = props.prefix, _suffix = props.suffix, placeholder = props.placeholder, _props_value = props.value, value = _props_value === void 0 ? "" : _props_value, helpText = props.helpText, label = props.label, _props_labelVariant = props.labelVariant, labelVariant = _props_labelVariant === void 0 ? "bodyMd" : _props_labelVariant, labelAction = props.labelAction, labelHidden = props.labelHidden, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, clearButton = props.clearButton, readOnly = props.readOnly, autoFocus = props.autoFocus, _focused = props.focused, _props_multiline = props.multiline, multiline = _props_multiline === void 0 ? 1 : _props_multiline, _props_autoGrow = props.autoGrow, autoGrow = _props_autoGrow === void 0 ? false : _props_autoGrow, maxHeight = props.maxHeight, error = props.error, connectedRight = props.connectedRight, connectedLeft = props.connectedLeft, _props_type = props.type, type = _props_type === void 0 ? "text" : _props_type, _props_subdued = props.subdued, subdued = _props_subdued === void 0 ? false : _props_subdued, name = props.name, _id = props.id, role = props.role, step = props.step, _props_largeStep = props.largeStep, largeStep = _props_largeStep === void 0 ? 10 : _props_largeStep, autoComplete = props.autoComplete, max = props.max, maxLength = props.maxLength, min = props.min, minLength = props.minLength, _props_showCharacterCount = props.showCharacterCount, showCharacterCount = _props_showCharacterCount === void 0 ? false : _props_showCharacterCount, pattern = props.pattern, spellCheck = props.spellCheck, ariaOwns = props.ariaOwns, ariaControls = props.ariaControls, ariaExpanded = props.ariaExpanded, ariaActiveDescendant = props.ariaActiveDescendant, ariaAutocomplete = props.ariaAutocomplete, _props_align = props.align, align = _props_align === void 0 ? "left" : _props_align, requiredIndicator = props.requiredIndicator, selectTextOnFocus = props.selectTextOnFocus, onClearButtonClick = props.onClearButtonClick, onChange = props.onChange, onFocus = props.onFocus, onBlur = props.onBlur, tooltip = props.tooltip, className = props.className, containerClassName = props.containerClassName, _inputRef = props.inputRef, icon = props.icon, _iconColor = props.iconColor, _props_transparent = props.transparent, transparent = _props_transparent === void 0 ? false : _props_transparent, _props_insight = props.insight, insight = _props_insight === void 0 ? false : _props_insight, _props_showNumberSteppers = props.showNumberSteppers, showNumberSteppers = _props_showNumberSteppers === void 0 ? true : _props_showNumberSteppers, onKeyDown = props.onKeyDown, _props_disableFocusStyles = props.disableFocusStyles, disableFocusStyles = _props_disableFocusStyles === void 0 ? false : _props_disableFocusStyles;
278
+ var effectiveIcon = insight && !icon ? MagicMajor : icon;
279
+ var effectiveIconColor = insight ? _iconColor || "insight-icon" : _iconColor || "subdued";
234
280
  var suffix = maxLength && showCharacterCount ? "".concat(value.length, " / ").concat(maxLength) : _suffix;
235
281
  var _internalRef = useRef(null);
236
282
  var inputRef = _inputRef || _internalRef;
@@ -238,7 +284,7 @@ var clearButtonStyles = tv({
238
284
  var _useState1 = _sliced_to_array(useState(_focused), 2), focused = _useState1[0], setFocused = _useState1[1];
239
285
  var hasError = !!error;
240
286
  var hasSuffix = !!suffix || maxLength && showCharacterCount;
241
- var hasPrefix = !!prefix || !!icon;
287
+ var hasPrefix = !!prefix || !!effectiveIcon;
242
288
  var hasMultiline = multiline > 1;
243
289
  var hasConnectedLeft = !!connectedLeft;
244
290
  var hasConnectedRight = !!connectedRight;
@@ -291,9 +337,12 @@ var clearButtonStyles = tv({
291
337
  hasError: hasError,
292
338
  focused: Boolean(focused && !readOnly && !disableFocusStyles),
293
339
  subdued: subdued,
294
- transparent: transparent
340
+ transparent: transparent,
341
+ insight: insight
342
+ });
343
+ var iconClasses = iconStyles({
344
+ hasMultiline: hasMultiline
295
345
  });
296
- var iconClasses = iconStyles();
297
346
  var inputClasses = inputStyles({
298
347
  hasSuffix: hasSuffix,
299
348
  hasPrefix: hasPrefix,
@@ -302,7 +351,8 @@ var clearButtonStyles = tv({
302
351
  hasError: hasError,
303
352
  readOnly: readOnly,
304
353
  align: align,
305
- type: type
354
+ type: type,
355
+ insight: insight
306
356
  });
307
357
  var clearButtonClasses = clearButtonStyles({
308
358
  visible: (value === null || value === void 0 ? void 0 : value.length) > 0 && !readOnly && !disabled
@@ -333,9 +383,9 @@ var clearButtonStyles = tv({
333
383
  }
334
384
  };
335
385
  var memoizedIcon = useMemo(function() {
336
- return icon;
386
+ return effectiveIcon;
337
387
  }, [
338
- icon
388
+ effectiveIcon
339
389
  ]);
340
390
  useEffect(function() {
341
391
  // Handle auto-growing textarea
@@ -387,7 +437,7 @@ var clearButtonStyles = tv({
387
437
  className: iconClasses,
388
438
  children: /*#__PURE__*/ _jsx(Icon, {
389
439
  source: memoizedIcon,
390
- color: "subdued"
440
+ color: effectiveIconColor
391
441
  })
392
442
  }),
393
443
  /*#__PURE__*/ _jsx(InputElement, {
@@ -493,7 +543,7 @@ var clearButtonStyles = tv({
493
543
  })
494
544
  });
495
545
  return /*#__PURE__*/ _jsxs("div", {
496
- className: "Litho-TextFieldContainer flex flex-col gap-1",
546
+ className: "Litho-TextFieldContainer flex flex-col gap-1".concat(containerClassName ? " ".concat(containerClassName) : ""),
497
547
  children: [
498
548
  label && !labelHidden && /*#__PURE__*/ _jsxs("div", {
499
549
  className: "flex justify-between items-end",
@@ -2,7 +2,30 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { tv } from "tailwind-variants";
3
3
  import Icon from "./Icon.js";
4
4
  import { ImageMajor } from "@shopify/polaris-icons";
5
- var imageContainerStyles = tv({
5
+ /**
6
+ * @component Thumbnail
7
+ *
8
+ * @description A small, fixed-size image preview component with automatic placeholder fallback when no source is provided.
9
+ *
10
+ * @usage
11
+ * - DO: Use for small, fixed-size image previews in lists, tables, or resource items.
12
+ * - DON'T: Use for large content images or hero banners; use `Image` for those cases.
13
+ *
14
+ * @accessibility
15
+ * - Always provide an `alt` prop describing the image content for screen readers.
16
+ * - When no image is available, the component renders a placeholder icon automatically.
17
+ *
18
+ * @alternative
19
+ * - If you need a full-size responsive image, use `Image` instead.
20
+ * - If you need an icon without an image container, use `Icon` instead.
21
+ *
22
+ * @param {Object} props - The component props.
23
+ * @param {string} [props.src] - The image source URL.
24
+ * @param {string} [props.alt] - The alternative text for the image.
25
+ * @param {("small"|"medium"|"large"|number)} [props.size="medium"] - The size of the thumbnail. Can be "small", "medium", "large", or a numeric pixel value.
26
+ * @param {boolean} [props.skeleton=false] - Whether to show a skeleton loader instead of the image.
27
+ * @returns {JSX.Element} The rendered Thumbnail component.
28
+ */ var imageContainerStyles = tv({
6
29
  base: "relative flex items-center justify-center overflow-hidden rounded-lg border border-tint-4 bg-surface-higher group",
7
30
  variants: {
8
31
  size: {
@@ -21,16 +44,7 @@ var imageStyles = tv({
21
44
  size: "medium"
22
45
  }
23
46
  });
24
- /**
25
- * Thumbnail component to display an image or a placeholder icon.
26
- *
27
- * @param {Object} props - The component props.
28
- * @param {string} [props.src] - The image source URL.
29
- * @param {string} [props.alt] - The alternative text for the image.
30
- * @param {("small"|"medium"|"large"|number)} [props.size="medium"] - The size of the thumbnail. Can be "small", "medium", "large", or a numeric pixel value.
31
- * @param {boolean} [props.skeleton=false] - Whether to show a skeleton loader instead of the image.
32
- * @returns {JSX.Element} The rendered Thumbnail component.
33
- */ function Thumbnail() {
47
+ function Thumbnail() {
34
48
  var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
35
49
  var src = props.src, alt = props.alt, _props_size = props.size, size = _props_size === void 0 ? "medium" : _props_size, _props_skeleton = props.skeleton, skeleton = _props_skeleton === void 0 ? false : _props_skeleton;
36
50
  var sizeIsInteger = Number.isInteger(size);
@@ -1,6 +1,27 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import TextField from "./TextField.js";
3
- function TimePicker() {
3
+ /**
4
+ * @component TimePicker
5
+ *
6
+ * @description A time selection input that wraps a TextField with type='time' for picking specific times.
7
+ *
8
+ * @usage
9
+ * - DO: Use for selecting specific times in scheduling or event forms.
10
+ * - DON'T: Use for date selection (use DatePicker).
11
+ *
12
+ * @accessibility
13
+ * - Wraps a TextField with type="time" for native keyboard and screen reader support; always provide a label.
14
+ *
15
+ * @alternative
16
+ * - If you need date selection, use `DatePicker`. If you need freeform text input, use `TextField`.
17
+ *
18
+ * @param {Object} [props={}] - The properties for the TimePicker component.
19
+ * @param {string} [props.label="Time:"] - The label text for the time input.
20
+ * @param {boolean} [props.labelInline=true] - Whether to display the label inline as a prefix.
21
+ * @param {string} [props.value] - The current time value (in HH:mm format).
22
+ * @param {Function} [props.onChange] - Callback function invoked when the time value changes.
23
+ * @returns {JSX.Element} The rendered TimePicker component.
24
+ */ function TimePicker() {
4
25
  var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
5
26
  var _props_label = props.label, label = _props_label === void 0 ? "Time:" : _props_label, _props_labelInline = props.labelInline, labelInline = _props_labelInline === void 0 ? true : _props_labelInline, value = props.value, onChange = props.onChange;
6
27
  return /*#__PURE__*/ _jsx(TextField, {