@cimpress-ui/react 0.0.0 → 0.0.1

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 (348) hide show
  1. package/README.md +1 -1
  2. package/dist/commonjs/components/button/button.d.ts +6 -1
  3. package/dist/commonjs/components/button/button.d.ts.map +1 -1
  4. package/dist/commonjs/components/button/button.js +16 -3
  5. package/dist/commonjs/components/button/button.js.map +1 -1
  6. package/dist/commonjs/components/button/constants.d.ts +3 -0
  7. package/dist/commonjs/components/button/constants.d.ts.map +1 -0
  8. package/dist/commonjs/components/button/constants.js +9 -0
  9. package/dist/commonjs/components/button/constants.js.map +1 -0
  10. package/dist/commonjs/components/button/icon-button.d.ts +6 -1
  11. package/dist/commonjs/components/button/icon-button.d.ts.map +1 -1
  12. package/dist/commonjs/components/button/icon-button.js +16 -3
  13. package/dist/commonjs/components/button/icon-button.js.map +1 -1
  14. package/dist/commonjs/components/button/icon-link-button.d.ts +9 -3
  15. package/dist/commonjs/components/button/icon-link-button.d.ts.map +1 -1
  16. package/dist/commonjs/components/button/icon-link-button.js +6 -0
  17. package/dist/commonjs/components/button/icon-link-button.js.map +1 -1
  18. package/dist/commonjs/components/button/link-button.d.ts +9 -3
  19. package/dist/commonjs/components/button/link-button.d.ts.map +1 -1
  20. package/dist/commonjs/components/button/link-button.js +6 -0
  21. package/dist/commonjs/components/button/link-button.js.map +1 -1
  22. package/dist/commonjs/components/button/types.d.ts +11 -5
  23. package/dist/commonjs/components/button/types.d.ts.map +1 -1
  24. package/dist/commonjs/components/button/types.js.map +1 -1
  25. package/dist/commonjs/components/checkbox/checkbox-group.d.ts +14 -4
  26. package/dist/commonjs/components/checkbox/checkbox-group.d.ts.map +1 -1
  27. package/dist/commonjs/components/checkbox/checkbox-group.js +16 -10
  28. package/dist/commonjs/components/checkbox/checkbox-group.js.map +1 -1
  29. package/dist/commonjs/components/checkbox/checkbox.d.ts +9 -4
  30. package/dist/commonjs/components/checkbox/checkbox.d.ts.map +1 -1
  31. package/dist/commonjs/components/checkbox/checkbox.js +7 -1
  32. package/dist/commonjs/components/checkbox/checkbox.js.map +1 -1
  33. package/dist/commonjs/components/combo-box/combo-box.d.ts +25 -24
  34. package/dist/commonjs/components/combo-box/combo-box.d.ts.map +1 -1
  35. package/dist/commonjs/components/combo-box/combo-box.js +31 -16
  36. package/dist/commonjs/components/combo-box/combo-box.js.map +1 -1
  37. package/dist/commonjs/components/form/form.d.ts +8 -3
  38. package/dist/commonjs/components/form/form.d.ts.map +1 -1
  39. package/dist/commonjs/components/form/form.js +6 -0
  40. package/dist/commonjs/components/form/form.js.map +1 -1
  41. package/dist/commonjs/components/internal/collapsible-list/collapsible-list.d.ts +16 -0
  42. package/dist/commonjs/components/internal/collapsible-list/collapsible-list.d.ts.map +1 -0
  43. package/dist/commonjs/components/internal/collapsible-list/collapsible-list.js +17 -0
  44. package/dist/commonjs/components/internal/collapsible-list/collapsible-list.js.map +1 -0
  45. package/dist/commonjs/components/internal/form-field/form-field.d.ts +29 -0
  46. package/dist/commonjs/components/internal/form-field/form-field.d.ts.map +1 -0
  47. package/dist/commonjs/components/internal/form-field/form-field.js +56 -0
  48. package/dist/commonjs/components/internal/form-field/form-field.js.map +1 -0
  49. package/dist/commonjs/components/internal/spinner/spinner.d.ts +18 -0
  50. package/dist/commonjs/components/internal/spinner/spinner.d.ts.map +1 -0
  51. package/dist/commonjs/components/internal/spinner/spinner.js +19 -0
  52. package/dist/commonjs/components/internal/spinner/spinner.js.map +1 -0
  53. package/dist/commonjs/components/menu/menu.d.ts +24 -14
  54. package/dist/commonjs/components/menu/menu.d.ts.map +1 -1
  55. package/dist/commonjs/components/menu/menu.js +38 -15
  56. package/dist/commonjs/components/menu/menu.js.map +1 -1
  57. package/dist/commonjs/components/radio/radio-group.d.ts +14 -4
  58. package/dist/commonjs/components/radio/radio-group.d.ts.map +1 -1
  59. package/dist/commonjs/components/radio/radio-group.js +16 -10
  60. package/dist/commonjs/components/radio/radio-group.js.map +1 -1
  61. package/dist/commonjs/components/radio/radio.d.ts +9 -4
  62. package/dist/commonjs/components/radio/radio.d.ts.map +1 -1
  63. package/dist/commonjs/components/radio/radio.js +6 -0
  64. package/dist/commonjs/components/radio/radio.js.map +1 -1
  65. package/dist/commonjs/components/select/select.d.ts +27 -24
  66. package/dist/commonjs/components/select/select.d.ts.map +1 -1
  67. package/dist/commonjs/components/select/select.js +33 -14
  68. package/dist/commonjs/components/select/select.js.map +1 -1
  69. package/dist/commonjs/components/spacing/box/box.d.ts +5 -3
  70. package/dist/commonjs/components/spacing/box/box.d.ts.map +1 -1
  71. package/dist/commonjs/components/spacing/box/box.js +2 -0
  72. package/dist/commonjs/components/spacing/box/box.js.map +1 -1
  73. package/dist/commonjs/components/spacing/stack/stack.d.ts +28 -4
  74. package/dist/commonjs/components/spacing/stack/stack.d.ts.map +1 -1
  75. package/dist/commonjs/components/spacing/stack/stack.js +11 -3
  76. package/dist/commonjs/components/spacing/stack/stack.js.map +1 -1
  77. package/dist/commonjs/components/spacing/types.d.ts +9 -0
  78. package/dist/commonjs/components/spacing/types.d.ts.map +1 -1
  79. package/dist/commonjs/components/spacing/types.js +6 -0
  80. package/dist/commonjs/components/spacing/types.js.map +1 -1
  81. package/dist/commonjs/components/spinner/spinner.d.ts +8 -5
  82. package/dist/commonjs/components/spinner/spinner.d.ts.map +1 -1
  83. package/dist/commonjs/components/spinner/spinner.js +23 -14
  84. package/dist/commonjs/components/spinner/spinner.js.map +1 -1
  85. package/dist/commonjs/components/text-inputs/text-area.d.ts +4 -3
  86. package/dist/commonjs/components/text-inputs/text-area.d.ts.map +1 -1
  87. package/dist/commonjs/components/text-inputs/text-area.js +13 -3
  88. package/dist/commonjs/components/text-inputs/text-area.js.map +1 -1
  89. package/dist/commonjs/components/text-inputs/text-field.d.ts +8 -3
  90. package/dist/commonjs/components/text-inputs/text-field.d.ts.map +1 -1
  91. package/dist/commonjs/components/text-inputs/text-field.js +14 -1
  92. package/dist/commonjs/components/text-inputs/text-field.js.map +1 -1
  93. package/dist/commonjs/components/types.d.ts +67 -11
  94. package/dist/commonjs/components/types.d.ts.map +1 -1
  95. package/dist/commonjs/components/types.js.map +1 -1
  96. package/dist/commonjs/components/typography/link.d.ts +4 -3
  97. package/dist/commonjs/components/typography/link.d.ts.map +1 -1
  98. package/dist/commonjs/components/typography/link.js +6 -1
  99. package/dist/commonjs/components/typography/link.js.map +1 -1
  100. package/dist/commonjs/components/typography/text.d.ts +3 -2
  101. package/dist/commonjs/components/typography/text.d.ts.map +1 -1
  102. package/dist/commonjs/components/typography/text.js +3 -0
  103. package/dist/commonjs/components/typography/text.js.map +1 -1
  104. package/dist/commonjs/components/typography/types.d.ts +3 -2
  105. package/dist/commonjs/components/typography/types.d.ts.map +1 -1
  106. package/dist/commonjs/components/typography/types.js.map +1 -1
  107. package/dist/commonjs/components/typography/utils.d.ts +1 -0
  108. package/dist/commonjs/components/typography/utils.d.ts.map +1 -1
  109. package/dist/commonjs/components/typography/utils.js +1 -0
  110. package/dist/commonjs/components/typography/utils.js.map +1 -1
  111. package/dist/commonjs/forward-ref.d.ts +2 -2
  112. package/dist/commonjs/forward-ref.d.ts.map +1 -1
  113. package/dist/commonjs/forward-ref.js +1 -0
  114. package/dist/commonjs/forward-ref.js.map +1 -1
  115. package/dist/commonjs/icons/add.d.ts +3 -2
  116. package/dist/commonjs/icons/add.d.ts.map +1 -1
  117. package/dist/commonjs/icons/add.js +16 -2
  118. package/dist/commonjs/icons/add.js.map +1 -1
  119. package/dist/commonjs/icons/alert-triangle.d.ts +3 -2
  120. package/dist/commonjs/icons/alert-triangle.d.ts.map +1 -1
  121. package/dist/commonjs/icons/alert-triangle.js +16 -2
  122. package/dist/commonjs/icons/alert-triangle.js.map +1 -1
  123. package/dist/commonjs/icons/checkmark-circle-fill.d.ts +8 -0
  124. package/dist/commonjs/icons/checkmark-circle-fill.d.ts.map +1 -0
  125. package/dist/commonjs/icons/checkmark-circle-fill.js +21 -0
  126. package/dist/commonjs/icons/checkmark-circle-fill.js.map +1 -0
  127. package/dist/commonjs/icons/checkmark-small.d.ts +3 -2
  128. package/dist/commonjs/icons/checkmark-small.d.ts.map +1 -1
  129. package/dist/commonjs/icons/checkmark-small.js +16 -2
  130. package/dist/commonjs/icons/checkmark-small.js.map +1 -1
  131. package/dist/commonjs/icons/checkmark.d.ts +8 -0
  132. package/dist/commonjs/icons/checkmark.d.ts.map +1 -0
  133. package/dist/commonjs/icons/checkmark.js +21 -0
  134. package/dist/commonjs/icons/checkmark.js.map +1 -0
  135. package/dist/commonjs/icons/chevron-down-fill.d.ts +8 -0
  136. package/dist/commonjs/icons/chevron-down-fill.d.ts.map +1 -0
  137. package/dist/commonjs/icons/chevron-down-fill.js +21 -0
  138. package/dist/commonjs/icons/chevron-down-fill.js.map +1 -0
  139. package/dist/commonjs/icons/error-circle-fill.d.ts +8 -0
  140. package/dist/commonjs/icons/error-circle-fill.d.ts.map +1 -0
  141. package/dist/commonjs/icons/error-circle-fill.js +21 -0
  142. package/dist/commonjs/icons/error-circle-fill.js.map +1 -0
  143. package/dist/commonjs/icons/index.d.ts +5 -0
  144. package/dist/commonjs/icons/index.d.ts.map +1 -1
  145. package/dist/commonjs/icons/index.js +9 -1
  146. package/dist/commonjs/icons/index.js.map +1 -1
  147. package/dist/commonjs/icons/minus-small.d.ts +3 -2
  148. package/dist/commonjs/icons/minus-small.d.ts.map +1 -1
  149. package/dist/commonjs/icons/minus-small.js +16 -2
  150. package/dist/commonjs/icons/minus-small.js.map +1 -1
  151. package/dist/commonjs/index.d.ts +13 -11
  152. package/dist/commonjs/index.d.ts.map +1 -1
  153. package/dist/commonjs/index.js +11 -10
  154. package/dist/commonjs/index.js.map +1 -1
  155. package/dist/commonjs/providers/router/router-provider.d.ts +20 -0
  156. package/dist/commonjs/providers/router/router-provider.d.ts.map +1 -0
  157. package/dist/commonjs/providers/router/router-provider.js +15 -0
  158. package/dist/commonjs/providers/router/router-provider.js.map +1 -0
  159. package/dist/commonjs/providers/ssr/ssr-provider.d.ts +7 -3
  160. package/dist/commonjs/providers/ssr/ssr-provider.d.ts.map +1 -1
  161. package/dist/commonjs/providers/ssr/ssr-provider.js +3 -1
  162. package/dist/commonjs/providers/ssr/ssr-provider.js.map +1 -1
  163. package/dist/commonjs/with-style-props.d.ts +17 -11
  164. package/dist/commonjs/with-style-props.d.ts.map +1 -1
  165. package/dist/commonjs/with-style-props.js.map +1 -1
  166. package/dist/esm/components/button/button.d.ts +6 -1
  167. package/dist/esm/components/button/button.d.ts.map +1 -1
  168. package/dist/esm/components/button/button.js +16 -3
  169. package/dist/esm/components/button/button.js.map +1 -1
  170. package/dist/esm/components/button/constants.d.ts +3 -0
  171. package/dist/esm/components/button/constants.d.ts.map +1 -0
  172. package/dist/esm/components/button/constants.js +6 -0
  173. package/dist/esm/components/button/constants.js.map +1 -0
  174. package/dist/esm/components/button/icon-button.d.ts +6 -1
  175. package/dist/esm/components/button/icon-button.d.ts.map +1 -1
  176. package/dist/esm/components/button/icon-button.js +16 -3
  177. package/dist/esm/components/button/icon-button.js.map +1 -1
  178. package/dist/esm/components/button/icon-link-button.d.ts +9 -3
  179. package/dist/esm/components/button/icon-link-button.d.ts.map +1 -1
  180. package/dist/esm/components/button/icon-link-button.js +6 -0
  181. package/dist/esm/components/button/icon-link-button.js.map +1 -1
  182. package/dist/esm/components/button/link-button.d.ts +9 -3
  183. package/dist/esm/components/button/link-button.d.ts.map +1 -1
  184. package/dist/esm/components/button/link-button.js +6 -0
  185. package/dist/esm/components/button/link-button.js.map +1 -1
  186. package/dist/esm/components/button/types.d.ts +11 -5
  187. package/dist/esm/components/button/types.d.ts.map +1 -1
  188. package/dist/esm/components/button/types.js.map +1 -1
  189. package/dist/esm/components/checkbox/checkbox-group.d.ts +14 -4
  190. package/dist/esm/components/checkbox/checkbox-group.d.ts.map +1 -1
  191. package/dist/esm/components/checkbox/checkbox-group.js +16 -10
  192. package/dist/esm/components/checkbox/checkbox-group.js.map +1 -1
  193. package/dist/esm/components/checkbox/checkbox.d.ts +9 -4
  194. package/dist/esm/components/checkbox/checkbox.d.ts.map +1 -1
  195. package/dist/esm/components/checkbox/checkbox.js +7 -1
  196. package/dist/esm/components/checkbox/checkbox.js.map +1 -1
  197. package/dist/esm/components/combo-box/combo-box.d.ts +25 -24
  198. package/dist/esm/components/combo-box/combo-box.d.ts.map +1 -1
  199. package/dist/esm/components/combo-box/combo-box.js +35 -22
  200. package/dist/esm/components/combo-box/combo-box.js.map +1 -1
  201. package/dist/esm/components/form/form.d.ts +8 -3
  202. package/dist/esm/components/form/form.d.ts.map +1 -1
  203. package/dist/esm/components/form/form.js +6 -0
  204. package/dist/esm/components/form/form.js.map +1 -1
  205. package/dist/esm/components/internal/collapsible-list/collapsible-list.d.ts +16 -0
  206. package/dist/esm/components/internal/collapsible-list/collapsible-list.d.ts.map +1 -0
  207. package/dist/esm/components/internal/collapsible-list/collapsible-list.js +14 -0
  208. package/dist/esm/components/internal/collapsible-list/collapsible-list.js.map +1 -0
  209. package/dist/esm/components/internal/form-field/form-field.d.ts +29 -0
  210. package/dist/esm/components/internal/form-field/form-field.d.ts.map +1 -0
  211. package/dist/esm/components/internal/form-field/form-field.js +48 -0
  212. package/dist/esm/components/internal/form-field/form-field.js.map +1 -0
  213. package/dist/esm/components/internal/spinner/spinner.d.ts +18 -0
  214. package/dist/esm/components/internal/spinner/spinner.d.ts.map +1 -0
  215. package/dist/esm/components/internal/spinner/spinner.js +14 -0
  216. package/dist/esm/components/internal/spinner/spinner.js.map +1 -0
  217. package/dist/esm/components/menu/menu.d.ts +24 -14
  218. package/dist/esm/components/menu/menu.d.ts.map +1 -1
  219. package/dist/esm/components/menu/menu.js +39 -16
  220. package/dist/esm/components/menu/menu.js.map +1 -1
  221. package/dist/esm/components/radio/radio-group.d.ts +14 -4
  222. package/dist/esm/components/radio/radio-group.d.ts.map +1 -1
  223. package/dist/esm/components/radio/radio-group.js +16 -10
  224. package/dist/esm/components/radio/radio-group.js.map +1 -1
  225. package/dist/esm/components/radio/radio.d.ts +9 -4
  226. package/dist/esm/components/radio/radio.d.ts.map +1 -1
  227. package/dist/esm/components/radio/radio.js +6 -0
  228. package/dist/esm/components/radio/radio.js.map +1 -1
  229. package/dist/esm/components/select/select.d.ts +27 -24
  230. package/dist/esm/components/select/select.d.ts.map +1 -1
  231. package/dist/esm/components/select/select.js +35 -18
  232. package/dist/esm/components/select/select.js.map +1 -1
  233. package/dist/esm/components/spacing/box/box.d.ts +5 -3
  234. package/dist/esm/components/spacing/box/box.d.ts.map +1 -1
  235. package/dist/esm/components/spacing/box/box.js +2 -0
  236. package/dist/esm/components/spacing/box/box.js.map +1 -1
  237. package/dist/esm/components/spacing/stack/stack.d.ts +28 -4
  238. package/dist/esm/components/spacing/stack/stack.d.ts.map +1 -1
  239. package/dist/esm/components/spacing/stack/stack.js +11 -3
  240. package/dist/esm/components/spacing/stack/stack.js.map +1 -1
  241. package/dist/esm/components/spacing/types.d.ts +9 -0
  242. package/dist/esm/components/spacing/types.d.ts.map +1 -1
  243. package/dist/esm/components/spacing/types.js +6 -0
  244. package/dist/esm/components/spacing/types.js.map +1 -1
  245. package/dist/esm/components/spinner/spinner.d.ts +8 -5
  246. package/dist/esm/components/spinner/spinner.d.ts.map +1 -1
  247. package/dist/esm/components/spinner/spinner.js +25 -13
  248. package/dist/esm/components/spinner/spinner.js.map +1 -1
  249. package/dist/esm/components/text-inputs/text-area.d.ts +4 -3
  250. package/dist/esm/components/text-inputs/text-area.d.ts.map +1 -1
  251. package/dist/esm/components/text-inputs/text-area.js +13 -3
  252. package/dist/esm/components/text-inputs/text-area.js.map +1 -1
  253. package/dist/esm/components/text-inputs/text-field.d.ts +8 -3
  254. package/dist/esm/components/text-inputs/text-field.d.ts.map +1 -1
  255. package/dist/esm/components/text-inputs/text-field.js +14 -1
  256. package/dist/esm/components/text-inputs/text-field.js.map +1 -1
  257. package/dist/esm/components/types.d.ts +67 -11
  258. package/dist/esm/components/types.d.ts.map +1 -1
  259. package/dist/esm/components/types.js.map +1 -1
  260. package/dist/esm/components/typography/link.d.ts +4 -3
  261. package/dist/esm/components/typography/link.d.ts.map +1 -1
  262. package/dist/esm/components/typography/link.js +7 -2
  263. package/dist/esm/components/typography/link.js.map +1 -1
  264. package/dist/esm/components/typography/text.d.ts +3 -2
  265. package/dist/esm/components/typography/text.d.ts.map +1 -1
  266. package/dist/esm/components/typography/text.js +3 -0
  267. package/dist/esm/components/typography/text.js.map +1 -1
  268. package/dist/esm/components/typography/types.d.ts +3 -2
  269. package/dist/esm/components/typography/types.d.ts.map +1 -1
  270. package/dist/esm/components/typography/types.js.map +1 -1
  271. package/dist/esm/components/typography/utils.d.ts +1 -0
  272. package/dist/esm/components/typography/utils.d.ts.map +1 -1
  273. package/dist/esm/components/typography/utils.js +1 -0
  274. package/dist/esm/components/typography/utils.js.map +1 -1
  275. package/dist/esm/forward-ref.d.ts +2 -2
  276. package/dist/esm/forward-ref.d.ts.map +1 -1
  277. package/dist/esm/forward-ref.js +1 -0
  278. package/dist/esm/forward-ref.js.map +1 -1
  279. package/dist/esm/icons/add.d.ts +3 -2
  280. package/dist/esm/icons/add.d.ts.map +1 -1
  281. package/dist/esm/icons/add.js +14 -3
  282. package/dist/esm/icons/add.js.map +1 -1
  283. package/dist/esm/icons/alert-triangle.d.ts +3 -2
  284. package/dist/esm/icons/alert-triangle.d.ts.map +1 -1
  285. package/dist/esm/icons/alert-triangle.js +13 -2
  286. package/dist/esm/icons/alert-triangle.js.map +1 -1
  287. package/dist/esm/icons/checkmark-circle-fill.d.ts +8 -0
  288. package/dist/esm/icons/checkmark-circle-fill.d.ts.map +1 -0
  289. package/dist/esm/icons/checkmark-circle-fill.js +16 -0
  290. package/dist/esm/icons/checkmark-circle-fill.js.map +1 -0
  291. package/dist/esm/icons/checkmark-small.d.ts +3 -2
  292. package/dist/esm/icons/checkmark-small.d.ts.map +1 -1
  293. package/dist/esm/icons/checkmark-small.js +13 -2
  294. package/dist/esm/icons/checkmark-small.js.map +1 -1
  295. package/dist/esm/icons/checkmark.d.ts +8 -0
  296. package/dist/esm/icons/checkmark.d.ts.map +1 -0
  297. package/dist/esm/icons/checkmark.js +16 -0
  298. package/dist/esm/icons/checkmark.js.map +1 -0
  299. package/dist/esm/icons/chevron-down-fill.d.ts +8 -0
  300. package/dist/esm/icons/chevron-down-fill.d.ts.map +1 -0
  301. package/dist/esm/icons/chevron-down-fill.js +16 -0
  302. package/dist/esm/icons/chevron-down-fill.js.map +1 -0
  303. package/dist/esm/icons/error-circle-fill.d.ts +8 -0
  304. package/dist/esm/icons/error-circle-fill.d.ts.map +1 -0
  305. package/dist/esm/icons/error-circle-fill.js +16 -0
  306. package/dist/esm/icons/error-circle-fill.js.map +1 -0
  307. package/dist/esm/icons/index.d.ts +5 -0
  308. package/dist/esm/icons/index.d.ts.map +1 -1
  309. package/dist/esm/icons/index.js +4 -0
  310. package/dist/esm/icons/index.js.map +1 -1
  311. package/dist/esm/icons/minus-small.d.ts +3 -2
  312. package/dist/esm/icons/minus-small.d.ts.map +1 -1
  313. package/dist/esm/icons/minus-small.js +13 -2
  314. package/dist/esm/icons/minus-small.js.map +1 -1
  315. package/dist/esm/index.d.ts +13 -11
  316. package/dist/esm/index.d.ts.map +1 -1
  317. package/dist/esm/index.js +11 -10
  318. package/dist/esm/index.js.map +1 -1
  319. package/dist/esm/providers/router/router-provider.d.ts +20 -0
  320. package/dist/esm/providers/router/router-provider.d.ts.map +1 -0
  321. package/dist/esm/providers/router/router-provider.js +12 -0
  322. package/dist/esm/providers/router/router-provider.js.map +1 -0
  323. package/dist/esm/providers/ssr/ssr-provider.d.ts +7 -3
  324. package/dist/esm/providers/ssr/ssr-provider.d.ts.map +1 -1
  325. package/dist/esm/providers/ssr/ssr-provider.js +3 -1
  326. package/dist/esm/providers/ssr/ssr-provider.js.map +1 -1
  327. package/dist/esm/with-style-props.d.ts +17 -11
  328. package/dist/esm/with-style-props.d.ts.map +1 -1
  329. package/dist/esm/with-style-props.js.map +1 -1
  330. package/dist-styles/styles.css +1 -1
  331. package/package.json +74 -29
  332. package/LICENSE +0 -201
  333. package/dist/commonjs/components/form-field/form-field.d.ts +0 -13
  334. package/dist/commonjs/components/form-field/form-field.d.ts.map +0 -1
  335. package/dist/commonjs/components/form-field/form-field.js +0 -36
  336. package/dist/commonjs/components/form-field/form-field.js.map +0 -1
  337. package/dist/commonjs/components/sr-only/sr-only.d.ts +0 -8
  338. package/dist/commonjs/components/sr-only/sr-only.d.ts.map +0 -1
  339. package/dist/commonjs/components/sr-only/sr-only.js +0 -10
  340. package/dist/commonjs/components/sr-only/sr-only.js.map +0 -1
  341. package/dist/esm/components/form-field/form-field.d.ts +0 -13
  342. package/dist/esm/components/form-field/form-field.d.ts.map +0 -1
  343. package/dist/esm/components/form-field/form-field.js +0 -28
  344. package/dist/esm/components/form-field/form-field.js.map +0 -1
  345. package/dist/esm/components/sr-only/sr-only.d.ts +0 -8
  346. package/dist/esm/components/sr-only/sr-only.d.ts.map +0 -1
  347. package/dist/esm/components/sr-only/sr-only.js +0 -7
  348. package/dist/esm/components/sr-only/sr-only.js.map +0 -1
