@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
@@ -1 +1 @@
1
- {"version":3,"file":"base-pagination.d.ts","sourceRoot":"","sources":["../../../../src/components/pagination/base-pagination.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAkBlE,MAAM,WAAW,mBAAoB,SAAQ,WAAW,EAAE,iBAAiB;IACzE,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,mJAAmJ;IACnJ,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
1
+ {"version":3,"file":"base-pagination.d.ts","sourceRoot":"","sources":["../../../../src/components/pagination/base-pagination.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAkBlE,MAAM,WAAW,mBAAoB,SAAQ,WAAW,EAAE,iBAAiB;IACzE,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,mJAAmJ;IACnJ,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
@@ -7,9 +7,11 @@ exports.BasePagination = BasePagination;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const clsx_1 = __importDefault(require("clsx"));
9
9
  const react_1 = require("react");
10
- const index_js_1 = require("../../icons/index.js");
10
+ const index_js_1 = require("../../i18n/index.js");
11
+ const index_js_2 = require("../../icons/index.js");
11
12
  /** @internal */
12
13
  function BasePagination({ currentPage, pageCount, paginatedElementId, UNSAFE_className, UNSAFE_style, navRef, listRef, renderPreviousButton, renderNextButton, renderPageButton, ...props }) {
14
+ const messages = (0, index_js_1.useLocalizedMessages)('pagination');
13
15
  const pages = (0, react_1.useMemo)(() => {
14
16
  const visiblePages = getVisiblePages(currentPage, pageCount);
15
17
  const firstPageIndex = 0;
@@ -18,8 +20,7 @@ function BasePagination({ currentPage, pageCount, paginatedElementId, UNSAFE_cla
18
20
  const isCurrentPage = typeof page === 'number' && page === currentPage;
19
21
  const pageNumber = typeof page === 'number' ? page : page.page;
20
22
  const pageButtonProps = {
21
- // TODO: i18n
22
- 'aria-label': `Page ${pageNumber}`,
23
+ 'aria-label': messages.format('goToPage', { pageNumber }),
23
24
  children: typeof page === 'number' ? page : '…',
24
25
  'data-first': index === firstPageIndex || undefined,
25
26
  'data-last': index === lastPageIndex || undefined,
@@ -27,18 +28,16 @@ function BasePagination({ currentPage, pageCount, paginatedElementId, UNSAFE_cla
27
28
  };
28
29
  return { pageNumber, isCurrentPage, pageButtonProps };
29
30
  });
30
- }, [currentPage, pageCount]);
31
+ }, [currentPage, pageCount, messages]);
31
32
  const previousButtonProps = {
32
- icon: (0, jsx_runtime_1.jsx)(index_js_1.IconChevronLeft, {}),
33
+ icon: (0, jsx_runtime_1.jsx)(index_js_2.IconChevronLeft, {}),
33
34
  isDisabled: currentPage === 1,
34
- // TODO: internationalization
35
- 'aria-label': 'Previous',
35
+ 'aria-label': messages.format('previousPage'),
36
36
  };
37
37
  const nextButtonProps = {
38
- icon: (0, jsx_runtime_1.jsx)(index_js_1.IconChevronRight, {}),
38
+ icon: (0, jsx_runtime_1.jsx)(index_js_2.IconChevronRight, {}),
39
39
  isDisabled: currentPage === pageCount,
40
- // TODO: internationalization
41
- 'aria-label': 'Next',
40
+ 'aria-label': messages.format('nextPage'),
42
41
  };
43
42
  return ((0, jsx_runtime_1.jsx)("nav", { ...props, ref: navRef, className: (0, clsx_1.default)('cim-pagination', UNSAFE_className), style: UNSAFE_style, "aria-controls": paginatedElementId, children: (0, jsx_runtime_1.jsxs)("ul", { ref: listRef, className: "cim-pagination-list", children: [(0, jsx_runtime_1.jsx)("li", { children: renderPreviousButton(previousButtonProps) }), pages.map((pageData) => ((0, jsx_runtime_1.jsx)("li", { children: renderPageButton(pageData) }, pageData.pageNumber))), (0, jsx_runtime_1.jsx)("li", { children: renderNextButton(nextButtonProps) })] }) }));
44
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base-pagination.js","sourceRoot":"","sources":["../../../../src/components/pagination/base-pagination.tsx"],"names":[],"mappings":"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","sourcesContent":["import clsx from 'clsx';\nimport { type ForwardedRef, type MutableRefObject, type ReactNode, useMemo } from 'react';\nimport { IconChevronLeft, IconChevronRight } from '../../icons/index.js';\n\nimport type { ButtonProps } from '../button/button.js';\nimport type { IconButtonProps } from '../button/icon-button.js';\nimport type { IconLinkButtonProps } from '../button/icon-link-button.js';\nimport type { LinkButtonProps } from '../button/link-button.js';\nimport type { AriaLabelingProps, CommonProps } from '../types.js';\n\ntype OmitNever<T extends Record<string, unknown>> = {\n [K in keyof T as T[K] extends never ? never : K]: T[K];\n};\n\ntype SharedProperties<A, B> = OmitNever<Pick<A & B, keyof A & keyof B>>;\n\n/** @internal */\nexport type IconButtonProperties = SharedProperties<IconButtonProps, IconLinkButtonProps> & {\n [dataProp: `data-${string}`]: string | number | boolean | undefined;\n};\n\n/** @internal */\nexport type TextButtonProperties = SharedProperties<ButtonProps, LinkButtonProps> & {\n [dataProp: `data-${string}`]: string | number | boolean | undefined;\n};\n\nexport interface BasePaginationProps extends CommonProps, AriaLabelingProps {\n /** The current page number. */\n currentPage: number;\n /** The total number of pages. */\n pageCount: number;\n /** The `id` of the paginated element. You must provide this prop when pagination controls a subsection of the page (for example, a data table). */\n paginatedElementId?: string;\n}\n\ninterface PaginationRenderProps {\n navRef?: ForwardedRef<HTMLElement>;\n // `RefObject` doesn't work for this case, it errors in either React 18 or 19 depending on whether `| null` is included in the generic parameter\n // TODO: investigate this more\n listRef?: MutableRefObject<HTMLUListElement | null>;\n renderPreviousButton: (previousButtonProps: IconButtonProperties) => ReactNode;\n renderPageButton: (pageData: PageData) => ReactNode;\n renderNextButton: (nextButtonProps: IconButtonProperties) => ReactNode;\n}\n\ninterface PageData {\n pageNumber: number;\n isCurrentPage: boolean;\n pageButtonProps: TextButtonProperties;\n}\n\n/** @internal */\nexport function BasePagination({\n currentPage,\n pageCount,\n paginatedElementId,\n UNSAFE_className,\n UNSAFE_style,\n navRef,\n listRef,\n renderPreviousButton,\n renderNextButton,\n renderPageButton,\n ...props\n}: BasePaginationProps & PaginationRenderProps) {\n const pages: PageData[] = useMemo(() => {\n const visiblePages = getVisiblePages(currentPage, pageCount);\n const firstPageIndex = 0;\n const lastPageIndex = visiblePages.length - 1;\n\n return visiblePages.map<PageData>((page, index) => {\n const isCurrentPage = typeof page === 'number' && page === currentPage;\n const pageNumber = typeof page === 'number' ? page : page.page;\n\n const pageButtonProps: TextButtonProperties = {\n // TODO: i18n\n 'aria-label': `Page ${pageNumber}`,\n children: typeof page === 'number' ? page : '…',\n 'data-first': index === firstPageIndex || undefined,\n 'data-last': index === lastPageIndex || undefined,\n variant: isCurrentPage ? 'primary' : 'secondary',\n };\n\n return { pageNumber, isCurrentPage, pageButtonProps };\n });\n }, [currentPage, pageCount]);\n\n const previousButtonProps: IconButtonProperties = {\n icon: <IconChevronLeft />,\n isDisabled: currentPage === 1,\n // TODO: internationalization\n 'aria-label': 'Previous',\n };\n\n const nextButtonProps: IconButtonProperties = {\n icon: <IconChevronRight />,\n isDisabled: currentPage === pageCount,\n // TODO: internationalization\n 'aria-label': 'Next',\n };\n\n return (\n <nav\n {...props}\n ref={navRef}\n className={clsx('cim-pagination', UNSAFE_className)}\n style={UNSAFE_style}\n aria-controls={paginatedElementId}\n >\n <ul ref={listRef} className=\"cim-pagination-list\">\n <li>{renderPreviousButton(previousButtonProps)}</li>\n\n {pages.map((pageData) => (\n <li key={pageData.pageNumber}>{renderPageButton(pageData)}</li>\n ))}\n\n <li>{renderNextButton(nextButtonProps)}</li>\n </ul>\n </nav>\n );\n}\n\nfunction getVisiblePages(currentPage: number, totalPages: number): (number | { type: 'ellipsis'; page: number })[] {\n if (totalPages <= 7) {\n return Array.from({ length: totalPages }, (_, index) => index + 1);\n }\n\n if (currentPage <= 4) {\n return [1, 2, 3, 4, { type: 'ellipsis', page: 5 }, totalPages - 1, totalPages];\n }\n\n if (currentPage >= totalPages - 3) {\n return [\n 1,\n 2,\n { type: 'ellipsis', page: totalPages - 4 },\n totalPages - 3,\n totalPages - 2,\n totalPages - 1,\n totalPages,\n ];\n }\n\n return [\n 1,\n { type: 'ellipsis', page: currentPage - 2 },\n currentPage - 1,\n currentPage,\n currentPage + 1,\n { type: 'ellipsis', page: currentPage + 2 },\n totalPages,\n ];\n}\n"]}
1
+ {"version":3,"file":"base-pagination.js","sourceRoot":"","sources":["../../../../src/components/pagination/base-pagination.tsx"],"names":[],"mappings":"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","sourcesContent":["import clsx from 'clsx';\nimport { type ForwardedRef, type MutableRefObject, type ReactNode, useMemo } from 'react';\nimport { useLocalizedMessages } from '../../i18n/index.js';\nimport { IconChevronLeft, IconChevronRight } from '../../icons/index.js';\n\nimport type { ButtonProps } from '../button/button.js';\nimport type { IconButtonProps } from '../button/icon-button.js';\nimport type { IconLinkButtonProps } from '../button/icon-link-button.js';\nimport type { LinkButtonProps } from '../button/link-button.js';\nimport type { AriaLabelingProps, CommonProps } from '../types.js';\n\ntype OmitNever<T extends Record<string, unknown>> = {\n [K in keyof T as T[K] extends never ? never : K]: T[K];\n};\n\ntype SharedProperties<A, B> = OmitNever<Pick<A & B, keyof A & keyof B>>;\n\n/** @internal */\nexport type IconButtonProperties = SharedProperties<IconButtonProps, IconLinkButtonProps> & {\n [dataProp: `data-${string}`]: string | number | boolean | undefined;\n};\n\n/** @internal */\nexport type TextButtonProperties = SharedProperties<ButtonProps, LinkButtonProps> & {\n [dataProp: `data-${string}`]: string | number | boolean | undefined;\n};\n\nexport interface BasePaginationProps extends CommonProps, AriaLabelingProps {\n /** The current page number. */\n currentPage: number;\n /** The total number of pages. */\n pageCount: number;\n /** The `id` of the paginated element. You must provide this prop when pagination controls a subsection of the page (for example, a data table). */\n paginatedElementId?: string;\n}\n\ninterface PaginationRenderProps {\n navRef?: ForwardedRef<HTMLElement>;\n // `RefObject` doesn't work for this case, it errors in either React 18 or 19 depending on whether `| null` is included in the generic parameter\n // TODO: investigate this more\n listRef?: MutableRefObject<HTMLUListElement | null>;\n renderPreviousButton: (previousButtonProps: IconButtonProperties) => ReactNode;\n renderPageButton: (pageData: PageData) => ReactNode;\n renderNextButton: (nextButtonProps: IconButtonProperties) => ReactNode;\n}\n\ninterface PageData {\n pageNumber: number;\n isCurrentPage: boolean;\n pageButtonProps: TextButtonProperties;\n}\n\n/** @internal */\nexport function BasePagination({\n currentPage,\n pageCount,\n paginatedElementId,\n UNSAFE_className,\n UNSAFE_style,\n navRef,\n listRef,\n renderPreviousButton,\n renderNextButton,\n renderPageButton,\n ...props\n}: BasePaginationProps & PaginationRenderProps) {\n const messages = useLocalizedMessages('pagination');\n\n const pages: PageData[] = useMemo(() => {\n const visiblePages = getVisiblePages(currentPage, pageCount);\n const firstPageIndex = 0;\n const lastPageIndex = visiblePages.length - 1;\n\n return visiblePages.map<PageData>((page, index) => {\n const isCurrentPage = typeof page === 'number' && page === currentPage;\n const pageNumber = typeof page === 'number' ? page : page.page;\n\n const pageButtonProps: TextButtonProperties = {\n 'aria-label': messages.format('goToPage', { pageNumber }),\n children: typeof page === 'number' ? page : '…',\n 'data-first': index === firstPageIndex || undefined,\n 'data-last': index === lastPageIndex || undefined,\n variant: isCurrentPage ? 'primary' : 'secondary',\n };\n\n return { pageNumber, isCurrentPage, pageButtonProps };\n });\n }, [currentPage, pageCount, messages]);\n\n const previousButtonProps: IconButtonProperties = {\n icon: <IconChevronLeft />,\n isDisabled: currentPage === 1,\n 'aria-label': messages.format('previousPage'),\n };\n\n const nextButtonProps: IconButtonProperties = {\n icon: <IconChevronRight />,\n isDisabled: currentPage === pageCount,\n 'aria-label': messages.format('nextPage'),\n };\n\n return (\n <nav\n {...props}\n ref={navRef}\n className={clsx('cim-pagination', UNSAFE_className)}\n style={UNSAFE_style}\n aria-controls={paginatedElementId}\n >\n <ul ref={listRef} className=\"cim-pagination-list\">\n <li>{renderPreviousButton(previousButtonProps)}</li>\n\n {pages.map((pageData) => (\n <li key={pageData.pageNumber}>{renderPageButton(pageData)}</li>\n ))}\n\n <li>{renderNextButton(nextButtonProps)}</li>\n </ul>\n </nav>\n );\n}\n\nfunction getVisiblePages(currentPage: number, totalPages: number): (number | { type: 'ellipsis'; page: number })[] {\n if (totalPages <= 7) {\n return Array.from({ length: totalPages }, (_, index) => index + 1);\n }\n\n if (currentPage <= 4) {\n return [1, 2, 3, 4, { type: 'ellipsis', page: 5 }, totalPages - 1, totalPages];\n }\n\n if (currentPage >= totalPages - 3) {\n return [\n 1,\n 2,\n { type: 'ellipsis', page: totalPages - 4 },\n totalPages - 3,\n totalPages - 2,\n totalPages - 1,\n totalPages,\n ];\n }\n\n return [\n 1,\n { type: 'ellipsis', page: currentPage - 2 },\n currentPage - 1,\n currentPage,\n currentPage + 1,\n { type: 'ellipsis', page: currentPage + 2 },\n totalPages,\n ];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../../src/components/pagination/pagination.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGhE,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC;IAC9G,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,6DAA6D;IAC7D,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACjC;AA4DD;;;;GAIG;AACH,QAAA,MAAM,WAAW,8JAAuD,CAAC;AAEzE,OAAO,EAAE,WAAW,IAAI,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../../src/components/pagination/pagination.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGhE,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC;IAC9G,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,6DAA6D;IAC7D,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACjC;AA8DD;;;;GAIG;AACH,QAAA,MAAM,WAAW,8JAAuD,CAAC;AAEzE,OAAO,EAAE,WAAW,IAAI,UAAU,EAAE,CAAC"}
@@ -6,8 +6,9 @@ const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const live_announcer_1 = require("@react-aria/live-announcer");
7
7
  const utils_1 = require("@react-aria/utils");
8
8
  const utils_2 = require("@react-stately/utils");
9
- const react_1 = require("react");
10
9
  const forward_ref_js_1 = require("../../forward-ref.js");
10
+ const index_js_1 = require("../../i18n/index.js");
11
+ const use_production_warning_js_1 = require("../../utils/use-production-warning.js");
11
12
  const with_style_props_js_1 = require("../../with-style-props.js");
12
13
  const action_pagination_js_1 = require("./action-pagination.js");
13
14
  const link_pagination_js_1 = require("./link-pagination.js");
@@ -16,16 +17,17 @@ function Pagination({ currentPage, defaultPage, href, onPageChange,
16
17
  hrefLang, target, download, ping, referrerPolicy, rel, routerOptions, ...props }, ref) {
17
18
  const [page, setPage] = (0, utils_2.useControlledState)(currentPage, defaultPage ?? 1, onPageChange);
18
19
  const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;
19
- (0, react_1.useEffect)(() => {
20
+ (0, use_production_warning_js_1.useProductionWarning)(() => {
20
21
  if (!ariaLabel && !ariaLabelledBy) {
21
22
  console.warn('Pagination requires one of aria-label / aria-labelledby for accessibility');
22
23
  }
23
24
  }, [ariaLabel, ariaLabelledBy]);
25
+ const messages = (0, index_js_1.useLocalizedMessages)('pagination');
26
+ const selectedPageAnnouncement = messages.format('selectedPageAnnouncement', { pageNumber: page });
24
27
  // Announce when the selected page changes
25
28
  (0, utils_1.useUpdateEffect)(() => {
26
- // TODO: i18n
27
- (0, live_announcer_1.announce)(`Selected page: ${page}`, 'polite', 4000);
28
- }, [page]);
29
+ (0, live_announcer_1.announce)(selectedPageAnnouncement, 'polite', 4000);
30
+ }, [selectedPageAnnouncement]);
29
31
  if (href) {
30
32
  return ((0, jsx_runtime_1.jsx)(link_pagination_js_1.LinkPagination, { ...props, currentPage: page, onPageChange: setPage, navRef: ref, href: href, hrefLang: hrefLang, target: target, download: download, ping: ping, referrerPolicy: referrerPolicy, rel: rel, routerOptions: routerOptions }));
31
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../../src/components/pagination/pagination.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;AAEb,+DAAsD;AACtD,6CAAoD;AACpD,gDAA0D;AAC1D,iCAAqD;AACrD,yDAAkD;AAClD,mEAA2D;AAE3D,iEAA0D;AAE1D,6DAAsD;AAatD,SAAS,UAAU,CACjB,EACE,WAAW,EACX,WAAW,EACX,IAAI,EACJ,YAAY;AAEZ,mBAAmB;AACnB,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,cAAc,EACd,GAAG,EACH,aAAa,EAEb,GAAG,KAAK,EACQ,EAClB,GAA8B;IAE9B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,0BAAkB,EAAC,WAAW,EAAE,WAAW,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;IAExF,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAE7E,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAEhC,0CAA0C;IAC1C,IAAA,uBAAe,EAAC,GAAG,EAAE;QACnB,aAAa;QACb,IAAA,yBAAQ,EAAC,kBAAkB,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CACL,uBAAC,mCAAc,OACT,KAAK,EACT,WAAW,EAAE,IAAI,EACjB,YAAY,EAAE,OAAO,EACrB,MAAM,EAAE,GAAG,EACX,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,aAAa,GAC5B,CACH,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,uBAAC,uCAAgB,OAAK,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,GAAI,CAAC;IAChG,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,WAAW,GAAG,IAAA,oCAAc,EAAC,IAAA,2BAAU,EAAC,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;AAEjD,iCAAU","sourcesContent":["'use client';\n\nimport { announce } from '@react-aria/live-announcer';\nimport { useUpdateEffect } from '@react-aria/utils';\nimport { useControlledState } from '@react-stately/utils';\nimport { type ForwardedRef, useEffect } from 'react';\nimport { forwardRef } from '../../forward-ref.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport type { NavigationProps } from '../types.js';\nimport { ActionPagination } from './action-pagination.js';\nimport type { BasePaginationProps } from './base-pagination.js';\nimport { LinkPagination } from './link-pagination.js';\n\nexport interface PaginationProps extends Omit<BasePaginationProps, 'currentPage'>, Omit<NavigationProps, 'href'> {\n /** The current page number (controlled). Should be between `1` and `pageCount`. */\n currentPage?: number;\n /** The default page number (uncontrolled). Should be between `1` and `pageCount`. */\n defaultPage?: number;\n /** A callback function that is called when the page number changes. */\n onPageChange?: (page: number) => void;\n /** A function that returns a URL for a given page number. */\n href?: (page: number) => string;\n}\n\nfunction Pagination(\n {\n currentPage,\n defaultPage,\n href,\n onPageChange,\n\n // Navigation props\n hrefLang,\n target,\n download,\n ping,\n referrerPolicy,\n rel,\n routerOptions,\n\n ...props\n }: PaginationProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n const [page, setPage] = useControlledState(currentPage, defaultPage ?? 1, onPageChange);\n\n const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;\n\n useEffect(() => {\n if (!ariaLabel && !ariaLabelledBy) {\n console.warn('Pagination requires one of aria-label / aria-labelledby for accessibility');\n }\n }, [ariaLabel, ariaLabelledBy]);\n\n // Announce when the selected page changes\n useUpdateEffect(() => {\n // TODO: i18n\n announce(`Selected page: ${page}`, 'polite', 4000);\n }, [page]);\n\n if (href) {\n return (\n <LinkPagination\n {...props}\n currentPage={page}\n onPageChange={setPage}\n navRef={ref}\n href={href}\n hrefLang={hrefLang}\n target={target}\n download={download}\n ping={ping}\n referrerPolicy={referrerPolicy}\n rel={rel}\n routerOptions={routerOptions}\n />\n );\n } else {\n return <ActionPagination {...props} navRef={ref} currentPage={page} onPageChange={setPage} />;\n }\n}\n\n/**\n * Allows navigating across multiple pages of related content.\n *\n * See [pagination usage guidelines](https://ui.cimpress.io/components/pagination/).\n */\nconst _Pagination = withStyleProps(forwardRef(Pagination), 'Pagination');\n\nexport { _Pagination as Pagination };\n"]}
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../../src/components/pagination/pagination.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;AAEb,+DAAsD;AACtD,6CAAoD;AACpD,gDAA0D;AAE1D,yDAAkD;AAClD,kDAA2D;AAC3D,qFAA6E;AAC7E,mEAA2D;AAE3D,iEAA0D;AAE1D,6DAAsD;AAatD,SAAS,UAAU,CACjB,EACE,WAAW,EACX,WAAW,EACX,IAAI,EACJ,YAAY;AAEZ,mBAAmB;AACnB,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,cAAc,EACd,GAAG,EACH,aAAa,EAEb,GAAG,KAAK,EACQ,EAClB,GAA8B;IAE9B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,0BAAkB,EAAC,WAAW,EAAE,WAAW,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;IAExF,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAE7E,IAAA,gDAAoB,EAAC,GAAG,EAAE;QACxB,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAEhC,MAAM,QAAQ,GAAG,IAAA,+BAAoB,EAAC,YAAY,CAAC,CAAC;IACpD,MAAM,wBAAwB,GAAG,QAAQ,CAAC,MAAM,CAAC,0BAA0B,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAEnG,0CAA0C;IAC1C,IAAA,uBAAe,EAAC,GAAG,EAAE;QACnB,IAAA,yBAAQ,EAAC,wBAAwB,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAE/B,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CACL,uBAAC,mCAAc,OACT,KAAK,EACT,WAAW,EAAE,IAAI,EACjB,YAAY,EAAE,OAAO,EACrB,MAAM,EAAE,GAAG,EACX,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,aAAa,GAC5B,CACH,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,uBAAC,uCAAgB,OAAK,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,GAAI,CAAC;IAChG,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,WAAW,GAAG,IAAA,oCAAc,EAAC,IAAA,2BAAU,EAAC,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;AAEjD,iCAAU","sourcesContent":["'use client';\n\nimport { announce } from '@react-aria/live-announcer';\nimport { useUpdateEffect } from '@react-aria/utils';\nimport { useControlledState } from '@react-stately/utils';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef } from '../../forward-ref.js';\nimport { useLocalizedMessages } from '../../i18n/index.js';\nimport { useProductionWarning } from '../../utils/use-production-warning.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport type { NavigationProps } from '../types.js';\nimport { ActionPagination } from './action-pagination.js';\nimport type { BasePaginationProps } from './base-pagination.js';\nimport { LinkPagination } from './link-pagination.js';\n\nexport interface PaginationProps extends Omit<BasePaginationProps, 'currentPage'>, Omit<NavigationProps, 'href'> {\n /** The current page number (controlled). Should be between `1` and `pageCount`. */\n currentPage?: number;\n /** The default page number (uncontrolled). Should be between `1` and `pageCount`. */\n defaultPage?: number;\n /** A callback function that is called when the page number changes. */\n onPageChange?: (page: number) => void;\n /** A function that returns a URL for a given page number. */\n href?: (page: number) => string;\n}\n\nfunction Pagination(\n {\n currentPage,\n defaultPage,\n href,\n onPageChange,\n\n // Navigation props\n hrefLang,\n target,\n download,\n ping,\n referrerPolicy,\n rel,\n routerOptions,\n\n ...props\n }: PaginationProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n const [page, setPage] = useControlledState(currentPage, defaultPage ?? 1, onPageChange);\n\n const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;\n\n useProductionWarning(() => {\n if (!ariaLabel && !ariaLabelledBy) {\n console.warn('Pagination requires one of aria-label / aria-labelledby for accessibility');\n }\n }, [ariaLabel, ariaLabelledBy]);\n\n const messages = useLocalizedMessages('pagination');\n const selectedPageAnnouncement = messages.format('selectedPageAnnouncement', { pageNumber: page });\n\n // Announce when the selected page changes\n useUpdateEffect(() => {\n announce(selectedPageAnnouncement, 'polite', 4000);\n }, [selectedPageAnnouncement]);\n\n if (href) {\n return (\n <LinkPagination\n {...props}\n currentPage={page}\n onPageChange={setPage}\n navRef={ref}\n href={href}\n hrefLang={hrefLang}\n target={target}\n download={download}\n ping={ping}\n referrerPolicy={referrerPolicy}\n rel={rel}\n routerOptions={routerOptions}\n />\n );\n } else {\n return <ActionPagination {...props} navRef={ref} currentPage={page} onPageChange={setPage} />;\n }\n}\n\n/**\n * Allows navigating across multiple pages of related content.\n *\n * See [pagination usage guidelines](https://ui.cimpress.io/components/pagination/).\n */\nconst _Pagination = withStyleProps(forwardRef(Pagination), 'Pagination');\n\nexport { _Pagination as Pagination };\n"]}
@@ -1,4 +1,4 @@
1
- import { type ReactNode } from 'react';
1
+ import type { ReactNode, RefObject } from 'react';
2
2
  import { type PopoverProps as RACPopoverProps } from 'react-aria-components';
3
3
  import type { AriaLabelingProps, CommonProps } from '../types.js';
4
4
  export interface PopoverRootProps {
@@ -23,7 +23,7 @@ export interface PopoverRenderProps {
23
23
  /** Closes the popover when called. */
24
24
  close: () => void;
25
25
  }
26
- export interface PopoverProps extends CommonProps, AriaLabelingProps, Pick<RACPopoverProps, 'placement' | 'triggerRef'> {
26
+ export interface PopoverProps extends CommonProps, AriaLabelingProps, Pick<RACPopoverProps, 'placement'> {
27
27
  /** The contents of the popover. A function may be provided to access a function to close the popover. */
28
28
  children: ReactNode | ((renderProps: PopoverRenderProps) => ReactNode);
29
29
  /** The title of the popover. */
@@ -43,6 +43,11 @@ export interface PopoverProps extends CommonProps, AriaLabelingProps, Pick<RACPo
43
43
  * If using `PopoverRoot`, this prop has no effect - provide `onOpenChange` to `PopoverRoot` instead.
44
44
  */
45
45
  onOpenChange?: (isOpen: boolean) => void;
46
+ /**
47
+ * The ref for the element which the popover positions itself with respect to.
48
+ * When used within `PopoverRoot`, this is set automatically. Provide `triggerRef` only when `Popover` is used standalone.
49
+ */
50
+ triggerRef?: RefObject<Element | null>;
46
51
  }
47
52
  /**
48
53
  * Displays an overlay element positioned relative to a trigger.
@@ -1 +1 @@
1
- {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../../src/components/popover/popover.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACrE,OAAO,EAGL,KAAK,YAAY,IAAI,eAAe,EAIrC,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGlE,MAAM,WAAW,gBAAgB;IAC/B,oIAAoI;IACpI,QAAQ,EAAE,SAAS,CAAC;IACpB,gDAAgD;IAChD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oEAAoE;IACpE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAElD;yBAFe,WAAW;;;AAM3B,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,YACf,SAAQ,WAAW,EACjB,iBAAiB,EACjB,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,YAAY,CAAC;IACnD,yGAAyG;IACzG,QAAQ,EAAE,SAAS,GAAG,CAAC,CAAC,WAAW,EAAE,kBAAkB,KAAK,SAAS,CAAC,CAAC;IACvE,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C;AA8DD;;;;GAIG;AACH,QAAA,MAAM,QAAQ,0GAAiC,CAAC;AAEhD,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../../src/components/popover/popover.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAGL,KAAK,YAAY,IAAI,eAAe,EAIrC,MAAM,uBAAuB,CAAC;AAI/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGlE,MAAM,WAAW,gBAAgB;IAC/B,oIAAoI;IACpI,QAAQ,EAAE,SAAS,CAAC;IACpB,gDAAgD;IAChD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oEAAoE;IACpE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAElD;yBAFe,WAAW;;;AAM3B,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,YAAa,SAAQ,WAAW,EAAE,iBAAiB,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC;IACtG,yGAAyG;IACzG,QAAQ,EAAE,SAAS,GAAG,CAAC,CAAC,WAAW,EAAE,kBAAkB,KAAK,SAAS,CAAC,CAAC;IACvE,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC;;;OAGG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CACxC;AA8DD;;;;GAIG;AACH,QAAA,MAAM,QAAQ,0GAAiC,CAAC;AAEhD,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,CAAC"}
@@ -8,9 +8,9 @@ exports.Popover = void 0;
8
8
  exports.PopoverRoot = PopoverRoot;
9
9
  const jsx_runtime_1 = require("react/jsx-runtime");
10
10
  const clsx_1 = __importDefault(require("clsx"));
11
- const react_1 = require("react");
12
11
  const react_aria_components_1 = require("react-aria-components");
13
12
  const forward_ref_js_1 = require("../../forward-ref.js");
13
+ const use_production_warning_js_1 = require("../../utils/use-production-warning.js");
14
14
  const focusable_container_js_1 = require("../internal/focusable-container/focusable-container.js");
15
15
  const utils_js_1 = require("../typography/utils.js");
16
16
  /**
@@ -23,7 +23,7 @@ function PopoverRoot(props) {
23
23
  PopoverRoot.displayName = 'PopoverRoot';
24
24
  function Popover({ children, title, UNSAFE_className, UNSAFE_style, isOpen, defaultOpen, onOpenChange, placement, triggerRef, ...props }, ref) {
25
25
  const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;
26
- (0, react_1.useEffect)(() => {
26
+ (0, use_production_warning_js_1.useProductionWarning)(() => {
27
27
  if (!title && !ariaLabel && !ariaLabelledBy) {
28
28
  console.warn('Popover requires one of title / aria-label / aria-labelledby for accessibility');
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"popover.js","sourceRoot":"","sources":["../../../../src/components/popover/popover.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;AAgCb,kCAEC;;AAhCD,gDAAwB;AACxB,iCAAqE;AACrE,iEAO+B;AAC/B,yDAAkD;AAClD,mGAA4F;AAE5F,qDAAmD;AAanD;;;GAGG;AACH,SAAgB,WAAW,CAAC,KAAuB;IACjD,OAAO,uBAAC,qCAAgB,OAAK,KAAK,GAAI,CAAC;AACzC,CAAC;AAED,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AAgCxC,SAAS,OAAO,CACd,EACE,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,WAAW,EACX,YAAY,EACZ,SAAS,EACT,UAAU,EACV,GAAG,KAAK,EACK,EACf,GAA8B;IAE9B,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAE7E,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;QACjG,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAEvC,OAAO,CACL,wBAAC,+BAAU,IACT,SAAS,EAAE,IAAA,cAAI,EAAC,aAAa,EAAE,gBAAgB,CAAC,EAChD,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,EAAE,EACpB,MAAM,EAAE,CAAC,EACT,mBAAmB,EAAE,CAAC,0CAGtB,uBAAC,oCAAe,IAAC,SAAS,EAAC,mBAAmB,YAC5C,gCAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,YAChF,iCAAM,CAAC,EAAC,mEAAmE,GAAG,GAC1E,GACU,EAClB,uBAAC,8BAAS,OAAK,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAC,oBAAoB,YAC3D,CAAC,WAAW,EAAE,EAAE,CAAC,CAChB,6DACG,KAAK,IAAI,CACR,uBAAC,+BAAU,IAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAE,IAAA,cAAI,EAAC,mBAAmB,EAAE,IAAA,oBAAS,EAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,YAC7F,KAAK,GACK,CACd,EACD,uBAAC,2CAAkB,IAAC,SAAS,EAAC,qBAAqB,EAAC,eAAe,EAAC,UAAU,YAC3E,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,GAC/C,IACpB,CACJ,GACS,IACD,CACd,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,QAAQ,GAAG,IAAA,2BAAU,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAE3B,2BAAO","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { type ForwardedRef, useEffect, type ReactNode } from 'react';\nimport {\n DialogTrigger as RACDialogTrigger,\n Popover as RACPopover,\n type PopoverProps as RACPopoverProps,\n OverlayArrow as RACOverlayArrow,\n Dialog as RACDialog,\n Heading as RACHeading,\n} from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { FocusableContainer } from '../internal/focusable-container/focusable-container.js';\nimport type { AriaLabelingProps, CommonProps } from '../types.js';\nimport { textStyle } from '../typography/utils.js';\n\nexport interface PopoverRootProps {\n /** The popover trigger with its associated popover. Provide the trigger as the first child, and the popover as the second child. */\n children: ReactNode;\n /** Whether the popover is open (controlled). */\n isOpen?: boolean;\n /** Whether the popover is open by default (uncontrolled). */\n defaultOpen?: boolean;\n /** Handler that is called when the popover's open state changes. */\n onOpenChange?: (isOpen: boolean) => void;\n}\n\n/**\n * Encapsulates a popover trigger and its associated popover.\n * The trigger can be any Cimpress UI button, and the popover will be displayed when the trigger is activated.\n */\nexport function PopoverRoot(props: PopoverRootProps) {\n return <RACDialogTrigger {...props} />;\n}\n\nPopoverRoot.displayName = 'PopoverRoot';\n\nexport interface PopoverRenderProps {\n /** Closes the popover when called. */\n close: () => void;\n}\n\nexport interface PopoverProps\n extends CommonProps,\n AriaLabelingProps,\n Pick<RACPopoverProps, 'placement' | 'triggerRef'> {\n /** The contents of the popover. A function may be provided to access a function to close the popover. */\n children: ReactNode | ((renderProps: PopoverRenderProps) => ReactNode);\n /** The title of the popover. */\n title?: string;\n /**\n * Whether the popover is open (controlled).\n * If using `PopoverRoot`, this prop has no effect - provide `isOpen` to `PopoverRoot` instead.\n */\n isOpen?: boolean;\n /**\n * Whether the popover is open by default (uncontrolled).\n * If using `PopoverRoot`, this prop has no effect - provide `defaultOpen` to `PopoverRoot` instead.\n */\n defaultOpen?: boolean;\n /**\n * Handler that is called when the popover's open state changes.\n * If using `PopoverRoot`, this prop has no effect - provide `onOpenChange` to `PopoverRoot` instead.\n */\n onOpenChange?: (isOpen: boolean) => void;\n}\n\nfunction Popover(\n {\n children,\n title,\n UNSAFE_className,\n UNSAFE_style,\n isOpen,\n defaultOpen,\n onOpenChange,\n placement,\n triggerRef,\n ...props\n }: PopoverProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;\n\n useEffect(() => {\n if (!title && !ariaLabel && !ariaLabelledBy) {\n console.warn('Popover requires one of title / aria-label / aria-labelledby for accessibility');\n }\n }, [title, ariaLabel, ariaLabelledBy]);\n\n return (\n <RACPopover\n className={clsx('cim-popover', UNSAFE_className)}\n style={UNSAFE_style}\n isOpen={isOpen}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n triggerRef={triggerRef}\n placement={placement}\n containerPadding={16}\n offset={5} // 1px border + 4px actual offset\n arrowBoundaryOffset={4} // offset by border radius so that the arrow is never positioned over the rounded corner\n data-cim-style-root\n >\n <RACOverlayArrow className=\"cim-popover-arrow\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"10\" viewBox=\"0 0 16 10\">\n <path d=\"M16 0L8.7809 9.0239C8.3805 9.5243 7.6195 9.5243 7.2191 9.0239L0 0\" />\n </svg>\n </RACOverlayArrow>\n <RACDialog {...props} ref={ref} className=\"cim-popover-dialog\">\n {(renderProps) => (\n <>\n {title && (\n <RACHeading slot=\"title\" className={clsx('cim-popover-title', textStyle({ variant: 'title-5' }))}>\n {title}\n </RACHeading>\n )}\n <FocusableContainer className=\"cim-popover-content\" scrollDirection=\"vertical\">\n {typeof children === 'function' ? children(renderProps) : children}\n </FocusableContainer>\n </>\n )}\n </RACDialog>\n </RACPopover>\n );\n}\n\n/**\n * Displays an overlay element positioned relative to a trigger.\n *\n * See [popover usage guidelines](https://ui.cimpress.io/components/popover/).\n */\nconst _Popover = forwardRef(Popover, 'Popover');\n\nexport { _Popover as Popover };\n"]}
1
+ {"version":3,"file":"popover.js","sourceRoot":"","sources":["../../../../src/components/popover/popover.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;AAiCb,kCAEC;;AAjCD,gDAAwB;AAExB,iEAO+B;AAC/B,yDAAkD;AAClD,qFAA6E;AAC7E,mGAA4F;AAE5F,qDAAmD;AAanD;;;GAGG;AACH,SAAgB,WAAW,CAAC,KAAuB;IACjD,OAAO,uBAAC,qCAAgB,OAAK,KAAK,GAAI,CAAC;AACzC,CAAC;AAED,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AAkCxC,SAAS,OAAO,CACd,EACE,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,WAAW,EACX,YAAY,EACZ,SAAS,EACT,UAAU,EACV,GAAG,KAAK,EACK,EACf,GAA8B;IAE9B,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAE7E,IAAA,gDAAoB,EAAC,GAAG,EAAE;QACxB,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;QACjG,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAEvC,OAAO,CACL,wBAAC,+BAAU,IACT,SAAS,EAAE,IAAA,cAAI,EAAC,aAAa,EAAE,gBAAgB,CAAC,EAChD,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,EAAE,EACpB,MAAM,EAAE,CAAC,EACT,mBAAmB,EAAE,CAAC,0CAGtB,uBAAC,oCAAe,IAAC,SAAS,EAAC,mBAAmB,YAC5C,gCAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,YAChF,iCAAM,CAAC,EAAC,mEAAmE,GAAG,GAC1E,GACU,EAClB,uBAAC,8BAAS,OAAK,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAC,oBAAoB,YAC3D,CAAC,WAAW,EAAE,EAAE,CAAC,CAChB,6DACG,KAAK,IAAI,CACR,uBAAC,+BAAU,IAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAE,IAAA,cAAI,EAAC,mBAAmB,EAAE,IAAA,oBAAS,EAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,YAC7F,KAAK,GACK,CACd,EACD,uBAAC,2CAAkB,IAAC,SAAS,EAAC,qBAAqB,EAAC,eAAe,EAAC,UAAU,YAC3E,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,GAC/C,IACpB,CACJ,GACS,IACD,CACd,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,QAAQ,GAAG,IAAA,2BAAU,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAE3B,2BAAO","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport type { ForwardedRef, ReactNode, RefObject } from 'react';\nimport {\n DialogTrigger as RACDialogTrigger,\n Popover as RACPopover,\n type PopoverProps as RACPopoverProps,\n OverlayArrow as RACOverlayArrow,\n Dialog as RACDialog,\n Heading as RACHeading,\n} from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { useProductionWarning } from '../../utils/use-production-warning.js';\nimport { FocusableContainer } from '../internal/focusable-container/focusable-container.js';\nimport type { AriaLabelingProps, CommonProps } from '../types.js';\nimport { textStyle } from '../typography/utils.js';\n\nexport interface PopoverRootProps {\n /** The popover trigger with its associated popover. Provide the trigger as the first child, and the popover as the second child. */\n children: ReactNode;\n /** Whether the popover is open (controlled). */\n isOpen?: boolean;\n /** Whether the popover is open by default (uncontrolled). */\n defaultOpen?: boolean;\n /** Handler that is called when the popover's open state changes. */\n onOpenChange?: (isOpen: boolean) => void;\n}\n\n/**\n * Encapsulates a popover trigger and its associated popover.\n * The trigger can be any Cimpress UI button, and the popover will be displayed when the trigger is activated.\n */\nexport function PopoverRoot(props: PopoverRootProps) {\n return <RACDialogTrigger {...props} />;\n}\n\nPopoverRoot.displayName = 'PopoverRoot';\n\nexport interface PopoverRenderProps {\n /** Closes the popover when called. */\n close: () => void;\n}\n\nexport interface PopoverProps extends CommonProps, AriaLabelingProps, Pick<RACPopoverProps, 'placement'> {\n /** The contents of the popover. A function may be provided to access a function to close the popover. */\n children: ReactNode | ((renderProps: PopoverRenderProps) => ReactNode);\n /** The title of the popover. */\n title?: string;\n /**\n * Whether the popover is open (controlled).\n * If using `PopoverRoot`, this prop has no effect - provide `isOpen` to `PopoverRoot` instead.\n */\n isOpen?: boolean;\n /**\n * Whether the popover is open by default (uncontrolled).\n * If using `PopoverRoot`, this prop has no effect - provide `defaultOpen` to `PopoverRoot` instead.\n */\n defaultOpen?: boolean;\n /**\n * Handler that is called when the popover's open state changes.\n * If using `PopoverRoot`, this prop has no effect - provide `onOpenChange` to `PopoverRoot` instead.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * The ref for the element which the popover positions itself with respect to.\n * When used within `PopoverRoot`, this is set automatically. Provide `triggerRef` only when `Popover` is used standalone.\n */\n triggerRef?: RefObject<Element | null>;\n}\n\nfunction Popover(\n {\n children,\n title,\n UNSAFE_className,\n UNSAFE_style,\n isOpen,\n defaultOpen,\n onOpenChange,\n placement,\n triggerRef,\n ...props\n }: PopoverProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;\n\n useProductionWarning(() => {\n if (!title && !ariaLabel && !ariaLabelledBy) {\n console.warn('Popover requires one of title / aria-label / aria-labelledby for accessibility');\n }\n }, [title, ariaLabel, ariaLabelledBy]);\n\n return (\n <RACPopover\n className={clsx('cim-popover', UNSAFE_className)}\n style={UNSAFE_style}\n isOpen={isOpen}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n triggerRef={triggerRef}\n placement={placement}\n containerPadding={16}\n offset={5} // 1px border + 4px actual offset\n arrowBoundaryOffset={4} // offset by border radius so that the arrow is never positioned over the rounded corner\n data-cim-style-root\n >\n <RACOverlayArrow className=\"cim-popover-arrow\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"10\" viewBox=\"0 0 16 10\">\n <path d=\"M16 0L8.7809 9.0239C8.3805 9.5243 7.6195 9.5243 7.2191 9.0239L0 0\" />\n </svg>\n </RACOverlayArrow>\n <RACDialog {...props} ref={ref} className=\"cim-popover-dialog\">\n {(renderProps) => (\n <>\n {title && (\n <RACHeading slot=\"title\" className={clsx('cim-popover-title', textStyle({ variant: 'title-5' }))}>\n {title}\n </RACHeading>\n )}\n <FocusableContainer className=\"cim-popover-content\" scrollDirection=\"vertical\">\n {typeof children === 'function' ? children(renderProps) : children}\n </FocusableContainer>\n </>\n )}\n </RACDialog>\n </RACPopover>\n );\n}\n\n/**\n * Displays an overlay element positioned relative to a trigger.\n *\n * See [popover usage guidelines](https://ui.cimpress.io/components/popover/).\n */\nconst _Popover = forwardRef(Popover, 'Popover');\n\nexport { _Popover as Popover };\n"]}
@@ -2,7 +2,7 @@ import type { ReactNode } from 'react';
2
2
  import { type RadioGroupProps as RACRadioGroupProps } from 'react-aria-components';
3
3
  import type { Responsive } from '../spacing/types.js';
4
4
  import type { Direction, CommonProps, FieldProps, WithRequired } from '../types.js';
5
- export interface RadioGroupProps extends CommonProps, WithRequired<FieldProps<string | null>, 'label'>, Pick<RACRadioGroupProps, 'isDisabled' | 'isReadOnly' | 'isRequired' | 'isInvalid' | 'value' | 'onChange' | 'defaultValue' | 'name'> {
5
+ export interface RadioGroupProps extends CommonProps, WithRequired<FieldProps<string | null>, 'label'>, Pick<RACRadioGroupProps, 'isDisabled' | 'isReadOnly' | 'isRequired' | 'isInvalid' | 'value' | 'onChange' | 'defaultValue'> {
6
6
  /** Radio buttons belonging to the group. */
7
7
  children: ReactNode;
8
8
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["../../../../src/components/radio/radio-group.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAA+B,KAAK,eAAe,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAKhH,OAAO,KAAK,EAAc,UAAU,EAAW,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEpF,MAAM,WAAW,eACf,SAAQ,WAAW,EACjB,YAAY,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,EAChD,IAAI,CACF,kBAAkB,EAClB,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,MAAM,CAC1G;IACH,4CAA4C;IAC5C,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;CACnC;AA2BD;;;;GAIG;AACH,QAAA,MAAM,WAAW,iKAAuD,CAAC;AAEzE,OAAO,EAAE,WAAW,IAAI,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["../../../../src/components/radio/radio-group.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAA+B,KAAK,eAAe,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAKhH,OAAO,KAAK,EAAc,UAAU,EAAW,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEpF,MAAM,WAAW,eACf,SAAQ,WAAW,EACjB,YAAY,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,EAChD,IAAI,CACF,kBAAkB,EAClB,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,GAAG,UAAU,GAAG,cAAc,CACjG;IACH,4CAA4C;IAC5C,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;CACnC;AA2BD;;;;GAIG;AACH,QAAA,MAAM,WAAW,iKAAuD,CAAC;AAEzE,OAAO,EAAE,WAAW,IAAI,UAAU,EAAE,CAAC"}
@@ -13,7 +13,7 @@ const with_style_props_js_1 = require("../../with-style-props.js");
13
13
  const form_field_js_1 = require("../internal/form-field/form-field.js");
14
14
  const stack_js_1 = require("../spacing/stack/stack.js");
15
15
  function RadioGroup({ label, description, error: errorMessage, direction = 'vertical', children, UNSAFE_className, UNSAFE_style, ...props }, ref) {
16
- return ((0, jsx_runtime_1.jsxs)(react_aria_components_1.RadioGroup, { ...props, ref: ref, className: (0, clsx_1.default)('cim-radio-group', UNSAFE_className), style: UNSAFE_style, children: [(0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldLabel, { isRequired: props.isRequired, children: label }), (0, jsx_runtime_1.jsx)(stack_js_1.Stack, { gap: getGapFromDirection(direction), direction: direction, children: children }), (0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldError, { children: errorMessage }), (0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldDescription, { children: description })] }));
16
+ return ((0, jsx_runtime_1.jsxs)(react_aria_components_1.RadioGroup, { ...props, ref: ref, className: (0, clsx_1.default)('cim-radio-group', UNSAFE_className), style: UNSAFE_style, children: [(0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldLabel, { isRequired: props.isRequired, children: label }), (0, jsx_runtime_1.jsx)(stack_js_1.Stack, { gap: getGapFromDirection(direction), direction: direction, wrap: true, children: children }), (0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldError, { children: errorMessage }), (0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldDescription, { children: description })] }));
17
17
  }
18
18
  /**
19
19
  * Allows users to select a single item from a visible list.
@@ -25,7 +25,7 @@ exports.RadioGroup = _RadioGroup;
25
25
  // Make sure that radio buttons are spaced by 16px when stacked horizontally, and 8px otherwise.
26
26
  function getGapFromDirection(direction) {
27
27
  if (typeof direction === 'object') {
28
- const gap = { xs: direction.xs === 'horizontal' ? 16 : 8 };
28
+ const gap = { sm: direction.sm === 'horizontal' ? 16 : 8 };
29
29
  Object.entries(direction).reduce((acc, curr) => {
30
30
  gap[curr[0]] = curr[1] === 'horizontal' ? 16 : 8;
31
31
  return acc;
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group.js","sourceRoot":"","sources":["../../../../src/components/radio/radio-group.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;AAEb,gDAAwB;AAExB,iEAAgH;AAChH,yDAAkD;AAClD,mEAA2D;AAC3D,wEAA4G;AAC5G,wDAAkD;AAoBlD,SAAS,UAAU,CACjB,EACE,KAAK,EACL,WAAW,EACX,KAAK,EAAE,YAAY,EACnB,SAAS,GAAG,UAAU,EACtB,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,GAAG,KAAK,EACQ,EAClB,GAAiC;IAEjC,OAAO,CACL,wBAAC,kCAAa,OAAK,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAA,cAAI,EAAC,iBAAiB,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,YAAY,aAC3G,uBAAC,8BAAc,IAAC,UAAU,EAAE,KAAK,CAAC,UAAU,YAAG,KAAK,GAAkB,EACtE,uBAAC,gBAAK,IAAC,GAAG,EAAE,mBAAmB,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,YAC7D,QAAQ,GACH,EACR,uBAAC,8BAAc,cAAE,YAAY,GAAkB,EAC/C,uBAAC,oCAAoB,cAAE,WAAW,GAAwB,IAC5C,CACjB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,WAAW,GAAG,IAAA,oCAAc,EAAC,IAAA,2BAAU,EAAC,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;AAEjD,iCAAU;AAElC,gGAAgG;AAChG,SAAS,mBAAmB,CAAC,SAAgC;IAC3D,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,GAAG,GAAwB,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE/E,MAAM,CAAC,OAAO,CAAC,SAAS,CAA+B,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC5E,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport type { ForwardedRef, ReactNode } from 'react';\nimport { RadioGroup as RACRadioGroup, type RadioGroupProps as RACRadioGroupProps } from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport { FormFieldDescription, FormFieldError, FormFieldLabel } from '../internal/form-field/form-field.js';\nimport { Stack } from '../spacing/stack/stack.js';\nimport type { Breakpoint, Responsive, Spacing } from '../spacing/types.js';\nimport type { Direction, CommonProps, FieldProps, WithRequired } from '../types.js';\n\nexport interface RadioGroupProps\n extends CommonProps,\n WithRequired<FieldProps<string | null>, 'label'>,\n Pick<\n RACRadioGroupProps,\n 'isDisabled' | 'isReadOnly' | 'isRequired' | 'isInvalid' | 'value' | 'onChange' | 'defaultValue' | 'name'\n > {\n /** Radio buttons belonging to the group. */\n children: ReactNode;\n /**\n * Determines the direction in which radio buttons will be stacked.\n * @default 'vertical'\n */\n direction?: Responsive<Direction>;\n}\n\nfunction RadioGroup(\n {\n label,\n description,\n error: errorMessage,\n direction = 'vertical',\n children,\n UNSAFE_className,\n UNSAFE_style,\n ...props\n }: RadioGroupProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n return (\n <RACRadioGroup {...props} ref={ref} className={clsx('cim-radio-group', UNSAFE_className)} style={UNSAFE_style}>\n <FormFieldLabel isRequired={props.isRequired}>{label}</FormFieldLabel>\n <Stack gap={getGapFromDirection(direction)} direction={direction}>\n {children}\n </Stack>\n <FormFieldError>{errorMessage}</FormFieldError>\n <FormFieldDescription>{description}</FormFieldDescription>\n </RACRadioGroup>\n );\n}\n\n/**\n * Allows users to select a single item from a visible list.\n *\n * See [radio group usage guidelines](https://ui.cimpress.io/components/radio-group/).\n */\nconst _RadioGroup = withStyleProps(forwardRef(RadioGroup), 'RadioGroup');\n\nexport { _RadioGroup as RadioGroup };\n\n// Make sure that radio buttons are spaced by 16px when stacked horizontally, and 8px otherwise.\nfunction getGapFromDirection(direction: Responsive<Direction>): Responsive<Spacing> {\n if (typeof direction === 'object') {\n const gap: Responsive<Spacing> = { xs: direction.xs === 'horizontal' ? 16 : 8 };\n\n (Object.entries(direction) as [Breakpoint, Direction][]).reduce((acc, curr) => {\n gap[curr[0]] = curr[1] === 'horizontal' ? 16 : 8;\n return acc;\n }, gap);\n\n return gap;\n }\n\n return direction === 'horizontal' ? 16 : 8;\n}\n"]}
1
+ {"version":3,"file":"radio-group.js","sourceRoot":"","sources":["../../../../src/components/radio/radio-group.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;AAEb,gDAAwB;AAExB,iEAAgH;AAChH,yDAAkD;AAClD,mEAA2D;AAC3D,wEAA4G;AAC5G,wDAAkD;AAoBlD,SAAS,UAAU,CACjB,EACE,KAAK,EACL,WAAW,EACX,KAAK,EAAE,YAAY,EACnB,SAAS,GAAG,UAAU,EACtB,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,GAAG,KAAK,EACQ,EAClB,GAAiC;IAEjC,OAAO,CACL,wBAAC,kCAAa,OAAK,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAA,cAAI,EAAC,iBAAiB,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,YAAY,aAC3G,uBAAC,8BAAc,IAAC,UAAU,EAAE,KAAK,CAAC,UAAU,YAAG,KAAK,GAAkB,EACtE,uBAAC,gBAAK,IAAC,GAAG,EAAE,mBAAmB,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,kBACnE,QAAQ,GACH,EACR,uBAAC,8BAAc,cAAE,YAAY,GAAkB,EAC/C,uBAAC,oCAAoB,cAAE,WAAW,GAAwB,IAC5C,CACjB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,WAAW,GAAG,IAAA,oCAAc,EAAC,IAAA,2BAAU,EAAC,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;AAEjD,iCAAU;AAElC,gGAAgG;AAChG,SAAS,mBAAmB,CAAC,SAAgC;IAC3D,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,GAAG,GAAwB,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE/E,MAAM,CAAC,OAAO,CAAC,SAAS,CAA+B,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC5E,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport type { ForwardedRef, ReactNode } from 'react';\nimport { RadioGroup as RACRadioGroup, type RadioGroupProps as RACRadioGroupProps } from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport { FormFieldDescription, FormFieldError, FormFieldLabel } from '../internal/form-field/form-field.js';\nimport { Stack } from '../spacing/stack/stack.js';\nimport type { Breakpoint, Responsive, Spacing } from '../spacing/types.js';\nimport type { Direction, CommonProps, FieldProps, WithRequired } from '../types.js';\n\nexport interface RadioGroupProps\n extends CommonProps,\n WithRequired<FieldProps<string | null>, 'label'>,\n Pick<\n RACRadioGroupProps,\n 'isDisabled' | 'isReadOnly' | 'isRequired' | 'isInvalid' | 'value' | 'onChange' | 'defaultValue'\n > {\n /** Radio buttons belonging to the group. */\n children: ReactNode;\n /**\n * Determines the direction in which radio buttons will be stacked.\n * @default 'vertical'\n */\n direction?: Responsive<Direction>;\n}\n\nfunction RadioGroup(\n {\n label,\n description,\n error: errorMessage,\n direction = 'vertical',\n children,\n UNSAFE_className,\n UNSAFE_style,\n ...props\n }: RadioGroupProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n return (\n <RACRadioGroup {...props} ref={ref} className={clsx('cim-radio-group', UNSAFE_className)} style={UNSAFE_style}>\n <FormFieldLabel isRequired={props.isRequired}>{label}</FormFieldLabel>\n <Stack gap={getGapFromDirection(direction)} direction={direction} wrap>\n {children}\n </Stack>\n <FormFieldError>{errorMessage}</FormFieldError>\n <FormFieldDescription>{description}</FormFieldDescription>\n </RACRadioGroup>\n );\n}\n\n/**\n * Allows users to select a single item from a visible list.\n *\n * See [radio group usage guidelines](https://ui.cimpress.io/components/radio-group/).\n */\nconst _RadioGroup = withStyleProps(forwardRef(RadioGroup), 'RadioGroup');\n\nexport { _RadioGroup as RadioGroup };\n\n// Make sure that radio buttons are spaced by 16px when stacked horizontally, and 8px otherwise.\nfunction getGapFromDirection(direction: Responsive<Direction>): Responsive<Spacing> {\n if (typeof direction === 'object') {\n const gap: Responsive<Spacing> = { sm: direction.sm === 'horizontal' ? 16 : 8 };\n\n (Object.entries(direction) as [Breakpoint, Direction][]).reduce((acc, curr) => {\n gap[curr[0]] = curr[1] === 'horizontal' ? 16 : 8;\n return acc;\n }, gap);\n\n return gap;\n }\n\n return direction === 'horizontal' ? 16 : 8;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["../../../../src/components/radio/radio.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAqB,KAAK,UAAU,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtF,MAAM,WAAW,UACf,SAAQ,WAAW,EACjB,iBAAiB,EACjB,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,YAAY,GAAG,WAAW,CAAC;IAC3D,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AA8BD;;;;GAIG;AACH,QAAA,MAAM,MAAM,8JAA6C,CAAC;AAE1D,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["../../../../src/components/radio/radio.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAqB,KAAK,UAAU,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtF,MAAM,WAAW,UACf,SAAQ,WAAW,EACjB,iBAAiB,EACjB,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,YAAY,GAAG,WAAW,CAAC;IAC3D,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AA8BD;;;;GAIG;AACH,QAAA,MAAM,MAAM,8JAA6C,CAAC;AAE1D,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,CAAC"}
@@ -7,19 +7,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.Radio = void 0;
8
8
  const jsx_runtime_1 = require("react/jsx-runtime");
9
9
  const clsx_1 = __importDefault(require("clsx"));
10
- const react_1 = require("react");
11
10
  const react_aria_components_1 = require("react-aria-components");
12
11
  const forward_ref_js_1 = require("../../forward-ref.js");
12
+ const use_production_warning_js_1 = require("../../utils/use-production-warning.js");
13
13
  const with_style_props_js_1 = require("../../with-style-props.js");
14
14
  const text_js_1 = require("../typography/text.js");
15
15
  function Radio({ children, UNSAFE_className, UNSAFE_style, ...props }, ref) {
16
16
  const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;
17
- (0, react_1.useEffect)(() => {
17
+ (0, use_production_warning_js_1.useProductionWarning)(() => {
18
18
  if (!children && !ariaLabel && !ariaLabelledBy) {
19
19
  console.warn('Radio requires one of children / aria-label / aria-labelledby for accessibility');
20
20
  }
21
21
  }, [children, ariaLabel, ariaLabelledBy]);
22
- return ((0, jsx_runtime_1.jsxs)(react_aria_components_1.Radio, { ...props, className: (0, clsx_1.default)('cim-radio', UNSAFE_className), style: UNSAFE_style, ref: ref, children: [(0, jsx_runtime_1.jsx)("div", { className: "cim-radio-toggle-wrapper", children: (0, jsx_runtime_1.jsx)("div", { className: "cim-radio-toggle", children: (0, jsx_runtime_1.jsx)("div", { className: "cim-radio-toggle-inner" }) }) }), children && ((0, jsx_runtime_1.jsx)(text_js_1.Text, { as: "span", variant: "body", children: children }))] }));
22
+ return ((0, jsx_runtime_1.jsxs)(react_aria_components_1.Radio, { ...props, className: (0, clsx_1.default)('cim-radio', UNSAFE_className), style: UNSAFE_style, ref: ref, children: [(0, jsx_runtime_1.jsx)("div", { className: "cim-radio-toggle-wrapper", children: (0, jsx_runtime_1.jsx)("div", { className: "cim-radio-toggle", children: (0, jsx_runtime_1.jsx)("div", { className: "cim-radio-toggle-inner" }) }) }), children && ((0, jsx_runtime_1.jsx)(text_js_1.Text, { as: "span", variant: "medium", children: children }))] }));
23
23
  }
24
24
  /**
25
25
  * Renders a single option within `RadioGroup`.
@@ -1 +1 @@
1
- {"version":3,"file":"radio.js","sourceRoot":"","sources":["../../../../src/components/radio/radio.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;AAEb,gDAAwB;AACxB,iCAAqD;AACrD,iEAA4F;AAC5F,yDAAkD;AAClD,mEAA2D;AAE3D,mDAA6C;AAU7C,SAAS,KAAK,CACZ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,KAAK,EAAc,EAClE,GAAmC;IAEnC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAE7E,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;QAClG,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAE1C,OAAO,CACL,wBAAC,6BAAQ,OAAK,KAAK,EAAE,SAAS,EAAE,IAAA,cAAI,EAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,aAChG,gCAAK,SAAS,EAAC,0BAA0B,YACvC,gCAAK,SAAS,EAAC,kBAAkB,YAC/B,gCAAK,SAAS,EAAC,wBAAwB,GAAG,GACtC,GACF,EACL,QAAQ,IAAI,CACX,uBAAC,cAAI,IAAC,EAAE,EAAC,MAAM,EAAC,OAAO,EAAC,MAAM,YAC3B,QAAQ,GACJ,CACR,IACQ,CACZ,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,MAAM,GAAG,IAAA,oCAAc,EAAC,IAAA,2BAAU,EAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;AAEvC,uBAAK","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { useEffect, type ForwardedRef } from 'react';\nimport { Radio as RACRadio, type RadioProps as RACRadioProps } from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport type { AriaLabelingProps, CommonProps, StringLikeChildren } from '../types.js';\nimport { Text } from '../typography/text.js';\n\nexport interface RadioProps\n extends CommonProps,\n AriaLabelingProps,\n Pick<RACRadioProps, 'value' | 'isDisabled' | 'autoFocus'> {\n /** The label rendered next to the radio. */\n children?: StringLikeChildren;\n}\n\nfunction Radio(\n { children, UNSAFE_className, UNSAFE_style, ...props }: RadioProps,\n ref: ForwardedRef<HTMLLabelElement>,\n) {\n const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;\n\n useEffect(() => {\n if (!children && !ariaLabel && !ariaLabelledBy) {\n console.warn('Radio requires one of children / aria-label / aria-labelledby for accessibility');\n }\n }, [children, ariaLabel, ariaLabelledBy]);\n\n return (\n <RACRadio {...props} className={clsx('cim-radio', UNSAFE_className)} style={UNSAFE_style} ref={ref}>\n <div className=\"cim-radio-toggle-wrapper\">\n <div className=\"cim-radio-toggle\">\n <div className=\"cim-radio-toggle-inner\" />\n </div>\n </div>\n {children && (\n <Text as=\"span\" variant=\"body\">\n {children}\n </Text>\n )}\n </RACRadio>\n );\n}\n\n/**\n * Renders a single option within `RadioGroup`.\n *\n * See [radio group usage guidelines](https://ui.cimpress.io/components/radio-group/).\n */\nconst _Radio = withStyleProps(forwardRef(Radio), 'Radio');\n\nexport { _Radio as Radio };\n"]}
1
+ {"version":3,"file":"radio.js","sourceRoot":"","sources":["../../../../src/components/radio/radio.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;AAEb,gDAAwB;AAExB,iEAA4F;AAC5F,yDAAkD;AAClD,qFAA6E;AAC7E,mEAA2D;AAE3D,mDAA6C;AAU7C,SAAS,KAAK,CACZ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,KAAK,EAAc,EAClE,GAAmC;IAEnC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAE7E,IAAA,gDAAoB,EAAC,GAAG,EAAE;QACxB,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;QAClG,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAE1C,OAAO,CACL,wBAAC,6BAAQ,OAAK,KAAK,EAAE,SAAS,EAAE,IAAA,cAAI,EAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,aAChG,gCAAK,SAAS,EAAC,0BAA0B,YACvC,gCAAK,SAAS,EAAC,kBAAkB,YAC/B,gCAAK,SAAS,EAAC,wBAAwB,GAAG,GACtC,GACF,EACL,QAAQ,IAAI,CACX,uBAAC,cAAI,IAAC,EAAE,EAAC,MAAM,EAAC,OAAO,EAAC,QAAQ,YAC7B,QAAQ,GACJ,CACR,IACQ,CACZ,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,MAAM,GAAG,IAAA,oCAAc,EAAC,IAAA,2BAAU,EAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;AAEvC,uBAAK","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport type { ForwardedRef } from 'react';\nimport { Radio as RACRadio, type RadioProps as RACRadioProps } 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 { AriaLabelingProps, CommonProps, StringLikeChildren } from '../types.js';\nimport { Text } from '../typography/text.js';\n\nexport interface RadioProps\n extends CommonProps,\n AriaLabelingProps,\n Pick<RACRadioProps, 'value' | 'isDisabled' | 'autoFocus'> {\n /** The label rendered next to the radio. */\n children?: StringLikeChildren;\n}\n\nfunction Radio(\n { children, UNSAFE_className, UNSAFE_style, ...props }: RadioProps,\n ref: ForwardedRef<HTMLLabelElement>,\n) {\n const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;\n\n useProductionWarning(() => {\n if (!children && !ariaLabel && !ariaLabelledBy) {\n console.warn('Radio requires one of children / aria-label / aria-labelledby for accessibility');\n }\n }, [children, ariaLabel, ariaLabelledBy]);\n\n return (\n <RACRadio {...props} className={clsx('cim-radio', UNSAFE_className)} style={UNSAFE_style} ref={ref}>\n <div className=\"cim-radio-toggle-wrapper\">\n <div className=\"cim-radio-toggle\">\n <div className=\"cim-radio-toggle-inner\" />\n </div>\n </div>\n {children && (\n <Text as=\"span\" variant=\"medium\">\n {children}\n </Text>\n )}\n </RACRadio>\n );\n}\n\n/**\n * Renders a single option within `RadioGroup`.\n *\n * See [radio group usage guidelines](https://ui.cimpress.io/components/radio-group/).\n */\nconst _Radio = withStyleProps(forwardRef(Radio), 'Radio');\n\nexport { _Radio as Radio };\n"]}
@@ -1,6 +1,11 @@
1
1
  import { type ListBoxProps as RACListBoxProps, type ListBoxItemProps as RACListBoxItemProps, type SelectProps as RACSelectProps } from 'react-aria-components';
2
2
  import type { CollectionItem, CollectionProps, CommonProps, FieldProps, Key, StringLikeChildren } from '../types.js';
3
- export interface SelectProps<T extends CollectionItem = CollectionItem> extends CommonProps, FieldProps<Key>, CollectionProps<T>, Pick<RACSelectProps<T>, 'name' | 'isDisabled' | 'isRequired' | 'isInvalid' | 'selectedKey' | 'defaultSelectedKey' | 'autoComplete' | 'autoFocus' | 'onSelectionChange' | 'placeholder' | 'onFocus' | 'onBlur' | 'onOpenChange'>, Pick<RACListBoxProps<T>, 'onScroll'> {
3
+ export interface SelectProps<T extends CollectionItem = CollectionItem> extends CommonProps, FieldProps<Key>, CollectionProps<T>, Pick<RACSelectProps<T>, 'isDisabled' | 'isRequired' | 'isInvalid' | 'selectedKey' | 'defaultSelectedKey' | 'autoComplete' | 'autoFocus' | 'onSelectionChange' | 'placeholder' | 'onFocus' | 'onBlur' | 'onOpenChange'>, Pick<RACListBoxProps<T>, 'onScroll'> {
4
+ /**
5
+ * Whether the list of options should be virtualized. Use this as a performance optimization for large lists.
6
+ * @default false
7
+ */
8
+ isVirtualized?: boolean;
4
9
  }
5
10
  /**
6
11
  * Allows users to select one item from a collapsible list.
@@ -10,6 +15,7 @@ export interface SelectProps<T extends CollectionItem = CollectionItem> extends
10
15
  declare const _Select: <T extends CollectionItem>(props: SelectProps<T> & import("react").RefAttributes<HTMLDivElement> & import("../../with-style-props.js").StyleProps) => import("react").JSX.Element | null;
11
16
  export { _Select as Select };
12
17
  export interface SelectItemProps extends Pick<RACListBoxItemProps, 'id' | 'isDisabled' | 'onHoverStart' | 'onHoverEnd'> {
18
+ /** The content to display as the label. */
13
19
  children: StringLikeChildren;
14
20
  }
15
21
  /** Renders a single list item within `Select`. */
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../../src/components/select/select.tsx"],"names":[],"mappings":"AAIA,OAAO,EAKL,KAAK,YAAY,IAAI,eAAe,EAMpC,KAAK,gBAAgB,IAAI,mBAAmB,EAC5C,KAAK,WAAW,IAAI,cAAc,EACnC,MAAM,uBAAuB,CAAC;AAM/B,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGrH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CACpE,SAAQ,WAAW,EACjB,UAAU,CAAC,GAAG,CAAC,EACf,eAAe,CAAC,CAAC,CAAC,EAClB,IAAI,CACF,cAAc,CAAC,CAAC,CAAC,EACf,MAAM,GACN,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,aAAa,GACb,oBAAoB,GACpB,cAAc,GACd,WAAW,GACX,mBAAmB,GACnB,aAAa,GACb,SAAS,GACT,QAAQ,GACR,cAAc,CACjB,EACD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC;CAAG;AA6C3C;;;;GAIG;AACH,QAAA,MAAM,OAAO,GAhDG,CAAC,SAAS,cAAc,+JAgDoB,CAAC;AAE7D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,CAAC;AAE7B,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,mBAAmB,EAAE,IAAI,GAAG,YAAY,GAAG,cAAc,GAAG,YAAY,CAAC;IACtF,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAED,kDAAkD;AAClD,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,2CAiBjE;yBAjBe,UAAU;;;AAqB1B,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,cAAc,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;IACtF,6EAA6E;IAC7E,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,CAAC,SAAS,cAAc,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,2CAelH;yBAfe,aAAa"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../../src/components/select/select.tsx"],"names":[],"mappings":"AAIA,OAAO,EAKL,KAAK,YAAY,IAAI,eAAe,EAQpC,KAAK,gBAAgB,IAAI,mBAAmB,EAC5C,KAAK,WAAW,IAAI,cAAc,EAEnC,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAUrH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CACpE,SAAQ,WAAW,EACjB,UAAU,CAAC,GAAG,CAAC,EACf,eAAe,CAAC,CAAC,CAAC,EAClB,IAAI,CACF,cAAc,CAAC,CAAC,CAAC,EACf,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,aAAa,GACb,oBAAoB,GACpB,cAAc,GACd,WAAW,GACX,mBAAmB,GACnB,aAAa,GACb,SAAS,GACT,QAAQ,GACR,cAAc,CACjB,EACD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC;IACtC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAkED;;;;GAIG;AACH,QAAA,MAAM,OAAO,GArEG,CAAC,SAAS,cAAc,+JAqEoB,CAAC;AAE7D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,CAAC;AAE7B,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,mBAAmB,EAAE,IAAI,GAAG,YAAY,GAAG,cAAc,GAAG,YAAY,CAAC;IACtF,2CAA2C;IAC3C,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAED,kDAAkD;AAClD,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,2CAiBjE;yBAjBe,UAAU;;;AAqB1B,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,cAAc,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;IACtF,6EAA6E;IAC7E,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,CAAC,SAAS,cAAc,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,2CAelH;yBAfe,aAAa"}
@@ -9,25 +9,33 @@ exports.SelectItem = SelectItem;
9
9
  exports.SelectSection = SelectSection;
10
10
  const jsx_runtime_1 = require("react/jsx-runtime");
11
11
  const clsx_1 = __importDefault(require("clsx"));
12
- const react_1 = require("react");
13
12
  const react_aria_components_1 = require("react-aria-components");
14
13
  const forward_ref_js_1 = require("../../forward-ref.js");
15
14
  const index_js_1 = require("../../icons/index.js");
15
+ const is_production_js_1 = require("../../utils/is-production.js");
16
+ const use_production_warning_js_1 = require("../../utils/use-production-warning.js");
16
17
  const with_style_props_js_1 = require("../../with-style-props.js");
17
18
  const collapsible_list_js_1 = require("../internal/collapsible-list/collapsible-list.js");
18
19
  const form_field_js_1 = require("../internal/form-field/form-field.js");
19
20
  const utils_js_1 = require("../typography/utils.js");
20
- function Select({ children, items, label, description, error, UNSAFE_className, UNSAFE_style, onScroll, ...props }, ref) {
21
+ const VIRTUAL_LAYOUT_OPTIONS = {
22
+ rowHeight: 40,
23
+ headingHeight: 32,
24
+ padding: 0,
25
+ gap: 0,
26
+ };
27
+ function Select({ children, items, label, description, error, UNSAFE_className, UNSAFE_style, onScroll, isVirtualized = false, ...props }, ref) {
21
28
  const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;
22
- (0, react_1.useEffect)(() => {
29
+ (0, use_production_warning_js_1.useProductionWarning)(() => {
23
30
  if (!label && !ariaLabel && !ariaLabelledBy) {
24
31
  console.warn('Select requires one of label / aria-label / aria-labelledby for accessibility');
25
32
  }
26
33
  }, [label, ariaLabel, ariaLabelledBy]);
27
- if (items != null && typeof children !== 'function') {
34
+ if (!(0, is_production_js_1.isProduction)() && items != null && typeof children !== 'function') {
28
35
  console.warn('`Select` requires `children` to be a function when using `items` prop');
29
36
  }
30
- return ((0, jsx_runtime_1.jsxs)(react_aria_components_1.Select, { ...props, ref: ref, className: (0, clsx_1.default)('cim-select', UNSAFE_className), style: UNSAFE_style, children: [(0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldLabel, { isRequired: props.isRequired, isDisabled: props.isDisabled, children: label }), (0, jsx_runtime_1.jsxs)(react_aria_components_1.Button, { className: "cim-select-button", children: [(0, jsx_runtime_1.jsx)(react_aria_components_1.SelectValue, { className: (values) => (0, clsx_1.default)(values.defaultClassName, (0, utils_js_1.textStyle)({ variant: 'medium', alignment: 'start' })), children: ({ selectedText }) => selectedText }), (0, jsx_runtime_1.jsx)(index_js_1.IconChevronDown, {})] }), (0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldError, { children: error }), (0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldDescription, { children: description }), (0, jsx_runtime_1.jsx)(collapsible_list_js_1.CollapsibleList, { offset: 5, maxHeight: 315, children: (0, jsx_runtime_1.jsx)(react_aria_components_1.ListBox, { className: "cim-select-listbox", onScroll: onScroll, items: items, children: children }) })] }));
37
+ const listBox = ((0, jsx_runtime_1.jsx)(react_aria_components_1.ListBox, { className: "cim-select-listbox", onScroll: onScroll, items: items, children: children }));
38
+ return ((0, jsx_runtime_1.jsxs)(react_aria_components_1.Select, { ...props, ref: ref, className: (0, clsx_1.default)('cim-select', UNSAFE_className), style: UNSAFE_style, children: [(0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldLabel, { isRequired: props.isRequired, isDisabled: props.isDisabled, children: label }), (0, jsx_runtime_1.jsxs)(react_aria_components_1.Button, { className: "cim-select-button", children: [(0, jsx_runtime_1.jsx)(react_aria_components_1.SelectValue, { className: (values) => (0, clsx_1.default)(values.defaultClassName, (0, utils_js_1.textStyle)({ variant: 'body', alignment: 'start' })), children: ({ selectedText }) => selectedText }), (0, jsx_runtime_1.jsx)(index_js_1.IconChevronDown, {})] }), (0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldError, { children: error }), (0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldDescription, { children: description }), (0, jsx_runtime_1.jsx)(collapsible_list_js_1.CollapsibleList, { offset: 5, maxHeight: 315, children: isVirtualized ? ((0, jsx_runtime_1.jsx)(react_aria_components_1.Virtualizer, { layout: react_aria_components_1.ListLayout, layoutOptions: VIRTUAL_LAYOUT_OPTIONS, children: listBox })) : (listBox) })] }));
31
39
  }
32
40
  /**
33
41
  * Allows users to select one item from a collapsible list.
@@ -44,7 +52,7 @@ function SelectItem({ children, ...props }) {
44
52
  SelectItem.displayName = 'SelectItem';
45
53
  /** Groups list items within `Select` into a section. */
46
54
  function SelectSection({ title, children, items, ...props }) {
47
- if (items != null && typeof children !== 'function') {
55
+ if (!(0, is_production_js_1.isProduction)() && items != null && typeof children !== 'function') {
48
56
  console.warn('`SelectSection` requires `children` to be a function when using `items` prop');
49
57
  }
50
58
  return ((0, jsx_runtime_1.jsxs)(react_aria_components_1.ListBoxSection, { ...props, className: "cim-select-section", children: [(0, jsx_runtime_1.jsx)(react_aria_components_1.Header, { className: (0, clsx_1.default)('cim-select-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 })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../../src/components/select/select.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { useEffect, type ForwardedRef } from 'react';\nimport {\n Button as RACButton,\n Collection as RACCollection,\n Header as RACHeader,\n ListBox as RACListBox,\n type ListBoxProps as RACListBoxProps,\n ListBoxItem as RACListBoxItem,\n ListBoxSection as RACListBoxSection,\n Select as RACSelect,\n SelectValue as RACSelectValue,\n Text as RACText,\n type ListBoxItemProps as RACListBoxItemProps,\n type SelectProps as RACSelectProps,\n} from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { IconCheck, IconChevronDown } from '../../icons/index.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 { CollectionItem, CollectionProps, CommonProps, FieldProps, Key, StringLikeChildren } from '../types.js';\nimport { textStyle } from '../typography/utils.js';\n\nexport interface SelectProps<T extends CollectionItem = CollectionItem>\n extends CommonProps,\n FieldProps<Key>,\n CollectionProps<T>,\n Pick<\n RACSelectProps<T>,\n | 'name'\n | 'isDisabled'\n | 'isRequired'\n | 'isInvalid'\n | 'selectedKey'\n | 'defaultSelectedKey'\n | 'autoComplete'\n | 'autoFocus'\n | 'onSelectionChange'\n | 'placeholder'\n | 'onFocus'\n | 'onBlur'\n | 'onOpenChange'\n >,\n Pick<RACListBoxProps<T>, 'onScroll'> {}\n\nfunction Select<T extends CollectionItem>(\n { children, items, label, description, error, UNSAFE_className, UNSAFE_style, onScroll, ...props }: SelectProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;\n\n useEffect(() => {\n if (!label && !ariaLabel && !ariaLabelledBy) {\n console.warn('Select requires one of label / aria-label / aria-labelledby for accessibility');\n }\n }, [label, ariaLabel, ariaLabelledBy]);\n\n if (items != null && typeof children !== 'function') {\n console.warn('`Select` requires `children` to be a function when using `items` prop');\n }\n\n return (\n <RACSelect {...props} ref={ref} className={clsx('cim-select', UNSAFE_className)} style={UNSAFE_style}>\n <FormFieldLabel isRequired={props.isRequired} isDisabled={props.isDisabled}>\n {label}\n </FormFieldLabel>\n <RACButton className=\"cim-select-button\">\n <RACSelectValue\n className={(values) => clsx(values.defaultClassName, textStyle({ variant: 'medium', alignment: 'start' }))}\n >\n {({ selectedText }) => selectedText}\n </RACSelectValue>\n <IconChevronDown />\n </RACButton>\n <FormFieldError>{error}</FormFieldError>\n <FormFieldDescription>{description}</FormFieldDescription>\n <CollapsibleList\n offset={5} // 1px border + 4px actual offset\n maxHeight={315}\n >\n <RACListBox className=\"cim-select-listbox\" onScroll={onScroll} items={items}>\n {children}\n </RACListBox>\n </CollapsibleList>\n </RACSelect>\n );\n}\n\n/**\n * Allows users to select one item from a collapsible list.\n *\n * See [select usage guidelines](https://ui.cimpress.io/components/select/).\n */\nconst _Select = withStyleProps(forwardRef(Select), 'Select');\n\nexport { _Select as Select };\n\nexport interface SelectItemProps\n extends Pick<RACListBoxItemProps, 'id' | 'isDisabled' | 'onHoverStart' | 'onHoverEnd'> {\n children: StringLikeChildren;\n}\n\n/** Renders a single list item within `Select`. */\nexport function SelectItem({ children, ...props }: SelectItemProps) {\n const textValue =\n typeof children === 'string' ? children : typeof children === 'number' ? String(children) : children.join('');\n\n return (\n <RACListBoxItem {...props} className=\"cim-select-item\" textValue={textValue}>\n {({ isDisabled }) => (\n <>\n <IconCheck />\n\n <RACText slot=\"label\" className={textStyle({ variant: 'body', tone: isDisabled ? 'muted' : 'base' })}>\n {children}\n </RACText>\n </>\n )}\n </RACListBoxItem>\n );\n}\n\nSelectItem.displayName = 'SelectItem';\n\nexport interface SelectSectionProps<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 `Select` into a section. */\nexport function SelectSection<T extends CollectionItem>({ title, children, items, ...props }: SelectSectionProps<T>) {\n if (items != null && typeof children !== 'function') {\n console.warn('`SelectSection` requires `children` to be a function when using `items` prop');\n }\n\n return (\n <RACListBoxSection {...props} className=\"cim-select-section\">\n <RACHeader\n className={clsx('cim-select-section-header', textStyle({ variant: 'small-semibold', tone: 'subtle' }))}\n >\n {title}\n </RACHeader>\n <RACCollection items={items}>{children}</RACCollection>\n </RACListBoxSection>\n );\n}\n\nSelectSection.displayName = 'SelectSection';\n"]}
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../../src/components/select/select.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport type { ForwardedRef } from 'react';\nimport {\n Button as RACButton,\n Collection as RACCollection,\n Header as RACHeader,\n ListBox as RACListBox,\n type ListBoxProps as RACListBoxProps,\n ListBoxItem as RACListBoxItem,\n ListBoxSection as RACListBoxSection,\n ListLayout as RACListLayout,\n type ListLayoutOptions as RACListLayoutOptions,\n Select as RACSelect,\n SelectValue as RACSelectValue,\n Text as RACText,\n type ListBoxItemProps as RACListBoxItemProps,\n type SelectProps as RACSelectProps,\n Virtualizer as RACVirtualizer,\n} from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { IconCheck, 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 { CollectionItem, CollectionProps, CommonProps, FieldProps, Key, StringLikeChildren } from '../types.js';\nimport { textStyle } from '../typography/utils.js';\n\nconst VIRTUAL_LAYOUT_OPTIONS: RACListLayoutOptions = {\n rowHeight: 40,\n headingHeight: 32,\n padding: 0,\n gap: 0,\n};\n\nexport interface SelectProps<T extends CollectionItem = CollectionItem>\n extends CommonProps,\n FieldProps<Key>,\n CollectionProps<T>,\n Pick<\n RACSelectProps<T>,\n | 'isDisabled'\n | 'isRequired'\n | 'isInvalid'\n | 'selectedKey'\n | 'defaultSelectedKey'\n | 'autoComplete'\n | 'autoFocus'\n | 'onSelectionChange'\n | 'placeholder'\n | 'onFocus'\n | 'onBlur'\n | 'onOpenChange'\n >,\n Pick<RACListBoxProps<T>, 'onScroll'> {\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 Select<T extends CollectionItem>(\n {\n children,\n items,\n label,\n description,\n error,\n UNSAFE_className,\n UNSAFE_style,\n onScroll,\n isVirtualized = false,\n ...props\n }: SelectProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;\n\n useProductionWarning(() => {\n if (!label && !ariaLabel && !ariaLabelledBy) {\n console.warn('Select 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('`Select` requires `children` to be a function when using `items` prop');\n }\n\n const listBox = (\n <RACListBox className=\"cim-select-listbox\" onScroll={onScroll} items={items}>\n {children}\n </RACListBox>\n );\n\n return (\n <RACSelect {...props} ref={ref} className={clsx('cim-select', UNSAFE_className)} style={UNSAFE_style}>\n <FormFieldLabel isRequired={props.isRequired} isDisabled={props.isDisabled}>\n {label}\n </FormFieldLabel>\n <RACButton className=\"cim-select-button\">\n <RACSelectValue\n className={(values) => clsx(values.defaultClassName, textStyle({ variant: 'body', alignment: 'start' }))}\n >\n {({ selectedText }) => selectedText}\n </RACSelectValue>\n <IconChevronDown />\n </RACButton>\n <FormFieldError>{error}</FormFieldError>\n <FormFieldDescription>{description}</FormFieldDescription>\n <CollapsibleList\n offset={5} // 1px border + 4px actual offset\n maxHeight={315}\n >\n {isVirtualized ? (\n <RACVirtualizer layout={RACListLayout} layoutOptions={VIRTUAL_LAYOUT_OPTIONS}>\n {listBox}\n </RACVirtualizer>\n ) : (\n listBox\n )}\n </CollapsibleList>\n </RACSelect>\n );\n}\n\n/**\n * Allows users to select one item from a collapsible list.\n *\n * See [select usage guidelines](https://ui.cimpress.io/components/select/).\n */\nconst _Select = withStyleProps(forwardRef(Select), 'Select');\n\nexport { _Select as Select };\n\nexport interface SelectItemProps\n extends Pick<RACListBoxItemProps, 'id' | 'isDisabled' | 'onHoverStart' | 'onHoverEnd'> {\n /** The content to display as the label. */\n children: StringLikeChildren;\n}\n\n/** Renders a single list item within `Select`. */\nexport function SelectItem({ children, ...props }: SelectItemProps) {\n const textValue =\n typeof children === 'string' ? children : typeof children === 'number' ? String(children) : children.join('');\n\n return (\n <RACListBoxItem {...props} className=\"cim-select-item\" textValue={textValue}>\n {({ isDisabled }) => (\n <>\n <IconCheck />\n\n <RACText slot=\"label\" className={textStyle({ variant: 'body', tone: isDisabled ? 'muted' : 'base' })}>\n {children}\n </RACText>\n </>\n )}\n </RACListBoxItem>\n );\n}\n\nSelectItem.displayName = 'SelectItem';\n\nexport interface SelectSectionProps<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 `Select` into a section. */\nexport function SelectSection<T extends CollectionItem>({ title, children, items, ...props }: SelectSectionProps<T>) {\n if (!isProduction() && items != null && typeof children !== 'function') {\n console.warn('`SelectSection` requires `children` to be a function when using `items` prop');\n }\n\n return (\n <RACListBoxSection {...props} className=\"cim-select-section\">\n <RACHeader\n className={clsx('cim-select-section-header', textStyle({ variant: 'small-semibold', tone: 'subtle' }))}\n >\n {title}\n </RACHeader>\n <RACCollection items={items}>{children}</RACCollection>\n </RACListBoxSection>\n );\n}\n\nSelectSection.displayName = 'SelectSection';\n"]}
@@ -25,7 +25,7 @@ export interface StackProps extends CommonProps {
25
25
  align?: Responsive<Alignment>;
26
26
  /**
27
27
  * Determines whether items will wrap to a new line if stack size is too small.
28
- * @default true
28
+ * @default false
29
29
  */
30
30
  wrap?: Responsive<boolean>;
31
31
  }
@@ -15,7 +15,7 @@ function Stack({ children, direction: responsiveDirection, gap: responsiveGap, j
15
15
  const direction = (0, types_js_1.getResponsiveVariables)('stack-fd', 'stack-direction', responsiveDirection, 'vertical');
16
16
  const justify = (0, types_js_1.getResponsiveVariables)('stack-jc', 'stack-justify', responsiveJustify, 'start');
17
17
  const align = (0, types_js_1.getResponsiveVariables)('stack-ai', 'stack-align', responsiveAlign, 'stretch');
18
- const wrap = (0, types_js_1.getResponsiveVariables)('stack-fw', 'stack-wrap', responsiveWrap, true);
18
+ const wrap = (0, types_js_1.getResponsiveVariables)('stack-fw', 'stack-wrap', responsiveWrap, false);
19
19
  return ((0, jsx_runtime_1.jsx)("div", { ...props, ref: ref, className: (0, clsx_1.default)('cim-stack', UNSAFE_className), style: {
20
20
  ...UNSAFE_style,
21
21
  ...gap,
@@ -1 +1 @@
1
- {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../../../../src/components/spacing/stack/stack.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;AAEb,gDAAwB;AAExB,4DAAqD;AACrD,sEAA8D;AAE9D,0CAAoF;AAgCpF,SAAS,KAAK,CACZ,EACE,QAAQ,EACR,SAAS,EAAE,mBAAmB,EAC9B,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,cAAc,EACpB,gBAAgB,EAChB,YAAY,EACZ,GAAG,KAAK,EACG,EACb,GAAiC;IAEjC,MAAM,GAAG,GAAG,IAAA,iCAAsB,EAAC,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,IAAA,iCAAsB,EAAC,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,UAAU,CAAC,CAAC;IACzG,MAAM,OAAO,GAAG,IAAA,iCAAsB,EAAC,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAChG,MAAM,KAAK,GAAG,IAAA,iCAAsB,EAAC,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;IAC5F,MAAM,IAAI,GAAG,IAAA,iCAAsB,EAAC,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAEpF,OAAO,CACL,mCACM,KAAK,EACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAA,cAAI,EAAC,WAAW,EAAE,gBAAgB,CAAC,EAC9C,KAAK,EAAE;YACL,GAAG,YAAY;YACf,GAAG,GAAG;YACN,GAAG,SAAS;YACZ,GAAG,OAAO;YACV,GAAG,KAAK;YACR,GAAG,IAAI;SACR,EACD,IAAI,EAAC,cAAc,YAElB,QAAQ,GACL,CACP,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,MAAM,GAAG,IAAA,oCAAc,EAAC,IAAA,2BAAU,EAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;AAEvC,uBAAK","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport type { ReactNode, ForwardedRef } from 'react';\nimport { forwardRef } from '../../../forward-ref.js';\nimport { withStyleProps } from '../../../with-style-props.js';\nimport type { Direction, CommonProps } from '../../types.js';\nimport { getResponsiveVariables, type Responsive, type Spacing } from '../types.js';\n\nexport type Alignment = 'start' | 'center' | 'end' | 'stretch';\nexport type Justify = 'start' | 'center' | 'end' | 'space-around' | 'space-between' | 'space-evenly';\n\nexport interface StackProps extends CommonProps {\n /** The items to stack. */\n children: ReactNode;\n /**\n * Determines the stacking direction (ie. which direction is the primary axis)\n * @default 'vertical'\n */\n direction?: Responsive<Direction>;\n /** The amount of space between items. */\n gap: Responsive<Spacing>;\n /**\n * Determines how items are distributed along the primary axis.\n * @default 'start'\n */\n justify?: Responsive<Justify>;\n /**\n * Determines how each item is aligned along the cross axis.\n * @default 'stretch'\n */\n align?: Responsive<Alignment>;\n /**\n * Determines whether items will wrap to a new line if stack size is too small.\n * @default true\n */\n wrap?: Responsive<boolean>;\n}\n\nfunction Stack(\n {\n children,\n direction: responsiveDirection,\n gap: responsiveGap,\n justify: responsiveJustify,\n align: responsiveAlign,\n wrap: responsiveWrap,\n UNSAFE_className,\n UNSAFE_style,\n ...props\n }: StackProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const gap = getResponsiveVariables('stack-gap', 'space', responsiveGap, 0);\n const direction = getResponsiveVariables('stack-fd', 'stack-direction', responsiveDirection, 'vertical');\n const justify = getResponsiveVariables('stack-jc', 'stack-justify', responsiveJustify, 'start');\n const align = getResponsiveVariables('stack-ai', 'stack-align', responsiveAlign, 'stretch');\n const wrap = getResponsiveVariables('stack-fw', 'stack-wrap', responsiveWrap, true);\n\n return (\n <div\n {...props}\n ref={ref}\n className={clsx('cim-stack', UNSAFE_className)}\n style={{\n ...UNSAFE_style,\n ...gap,\n ...direction,\n ...justify,\n ...align,\n ...wrap,\n }}\n role=\"presentation\"\n >\n {children}\n </div>\n );\n}\n\n/** Stacks its children with a specified amount of space between them. */\nconst _Stack = withStyleProps(forwardRef(Stack), 'Stack');\n\nexport { _Stack as Stack };\n"]}
1
+ {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../../../../src/components/spacing/stack/stack.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;AAEb,gDAAwB;AAExB,4DAAqD;AACrD,sEAA8D;AAE9D,0CAAoF;AAgCpF,SAAS,KAAK,CACZ,EACE,QAAQ,EACR,SAAS,EAAE,mBAAmB,EAC9B,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,cAAc,EACpB,gBAAgB,EAChB,YAAY,EACZ,GAAG,KAAK,EACG,EACb,GAAiC;IAEjC,MAAM,GAAG,GAAG,IAAA,iCAAsB,EAAC,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,IAAA,iCAAsB,EAAC,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,UAAU,CAAC,CAAC;IACzG,MAAM,OAAO,GAAG,IAAA,iCAAsB,EAAC,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAChG,MAAM,KAAK,GAAG,IAAA,iCAAsB,EAAC,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;IAC5F,MAAM,IAAI,GAAG,IAAA,iCAAsB,EAAC,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAErF,OAAO,CACL,mCACM,KAAK,EACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAA,cAAI,EAAC,WAAW,EAAE,gBAAgB,CAAC,EAC9C,KAAK,EAAE;YACL,GAAG,YAAY;YACf,GAAG,GAAG;YACN,GAAG,SAAS;YACZ,GAAG,OAAO;YACV,GAAG,KAAK;YACR,GAAG,IAAI;SACR,EACD,IAAI,EAAC,cAAc,YAElB,QAAQ,GACL,CACP,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,MAAM,GAAG,IAAA,oCAAc,EAAC,IAAA,2BAAU,EAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;AAEvC,uBAAK","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport type { ReactNode, ForwardedRef } from 'react';\nimport { forwardRef } from '../../../forward-ref.js';\nimport { withStyleProps } from '../../../with-style-props.js';\nimport type { Direction, CommonProps } from '../../types.js';\nimport { getResponsiveVariables, type Responsive, type Spacing } from '../types.js';\n\nexport type Alignment = 'start' | 'center' | 'end' | 'stretch';\nexport type Justify = 'start' | 'center' | 'end' | 'space-around' | 'space-between' | 'space-evenly';\n\nexport interface StackProps extends CommonProps {\n /** The items to stack. */\n children: ReactNode;\n /**\n * Determines the stacking direction (ie. which direction is the primary axis)\n * @default 'vertical'\n */\n direction?: Responsive<Direction>;\n /** The amount of space between items. */\n gap: Responsive<Spacing>;\n /**\n * Determines how items are distributed along the primary axis.\n * @default 'start'\n */\n justify?: Responsive<Justify>;\n /**\n * Determines how each item is aligned along the cross axis.\n * @default 'stretch'\n */\n align?: Responsive<Alignment>;\n /**\n * Determines whether items will wrap to a new line if stack size is too small.\n * @default false\n */\n wrap?: Responsive<boolean>;\n}\n\nfunction Stack(\n {\n children,\n direction: responsiveDirection,\n gap: responsiveGap,\n justify: responsiveJustify,\n align: responsiveAlign,\n wrap: responsiveWrap,\n UNSAFE_className,\n UNSAFE_style,\n ...props\n }: StackProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const gap = getResponsiveVariables('stack-gap', 'space', responsiveGap, 0);\n const direction = getResponsiveVariables('stack-fd', 'stack-direction', responsiveDirection, 'vertical');\n const justify = getResponsiveVariables('stack-jc', 'stack-justify', responsiveJustify, 'start');\n const align = getResponsiveVariables('stack-ai', 'stack-align', responsiveAlign, 'stretch');\n const wrap = getResponsiveVariables('stack-fw', 'stack-wrap', responsiveWrap, false);\n\n return (\n <div\n {...props}\n ref={ref}\n className={clsx('cim-stack', UNSAFE_className)}\n style={{\n ...UNSAFE_style,\n ...gap,\n ...direction,\n ...justify,\n ...align,\n ...wrap,\n }}\n role=\"presentation\"\n >\n {children}\n </div>\n );\n}\n\n/** Stacks its children with a specified amount of space between them. */\nconst _Stack = withStyleProps(forwardRef(Stack), 'Stack');\n\nexport { _Stack as Stack };\n"]}
@@ -1,7 +1,7 @@
1
1
  /** Represents a valid spacing amount within the design system. */
2
2
  export type Spacing = 0 | 2 | 4 | 8 | 12 | 16 | 24 | 32 | 40 | 48 | 64 | 96;
3
3
  /** Represents a screen size breakpoint for responsive design. */
4
- export type Breakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
4
+ export type Breakpoint = 'sm' | 'md' | 'lg' | 'xl';
5
5
  /** Represents a primitive value that can change based on screen size. */
6
6
  export type Responsive<T extends string | number | boolean> = T | Partial<Record<Breakpoint, T>>;
7
7
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/spacing/types.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAE5E,iEAAiE;AACjE,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE1D,yEAAyE;AACzE,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;AAEjG;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,EACxE,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,EACxB,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EACpB,YAAY,CAAC,EAAE,CAAC,GACf,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAqBpC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/spacing/types.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAE5E,iEAAiE;AACjE,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEnD,yEAAyE;AACzE,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;AAEjG;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,EACxE,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,EACxB,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EACpB,YAAY,CAAC,EAAE,CAAC,GACf,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAqBpC"}