@cimpress-ui/react 0.3.0 → 1.0.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 (709) hide show
  1. package/README.md +0 -2
  2. package/dist/commonjs/components/alert/alert.d.ts +25 -0
  3. package/dist/commonjs/components/alert/alert.d.ts.map +1 -0
  4. package/dist/commonjs/components/alert/alert.js +51 -0
  5. package/dist/commonjs/components/alert/alert.js.map +1 -0
  6. package/dist/commonjs/components/alert-dialog/alert-dialog.d.ts +51 -0
  7. package/dist/commonjs/components/alert-dialog/alert-dialog.d.ts.map +1 -0
  8. package/dist/commonjs/components/alert-dialog/alert-dialog.js +26 -0
  9. package/dist/commonjs/components/alert-dialog/alert-dialog.js.map +1 -0
  10. package/dist/commonjs/components/app-header/app-header.d.ts +20 -0
  11. package/dist/commonjs/components/app-header/app-header.d.ts.map +1 -0
  12. package/dist/commonjs/components/app-header/app-header.js +26 -0
  13. package/dist/commonjs/components/app-header/app-header.js.map +1 -0
  14. package/dist/commonjs/components/app-header/cimpress-logo.d.ts +2 -0
  15. package/dist/commonjs/components/app-header/cimpress-logo.d.ts.map +1 -0
  16. package/dist/commonjs/components/app-header/cimpress-logo.js +9 -0
  17. package/dist/commonjs/components/app-header/cimpress-logo.js.map +1 -0
  18. package/dist/commonjs/components/app-header/simple-auth-tool.d.ts +29 -0
  19. package/dist/commonjs/components/app-header/simple-auth-tool.d.ts.map +1 -0
  20. package/dist/commonjs/components/app-header/simple-auth-tool.js +31 -0
  21. package/dist/commonjs/components/app-header/simple-auth-tool.js.map +1 -0
  22. package/dist/commonjs/components/breadcrumbs/breadcrumbs.d.ts.map +1 -1
  23. package/dist/commonjs/components/breadcrumbs/breadcrumbs.js +17 -1
  24. package/dist/commonjs/components/breadcrumbs/breadcrumbs.js.map +1 -1
  25. package/dist/commonjs/components/button/button.d.ts.map +1 -1
  26. package/dist/commonjs/components/button/button.js +3 -3
  27. package/dist/commonjs/components/button/button.js.map +1 -1
  28. package/dist/commonjs/components/button/icon-button.d.ts.map +1 -1
  29. package/dist/commonjs/components/button/icon-button.js +3 -3
  30. package/dist/commonjs/components/button/icon-button.js.map +1 -1
  31. package/dist/commonjs/components/button/icon-link-button.js +1 -1
  32. package/dist/commonjs/components/button/icon-link-button.js.map +1 -1
  33. package/dist/commonjs/components/button/link-button.js +1 -1
  34. package/dist/commonjs/components/button/link-button.js.map +1 -1
  35. package/dist/commonjs/components/button/types.js.map +1 -1
  36. package/dist/commonjs/components/callout/callout.d.ts +27 -0
  37. package/dist/commonjs/components/callout/callout.d.ts.map +1 -0
  38. package/dist/commonjs/components/callout/callout.js +46 -0
  39. package/dist/commonjs/components/callout/callout.js.map +1 -0
  40. package/dist/commonjs/components/card/card.d.ts +51 -11
  41. package/dist/commonjs/components/card/card.d.ts.map +1 -1
  42. package/dist/commonjs/components/card/card.js +19 -13
  43. package/dist/commonjs/components/card/card.js.map +1 -1
  44. package/dist/commonjs/components/checkbox/checkbox-group.d.ts +1 -1
  45. package/dist/commonjs/components/checkbox/checkbox-group.d.ts.map +1 -1
  46. package/dist/commonjs/components/checkbox/checkbox-group.js +2 -2
  47. package/dist/commonjs/components/checkbox/checkbox-group.js.map +1 -1
  48. package/dist/commonjs/components/checkbox/checkbox.d.ts.map +1 -1
  49. package/dist/commonjs/components/checkbox/checkbox.js +3 -3
  50. package/dist/commonjs/components/checkbox/checkbox.js.map +1 -1
  51. package/dist/commonjs/components/combo-box/combo-box.d.ts +7 -1
  52. package/dist/commonjs/components/combo-box/combo-box.d.ts.map +1 -1
  53. package/dist/commonjs/components/combo-box/combo-box.js +15 -6
  54. package/dist/commonjs/components/combo-box/combo-box.js.map +1 -1
  55. package/dist/commonjs/components/container/container.d.ts +16 -0
  56. package/dist/commonjs/components/container/container.d.ts.map +1 -0
  57. package/dist/commonjs/components/container/container.js +13 -0
  58. package/dist/commonjs/components/container/container.js.map +1 -0
  59. package/dist/commonjs/components/date-picker/date-picker-calendar.d.ts +2 -0
  60. package/dist/commonjs/components/date-picker/date-picker-calendar.d.ts.map +1 -0
  61. package/dist/commonjs/components/date-picker/date-picker-calendar.js +26 -0
  62. package/dist/commonjs/components/date-picker/date-picker-calendar.js.map +1 -0
  63. package/dist/commonjs/components/date-picker/date-picker.d.ts +17 -0
  64. package/dist/commonjs/components/date-picker/date-picker.d.ts.map +1 -0
  65. package/dist/commonjs/components/date-picker/date-picker.js +54 -0
  66. package/dist/commonjs/components/date-picker/date-picker.js.map +1 -0
  67. package/dist/commonjs/components/date-picker/utils.d.ts +2 -0
  68. package/dist/commonjs/components/date-picker/utils.d.ts.map +1 -0
  69. package/dist/commonjs/components/date-picker/utils.js +31 -0
  70. package/dist/commonjs/components/date-picker/utils.js.map +1 -0
  71. package/dist/commonjs/components/date-picker/views/month/month-view.d.ts +2 -0
  72. package/dist/commonjs/components/date-picker/views/month/month-view.d.ts.map +1 -0
  73. package/dist/commonjs/components/date-picker/views/month/month-view.js +35 -0
  74. package/dist/commonjs/components/date-picker/views/month/month-view.js.map +1 -0
  75. package/dist/commonjs/components/date-picker/views/multi-year/multi-year-view.d.ts +2 -0
  76. package/dist/commonjs/components/date-picker/views/multi-year/multi-year-view.d.ts.map +1 -0
  77. package/dist/commonjs/components/date-picker/views/multi-year/multi-year-view.js +16 -0
  78. package/dist/commonjs/components/date-picker/views/multi-year/multi-year-view.js.map +1 -0
  79. package/dist/commonjs/components/date-picker/views/multi-year/use-multi-year-view-state.d.ts +2 -0
  80. package/dist/commonjs/components/date-picker/views/multi-year/use-multi-year-view-state.d.ts.map +1 -0
  81. package/dist/commonjs/components/date-picker/views/multi-year/use-multi-year-view-state.js +130 -0
  82. package/dist/commonjs/components/date-picker/views/multi-year/use-multi-year-view-state.js.map +1 -0
  83. package/dist/commonjs/components/date-picker/views/types.d.ts +2 -0
  84. package/dist/commonjs/components/date-picker/views/types.d.ts.map +1 -0
  85. package/dist/commonjs/components/date-picker/views/types.js +3 -0
  86. package/dist/commonjs/components/date-picker/views/types.js.map +1 -0
  87. package/dist/commonjs/components/date-picker/views/use-view-header.d.ts +2 -0
  88. package/dist/commonjs/components/date-picker/views/use-view-header.d.ts.map +1 -0
  89. package/dist/commonjs/components/date-picker/views/use-view-header.js +56 -0
  90. package/dist/commonjs/components/date-picker/views/use-view-header.js.map +1 -0
  91. package/dist/commonjs/components/date-picker/views/view-grid-cell.d.ts +2 -0
  92. package/dist/commonjs/components/date-picker/views/view-grid-cell.d.ts.map +1 -0
  93. package/dist/commonjs/components/date-picker/views/view-grid-cell.js +72 -0
  94. package/dist/commonjs/components/date-picker/views/view-grid-cell.js.map +1 -0
  95. package/dist/commonjs/components/date-picker/views/view-grid.d.ts +2 -0
  96. package/dist/commonjs/components/date-picker/views/view-grid.d.ts.map +1 -0
  97. package/dist/commonjs/components/date-picker/views/view-grid.js +75 -0
  98. package/dist/commonjs/components/date-picker/views/view-grid.js.map +1 -0
  99. package/dist/commonjs/components/date-picker/views/view-provider.d.ts +2 -0
  100. package/dist/commonjs/components/date-picker/views/view-provider.d.ts.map +1 -0
  101. package/dist/commonjs/components/date-picker/views/view-provider.js +21 -0
  102. package/dist/commonjs/components/date-picker/views/view-provider.js.map +1 -0
  103. package/dist/commonjs/components/date-picker/views/year/use-year-view-state.d.ts +2 -0
  104. package/dist/commonjs/components/date-picker/views/year/use-year-view-state.d.ts.map +1 -0
  105. package/dist/commonjs/components/date-picker/views/year/use-year-view-state.js +158 -0
  106. package/dist/commonjs/components/date-picker/views/year/use-year-view-state.js.map +1 -0
  107. package/dist/commonjs/components/date-picker/views/year/year-view.d.ts +2 -0
  108. package/dist/commonjs/components/date-picker/views/year/year-view.d.ts.map +1 -0
  109. package/dist/commonjs/components/date-picker/views/year/year-view.js +20 -0
  110. package/dist/commonjs/components/date-picker/views/year/year-view.js.map +1 -0
  111. package/dist/commonjs/components/dialog-root/dialog-root.d.ts +20 -0
  112. package/dist/commonjs/components/dialog-root/dialog-root.d.ts.map +1 -0
  113. package/dist/commonjs/components/dialog-root/dialog-root.js +15 -0
  114. package/dist/commonjs/components/dialog-root/dialog-root.js.map +1 -0
  115. package/dist/commonjs/components/disclosure/context.d.ts +3 -0
  116. package/dist/commonjs/components/disclosure/context.d.ts.map +1 -0
  117. package/dist/commonjs/components/disclosure/context.js +7 -0
  118. package/dist/commonjs/components/disclosure/context.js.map +1 -0
  119. package/dist/commonjs/components/disclosure/disclosure-group.d.ts +15 -4
  120. package/dist/commonjs/components/disclosure/disclosure-group.d.ts.map +1 -1
  121. package/dist/commonjs/components/disclosure/disclosure-group.js +11 -5
  122. package/dist/commonjs/components/disclosure/disclosure-group.js.map +1 -1
  123. package/dist/commonjs/components/disclosure/disclosure.d.ts +35 -4
  124. package/dist/commonjs/components/disclosure/disclosure.d.ts.map +1 -1
  125. package/dist/commonjs/components/disclosure/disclosure.js +16 -5
  126. package/dist/commonjs/components/disclosure/disclosure.js.map +1 -1
  127. package/dist/commonjs/components/divider/divider.d.ts +12 -0
  128. package/dist/commonjs/components/divider/divider.d.ts.map +1 -0
  129. package/dist/commonjs/components/divider/divider.js +19 -0
  130. package/dist/commonjs/components/divider/divider.js.map +1 -0
  131. package/dist/commonjs/components/drawer/drawer.d.ts +81 -0
  132. package/dist/commonjs/components/drawer/drawer.d.ts.map +1 -0
  133. package/dist/commonjs/components/drawer/drawer.js +59 -0
  134. package/dist/commonjs/components/drawer/drawer.js.map +1 -0
  135. package/dist/commonjs/components/file-picker/file-picker.d.ts +19 -0
  136. package/dist/commonjs/components/file-picker/file-picker.d.ts.map +1 -0
  137. package/dist/commonjs/components/file-picker/file-picker.js +68 -0
  138. package/dist/commonjs/components/file-picker/file-picker.js.map +1 -0
  139. package/dist/commonjs/components/internal/form-field/form-field.js +1 -1
  140. package/dist/commonjs/components/internal/form-field/form-field.js.map +1 -1
  141. package/dist/commonjs/components/internal/x-button/x-button.d.ts +2 -0
  142. package/dist/commonjs/components/internal/x-button/x-button.d.ts.map +1 -0
  143. package/dist/commonjs/components/internal/x-button/x-button.js +17 -0
  144. package/dist/commonjs/components/internal/x-button/x-button.js.map +1 -0
  145. package/dist/commonjs/components/link-tabs/context.d.ts +2 -0
  146. package/dist/commonjs/components/link-tabs/context.d.ts.map +1 -0
  147. package/dist/commonjs/components/link-tabs/context.js +7 -0
  148. package/dist/commonjs/components/link-tabs/context.js.map +1 -0
  149. package/dist/commonjs/components/link-tabs/link-tabs.d.ts +36 -0
  150. package/dist/commonjs/components/link-tabs/link-tabs.d.ts.map +1 -0
  151. package/dist/commonjs/components/link-tabs/link-tabs.js +54 -0
  152. package/dist/commonjs/components/link-tabs/link-tabs.js.map +1 -0
  153. package/dist/commonjs/components/menu/menu.d.ts +3 -6
  154. package/dist/commonjs/components/menu/menu.d.ts.map +1 -1
  155. package/dist/commonjs/components/menu/menu.js +4 -9
  156. package/dist/commonjs/components/menu/menu.js.map +1 -1
  157. package/dist/commonjs/components/modal-dialog/modal-dialog.d.ts +63 -0
  158. package/dist/commonjs/components/modal-dialog/modal-dialog.d.ts.map +1 -0
  159. package/dist/commonjs/components/modal-dialog/modal-dialog.js +46 -0
  160. package/dist/commonjs/components/modal-dialog/modal-dialog.js.map +1 -0
  161. package/dist/commonjs/components/number-field/number-field.d.ts +1 -1
  162. package/dist/commonjs/components/number-field/number-field.d.ts.map +1 -1
  163. package/dist/commonjs/components/number-field/number-field.js +6 -4
  164. package/dist/commonjs/components/number-field/number-field.js.map +1 -1
  165. package/dist/commonjs/components/pagination/base-pagination.d.ts.map +1 -1
  166. package/dist/commonjs/components/pagination/base-pagination.js +9 -10
  167. package/dist/commonjs/components/pagination/base-pagination.js.map +1 -1
  168. package/dist/commonjs/components/pagination/pagination.d.ts.map +1 -1
  169. package/dist/commonjs/components/pagination/pagination.js +7 -5
  170. package/dist/commonjs/components/pagination/pagination.js.map +1 -1
  171. package/dist/commonjs/components/popover/popover.d.ts +7 -2
  172. package/dist/commonjs/components/popover/popover.d.ts.map +1 -1
  173. package/dist/commonjs/components/popover/popover.js +2 -2
  174. package/dist/commonjs/components/popover/popover.js.map +1 -1
  175. package/dist/commonjs/components/radio/radio-group.d.ts +1 -1
  176. package/dist/commonjs/components/radio/radio-group.d.ts.map +1 -1
  177. package/dist/commonjs/components/radio/radio-group.js +2 -2
  178. package/dist/commonjs/components/radio/radio-group.js.map +1 -1
  179. package/dist/commonjs/components/radio/radio.d.ts.map +1 -1
  180. package/dist/commonjs/components/radio/radio.js +3 -3
  181. package/dist/commonjs/components/radio/radio.js.map +1 -1
  182. package/dist/commonjs/components/select/select.d.ts +7 -1
  183. package/dist/commonjs/components/select/select.d.ts.map +1 -1
  184. package/dist/commonjs/components/select/select.js +14 -6
  185. package/dist/commonjs/components/select/select.js.map +1 -1
  186. package/dist/commonjs/components/spacing/stack/stack.d.ts +1 -1
  187. package/dist/commonjs/components/spacing/stack/stack.js +1 -1
  188. package/dist/commonjs/components/spacing/stack/stack.js.map +1 -1
  189. package/dist/commonjs/components/spacing/types.d.ts +1 -1
  190. package/dist/commonjs/components/spacing/types.d.ts.map +1 -1
  191. package/dist/commonjs/components/spacing/types.js +2 -2
  192. package/dist/commonjs/components/spacing/types.js.map +1 -1
  193. package/dist/commonjs/components/spinner/spinner.d.ts.map +1 -1
  194. package/dist/commonjs/components/spinner/spinner.js +3 -3
  195. package/dist/commonjs/components/spinner/spinner.js.map +1 -1
  196. package/dist/commonjs/components/table/contexts/column-collection.d.ts.map +1 -1
  197. package/dist/commonjs/components/table/contexts/column-collection.js +2 -0
  198. package/dist/commonjs/components/table/contexts/column-collection.js.map +1 -1
  199. package/dist/commonjs/components/table/contexts/table-state.d.ts +1 -0
  200. package/dist/commonjs/components/table/contexts/table-state.d.ts.map +1 -1
  201. package/dist/commonjs/components/table/contexts/table-state.js +6 -1
  202. package/dist/commonjs/components/table/contexts/table-state.js.map +1 -1
  203. package/dist/commonjs/components/table/hooks/use-table-cell.js +2 -2
  204. package/dist/commonjs/components/table/hooks/use-table-cell.js.map +1 -1
  205. package/dist/commonjs/components/table/table-empty-state.js +1 -1
  206. package/dist/commonjs/components/table/table-empty-state.js.map +1 -1
  207. package/dist/commonjs/components/table/table-header-button.d.ts +2 -0
  208. package/dist/commonjs/components/table/table-header-button.d.ts.map +1 -0
  209. package/dist/commonjs/components/table/table-header-button.js +16 -0
  210. package/dist/commonjs/components/table/table-header-button.js.map +1 -0
  211. package/dist/commonjs/components/table/table-header-cell.d.ts.map +1 -1
  212. package/dist/commonjs/components/table/table-header-cell.js +7 -5
  213. package/dist/commonjs/components/table/table-header-cell.js.map +1 -1
  214. package/dist/commonjs/components/table/table.d.ts +1 -1
  215. package/dist/commonjs/components/table/table.d.ts.map +1 -1
  216. package/dist/commonjs/components/table/table.js +2 -2
  217. package/dist/commonjs/components/table/table.js.map +1 -1
  218. package/dist/commonjs/components/tabs/tabs.d.ts +53 -0
  219. package/dist/commonjs/components/tabs/tabs.d.ts.map +1 -0
  220. package/dist/commonjs/components/tabs/tabs.js +69 -0
  221. package/dist/commonjs/components/tabs/tabs.js.map +1 -0
  222. package/dist/commonjs/components/tag/tag-group.d.ts +1 -1
  223. package/dist/commonjs/components/tag/tag-group.d.ts.map +1 -1
  224. package/dist/commonjs/components/tag/tag-group.js.map +1 -1
  225. package/dist/commonjs/components/tag/tag.js +1 -1
  226. package/dist/commonjs/components/tag/tag.js.map +1 -1
  227. package/dist/commonjs/components/tag-field/tag-field-input.d.ts +2 -0
  228. package/dist/commonjs/components/tag-field/tag-field-input.d.ts.map +1 -0
  229. package/dist/commonjs/components/tag-field/tag-field-input.js +30 -0
  230. package/dist/commonjs/components/tag-field/tag-field-input.js.map +1 -0
  231. package/dist/commonjs/components/tag-field/tag-field-list-box.d.ts +2 -0
  232. package/dist/commonjs/components/tag-field/tag-field-list-box.d.ts.map +1 -0
  233. package/dist/commonjs/components/tag-field/tag-field-list-box.js +38 -0
  234. package/dist/commonjs/components/tag-field/tag-field-list-box.js.map +1 -0
  235. package/dist/commonjs/components/tag-field/tag-field-tags.d.ts +2 -0
  236. package/dist/commonjs/components/tag-field/tag-field-tags.d.ts.map +1 -0
  237. package/dist/commonjs/components/tag-field/tag-field-tags.js +29 -0
  238. package/dist/commonjs/components/tag-field/tag-field-tags.js.map +1 -0
  239. package/dist/commonjs/components/tag-field/tag-field.d.ts +51 -0
  240. package/dist/commonjs/components/tag-field/tag-field.d.ts.map +1 -0
  241. package/dist/commonjs/components/tag-field/tag-field.js +143 -0
  242. package/dist/commonjs/components/tag-field/tag-field.js.map +1 -0
  243. package/dist/commonjs/components/text-inputs/text-area.d.ts +1 -1
  244. package/dist/commonjs/components/text-inputs/text-area.d.ts.map +1 -1
  245. package/dist/commonjs/components/text-inputs/text-area.js +3 -3
  246. package/dist/commonjs/components/text-inputs/text-area.js.map +1 -1
  247. package/dist/commonjs/components/text-inputs/text-field.d.ts +1 -1
  248. package/dist/commonjs/components/text-inputs/text-field.d.ts.map +1 -1
  249. package/dist/commonjs/components/text-inputs/text-field.js +3 -3
  250. package/dist/commonjs/components/text-inputs/text-field.js.map +1 -1
  251. package/dist/commonjs/components/toast/toast-region.d.ts +5 -0
  252. package/dist/commonjs/components/toast/toast-region.d.ts.map +1 -0
  253. package/dist/commonjs/components/toast/toast-region.js +24 -0
  254. package/dist/commonjs/components/toast/toast-region.js.map +1 -0
  255. package/dist/commonjs/components/toast/toast.d.ts +2 -0
  256. package/dist/commonjs/components/toast/toast.d.ts.map +1 -0
  257. package/dist/commonjs/components/toast/toast.js +24 -0
  258. package/dist/commonjs/components/toast/toast.js.map +1 -0
  259. package/dist/commonjs/components/toast/types.d.ts +5 -0
  260. package/dist/commonjs/components/toast/types.d.ts.map +1 -0
  261. package/dist/commonjs/components/toast/types.js +3 -0
  262. package/dist/commonjs/components/toast/types.js.map +1 -0
  263. package/dist/commonjs/components/toggle/toggle.d.ts +14 -0
  264. package/dist/commonjs/components/toggle/toggle.d.ts.map +1 -0
  265. package/dist/commonjs/components/toggle/toggle.js +32 -0
  266. package/dist/commonjs/components/toggle/toggle.js.map +1 -0
  267. package/dist/commonjs/components/toggle-button/toggle-button-group.d.ts +15 -0
  268. package/dist/commonjs/components/toggle-button/toggle-button-group.d.ts.map +1 -0
  269. package/dist/commonjs/components/toggle-button/toggle-button-group.js +30 -0
  270. package/dist/commonjs/components/toggle-button/toggle-button-group.js.map +1 -0
  271. package/dist/commonjs/components/toggle-button/toggle-button.d.ts +16 -0
  272. package/dist/commonjs/components/toggle-button/toggle-button.d.ts.map +1 -0
  273. package/dist/commonjs/components/toggle-button/toggle-button.js +24 -0
  274. package/dist/commonjs/components/toggle-button/toggle-button.js.map +1 -0
  275. package/dist/commonjs/components/toggle-button/toggle-icon-button.d.ts +14 -0
  276. package/dist/commonjs/components/toggle-button/toggle-icon-button.d.ts.map +1 -0
  277. package/dist/commonjs/components/toggle-button/toggle-icon-button.js +24 -0
  278. package/dist/commonjs/components/toggle-button/toggle-icon-button.js.map +1 -0
  279. package/dist/commonjs/components/tooltip/tooltip.d.ts +4 -2
  280. package/dist/commonjs/components/tooltip/tooltip.d.ts.map +1 -1
  281. package/dist/commonjs/components/tooltip/tooltip.js.map +1 -1
  282. package/dist/commonjs/components/types.d.ts +4 -0
  283. package/dist/commonjs/components/types.d.ts.map +1 -1
  284. package/dist/commonjs/components/types.js.map +1 -1
  285. package/dist/commonjs/components/typography/text.d.ts.map +1 -1
  286. package/dist/commonjs/date.d.ts +2 -0
  287. package/dist/commonjs/date.d.ts.map +1 -0
  288. package/dist/commonjs/date.js +27 -0
  289. package/dist/commonjs/date.js.map +1 -0
  290. package/dist/commonjs/i18n/index.d.ts +3 -0
  291. package/dist/commonjs/i18n/index.d.ts.map +1 -0
  292. package/dist/commonjs/i18n/index.js +19 -0
  293. package/dist/commonjs/i18n/index.js.map +1 -0
  294. package/dist/commonjs/i18n/localization-provider.d.ts +59 -0
  295. package/dist/commonjs/i18n/localization-provider.d.ts.map +1 -0
  296. package/dist/commonjs/i18n/localization-provider.js +82 -0
  297. package/dist/commonjs/i18n/localization-provider.js.map +1 -0
  298. package/dist/commonjs/i18n/messages/en-US.d.ts +4 -0
  299. package/dist/commonjs/i18n/messages/en-US.d.ts.map +1 -0
  300. package/dist/commonjs/i18n/messages/en-US.js +44 -0
  301. package/dist/commonjs/i18n/messages/en-US.js.map +1 -0
  302. package/dist/commonjs/i18n/messages/index.d.ts +3 -0
  303. package/dist/commonjs/i18n/messages/index.d.ts.map +1 -0
  304. package/dist/commonjs/i18n/messages/index.js +6 -0
  305. package/dist/commonjs/i18n/messages/index.js.map +1 -0
  306. package/dist/commonjs/i18n/messages/types.d.ts +82 -0
  307. package/dist/commonjs/i18n/messages/types.d.ts.map +1 -0
  308. package/dist/commonjs/i18n/messages/types.js +3 -0
  309. package/dist/commonjs/i18n/messages/types.js.map +1 -0
  310. package/dist/commonjs/icons/index.d.ts +1 -0
  311. package/dist/commonjs/icons/index.d.ts.map +1 -1
  312. package/dist/commonjs/icons/index.js +3 -1
  313. package/dist/commonjs/icons/index.js.map +1 -1
  314. package/dist/commonjs/icons/rating-star.d.ts +8 -0
  315. package/dist/commonjs/icons/rating-star.d.ts.map +1 -0
  316. package/dist/commonjs/icons/rating-star.js +24 -0
  317. package/dist/commonjs/icons/rating-star.js.map +1 -0
  318. package/dist/commonjs/index.d.ts +26 -5
  319. package/dist/commonjs/index.d.ts.map +1 -1
  320. package/dist/commonjs/index.js +24 -5
  321. package/dist/commonjs/index.js.map +1 -1
  322. package/dist/commonjs/providers/ssr/ssr-provider.d.ts +1 -3
  323. package/dist/commonjs/providers/ssr/ssr-provider.d.ts.map +1 -1
  324. package/dist/commonjs/providers/ssr/ssr-provider.js +2 -2
  325. package/dist/commonjs/providers/ssr/ssr-provider.js.map +1 -1
  326. package/dist/commonjs/utils/is-production.d.ts +2 -0
  327. package/dist/commonjs/utils/is-production.d.ts.map +1 -0
  328. package/dist/commonjs/utils/is-production.js +7 -0
  329. package/dist/commonjs/utils/is-production.js.map +1 -0
  330. package/dist/commonjs/utils/style/types.d.ts +1 -1
  331. package/dist/commonjs/utils/style/types.d.ts.map +1 -1
  332. package/dist/commonjs/utils/style/types.js.map +1 -1
  333. package/dist/commonjs/utils/use-media-query.d.ts +2 -0
  334. package/dist/commonjs/utils/use-media-query.d.ts.map +1 -0
  335. package/dist/commonjs/utils/use-media-query.js +35 -0
  336. package/dist/commonjs/utils/use-media-query.js.map +1 -0
  337. package/dist/commonjs/utils/use-production-warning.d.ts +3 -0
  338. package/dist/commonjs/utils/use-production-warning.d.ts.map +1 -0
  339. package/dist/commonjs/utils/use-production-warning.js +7 -0
  340. package/dist/commonjs/utils/use-production-warning.js.map +1 -0
  341. package/dist/commonjs/with-style-props.d.ts.map +1 -1
  342. package/dist/esm/components/alert/alert.d.ts +25 -0
  343. package/dist/esm/components/alert/alert.d.ts.map +1 -0
  344. package/dist/esm/components/alert/alert.js +45 -0
  345. package/dist/esm/components/alert/alert.js.map +1 -0
  346. package/dist/esm/components/alert-dialog/alert-dialog.d.ts +51 -0
  347. package/dist/esm/components/alert-dialog/alert-dialog.d.ts.map +1 -0
  348. package/dist/esm/components/alert-dialog/alert-dialog.js +20 -0
  349. package/dist/esm/components/alert-dialog/alert-dialog.js.map +1 -0
  350. package/dist/esm/components/app-header/app-header.d.ts +20 -0
  351. package/dist/esm/components/app-header/app-header.d.ts.map +1 -0
  352. package/dist/esm/components/app-header/app-header.js +20 -0
  353. package/dist/esm/components/app-header/app-header.js.map +1 -0
  354. package/dist/esm/components/app-header/cimpress-logo.d.ts +2 -0
  355. package/dist/esm/components/app-header/cimpress-logo.d.ts.map +1 -0
  356. package/dist/esm/components/app-header/cimpress-logo.js +6 -0
  357. package/dist/esm/components/app-header/cimpress-logo.js.map +1 -0
  358. package/dist/esm/components/app-header/simple-auth-tool.d.ts +29 -0
  359. package/dist/esm/components/app-header/simple-auth-tool.d.ts.map +1 -0
  360. package/dist/esm/components/app-header/simple-auth-tool.js +28 -0
  361. package/dist/esm/components/app-header/simple-auth-tool.js.map +1 -0
  362. package/dist/esm/components/breadcrumbs/breadcrumbs.d.ts.map +1 -1
  363. package/dist/esm/components/breadcrumbs/breadcrumbs.js +18 -2
  364. package/dist/esm/components/breadcrumbs/breadcrumbs.js.map +1 -1
  365. package/dist/esm/components/button/button.d.ts.map +1 -1
  366. package/dist/esm/components/button/button.js +3 -3
  367. package/dist/esm/components/button/button.js.map +1 -1
  368. package/dist/esm/components/button/icon-button.d.ts.map +1 -1
  369. package/dist/esm/components/button/icon-button.js +3 -3
  370. package/dist/esm/components/button/icon-button.js.map +1 -1
  371. package/dist/esm/components/button/icon-link-button.js +1 -1
  372. package/dist/esm/components/button/icon-link-button.js.map +1 -1
  373. package/dist/esm/components/button/link-button.js +1 -1
  374. package/dist/esm/components/button/link-button.js.map +1 -1
  375. package/dist/esm/components/button/types.js.map +1 -1
  376. package/dist/esm/components/callout/callout.d.ts +27 -0
  377. package/dist/esm/components/callout/callout.d.ts.map +1 -0
  378. package/dist/esm/components/callout/callout.js +40 -0
  379. package/dist/esm/components/callout/callout.js.map +1 -0
  380. package/dist/esm/components/card/card.d.ts +51 -11
  381. package/dist/esm/components/card/card.d.ts.map +1 -1
  382. package/dist/esm/components/card/card.js +17 -12
  383. package/dist/esm/components/card/card.js.map +1 -1
  384. package/dist/esm/components/checkbox/checkbox-group.d.ts +1 -1
  385. package/dist/esm/components/checkbox/checkbox-group.d.ts.map +1 -1
  386. package/dist/esm/components/checkbox/checkbox-group.js +2 -2
  387. package/dist/esm/components/checkbox/checkbox-group.js.map +1 -1
  388. package/dist/esm/components/checkbox/checkbox.d.ts.map +1 -1
  389. package/dist/esm/components/checkbox/checkbox.js +3 -3
  390. package/dist/esm/components/checkbox/checkbox.js.map +1 -1
  391. package/dist/esm/components/combo-box/combo-box.d.ts +7 -1
  392. package/dist/esm/components/combo-box/combo-box.d.ts.map +1 -1
  393. package/dist/esm/components/combo-box/combo-box.js +17 -8
  394. package/dist/esm/components/combo-box/combo-box.js.map +1 -1
  395. package/dist/esm/components/container/container.d.ts +16 -0
  396. package/dist/esm/components/container/container.d.ts.map +1 -0
  397. package/dist/esm/components/container/container.js +7 -0
  398. package/dist/esm/components/container/container.js.map +1 -0
  399. package/dist/esm/components/date-picker/date-picker-calendar.d.ts +2 -0
  400. package/dist/esm/components/date-picker/date-picker-calendar.d.ts.map +1 -0
  401. package/dist/esm/components/date-picker/date-picker-calendar.js +23 -0
  402. package/dist/esm/components/date-picker/date-picker-calendar.js.map +1 -0
  403. package/dist/esm/components/date-picker/date-picker.d.ts +17 -0
  404. package/dist/esm/components/date-picker/date-picker.d.ts.map +1 -0
  405. package/dist/esm/components/date-picker/date-picker.js +48 -0
  406. package/dist/esm/components/date-picker/date-picker.js.map +1 -0
  407. package/dist/esm/components/date-picker/utils.d.ts +2 -0
  408. package/dist/esm/components/date-picker/utils.d.ts.map +1 -0
  409. package/dist/esm/components/date-picker/utils.js +26 -0
  410. package/dist/esm/components/date-picker/utils.js.map +1 -0
  411. package/dist/esm/components/date-picker/views/month/month-view.d.ts +2 -0
  412. package/dist/esm/components/date-picker/views/month/month-view.d.ts.map +1 -0
  413. package/dist/esm/components/date-picker/views/month/month-view.js +29 -0
  414. package/dist/esm/components/date-picker/views/month/month-view.js.map +1 -0
  415. package/dist/esm/components/date-picker/views/multi-year/multi-year-view.d.ts +2 -0
  416. package/dist/esm/components/date-picker/views/multi-year/multi-year-view.d.ts.map +1 -0
  417. package/dist/esm/components/date-picker/views/multi-year/multi-year-view.js +13 -0
  418. package/dist/esm/components/date-picker/views/multi-year/multi-year-view.js.map +1 -0
  419. package/dist/esm/components/date-picker/views/multi-year/use-multi-year-view-state.d.ts +2 -0
  420. package/dist/esm/components/date-picker/views/multi-year/use-multi-year-view-state.d.ts.map +1 -0
  421. package/dist/esm/components/date-picker/views/multi-year/use-multi-year-view-state.js +127 -0
  422. package/dist/esm/components/date-picker/views/multi-year/use-multi-year-view-state.js.map +1 -0
  423. package/dist/esm/components/date-picker/views/types.d.ts +2 -0
  424. package/dist/esm/components/date-picker/views/types.d.ts.map +1 -0
  425. package/dist/esm/components/date-picker/views/types.js +2 -0
  426. package/dist/esm/components/date-picker/views/types.js.map +1 -0
  427. package/dist/esm/components/date-picker/views/use-view-header.d.ts +2 -0
  428. package/dist/esm/components/date-picker/views/use-view-header.d.ts.map +1 -0
  429. package/dist/esm/components/date-picker/views/use-view-header.js +53 -0
  430. package/dist/esm/components/date-picker/views/use-view-header.js.map +1 -0
  431. package/dist/esm/components/date-picker/views/view-grid-cell.d.ts +2 -0
  432. package/dist/esm/components/date-picker/views/view-grid-cell.d.ts.map +1 -0
  433. package/dist/esm/components/date-picker/views/view-grid-cell.js +66 -0
  434. package/dist/esm/components/date-picker/views/view-grid-cell.js.map +1 -0
  435. package/dist/esm/components/date-picker/views/view-grid.d.ts +2 -0
  436. package/dist/esm/components/date-picker/views/view-grid.d.ts.map +1 -0
  437. package/dist/esm/components/date-picker/views/view-grid.js +69 -0
  438. package/dist/esm/components/date-picker/views/view-grid.js.map +1 -0
  439. package/dist/esm/components/date-picker/views/view-provider.d.ts +2 -0
  440. package/dist/esm/components/date-picker/views/view-provider.d.ts.map +1 -0
  441. package/dist/esm/components/date-picker/views/view-provider.js +17 -0
  442. package/dist/esm/components/date-picker/views/view-provider.js.map +1 -0
  443. package/dist/esm/components/date-picker/views/year/use-year-view-state.d.ts +2 -0
  444. package/dist/esm/components/date-picker/views/year/use-year-view-state.d.ts.map +1 -0
  445. package/dist/esm/components/date-picker/views/year/use-year-view-state.js +155 -0
  446. package/dist/esm/components/date-picker/views/year/use-year-view-state.js.map +1 -0
  447. package/dist/esm/components/date-picker/views/year/year-view.d.ts +2 -0
  448. package/dist/esm/components/date-picker/views/year/year-view.d.ts.map +1 -0
  449. package/dist/esm/components/date-picker/views/year/year-view.js +17 -0
  450. package/dist/esm/components/date-picker/views/year/year-view.js.map +1 -0
  451. package/dist/esm/components/dialog-root/dialog-root.d.ts +20 -0
  452. package/dist/esm/components/dialog-root/dialog-root.d.ts.map +1 -0
  453. package/dist/esm/components/dialog-root/dialog-root.js +12 -0
  454. package/dist/esm/components/dialog-root/dialog-root.js.map +1 -0
  455. package/dist/esm/components/disclosure/context.d.ts +3 -0
  456. package/dist/esm/components/disclosure/context.d.ts.map +1 -0
  457. package/dist/esm/components/disclosure/context.js +4 -0
  458. package/dist/esm/components/disclosure/context.js.map +1 -0
  459. package/dist/esm/components/disclosure/disclosure-group.d.ts +15 -4
  460. package/dist/esm/components/disclosure/disclosure-group.d.ts.map +1 -1
  461. package/dist/esm/components/disclosure/disclosure-group.js +10 -4
  462. package/dist/esm/components/disclosure/disclosure-group.js.map +1 -1
  463. package/dist/esm/components/disclosure/disclosure.d.ts +35 -4
  464. package/dist/esm/components/disclosure/disclosure.d.ts.map +1 -1
  465. package/dist/esm/components/disclosure/disclosure.js +16 -5
  466. package/dist/esm/components/disclosure/disclosure.js.map +1 -1
  467. package/dist/esm/components/divider/divider.d.ts +12 -0
  468. package/dist/esm/components/divider/divider.d.ts.map +1 -0
  469. package/dist/esm/components/divider/divider.js +13 -0
  470. package/dist/esm/components/divider/divider.js.map +1 -0
  471. package/dist/esm/components/drawer/drawer.d.ts +81 -0
  472. package/dist/esm/components/drawer/drawer.d.ts.map +1 -0
  473. package/dist/esm/components/drawer/drawer.js +50 -0
  474. package/dist/esm/components/drawer/drawer.js.map +1 -0
  475. package/dist/esm/components/file-picker/file-picker.d.ts +19 -0
  476. package/dist/esm/components/file-picker/file-picker.d.ts.map +1 -0
  477. package/dist/esm/components/file-picker/file-picker.js +62 -0
  478. package/dist/esm/components/file-picker/file-picker.js.map +1 -0
  479. package/dist/esm/components/internal/form-field/form-field.js +1 -1
  480. package/dist/esm/components/internal/form-field/form-field.js.map +1 -1
  481. package/dist/esm/components/internal/x-button/x-button.d.ts +2 -0
  482. package/dist/esm/components/internal/x-button/x-button.d.ts.map +1 -0
  483. package/dist/esm/components/internal/x-button/x-button.js +11 -0
  484. package/dist/esm/components/internal/x-button/x-button.js.map +1 -0
  485. package/dist/esm/components/link-tabs/context.d.ts +2 -0
  486. package/dist/esm/components/link-tabs/context.d.ts.map +1 -0
  487. package/dist/esm/components/link-tabs/context.js +4 -0
  488. package/dist/esm/components/link-tabs/context.js.map +1 -0
  489. package/dist/esm/components/link-tabs/link-tabs.d.ts +36 -0
  490. package/dist/esm/components/link-tabs/link-tabs.d.ts.map +1 -0
  491. package/dist/esm/components/link-tabs/link-tabs.js +47 -0
  492. package/dist/esm/components/link-tabs/link-tabs.js.map +1 -0
  493. package/dist/esm/components/menu/menu.d.ts +3 -6
  494. package/dist/esm/components/menu/menu.d.ts.map +1 -1
  495. package/dist/esm/components/menu/menu.js +5 -9
  496. package/dist/esm/components/menu/menu.js.map +1 -1
  497. package/dist/esm/components/modal-dialog/modal-dialog.d.ts +63 -0
  498. package/dist/esm/components/modal-dialog/modal-dialog.d.ts.map +1 -0
  499. package/dist/esm/components/modal-dialog/modal-dialog.js +38 -0
  500. package/dist/esm/components/modal-dialog/modal-dialog.js.map +1 -0
  501. package/dist/esm/components/number-field/number-field.d.ts +1 -1
  502. package/dist/esm/components/number-field/number-field.d.ts.map +1 -1
  503. package/dist/esm/components/number-field/number-field.js +5 -3
  504. package/dist/esm/components/number-field/number-field.js.map +1 -1
  505. package/dist/esm/components/pagination/base-pagination.d.ts.map +1 -1
  506. package/dist/esm/components/pagination/base-pagination.js +6 -7
  507. package/dist/esm/components/pagination/base-pagination.js.map +1 -1
  508. package/dist/esm/components/pagination/pagination.d.ts.map +1 -1
  509. package/dist/esm/components/pagination/pagination.js +7 -5
  510. package/dist/esm/components/pagination/pagination.js.map +1 -1
  511. package/dist/esm/components/popover/popover.d.ts +7 -2
  512. package/dist/esm/components/popover/popover.d.ts.map +1 -1
  513. package/dist/esm/components/popover/popover.js +2 -2
  514. package/dist/esm/components/popover/popover.js.map +1 -1
  515. package/dist/esm/components/radio/radio-group.d.ts +1 -1
  516. package/dist/esm/components/radio/radio-group.d.ts.map +1 -1
  517. package/dist/esm/components/radio/radio-group.js +2 -2
  518. package/dist/esm/components/radio/radio-group.js.map +1 -1
  519. package/dist/esm/components/radio/radio.d.ts.map +1 -1
  520. package/dist/esm/components/radio/radio.js +3 -3
  521. package/dist/esm/components/radio/radio.js.map +1 -1
  522. package/dist/esm/components/select/select.d.ts +7 -1
  523. package/dist/esm/components/select/select.d.ts.map +1 -1
  524. package/dist/esm/components/select/select.js +15 -7
  525. package/dist/esm/components/select/select.js.map +1 -1
  526. package/dist/esm/components/spacing/stack/stack.d.ts +1 -1
  527. package/dist/esm/components/spacing/stack/stack.js +1 -1
  528. package/dist/esm/components/spacing/stack/stack.js.map +1 -1
  529. package/dist/esm/components/spacing/types.d.ts +1 -1
  530. package/dist/esm/components/spacing/types.d.ts.map +1 -1
  531. package/dist/esm/components/spacing/types.js +2 -2
  532. package/dist/esm/components/spacing/types.js.map +1 -1
  533. package/dist/esm/components/spinner/spinner.d.ts.map +1 -1
  534. package/dist/esm/components/spinner/spinner.js +3 -3
  535. package/dist/esm/components/spinner/spinner.js.map +1 -1
  536. package/dist/esm/components/table/contexts/column-collection.d.ts.map +1 -1
  537. package/dist/esm/components/table/contexts/column-collection.js +2 -0
  538. package/dist/esm/components/table/contexts/column-collection.js.map +1 -1
  539. package/dist/esm/components/table/contexts/table-state.d.ts +1 -0
  540. package/dist/esm/components/table/contexts/table-state.d.ts.map +1 -1
  541. package/dist/esm/components/table/contexts/table-state.js +8 -3
  542. package/dist/esm/components/table/contexts/table-state.js.map +1 -1
  543. package/dist/esm/components/table/hooks/use-table-cell.js +2 -2
  544. package/dist/esm/components/table/hooks/use-table-cell.js.map +1 -1
  545. package/dist/esm/components/table/table-empty-state.js +1 -1
  546. package/dist/esm/components/table/table-empty-state.js.map +1 -1
  547. package/dist/esm/components/table/table-header-button.d.ts +2 -0
  548. package/dist/esm/components/table/table-header-button.d.ts.map +1 -0
  549. package/dist/esm/components/table/table-header-button.js +10 -0
  550. package/dist/esm/components/table/table-header-button.js.map +1 -0
  551. package/dist/esm/components/table/table-header-cell.d.ts.map +1 -1
  552. package/dist/esm/components/table/table-header-cell.js +9 -7
  553. package/dist/esm/components/table/table-header-cell.js.map +1 -1
  554. package/dist/esm/components/table/table.d.ts +1 -1
  555. package/dist/esm/components/table/table.d.ts.map +1 -1
  556. package/dist/esm/components/table/table.js +2 -2
  557. package/dist/esm/components/table/table.js.map +1 -1
  558. package/dist/esm/components/tabs/tabs.d.ts +53 -0
  559. package/dist/esm/components/tabs/tabs.d.ts.map +1 -0
  560. package/dist/esm/components/tabs/tabs.js +59 -0
  561. package/dist/esm/components/tabs/tabs.js.map +1 -0
  562. package/dist/esm/components/tag/tag-group.d.ts +1 -1
  563. package/dist/esm/components/tag/tag-group.d.ts.map +1 -1
  564. package/dist/esm/components/tag/tag-group.js.map +1 -1
  565. package/dist/esm/components/tag/tag.js +1 -1
  566. package/dist/esm/components/tag/tag.js.map +1 -1
  567. package/dist/esm/components/tag-field/tag-field-input.d.ts +2 -0
  568. package/dist/esm/components/tag-field/tag-field-input.d.ts.map +1 -0
  569. package/dist/esm/components/tag-field/tag-field-input.js +24 -0
  570. package/dist/esm/components/tag-field/tag-field-input.js.map +1 -0
  571. package/dist/esm/components/tag-field/tag-field-list-box.d.ts +2 -0
  572. package/dist/esm/components/tag-field/tag-field-list-box.d.ts.map +1 -0
  573. package/dist/esm/components/tag-field/tag-field-list-box.js +35 -0
  574. package/dist/esm/components/tag-field/tag-field-list-box.js.map +1 -0
  575. package/dist/esm/components/tag-field/tag-field-tags.d.ts +2 -0
  576. package/dist/esm/components/tag-field/tag-field-tags.d.ts.map +1 -0
  577. package/dist/esm/components/tag-field/tag-field-tags.js +26 -0
  578. package/dist/esm/components/tag-field/tag-field-tags.js.map +1 -0
  579. package/dist/esm/components/tag-field/tag-field.d.ts +51 -0
  580. package/dist/esm/components/tag-field/tag-field.d.ts.map +1 -0
  581. package/dist/esm/components/tag-field/tag-field.js +135 -0
  582. package/dist/esm/components/tag-field/tag-field.js.map +1 -0
  583. package/dist/esm/components/text-inputs/text-area.d.ts +1 -1
  584. package/dist/esm/components/text-inputs/text-area.d.ts.map +1 -1
  585. package/dist/esm/components/text-inputs/text-area.js +3 -3
  586. package/dist/esm/components/text-inputs/text-area.js.map +1 -1
  587. package/dist/esm/components/text-inputs/text-field.d.ts +1 -1
  588. package/dist/esm/components/text-inputs/text-field.d.ts.map +1 -1
  589. package/dist/esm/components/text-inputs/text-field.js +3 -3
  590. package/dist/esm/components/text-inputs/text-field.js.map +1 -1
  591. package/dist/esm/components/toast/toast-region.d.ts +5 -0
  592. package/dist/esm/components/toast/toast-region.d.ts.map +1 -0
  593. package/dist/esm/components/toast/toast-region.js +20 -0
  594. package/dist/esm/components/toast/toast-region.js.map +1 -0
  595. package/dist/esm/components/toast/toast.d.ts +2 -0
  596. package/dist/esm/components/toast/toast.d.ts.map +1 -0
  597. package/dist/esm/components/toast/toast.js +21 -0
  598. package/dist/esm/components/toast/toast.js.map +1 -0
  599. package/dist/esm/components/toast/types.d.ts +5 -0
  600. package/dist/esm/components/toast/types.d.ts.map +1 -0
  601. package/dist/esm/components/toast/types.js +2 -0
  602. package/dist/esm/components/toast/types.js.map +1 -0
  603. package/dist/esm/components/toggle/toggle.d.ts +14 -0
  604. package/dist/esm/components/toggle/toggle.d.ts.map +1 -0
  605. package/dist/esm/components/toggle/toggle.js +26 -0
  606. package/dist/esm/components/toggle/toggle.js.map +1 -0
  607. package/dist/esm/components/toggle-button/toggle-button-group.d.ts +15 -0
  608. package/dist/esm/components/toggle-button/toggle-button-group.d.ts.map +1 -0
  609. package/dist/esm/components/toggle-button/toggle-button-group.js +24 -0
  610. package/dist/esm/components/toggle-button/toggle-button-group.js.map +1 -0
  611. package/dist/esm/components/toggle-button/toggle-button.d.ts +16 -0
  612. package/dist/esm/components/toggle-button/toggle-button.d.ts.map +1 -0
  613. package/dist/esm/components/toggle-button/toggle-button.js +18 -0
  614. package/dist/esm/components/toggle-button/toggle-button.js.map +1 -0
  615. package/dist/esm/components/toggle-button/toggle-icon-button.d.ts +14 -0
  616. package/dist/esm/components/toggle-button/toggle-icon-button.d.ts.map +1 -0
  617. package/dist/esm/components/toggle-button/toggle-icon-button.js +18 -0
  618. package/dist/esm/components/toggle-button/toggle-icon-button.js.map +1 -0
  619. package/dist/esm/components/tooltip/tooltip.d.ts +4 -2
  620. package/dist/esm/components/tooltip/tooltip.d.ts.map +1 -1
  621. package/dist/esm/components/tooltip/tooltip.js.map +1 -1
  622. package/dist/esm/components/types.d.ts +4 -0
  623. package/dist/esm/components/types.d.ts.map +1 -1
  624. package/dist/esm/components/types.js.map +1 -1
  625. package/dist/esm/components/typography/text.d.ts.map +1 -1
  626. package/dist/esm/date.d.ts +2 -0
  627. package/dist/esm/date.d.ts.map +1 -0
  628. package/dist/esm/date.js +11 -0
  629. package/dist/esm/date.js.map +1 -0
  630. package/dist/esm/i18n/index.d.ts +3 -0
  631. package/dist/esm/i18n/index.d.ts.map +1 -0
  632. package/dist/esm/i18n/index.js +3 -0
  633. package/dist/esm/i18n/index.js.map +1 -0
  634. package/dist/esm/i18n/localization-provider.d.ts +59 -0
  635. package/dist/esm/i18n/localization-provider.d.ts.map +1 -0
  636. package/dist/esm/i18n/localization-provider.js +76 -0
  637. package/dist/esm/i18n/localization-provider.js.map +1 -0
  638. package/dist/esm/i18n/messages/en-US.d.ts +4 -0
  639. package/dist/esm/i18n/messages/en-US.d.ts.map +1 -0
  640. package/dist/esm/i18n/messages/en-US.js +41 -0
  641. package/dist/esm/i18n/messages/en-US.js.map +1 -0
  642. package/dist/esm/i18n/messages/index.d.ts +3 -0
  643. package/dist/esm/i18n/messages/index.d.ts.map +1 -0
  644. package/dist/esm/i18n/messages/index.js +2 -0
  645. package/dist/esm/i18n/messages/index.js.map +1 -0
  646. package/dist/esm/i18n/messages/types.d.ts +82 -0
  647. package/dist/esm/i18n/messages/types.d.ts.map +1 -0
  648. package/dist/esm/i18n/messages/types.js +2 -0
  649. package/dist/esm/i18n/messages/types.js.map +1 -0
  650. package/dist/esm/icons/index.d.ts +1 -0
  651. package/dist/esm/icons/index.d.ts.map +1 -1
  652. package/dist/esm/icons/index.js +1 -0
  653. package/dist/esm/icons/index.js.map +1 -1
  654. package/dist/esm/icons/rating-star.d.ts +8 -0
  655. package/dist/esm/icons/rating-star.d.ts.map +1 -0
  656. package/dist/esm/icons/rating-star.js +19 -0
  657. package/dist/esm/icons/rating-star.js.map +1 -0
  658. package/dist/esm/index.d.ts +26 -5
  659. package/dist/esm/index.d.ts.map +1 -1
  660. package/dist/esm/index.js +24 -5
  661. package/dist/esm/index.js.map +1 -1
  662. package/dist/esm/providers/ssr/ssr-provider.d.ts +1 -3
  663. package/dist/esm/providers/ssr/ssr-provider.d.ts.map +1 -1
  664. package/dist/esm/providers/ssr/ssr-provider.js +3 -3
  665. package/dist/esm/providers/ssr/ssr-provider.js.map +1 -1
  666. package/dist/esm/utils/is-production.d.ts +2 -0
  667. package/dist/esm/utils/is-production.d.ts.map +1 -0
  668. package/dist/esm/utils/is-production.js +4 -0
  669. package/dist/esm/utils/is-production.js.map +1 -0
  670. package/dist/esm/utils/style/types.d.ts +1 -1
  671. package/dist/esm/utils/style/types.d.ts.map +1 -1
  672. package/dist/esm/utils/style/types.js.map +1 -1
  673. package/dist/esm/utils/use-media-query.d.ts +2 -0
  674. package/dist/esm/utils/use-media-query.d.ts.map +1 -0
  675. package/dist/esm/utils/use-media-query.js +32 -0
  676. package/dist/esm/utils/use-media-query.js.map +1 -0
  677. package/dist/esm/utils/use-production-warning.d.ts +3 -0
  678. package/dist/esm/utils/use-production-warning.d.ts.map +1 -0
  679. package/dist/esm/utils/use-production-warning.js +4 -0
  680. package/dist/esm/utils/use-production-warning.js.map +1 -0
  681. package/dist/esm/with-style-props.d.ts.map +1 -1
  682. package/dist-styles/core.css +1 -1
  683. package/dist-styles/normalize.css +1 -1
  684. package/dist-styles/styles.css +1 -1
  685. package/package.json +64 -20
  686. package/dist/commonjs/components/card/card-context.d.ts +0 -4
  687. package/dist/commonjs/components/card/card-context.d.ts.map +0 -1
  688. package/dist/commonjs/components/card/card-context.js +0 -6
  689. package/dist/commonjs/components/card/card-context.js.map +0 -1
  690. package/dist/commonjs/components/modal/modal.d.ts +0 -64
  691. package/dist/commonjs/components/modal/modal.d.ts.map +0 -1
  692. package/dist/commonjs/components/modal/modal.js +0 -40
  693. package/dist/commonjs/components/modal/modal.js.map +0 -1
  694. package/dist/commonjs/components/nav-tabs/nav-tabs.d.ts +0 -23
  695. package/dist/commonjs/components/nav-tabs/nav-tabs.d.ts.map +0 -1
  696. package/dist/commonjs/components/nav-tabs/nav-tabs.js +0 -27
  697. package/dist/commonjs/components/nav-tabs/nav-tabs.js.map +0 -1
  698. package/dist/esm/components/card/card-context.d.ts +0 -4
  699. package/dist/esm/components/card/card-context.d.ts.map +0 -1
  700. package/dist/esm/components/card/card-context.js +0 -3
  701. package/dist/esm/components/card/card-context.js.map +0 -1
  702. package/dist/esm/components/modal/modal.d.ts +0 -64
  703. package/dist/esm/components/modal/modal.d.ts.map +0 -1
  704. package/dist/esm/components/modal/modal.js +0 -33
  705. package/dist/esm/components/modal/modal.js.map +0 -1
  706. package/dist/esm/components/nav-tabs/nav-tabs.d.ts +0 -23
  707. package/dist/esm/components/nav-tabs/nav-tabs.d.ts.map +0 -1
  708. package/dist/esm/components/nav-tabs/nav-tabs.js +0 -20
  709. package/dist/esm/components/nav-tabs/nav-tabs.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../../src/components/tabs/tabs.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAgD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACrF,OAAO,EAML,KAAK,SAAS,IAAI,YAAY,EAC9B,KAAK,QAAQ,IAAI,WAAW,EAC7B,MAAM,uBAAuB,CAAC;AAI/B,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,WAAW,EACX,GAAG,EACH,kBAAkB,EACnB,MAAM,aAAa,CAAC;AASrB,MAAM,WAAW,SACf,SAAQ,WAAW,EACjB,iBAAiB,EACjB,IAAI,CAAC,YAAY,EAAE,aAAa,GAAG,oBAAoB,GAAG,cAAc,GAAG,mBAAmB,CAAC;IACjG,mGAAmG;IACnG,QAAQ,EAAE,SAAS,CAAC;CACrB;AAgDD;;;;GAIG;AACH,QAAA,MAAM,KAAK,2JAA2C,CAAC;AAEvD,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC;AAEzB,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,cAAc,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;CAAG;AAErF,8DAA8D;AAC9D,wBAAgB,OAAO,CAAC,CAAC,SAAS,cAAc,EAAE,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,2CAqBxF;yBArBe,OAAO;;;AAyBvB,MAAM,WAAW,QAAS,SAAQ,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,YAAY,GAAG,cAAc,GAAG,YAAY,CAAC;IACtG,4CAA4C;IAC5C,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,8CAA8C;IAC9C,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,6CAA6C;AAC7C,wBAAgB,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,QAAQ,2CAUrE;yBAVe,GAAG;;;AAcnB,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,cAAc,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;CAAG;AAEvF,mEAAmE;AACnE,wBAAgB,SAAS,CAAC,CAAC,SAAS,cAAc,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,2CAElF;yBAFe,SAAS;;;AAMzB,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,QAAQ,EAAE,SAAS,CAAC;IACpB,2CAA2C;IAG3C,EAAE,CAAC,EAAE,GAAG,CAAC;CACV;AAED,qDAAqD;AACrD,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,2CAWjE;yBAXe,QAAQ"}