@@ -1,11 +1,35 @@
1
1
  import type { ReactNode } from 'react';
2
- import type { DOMProps } from '../../types.js';
2
+ import type { Direction, CommonProps } from '../../types.js';
3
3
  import { type Responsive, type Spacing } from '../types.js';
4
- export interface StackProps extends DOMProps {
4
+ export type Alignment = 'start' | 'center' | 'end' | 'stretch';
5
+ export type Justify = 'start' | 'center' | 'end' | 'space-around' | 'space-between' | 'space-evenly';
6
+ export interface StackProps extends CommonProps {
7
+ /** The items to stack. */
5
8
  children: ReactNode;
6
- inline?: Responsive<boolean>;
9
+ /**
10
+ * Determines the stacking direction (ie. which direction is the primary axis)
11
+ * @default 'vertical'
12
+ */
13
+ direction?: Responsive<Direction>;
14
+ /** The amount of space between items. */
7
15
  gap: Responsive<Spacing>;
16
+ /**
17
+ * Determines how items are distributed along the primary axis.
18
+ * @default 'start'
19
+ */
20
+ justify?: Responsive<Justify>;
21
+ /**
22
+ * Determines how each item is aligned along the cross axis.
23
+ * @default 'stretch'
24
+ */
25
+ align?: Responsive<Alignment>;
26
+ /**
27
+ * Determines whether items will wrap to a new line if stack size is too small.
28
+ * @default true
29
+ */
30
+ wrap?: Responsive<boolean>;
8
31
  }
9
- declare const _Stack: (props: StackProps & import("react").RefAttributes<HTMLDivElement> & import("../../../with-style-props.js").StyleProps) => ReactNode;
32
+ /** Stacks its children with a specified amount of space between them. */
33
+ declare const _Stack: (props: StackProps & import("react").RefAttributes<HTMLDivElement> & import("../../../with-style-props.js").StyleProps) => import("react").JSX.Element | null;
10
34
  export { _Stack as Stack };
11
35
  //# sourceMappingURL=stack.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../../../../src/components/spacing/stack/stack.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,OAAO,CAAC;AAGrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAA0B,KAAK,UAAU,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAEpF,MAAM,WAAW,UAAW,SAAQ,QAAQ;IAC1C,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7B,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;CAC1B;AA0BD,QAAA,MAAM,MAAM,sIAA6C,CAAC;AAE1D,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../../../../src/components/spacing/stack/stack.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,OAAO,CAAC;AAGrD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAA0B,KAAK,UAAU,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAEpF,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AAC/D,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,cAAc,GAAG,eAAe,GAAG,cAAc,CAAC;AAErG,MAAM,WAAW,UAAW,SAAQ,WAAW;IAC7C,0BAA0B;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAClC,yCAAyC;IACzC,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9B;;;OAGG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC9B;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;CAC5B;AA0CD,yEAAyE;AACzE,QAAA,MAAM,MAAM,+JAA6C,CAAC;AAE1D,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,CAAC"}
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  "use strict";
2
3
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -9,15 +10,22 @@ const clsx_1 = __importDefault(require("clsx"));
9
10
  const forward_ref_js_1 = require("../../../forward-ref.js");
10
11
  const with_style_props_js_1 = require("../../../with-style-props.js");
11
12
  const types_js_1 = require("../types.js");
12
- function Stack({ children, inline: responsiveInline, gap: responsiveGap, UNSAFE_className, UNSAFE_style, ...props }, ref) {
13
+ function Stack({ children, direction: responsiveDirection, gap: responsiveGap, justify: responsiveJustify, align: responsiveAlign, wrap: responsiveWrap, UNSAFE_className, UNSAFE_style, ...props }, ref) {
13
14
  const gap = (0, types_js_1.getResponsiveVariables)('stack-gap', 'space', responsiveGap, 0);
14
- const inline = (0, types_js_1.getResponsiveVariables)('stack-fd', 'stack-fd-inline', responsiveInline, false);
15
+ const direction = (0, types_js_1.getResponsiveVariables)('stack-fd', 'stack-direction', responsiveDirection, 'vertical');
16
+ const justify = (0, types_js_1.getResponsiveVariables)('stack-jc', 'stack-justify', responsiveJustify, 'start');
17
+ const align = (0, types_js_1.getResponsiveVariables)('stack-ai', 'stack-align', responsiveAlign, 'stretch');
18
+ const wrap = (0, types_js_1.getResponsiveVariables)('stack-fw', 'stack-wrap', responsiveWrap, true);
15
19
  return ((0, jsx_runtime_1.jsx)("div", { ...props, ref: ref, className: (0, clsx_1.default)('cim-stack', UNSAFE_className), style: {
16
20
  ...UNSAFE_style,
17
21
  ...gap,
18
- ...inline,
22
+ ...direction,
23
+ ...justify,
24
+ ...align,
25
+ ...wrap,
19
26
  }, role: "presentation", children: children }));
20
27
  }
28
+ /** Stacks its children with a specified amount of space between them. */
21
29
  const _Stack = (0, with_style_props_js_1.withStyleProps)((0, forward_ref_js_1.forwardRef)(Stack), 'Stack');
22
30
  exports.Stack = _Stack;
23
31
  //# sourceMappingURL=stack.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../../../../src/components/spacing/stack/stack.tsx"],"names":[],"mappings":";;;;;;;AAAA,gDAAwB;AAExB,4DAAqD;AACrD,sEAA8D;AAE9D,0CAAoF;AAQpF,SAAS,KAAK,CACZ,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,aAAa,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,KAAK,EAAc,EAChH,GAAiC;IAEjC,MAAM,GAAG,GAAG,IAAA,iCAAsB,EAAC,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,IAAA,iCAAsB,EAAC,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAE9F,OAAO,CACL,mCACM,KAAK,EACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAA,cAAI,EAAC,WAAW,EAAE,gBAAgB,CAAC,EAC9C,KAAK,EAAE;YACL,GAAG,YAAY;YACf,GAAG,GAAG;YACN,GAAG,MAAM;SACV,EACD,IAAI,EAAC,cAAc,YAElB,QAAQ,GACL,CACP,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,IAAA,oCAAc,EAAC,IAAA,2BAAU,EAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;AAEvC,uBAAK","sourcesContent":["import clsx from 'clsx';\nimport type { ReactNode, ForwardedRef } from 'react';\nimport { forwardRef } from '../../../forward-ref.js';\nimport { withStyleProps } from '../../../with-style-props.js';\nimport type { DOMProps } from '../../types.js';\nimport { getResponsiveVariables, type Responsive, type Spacing } from '../types.js';\n\nexport interface StackProps extends DOMProps {\n children: ReactNode;\n inline?: Responsive<boolean>;\n gap: Responsive<Spacing>;\n}\n\nfunction Stack(\n { children, inline: responsiveInline, gap: responsiveGap, UNSAFE_className, UNSAFE_style, ...props }: StackProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const gap = getResponsiveVariables('stack-gap', 'space', responsiveGap, 0);\n const inline = getResponsiveVariables('stack-fd', 'stack-fd-inline', responsiveInline, false);\n\n return (\n <div\n {...props}\n ref={ref}\n className={clsx('cim-stack', UNSAFE_className)}\n style={{\n ...UNSAFE_style,\n ...gap,\n ...inline,\n }}\n role=\"presentation\"\n >\n {children}\n </div>\n );\n}\n\nconst _Stack = withStyleProps(forwardRef(Stack), 'Stack');\n\nexport { _Stack as Stack };\n"]}
1
+ {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../../../../src/components/spacing/stack/stack.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;AAEb,gDAAwB;AAExB,4DAAqD;AACrD,sEAA8D;AAE9D,0CAAoF;AAgCpF,SAAS,KAAK,CACZ,EACE,QAAQ,EACR,SAAS,EAAE,mBAAmB,EAC9B,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,cAAc,EACpB,gBAAgB,EAChB,YAAY,EACZ,GAAG,KAAK,EACG,EACb,GAAiC;IAEjC,MAAM,GAAG,GAAG,IAAA,iCAAsB,EAAC,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,IAAA,iCAAsB,EAAC,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,UAAU,CAAC,CAAC;IACzG,MAAM,OAAO,GAAG,IAAA,iCAAsB,EAAC,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAChG,MAAM,KAAK,GAAG,IAAA,iCAAsB,EAAC,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;IAC5F,MAAM,IAAI,GAAG,IAAA,iCAAsB,EAAC,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAEpF,OAAO,CACL,mCACM,KAAK,EACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAA,cAAI,EAAC,WAAW,EAAE,gBAAgB,CAAC,EAC9C,KAAK,EAAE;YACL,GAAG,YAAY;YACf,GAAG,GAAG;YACN,GAAG,SAAS;YACZ,GAAG,OAAO;YACV,GAAG,KAAK;YACR,GAAG,IAAI;SACR,EACD,IAAI,EAAC,cAAc,YAElB,QAAQ,GACL,CACP,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,MAAM,GAAG,IAAA,oCAAc,EAAC,IAAA,2BAAU,EAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;AAEvC,uBAAK","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport type { ReactNode, ForwardedRef } from 'react';\nimport { forwardRef } from '../../../forward-ref.js';\nimport { withStyleProps } from '../../../with-style-props.js';\nimport type { Direction, CommonProps } from '../../types.js';\nimport { getResponsiveVariables, type Responsive, type Spacing } from '../types.js';\n\nexport type Alignment = 'start' | 'center' | 'end' | 'stretch';\nexport type Justify = 'start' | 'center' | 'end' | 'space-around' | 'space-between' | 'space-evenly';\n\nexport interface StackProps extends CommonProps {\n /** The items to stack. */\n children: ReactNode;\n /**\n * Determines the stacking direction (ie. which direction is the primary axis)\n * @default 'vertical'\n */\n direction?: Responsive<Direction>;\n /** The amount of space between items. */\n gap: Responsive<Spacing>;\n /**\n * Determines how items are distributed along the primary axis.\n * @default 'start'\n */\n justify?: Responsive<Justify>;\n /**\n * Determines how each item is aligned along the cross axis.\n * @default 'stretch'\n */\n align?: Responsive<Alignment>;\n /**\n * Determines whether items will wrap to a new line if stack size is too small.\n * @default true\n */\n wrap?: Responsive<boolean>;\n}\n\nfunction Stack(\n {\n children,\n direction: responsiveDirection,\n gap: responsiveGap,\n justify: responsiveJustify,\n align: responsiveAlign,\n wrap: responsiveWrap,\n UNSAFE_className,\n UNSAFE_style,\n ...props\n }: StackProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const gap = getResponsiveVariables('stack-gap', 'space', responsiveGap, 0);\n const direction = getResponsiveVariables('stack-fd', 'stack-direction', responsiveDirection, 'vertical');\n const justify = getResponsiveVariables('stack-jc', 'stack-justify', responsiveJustify, 'start');\n const align = getResponsiveVariables('stack-ai', 'stack-align', responsiveAlign, 'stretch');\n const wrap = getResponsiveVariables('stack-fw', 'stack-wrap', responsiveWrap, true);\n\n return (\n <div\n {...props}\n ref={ref}\n className={clsx('cim-stack', UNSAFE_className)}\n style={{\n ...UNSAFE_style,\n ...gap,\n ...direction,\n ...justify,\n ...align,\n ...wrap,\n }}\n role=\"presentation\"\n >\n {children}\n </div>\n );\n}\n\n/** Stacks its children with a specified amount of space between them. */\nconst _Stack = withStyleProps(forwardRef(Stack), 'Stack');\n\nexport { _Stack as Stack };\n"]}
@@ -1,8 +1,13 @@
1
+ /** Represents a valid spacing amount within the design system. */
1
2
  export type Spacing = 0 | 2 | 4 | 8 | 12 | 16 | 24 | 32 | 40 | 48 | 64 | 96;
3
+ /** Represents a screen size breakpoint for responsive design. */
2
4
  export type Breakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
5
+ /** Represents a primitive value that can change based on screen size. */
3
6
  export type Responsive<T extends string | number | boolean> = T | Partial<Record<Breakpoint, T>>;
4
7
  /**
5
8
  * Given params like so:
9
+ *
10
+ * ```ts
6
11
  * (
7
12
  * 'box-ml',
8
13
  * 'space',
@@ -11,12 +16,16 @@ export type Responsive<T extends string | number | boolean> = T | Partial<Record
11
16
  * lg: 6,
12
17
  * }
13
18
  * )
19
+ * ```
14
20
  *
15
21
  * Creates an object like so:
22
+ *
23
+ * ```ts
16
24
  * {
17
25
  * '--cim-box-ml-sm': 'var(--cim-space-4)',
18
26
  * '--cim-box-ml-lg': 'var(--cim-space-6)',
19
27
  * }
28
+ * ```
20
29
  *
21
30
  */
22
31
  export declare function getResponsiveVariables<T extends string | number | boolean>(targetTokenGroup: string, sourceTokenGroup: string, data?: Responsive<T>, defaultValue?: T): Record<string, string> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/spacing/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC5E,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE1D,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;AAEjG;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,EACxE,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,EACxB,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EACpB,YAAY,CAAC,EAAE,CAAC,GACf,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAqBpC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/spacing/types.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAE5E,iEAAiE;AACjE,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE1D,yEAAyE;AACzE,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;AAEjG;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,EACxE,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,EACxB,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EACpB,YAAY,CAAC,EAAE,CAAC,GACf,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAqBpC"}
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getResponsiveVariables = getResponsiveVariables;
4
4
  /**
5
5
  * Given params like so:
6
+ *
7
+ * ```ts
6
8
  * (
7
9
  * 'box-ml',
8
10
  * 'space',
@@ -11,12 +13,16 @@ exports.getResponsiveVariables = getResponsiveVariables;
11
13
  * lg: 6,
12
14
  * }
13
15
  * )
16
+ * ```
14
17
  *
15
18
  * Creates an object like so:
19
+ *
20
+ * ```ts
16
21
  * {
17
22
  * '--cim-box-ml-sm': 'var(--cim-space-4)',
18
23
  * '--cim-box-ml-lg': 'var(--cim-space-6)',
19
24
  * }
25
+ * ```
20
26
  *
21
27
  */
22
28
  function getResponsiveVariables(targetTokenGroup, sourceTokenGroup, data, defaultValue) {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/spacing/types.ts"],"names":[],"mappings":";;AAuBA,wDA0BC;AA5CD;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,sBAAsB,CACpC,gBAAwB,EACxB,gBAAwB,EACxB,IAAoB,EACpB,YAAgB;IAEhB,IAAI,IAAI,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QACrD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO;YACL,CAAC,SAAS,gBAAgB,KAAK,CAAC,EAAE,aAAa,gBAAgB,IAAI,IAAI,IAAI,YAAY,GAAG;SAC3F,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAA2B;QACrC,8DAA8D;QAC9D,CAAC,SAAS,gBAAgB,KAAK,CAAC,EAAE,aAAa,gBAAgB,IAAI,YAAY,GAAG;KACnF,CAAC;IAEF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE;QACnD,MAAM,CAAC,SAAS,gBAAgB,IAAI,UAAU,EAAE,CAAC,GAAG,aAAa,gBAAgB,IAAI,KAAK,GAAG,CAAC;IAChG,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["export type Spacing = 0 | 2 | 4 | 8 | 12 | 16 | 24 | 32 | 40 | 48 | 64 | 96;\nexport type Breakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\nexport type Responsive<T extends string | number | boolean> = T | Partial<Record<Breakpoint, T>>;\n\n/**\n * Given params like so:\n * (\n * 'box-ml',\n * 'space',\n * {\n * sm: 4,\n * lg: 6,\n * }\n * )\n *\n * Creates an object like so:\n * {\n * '--cim-box-ml-sm': 'var(--cim-space-4)',\n * '--cim-box-ml-lg': 'var(--cim-space-6)',\n * }\n *\n */\nexport function getResponsiveVariables<T extends string | number | boolean>(\n targetTokenGroup: string,\n sourceTokenGroup: string,\n data?: Responsive<T>,\n defaultValue?: T,\n): Record<string, string> | undefined {\n if (data === undefined && defaultValue === undefined) {\n return undefined;\n }\n\n if (typeof data !== 'object') {\n return {\n [`--cim-${targetTokenGroup}-xs`]: `var(--cim-${sourceTokenGroup}-${data ?? defaultValue})`,\n };\n }\n\n const result: Record<string, string> = {\n // Default value in case the smallest breakpoint isn't defined\n [`--cim-${targetTokenGroup}-xs`]: `var(--cim-${sourceTokenGroup}-${defaultValue})`,\n };\n\n Object.entries(data).forEach(([breakpoint, value]) => {\n result[`--cim-${targetTokenGroup}-${breakpoint}`] = `var(--cim-${sourceTokenGroup}-${value})`;\n });\n\n return result;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/spacing/types.ts"],"names":[],"mappings":";;AAiCA,wDA0BC;AAlDD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,sBAAsB,CACpC,gBAAwB,EACxB,gBAAwB,EACxB,IAAoB,EACpB,YAAgB;IAEhB,IAAI,IAAI,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QACrD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO;YACL,CAAC,SAAS,gBAAgB,KAAK,CAAC,EAAE,aAAa,gBAAgB,IAAI,IAAI,IAAI,YAAY,GAAG;SAC3F,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAA2B;QACrC,8DAA8D;QAC9D,CAAC,SAAS,gBAAgB,KAAK,CAAC,EAAE,aAAa,gBAAgB,IAAI,YAAY,GAAG;KACnF,CAAC;IAEF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE;QACnD,MAAM,CAAC,SAAS,gBAAgB,IAAI,UAAU,EAAE,CAAC,GAAG,aAAa,gBAAgB,IAAI,KAAK,GAAG,CAAC;IAChG,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["/** Represents a valid spacing amount within the design system. */\nexport type Spacing = 0 | 2 | 4 | 8 | 12 | 16 | 24 | 32 | 40 | 48 | 64 | 96;\n\n/** Represents a screen size breakpoint for responsive design. */\nexport type Breakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\n/** Represents a primitive value that can change based on screen size. */\nexport type Responsive<T extends string | number | boolean> = T | Partial<Record<Breakpoint, T>>;\n\n/**\n * Given params like so:\n *\n * ```ts\n * (\n * 'box-ml',\n * 'space',\n * {\n * sm: 4,\n * lg: 6,\n * }\n * )\n * ```\n *\n * Creates an object like so:\n *\n * ```ts\n * {\n * '--cim-box-ml-sm': 'var(--cim-space-4)',\n * '--cim-box-ml-lg': 'var(--cim-space-6)',\n * }\n * ```\n *\n */\nexport function getResponsiveVariables<T extends string | number | boolean>(\n targetTokenGroup: string,\n sourceTokenGroup: string,\n data?: Responsive<T>,\n defaultValue?: T,\n): Record<string, string> | undefined {\n if (data === undefined && defaultValue === undefined) {\n return undefined;\n }\n\n if (typeof data !== 'object') {\n return {\n [`--cim-${targetTokenGroup}-xs`]: `var(--cim-${sourceTokenGroup}-${data ?? defaultValue})`,\n };\n }\n\n const result: Record<string, string> = {\n // Default value in case the smallest breakpoint isn't defined\n [`--cim-${targetTokenGroup}-xs`]: `var(--cim-${sourceTokenGroup}-${defaultValue})`,\n };\n\n Object.entries(data).forEach(([breakpoint, value]) => {\n result[`--cim-${targetTokenGroup}-${breakpoint}`] = `var(--cim-${sourceTokenGroup}-${value})`;\n });\n\n return result;\n}\n"]}
@@ -1,9 +1,12 @@
1
- import type { DOMProps } from '../types.js';
2
- interface SpinnerProps extends DOMProps {
1
+ import type { CommonProps, LabellableProps } from '../types.js';
2
+ export interface SpinnerProps extends CommonProps, LabellableProps {
3
+ /**
4
+ * Determines the size of the spinner.
5
+ * @default 'medium'
6
+ */
3
7
  size?: 'small' | 'medium' | 'large';
4
- /** A string value that identifies the spinner's purpose for assistive technologies. */
5
- 'aria-label': string;
6
8
  }
7
- declare const _Spinner: (props: SpinnerProps & import("react").RefAttributes<HTMLDivElement> & import("../../with-style-props.js").StyleProps) => import("react").ReactNode;
9
+ /** Displays a loading indicator to represent an ongoing operation. */
10
+ declare const _Spinner: (props: SpinnerProps & import("react").RefAttributes<HTMLDivElement> & import("../../with-style-props.js").StyleProps) => import("react").JSX.Element | null;
8
11
  export { _Spinner as Spinner };
9
12
  //# sourceMappingURL=spinner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../../../src/components/spinner/spinner.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,UAAU,YAAa,SAAQ,QAAQ;IACrC,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,uFAAuF;IACvF,YAAY,EAAE,MAAM,CAAC;CACtB;AAyDD,QAAA,MAAM,QAAQ,qJAAiD,CAAC;AAEhE,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../../../src/components/spinner/spinner.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAIhE,MAAM,WAAW,YAAa,SAAQ,WAAW,EAAE,eAAe;IAChE;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;CACrC;AA+BD,sEAAsE;AACtE,QAAA,MAAM,QAAQ,8JAAiD,CAAC;AAEhE,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,CAAC"}
@@ -1,26 +1,35 @@
1
+ 'use client';
1
2
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
3
  Object.defineProperty(exports, "__esModule", { value: true });
6
4
  exports.Spinner = void 0;
7
5
  const jsx_runtime_1 = require("react/jsx-runtime");
8
- const clsx_1 = __importDefault(require("clsx"));
6
+ const react_1 = require("react");
9
7
  const react_aria_components_1 = require("react-aria-components");
10
8
  const forward_ref_js_1 = require("../../forward-ref.js");
11
9
  const with_style_props_js_1 = require("../../with-style-props.js");
12
- const spinnerDimensions = {
13
- small: '16px',
14
- medium: '38px',
15
- large: '72px',
10
+ const spinner_js_1 = require("../internal/spinner/spinner.js");
11
+ const utils_js_1 = require("../typography/utils.js");
12
+ const ringSizes = {
13
+ small: '24px',
14
+ medium: '48px',
15
+ large: '80px',
16
+ };
17
+ const labelVariants = {
18
+ small: 'small',
19
+ medium: 'medium',
20
+ large: 'body',
16
21
  };
17
- const offset = 0;
18
- const duration = 2;
19
- const modOffset = offset % 1;
20
- const begin = (1 - modOffset) * duration - duration;
21
- function Spinner({ size = 'large', UNSAFE_className, UNSAFE_style, ...props }, ref) {
22
- return ((0, jsx_runtime_1.jsx)(react_aria_components_1.ProgressBar, { ...props, isIndeterminate: true, ref: ref, className: (0, clsx_1.default)('cim-spinner', UNSAFE_className), style: UNSAFE_style, children: (0, jsx_runtime_1.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", width: spinnerDimensions[size], height: spinnerDimensions[size], viewBox: "0 0 100 100", preserveAspectRatio: "xMidYMid", "aria-hidden": true, children: [(0, jsx_runtime_1.jsx)("circle", { className: "cim-spinner-ring-bg", cx: "50", cy: "50", r: "40" }), (0, jsx_runtime_1.jsxs)("circle", { className: "cim-spinner-ring-animated", cx: "50", cy: "50", r: "40", children: [(0, jsx_runtime_1.jsx)("animate", { attributeName: "stroke-dashoffset", dur: duration, repeatCount: "indefinite", from: "0", to: "-502", begin: begin }), (0, jsx_runtime_1.jsx)("animate", { attributeName: "stroke-dasharray", dur: duration, repeatCount: "indefinite", values: "75.3 175.7;1 250;75.3 175.7", begin: begin })] })] }) }));
22
+ function Spinner({ size = 'medium', label, ...props }, ref) {
23
+ const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;
24
+ (0, react_1.useEffect)(() => {
25
+ if (!label && !ariaLabel && !ariaLabelledBy) {
26
+ console.warn('Spinner requires one of label / aria-label / aria-labelledby for accessibility');
27
+ }
28
+ }, [label, ariaLabel, ariaLabelledBy]);
29
+ return ((0, jsx_runtime_1.jsx)(spinner_js_1.InternalSpinner, { ...props, size: ringSizes[size], spinnerRef: ref, children: label && (0, jsx_runtime_1.jsx)(react_aria_components_1.Label, { className: (0, utils_js_1.textStyle)({ variant: labelVariants[size], tone: 'title' }), children: label }) }));
23
30
  }
31
+ // TODO: add link to usage guidelines
32
+ /** Displays a loading indicator to represent an ongoing operation. */
24
33
  const _Spinner = (0, with_style_props_js_1.withStyleProps)((0, forward_ref_js_1.forwardRef)(Spinner), 'Spinner');
25
34
  exports.Spinner = _Spinner;
26
35
  //# sourceMappingURL=spinner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../../../src/components/spinner/spinner.tsx"],"names":[],"mappings":";;;;;;;AAAA,gDAAwB;AAExB,iEAAsE;AACtE,yDAAkD;AAClD,mEAA2D;AAS3D,MAAM,iBAAiB,GAAG;IACxB,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM;CACd,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,CAAC;AACjB,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC;AAC7B,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpD,SAAS,OAAO,CACd,EAAE,IAAI,GAAG,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,KAAK,EAAgB,EAC1E,GAAiC;IAEjC,OAAO,CACL,uBAAC,mCAAc,OACT,KAAK,EACT,eAAe,QACf,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAA,cAAI,EAAC,aAAa,EAAE,gBAAgB,CAAC,EAChD,KAAK,EAAE,YAAY,YAEnB,iCACE,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAC9B,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAC/B,OAAO,EAAC,aAAa,EACrB,mBAAmB,EAAC,UAAU,kCAG9B,mCAAQ,SAAS,EAAC,qBAAqB,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,GAAG,EAEjE,oCAAQ,SAAS,EAAC,2BAA2B,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,aAClE,oCACE,aAAa,EAAC,mBAAmB,EACjC,GAAG,EAAE,QAAQ,EACb,WAAW,EAAC,YAAY,EACxB,IAAI,EAAC,GAAG,EACR,EAAE,EAAC,MAAM,EACT,KAAK,EAAE,KAAK,GACZ,EACF,oCACE,aAAa,EAAC,kBAAkB,EAChC,GAAG,EAAE,QAAQ,EACb,WAAW,EAAC,YAAY,EACxB,MAAM,EAAC,6BAA6B,EACpC,KAAK,EAAE,KAAK,GACZ,IACK,IACL,GACS,CAClB,CAAC;AACJ,CAAC;AAED,MAAM,QAAQ,GAAG,IAAA,oCAAc,EAAC,IAAA,2BAAU,EAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;AAE3C,2BAAO","sourcesContent":["import clsx from 'clsx';\nimport type { ForwardedRef } from 'react';\nimport { ProgressBar as RACProgressBar } from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport type { DOMProps } from '../types.js';\n\ninterface SpinnerProps extends DOMProps {\n size?: 'small' | 'medium' | 'large';\n /** A string value that identifies the spinner's purpose for assistive technologies. */\n 'aria-label': string;\n}\n\nconst spinnerDimensions = {\n small: '16px',\n medium: '38px',\n large: '72px',\n};\n\nconst offset = 0;\nconst duration = 2;\nconst modOffset = offset % 1;\nconst begin = (1 - modOffset) * duration - duration;\n\nfunction Spinner(\n { size = 'large', UNSAFE_className, UNSAFE_style, ...props }: SpinnerProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n return (\n <RACProgressBar\n {...props}\n isIndeterminate\n ref={ref}\n className={clsx('cim-spinner', UNSAFE_className)}\n style={UNSAFE_style}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={spinnerDimensions[size]}\n height={spinnerDimensions[size]}\n viewBox=\"0 0 100 100\"\n preserveAspectRatio=\"xMidYMid\"\n aria-hidden\n >\n <circle className=\"cim-spinner-ring-bg\" cx=\"50\" cy=\"50\" r=\"40\" />\n\n <circle className=\"cim-spinner-ring-animated\" cx=\"50\" cy=\"50\" r=\"40\">\n <animate\n attributeName=\"stroke-dashoffset\"\n dur={duration}\n repeatCount=\"indefinite\"\n from=\"0\"\n to=\"-502\"\n begin={begin}\n />\n <animate\n attributeName=\"stroke-dasharray\"\n dur={duration}\n repeatCount=\"indefinite\"\n values=\"75.3 175.7;1 250;75.3 175.7\"\n begin={begin}\n />\n </circle>\n </svg>\n </RACProgressBar>\n );\n}\n\nconst _Spinner = withStyleProps(forwardRef(Spinner), 'Spinner');\n\nexport { _Spinner as Spinner };\n"]}
1
+ {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../../../src/components/spinner/spinner.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;AAEb,iCAAqD;AACrD,iEAA0D;AAC1D,yDAAkD;AAClD,mEAA2D;AAC3D,+DAAiE;AAGjE,qDAAmD;AAUnD,MAAM,SAAS,GAAsD;IACnE,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM;CACd,CAAC;AAEF,MAAM,aAAa,GAA2E;IAC5F,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,MAAM;CACd,CAAC;AAEF,SAAS,OAAO,CAAC,EAAE,IAAI,GAAG,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,EAAgB,EAAE,GAAiC;IACpG,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAE7E,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;QACjG,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAEvC,OAAO,CACL,uBAAC,4BAAe,OAAK,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,GAAG,YAC/D,KAAK,IAAI,uBAAC,6BAAQ,IAAC,SAAS,EAAE,IAAA,oBAAS,EAAC,EAAE,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,YAAG,KAAK,GAAY,GAC7F,CACnB,CAAC;AACJ,CAAC;AAED,qCAAqC;AACrC,sEAAsE;AACtE,MAAM,QAAQ,GAAG,IAAA,oCAAc,EAAC,IAAA,2BAAU,EAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;AAE3C,2BAAO","sourcesContent":["'use client';\n\nimport { useEffect, type ForwardedRef } from 'react';\nimport { Label as RACLabel } from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport { InternalSpinner } from '../internal/spinner/spinner.js';\nimport type { CommonProps, LabellableProps } from '../types.js';\nimport type { TextStyleOptions } from '../typography/types.js';\nimport { textStyle } from '../typography/utils.js';\n\nexport interface SpinnerProps extends CommonProps, LabellableProps {\n /**\n * Determines the size of the spinner.\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n}\n\nconst ringSizes: Record<NonNullable<SpinnerProps['size']>, string> = {\n small: '24px',\n medium: '48px',\n large: '80px',\n};\n\nconst labelVariants: Record<NonNullable<SpinnerProps['size']>, TextStyleOptions['variant']> = {\n small: 'small',\n medium: 'medium',\n large: 'body',\n};\n\nfunction Spinner({ size = 'medium', label, ...props }: SpinnerProps, ref: ForwardedRef<HTMLDivElement>) {\n const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;\n\n useEffect(() => {\n if (!label && !ariaLabel && !ariaLabelledBy) {\n console.warn('Spinner requires one of label / aria-label / aria-labelledby for accessibility');\n }\n }, [label, ariaLabel, ariaLabelledBy]);\n\n return (\n <InternalSpinner {...props} size={ringSizes[size]} spinnerRef={ref}>\n {label && <RACLabel className={textStyle({ variant: labelVariants[size], tone: 'title' })}>{label}</RACLabel>}\n </InternalSpinner>\n );\n}\n\n// TODO: add link to usage guidelines\n/** Displays a loading indicator to represent an ongoing operation. */\nconst _Spinner = withStyleProps(forwardRef(Spinner), 'Spinner');\n\nexport { _Spinner as Spinner };\n"]}
@@ -1,7 +1,8 @@
1
1
  import { type TextAreaProps as RACTextAreaProps, type TextFieldProps as RACTextFieldProps } from 'react-aria-components';
2
- import type { DOMProps, FieldWithPlaceholderProps } from '../types.js';
3
- export interface TextAreaProps extends DOMProps, FieldWithPlaceholderProps<string>, Pick<RACTextFieldProps, 'value' | 'defaultValue' | 'onChange' | 'isDisabled' | 'isRequired' | 'isInvalid' | 'isReadOnly' | 'name' | 'type' | 'autoFocus' | 'autoComplete' | 'inputMode' | 'minLength' | 'maxLength'>, Pick<RACTextAreaProps, 'autoCapitalize' | 'autoCorrect' | 'spellCheck' | 'wrap'> {
2
+ import type { CommonProps, FieldWithPlaceholderProps } from '../types.js';
3
+ export interface TextAreaProps extends CommonProps, FieldWithPlaceholderProps<string>, Pick<RACTextFieldProps, 'value' | 'defaultValue' | 'onChange' | 'isDisabled' | 'isRequired' | 'isInvalid' | 'isReadOnly' | 'name' | 'type' | 'autoFocus' | 'autoComplete' | 'inputMode' | 'minLength' | 'maxLength'>, Pick<RACTextAreaProps, 'autoCapitalize' | 'autoCorrect' | 'rows' | 'spellCheck' | 'wrap'> {
4
4
  }
5
- declare const _TextArea: (props: TextAreaProps & import("react").RefAttributes<HTMLDivElement> & import("../../with-style-props.js").StyleProps) => import("react").ReactNode;
5
+ /** Allows users to enter multiple lines of text with a keyboard. */
6
+ declare const _TextArea: (props: TextAreaProps & import("react").RefAttributes<HTMLDivElement> & import("../../with-style-props.js").StyleProps) => import("react").JSX.Element | null;
6
7
  export { _TextArea as TextArea };
7
8
  //# sourceMappingURL=text-area.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-area.d.ts","sourceRoot":"","sources":["../../../../src/components/text-inputs/text-area.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,aAAa,IAAI,gBAAgB,EACtC,KAAK,cAAc,IAAI,iBAAiB,EACzC,MAAM,uBAAuB,CAAC;AAI/B,OAAO,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAGvE,MAAM,WAAW,aACf,SAAQ,QAAQ,EACd,yBAAyB,CAAC,MAAM,CAAC,EACjC,IAAI,CACF,iBAAiB,EACf,OAAO,GACP,cAAc,GACd,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,MAAM,GACN,MAAM,GACN,WAAW,GACX,cAAc,GACd,WAAW,GACX,WAAW,GACX,WAAW,CACd,EACD,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,aAAa,GAAG,YAAY,GAAG,MAAM,CAAC;CAAG;AAqCvF,QAAA,MAAM,SAAS,sJAAmD,CAAC;AAEnE,OAAO,EAAE,SAAS,IAAI,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"text-area.d.ts","sourceRoot":"","sources":["../../../../src/components/text-inputs/text-area.tsx"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,aAAa,IAAI,gBAAgB,EACtC,KAAK,cAAc,IAAI,iBAAiB,EACzC,MAAM,uBAAuB,CAAC;AAI/B,OAAO,KAAK,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAG1E,MAAM,WAAW,aACf,SAAQ,WAAW,EACjB,yBAAyB,CAAC,MAAM,CAAC,EACjC,IAAI,CACF,iBAAiB,EACf,OAAO,GACP,cAAc,GACd,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,MAAM,GACN,MAAM,GACN,WAAW,GACX,cAAc,GACd,WAAW,GACX,WAAW,GACX,WAAW,CACd,EACD,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,aAAa,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC;CAAG;AAgDhG,oEAAoE;AACpE,QAAA,MAAM,SAAS,+JAAmD,CAAC;AAEnE,OAAO,EAAE,SAAS,IAAI,QAAQ,EAAE,CAAC"}
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  "use strict";
2
3
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -6,14 +7,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
7
  exports.TextArea = void 0;
7
8
  const jsx_runtime_1 = require("react/jsx-runtime");
8
9
  const clsx_1 = __importDefault(require("clsx"));
10
+ const react_1 = require("react");
9
11
  const react_aria_components_1 = require("react-aria-components");
10
12
  const forward_ref_js_1 = require("../../forward-ref.js");
11
13
  const with_style_props_js_1 = require("../../with-style-props.js");
12
- const form_field_js_1 = require("../form-field/form-field.js");
14
+ const form_field_js_1 = require("../internal/form-field/form-field.js");
13
15
  const utils_js_1 = require("../typography/utils.js");
14
- function TextArea({ label, description, error: errorMessage, placeholder, autoCapitalize, autoCorrect, spellCheck, wrap, UNSAFE_className, UNSAFE_style, ...props }, ref) {
15
- return ((0, jsx_runtime_1.jsxs)(react_aria_components_1.TextField, { ...props, ref: ref, className: (0, clsx_1.default)('cim-text-area', UNSAFE_className), style: UNSAFE_style, children: [(0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldLabel, { isRequired: props.isRequired, isDisabled: props.isDisabled, children: label }), (0, jsx_runtime_1.jsx)(react_aria_components_1.TextArea, { className: (0, clsx_1.default)('cim-text-area-input', (0, utils_js_1.textStyle)({ variant: 'medium', tone: 'base' })), placeholder: placeholder, autoCapitalize: autoCapitalize, autoCorrect: autoCorrect, spellCheck: spellCheck, wrap: wrap }), (0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldError, { children: errorMessage }), (0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldDescription, { children: description })] }));
16
+ function TextArea({ label, description, error: errorMessage, placeholder, autoCapitalize, autoCorrect, rows, spellCheck, wrap, UNSAFE_className, UNSAFE_style, ...props }, ref) {
17
+ const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;
18
+ (0, react_1.useEffect)(() => {
19
+ if (!label && !ariaLabel && !ariaLabelledBy) {
20
+ console.warn('TextArea requires one of label / aria-label / aria-labelledby for accessibility');
21
+ }
22
+ }, [label, ariaLabel, ariaLabelledBy]);
23
+ return ((0, jsx_runtime_1.jsxs)(react_aria_components_1.TextField, { ...props, ref: ref, className: (0, clsx_1.default)('cim-text-area', UNSAFE_className), style: UNSAFE_style, children: [(0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldLabel, { isRequired: props.isRequired, isDisabled: props.isDisabled, children: label }), (0, jsx_runtime_1.jsx)(react_aria_components_1.TextArea, { className: (0, clsx_1.default)('cim-text-area-input', (0, utils_js_1.textStyle)({ variant: 'medium', tone: 'base' })), placeholder: placeholder, autoCapitalize: autoCapitalize, autoCorrect: autoCorrect, rows: rows, spellCheck: spellCheck, wrap: wrap }), (0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldError, { children: errorMessage }), (0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldDescription, { children: description })] }));
16
24
  }
25
+ // TODO: add link to usage guidelines
26
+ /** Allows users to enter multiple lines of text with a keyboard. */
17
27
  const _TextArea = (0, with_style_props_js_1.withStyleProps)((0, forward_ref_js_1.forwardRef)(TextArea), 'TextArea');
18
28
  exports.TextArea = _TextArea;
19
29
  //# sourceMappingURL=text-area.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-area.js","sourceRoot":"","sources":["../../../../src/components/text-inputs/text-area.tsx"],"names":[],"mappings":";;;;;;;AAAA,gDAAwB;AAExB,iEAK+B;AAC/B,yDAAkD;AAClD,mEAA2D;AAC3D,+DAAmG;AAEnG,qDAAmD;AAwBnD,SAAS,QAAQ,CACf,EACE,KAAK,EACL,WAAW,EACX,KAAK,EAAE,YAAY,EACnB,WAAW,EACX,cAAc,EACd,WAAW,EACX,UAAU,EACV,IAAI,EACJ,gBAAgB,EAChB,YAAY,EACZ,GAAG,KAAK,EACM,EAChB,GAAiC;IAEjC,OAAO,CACL,wBAAC,iCAAY,OAAK,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAA,cAAI,EAAC,eAAe,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,YAAY,aACxG,uBAAC,8BAAc,IAAC,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,YACvE,KAAK,GACS,EACjB,uBAAC,gCAAW,IACV,SAAS,EAAE,IAAA,cAAI,EAAC,qBAAqB,EAAE,IAAA,oBAAS,EAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EACtF,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,GACV,EACF,uBAAC,8BAAc,cAAE,YAAY,GAAkB,EAC/C,uBAAC,oCAAoB,cAAE,WAAW,GAAwB,IAC7C,CAChB,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GAAG,IAAA,oCAAc,EAAC,IAAA,2BAAU,EAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC;AAE7C,6BAAQ","sourcesContent":["import clsx from 'clsx';\nimport type { ForwardedRef } from 'react';\nimport {\n TextArea as RACTextArea,\n TextField as RACTextField,\n type TextAreaProps as RACTextAreaProps,\n type TextFieldProps as RACTextFieldProps,\n} from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport { FormFieldDescription, FormFieldError, FormFieldLabel } from '../form-field/form-field.js';\nimport type { DOMProps, FieldWithPlaceholderProps } from '../types.js';\nimport { textStyle } from '../typography/utils.js';\n\nexport interface TextAreaProps\n extends DOMProps,\n FieldWithPlaceholderProps<string>,\n Pick<\n RACTextFieldProps,\n | 'value'\n | 'defaultValue'\n | 'onChange'\n | 'isDisabled'\n | 'isRequired'\n | 'isInvalid'\n | 'isReadOnly'\n | 'name'\n | 'type'\n | 'autoFocus'\n | 'autoComplete'\n | 'inputMode'\n | 'minLength'\n | 'maxLength'\n >,\n Pick<RACTextAreaProps, 'autoCapitalize' | 'autoCorrect' | 'spellCheck' | 'wrap'> {}\n\nfunction TextArea(\n {\n label,\n description,\n error: errorMessage,\n placeholder,\n autoCapitalize,\n autoCorrect,\n spellCheck,\n wrap,\n UNSAFE_className,\n UNSAFE_style,\n ...props\n }: TextAreaProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n return (\n <RACTextField {...props} ref={ref} className={clsx('cim-text-area', UNSAFE_className)} style={UNSAFE_style}>\n <FormFieldLabel isRequired={props.isRequired} isDisabled={props.isDisabled}>\n {label}\n </FormFieldLabel>\n <RACTextArea\n className={clsx('cim-text-area-input', textStyle({ variant: 'medium', tone: 'base' }))}\n placeholder={placeholder}\n autoCapitalize={autoCapitalize}\n autoCorrect={autoCorrect}\n spellCheck={spellCheck}\n wrap={wrap}\n />\n <FormFieldError>{errorMessage}</FormFieldError>\n <FormFieldDescription>{description}</FormFieldDescription>\n </RACTextField>\n );\n}\n\nconst _TextArea = withStyleProps(forwardRef(TextArea), 'TextArea');\n\nexport { _TextArea as TextArea };\n"]}
1
+ {"version":3,"file":"text-area.js","sourceRoot":"","sources":["../../../../src/components/text-inputs/text-area.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;AAEb,gDAAwB;AACxB,iCAAqD;AACrD,iEAK+B;AAC/B,yDAAkD;AAClD,mEAA2D;AAC3D,wEAA4G;AAE5G,qDAAmD;AAwBnD,SAAS,QAAQ,CACf,EACE,KAAK,EACL,WAAW,EACX,KAAK,EAAE,YAAY,EACnB,WAAW,EACX,cAAc,EACd,WAAW,EACX,IAAI,EACJ,UAAU,EACV,IAAI,EACJ,gBAAgB,EAChB,YAAY,EACZ,GAAG,KAAK,EACM,EAChB,GAAiC;IAEjC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAE7E,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;QAClG,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAEvC,OAAO,CACL,wBAAC,iCAAY,OAAK,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAA,cAAI,EAAC,eAAe,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,YAAY,aACxG,uBAAC,8BAAc,IAAC,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,YACvE,KAAK,GACS,EACjB,uBAAC,gCAAW,IACV,SAAS,EAAE,IAAA,cAAI,EAAC,qBAAqB,EAAE,IAAA,oBAAS,EAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EACtF,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,GACV,EACF,uBAAC,8BAAc,cAAE,YAAY,GAAkB,EAC/C,uBAAC,oCAAoB,cAAE,WAAW,GAAwB,IAC7C,CAChB,CAAC;AACJ,CAAC;AAED,qCAAqC;AACrC,oEAAoE;AACpE,MAAM,SAAS,GAAG,IAAA,oCAAc,EAAC,IAAA,2BAAU,EAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC;AAE7C,6BAAQ","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { useEffect, type ForwardedRef } from 'react';\nimport {\n TextArea as RACTextArea,\n TextField as RACTextField,\n type TextAreaProps as RACTextAreaProps,\n type TextFieldProps as RACTextFieldProps,\n} from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport { FormFieldDescription, FormFieldError, FormFieldLabel } from '../internal/form-field/form-field.js';\nimport type { CommonProps, FieldWithPlaceholderProps } from '../types.js';\nimport { textStyle } from '../typography/utils.js';\n\nexport interface TextAreaProps\n extends CommonProps,\n FieldWithPlaceholderProps<string>,\n Pick<\n RACTextFieldProps,\n | 'value'\n | 'defaultValue'\n | 'onChange'\n | 'isDisabled'\n | 'isRequired'\n | 'isInvalid'\n | 'isReadOnly'\n | 'name'\n | 'type'\n | 'autoFocus'\n | 'autoComplete'\n | 'inputMode'\n | 'minLength'\n | 'maxLength'\n >,\n Pick<RACTextAreaProps, 'autoCapitalize' | 'autoCorrect' | 'rows' | 'spellCheck' | 'wrap'> {}\n\nfunction TextArea(\n {\n label,\n description,\n error: errorMessage,\n placeholder,\n autoCapitalize,\n autoCorrect,\n rows,\n spellCheck,\n wrap,\n UNSAFE_className,\n UNSAFE_style,\n ...props\n }: TextAreaProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;\n\n useEffect(() => {\n if (!label && !ariaLabel && !ariaLabelledBy) {\n console.warn('TextArea requires one of label / aria-label / aria-labelledby for accessibility');\n }\n }, [label, ariaLabel, ariaLabelledBy]);\n\n return (\n <RACTextField {...props} ref={ref} className={clsx('cim-text-area', UNSAFE_className)} style={UNSAFE_style}>\n <FormFieldLabel isRequired={props.isRequired} isDisabled={props.isDisabled}>\n {label}\n </FormFieldLabel>\n <RACTextArea\n className={clsx('cim-text-area-input', textStyle({ variant: 'medium', tone: 'base' }))}\n placeholder={placeholder}\n autoCapitalize={autoCapitalize}\n autoCorrect={autoCorrect}\n rows={rows}\n spellCheck={spellCheck}\n wrap={wrap}\n />\n <FormFieldError>{errorMessage}</FormFieldError>\n <FormFieldDescription>{description}</FormFieldDescription>\n </RACTextField>\n );\n}\n\n// TODO: add link to usage guidelines\n/** Allows users to enter multiple lines of text with a keyboard. */\nconst _TextArea = withStyleProps(forwardRef(TextArea), 'TextArea');\n\nexport { _TextArea as TextArea };\n"]}
@@ -1,7 +1,12 @@
1
1
  import { type TextFieldProps as RACTextFieldProps } from 'react-aria-components';
2
- import type { DOMProps, FieldWithPlaceholderProps } from '../types.js';
3
- export interface TextFieldProps extends DOMProps, FieldWithPlaceholderProps<string>, Pick<RACTextFieldProps, 'value' | 'defaultValue' | 'onChange' | 'isDisabled' | 'isRequired' | 'isInvalid' | 'isReadOnly' | 'name' | 'type' | 'autoFocus' | 'autoComplete' | 'inputMode' | 'minLength' | 'maxLength' | 'pattern'> {
2
+ import type { CommonProps, FieldWithPlaceholderProps } from '../types.js';
3
+ export interface TextFieldProps extends CommonProps, FieldWithPlaceholderProps<string>, Pick<RACTextFieldProps, 'value' | 'defaultValue' | 'onChange' | 'isDisabled' | 'isRequired' | 'isInvalid' | 'isReadOnly' | 'name' | 'type' | 'autoFocus' | 'autoComplete' | 'inputMode' | 'minLength' | 'maxLength' | 'pattern'> {
4
4
  }
5
- declare const _TextField: (props: TextFieldProps & import("react").RefAttributes<HTMLDivElement> & import("../../with-style-props.js").StyleProps) => import("react").ReactNode;
5
+ /**
6
+ * Allows users to enter a single line of text with a keyboard.
7
+ *
8
+ * See [text field usage guidelines](https://ui.cimpress.io/components/text-field/usage-guidelines/).
9
+ */
10
+ declare const _TextField: (props: TextFieldProps & import("react").RefAttributes<HTMLDivElement> & import("../../with-style-props.js").StyleProps) => import("react").JSX.Element | null;
6
11
  export { _TextField as TextField };
7
12
  //# sourceMappingURL=text-field.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-field.d.ts","sourceRoot":"","sources":["../../../../src/components/text-inputs/text-field.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,cAAc,IAAI,iBAAiB,EACzC,MAAM,uBAAuB,CAAC;AAI/B,OAAO,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAGvE,MAAM,WAAW,cACf,SAAQ,QAAQ,EACd,yBAAyB,CAAC,MAAM,CAAC,EACjC,IAAI,CACF,iBAAiB,EACf,OAAO,GACP,cAAc,GACd,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,MAAM,GACN,MAAM,GACN,WAAW,GACX,cAAc,GACd,WAAW,GACX,WAAW,GACX,WAAW,GACX,SAAS,CACZ;CAAG;AAqBR,QAAA,MAAM,UAAU,uJAAqD,CAAC;AAEtE,OAAO,EAAE,UAAU,IAAI,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"text-field.d.ts","sourceRoot":"","sources":["../../../../src/components/text-inputs/text-field.tsx"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,cAAc,IAAI,iBAAiB,EACzC,MAAM,uBAAuB,CAAC;AAI/B,OAAO,KAAK,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAG1E,MAAM,WAAW,cACf,SAAQ,WAAW,EACjB,yBAAyB,CAAC,MAAM,CAAC,EACjC,IAAI,CACF,iBAAiB,EACf,OAAO,GACP,cAAc,GACd,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,MAAM,GACN,MAAM,GACN,WAAW,GACX,cAAc,GACd,WAAW,GACX,WAAW,GACX,WAAW,GACX,SAAS,CACZ;CAAG;AA6BR;;;;GAIG;AACH,QAAA,MAAM,UAAU,gKAAqD,CAAC;AAEtE,OAAO,EAAE,UAAU,IAAI,SAAS,EAAE,CAAC"}
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  "use strict";
2
3
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -6,14 +7,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
7
  exports.TextField = void 0;
7
8
  const jsx_runtime_1 = require("react/jsx-runtime");
8
9
  const clsx_1 = __importDefault(require("clsx"));
10
+ const react_1 = require("react");
9
11
  const react_aria_components_1 = require("react-aria-components");
10
12
  const forward_ref_js_1 = require("../../forward-ref.js");
11
13
  const with_style_props_js_1 = require("../../with-style-props.js");
12
- const form_field_js_1 = require("../form-field/form-field.js");
14
+ const form_field_js_1 = require("../internal/form-field/form-field.js");
13
15
  const utils_js_1 = require("../typography/utils.js");
14
16
  function TextField({ label, description, error: errorMessage, placeholder, UNSAFE_className, UNSAFE_style, ...props }, ref) {
17
+ const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;
18
+ (0, react_1.useEffect)(() => {
19
+ if (!label && !ariaLabel && !ariaLabelledBy) {
20
+ console.warn('TextField requires one of label / aria-label / aria-labelledby for accessibility');
21
+ }
22
+ }, [label, ariaLabel, ariaLabelledBy]);
15
23
  return ((0, jsx_runtime_1.jsxs)(react_aria_components_1.TextField, { ...props, ref: ref, className: (0, clsx_1.default)('cim-text-field', UNSAFE_className), style: UNSAFE_style, children: [(0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldLabel, { isRequired: props.isRequired, isDisabled: props.isDisabled, children: label }), (0, jsx_runtime_1.jsx)(react_aria_components_1.Input, { className: (0, clsx_1.default)('cim-text-field-input', (0, utils_js_1.textStyle)({ variant: 'medium', tone: 'base' })), placeholder: placeholder }), (0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldError, { children: errorMessage }), (0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldDescription, { children: description })] }));
16
24
  }
25
+ /**
26
+ * Allows users to enter a single line of text with a keyboard.
27
+ *
28
+ * See [text field usage guidelines](https://ui.cimpress.io/components/text-field/usage-guidelines/).
29
+ */
17
30
  const _TextField = (0, with_style_props_js_1.withStyleProps)((0, forward_ref_js_1.forwardRef)(TextField), 'TextField');
18
31
  exports.TextField = _TextField;
19
32
  //# sourceMappingURL=text-field.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-field.js","sourceRoot":"","sources":["../../../../src/components/text-inputs/text-field.tsx"],"names":[],"mappings":";;;;;;;AAAA,gDAAwB;AAExB,iEAI+B;AAC/B,yDAAkD;AAClD,mEAA2D;AAC3D,+DAAmG;AAEnG,qDAAmD;AAwBnD,SAAS,SAAS,CAChB,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,KAAK,EAAkB,EAClH,GAAiC;IAEjC,OAAO,CACL,wBAAC,iCAAY,OAAK,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAA,cAAI,EAAC,gBAAgB,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,YAAY,aACzG,uBAAC,8BAAc,IAAC,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,YACvE,KAAK,GACS,EACjB,uBAAC,6BAAQ,IACP,SAAS,EAAE,IAAA,cAAI,EAAC,sBAAsB,EAAE,IAAA,oBAAS,EAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EACvF,WAAW,EAAE,WAAW,GACxB,EACF,uBAAC,8BAAc,cAAE,YAAY,GAAkB,EAC/C,uBAAC,oCAAoB,cAAE,WAAW,GAAwB,IAC7C,CAChB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG,IAAA,oCAAc,EAAC,IAAA,2BAAU,EAAC,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC;AAE/C,+BAAS","sourcesContent":["import clsx from 'clsx';\nimport type { ForwardedRef } from 'react';\nimport {\n Input as RACInput,\n TextField as RACTextField,\n type TextFieldProps as RACTextFieldProps,\n} from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport { FormFieldDescription, FormFieldError, FormFieldLabel } from '../form-field/form-field.js';\nimport type { DOMProps, FieldWithPlaceholderProps } from '../types.js';\nimport { textStyle } from '../typography/utils.js';\n\nexport interface TextFieldProps\n extends DOMProps,\n FieldWithPlaceholderProps<string>,\n Pick<\n RACTextFieldProps,\n | 'value'\n | 'defaultValue'\n | 'onChange'\n | 'isDisabled'\n | 'isRequired'\n | 'isInvalid'\n | 'isReadOnly'\n | 'name'\n | 'type'\n | 'autoFocus'\n | 'autoComplete'\n | 'inputMode'\n | 'minLength'\n | 'maxLength'\n | 'pattern'\n > {}\n\nfunction TextField(\n { label, description, error: errorMessage, placeholder, UNSAFE_className, UNSAFE_style, ...props }: TextFieldProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n return (\n <RACTextField {...props} ref={ref} className={clsx('cim-text-field', UNSAFE_className)} style={UNSAFE_style}>\n <FormFieldLabel isRequired={props.isRequired} isDisabled={props.isDisabled}>\n {label}\n </FormFieldLabel>\n <RACInput\n className={clsx('cim-text-field-input', textStyle({ variant: 'medium', tone: 'base' }))}\n placeholder={placeholder}\n />\n <FormFieldError>{errorMessage}</FormFieldError>\n <FormFieldDescription>{description}</FormFieldDescription>\n </RACTextField>\n );\n}\n\nconst _TextField = withStyleProps(forwardRef(TextField), 'TextField');\n\nexport { _TextField as TextField };\n"]}
1
+ {"version":3,"file":"text-field.js","sourceRoot":"","sources":["../../../../src/components/text-inputs/text-field.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;AAEb,gDAAwB;AACxB,iCAAqD;AACrD,iEAI+B;AAC/B,yDAAkD;AAClD,mEAA2D;AAC3D,wEAA4G;AAE5G,qDAAmD;AAwBnD,SAAS,SAAS,CAChB,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,KAAK,EAAkB,EAClH,GAAiC;IAEjC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAE7E,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;QACnG,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAEvC,OAAO,CACL,wBAAC,iCAAY,OAAK,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAA,cAAI,EAAC,gBAAgB,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,YAAY,aACzG,uBAAC,8BAAc,IAAC,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,YACvE,KAAK,GACS,EACjB,uBAAC,6BAAQ,IACP,SAAS,EAAE,IAAA,cAAI,EAAC,sBAAsB,EAAE,IAAA,oBAAS,EAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EACvF,WAAW,EAAE,WAAW,GACxB,EACF,uBAAC,8BAAc,cAAE,YAAY,GAAkB,EAC/C,uBAAC,oCAAoB,cAAE,WAAW,GAAwB,IAC7C,CAChB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,GAAG,IAAA,oCAAc,EAAC,IAAA,2BAAU,EAAC,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC;AAE/C,+BAAS","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { useEffect, type ForwardedRef } from 'react';\nimport {\n Input as RACInput,\n TextField as RACTextField,\n type TextFieldProps as RACTextFieldProps,\n} from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport { FormFieldDescription, FormFieldError, FormFieldLabel } from '../internal/form-field/form-field.js';\nimport type { CommonProps, FieldWithPlaceholderProps } from '../types.js';\nimport { textStyle } from '../typography/utils.js';\n\nexport interface TextFieldProps\n extends CommonProps,\n FieldWithPlaceholderProps<string>,\n Pick<\n RACTextFieldProps,\n | 'value'\n | 'defaultValue'\n | 'onChange'\n | 'isDisabled'\n | 'isRequired'\n | 'isInvalid'\n | 'isReadOnly'\n | 'name'\n | 'type'\n | 'autoFocus'\n | 'autoComplete'\n | 'inputMode'\n | 'minLength'\n | 'maxLength'\n | 'pattern'\n > {}\n\nfunction TextField(\n { label, description, error: errorMessage, placeholder, UNSAFE_className, UNSAFE_style, ...props }: TextFieldProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;\n\n useEffect(() => {\n if (!label && !ariaLabel && !ariaLabelledBy) {\n console.warn('TextField requires one of label / aria-label / aria-labelledby for accessibility');\n }\n }, [label, ariaLabel, ariaLabelledBy]);\n\n return (\n <RACTextField {...props} ref={ref} className={clsx('cim-text-field', UNSAFE_className)} style={UNSAFE_style}>\n <FormFieldLabel isRequired={props.isRequired} isDisabled={props.isDisabled}>\n {label}\n </FormFieldLabel>\n <RACInput\n className={clsx('cim-text-field-input', textStyle({ variant: 'medium', tone: 'base' }))}\n placeholder={placeholder}\n />\n <FormFieldError>{errorMessage}</FormFieldError>\n <FormFieldDescription>{description}</FormFieldDescription>\n </RACTextField>\n );\n}\n\n/**\n * Allows users to enter a single line of text with a keyboard.\n *\n * See [text field usage guidelines](https://ui.cimpress.io/components/text-field/usage-guidelines/).\n */\nconst _TextField = withStyleProps(forwardRef(TextField), 'TextField');\n\nexport { _TextField as TextField };\n"]}
@@ -1,10 +1,18 @@
1
- import type { CSSProperties } from 'react';
1
+ import type { CSSProperties, ReactNode } from 'react';
2
2
  import type { LinkProps as RACLinkProps, PressEvent as RACPressEvent, ValidationResult as RACValidationResult } from 'react-aria-components';
3
+ /** Represents an identifier for a collection item. */
3
4
  export type Key = string | number;
5
+ /** Represents a direction (vertical or horizontal). */
6
+ export type Direction = 'vertical' | 'horizontal';
4
7
  /**
5
- * A set of common DOM props that are allowed on any component
8
+ * Use this type when you want to restrict `children` to a string,
9
+ * but also want to allow expressions that resolve to strings.
6
10
  */
7
- export interface DOMProps {
11
+ export type StringLikeChildren = string | number | (string | number)[];
12
+ /**
13
+ * A set of common props that are allowed on every component
14
+ */
15
+ export interface CommonProps {
8
16
  /**
9
17
  * The element's unique identifier. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id).
10
18
  */
@@ -12,10 +20,10 @@ export interface DOMProps {
12
20
  /**
13
21
  * Use this attribute to "claim" the component tree for exclusive Cimpress UI usage.
14
22
  */
15
- 'data-experimental-cim-style-root'?: boolean;
16
- /** Sets the CSS className for the element. Only use as a last resort. Use style props instead. */
23
+ 'data-cim-style-root'?: boolean;
24
+ /** Sets the CSS className for the element. Only use as a **last resort**. Use style props instead. */
17
25
  UNSAFE_className?: string;
18
- /** Sets the CSS style for the element. Only use as a last resort. Use style props instead. */
26
+ /** Sets the CSS style for the element. Only use as a **last resort**. Use style props instead. */
19
27
  UNSAFE_style?: CSSProperties;
20
28
  }
21
29
  /**
@@ -26,11 +34,6 @@ export interface DOMProps {
26
34
  * it can call `continuePropagation()` to allow a parent to handle it.
27
35
  */
28
36
  export type PressEvent = RACPressEvent;
29
- /**
30
- * Props available on components that perform navigation.
31
- */
32
- export interface NavigationProps extends Pick<WithRequired<RACLinkProps, 'href'>, 'href' | 'hrefLang' | 'target' | 'rel' | 'download' | 'ping' | 'referrerPolicy' | 'routerOptions' | 'isDisabled'> {
33
- }
34
37
  /**
35
38
  * Props for components that require a label, which can be hidden if necessary.
36
39
  */
@@ -54,8 +57,11 @@ export interface LabellableProps {
54
57
  */
55
58
  'aria-details'?: string;
56
59
  }
60
+ /** Provides details about the validation state of a form field. */
57
61
  export type ValidationResult = RACValidationResult;
62
+ /** Represents the error message(s) for a form field. */
58
63
  export type FieldError = string | string[] | undefined | ((validation: ValidationResult) => string | string[] | undefined);
64
+ /** Props available on form field components. */
59
65
  export interface FieldProps<T> extends LabellableProps {
60
66
  /** A description for the field. Provides a hint such as specific requirements for what to choose. */
61
67
  description?: string;
@@ -68,6 +74,7 @@ export interface FieldProps<T> extends LabellableProps {
68
74
  */
69
75
  validate?: (value: T) => string | string[] | true | undefined;
70
76
  }
77
+ /** Props available on form field components with text inputs. */
71
78
  export interface FieldWithPlaceholderProps<T> extends FieldProps<T> {
72
79
  /** The placeholder text displayed in the input field. */
73
80
  placeholder?: string;
@@ -76,4 +83,53 @@ export interface FieldWithPlaceholderProps<T> extends FieldProps<T> {
76
83
  export type WithRequired<T, K extends keyof T> = T & {
77
84
  [P in K]-?: T[P];
78
85
  };
86
+ /**
87
+ * This interface allows configuring navigation props with router options and type-safe URLs via TypeScript module augmentation.
88
+ * By default, this is an empty interface. Extend with `href` and `routerOptions` properties to configure your router.
89
+ */
90
+ export interface RouterConfig {
91
+ }
92
+ /**
93
+ * Represents a URL for navigation components.
94
+ * This type can be configured by augmenting `RouterConfig` with an `href` property.
95
+ */
96
+ export type Href = RouterConfig extends {
97
+ href: infer H;
98
+ } ? H : string;
99
+ /**
100
+ * Represents router options for navigation components.
101
+ * This type can be configured by augmenting `RouterConfig` with a `routerOptions` property.
102
+ */
103
+ export type RouterOptions = RouterConfig extends {
104
+ routerOptions: infer O;
105
+ } ? O : never;
106
+ /**
107
+ * Props available on components that perform navigation.
108
+ */
109
+ export interface NavigationProps extends Pick<RACLinkProps, 'hrefLang' | 'target' | 'rel' | 'download' | 'ping' | 'referrerPolicy'> {
110
+ /** A URL to link to. */
111
+ href?: Href;
112
+ /** Options for the configured client side router. */
113
+ routerOptions?: RouterOptions;
114
+ }
115
+ /** Represents a minimal data shape of a dynamic item in collection components. */
116
+ export interface CollectionItem {
117
+ /** Unique identifier for the item or group. */
118
+ id: Key;
119
+ }
120
+ /** Props available on components that render collections. */
121
+ export interface CollectionProps<T extends CollectionItem> {
122
+ /** The contents of the collection. */
123
+ children?: ReactNode | ((item: T) => ReactNode);
124
+ /** The items to display in the collection. */
125
+ items?: Iterable<T>;
126
+ }
127
+ /** Props available on icons. */
128
+ export interface IconProps extends CommonProps, Pick<LabellableProps, 'aria-label' | 'aria-labelledby'> {
129
+ /**
130
+ * Whether the icon is hidden from assistive technologies.
131
+ * @default true
132
+ */
133
+ 'aria-hidden'?: boolean;
134
+ }
79
135
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EACV,SAAS,IAAI,YAAY,EACzB,UAAU,IAAI,aAAa,EAC3B,gBAAgB,IAAI,mBAAmB,EACxC,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;AAElC;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C,kGAAkG;IAClG,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8FAA8F;IAC9F,YAAY,CAAC,EAAE,aAAa,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,eACf,SAAQ,IAAI,CACV,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,EAClC,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,gBAAgB,GAAG,eAAe,GAAG,YAAY,CACjH;CAAG;AAEN;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC9B,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAEnD,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,MAAM,EAAE,GACR,SAAS,GACT,CAAC,CAAC,UAAU,EAAE,gBAAgB,KAAK,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;AAEtE,MAAM,WAAW,UAAU,CAAC,CAAC,CAAE,SAAQ,eAAe;IACpD,qGAAqG;IACrG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;CAC/D;AAED,MAAM,WAAW,yBAAyB,CAAC,CAAC,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;IACjE,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qFAAqF;AACrF,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG;KAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EACV,SAAS,IAAI,YAAY,EACzB,UAAU,IAAI,aAAa,EAC3B,gBAAgB,IAAI,mBAAmB,EACxC,MAAM,uBAAuB,CAAC;AAE/B,sDAAsD;AACtD,MAAM,MAAM,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;AAElC,uDAAuD;AACvD,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,YAAY,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,sGAAsG;IACtG,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kGAAkG;IAClG,YAAY,CAAC,EAAE,aAAa,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC;AAEvC;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC9B,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,mEAAmE;AACnE,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAEnD,wDAAwD;AACxD,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,MAAM,EAAE,GACR,SAAS,GACT,CAAC,CAAC,UAAU,EAAE,gBAAgB,KAAK,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;AAEtE,gDAAgD;AAChD,MAAM,WAAW,UAAU,CAAC,CAAC,CAAE,SAAQ,eAAe;IACpD,qGAAqG;IACrG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;CAC/D;AAED,iEAAiE;AACjE,MAAM,WAAW,yBAAyB,CAAC,CAAC,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;IACjE,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qFAAqF;AACrF,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG;KAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAE1E;;;GAGG;AAEH,MAAM,WAAW,YAAY;CAAG;AAEhC;;;GAGG;AACH,MAAM,MAAM,IAAI,GAAG,YAAY,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,MAAM,CAAC;AAEvE;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,YAAY,SAAS;IAAE,aAAa,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,gBAAgB,CAAC;IAClG,wBAAwB;IACxB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,qDAAqD;IACrD,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,kFAAkF;AAClF,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,EAAE,EAAE,GAAG,CAAC;CACT;AAED,6DAA6D;AAC7D,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,cAAc;IACvD,sCAAsC;IACtC,QAAQ,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC;IAChD,8CAA8C;IAC9C,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;CACrB;AAED,gCAAgC;AAChC,MAAM,WAAW,SAAU,SAAQ,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,GAAG,iBAAiB,CAAC;IACrG;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}