@cimpress-ui/react 0.3.0 → 0.4.0

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 (620) hide show
  1. package/dist/commonjs/components/alert/alert.d.ts +25 -0
  2. package/dist/commonjs/components/alert/alert.d.ts.map +1 -0
  3. package/dist/commonjs/components/alert/alert.js +51 -0
  4. package/dist/commonjs/components/alert/alert.js.map +1 -0
  5. package/dist/commonjs/components/alert-dialog/alert-dialog.d.ts +51 -0
  6. package/dist/commonjs/components/alert-dialog/alert-dialog.d.ts.map +1 -0
  7. package/dist/commonjs/components/alert-dialog/alert-dialog.js +26 -0
  8. package/dist/commonjs/components/alert-dialog/alert-dialog.js.map +1 -0
  9. package/dist/commonjs/components/breadcrumbs/breadcrumbs.d.ts.map +1 -1
  10. package/dist/commonjs/components/breadcrumbs/breadcrumbs.js +17 -1
  11. package/dist/commonjs/components/breadcrumbs/breadcrumbs.js.map +1 -1
  12. package/dist/commonjs/components/button/button.d.ts.map +1 -1
  13. package/dist/commonjs/components/button/button.js +3 -3
  14. package/dist/commonjs/components/button/button.js.map +1 -1
  15. package/dist/commonjs/components/button/icon-button.d.ts.map +1 -1
  16. package/dist/commonjs/components/button/icon-button.js +3 -3
  17. package/dist/commonjs/components/button/icon-button.js.map +1 -1
  18. package/dist/commonjs/components/button/icon-link-button.js +1 -1
  19. package/dist/commonjs/components/button/icon-link-button.js.map +1 -1
  20. package/dist/commonjs/components/button/link-button.js +1 -1
  21. package/dist/commonjs/components/button/link-button.js.map +1 -1
  22. package/dist/commonjs/components/button/types.js.map +1 -1
  23. package/dist/commonjs/components/callout/callout.d.ts +27 -0
  24. package/dist/commonjs/components/callout/callout.d.ts.map +1 -0
  25. package/dist/commonjs/components/callout/callout.js +46 -0
  26. package/dist/commonjs/components/callout/callout.js.map +1 -0
  27. package/dist/commonjs/components/card/card.d.ts +21 -9
  28. package/dist/commonjs/components/card/card.d.ts.map +1 -1
  29. package/dist/commonjs/components/card/card.js +17 -11
  30. package/dist/commonjs/components/card/card.js.map +1 -1
  31. package/dist/commonjs/components/checkbox/checkbox-group.d.ts +1 -1
  32. package/dist/commonjs/components/checkbox/checkbox-group.d.ts.map +1 -1
  33. package/dist/commonjs/components/checkbox/checkbox-group.js +2 -2
  34. package/dist/commonjs/components/checkbox/checkbox-group.js.map +1 -1
  35. package/dist/commonjs/components/checkbox/checkbox.d.ts.map +1 -1
  36. package/dist/commonjs/components/checkbox/checkbox.js +2 -2
  37. package/dist/commonjs/components/checkbox/checkbox.js.map +1 -1
  38. package/dist/commonjs/components/combo-box/combo-box.d.ts +2 -1
  39. package/dist/commonjs/components/combo-box/combo-box.d.ts.map +1 -1
  40. package/dist/commonjs/components/combo-box/combo-box.js +5 -3
  41. package/dist/commonjs/components/combo-box/combo-box.js.map +1 -1
  42. package/dist/commonjs/components/container/container.d.ts +16 -0
  43. package/dist/commonjs/components/container/container.d.ts.map +1 -0
  44. package/dist/commonjs/components/container/container.js +13 -0
  45. package/dist/commonjs/components/container/container.js.map +1 -0
  46. package/dist/commonjs/components/date-picker/date-picker-calendar.d.ts +2 -0
  47. package/dist/commonjs/components/date-picker/date-picker-calendar.d.ts.map +1 -0
  48. package/dist/commonjs/components/date-picker/date-picker-calendar.js +26 -0
  49. package/dist/commonjs/components/date-picker/date-picker-calendar.js.map +1 -0
  50. package/dist/commonjs/components/date-picker/date-picker.d.ts +17 -0
  51. package/dist/commonjs/components/date-picker/date-picker.d.ts.map +1 -0
  52. package/dist/commonjs/components/date-picker/date-picker.js +54 -0
  53. package/dist/commonjs/components/date-picker/date-picker.js.map +1 -0
  54. package/dist/commonjs/components/date-picker/utils.d.ts +2 -0
  55. package/dist/commonjs/components/date-picker/utils.d.ts.map +1 -0
  56. package/dist/commonjs/components/date-picker/utils.js +31 -0
  57. package/dist/commonjs/components/date-picker/utils.js.map +1 -0
  58. package/dist/commonjs/components/date-picker/views/month/month-view.d.ts +2 -0
  59. package/dist/commonjs/components/date-picker/views/month/month-view.d.ts.map +1 -0
  60. package/dist/commonjs/components/date-picker/views/month/month-view.js +35 -0
  61. package/dist/commonjs/components/date-picker/views/month/month-view.js.map +1 -0
  62. package/dist/commonjs/components/date-picker/views/multi-year/multi-year-view.d.ts +2 -0
  63. package/dist/commonjs/components/date-picker/views/multi-year/multi-year-view.d.ts.map +1 -0
  64. package/dist/commonjs/components/date-picker/views/multi-year/multi-year-view.js +16 -0
  65. package/dist/commonjs/components/date-picker/views/multi-year/multi-year-view.js.map +1 -0
  66. package/dist/commonjs/components/date-picker/views/multi-year/use-multi-year-view-state.d.ts +2 -0
  67. package/dist/commonjs/components/date-picker/views/multi-year/use-multi-year-view-state.d.ts.map +1 -0
  68. package/dist/commonjs/components/date-picker/views/multi-year/use-multi-year-view-state.js +130 -0
  69. package/dist/commonjs/components/date-picker/views/multi-year/use-multi-year-view-state.js.map +1 -0
  70. package/dist/commonjs/components/date-picker/views/types.d.ts +2 -0
  71. package/dist/commonjs/components/date-picker/views/types.d.ts.map +1 -0
  72. package/dist/commonjs/components/date-picker/views/types.js +3 -0
  73. package/dist/commonjs/components/date-picker/views/types.js.map +1 -0
  74. package/dist/commonjs/components/date-picker/views/use-view-header.d.ts +2 -0
  75. package/dist/commonjs/components/date-picker/views/use-view-header.d.ts.map +1 -0
  76. package/dist/commonjs/components/date-picker/views/use-view-header.js +56 -0
  77. package/dist/commonjs/components/date-picker/views/use-view-header.js.map +1 -0
  78. package/dist/commonjs/components/date-picker/views/view-grid-cell.d.ts +2 -0
  79. package/dist/commonjs/components/date-picker/views/view-grid-cell.d.ts.map +1 -0
  80. package/dist/commonjs/components/date-picker/views/view-grid-cell.js +72 -0
  81. package/dist/commonjs/components/date-picker/views/view-grid-cell.js.map +1 -0
  82. package/dist/commonjs/components/date-picker/views/view-grid.d.ts +2 -0
  83. package/dist/commonjs/components/date-picker/views/view-grid.d.ts.map +1 -0
  84. package/dist/commonjs/components/date-picker/views/view-grid.js +75 -0
  85. package/dist/commonjs/components/date-picker/views/view-grid.js.map +1 -0
  86. package/dist/commonjs/components/date-picker/views/view-provider.d.ts +2 -0
  87. package/dist/commonjs/components/date-picker/views/view-provider.d.ts.map +1 -0
  88. package/dist/commonjs/components/date-picker/views/view-provider.js +21 -0
  89. package/dist/commonjs/components/date-picker/views/view-provider.js.map +1 -0
  90. package/dist/commonjs/components/date-picker/views/year/use-year-view-state.d.ts +2 -0
  91. package/dist/commonjs/components/date-picker/views/year/use-year-view-state.d.ts.map +1 -0
  92. package/dist/commonjs/components/date-picker/views/year/use-year-view-state.js +158 -0
  93. package/dist/commonjs/components/date-picker/views/year/use-year-view-state.js.map +1 -0
  94. package/dist/commonjs/components/date-picker/views/year/year-view.d.ts +2 -0
  95. package/dist/commonjs/components/date-picker/views/year/year-view.d.ts.map +1 -0
  96. package/dist/commonjs/components/date-picker/views/year/year-view.js +20 -0
  97. package/dist/commonjs/components/date-picker/views/year/year-view.js.map +1 -0
  98. package/dist/commonjs/components/dialog-root/dialog-root.d.ts +20 -0
  99. package/dist/commonjs/components/dialog-root/dialog-root.d.ts.map +1 -0
  100. package/dist/commonjs/components/dialog-root/dialog-root.js +15 -0
  101. package/dist/commonjs/components/dialog-root/dialog-root.js.map +1 -0
  102. package/dist/commonjs/components/disclosure/context.d.ts +3 -0
  103. package/dist/commonjs/components/disclosure/context.d.ts.map +1 -0
  104. package/dist/commonjs/components/disclosure/context.js +7 -0
  105. package/dist/commonjs/components/disclosure/context.js.map +1 -0
  106. package/dist/commonjs/components/disclosure/disclosure-group.d.ts +15 -4
  107. package/dist/commonjs/components/disclosure/disclosure-group.d.ts.map +1 -1
  108. package/dist/commonjs/components/disclosure/disclosure-group.js +11 -5
  109. package/dist/commonjs/components/disclosure/disclosure-group.js.map +1 -1
  110. package/dist/commonjs/components/disclosure/disclosure.d.ts +35 -4
  111. package/dist/commonjs/components/disclosure/disclosure.d.ts.map +1 -1
  112. package/dist/commonjs/components/disclosure/disclosure.js +16 -5
  113. package/dist/commonjs/components/disclosure/disclosure.js.map +1 -1
  114. package/dist/commonjs/components/divider/divider.d.ts +12 -0
  115. package/dist/commonjs/components/divider/divider.d.ts.map +1 -0
  116. package/dist/commonjs/components/divider/divider.js +19 -0
  117. package/dist/commonjs/components/divider/divider.js.map +1 -0
  118. package/dist/commonjs/components/file-picker/file-picker.d.ts +19 -0
  119. package/dist/commonjs/components/file-picker/file-picker.d.ts.map +1 -0
  120. package/dist/commonjs/components/file-picker/file-picker.js +68 -0
  121. package/dist/commonjs/components/file-picker/file-picker.js.map +1 -0
  122. package/dist/commonjs/components/header/cimpress-logo.d.ts +2 -0
  123. package/dist/commonjs/components/header/cimpress-logo.d.ts.map +1 -0
  124. package/dist/commonjs/components/header/cimpress-logo.js +9 -0
  125. package/dist/commonjs/components/header/cimpress-logo.js.map +1 -0
  126. package/dist/commonjs/components/header/header.d.ts +10 -0
  127. package/dist/commonjs/components/header/header.d.ts.map +1 -0
  128. package/dist/commonjs/components/header/header.js +19 -0
  129. package/dist/commonjs/components/header/header.js.map +1 -0
  130. package/dist/commonjs/components/internal/form-field/form-field.js +1 -1
  131. package/dist/commonjs/components/internal/form-field/form-field.js.map +1 -1
  132. package/dist/commonjs/components/internal/x-button/x-button.d.ts +2 -0
  133. package/dist/commonjs/components/internal/x-button/x-button.d.ts.map +1 -0
  134. package/dist/commonjs/components/internal/x-button/x-button.js +17 -0
  135. package/dist/commonjs/components/internal/x-button/x-button.js.map +1 -0
  136. package/dist/commonjs/components/menu/menu.d.ts +3 -6
  137. package/dist/commonjs/components/menu/menu.d.ts.map +1 -1
  138. package/dist/commonjs/components/menu/menu.js +4 -9
  139. package/dist/commonjs/components/menu/menu.js.map +1 -1
  140. package/dist/commonjs/components/modal-dialog/modal-dialog.d.ts +63 -0
  141. package/dist/commonjs/components/modal-dialog/modal-dialog.d.ts.map +1 -0
  142. package/dist/commonjs/components/modal-dialog/modal-dialog.js +50 -0
  143. package/dist/commonjs/components/modal-dialog/modal-dialog.js.map +1 -0
  144. package/dist/commonjs/components/number-field/number-field.d.ts +1 -1
  145. package/dist/commonjs/components/number-field/number-field.d.ts.map +1 -1
  146. package/dist/commonjs/components/number-field/number-field.js +6 -4
  147. package/dist/commonjs/components/number-field/number-field.js.map +1 -1
  148. package/dist/commonjs/components/pagination/base-pagination.d.ts.map +1 -1
  149. package/dist/commonjs/components/pagination/base-pagination.js +9 -10
  150. package/dist/commonjs/components/pagination/base-pagination.js.map +1 -1
  151. package/dist/commonjs/components/pagination/pagination.d.ts.map +1 -1
  152. package/dist/commonjs/components/pagination/pagination.js +7 -5
  153. package/dist/commonjs/components/pagination/pagination.js.map +1 -1
  154. package/dist/commonjs/components/popover/popover.d.ts +7 -2
  155. package/dist/commonjs/components/popover/popover.d.ts.map +1 -1
  156. package/dist/commonjs/components/popover/popover.js +2 -2
  157. package/dist/commonjs/components/popover/popover.js.map +1 -1
  158. package/dist/commonjs/components/radio/radio-group.d.ts +1 -1
  159. package/dist/commonjs/components/radio/radio-group.d.ts.map +1 -1
  160. package/dist/commonjs/components/radio/radio-group.js +2 -2
  161. package/dist/commonjs/components/radio/radio-group.js.map +1 -1
  162. package/dist/commonjs/components/radio/radio.d.ts.map +1 -1
  163. package/dist/commonjs/components/radio/radio.js +2 -2
  164. package/dist/commonjs/components/radio/radio.js.map +1 -1
  165. package/dist/commonjs/components/select/select.d.ts +2 -1
  166. package/dist/commonjs/components/select/select.d.ts.map +1 -1
  167. package/dist/commonjs/components/select/select.js +5 -4
  168. package/dist/commonjs/components/select/select.js.map +1 -1
  169. package/dist/commonjs/components/spacing/stack/stack.d.ts +1 -1
  170. package/dist/commonjs/components/spacing/stack/stack.js +1 -1
  171. package/dist/commonjs/components/spacing/stack/stack.js.map +1 -1
  172. package/dist/commonjs/components/spacing/types.d.ts +1 -1
  173. package/dist/commonjs/components/spacing/types.d.ts.map +1 -1
  174. package/dist/commonjs/components/spacing/types.js +2 -2
  175. package/dist/commonjs/components/spacing/types.js.map +1 -1
  176. package/dist/commonjs/components/spinner/spinner.d.ts.map +1 -1
  177. package/dist/commonjs/components/spinner/spinner.js +3 -3
  178. package/dist/commonjs/components/spinner/spinner.js.map +1 -1
  179. package/dist/commonjs/components/table/contexts/column-collection.d.ts.map +1 -1
  180. package/dist/commonjs/components/table/contexts/column-collection.js +2 -0
  181. package/dist/commonjs/components/table/contexts/column-collection.js.map +1 -1
  182. package/dist/commonjs/components/table/contexts/table-state.d.ts +1 -0
  183. package/dist/commonjs/components/table/contexts/table-state.d.ts.map +1 -1
  184. package/dist/commonjs/components/table/contexts/table-state.js +6 -1
  185. package/dist/commonjs/components/table/contexts/table-state.js.map +1 -1
  186. package/dist/commonjs/components/table/hooks/use-table-cell.js +2 -2
  187. package/dist/commonjs/components/table/hooks/use-table-cell.js.map +1 -1
  188. package/dist/commonjs/components/table/table-empty-state.js +1 -1
  189. package/dist/commonjs/components/table/table-empty-state.js.map +1 -1
  190. package/dist/commonjs/components/table/table-header-button.d.ts +2 -0
  191. package/dist/commonjs/components/table/table-header-button.d.ts.map +1 -0
  192. package/dist/commonjs/components/table/table-header-button.js +16 -0
  193. package/dist/commonjs/components/table/table-header-button.js.map +1 -0
  194. package/dist/commonjs/components/table/table-header-cell.d.ts.map +1 -1
  195. package/dist/commonjs/components/table/table-header-cell.js +7 -5
  196. package/dist/commonjs/components/table/table-header-cell.js.map +1 -1
  197. package/dist/commonjs/components/table/table.d.ts +1 -1
  198. package/dist/commonjs/components/table/table.d.ts.map +1 -1
  199. package/dist/commonjs/components/table/table.js +2 -2
  200. package/dist/commonjs/components/table/table.js.map +1 -1
  201. package/dist/commonjs/components/tag/tag-group.d.ts +1 -1
  202. package/dist/commonjs/components/tag/tag-group.d.ts.map +1 -1
  203. package/dist/commonjs/components/tag/tag-group.js.map +1 -1
  204. package/dist/commonjs/components/tag/tag.js +1 -1
  205. package/dist/commonjs/components/tag/tag.js.map +1 -1
  206. package/dist/commonjs/components/tag-field/tag-field-input.d.ts +2 -0
  207. package/dist/commonjs/components/tag-field/tag-field-input.d.ts.map +1 -0
  208. package/dist/commonjs/components/tag-field/tag-field-input.js +31 -0
  209. package/dist/commonjs/components/tag-field/tag-field-input.js.map +1 -0
  210. package/dist/commonjs/components/tag-field/tag-field-list-box.d.ts +2 -0
  211. package/dist/commonjs/components/tag-field/tag-field-list-box.d.ts.map +1 -0
  212. package/dist/commonjs/components/tag-field/tag-field-list-box.js +31 -0
  213. package/dist/commonjs/components/tag-field/tag-field-list-box.js.map +1 -0
  214. package/dist/commonjs/components/tag-field/tag-field-tags.d.ts +2 -0
  215. package/dist/commonjs/components/tag-field/tag-field-tags.d.ts.map +1 -0
  216. package/dist/commonjs/components/tag-field/tag-field-tags.js +27 -0
  217. package/dist/commonjs/components/tag-field/tag-field-tags.js.map +1 -0
  218. package/dist/commonjs/components/tag-field/tag-field.d.ts +43 -0
  219. package/dist/commonjs/components/tag-field/tag-field.d.ts.map +1 -0
  220. package/dist/commonjs/components/tag-field/tag-field.js +143 -0
  221. package/dist/commonjs/components/tag-field/tag-field.js.map +1 -0
  222. package/dist/commonjs/components/text-inputs/text-area.d.ts +1 -1
  223. package/dist/commonjs/components/text-inputs/text-area.d.ts.map +1 -1
  224. package/dist/commonjs/components/text-inputs/text-area.js +2 -2
  225. package/dist/commonjs/components/text-inputs/text-area.js.map +1 -1
  226. package/dist/commonjs/components/text-inputs/text-field.d.ts +1 -1
  227. package/dist/commonjs/components/text-inputs/text-field.d.ts.map +1 -1
  228. package/dist/commonjs/components/text-inputs/text-field.js +2 -2
  229. package/dist/commonjs/components/text-inputs/text-field.js.map +1 -1
  230. package/dist/commonjs/components/toast/toast-region.d.ts +5 -0
  231. package/dist/commonjs/components/toast/toast-region.d.ts.map +1 -0
  232. package/dist/commonjs/components/toast/toast-region.js +24 -0
  233. package/dist/commonjs/components/toast/toast-region.js.map +1 -0
  234. package/dist/commonjs/components/toast/toast.d.ts +2 -0
  235. package/dist/commonjs/components/toast/toast.d.ts.map +1 -0
  236. package/dist/commonjs/components/toast/toast.js +24 -0
  237. package/dist/commonjs/components/toast/toast.js.map +1 -0
  238. package/dist/commonjs/components/toast/types.d.ts +5 -0
  239. package/dist/commonjs/components/toast/types.d.ts.map +1 -0
  240. package/dist/commonjs/components/toast/types.js +3 -0
  241. package/dist/commonjs/components/toast/types.js.map +1 -0
  242. package/dist/commonjs/components/toggle/toggle.d.ts +14 -0
  243. package/dist/commonjs/components/toggle/toggle.d.ts.map +1 -0
  244. package/dist/commonjs/components/toggle/toggle.js +32 -0
  245. package/dist/commonjs/components/toggle/toggle.js.map +1 -0
  246. package/dist/commonjs/components/tooltip/tooltip.d.ts +4 -2
  247. package/dist/commonjs/components/tooltip/tooltip.d.ts.map +1 -1
  248. package/dist/commonjs/components/tooltip/tooltip.js.map +1 -1
  249. package/dist/commonjs/components/types.d.ts +4 -0
  250. package/dist/commonjs/components/types.d.ts.map +1 -1
  251. package/dist/commonjs/components/types.js.map +1 -1
  252. package/dist/commonjs/components/typography/text.d.ts.map +1 -1
  253. package/dist/commonjs/date.d.ts +2 -0
  254. package/dist/commonjs/date.d.ts.map +1 -0
  255. package/dist/commonjs/date.js +27 -0
  256. package/dist/commonjs/date.js.map +1 -0
  257. package/dist/commonjs/i18n/index.d.ts +3 -0
  258. package/dist/commonjs/i18n/index.d.ts.map +1 -0
  259. package/dist/commonjs/i18n/index.js +19 -0
  260. package/dist/commonjs/i18n/index.js.map +1 -0
  261. package/dist/commonjs/i18n/localization-provider.d.ts +59 -0
  262. package/dist/commonjs/i18n/localization-provider.d.ts.map +1 -0
  263. package/dist/commonjs/i18n/localization-provider.js +82 -0
  264. package/dist/commonjs/i18n/localization-provider.js.map +1 -0
  265. package/dist/commonjs/i18n/messages/en-US.d.ts +4 -0
  266. package/dist/commonjs/i18n/messages/en-US.d.ts.map +1 -0
  267. package/dist/commonjs/i18n/messages/en-US.js +38 -0
  268. package/dist/commonjs/i18n/messages/en-US.js.map +1 -0
  269. package/dist/commonjs/i18n/messages/index.d.ts +3 -0
  270. package/dist/commonjs/i18n/messages/index.d.ts.map +1 -0
  271. package/dist/commonjs/i18n/messages/index.js +6 -0
  272. package/dist/commonjs/i18n/messages/index.js.map +1 -0
  273. package/dist/commonjs/i18n/messages/types.d.ts +72 -0
  274. package/dist/commonjs/i18n/messages/types.d.ts.map +1 -0
  275. package/dist/commonjs/i18n/messages/types.js +3 -0
  276. package/dist/commonjs/i18n/messages/types.js.map +1 -0
  277. package/dist/commonjs/index.d.ts +18 -3
  278. package/dist/commonjs/index.d.ts.map +1 -1
  279. package/dist/commonjs/index.js +16 -3
  280. package/dist/commonjs/index.js.map +1 -1
  281. package/dist/commonjs/providers/ssr/ssr-provider.d.ts +1 -3
  282. package/dist/commonjs/providers/ssr/ssr-provider.d.ts.map +1 -1
  283. package/dist/commonjs/providers/ssr/ssr-provider.js +2 -2
  284. package/dist/commonjs/providers/ssr/ssr-provider.js.map +1 -1
  285. package/dist/commonjs/utils/is-production.d.ts +2 -0
  286. package/dist/commonjs/utils/is-production.d.ts.map +1 -0
  287. package/dist/commonjs/utils/is-production.js +7 -0
  288. package/dist/commonjs/utils/is-production.js.map +1 -0
  289. package/dist/commonjs/utils/style/types.d.ts +1 -1
  290. package/dist/commonjs/utils/style/types.d.ts.map +1 -1
  291. package/dist/commonjs/utils/style/types.js.map +1 -1
  292. package/dist/commonjs/utils/use-media-query.d.ts +2 -0
  293. package/dist/commonjs/utils/use-media-query.d.ts.map +1 -0
  294. package/dist/commonjs/utils/use-media-query.js +35 -0
  295. package/dist/commonjs/utils/use-media-query.js.map +1 -0
  296. package/dist/commonjs/utils/use-production-warning.d.ts +3 -0
  297. package/dist/commonjs/utils/use-production-warning.d.ts.map +1 -0
  298. package/dist/commonjs/utils/use-production-warning.js +7 -0
  299. package/dist/commonjs/utils/use-production-warning.js.map +1 -0
  300. package/dist/commonjs/with-style-props.d.ts.map +1 -1
  301. package/dist/esm/components/alert/alert.d.ts +25 -0
  302. package/dist/esm/components/alert/alert.d.ts.map +1 -0
  303. package/dist/esm/components/alert/alert.js +45 -0
  304. package/dist/esm/components/alert/alert.js.map +1 -0
  305. package/dist/esm/components/alert-dialog/alert-dialog.d.ts +51 -0
  306. package/dist/esm/components/alert-dialog/alert-dialog.d.ts.map +1 -0
  307. package/dist/esm/components/alert-dialog/alert-dialog.js +20 -0
  308. package/dist/esm/components/alert-dialog/alert-dialog.js.map +1 -0
  309. package/dist/esm/components/breadcrumbs/breadcrumbs.d.ts.map +1 -1
  310. package/dist/esm/components/breadcrumbs/breadcrumbs.js +18 -2
  311. package/dist/esm/components/breadcrumbs/breadcrumbs.js.map +1 -1
  312. package/dist/esm/components/button/button.d.ts.map +1 -1
  313. package/dist/esm/components/button/button.js +3 -3
  314. package/dist/esm/components/button/button.js.map +1 -1
  315. package/dist/esm/components/button/icon-button.d.ts.map +1 -1
  316. package/dist/esm/components/button/icon-button.js +3 -3
  317. package/dist/esm/components/button/icon-button.js.map +1 -1
  318. package/dist/esm/components/button/icon-link-button.js +1 -1
  319. package/dist/esm/components/button/icon-link-button.js.map +1 -1
  320. package/dist/esm/components/button/link-button.js +1 -1
  321. package/dist/esm/components/button/link-button.js.map +1 -1
  322. package/dist/esm/components/button/types.js.map +1 -1
  323. package/dist/esm/components/callout/callout.d.ts +27 -0
  324. package/dist/esm/components/callout/callout.d.ts.map +1 -0
  325. package/dist/esm/components/callout/callout.js +40 -0
  326. package/dist/esm/components/callout/callout.js.map +1 -0
  327. package/dist/esm/components/card/card.d.ts +21 -9
  328. package/dist/esm/components/card/card.d.ts.map +1 -1
  329. package/dist/esm/components/card/card.js +16 -11
  330. package/dist/esm/components/card/card.js.map +1 -1
  331. package/dist/esm/components/checkbox/checkbox-group.d.ts +1 -1
  332. package/dist/esm/components/checkbox/checkbox-group.d.ts.map +1 -1
  333. package/dist/esm/components/checkbox/checkbox-group.js +2 -2
  334. package/dist/esm/components/checkbox/checkbox-group.js.map +1 -1
  335. package/dist/esm/components/checkbox/checkbox.d.ts.map +1 -1
  336. package/dist/esm/components/checkbox/checkbox.js +2 -2
  337. package/dist/esm/components/checkbox/checkbox.js.map +1 -1
  338. package/dist/esm/components/combo-box/combo-box.d.ts +2 -1
  339. package/dist/esm/components/combo-box/combo-box.d.ts.map +1 -1
  340. package/dist/esm/components/combo-box/combo-box.js +6 -4
  341. package/dist/esm/components/combo-box/combo-box.js.map +1 -1
  342. package/dist/esm/components/container/container.d.ts +16 -0
  343. package/dist/esm/components/container/container.d.ts.map +1 -0
  344. package/dist/esm/components/container/container.js +7 -0
  345. package/dist/esm/components/container/container.js.map +1 -0
  346. package/dist/esm/components/date-picker/date-picker-calendar.d.ts +2 -0
  347. package/dist/esm/components/date-picker/date-picker-calendar.d.ts.map +1 -0
  348. package/dist/esm/components/date-picker/date-picker-calendar.js +23 -0
  349. package/dist/esm/components/date-picker/date-picker-calendar.js.map +1 -0
  350. package/dist/esm/components/date-picker/date-picker.d.ts +17 -0
  351. package/dist/esm/components/date-picker/date-picker.d.ts.map +1 -0
  352. package/dist/esm/components/date-picker/date-picker.js +48 -0
  353. package/dist/esm/components/date-picker/date-picker.js.map +1 -0
  354. package/dist/esm/components/date-picker/utils.d.ts +2 -0
  355. package/dist/esm/components/date-picker/utils.d.ts.map +1 -0
  356. package/dist/esm/components/date-picker/utils.js +26 -0
  357. package/dist/esm/components/date-picker/utils.js.map +1 -0
  358. package/dist/esm/components/date-picker/views/month/month-view.d.ts +2 -0
  359. package/dist/esm/components/date-picker/views/month/month-view.d.ts.map +1 -0
  360. package/dist/esm/components/date-picker/views/month/month-view.js +29 -0
  361. package/dist/esm/components/date-picker/views/month/month-view.js.map +1 -0
  362. package/dist/esm/components/date-picker/views/multi-year/multi-year-view.d.ts +2 -0
  363. package/dist/esm/components/date-picker/views/multi-year/multi-year-view.d.ts.map +1 -0
  364. package/dist/esm/components/date-picker/views/multi-year/multi-year-view.js +13 -0
  365. package/dist/esm/components/date-picker/views/multi-year/multi-year-view.js.map +1 -0
  366. package/dist/esm/components/date-picker/views/multi-year/use-multi-year-view-state.d.ts +2 -0
  367. package/dist/esm/components/date-picker/views/multi-year/use-multi-year-view-state.d.ts.map +1 -0
  368. package/dist/esm/components/date-picker/views/multi-year/use-multi-year-view-state.js +127 -0
  369. package/dist/esm/components/date-picker/views/multi-year/use-multi-year-view-state.js.map +1 -0
  370. package/dist/esm/components/date-picker/views/types.d.ts +2 -0
  371. package/dist/esm/components/date-picker/views/types.d.ts.map +1 -0
  372. package/dist/esm/components/date-picker/views/types.js +2 -0
  373. package/dist/esm/components/date-picker/views/types.js.map +1 -0
  374. package/dist/esm/components/date-picker/views/use-view-header.d.ts +2 -0
  375. package/dist/esm/components/date-picker/views/use-view-header.d.ts.map +1 -0
  376. package/dist/esm/components/date-picker/views/use-view-header.js +53 -0
  377. package/dist/esm/components/date-picker/views/use-view-header.js.map +1 -0
  378. package/dist/esm/components/date-picker/views/view-grid-cell.d.ts +2 -0
  379. package/dist/esm/components/date-picker/views/view-grid-cell.d.ts.map +1 -0
  380. package/dist/esm/components/date-picker/views/view-grid-cell.js +66 -0
  381. package/dist/esm/components/date-picker/views/view-grid-cell.js.map +1 -0
  382. package/dist/esm/components/date-picker/views/view-grid.d.ts +2 -0
  383. package/dist/esm/components/date-picker/views/view-grid.d.ts.map +1 -0
  384. package/dist/esm/components/date-picker/views/view-grid.js +69 -0
  385. package/dist/esm/components/date-picker/views/view-grid.js.map +1 -0
  386. package/dist/esm/components/date-picker/views/view-provider.d.ts +2 -0
  387. package/dist/esm/components/date-picker/views/view-provider.d.ts.map +1 -0
  388. package/dist/esm/components/date-picker/views/view-provider.js +17 -0
  389. package/dist/esm/components/date-picker/views/view-provider.js.map +1 -0
  390. package/dist/esm/components/date-picker/views/year/use-year-view-state.d.ts +2 -0
  391. package/dist/esm/components/date-picker/views/year/use-year-view-state.d.ts.map +1 -0
  392. package/dist/esm/components/date-picker/views/year/use-year-view-state.js +155 -0
  393. package/dist/esm/components/date-picker/views/year/use-year-view-state.js.map +1 -0
  394. package/dist/esm/components/date-picker/views/year/year-view.d.ts +2 -0
  395. package/dist/esm/components/date-picker/views/year/year-view.d.ts.map +1 -0
  396. package/dist/esm/components/date-picker/views/year/year-view.js +17 -0
  397. package/dist/esm/components/date-picker/views/year/year-view.js.map +1 -0
  398. package/dist/esm/components/dialog-root/dialog-root.d.ts +20 -0
  399. package/dist/esm/components/dialog-root/dialog-root.d.ts.map +1 -0
  400. package/dist/esm/components/dialog-root/dialog-root.js +12 -0
  401. package/dist/esm/components/dialog-root/dialog-root.js.map +1 -0
  402. package/dist/esm/components/disclosure/context.d.ts +3 -0
  403. package/dist/esm/components/disclosure/context.d.ts.map +1 -0
  404. package/dist/esm/components/disclosure/context.js +4 -0
  405. package/dist/esm/components/disclosure/context.js.map +1 -0
  406. package/dist/esm/components/disclosure/disclosure-group.d.ts +15 -4
  407. package/dist/esm/components/disclosure/disclosure-group.d.ts.map +1 -1
  408. package/dist/esm/components/disclosure/disclosure-group.js +10 -4
  409. package/dist/esm/components/disclosure/disclosure-group.js.map +1 -1
  410. package/dist/esm/components/disclosure/disclosure.d.ts +35 -4
  411. package/dist/esm/components/disclosure/disclosure.d.ts.map +1 -1
  412. package/dist/esm/components/disclosure/disclosure.js +16 -5
  413. package/dist/esm/components/disclosure/disclosure.js.map +1 -1
  414. package/dist/esm/components/divider/divider.d.ts +12 -0
  415. package/dist/esm/components/divider/divider.d.ts.map +1 -0
  416. package/dist/esm/components/divider/divider.js +13 -0
  417. package/dist/esm/components/divider/divider.js.map +1 -0
  418. package/dist/esm/components/file-picker/file-picker.d.ts +19 -0
  419. package/dist/esm/components/file-picker/file-picker.d.ts.map +1 -0
  420. package/dist/esm/components/file-picker/file-picker.js +62 -0
  421. package/dist/esm/components/file-picker/file-picker.js.map +1 -0
  422. package/dist/esm/components/header/cimpress-logo.d.ts +2 -0
  423. package/dist/esm/components/header/cimpress-logo.d.ts.map +1 -0
  424. package/dist/esm/components/header/cimpress-logo.js +6 -0
  425. package/dist/esm/components/header/cimpress-logo.js.map +1 -0
  426. package/dist/esm/components/header/header.d.ts +10 -0
  427. package/dist/esm/components/header/header.d.ts.map +1 -0
  428. package/dist/esm/components/header/header.js +13 -0
  429. package/dist/esm/components/header/header.js.map +1 -0
  430. package/dist/esm/components/internal/form-field/form-field.js +1 -1
  431. package/dist/esm/components/internal/form-field/form-field.js.map +1 -1
  432. package/dist/esm/components/internal/x-button/x-button.d.ts +2 -0
  433. package/dist/esm/components/internal/x-button/x-button.d.ts.map +1 -0
  434. package/dist/esm/components/internal/x-button/x-button.js +11 -0
  435. package/dist/esm/components/internal/x-button/x-button.js.map +1 -0
  436. package/dist/esm/components/menu/menu.d.ts +3 -6
  437. package/dist/esm/components/menu/menu.d.ts.map +1 -1
  438. package/dist/esm/components/menu/menu.js +5 -9
  439. package/dist/esm/components/menu/menu.js.map +1 -1
  440. package/dist/esm/components/modal-dialog/modal-dialog.d.ts +63 -0
  441. package/dist/esm/components/modal-dialog/modal-dialog.d.ts.map +1 -0
  442. package/dist/esm/components/modal-dialog/modal-dialog.js +42 -0
  443. package/dist/esm/components/modal-dialog/modal-dialog.js.map +1 -0
  444. package/dist/esm/components/number-field/number-field.d.ts +1 -1
  445. package/dist/esm/components/number-field/number-field.d.ts.map +1 -1
  446. package/dist/esm/components/number-field/number-field.js +5 -3
  447. package/dist/esm/components/number-field/number-field.js.map +1 -1
  448. package/dist/esm/components/pagination/base-pagination.d.ts.map +1 -1
  449. package/dist/esm/components/pagination/base-pagination.js +6 -7
  450. package/dist/esm/components/pagination/base-pagination.js.map +1 -1
  451. package/dist/esm/components/pagination/pagination.d.ts.map +1 -1
  452. package/dist/esm/components/pagination/pagination.js +7 -5
  453. package/dist/esm/components/pagination/pagination.js.map +1 -1
  454. package/dist/esm/components/popover/popover.d.ts +7 -2
  455. package/dist/esm/components/popover/popover.d.ts.map +1 -1
  456. package/dist/esm/components/popover/popover.js +2 -2
  457. package/dist/esm/components/popover/popover.js.map +1 -1
  458. package/dist/esm/components/radio/radio-group.d.ts +1 -1
  459. package/dist/esm/components/radio/radio-group.d.ts.map +1 -1
  460. package/dist/esm/components/radio/radio-group.js +2 -2
  461. package/dist/esm/components/radio/radio-group.js.map +1 -1
  462. package/dist/esm/components/radio/radio.d.ts.map +1 -1
  463. package/dist/esm/components/radio/radio.js +2 -2
  464. package/dist/esm/components/radio/radio.js.map +1 -1
  465. package/dist/esm/components/select/select.d.ts +2 -1
  466. package/dist/esm/components/select/select.d.ts.map +1 -1
  467. package/dist/esm/components/select/select.js +5 -4
  468. package/dist/esm/components/select/select.js.map +1 -1
  469. package/dist/esm/components/spacing/stack/stack.d.ts +1 -1
  470. package/dist/esm/components/spacing/stack/stack.js +1 -1
  471. package/dist/esm/components/spacing/stack/stack.js.map +1 -1
  472. package/dist/esm/components/spacing/types.d.ts +1 -1
  473. package/dist/esm/components/spacing/types.d.ts.map +1 -1
  474. package/dist/esm/components/spacing/types.js +2 -2
  475. package/dist/esm/components/spacing/types.js.map +1 -1
  476. package/dist/esm/components/spinner/spinner.d.ts.map +1 -1
  477. package/dist/esm/components/spinner/spinner.js +3 -3
  478. package/dist/esm/components/spinner/spinner.js.map +1 -1
  479. package/dist/esm/components/table/contexts/column-collection.d.ts.map +1 -1
  480. package/dist/esm/components/table/contexts/column-collection.js +2 -0
  481. package/dist/esm/components/table/contexts/column-collection.js.map +1 -1
  482. package/dist/esm/components/table/contexts/table-state.d.ts +1 -0
  483. package/dist/esm/components/table/contexts/table-state.d.ts.map +1 -1
  484. package/dist/esm/components/table/contexts/table-state.js +8 -3
  485. package/dist/esm/components/table/contexts/table-state.js.map +1 -1
  486. package/dist/esm/components/table/hooks/use-table-cell.js +2 -2
  487. package/dist/esm/components/table/hooks/use-table-cell.js.map +1 -1
  488. package/dist/esm/components/table/table-empty-state.js +1 -1
  489. package/dist/esm/components/table/table-empty-state.js.map +1 -1
  490. package/dist/esm/components/table/table-header-button.d.ts +2 -0
  491. package/dist/esm/components/table/table-header-button.d.ts.map +1 -0
  492. package/dist/esm/components/table/table-header-button.js +10 -0
  493. package/dist/esm/components/table/table-header-button.js.map +1 -0
  494. package/dist/esm/components/table/table-header-cell.d.ts.map +1 -1
  495. package/dist/esm/components/table/table-header-cell.js +9 -7
  496. package/dist/esm/components/table/table-header-cell.js.map +1 -1
  497. package/dist/esm/components/table/table.d.ts +1 -1
  498. package/dist/esm/components/table/table.d.ts.map +1 -1
  499. package/dist/esm/components/table/table.js +2 -2
  500. package/dist/esm/components/table/table.js.map +1 -1
  501. package/dist/esm/components/tag/tag-group.d.ts +1 -1
  502. package/dist/esm/components/tag/tag-group.d.ts.map +1 -1
  503. package/dist/esm/components/tag/tag-group.js.map +1 -1
  504. package/dist/esm/components/tag/tag.js +1 -1
  505. package/dist/esm/components/tag/tag.js.map +1 -1
  506. package/dist/esm/components/tag-field/tag-field-input.d.ts +2 -0
  507. package/dist/esm/components/tag-field/tag-field-input.d.ts.map +1 -0
  508. package/dist/esm/components/tag-field/tag-field-input.js +25 -0
  509. package/dist/esm/components/tag-field/tag-field-input.js.map +1 -0
  510. package/dist/esm/components/tag-field/tag-field-list-box.d.ts +2 -0
  511. package/dist/esm/components/tag-field/tag-field-list-box.d.ts.map +1 -0
  512. package/dist/esm/components/tag-field/tag-field-list-box.js +28 -0
  513. package/dist/esm/components/tag-field/tag-field-list-box.js.map +1 -0
  514. package/dist/esm/components/tag-field/tag-field-tags.d.ts +2 -0
  515. package/dist/esm/components/tag-field/tag-field-tags.d.ts.map +1 -0
  516. package/dist/esm/components/tag-field/tag-field-tags.js +24 -0
  517. package/dist/esm/components/tag-field/tag-field-tags.js.map +1 -0
  518. package/dist/esm/components/tag-field/tag-field.d.ts +43 -0
  519. package/dist/esm/components/tag-field/tag-field.d.ts.map +1 -0
  520. package/dist/esm/components/tag-field/tag-field.js +135 -0
  521. package/dist/esm/components/tag-field/tag-field.js.map +1 -0
  522. package/dist/esm/components/text-inputs/text-area.d.ts +1 -1
  523. package/dist/esm/components/text-inputs/text-area.d.ts.map +1 -1
  524. package/dist/esm/components/text-inputs/text-area.js +2 -2
  525. package/dist/esm/components/text-inputs/text-area.js.map +1 -1
  526. package/dist/esm/components/text-inputs/text-field.d.ts +1 -1
  527. package/dist/esm/components/text-inputs/text-field.d.ts.map +1 -1
  528. package/dist/esm/components/text-inputs/text-field.js +2 -2
  529. package/dist/esm/components/text-inputs/text-field.js.map +1 -1
  530. package/dist/esm/components/toast/toast-region.d.ts +5 -0
  531. package/dist/esm/components/toast/toast-region.d.ts.map +1 -0
  532. package/dist/esm/components/toast/toast-region.js +20 -0
  533. package/dist/esm/components/toast/toast-region.js.map +1 -0
  534. package/dist/esm/components/toast/toast.d.ts +2 -0
  535. package/dist/esm/components/toast/toast.d.ts.map +1 -0
  536. package/dist/esm/components/toast/toast.js +21 -0
  537. package/dist/esm/components/toast/toast.js.map +1 -0
  538. package/dist/esm/components/toast/types.d.ts +5 -0
  539. package/dist/esm/components/toast/types.d.ts.map +1 -0
  540. package/dist/esm/components/toast/types.js +2 -0
  541. package/dist/esm/components/toast/types.js.map +1 -0
  542. package/dist/esm/components/toggle/toggle.d.ts +14 -0
  543. package/dist/esm/components/toggle/toggle.d.ts.map +1 -0
  544. package/dist/esm/components/toggle/toggle.js +26 -0
  545. package/dist/esm/components/toggle/toggle.js.map +1 -0
  546. package/dist/esm/components/tooltip/tooltip.d.ts +4 -2
  547. package/dist/esm/components/tooltip/tooltip.d.ts.map +1 -1
  548. package/dist/esm/components/tooltip/tooltip.js.map +1 -1
  549. package/dist/esm/components/types.d.ts +4 -0
  550. package/dist/esm/components/types.d.ts.map +1 -1
  551. package/dist/esm/components/types.js.map +1 -1
  552. package/dist/esm/components/typography/text.d.ts.map +1 -1
  553. package/dist/esm/date.d.ts +2 -0
  554. package/dist/esm/date.d.ts.map +1 -0
  555. package/dist/esm/date.js +11 -0
  556. package/dist/esm/date.js.map +1 -0
  557. package/dist/esm/i18n/index.d.ts +3 -0
  558. package/dist/esm/i18n/index.d.ts.map +1 -0
  559. package/dist/esm/i18n/index.js +3 -0
  560. package/dist/esm/i18n/index.js.map +1 -0
  561. package/dist/esm/i18n/localization-provider.d.ts +59 -0
  562. package/dist/esm/i18n/localization-provider.d.ts.map +1 -0
  563. package/dist/esm/i18n/localization-provider.js +76 -0
  564. package/dist/esm/i18n/localization-provider.js.map +1 -0
  565. package/dist/esm/i18n/messages/en-US.d.ts +4 -0
  566. package/dist/esm/i18n/messages/en-US.d.ts.map +1 -0
  567. package/dist/esm/i18n/messages/en-US.js +35 -0
  568. package/dist/esm/i18n/messages/en-US.js.map +1 -0
  569. package/dist/esm/i18n/messages/index.d.ts +3 -0
  570. package/dist/esm/i18n/messages/index.d.ts.map +1 -0
  571. package/dist/esm/i18n/messages/index.js +2 -0
  572. package/dist/esm/i18n/messages/index.js.map +1 -0
  573. package/dist/esm/i18n/messages/types.d.ts +72 -0
  574. package/dist/esm/i18n/messages/types.d.ts.map +1 -0
  575. package/dist/esm/i18n/messages/types.js +2 -0
  576. package/dist/esm/i18n/messages/types.js.map +1 -0
  577. package/dist/esm/index.d.ts +18 -3
  578. package/dist/esm/index.d.ts.map +1 -1
  579. package/dist/esm/index.js +16 -3
  580. package/dist/esm/index.js.map +1 -1
  581. package/dist/esm/providers/ssr/ssr-provider.d.ts +1 -3
  582. package/dist/esm/providers/ssr/ssr-provider.d.ts.map +1 -1
  583. package/dist/esm/providers/ssr/ssr-provider.js +3 -3
  584. package/dist/esm/providers/ssr/ssr-provider.js.map +1 -1
  585. package/dist/esm/utils/is-production.d.ts +2 -0
  586. package/dist/esm/utils/is-production.d.ts.map +1 -0
  587. package/dist/esm/utils/is-production.js +4 -0
  588. package/dist/esm/utils/is-production.js.map +1 -0
  589. package/dist/esm/utils/style/types.d.ts +1 -1
  590. package/dist/esm/utils/style/types.d.ts.map +1 -1
  591. package/dist/esm/utils/style/types.js.map +1 -1
  592. package/dist/esm/utils/use-media-query.d.ts +2 -0
  593. package/dist/esm/utils/use-media-query.d.ts.map +1 -0
  594. package/dist/esm/utils/use-media-query.js +32 -0
  595. package/dist/esm/utils/use-media-query.js.map +1 -0
  596. package/dist/esm/utils/use-production-warning.d.ts +3 -0
  597. package/dist/esm/utils/use-production-warning.d.ts.map +1 -0
  598. package/dist/esm/utils/use-production-warning.js +4 -0
  599. package/dist/esm/utils/use-production-warning.js.map +1 -0
  600. package/dist/esm/with-style-props.d.ts.map +1 -1
  601. package/dist-styles/core.css +1 -1
  602. package/dist-styles/normalize.css +1 -1
  603. package/dist-styles/styles.css +1 -1
  604. package/package.json +64 -20
  605. package/dist/commonjs/components/card/card-context.d.ts +0 -4
  606. package/dist/commonjs/components/card/card-context.d.ts.map +0 -1
  607. package/dist/commonjs/components/card/card-context.js +0 -6
  608. package/dist/commonjs/components/card/card-context.js.map +0 -1
  609. package/dist/commonjs/components/modal/modal.d.ts +0 -64
  610. package/dist/commonjs/components/modal/modal.d.ts.map +0 -1
  611. package/dist/commonjs/components/modal/modal.js +0 -40
  612. package/dist/commonjs/components/modal/modal.js.map +0 -1
  613. package/dist/esm/components/card/card-context.d.ts +0 -4
  614. package/dist/esm/components/card/card-context.d.ts.map +0 -1
  615. package/dist/esm/components/card/card-context.js +0 -3
  616. package/dist/esm/components/card/card-context.js.map +0 -1
  617. package/dist/esm/components/modal/modal.d.ts +0 -64
  618. package/dist/esm/components/modal/modal.d.ts.map +0 -1
  619. package/dist/esm/components/modal/modal.js +0 -33
  620. package/dist/esm/components/modal/modal.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import { type TagGroupProps as RACTagGroupProps, type TagListProps as RACTagListProps } from 'react-aria-components';