@@ -0,0 +1,69 @@
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.Tabs = void 0;
8
+ exports.TabList = TabList;
9
+ exports.Tab = Tab;
10
+ exports.TabPanels = TabPanels;
11
+ exports.TabPanel = TabPanel;
12
+ const jsx_runtime_1 = require("react/jsx-runtime");
13
+ const clsx_1 = __importDefault(require("clsx"));
14
+ const react_1 = require("react");
15
+ const react_aria_components_1 = require("react-aria-components");
16
+ const forward_ref_js_1 = require("../../forward-ref.js");
17
+ const use_production_warning_js_1 = require("../../utils/use-production-warning.js");
18
+ const with_style_props_js_1 = require("../../with-style-props.js");
19
+ const text_js_1 = require("../typography/text.js");
20
+ const TabsContext = (0, react_1.createContext)({});
21
+ function Tabs({ children, UNSAFE_className, UNSAFE_style,
22
+ // Aria labeling props
23
+ 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, 'aria-describedby': ariaDescribedBy, 'aria-details': ariaDetails, ...props }, ref) {
24
+ (0, use_production_warning_js_1.useProductionWarning)(() => {
25
+ if (!ariaLabel && !ariaLabelledBy) {
26
+ console.warn('Tabs requires one of aria-label / aria-labelledby for accessibility');
27
+ }
28
+ }, [ariaLabel, ariaLabelledBy]);
29
+ return ((0, jsx_runtime_1.jsx)(TabsContext.Provider, { value: {
30
+ tabsProps: {
31
+ 'aria-label': ariaLabel,
32
+ 'aria-labelledby': ariaLabelledBy,
33
+ 'aria-describedby': ariaDescribedBy,
34
+ 'aria-details': ariaDetails,
35
+ },
36
+ }, children: (0, jsx_runtime_1.jsx)(react_aria_components_1.Tabs, { ...props, ref: ref, className: (0, clsx_1.default)('cim-tabs', UNSAFE_className), style: UNSAFE_style, keyboardActivation: "manual", children: children }) }));
37
+ }
38
+ /**
39
+ * Organizes content into multiple sections that users can switch between.
40
+ *
41
+ * See [tabs usage guidelines](https://ui.cimpress.io/components/tabs/).
42
+ */
43
+ const _Tabs = (0, with_style_props_js_1.withStyleProps)((0, forward_ref_js_1.forwardRef)(Tabs), 'Tabs');
44
+ exports.Tabs = _Tabs;
45
+ /** Renders a collection of `Tab` components within `Tabs`. */
46
+ function TabList({ children, ...props }) {
47
+ const { tabsProps } = (0, react_1.useContext)(TabsContext);
48
+ const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, 'aria-describedby': ariaDescribedBy, 'aria-details': ariaDetails, } = tabsProps ?? {};
49
+ return ((0, jsx_runtime_1.jsx)(react_aria_components_1.TabList, { ...props, className: "cim-tab-list", "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy, "aria-details": ariaDetails, children: children }));
50
+ }
51
+ TabList.displayName = 'TabList';
52
+ /** Renders a single tab within `TabList`. */
53
+ function Tab({ children, iconStart, badge, ...props }) {
54
+ return ((0, jsx_runtime_1.jsxs)(react_aria_components_1.Tab, { ...props, className: "cim-tab-item", children: [iconStart, (0, jsx_runtime_1.jsx)(text_js_1.Text, { as: "span", variant: "medium-semibold", alignment: "center", children: children }), badge] }));
55
+ }
56
+ Tab.displayName = 'Tab';
57
+ /** Renders a collection of `TabPanel` components within `Tabs`. */
58
+ function TabPanels({ ...props }) {
59
+ return (0, jsx_runtime_1.jsx)(react_aria_components_1.Collection, { ...props });
60
+ }
61
+ TabPanels.displayName = 'TabPanels';
62
+ /** Renders a single tab panel within `TabPanels`. */
63
+ function TabPanel({ children, id, ...props }) {
64
+ return ((0, jsx_runtime_1.jsx)(react_aria_components_1.TabPanel, { ...props, className: "cim-tab-panel",
65
+ // @ts-expect-error -- https://github.com/adobe/react-spectrum/issues/8422
66
+ id: id, children: children }));
67
+ }
68
+ TabPanel.displayName = 'TabPanel';
69
+ //# sourceMappingURL=tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../../src/components/tabs/tabs.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { createContext, useContext, type ForwardedRef, type ReactNode } from 'react';\nimport {\n Collection as RACCollection,\n Tab as RACTab,\n TabList as RACTabList,\n TabPanel as RACTabPanel,\n Tabs as RACTabs,\n type TabsProps as RACTabsProps,\n type TabProps as RACTabProps,\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 type {\n AriaLabelingProps,\n CollectionItem,\n CollectionProps,\n CommonProps,\n Key,\n StringLikeChildren,\n} from '../types.js';\nimport { Text } from '../typography/text.js';\n\ninterface TabsContextValue {\n tabsProps?: AriaLabelingProps;\n}\n\nconst TabsContext = createContext<TabsContextValue>({});\n\nexport interface TabsProps\n extends CommonProps,\n AriaLabelingProps,\n Pick<RACTabsProps, 'selectedKey' | 'defaultSelectedKey' | 'disabledKeys' | 'onSelectionChange'> {\n /** The children of the `<Tabs>` element. Should include `<TabList>` and `<TabPanels>` elements. */\n children: ReactNode;\n}\n\nfunction Tabs(\n {\n children,\n UNSAFE_className,\n UNSAFE_style,\n\n // Aria labeling props\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n 'aria-details': ariaDetails,\n\n ...props\n }: TabsProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n useProductionWarning(() => {\n if (!ariaLabel && !ariaLabelledBy) {\n console.warn('Tabs requires one of aria-label / aria-labelledby for accessibility');\n }\n }, [ariaLabel, ariaLabelledBy]);\n\n return (\n <TabsContext.Provider\n value={{\n tabsProps: {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n 'aria-details': ariaDetails,\n },\n }}\n >\n <RACTabs\n {...props}\n ref={ref}\n className={clsx('cim-tabs', UNSAFE_className)}\n style={UNSAFE_style}\n keyboardActivation=\"manual\"\n >\n {children}\n </RACTabs>\n </TabsContext.Provider>\n );\n}\n\n/**\n * Organizes content into multiple sections that users can switch between.\n *\n * See [tabs usage guidelines](https://ui.cimpress.io/components/tabs/).\n */\nconst _Tabs = withStyleProps(forwardRef(Tabs), 'Tabs');\n\nexport { _Tabs as Tabs };\n\nexport interface TabListProps<T extends CollectionItem> extends CollectionProps<T> {}\n\n/** Renders a collection of `Tab` components within `Tabs`. */\nexport function TabList<T extends CollectionItem>({ children, ...props }: TabListProps<T>) {\n const { tabsProps } = useContext(TabsContext);\n const {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n 'aria-details': ariaDetails,\n } = tabsProps ?? {};\n\n return (\n <RACTabList\n {...props}\n className=\"cim-tab-list\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-describedby={ariaDescribedBy}\n aria-details={ariaDetails}\n >\n {children}\n </RACTabList>\n );\n}\n\nTabList.displayName = 'TabList';\n\nexport interface TabProps extends Pick<RACTabProps, 'id' | 'isDisabled' | 'onHoverStart' | 'onHoverEnd'> {\n /** The text to display as the tab title. */\n children: StringLikeChildren;\n /** An icon displayed before the tab title. */\n iconStart?: ReactNode;\n /** A badge displayed after the tab title. */\n badge?: ReactNode;\n}\n\n/** Renders a single tab within `TabList`. */\nexport function Tab({ children, iconStart, badge, ...props }: TabProps) {\n return (\n <RACTab {...props} className=\"cim-tab-item\">\n {iconStart}\n <Text as=\"span\" variant=\"medium-semibold\" alignment=\"center\">\n {children}\n </Text>\n {badge}\n </RACTab>\n );\n}\n\nTab.displayName = 'Tab';\n\nexport interface TabPanelsProps<T extends CollectionItem> extends CollectionProps<T> {}\n\n/** Renders a collection of `TabPanel` components within `Tabs`. */\nexport function TabPanels<T extends CollectionItem>({ ...props }: TabPanelsProps<T>) {\n return <RACCollection {...props} />;\n}\n\nTabPanels.displayName = 'TabPanels';\n\nexport interface TabPanelProps {\n /** The content to display in the tab panel. */\n children: ReactNode;\n /** The unique id of the associated tab. */\n // `id` is not typed correctly in `react-aria-components`\n // https://github.com/adobe/react-spectrum/issues/8422\n id?: Key;\n}\n\n/** Renders a single tab panel within `TabPanels`. */\nexport function TabPanel({ children, id, ...props }: TabPanelProps) {\n return (\n <RACTabPanel\n {...props}\n className=\"cim-tab-panel\"\n // @ts-expect-error -- https://github.com/adobe/react-spectrum/issues/8422\n id={id}\n >\n {children}\n </RACTabPanel>\n );\n}\n\nTabPanel.displayName = 'TabPanel';\n"]}
@@ -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,30 @@
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
+ // Change `required` to `aria-required` so that form submission isn't blocked, but required state is still announced by screen readers
22
+ required: false,
23
+ 'aria-required': isRequired,
24
+ 'aria-invalid': isInvalid || undefined,
25
+ }, 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: 'body' })),
26
+ // Ensure the popover opens when the input is clicked.
27
+ // By default, React Aria only opens the popover when the input is focused.
28
+ onClick: () => !isReadOnly && comboBoxState.open(), placeholder: placeholder, onFocus: () => onFocusChange(true), onBlur: () => onFocusChange(false), "aria-describedby": [descriptionId, errorMessageId, ariaDescribedby].filter(Boolean).join(' ') || undefined }) }));
29
+ }
30
+ //# 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,sCA4CC;;AAxDD,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,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,MAAM,EAAE,CAAC,CAAC;YACtE,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 // 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: 'body' }))}\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,38 @@
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
+ const VIRTUAL_LAYOUT_OPTIONS = {
8
+ rowHeight: 36,
9
+ headingHeight: 32,
10
+ padding: 0,
11
+ gap: 0,
12
+ };
13
+ /** @internal */
14
+ function TagFieldListBox({ children, selectedKeys, setSelectedKeys, items, onScroll, isVirtualized, }) {
15
+ const listState = (0, react_1.useContext)(react_aria_components_1.ListStateContext);
16
+ // Override RACListStateContext to allow multiple selection within the list
17
+ const updatedListState = (0, react_1.useMemo)(() => {
18
+ if (!listState || !listState.selectionManager) {
19
+ return listState;
20
+ }
21
+ // @ts-expect-error `selectionManager.state` is private
22
+ // This is a temporary mutation before a context update, so this is fine
23
+ // eslint-disable-next-line react-hooks/react-compiler
24
+ listState.selectionManager.state.selectionMode = 'multiple';
25
+ // @ts-expect-error `selectionManager.state` is private
26
+ listState.selectionManager.state.selectedKeys = selectedKeys;
27
+ // @ts-expect-error `selectionManager.state` is private
28
+ listState.selectionManager.state.setSelectedKeys = setSelectedKeys;
29
+ // @ts-expect-error `selectionManager.state` is private
30
+ listState.selectionManager.state.disallowEmptySelection = false;
31
+ return {
32
+ ...listState,
33
+ };
34
+ }, [listState, selectedKeys, setSelectedKeys]);
35
+ const listBox = ((0, jsx_runtime_1.jsx)(react_aria_components_1.ListBox, { className: "cim-combo-box-listbox", onScroll: onScroll, items: items, children: children }));
36
+ return ((0, jsx_runtime_1.jsx)(react_aria_components_1.ListStateContext.Provider, { value: updatedListState, children: isVirtualized ? ((0, jsx_runtime_1.jsx)(react_aria_components_1.Virtualizer, { layout: react_aria_components_1.ListLayout, layoutOptions: VIRTUAL_LAYOUT_OPTIONS, children: listBox })) : (listBox) }));
37
+ }
38
+ //# 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":";;AAmBA,0CAoDC;;AAvED,iCAA4C;AAC5C,iEAM+B;AAI/B,MAAM,sBAAsB,GAAyB;IACnD,SAAS,EAAE,EAAE;IACb,aAAa,EAAE,EAAE;IACjB,OAAO,EAAE,CAAC;IACV,GAAG,EAAE,CAAC;CACP,CAAC;AAEF,gBAAgB;AAChB,SAAgB,eAAe,CAA2B,EACxD,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,KAAK,EACL,QAAQ,EACR,aAAa,GAId;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,MAAM,OAAO,GAAG,CACd,uBAAC,+BAAU,IAAC,SAAS,EAAC,uBAAuB,EAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,YAC3E,QAAQ,GACE,CACd,CAAC;IAEF,OAAO,CACL,uBAAC,wCAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,gBAAgB,YAClD,aAAa,CAAC,CAAC,CAAC,CACf,uBAAC,mCAAc,IAAC,MAAM,EAAE,kCAAa,EAAE,aAAa,EAAE,sBAAsB,YACzE,OAAO,GACO,CAClB,CAAC,CAAC,CAAC,CACF,OAAO,CACR,GAC4B,CAChC,CAAC;AACJ,CAAC","sourcesContent":["import { useContext, useMemo } from 'react';\nimport {\n ListBox as RACListBox,\n ListLayout as RACListLayout,\n type ListLayoutOptions as RACListLayoutOptions,\n ListStateContext as RACListStateContext,\n Virtualizer as RACVirtualizer,\n} from 'react-aria-components';\nimport type { CollectionItem, Key } from '../types.js';\nimport type { TagFieldProps } from './tag-field.js';\n\nconst VIRTUAL_LAYOUT_OPTIONS: RACListLayoutOptions = {\n rowHeight: 36,\n headingHeight: 32,\n padding: 0,\n gap: 0,\n};\n\n/** @internal */\nexport function TagFieldListBox<T extends CollectionItem>({\n children,\n selectedKeys,\n setSelectedKeys,\n items,\n onScroll,\n isVirtualized,\n}: Pick<TagFieldProps<T>, 'children' | 'items' | 'onScroll' | 'isVirtualized'> & {\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 const listBox = (\n <RACListBox className=\"cim-combo-box-listbox\" onScroll={onScroll} items={items}>\n {children}\n </RACListBox>\n );\n\n return (\n <RACListStateContext.Provider value={updatedListState}>\n {isVirtualized ? (\n <RACVirtualizer layout={RACListLayout} layoutOptions={VIRTUAL_LAYOUT_OPTIONS}>\n {listBox}\n </RACVirtualizer>\n ) : (\n listBox\n )}\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,29 @@
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, isReadOnly, 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: isReadOnly
24
+ ? undefined
25
+ : (keys) => {
26
+ keys.forEach(onRemove);
27
+ }, 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))) }) }));
28
+ }
29
+ //# 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,oCAkDC;;AAhED,iCAA4C;AAC5C,iEAM+B;AAC/B,sDAA+C;AAC/C,0CAAmD;AAInD,gBAAgB;AAChB,SAAgB,YAAY,CAA2B,EACrD,OAAO,EACP,YAAY,EACZ,UAAU,EACV,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,EACN,UAAU;gBACR,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;oBACP,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACzB,CAAC,YAGN,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 { TagFieldProps } from './tag-field.js';\n\n/** @internal */\nexport function TagFieldTags<T extends CollectionItem>({\n inputId,\n selectedKeys,\n isDisabled,\n isReadOnly,\n renderEmptyState,\n onRemove,\n}: Pick<TagFieldProps<T>, 'isDisabled' | 'isReadOnly' | '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={\n isReadOnly\n ? undefined\n : (keys) => {\n keys.forEach(onRemove);\n }\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,51 @@
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 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 TagFieldProps<T extends CollectionItem = CollectionItem> extends CommonProps, FieldWithPlaceholderProps<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
+ /** The currently selected keys in the collection (controlled). */
13
+ selectedKeys?: Iterable<Key>;
14
+ /** The initial selected keys in the collection (uncontrolled). */
15
+ defaultSelectedKeys?: Iterable<Key>;
16
+ /** Handler that is called when the selection changes. */
17
+ onSelectionChange?: (keys: Set<Key>) => void;
18
+ /**
19
+ * Whether the list of options should be virtualized. Use this as a performance optimization for large lists.
20
+ * @default false
21
+ */
22
+ isVirtualized?: boolean;
23
+ }
24
+ /**
25
+ * Allows users to filter a collapsible list and select multiple items from it.
26
+ *
27
+ * See [tag field usage guidelines](https://ui.cimpress.com/components/tag-field).
28
+ */
29
+ declare const _TagField: <T extends CollectionItem>(props: TagFieldProps<T> & import("react").RefAttributes<HTMLDivElement> & import("../../with-style-props.js").StyleProps) => import("react").JSX.Element | null;
30
+ export { _TagField as TagField };
31
+ export interface TagFieldItemProps<T extends CollectionItem> extends Pick<RACListBoxItemProps<T>, 'id' | 'isDisabled' | 'onHoverStart' | 'onHoverEnd'> {
32
+ /** The content to display as the label. */
33
+ children: StringLikeChildren;
34
+ }
35
+ /** Renders a single list item within `TagField`. */
36
+ export declare function TagFieldItem<T extends CollectionItem>({ children, ...props }: TagFieldItemProps<T>): import("react/jsx-runtime").JSX.Element;
37
+ export declare namespace TagFieldItem {
38
+ var displayName: string;
39
+ }
40
+ export interface TagFieldSectionProps<T extends CollectionItem> extends CollectionProps<T> {
41
+ /** The ID of the section. Has to be unique across all sections and items. */
42
+ id?: Key;
43
+ /** The content to display as the section title. */
44
+ title: string;
45
+ }
46
+ /** Groups list items within `TagField` into a section. */
47
+ export declare function TagFieldSection<T extends CollectionItem>({ title, children, items, ...props }: TagFieldSectionProps<T>): import("react/jsx-runtime").JSX.Element;
48
+ export declare namespace TagFieldSection {
49
+ var displayName: string;
50
+ }
51
+ //# 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;AAS/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;AAMrB,gFAAgF;AAChF,MAAM,WAAW,uBAAuB;IACtC,yCAAyC;IACzC,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC9B,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CACtE,SAAQ,WAAW,EACjB,yBAAyB,CAAC,uBAAuB,CAAC,EAClD,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,kEAAkE;IAClE,YAAY,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,kEAAkE;IAClE,mBAAmB,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACpC,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IAC7C;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAwOD;;;;GAIG;AACH,QAAA,MAAM,SAAS,GA3OG,CAAC,SAAS,cAAc,iKA2OwB,CAAC;AAEnE,OAAO,EAAE,SAAS,IAAI,QAAQ,EAAE,CAAC;AAEjC,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,cAAc,CACzD,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,YAAY,CAAC,CAAC,SAAS,cAAc,EAAE,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC,2CAqBlG;yBArBe,YAAY;;;AAyB5B,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,cAAc,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;IACxF,6EAA6E;IAC7E,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,0DAA0D;AAC1D,wBAAgB,eAAe,CAAC,CAAC,SAAS,cAAc,EAAE,EACxD,KAAK,EACL,QAAQ,EACR,KAAK,EACL,GAAG,KAAK,EACT,EAAE,oBAAoB,CAAC,CAAC,CAAC,2CAezB;yBApBe,eAAe"}
@@ -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.TagField = void 0;
8
+ exports.TagFieldItem = TagFieldItem;
9
+ exports.TagFieldSection = 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 utils_js_1 = require("../typography/utils.js");
27
+ const tag_field_input_js_1 = require("./tag-field-input.js");
28
+ const tag_field_list_box_js_1 = require("./tag-field-list-box.js");
29
+ const tag_field_tags_js_1 = require("./tag-field-tags.js");
30
+ function 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, isVirtualized = false, ...props }, ref) {
31
+ const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, isRequired, isDisabled, isInvalid } = props;
32
+ (0, use_production_warning_js_1.useProductionWarning)(() => {
33
+ if (!label && !ariaLabel && !ariaLabelledBy) {
34
+ console.warn('TagField requires one of label / aria-label / aria-labelledby for accessibility');
35
+ }
36
+ }, [label, ariaLabel, ariaLabelledBy]);
37
+ if (!(0, is_production_js_1.isProduction)() && items != null && typeof children !== 'function') {
38
+ console.warn('`TagField` requires `children` to be a function when using `items` prop');
39
+ }
40
+ const messages = (0, localization_provider_js_1.useLocalizedMessages)('tagField');
41
+ // State
42
+ const [defaultSelectedKeys] = (0, react_1.useState)(() => defaultConsumerSelectedKeys ?? new Set());
43
+ const [selectedKeys, setSelectedKeys] = (0, utils_2.useControlledState)(consumerSelectedKeys, defaultSelectedKeys, onSelectionChange);
44
+ const [inputValue, setInputValue] = (0, utils_2.useControlledState)(consumerInputValue, defaultConsumerInputValue ?? '', onInputChange);
45
+ const selectedSet = (0, react_1.useMemo)(() => {
46
+ // eslint-disable-next-line unicorn/no-instanceof-builtins
47
+ if (selectedKeys instanceof Set) {
48
+ return new Set(selectedKeys.values());
49
+ }
50
+ return new Set(selectedKeys);
51
+ }, [selectedKeys]);
52
+ // Validation
53
+ const inputId = (0, utils_1.useId)(id);
54
+ const formInputRef = (0, react_1.useRef)(null);
55
+ const validationState = (0, form_2.useFormValidationState)({
56
+ name,
57
+ value: (0, react_1.useMemo)(() => ({ selectedKeys: selectedSet, inputValue }), [selectedSet, inputValue]),
58
+ isInvalid,
59
+ isRequired,
60
+ validate,
61
+ validationBehavior: 'native',
62
+ });
63
+ (0, utils_1.useFormReset)(formInputRef, [selectedSet, inputValue], ([a, b]) => {
64
+ setSelectedKeys(a);
65
+ setInputValue(b);
66
+ });
67
+ (0, form_1.useFormValidation)({
68
+ focus: () => {
69
+ // Querying by element ID because a ref is always null here, I don't know why :(
70
+ document.getElementById(inputId)?.focus();
71
+ },
72
+ isInvalid,
73
+ isRequired,
74
+ validate,
75
+ validationBehavior: 'native',
76
+ }, validationState, formInputRef);
77
+ // Event handlers
78
+ // Commit validation on input blur if the values have changed
79
+ const inputValueOnFocus = (0, react_1.useRef)(inputValue);
80
+ const selectedSetOnFocus = (0, react_1.useRef)(selectedSet);
81
+ const onFocusChange = (isFocused) => {
82
+ if (isFocused) {
83
+ inputValueOnFocus.current = inputValue;
84
+ selectedSetOnFocus.current = selectedSet;
85
+ }
86
+ else if (inputValue !== inputValueOnFocus.current || selectedSet !== selectedSetOnFocus.current) {
87
+ validationState.commitValidation();
88
+ }
89
+ };
90
+ const onItemSelectionChange = (key) => {
91
+ if (selectedSet.has(key)) {
92
+ // This is a temporary mutation followed immediately by a state update, so this is fine
93
+ // eslint-disable-next-line react-hooks/react-compiler
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.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)(tag_field_tags_js_1.TagFieldTags, { inputId: inputId, selectedKeys: selectedSet, isDisabled: isDisabled, isReadOnly: isReadOnly, renderEmptyState: renderEmptyState, onRemove: onItemSelectionChange }), (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, isVirtualized: isVirtualized, 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 _TagField = (0, with_style_props_js_1.withStyleProps)((0, forward_ref_js_1.forwardRef)(TagField), 'TagField');
128
+ exports.TagField = _TagField;
129
+ /** Renders a single list item within `TagField`. */
130
+ function 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-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: 'medium', tone: isDisabled ? 'muted' : 'base' }), children: children })] })) }));
133
+ }
134
+ TagFieldItem.displayName = 'TagFieldItem';
135
+ /** Groups list items within `TagField` into a section. */
136
+ function 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
+ 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 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 { 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 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 TagFieldProps<T extends CollectionItem = CollectionItem>\n extends CommonProps,\n FieldWithPlaceholderProps<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 /** The currently selected keys in the collection (controlled). */\n selectedKeys?: Iterable<Key>;\n /** The initial selected keys in the collection (uncontrolled). */\n defaultSelectedKeys?: Iterable<Key>;\n /** Handler that is called when the selection changes. */\n onSelectionChange?: (keys: Set<Key>) => void;\n /**\n * Whether the list of options should be virtualized. Use this as a performance optimization for large lists.\n * @default false\n */\n isVirtualized?: boolean;\n}\n\nfunction 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 isVirtualized = false,\n ...props\n }: 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 // This is a temporary mutation followed immediately by a state update, so this is fine\n // eslint-disable-next-line react-hooks/react-compiler\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 <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 <TagFieldTags<T>\n inputId={inputId}\n selectedKeys={selectedSet}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n renderEmptyState={renderEmptyState}\n onRemove={onItemSelectionChange}\n />\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 isVirtualized={isVirtualized}\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 _TagField = withStyleProps(forwardRef(TagField), 'TagField');\n\nexport { _TagField as TagField };\n\nexport interface 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 TagFieldItem<T extends CollectionItem>({ children, ...props }: 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-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: 'medium', tone: isDisabled ? 'muted' : 'base' })}>\n {children}\n </RACText>\n </>\n )}\n </RACListBoxItem>\n );\n}\n\nTagFieldItem.displayName = 'TagFieldItem';\n\nexport interface 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 TagFieldSection<T extends CollectionItem>({\n title,\n children,\n items,\n ...props\n}: 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\nTagFieldSection.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.