3
3
  import type { CollectionItem, CommonProps, FieldProps, Key } from '../types.js';
4
- export interface TagGroupProps<T extends CollectionItem = CollectionItem> extends CommonProps, Omit<FieldProps<Key[]>, 'validate' | 'error'>, Pick<RACTagGroupProps, 'selectionMode' | 'defaultSelectedKeys' | 'selectedKeys' | 'disabledKeys' | 'onSelectionChange' | 'onRemove'>, Pick<RACTagListProps<T>, 'children' | 'items'> {
4
+ export interface TagGroupProps<T extends CollectionItem = CollectionItem> extends CommonProps, Omit<FieldProps<Key[]>, 'validate' | 'error' | 'name'>, Pick<RACTagGroupProps, 'selectionMode' | 'defaultSelectedKeys' | 'selectedKeys' | 'disabledKeys' | 'onSelectionChange' | 'onRemove'>, Pick<RACTagListProps<T>, 'children' | 'items'> {
5
5
  /** Whether the tag group is required. */
6
6
  isRequired?: boolean;
7
7
  /** The error message to display. */
@@ -1 +1 @@
1
- {"version":3,"file":"tag-group.d.ts","sourceRoot":"","sources":["../../../../src/components/tag/tag-group.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAGL,KAAK,aAAa,IAAI,gBAAgB,EACtC,KAAK,YAAY,IAAI,eAAe,EACrC,MAAM,uBAAuB,CAAC;AAI/B,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEhF,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CACtE,SAAQ,WAAW,EAEjB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,EAC7C,IAAI,CACF,gBAAgB,EAChB,eAAe,GAAG,qBAAqB,GAAG,cAAc,GAAG,cAAc,GAAG,mBAAmB,GAAG,UAAU,CAC7G,EACD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAChD,yCAAyC;IACzC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC1B,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,SAAS,CAAC;CACpC;AAwCD;;;;GAIG;AACH,QAAA,MAAM,SAAS,GA3CG,CAAC,SAAS,cAAc,iKA2CwB,CAAC;AAEnE,OAAO,EAAE,SAAS,IAAI,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"tag-group.d.ts","sourceRoot":"","sources":["../../../../src/components/tag/tag-group.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAGL,KAAK,aAAa,IAAI,gBAAgB,EACtC,KAAK,YAAY,IAAI,eAAe,EACrC,MAAM,uBAAuB,CAAC;AAI/B,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEhF,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CACtE,SAAQ,WAAW,EAEjB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC,EACtD,IAAI,CACF,gBAAgB,EAChB,eAAe,GAAG,qBAAqB,GAAG,cAAc,GAAG,cAAc,GAAG,mBAAmB,GAAG,UAAU,CAC7G,EACD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAChD,yCAAyC;IACzC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC1B,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,SAAS,CAAC;CACpC;AAwCD;;;;GAIG;AACH,QAAA,MAAM,SAAS,GA3CG,CAAC,SAAS,cAAc,iKA2CwB,CAAC;AAEnE,OAAO,EAAE,SAAS,IAAI,QAAQ,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tag-group.js","sourceRoot":"","sources":["../../../../src/components/tag/tag-group.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;AAEb,gDAAwB;AAExB,iEAK+B;AAC/B,yDAAkD;AAClD,mEAA2D;AAC3D,wEAAgH;AAsBhH,SAAS,QAAQ,CACf,EACE,KAAK,EACL,WAAW,EACX,KAAK,EACL,QAAQ,EACR,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,IAAI,GAAG,QAAQ,EACf,gBAAgB,EAChB,YAAY,EACZ,GAAG,KAAK,EACS,EACnB,GAAiC;IAEjC,IAAI,KAAK,CAAC,aAAa,IAAI,IAAI,IAAI,KAAK,CAAC,aAAa,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC5F,OAAO,CAAC,KAAK,CAAC,yFAAyF,CAAC,CAAC;IAC3G,CAAC;IAED,OAAO,CACL,wBAAC,gCAAW,OACN,KAAK,EACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAA,cAAI,EAAC,eAAe,EAAE,gBAAgB,CAAC,EAClD,KAAK,EAAE,YAAY,eACR,IAAI,aAEf,uBAAC,8BAAc,IAAC,UAAU,EAAE,UAAU,YAAG,KAAK,GAAkB,EAChE,uBAAC,+BAAU,IAAC,SAAS,EAAC,oBAAoB,EAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,YACxF,QAAQ,GACE,EACZ,KAAK,IAAI,uBAAC,kCAAkB,cAAE,KAAK,GAAsB,EAC1D,uBAAC,oCAAoB,cAAE,WAAW,GAAwB,IAC9C,CACf,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,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 type { ForwardedRef, ReactNode } from 'react';\nimport {\n TagGroup as RACTagGroup,\n TagList as RACTagList,\n type TagGroupProps as RACTagGroupProps,\n type TagListProps as RACTagListProps,\n} from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport { FormFieldDescription, FormFieldErrorText, FormFieldLabel } from '../internal/form-field/form-field.js';\nimport type { CollectionItem, CommonProps, FieldProps, Key } from '../types.js';\n\nexport interface TagGroupProps<T extends CollectionItem = CollectionItem>\n extends CommonProps,\n // `TagGroup` doesn't support `validate` or `error` because it's not a form field\n Omit<FieldProps<Key[]>, 'validate' | 'error'>,\n Pick<\n RACTagGroupProps,\n 'selectionMode' | 'defaultSelectedKeys' | 'selectedKeys' | 'disabledKeys' | 'onSelectionChange' | 'onRemove'\n >,\n Pick<RACTagListProps<T>, 'children' | 'items'> {\n /** Whether the tag group is required. */\n isRequired?: boolean;\n /** The error message to display. */\n error?: string;\n /** The size of the tags. */\n size?: 'medium' | 'large';\n /** Provides content to display when there are no tags in the group. */\n renderEmptyState?: () => ReactNode;\n}\n\nfunction TagGroup<T extends CollectionItem>(\n {\n label,\n description,\n error,\n children,\n isRequired,\n items,\n renderEmptyState,\n size = 'medium',\n UNSAFE_className,\n UNSAFE_style,\n ...props\n }: TagGroupProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n if (props.selectionMode != null && props.selectionMode !== 'none' && props.onRemove != null) {\n console.error('`onRemove` is not supported when `selectionMode` is set to anything other than `\"none\"`');\n }\n\n return (\n <RACTagGroup\n {...props}\n ref={ref}\n className={clsx('cim-tag-group', UNSAFE_className)}\n style={UNSAFE_style}\n data-size={size}\n >\n <FormFieldLabel isRequired={isRequired}>{label}</FormFieldLabel>\n <RACTagList className=\"cim-tag-group-list\" items={items} renderEmptyState={renderEmptyState}>\n {children}\n </RACTagList>\n {error && <FormFieldErrorText>{error}</FormFieldErrorText>}\n <FormFieldDescription>{description}</FormFieldDescription>\n </RACTagGroup>\n );\n}\n\n/**\n * Displays a group of tags. Allows for selecting or removing tags.\n *\n * See [tag group usage guidelines](https://ui.cimpress.io/components/tag-group/).\n */\nconst _TagGroup = withStyleProps(forwardRef(TagGroup), 'TagGroup');\n\nexport { _TagGroup as TagGroup };\n"]}
1
+ {"version":3,"file":"tag-group.js","sourceRoot":"","sources":["../../../../src/components/tag/tag-group.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;AAEb,gDAAwB;AAExB,iEAK+B;AAC/B,yDAAkD;AAClD,mEAA2D;AAC3D,wEAAgH;AAsBhH,SAAS,QAAQ,CACf,EACE,KAAK,EACL,WAAW,EACX,KAAK,EACL,QAAQ,EACR,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,IAAI,GAAG,QAAQ,EACf,gBAAgB,EAChB,YAAY,EACZ,GAAG,KAAK,EACS,EACnB,GAAiC;IAEjC,IAAI,KAAK,CAAC,aAAa,IAAI,IAAI,IAAI,KAAK,CAAC,aAAa,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC5F,OAAO,CAAC,KAAK,CAAC,yFAAyF,CAAC,CAAC;IAC3G,CAAC;IAED,OAAO,CACL,wBAAC,gCAAW,OACN,KAAK,EACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAA,cAAI,EAAC,eAAe,EAAE,gBAAgB,CAAC,EAClD,KAAK,EAAE,YAAY,eACR,IAAI,aAEf,uBAAC,8BAAc,IAAC,UAAU,EAAE,UAAU,YAAG,KAAK,GAAkB,EAChE,uBAAC,+BAAU,IAAC,SAAS,EAAC,oBAAoB,EAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,YACxF,QAAQ,GACE,EACZ,KAAK,IAAI,uBAAC,kCAAkB,cAAE,KAAK,GAAsB,EAC1D,uBAAC,oCAAoB,cAAE,WAAW,GAAwB,IAC9C,CACf,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,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 type { ForwardedRef, ReactNode } from 'react';\nimport {\n TagGroup as RACTagGroup,\n TagList as RACTagList,\n type TagGroupProps as RACTagGroupProps,\n type TagListProps as RACTagListProps,\n} from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport { FormFieldDescription, FormFieldErrorText, FormFieldLabel } from '../internal/form-field/form-field.js';\nimport type { CollectionItem, CommonProps, FieldProps, Key } from '../types.js';\n\nexport interface TagGroupProps<T extends CollectionItem = CollectionItem>\n extends CommonProps,\n // `TagGroup` doesn't support `validate` or `error` because it's not a form field\n Omit<FieldProps<Key[]>, 'validate' | 'error' | 'name'>,\n Pick<\n RACTagGroupProps,\n 'selectionMode' | 'defaultSelectedKeys' | 'selectedKeys' | 'disabledKeys' | 'onSelectionChange' | 'onRemove'\n >,\n Pick<RACTagListProps<T>, 'children' | 'items'> {\n /** Whether the tag group is required. */\n isRequired?: boolean;\n /** The error message to display. */\n error?: string;\n /** The size of the tags. */\n size?: 'medium' | 'large';\n /** Provides content to display when there are no tags in the group. */\n renderEmptyState?: () => ReactNode;\n}\n\nfunction TagGroup<T extends CollectionItem>(\n {\n label,\n description,\n error,\n children,\n isRequired,\n items,\n renderEmptyState,\n size = 'medium',\n UNSAFE_className,\n UNSAFE_style,\n ...props\n }: TagGroupProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n if (props.selectionMode != null && props.selectionMode !== 'none' && props.onRemove != null) {\n console.error('`onRemove` is not supported when `selectionMode` is set to anything other than `\"none\"`');\n }\n\n return (\n <RACTagGroup\n {...props}\n ref={ref}\n className={clsx('cim-tag-group', UNSAFE_className)}\n style={UNSAFE_style}\n data-size={size}\n >\n <FormFieldLabel isRequired={isRequired}>{label}</FormFieldLabel>\n <RACTagList className=\"cim-tag-group-list\" items={items} renderEmptyState={renderEmptyState}>\n {children}\n </RACTagList>\n {error && <FormFieldErrorText>{error}</FormFieldErrorText>}\n <FormFieldDescription>{description}</FormFieldDescription>\n </RACTagGroup>\n );\n}\n\n/**\n * Displays a group of tags. Allows for selecting or removing tags.\n *\n * See [tag group usage guidelines](https://ui.cimpress.io/components/tag-group/).\n */\nconst _TagGroup = withStyleProps(forwardRef(TagGroup), 'TagGroup');\n\nexport { _TagGroup as TagGroup };\n"]}
@@ -13,7 +13,7 @@ const index_js_1 = require("../../icons/index.js");
13
13
  const with_style_props_js_1 = require("../../with-style-props.js");
14
14
  function Tag({ children, iconStart, UNSAFE_className, UNSAFE_style, ...props }, ref) {
15
15
  const textValue = typeof children === 'string' ? children : typeof children === 'number' ? String(children) : children.join('');
16
- return ((0, jsx_runtime_1.jsx)(react_aria_components_1.Tag, { ...props, ref: ref, className: (0, clsx_1.default)('cim-tag', UNSAFE_className), style: UNSAFE_style, textValue: textValue, children: ({ allowsRemoving }) => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [iconStart && (0, jsx_runtime_1.jsx)("div", { className: "cim-tag-icon", children: iconStart }), (0, jsx_runtime_1.jsx)("span", { className: "cim-tag-text", children: children }), allowsRemoving && ((0, jsx_runtime_1.jsx)(react_aria_components_1.Button, { slot: "remove", children: (0, jsx_runtime_1.jsx)(index_js_1.IconCloseBold, {}) }))] })) }));
16
+ return ((0, jsx_runtime_1.jsx)(react_aria_components_1.Tag, { ...props, ref: ref, className: (0, clsx_1.default)('cim-tag', UNSAFE_className), style: UNSAFE_style, textValue: textValue, children: ({ allowsRemoving }) => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [iconStart && (0, jsx_runtime_1.jsx)("div", { className: "cim-tag-icon", children: iconStart }), (0, jsx_runtime_1.jsx)("span", { className: "cim-tag-text", children: children }), allowsRemoving && ((0, jsx_runtime_1.jsx)(react_aria_components_1.Button, { slot: "remove", excludeFromTabOrder: true, children: (0, jsx_runtime_1.jsx)(index_js_1.IconCloseBold, {}) }))] })) }));
17
17
  }
18
18
  /**
19
19
  * Displays a single tag within a tag group.
@@ -1 +1 @@
1
- {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../../src/components/tag/tag.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;AAEb,gDAAwB;AAExB,iEAAyG;AACzG,yDAAkD;AAClD,mDAAqD;AACrD,mEAA2D;AAW3D,SAAS,GAAG,CACV,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,KAAK,EAAY,EAC3E,GAA8B;IAE9B,MAAM,SAAS,GACb,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEhH,OAAO,CACL,uBAAC,2BAAM,OACD,KAAK,EACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAA,cAAI,EAAC,SAAS,EAAE,gBAAgB,CAAC,EAC5C,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,SAAS,YAEnB,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CACvB,6DACG,SAAS,IAAI,gCAAK,SAAS,EAAC,cAAc,YAAE,SAAS,GAAO,EAC7D,iCAAM,SAAS,EAAC,cAAc,YAAE,QAAQ,GAAQ,EAC/C,cAAc,IAAI,CACjB,uBAAC,8BAAS,IAAC,IAAI,EAAC,QAAQ,YACtB,uBAAC,wBAAa,KAAG,GACP,CACb,IACA,CACJ,GACM,CACV,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,IAAI,GAAG,IAAA,oCAAc,EAAC,IAAA,2BAAU,EAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;AAEnC,mBAAG","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport type { ForwardedRef, ReactNode } from 'react';\nimport { Tag as RACTag, type TagProps as RACTagProps, Button as RACButton } from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { IconCloseBold } from '../../icons/index.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport type { StringLikeChildren } from '../types.js';\nimport type { CommonProps } from '../types.js';\n\nexport interface TagProps extends Omit<CommonProps, 'id'>, Pick<RACTagProps, 'id' | 'isDisabled'> {\n /** The content to display as the label. */\n children: StringLikeChildren;\n /** The icon to display at the start of the tag. */\n iconStart?: ReactNode;\n}\n\nfunction Tag(\n { children, iconStart, UNSAFE_className, UNSAFE_style, ...props }: TagProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n const textValue =\n typeof children === 'string' ? children : typeof children === 'number' ? String(children) : children.join('');\n\n return (\n <RACTag\n {...props}\n ref={ref}\n className={clsx('cim-tag', UNSAFE_className)}\n style={UNSAFE_style}\n textValue={textValue}\n >\n {({ allowsRemoving }) => (\n <>\n {iconStart && <div className=\"cim-tag-icon\">{iconStart}</div>}\n <span className=\"cim-tag-text\">{children}</span>\n {allowsRemoving && (\n <RACButton slot=\"remove\">\n <IconCloseBold />\n </RACButton>\n )}\n </>\n )}\n </RACTag>\n );\n}\n\n/**\n * Displays a single tag within a tag group.\n *\n * See [tag group usage guidelines](https://ui.cimpress.io/components/tag-group/).\n */\nconst _Tag = withStyleProps(forwardRef(Tag), 'Tag');\n\nexport { _Tag as Tag };\n"]}
1
+ {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../../src/components/tag/tag.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;AAEb,gDAAwB;AAExB,iEAAyG;AACzG,yDAAkD;AAClD,mDAAqD;AACrD,mEAA2D;AAW3D,SAAS,GAAG,CACV,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,KAAK,EAAY,EAC3E,GAA8B;IAE9B,MAAM,SAAS,GACb,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEhH,OAAO,CACL,uBAAC,2BAAM,OACD,KAAK,EACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAA,cAAI,EAAC,SAAS,EAAE,gBAAgB,CAAC,EAC5C,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,SAAS,YAEnB,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CACvB,6DACG,SAAS,IAAI,gCAAK,SAAS,EAAC,cAAc,YAAE,SAAS,GAAO,EAC7D,iCAAM,SAAS,EAAC,cAAc,YAAE,QAAQ,GAAQ,EAC/C,cAAc,IAAI,CACjB,uBAAC,8BAAS,IAAC,IAAI,EAAC,QAAQ,EAAC,mBAAmB,kBAC1C,uBAAC,wBAAa,KAAG,GACP,CACb,IACA,CACJ,GACM,CACV,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,IAAI,GAAG,IAAA,oCAAc,EAAC,IAAA,2BAAU,EAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;AAEnC,mBAAG","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport type { ForwardedRef, ReactNode } from 'react';\nimport { Tag as RACTag, type TagProps as RACTagProps, Button as RACButton } from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { IconCloseBold } from '../../icons/index.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport type { StringLikeChildren } from '../types.js';\nimport type { CommonProps } from '../types.js';\n\nexport interface TagProps extends Omit<CommonProps, 'id'>, Pick<RACTagProps, 'id' | 'isDisabled'> {\n /** The content to display as the label. */\n children: StringLikeChildren;\n /** The icon to display at the start of the tag. */\n iconStart?: ReactNode;\n}\n\nfunction Tag(\n { children, iconStart, UNSAFE_className, UNSAFE_style, ...props }: TagProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n const textValue =\n typeof children === 'string' ? children : typeof children === 'number' ? String(children) : children.join('');\n\n return (\n <RACTag\n {...props}\n ref={ref}\n className={clsx('cim-tag', UNSAFE_className)}\n style={UNSAFE_style}\n textValue={textValue}\n >\n {({ allowsRemoving }) => (\n <>\n {iconStart && <div className=\"cim-tag-icon\">{iconStart}</div>}\n <span className=\"cim-tag-text\">{children}</span>\n {allowsRemoving && (\n <RACButton slot=\"remove\" excludeFromTabOrder>\n <IconCloseBold />\n </RACButton>\n )}\n </>\n )}\n </RACTag>\n );\n}\n\n/**\n * Displays a single tag within a tag group.\n *\n * See [tag group usage guidelines](https://ui.cimpress.io/components/tag-group/).\n */\nconst _Tag = withStyleProps(forwardRef(Tag), 'Tag');\n\nexport { _Tag as Tag };\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tag-field-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-field-input.d.ts","sourceRoot":"","sources":["../../../../src/components/tag-field/tag-field-input.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TagFieldInput = TagFieldInput;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const clsx_1 = __importDefault(require("clsx"));
9
+ const react_1 = require("react");
10
+ const react_aria_components_1 = require("react-aria-components");
11
+ const utils_js_1 = require("../typography/utils.js");
12
+ /** @internal */
13
+ function TagFieldInput({ isReadOnly, isRequired, isInvalid, placeholder, onFocusChange, 'aria-describedby': ariaDescribedby, }) {
14
+ const comboBoxState = (0, react_1.useContext)(react_aria_components_1.ComboBoxStateContext);
15
+ const inputContext = (0, react_1.useContext)(react_aria_components_1.InputContext);
16
+ // We use custom IDs for description and error message, so we need to manually attach them to the input
17
+ const { id: descriptionId } = (0, react_aria_components_1.useSlottedContext)(react_aria_components_1.TextContext, 'description');
18
+ const { id: errorMessageId } = (0, react_aria_components_1.useSlottedContext)(react_aria_components_1.TextContext, 'errorMessage');
19
+ return ((0, jsx_runtime_1.jsx)(react_aria_components_1.InputContext.Provider, { value: {
20
+ ...inputContext,
21
+ // name: undefined,
22
+ // Change `required` to `aria-required` so that form submission isn't blocked, but required state is still announced by screen readers
23
+ required: false,
24
+ 'aria-required': isRequired,
25
+ 'aria-invalid': isInvalid || undefined,
26
+ }, children: (0, jsx_runtime_1.jsx)(react_aria_components_1.Input, { className: (0, clsx_1.default)('cim-combo-box-input', (0, utils_js_1.textStyle)({ variant: 'medium' })),
27
+ // Ensure the popover opens when the input is clicked.
28
+ // By default, React Aria only opens the popover when the input is focused.
29
+ onClick: () => !isReadOnly && comboBoxState.open(), placeholder: placeholder, onFocus: () => onFocusChange(true), onBlur: () => onFocusChange(false), "aria-describedby": [descriptionId, errorMessageId, ariaDescribedby].filter(Boolean).join(' ') || undefined }) }));
30
+ }
31
+ //# sourceMappingURL=tag-field-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-field-input.js","sourceRoot":"","sources":["../../../../src/components/tag-field/tag-field-input.tsx"],"names":[],"mappings":";;;;;AAYA,sCA6CC;;AAzDD,gDAAwB;AACxB,iCAAmC;AACnC,iEAM+B;AAC/B,qDAAmD;AAEnD,gBAAgB;AAChB,SAAgB,aAAa,CAAC,EAC5B,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,kBAAkB,EAAE,eAAe,GAQpC;IACC,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,4CAAuB,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,IAAA,kBAAU,EAAC,oCAAe,CAAC,CAAC;IAEjD,uGAAuG;IACvG,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,IAAA,yCAAiB,EAAC,mCAAc,EAAE,aAAa,CAAE,CAAC;IAChF,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,GAAG,IAAA,yCAAiB,EAAC,mCAAc,EAAE,cAAc,CAAE,CAAC;IAElF,OAAO,CACL,uBAAC,oCAAe,CAAC,QAAQ,IACvB,KAAK,EAAE;YACL,GAAG,YAAY;YACf,mBAAmB;YACnB,sIAAsI;YACtI,QAAQ,EAAE,KAAK;YACf,eAAe,EAAE,UAAU;YAC3B,cAAc,EAAE,SAAS,IAAI,SAAS;SACvC,YAED,uBAAC,6BAAQ,IACP,SAAS,EAAE,IAAA,cAAI,EAAC,qBAAqB,EAAE,IAAA,oBAAS,EAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACxE,sDAAsD;YACtD,2EAA2E;YAC3E,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU,IAAI,aAAc,CAAC,IAAI,EAAE,EACnD,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAClC,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,sBAChB,CAAC,aAAa,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,GACzG,GACuB,CAC5B,CAAC;AACJ,CAAC","sourcesContent":["import clsx from 'clsx';\nimport { useContext } from 'react';\nimport {\n ComboBoxStateContext as RACComboBoxStateContext,\n Input as RACInput,\n InputContext as RACInputContext,\n TextContext as RACTextContext,\n useSlottedContext,\n} from 'react-aria-components';\nimport { textStyle } from '../typography/utils.js';\n\n/** @internal */\nexport function TagFieldInput({\n isReadOnly,\n isRequired,\n isInvalid,\n placeholder,\n onFocusChange,\n 'aria-describedby': ariaDescribedby,\n}: {\n isReadOnly: boolean | undefined;\n isRequired: boolean | undefined;\n isInvalid: boolean | undefined;\n placeholder: string | undefined;\n onFocusChange: (isFocused: boolean) => void;\n 'aria-describedby': string | undefined;\n}) {\n const comboBoxState = useContext(RACComboBoxStateContext);\n const inputContext = useContext(RACInputContext);\n\n // We use custom IDs for description and error message, so we need to manually attach them to the input\n const { id: descriptionId } = useSlottedContext(RACTextContext, 'description')!;\n const { id: errorMessageId } = useSlottedContext(RACTextContext, 'errorMessage')!;\n\n return (\n <RACInputContext.Provider\n value={{\n ...inputContext,\n // name: undefined,\n // Change `required` to `aria-required` so that form submission isn't blocked, but required state is still announced by screen readers\n required: false,\n 'aria-required': isRequired,\n 'aria-invalid': isInvalid || undefined,\n }}\n >\n <RACInput\n className={clsx('cim-combo-box-input', textStyle({ variant: 'medium' }))}\n // Ensure the popover opens when the input is clicked.\n // By default, React Aria only opens the popover when the input is focused.\n onClick={() => !isReadOnly && comboBoxState!.open()}\n placeholder={placeholder}\n onFocus={() => onFocusChange(true)}\n onBlur={() => onFocusChange(false)}\n aria-describedby={[descriptionId, errorMessageId, ariaDescribedby].filter(Boolean).join(' ') || undefined}\n />\n </RACInputContext.Provider>\n );\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tag-field-list-box.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-field-list-box.d.ts","sourceRoot":"","sources":["../../../../src/components/tag-field/tag-field-list-box.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TagFieldListBox = TagFieldListBox;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const react_aria_components_1 = require("react-aria-components");
7
+ /** @internal */
8
+ function TagFieldListBox({ children, selectedKeys, setSelectedKeys, items, onScroll, }) {
9
+ const listState = (0, react_1.useContext)(react_aria_components_1.ListStateContext);
10
+ // Override RACListStateContext to allow multiple selection within the list
11
+ const updatedListState = (0, react_1.useMemo)(() => {
12
+ if (!listState || !listState.selectionManager) {
13
+ return listState;
14
+ }
15
+ // @ts-expect-error `selectionManager.state` is private
16
+ // This is a temporary mutation before a context update, so this is fine
17
+ // eslint-disable-next-line react-hooks/react-compiler
18
+ listState.selectionManager.state.selectionMode = 'multiple';
19
+ // @ts-expect-error `selectionManager.state` is private
20
+ listState.selectionManager.state.selectedKeys = selectedKeys;
21
+ // @ts-expect-error `selectionManager.state` is private
22
+ listState.selectionManager.state.setSelectedKeys = setSelectedKeys;
23
+ // @ts-expect-error `selectionManager.state` is private
24
+ listState.selectionManager.state.disallowEmptySelection = false;
25
+ return {
26
+ ...listState,
27
+ };
28
+ }, [listState, selectedKeys, setSelectedKeys]);
29
+ return ((0, jsx_runtime_1.jsx)(react_aria_components_1.ListStateContext.Provider, { value: updatedListState, children: (0, jsx_runtime_1.jsx)(react_aria_components_1.ListBox, { className: "cim-combo-box-listbox", onScroll: onScroll, items: items, children: children }) }));
30
+ }
31
+ //# sourceMappingURL=tag-field-list-box.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-field-list-box.js","sourceRoot":"","sources":["../../../../src/components/tag-field/tag-field-list-box.tsx"],"names":[],"mappings":";;AAMA,0CAyCC;;AA/CD,iCAA4C;AAC5C,iEAAuG;AAIvG,gBAAgB;AAChB,SAAgB,eAAe,CAA2B,EACxD,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,KAAK,EACL,QAAQ,GAIT;IACC,MAAM,SAAS,GAAG,IAAA,kBAAU,EAAC,wCAAmB,CAAC,CAAC;IAElD,2EAA2E;IAC3E,MAAM,gBAAgB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACpC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;YAC9C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,uDAAuD;QACvD,wEAAwE;QACxE,sDAAsD;QACtD,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,aAAa,GAAG,UAAU,CAAC;QAC5D,uDAAuD;QACvD,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;QAC7D,uDAAuD;QACvD,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,eAAe,GAAG,eAAe,CAAC;QACnE,uDAAuD;QACvD,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,sBAAsB,GAAG,KAAK,CAAC;QAEhE,OAAO;YACL,GAAG,SAAS;SACb,CAAC;IACJ,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;IAE/C,OAAO,CACL,uBAAC,wCAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,gBAAgB,YACnD,uBAAC,+BAAU,IAAC,SAAS,EAAC,uBAAuB,EAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,YAC3E,QAAQ,GACE,GACgB,CAChC,CAAC;AACJ,CAAC","sourcesContent":["import { useContext, useMemo } from 'react';\nimport { ListBox as RACListBox, ListStateContext as RACListStateContext } from 'react-aria-components';\nimport type { CollectionItem, Key } from '../types.js';\nimport type { UNSTABLE_TagFieldProps } from './tag-field.js';\n\n/** @internal */\nexport function TagFieldListBox<T extends CollectionItem>({\n children,\n selectedKeys,\n setSelectedKeys,\n items,\n onScroll,\n}: Pick<UNSTABLE_TagFieldProps<T>, 'children' | 'items' | 'onScroll'> & {\n selectedKeys: Set<Key>;\n setSelectedKeys: (keys: Set<Key>) => void;\n}) {\n const listState = useContext(RACListStateContext);\n\n // Override RACListStateContext to allow multiple selection within the list\n const updatedListState = useMemo(() => {\n if (!listState || !listState.selectionManager) {\n return listState;\n }\n\n // @ts-expect-error `selectionManager.state` is private\n // This is a temporary mutation before a context update, so this is fine\n // eslint-disable-next-line react-hooks/react-compiler\n listState.selectionManager.state.selectionMode = 'multiple';\n // @ts-expect-error `selectionManager.state` is private\n listState.selectionManager.state.selectedKeys = selectedKeys;\n // @ts-expect-error `selectionManager.state` is private\n listState.selectionManager.state.setSelectedKeys = setSelectedKeys;\n // @ts-expect-error `selectionManager.state` is private\n listState.selectionManager.state.disallowEmptySelection = false;\n\n return {\n ...listState,\n };\n }, [listState, selectedKeys, setSelectedKeys]);\n\n return (\n <RACListStateContext.Provider value={updatedListState}>\n <RACListBox className=\"cim-combo-box-listbox\" onScroll={onScroll} items={items}>\n {children}\n </RACListBox>\n </RACListStateContext.Provider>\n );\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tag-field-tags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-field-tags.d.ts","sourceRoot":"","sources":["../../../../src/components/tag-field/tag-field-tags.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TagFieldTags = TagFieldTags;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const react_aria_components_1 = require("react-aria-components");
7
+ const tag_group_js_1 = require("../tag/tag-group.js");
8
+ const tag_js_1 = require("../tag/tag.js");
9
+ /** @internal */
10
+ function TagFieldTags({ inputId, selectedKeys, isDisabled, renderEmptyState, onRemove, }) {
11
+ const listState = (0, react_1.useContext)(react_aria_components_1.ListStateContext);
12
+ const selectedItems = (0, react_1.useMemo)(() => {
13
+ return [...selectedKeys.values()]
14
+ .map((key) => listState?.selectionManager.collection.getItem(key))
15
+ .filter((value) => !!value);
16
+ }, [selectedKeys, listState?.selectionManager.collection]);
17
+ return ((0, jsx_runtime_1.jsx)(react_aria_components_1.Provider, { values: [
18
+ // Reset contexts so that TagGroup doesn't inherit any data from RACComboBox
19
+ [react_aria_components_1.LabelContext, null],
20
+ [react_aria_components_1.ButtonContext, null],
21
+ [react_aria_components_1.TextContext, null],
22
+ [react_aria_components_1.ListStateContext, null],
23
+ ], children: (0, jsx_runtime_1.jsx)(tag_group_js_1.TagGroup, { "aria-labelledby": inputId, disabledKeys: isDisabled ? selectedKeys : undefined, renderEmptyState: renderEmptyState, onRemove: (keys) => {
24
+ keys.forEach(onRemove);
25
+ }, children: selectedItems.map((item) => ((0, jsx_runtime_1.jsx)(tag_js_1.Tag, { id: item.key, isDisabled: item.props.isDisabled, children: item.textValue }, item.key))) }) }));
26
+ }
27
+ //# sourceMappingURL=tag-field-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-field-tags.js","sourceRoot":"","sources":["../../../../src/components/tag-field/tag-field-tags.tsx"],"names":[],"mappings":";;AAcA,oCA6CC;;AA3DD,iCAA4C;AAC5C,iEAM+B;AAC/B,sDAA+C;AAC/C,0CAAmD;AAInD,gBAAgB;AAChB,SAAgB,YAAY,CAA2B,EACrD,OAAO,EACP,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,QAAQ,GAKT;IACC,MAAM,SAAS,GAAG,IAAA,kBAAU,EAAC,wCAAmB,CAAC,CAAC;IAElD,MAAM,aAAa,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACjC,OAAO,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;aAC9B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;aACjE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;IAE3D,OAAO,CACL,uBAAC,gCAAW,IACV,MAAM,EAAE;YACN,4EAA4E;YAC5E,CAAC,oCAAe,EAAE,IAAI,CAAC;YACvB,CAAC,qCAAgB,EAAE,IAAI,CAAC;YACxB,CAAC,mCAAc,EAAE,IAAI,CAAC;YACtB,CAAC,wCAAmB,EAAE,IAAI,CAAC;SAC5B,YAED,uBAAC,uBAAQ,uBACU,OAAO,EACxB,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EACnD,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;gBACjB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC,YAEA,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC3B,uBAAC,YAAG,IAAgB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,UAAU,EAAG,IAAI,CAAC,KAAkB,CAAC,UAAU,YAC9E,IAAI,CAAC,SAAS,IADP,IAAI,CAAC,GAAG,CAEZ,CACP,CAAC,GACO,GACC,CACf,CAAC;AACJ,CAAC","sourcesContent":["import { useContext, useMemo } from 'react';\nimport {\n ButtonContext as RACButtonContext,\n LabelContext as RACLabelContext,\n ListStateContext as RACListStateContext,\n Provider as RACProvider,\n TextContext as RACTextContext,\n} from 'react-aria-components';\nimport { TagGroup } from '../tag/tag-group.js';\nimport { Tag, type TagProps } from '../tag/tag.js';\nimport type { CollectionItem, Key } from '../types.js';\nimport type { UNSTABLE_TagFieldProps } from './tag-field.js';\n\n/** @internal */\nexport function TagFieldTags<T extends CollectionItem>({\n inputId,\n selectedKeys,\n isDisabled,\n renderEmptyState,\n onRemove,\n}: Pick<UNSTABLE_TagFieldProps<T>, 'isDisabled' | 'renderEmptyState'> & {\n inputId: string;\n selectedKeys: Set<Key>;\n onRemove: (key: Key) => void;\n}) {\n const listState = useContext(RACListStateContext);\n\n const selectedItems = useMemo(() => {\n return [...selectedKeys.values()]\n .map((key) => listState?.selectionManager.collection.getItem(key))\n .filter((value) => !!value);\n }, [selectedKeys, listState?.selectionManager.collection]);\n\n return (\n <RACProvider\n values={[\n // Reset contexts so that TagGroup doesn't inherit any data from RACComboBox\n [RACLabelContext, null],\n [RACButtonContext, null],\n [RACTextContext, null],\n [RACListStateContext, null],\n ]}\n >\n <TagGroup\n aria-labelledby={inputId}\n disabledKeys={isDisabled ? selectedKeys : undefined}\n renderEmptyState={renderEmptyState}\n onRemove={(keys) => {\n keys.forEach(onRemove);\n }}\n >\n {selectedItems.map((item) => (\n <Tag key={item.key} id={item.key} isDisabled={(item.props as TagProps).isDisabled}>\n {item.textValue}\n </Tag>\n ))}\n </TagGroup>\n </RACProvider>\n );\n}\n"]}
@@ -0,0 +1,43 @@
1
+ import { type ListBoxProps as RACListBoxProps, type ComboBoxProps as RACComboBoxProps, type ListBoxItemProps as RACListBoxItemProps } from 'react-aria-components';
2
+ import type { TagGroupProps } from '../tag/tag-group.js';
3
+ import type { CollectionItem, CollectionProps, CommonProps, FieldWithPlaceholderProps, Key, StringLikeChildren } from '../types.js';
4
+ /** Represents the state of the `TagField` component for validation purposes. */
5
+ export interface UNSTABLE_TagFieldValidationValue {
6
+ /** The selected keys in the TagField. */
7
+ selectedKeys: Set<Key> | null;
8
+ /** The value of the TagField input. */
9
+ inputValue: string;
10
+ }
11
+ export interface UNSTABLE_TagFieldProps<T extends CollectionItem = CollectionItem> extends CommonProps, FieldWithPlaceholderProps<UNSTABLE_TagFieldValidationValue>, CollectionProps<T>, Pick<RACComboBoxProps<T>, 'isRequired' | 'isDisabled' | 'isInvalid' | 'isReadOnly' | 'inputValue' | 'defaultInputValue' | 'autoFocus' | 'onInputChange' | 'onFocus' | 'onBlur' | 'onOpenChange'>, Pick<RACListBoxProps<T>, 'onScroll'>, Pick<TagGroupProps<T>, 'renderEmptyState'> {
12
+ selectedKeys?: Iterable<Key>;
13
+ defaultSelectedKeys?: Iterable<Key>;
14
+ onSelectionChange?: (keys: Set<Key>) => void;
15
+ }
16
+ /**
17
+ * Allows users to filter a collapsible list and select multiple items from it.
18
+ *
19
+ * See [tag field usage guidelines](https://ui.cimpress.com/components/tag-field)
20
+ */
21
+ declare const _UNSTABLE_TagField: <T extends CollectionItem>(props: UNSTABLE_TagFieldProps<T> & import("react").RefAttributes<HTMLDivElement> & import("../../with-style-props.js").StyleProps) => import("react").JSX.Element | null;
22
+ export { _UNSTABLE_TagField as UNSTABLE_TagField };
23
+ export interface UNSTABLE_TagFieldItemProps<T extends CollectionItem> extends Pick<RACListBoxItemProps<T>, 'id' | 'isDisabled' | 'onHoverStart' | 'onHoverEnd'> {
24
+ /** The content to display as the label. */
25
+ children: StringLikeChildren;
26
+ }
27
+ /** Renders a single list item within `TagField`. */
28
+ export declare function UNSTABLE_TagFieldItem<T extends CollectionItem>({ children, ...props }: UNSTABLE_TagFieldItemProps<T>): import("react/jsx-runtime").JSX.Element;
29
+ export declare namespace UNSTABLE_TagFieldItem {
30
+ var displayName: string;
31
+ }
32
+ export interface UNSTABLE_TagFieldSectionProps<T extends CollectionItem> extends CollectionProps<T> {
33
+ /** The ID of the section. Has to be unique across all sections and items. */
34
+ id?: Key;
35
+ /** The content to display as the section title. */
36
+ title: string;
37
+ }
38
+ /** Groups list items within `TagField` into a section. */
39
+ export declare function UNSTABLE_TagFieldSection<T extends CollectionItem>({ title, children, items, ...props }: UNSTABLE_TagFieldSectionProps<T>): import("react/jsx-runtime").JSX.Element;
40
+ export declare namespace UNSTABLE_TagFieldSection {
41
+ var displayName: string;
42
+ }
43
+ //# sourceMappingURL=tag-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-field.d.ts","sourceRoot":"","sources":["../../../../src/components/tag-field/tag-field.tsx"],"names":[],"mappings":"AAQA,OAAO,EAOL,KAAK,YAAY,IAAI,eAAe,EAIpC,KAAK,aAAa,IAAI,gBAAgB,EACtC,KAAK,gBAAgB,IAAI,mBAAmB,EAK7C,MAAM,uBAAuB,CAAC;AAU/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,WAAW,EACX,yBAAyB,EACzB,GAAG,EACH,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAOrB,gFAAgF;AAChF,MAAM,WAAW,gCAAgC;IAC/C,yCAAyC;IACzC,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC9B,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAC/E,SAAQ,WAAW,EACjB,yBAAyB,CAAC,gCAAgC,CAAC,EAC3D,eAAe,CAAC,CAAC,CAAC,EAClB,IAAI,CACF,gBAAgB,CAAC,CAAC,CAAC,EACjB,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,mBAAmB,GACnB,WAAW,GACX,eAAe,GACf,SAAS,GACT,QAAQ,GACR,cAAc,CACjB,EACD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EACpC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC;IAC5C,YAAY,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,mBAAmB,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACpC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;CAC9C;AAyOD;;;;GAIG;AACH,QAAA,MAAM,kBAAkB,GA5OG,CAAC,SAAS,cAAc,0KA4OiC,CAAC;AAErF,OAAO,EAAE,kBAAkB,IAAI,iBAAiB,EAAE,CAAC;AAEnD,MAAM,WAAW,0BAA0B,CAAC,CAAC,SAAS,cAAc,CAClE,SAAQ,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,YAAY,GAAG,cAAc,GAAG,YAAY,CAAC;IACzF,2CAA2C;IAC3C,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAED,oDAAoD;AACpD,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,cAAc,EAAE,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,0BAA0B,CAAC,CAAC,CAAC,2CAqBpH;yBArBe,qBAAqB;;;AAyBrC,MAAM,WAAW,6BAA6B,CAAC,CAAC,SAAS,cAAc,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;IACjG,6EAA6E;IAC7E,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,0DAA0D;AAC1D,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,cAAc,EAAE,EACjE,KAAK,EACL,QAAQ,EACR,KAAK,EACL,GAAG,KAAK,EACT,EAAE,6BAA6B,CAAC,CAAC,CAAC,2CAelC;yBApBe,wBAAwB"}
@@ -0,0 +1,143 @@
1
+ 'use client';
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.UNSTABLE_TagField = void 0;
8
+ exports.UNSTABLE_TagFieldItem = UNSTABLE_TagFieldItem;
9
+ exports.UNSTABLE_TagFieldSection = UNSTABLE_TagFieldSection;
10
+ const jsx_runtime_1 = require("react/jsx-runtime");
11
+ const form_1 = require("@react-aria/form");
12
+ const utils_1 = require("@react-aria/utils");
13
+ const form_2 = require("@react-stately/form");
14
+ const utils_2 = require("@react-stately/utils");
15
+ const clsx_1 = __importDefault(require("clsx"));
16
+ const react_1 = require("react");
17
+ const react_aria_components_1 = require("react-aria-components");
18
+ const forward_ref_js_1 = require("../../forward-ref.js");
19
+ const localization_provider_js_1 = require("../../i18n/localization-provider.js");
20
+ const index_js_1 = require("../../icons/index.js");
21
+ const is_production_js_1 = require("../../utils/is-production.js");
22
+ const use_production_warning_js_1 = require("../../utils/use-production-warning.js");
23
+ const with_style_props_js_1 = require("../../with-style-props.js");
24
+ const collapsible_list_js_1 = require("../internal/collapsible-list/collapsible-list.js");
25
+ const form_field_js_1 = require("../internal/form-field/form-field.js");
26
+ const stack_js_1 = require("../spacing/stack/stack.js");
27
+ const text_js_1 = require("../typography/text.js");
28
+ const utils_js_1 = require("../typography/utils.js");
29
+ const tag_field_input_js_1 = require("./tag-field-input.js");
30
+ const tag_field_list_box_js_1 = require("./tag-field-list-box.js");
31
+ const tag_field_tags_js_1 = require("./tag-field-tags.js");
32
+ function UNSTABLE_TagField({ label, description, error, items, children, placeholder, UNSAFE_className, UNSAFE_style, isReadOnly, inputValue: consumerInputValue, defaultInputValue: defaultConsumerInputValue, onInputChange, name, validate, onScroll, selectedKeys: consumerSelectedKeys, defaultSelectedKeys: defaultConsumerSelectedKeys, onSelectionChange, id, renderEmptyState = () => ((0, jsx_runtime_1.jsx)(stack_js_1.Stack, { gap: 0, justify: "center", UNSAFE_style: { height: 24 }, children: (0, jsx_runtime_1.jsx)(text_js_1.Text, { as: "p", variant: "medium", tone: "base", children: "No items selected." }) })), ...props }, ref) {
33
+ const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, isRequired, isDisabled, isInvalid } = props;
34
+ (0, use_production_warning_js_1.useProductionWarning)(() => {
35
+ if (!label && !ariaLabel && !ariaLabelledBy) {
36
+ console.warn('TagField requires one of label / aria-label / aria-labelledby for accessibility');
37
+ }
38
+ }, [label, ariaLabel, ariaLabelledBy]);
39
+ if (!(0, is_production_js_1.isProduction)() && items != null && typeof children !== 'function') {
40
+ console.warn('`TagField` requires `children` to be a function when using `items` prop');
41
+ }
42
+ const messages = (0, localization_provider_js_1.useLocalizedMessages)('tagField');
43
+ // State
44
+ const [defaultSelectedKeys] = (0, react_1.useState)(() => defaultConsumerSelectedKeys ?? new Set());
45
+ const [selectedKeys, setSelectedKeys] = (0, utils_2.useControlledState)(consumerSelectedKeys, defaultSelectedKeys, onSelectionChange);
46
+ const [inputValue, setInputValue] = (0, utils_2.useControlledState)(consumerInputValue, defaultConsumerInputValue ?? '', onInputChange);
47
+ const selectedSet = (0, react_1.useMemo)(() => {
48
+ // eslint-disable-next-line unicorn/no-instanceof-builtins
49
+ if (selectedKeys instanceof Set) {
50
+ return new Set(selectedKeys.values());
51
+ }
52
+ return new Set(selectedKeys);
53
+ }, [selectedKeys]);
54
+ // Validation
55
+ const inputId = (0, utils_1.useId)(id);
56
+ const formInputRef = (0, react_1.useRef)(null);
57
+ const validationState = (0, form_2.useFormValidationState)({
58
+ name,
59
+ value: (0, react_1.useMemo)(() => ({ selectedKeys: selectedSet, inputValue }), [selectedSet, inputValue]),
60
+ isInvalid,
61
+ isRequired,
62
+ validate,
63
+ validationBehavior: 'native',
64
+ });
65
+ (0, utils_1.useFormReset)(formInputRef, [selectedSet, inputValue], ([a, b]) => {
66
+ setSelectedKeys(a);
67
+ setInputValue(b);
68
+ });
69
+ (0, form_1.useFormValidation)({
70
+ focus: () => {
71
+ // Querying by element ID because a ref is always null here, I don't know why :(
72
+ document.getElementById(inputId)?.focus();
73
+ },
74
+ isInvalid,
75
+ isRequired,
76
+ validate,
77
+ validationBehavior: 'native',
78
+ }, validationState, formInputRef);
79
+ // Event handlers
80
+ // Commit validation on input blur if the values have changed
81
+ const inputValueOnFocus = (0, react_1.useRef)(inputValue);
82
+ const selectedSetOnFocus = (0, react_1.useRef)(selectedSet);
83
+ const onFocusChange = (isFocused) => {
84
+ if (isFocused) {
85
+ inputValueOnFocus.current = inputValue;
86
+ selectedSetOnFocus.current = selectedSet;
87
+ }
88
+ else if (inputValue !== inputValueOnFocus.current || selectedSet !== selectedSetOnFocus.current) {
89
+ validationState.commitValidation();
90
+ }
91
+ };
92
+ const onItemSelectionChange = (key) => {
93
+ if (selectedSet.has(key)) {
94
+ selectedSet.delete(key);
95
+ }
96
+ else {
97
+ selectedSet.add(key);
98
+ }
99
+ setSelectedKeys(new Set(selectedSet.values()));
100
+ validationState.commitValidation();
101
+ };
102
+ // Text slots
103
+ const descriptionId = (0, utils_1.useSlotId)([Boolean(description)]);
104
+ const errorMessageId = (0, utils_1.useSlotId)([
105
+ Boolean(error || validationState.displayValidation.validationErrors),
106
+ validationState.displayValidation.isInvalid,
107
+ ]);
108
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_aria_components_1.ComboBox, { ...props, ref: ref, id: inputId, className: (0, clsx_1.default)('cim-combo-box', 'cim-tag-field', UNSAFE_className), style: UNSAFE_style,
109
+ // Force no internal selection - we handle selection manually
110
+ selectedKey: null, inputValue: inputValue, onInputChange: setInputValue, menuTrigger: "focus", isReadOnly: isReadOnly, "data-readonly": isReadOnly ? true : undefined, onSelectionChange: (key) => {
111
+ if (key) {
112
+ onItemSelectionChange(key);
113
+ }
114
+ }, children: (0, jsx_runtime_1.jsxs)(react_aria_components_1.Provider, { values: [
115
+ [react_aria_components_1.TextContext, { slots: { description: { id: descriptionId }, errorMessage: { id: errorMessageId } } }],
116
+ [react_aria_components_1.GroupContext, { isInvalid: validationState.displayValidation.isInvalid, isDisabled }],
117
+ [react_aria_components_1.FieldErrorContext, validationState.displayValidation],
118
+ ], children: [(0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldLabel, { isRequired: isRequired, isDisabled: isDisabled, children: label }), (0, jsx_runtime_1.jsx)(tag_field_tags_js_1.TagFieldTags, { inputId: inputId, selectedKeys: selectedSet, isDisabled: isDisabled || isReadOnly, renderEmptyState: renderEmptyState, onRemove: onItemSelectionChange }), (0, jsx_runtime_1.jsxs)(react_aria_components_1.Group, { className: "cim-combo-box-input-group", children: [(0, jsx_runtime_1.jsx)(tag_field_input_js_1.TagFieldInput, { "aria-describedby": props['aria-describedby'], isReadOnly: isReadOnly, isRequired: isRequired, isInvalid: validationState.displayValidation.isInvalid, placeholder: selectedSet.size === 0 && placeholder
119
+ ? placeholder
120
+ : messages.format('itemsSelected', { selectedItemCount: selectedSet.size }), onFocusChange: onFocusChange }), (0, jsx_runtime_1.jsx)(react_aria_components_1.Button, { className: "cim-combo-box-button", children: (0, jsx_runtime_1.jsx)(index_js_1.IconChevronDown, {}) })] }), (0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldError, { children: error }), (0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldDescription, { children: description }), (0, jsx_runtime_1.jsx)(collapsible_list_js_1.CollapsibleList, { offset: 5, maxHeight: 315, children: (0, jsx_runtime_1.jsx)(tag_field_list_box_js_1.TagFieldListBox, { items: items, selectedKeys: selectedSet, setSelectedKeys: setSelectedKeys, onScroll: onScroll, children: children }) })] }) }), (0, jsx_runtime_1.jsx)(react_aria_components_1.Input, { ref: formInputRef, style: { display: 'none' }, value: selectedSet.size || '', required: isRequired, "aria-invalid": validationState.displayValidation.isInvalid || undefined, onChange: () => { } }), name && [...selectedSet].map((value) => (0, jsx_runtime_1.jsx)("input", { type: "hidden", name: name, value: value }, value))] }));
121
+ }
122
+ /**
123
+ * Allows users to filter a collapsible list and select multiple items from it.
124
+ *
125
+ * See [tag field usage guidelines](https://ui.cimpress.com/components/tag-field)
126
+ */
127
+ const _UNSTABLE_TagField = (0, with_style_props_js_1.withStyleProps)((0, forward_ref_js_1.forwardRef)(UNSTABLE_TagField), 'TagField');
128
+ exports.UNSTABLE_TagField = _UNSTABLE_TagField;
129
+ /** Renders a single list item within `TagField`. */
130
+ function UNSTABLE_TagFieldItem({ children, ...props }) {
131
+ const textValue = typeof children === 'string' ? children : typeof children === 'number' ? String(children) : children.join('');
132
+ return ((0, jsx_runtime_1.jsx)(react_aria_components_1.ListBoxItem, { ...props, className: "cim-combo-box-item cim-tag-field-item cim-checkbox", textValue: textValue, children: ({ isDisabled }) => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: "cim-checkbox-toggle-wrapper", "aria-hidden": true, children: (0, jsx_runtime_1.jsx)("div", { className: "cim-checkbox-toggle", children: (0, jsx_runtime_1.jsx)(index_js_1.IconCheckBold, {}) }) }), (0, jsx_runtime_1.jsx)(react_aria_components_1.Text, { slot: "label", className: (0, utils_js_1.textStyle)({ variant: 'body', tone: isDisabled ? 'muted' : 'base' }), children: children })] })) }));
133
+ }
134
+ UNSTABLE_TagFieldItem.displayName = 'TagFieldItem';
135
+ /** Groups list items within `TagField` into a section. */
136
+ function UNSTABLE_TagFieldSection({ title, children, items, ...props }) {
137
+ if (!(0, is_production_js_1.isProduction)() && items != null && typeof children !== 'function') {
138
+ console.warn('`TagFieldSection` requires `children` to be a function when using `items` prop');
139
+ }
140
+ return ((0, jsx_runtime_1.jsxs)(react_aria_components_1.ListBoxSection, { ...props, className: "cim-combo-box-section", children: [(0, jsx_runtime_1.jsx)(react_aria_components_1.Header, { className: (0, clsx_1.default)('cim-combo-box-section-header', (0, utils_js_1.textStyle)({ variant: 'small-semibold', tone: 'subtle' })), children: title }), (0, jsx_runtime_1.jsx)(react_aria_components_1.Collection, { items: items, children: children })] }));
141
+ }
142
+ UNSTABLE_TagFieldSection.displayName = 'TagFieldSection';
143
+ //# sourceMappingURL=tag-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-field.js","sourceRoot":"","sources":["../../../../src/components/tag-field/tag-field.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport { useFormValidation } from '@react-aria/form';\nimport { useFormReset, useId, useSlotId } from '@react-aria/utils';\nimport { useFormValidationState } from '@react-stately/form';\nimport { useControlledState } from '@react-stately/utils';\nimport clsx from 'clsx';\nimport { useMemo, useRef, useState, type ForwardedRef } from 'react';\nimport {\n Button as RACButton,\n Collection as RACCollection,\n ComboBox as RACComboBox,\n Group as RACGroup,\n Header as RACHeader,\n Input as RACInput,\n type ListBoxProps as RACListBoxProps,\n ListBoxItem as RACListBoxItem,\n ListBoxSection as RACListBoxSection,\n Text as RACText,\n type ComboBoxProps as RACComboBoxProps,\n type ListBoxItemProps as RACListBoxItemProps,\n Provider as RACProvider,\n TextContext as RACTextContext,\n GroupContext as RACGroupContext,\n FieldErrorContext as RACFieldErrorContext,\n} from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { useLocalizedMessages } from '../../i18n/localization-provider.js';\nimport { IconCheckBold, IconChevronDown } from '../../icons/index.js';\nimport { isProduction } from '../../utils/is-production.js';\nimport { useProductionWarning } from '../../utils/use-production-warning.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport { CollapsibleList } from '../internal/collapsible-list/collapsible-list.js';\nimport { FormFieldDescription, FormFieldError, FormFieldLabel } from '../internal/form-field/form-field.js';\nimport { Stack } from '../spacing/stack/stack.js';\nimport type { TagGroupProps } from '../tag/tag-group.js';\nimport type {\n CollectionItem,\n CollectionProps,\n CommonProps,\n FieldWithPlaceholderProps,\n Key,\n StringLikeChildren,\n} from '../types.js';\nimport { Text } from '../typography/text.js';\nimport { textStyle } from '../typography/utils.js';\nimport { TagFieldInput } from './tag-field-input.js';\nimport { TagFieldListBox } from './tag-field-list-box.js';\nimport { TagFieldTags } from './tag-field-tags.js';\n\n/** Represents the state of the `TagField` component for validation purposes. */\nexport interface UNSTABLE_TagFieldValidationValue {\n /** The selected keys in the TagField. */\n selectedKeys: Set<Key> | null;\n /** The value of the TagField input. */\n inputValue: string;\n}\n\nexport interface UNSTABLE_TagFieldProps<T extends CollectionItem = CollectionItem>\n extends CommonProps,\n FieldWithPlaceholderProps<UNSTABLE_TagFieldValidationValue>,\n CollectionProps<T>,\n Pick<\n RACComboBoxProps<T>,\n | 'isRequired'\n | 'isDisabled'\n | 'isInvalid'\n | 'isReadOnly'\n | 'inputValue'\n | 'defaultInputValue'\n | 'autoFocus'\n | 'onInputChange'\n | 'onFocus'\n | 'onBlur'\n | 'onOpenChange'\n >,\n Pick<RACListBoxProps<T>, 'onScroll'>,\n Pick<TagGroupProps<T>, 'renderEmptyState'> {\n selectedKeys?: Iterable<Key>;\n defaultSelectedKeys?: Iterable<Key>;\n onSelectionChange?: (keys: Set<Key>) => void;\n}\n\nfunction UNSTABLE_TagField<T extends CollectionItem>(\n {\n label,\n description,\n error,\n items,\n children,\n placeholder,\n UNSAFE_className,\n UNSAFE_style,\n isReadOnly,\n inputValue: consumerInputValue,\n defaultInputValue: defaultConsumerInputValue,\n onInputChange,\n name,\n validate,\n onScroll,\n selectedKeys: consumerSelectedKeys,\n defaultSelectedKeys: defaultConsumerSelectedKeys,\n onSelectionChange,\n id,\n renderEmptyState = () => (\n <Stack gap={0} justify=\"center\" UNSAFE_style={{ height: 24 }}>\n <Text as=\"p\" variant=\"medium\" tone=\"base\">\n No items selected.\n </Text>\n </Stack>\n ),\n ...props\n }: UNSTABLE_TagFieldProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, isRequired, isDisabled, isInvalid } = props;\n\n useProductionWarning(() => {\n if (!label && !ariaLabel && !ariaLabelledBy) {\n console.warn('TagField requires one of label / aria-label / aria-labelledby for accessibility');\n }\n }, [label, ariaLabel, ariaLabelledBy]);\n\n if (!isProduction() && items != null && typeof children !== 'function') {\n console.warn('`TagField` requires `children` to be a function when using `items` prop');\n }\n\n const messages = useLocalizedMessages('tagField');\n\n // State\n\n const [defaultSelectedKeys] = useState(() => defaultConsumerSelectedKeys ?? new Set<Key>());\n const [selectedKeys, setSelectedKeys] = useControlledState(\n consumerSelectedKeys,\n defaultSelectedKeys,\n onSelectionChange,\n );\n const [inputValue, setInputValue] = useControlledState(\n consumerInputValue,\n defaultConsumerInputValue ?? '',\n onInputChange,\n );\n\n const selectedSet = useMemo(() => {\n // eslint-disable-next-line unicorn/no-instanceof-builtins\n if (selectedKeys instanceof Set) {\n return new Set<Key>(selectedKeys.values());\n }\n\n return new Set<Key>(selectedKeys);\n }, [selectedKeys]);\n\n // Validation\n\n const inputId = useId(id);\n const formInputRef = useRef<HTMLInputElement>(null);\n\n const validationState = useFormValidationState({\n name,\n value: useMemo(() => ({ selectedKeys: selectedSet, inputValue }), [selectedSet, inputValue]),\n isInvalid,\n isRequired,\n validate,\n validationBehavior: 'native',\n });\n\n useFormReset<[Set<Key>, string]>(formInputRef, [selectedSet, inputValue], ([a, b]) => {\n setSelectedKeys(a);\n setInputValue(b);\n });\n\n useFormValidation(\n {\n focus: () => {\n // Querying by element ID because a ref is always null here, I don't know why :(\n document.getElementById(inputId)?.focus();\n },\n isInvalid,\n isRequired,\n validate,\n validationBehavior: 'native',\n },\n validationState,\n formInputRef,\n );\n\n // Event handlers\n\n // Commit validation on input blur if the values have changed\n const inputValueOnFocus = useRef(inputValue);\n const selectedSetOnFocus = useRef(selectedSet);\n\n const onFocusChange = (isFocused: boolean) => {\n if (isFocused) {\n inputValueOnFocus.current = inputValue;\n selectedSetOnFocus.current = selectedSet;\n } else if (inputValue !== inputValueOnFocus.current || selectedSet !== selectedSetOnFocus.current) {\n validationState.commitValidation();\n }\n };\n\n const onItemSelectionChange = (key: Key) => {\n if (selectedSet.has(key)) {\n selectedSet.delete(key);\n } else {\n selectedSet.add(key);\n }\n\n setSelectedKeys(new Set(selectedSet.values()));\n validationState.commitValidation();\n };\n\n // Text slots\n\n const descriptionId = useSlotId([Boolean(description)]);\n\n const errorMessageId = useSlotId([\n Boolean(error || validationState.displayValidation.validationErrors),\n validationState.displayValidation.isInvalid,\n ]);\n\n return (\n <>\n <RACComboBox\n {...props}\n ref={ref}\n id={inputId}\n className={clsx('cim-combo-box', 'cim-tag-field', UNSAFE_className)}\n style={UNSAFE_style}\n // Force no internal selection - we handle selection manually\n selectedKey={null}\n inputValue={inputValue}\n onInputChange={setInputValue}\n menuTrigger=\"focus\"\n isReadOnly={isReadOnly}\n data-readonly={isReadOnly ? true : undefined}\n onSelectionChange={(key) => {\n if (key) {\n onItemSelectionChange(key);\n }\n }}\n >\n <RACProvider\n values={[\n [RACTextContext, { slots: { description: { id: descriptionId }, errorMessage: { id: errorMessageId } } }],\n [RACGroupContext, { isInvalid: validationState.displayValidation.isInvalid, isDisabled }],\n [RACFieldErrorContext, validationState.displayValidation],\n ]}\n >\n <FormFieldLabel isRequired={isRequired} isDisabled={isDisabled}>\n {label}\n </FormFieldLabel>\n\n <TagFieldTags<T>\n inputId={inputId}\n selectedKeys={selectedSet}\n isDisabled={isDisabled || isReadOnly}\n renderEmptyState={renderEmptyState}\n onRemove={onItemSelectionChange}\n />\n\n <RACGroup className=\"cim-combo-box-input-group\">\n <TagFieldInput\n aria-describedby={props['aria-describedby']}\n isReadOnly={isReadOnly}\n isRequired={isRequired}\n isInvalid={validationState.displayValidation.isInvalid}\n placeholder={\n selectedSet.size === 0 && placeholder\n ? placeholder\n : messages.format('itemsSelected', { selectedItemCount: selectedSet.size })\n }\n onFocusChange={onFocusChange}\n />\n <RACButton className=\"cim-combo-box-button\">\n <IconChevronDown />\n </RACButton>\n </RACGroup>\n\n <FormFieldError>{error}</FormFieldError>\n <FormFieldDescription>{description}</FormFieldDescription>\n\n <CollapsibleList\n offset={5} // 1px border + 4px actual offset\n maxHeight={315}\n >\n <TagFieldListBox<T>\n items={items}\n selectedKeys={selectedSet}\n setSelectedKeys={setSelectedKeys}\n onScroll={onScroll}\n >\n {children}\n </TagFieldListBox>\n </CollapsibleList>\n </RACProvider>\n </RACComboBox>\n\n {/* This input is used for native form validation. We can't use the combo box input because its value has no relation to the selected values. */}\n <RACInput\n ref={formInputRef}\n style={{ display: 'none' }}\n value={selectedSet.size || ''}\n required={isRequired}\n aria-invalid={validationState.displayValidation.isInvalid || undefined}\n onChange={() => {}}\n />\n\n {/* These hidden inputs provide values when a form is submitted. */}\n {name && [...selectedSet].map((value) => <input type=\"hidden\" key={value} name={name} value={value} />)}\n </>\n );\n}\n\n/**\n * Allows users to filter a collapsible list and select multiple items from it.\n *\n * See [tag field usage guidelines](https://ui.cimpress.com/components/tag-field)\n */\nconst _UNSTABLE_TagField = withStyleProps(forwardRef(UNSTABLE_TagField), 'TagField');\n\nexport { _UNSTABLE_TagField as UNSTABLE_TagField };\n\nexport interface UNSTABLE_TagFieldItemProps<T extends CollectionItem>\n extends Pick<RACListBoxItemProps<T>, 'id' | 'isDisabled' | 'onHoverStart' | 'onHoverEnd'> {\n /** The content to display as the label. */\n children: StringLikeChildren;\n}\n\n/** Renders a single list item within `TagField`. */\nexport function UNSTABLE_TagFieldItem<T extends CollectionItem>({ children, ...props }: UNSTABLE_TagFieldItemProps<T>) {\n const textValue =\n typeof children === 'string' ? children : typeof children === 'number' ? String(children) : children.join('');\n\n return (\n <RACListBoxItem {...props} className=\"cim-combo-box-item cim-tag-field-item cim-checkbox\" textValue={textValue}>\n {({ isDisabled }) => (\n <>\n <div className=\"cim-checkbox-toggle-wrapper\" aria-hidden>\n <div className=\"cim-checkbox-toggle\">\n <IconCheckBold />\n </div>\n </div>\n\n <RACText slot=\"label\" className={textStyle({ variant: 'body', tone: isDisabled ? 'muted' : 'base' })}>\n {children}\n </RACText>\n </>\n )}\n </RACListBoxItem>\n );\n}\n\nUNSTABLE_TagFieldItem.displayName = 'TagFieldItem';\n\nexport interface UNSTABLE_TagFieldSectionProps<T extends CollectionItem> extends CollectionProps<T> {\n /** The ID of the section. Has to be unique across all sections and items. */\n id?: Key;\n /** The content to display as the section title. */\n title: string;\n}\n\n/** Groups list items within `TagField` into a section. */\nexport function UNSTABLE_TagFieldSection<T extends CollectionItem>({\n title,\n children,\n items,\n ...props\n}: UNSTABLE_TagFieldSectionProps<T>) {\n if (!isProduction() && items != null && typeof children !== 'function') {\n console.warn('`TagFieldSection` requires `children` to be a function when using `items` prop');\n }\n\n return (\n <RACListBoxSection {...props} className=\"cim-combo-box-section\">\n <RACHeader\n className={clsx('cim-combo-box-section-header', textStyle({ variant: 'small-semibold', tone: 'subtle' }))}\n >\n {title}\n </RACHeader>\n <RACCollection items={items}>{children}</RACCollection>\n </RACListBoxSection>\n );\n}\n\nUNSTABLE_TagFieldSection.displayName = 'TagFieldSection';\n"]}
@@ -1,6 +1,6 @@
1
1
  import { type TextAreaProps as RACTextAreaProps, type TextFieldProps as RACTextFieldProps } from 'react-aria-components';
2
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' | 'onFocus' | 'onBlur'>, Pick<RACTextAreaProps, 'autoCapitalize' | 'autoCorrect' | 'rows' | 'spellCheck' | 'wrap'> {
3
+ export interface TextAreaProps extends CommonProps, FieldWithPlaceholderProps<string>, Pick<RACTextFieldProps, 'value' | 'defaultValue' | 'onChange' | 'isDisabled' | 'isRequired' | 'isInvalid' | 'isReadOnly' | 'type' | 'autoFocus' | 'autoComplete' | 'inputMode' | 'minLength' | 'maxLength' | 'onFocus' | 'onBlur'>, Pick<RACTextAreaProps, 'autoCapitalize' | 'autoCorrect' | 'rows' | 'spellCheck' | 'wrap'> {
4
4
  }
5
5
  /**
6
6
  * Allows users to enter multiple lines of text with a keyboard.
@@ -1 +1 @@
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,EAEzC,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,GACX,SAAS,GACT,QAAQ,CACX,EACD,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,aAAa,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC;CAAG;AAsDhG;;;;GAIG;AACH,QAAA,MAAM,SAAS,+JAAmD,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,EAEzC,MAAM,uBAAuB,CAAC;AAK/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,WAAW,GACX,cAAc,GACd,WAAW,GACX,WAAW,GACX,WAAW,GACX,SAAS,GACT,QAAQ,CACX,EACD,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,aAAa,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC;CAAG;AAsDhG;;;;GAIG;AACH,QAAA,MAAM,SAAS,+JAAmD,CAAC;AAEnE,OAAO,EAAE,SAAS,IAAI,QAAQ,EAAE,CAAC"}
@@ -7,15 +7,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.TextArea = void 0;
8
8
  const jsx_runtime_1 = require("react/jsx-runtime");
9
9
  const clsx_1 = __importDefault(require("clsx"));
10
- const react_1 = require("react");
11
10
  const react_aria_components_1 = require("react-aria-components");
12
11
  const forward_ref_js_1 = require("../../forward-ref.js");
12
+ const use_production_warning_js_1 = require("../../utils/use-production-warning.js");
13
13
  const with_style_props_js_1 = require("../../with-style-props.js");
14
14
  const form_field_js_1 = require("../internal/form-field/form-field.js");
15
15
  const utils_js_1 = require("../typography/utils.js");
16
16
  function TextArea({ label, description, error: errorMessage, placeholder, autoCapitalize, autoCorrect, rows, spellCheck, wrap, UNSAFE_className, UNSAFE_style, ...props }, ref) {
17
17
  const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;
18
- (0, react_1.useEffect)(() => {
18
+ (0, use_production_warning_js_1.useProductionWarning)(() => {
19
19
  if (!label && !ariaLabel && !ariaLabelledBy) {
20
20
  console.warn('TextArea requires one of label / aria-label / aria-labelledby for accessibility');
21
21
  }
@@ -1 +1 @@
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,iEAM+B;AAC/B,yDAAkD;AAClD,mEAA2D;AAC3D,wEAA4G;AAE5G,qDAAmD;AA0BnD,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,uBAAC,iCAAY,OAAK,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAA,cAAI,EAAC,eAAe,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,YAAY,YAEvG,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAC1C,6DACE,uBAAC,8BAAc,IAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,YAC3D,KAAK,GACS,EACjB,uBAAC,6BAAQ,IAAC,SAAS,EAAC,2BAA2B,EAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,YAC1F,uBAAC,gCAAW,IACV,SAAS,EAAE,IAAA,cAAI,EAAC,qBAAqB,EAAE,IAAA,oBAAS,EAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,EACxE,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,GACV,GACO,EACX,uBAAC,8BAAc,cAAE,YAAY,GAAkB,EAC/C,uBAAC,oCAAoB,cAAE,WAAW,GAAwB,IACzD,CACJ,GACY,CAChB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,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 Group as RACGroup,\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 | 'onFocus'\n | 'onBlur'\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 {/* RAC doesn't pass `isDisabled` or `isInvalid` to `Group` through context as it does with `NumberField`, so we need to pass them manually */}\n {({ isDisabled, isInvalid, isRequired }) => (\n <>\n <FormFieldLabel isRequired={isRequired} isDisabled={isDisabled}>\n {label}\n </FormFieldLabel>\n <RACGroup className=\"cim-text-area-input-group\" isDisabled={isDisabled} isInvalid={isInvalid}>\n <RACTextArea\n className={clsx('cim-text-area-input', textStyle({ variant: 'medium' }))}\n placeholder={placeholder}\n autoCapitalize={autoCapitalize}\n autoCorrect={autoCorrect}\n rows={rows}\n spellCheck={spellCheck}\n wrap={wrap}\n />\n </RACGroup>\n <FormFieldError>{errorMessage}</FormFieldError>\n <FormFieldDescription>{description}</FormFieldDescription>\n </>\n )}\n </RACTextField>\n );\n}\n\n/**\n * Allows users to enter multiple lines of text with a keyboard.\n *\n * See [text area usage guidelines](https://ui.cimpress.io/components/text-area/).\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;AAExB,iEAM+B;AAC/B,yDAAkD;AAClD,qFAA6E;AAC7E,mEAA2D;AAC3D,wEAA4G;AAE5G,qDAAmD;AAyBnD,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,gDAAoB,EAAC,GAAG,EAAE;QACxB,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,uBAAC,iCAAY,OAAK,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAA,cAAI,EAAC,eAAe,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,YAAY,YAEvG,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAC1C,6DACE,uBAAC,8BAAc,IAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,YAC3D,KAAK,GACS,EACjB,uBAAC,6BAAQ,IAAC,SAAS,EAAC,2BAA2B,EAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,YAC1F,uBAAC,gCAAW,IACV,SAAS,EAAE,IAAA,cAAI,EAAC,qBAAqB,EAAE,IAAA,oBAAS,EAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,EACxE,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,GACV,GACO,EACX,uBAAC,8BAAc,cAAE,YAAY,GAAkB,EAC/C,uBAAC,oCAAoB,cAAE,WAAW,GAAwB,IACzD,CACJ,GACY,CAChB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,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 type { ForwardedRef } from 'react';\nimport {\n TextArea as RACTextArea,\n TextField as RACTextField,\n type TextAreaProps as RACTextAreaProps,\n type TextFieldProps as RACTextFieldProps,\n Group as RACGroup,\n} from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { useProductionWarning } from '../../utils/use-production-warning.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 | 'type'\n | 'autoFocus'\n | 'autoComplete'\n | 'inputMode'\n | 'minLength'\n | 'maxLength'\n | 'onFocus'\n | 'onBlur'\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 useProductionWarning(() => {\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 {/* RAC doesn't pass `isDisabled` or `isInvalid` to `Group` through context as it does with `NumberField`, so we need to pass them manually */}\n {({ isDisabled, isInvalid, isRequired }) => (\n <>\n <FormFieldLabel isRequired={isRequired} isDisabled={isDisabled}>\n {label}\n </FormFieldLabel>\n <RACGroup className=\"cim-text-area-input-group\" isDisabled={isDisabled} isInvalid={isInvalid}>\n <RACTextArea\n className={clsx('cim-text-area-input', textStyle({ variant: 'medium' }))}\n placeholder={placeholder}\n autoCapitalize={autoCapitalize}\n autoCorrect={autoCorrect}\n rows={rows}\n spellCheck={spellCheck}\n wrap={wrap}\n />\n </RACGroup>\n <FormFieldError>{errorMessage}</FormFieldError>\n <FormFieldDescription>{description}</FormFieldDescription>\n </>\n )}\n </RACTextField>\n );\n}\n\n/**\n * Allows users to enter multiple lines of text with a keyboard.\n *\n * See [text area usage guidelines](https://ui.cimpress.io/components/text-area/).\n */\nconst _TextArea = withStyleProps(forwardRef(TextArea), 'TextArea');\n\nexport { _TextArea as TextArea };\n"]}
@@ -1,6 +1,6 @@
1
1
  import { type TextFieldProps as RACTextFieldProps } from 'react-aria-components';
2
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' | 'onFocus' | 'onBlur'> {
3
+ export interface TextFieldProps extends CommonProps, FieldWithPlaceholderProps<string>, Pick<RACTextFieldProps, 'value' | 'defaultValue' | 'onChange' | 'isDisabled' | 'isRequired' | 'isInvalid' | 'isReadOnly' | 'type' | 'autoFocus' | 'autoComplete' | 'inputMode' | 'minLength' | 'maxLength' | 'pattern' | 'onFocus' | 'onBlur'> {
4
4
  }
5
5
  /**
6
6
  * Allows users to enter a single line of text with a keyboard.
@@ -1 +1 @@
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,EAEzC,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,GACT,SAAS,GACT,QAAQ,CACX;CAAG;AAoCR;;;;GAIG;AACH,QAAA,MAAM,UAAU,gKAAqD,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,EAEzC,MAAM,uBAAuB,CAAC;AAK/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,WAAW,GACX,cAAc,GACd,WAAW,GACX,WAAW,GACX,WAAW,GACX,SAAS,GACT,SAAS,GACT,QAAQ,CACX;CAAG;AAoCR;;;;GAIG;AACH,QAAA,MAAM,UAAU,gKAAqD,CAAC;AAEtE,OAAO,EAAE,UAAU,IAAI,SAAS,EAAE,CAAC"}
@@ -7,15 +7,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.TextField = void 0;
8
8
  const jsx_runtime_1 = require("react/jsx-runtime");
9
9
  const clsx_1 = __importDefault(require("clsx"));
10
- const react_1 = require("react");
11
10
  const react_aria_components_1 = require("react-aria-components");
12
11
  const forward_ref_js_1 = require("../../forward-ref.js");
12
+ const use_production_warning_js_1 = require("../../utils/use-production-warning.js");
13
13
  const with_style_props_js_1 = require("../../with-style-props.js");
14
14
  const form_field_js_1 = require("../internal/form-field/form-field.js");
15
15
  const utils_js_1 = require("../typography/utils.js");
16
16
  function TextField({ label, description, error: errorMessage, placeholder, UNSAFE_className, UNSAFE_style, ...props }, ref) {
17
17
  const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;
18
- (0, react_1.useEffect)(() => {
18
+ (0, use_production_warning_js_1.useProductionWarning)(() => {
19
19
  if (!label && !ariaLabel && !ariaLabelledBy) {
20
20
  console.warn('TextField requires one of label / aria-label / aria-labelledby for accessibility');
21
21
  }