@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,7 +1,9 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import { type MenuItemProps as RACMenuItemProps, type MenuProps as RACMenuProps, type MenuTriggerProps as RACMenuTriggerProps } from 'react-aria-components';
3
3
  import type { CollectionItem, CollectionProps, Key, NavigationProps, StringLikeChildren } from '../types.js';
4
- export interface MenuRootProps extends Pick<RACMenuTriggerProps, 'children' | 'onOpenChange' | 'isOpen' | 'defaultOpen'> {
4
+ export interface MenuRootProps extends Pick<RACMenuTriggerProps, 'onOpenChange' | 'isOpen' | 'defaultOpen'> {
5
+ /** The menu trigger with its associated menu. Provide the trigger as the first child, and the menu as the second child. */
6
+ children: ReactNode;
5
7
  }
6
8
  /**
7
9
  * Encapsulates a menu trigger and its associated menu. The trigger can be any Cimpress UI button, and the menu will be displayed when the trigger is activated.
@@ -47,9 +49,4 @@ export declare function MenuItem({ children, description, icon, ...props }: Menu
47
49
  export declare namespace MenuItem {
48
50
  var displayName: string;
49
51
  }
50
- /** Renders a horizontal divider between list items within `Menu`. */
51
- export declare function MenuDivider(): import("react/jsx-runtime").JSX.Element;
52
- export declare namespace MenuDivider {
53
- var displayName: string;
54
- }
55
52
  //# sourceMappingURL=menu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../../src/components/menu/menu.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAKL,KAAK,aAAa,IAAI,gBAAgB,EACtC,KAAK,SAAS,IAAI,YAAY,EAG9B,KAAK,gBAAgB,IAAI,mBAAmB,EAG7C,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAG7G,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,mBAAmB,EAAE,UAAU,GAAG,cAAc,GAAG,QAAQ,GAAG,aAAa,CAAC;CAAG;AAE9F;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,2CAE5C;yBAFe,QAAQ;;;AAMxB,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAClE,SAAQ,eAAe,CAAC,CAAC,CAAC,EACxB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC;IACnC,wHAAwH;IACxH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;CAC/B;AAED,qFAAqF;AACrF,wBAAgB,IAAI,CAAC,CAAC,SAAS,cAAc,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,2CAcjE;yBAde,IAAI;;;AAkBpB,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;IACrG,6EAA6E;IAC7E,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,sDAAsD;AACtD,wBAAgB,WAAW,CAAC,CAAC,SAAS,cAAc,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,2CAa9G;yBAbe,WAAW;;;AAiB3B,MAAM,WAAW,aACf,SAAQ,eAAe,EACrB,IAAI,CAAC,gBAAgB,EAAE,YAAY,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY,CAAC;IACnF,0EAA0E;IAC1E,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,2CAA2C;IAC3C,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,gDAAgD;AAChD,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,2CA4BhF;yBA5Be,QAAQ;;;AAgCxB,qEAAqE;AACrE,wBAAgB,WAAW,4CAE1B;yBAFe,WAAW"}
1
+ {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../../src/components/menu/menu.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAKL,KAAK,aAAa,IAAI,gBAAgB,EACtC,KAAK,SAAS,IAAI,YAAY,EAG9B,KAAK,gBAAgB,IAAI,mBAAmB,EAE7C,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAG7G,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,mBAAmB,EAAE,cAAc,GAAG,QAAQ,GAAG,aAAa,CAAC;IACzG,2HAA2H;IAC3H,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,2CAE5C;yBAFe,QAAQ;;;AAMxB,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAClE,SAAQ,eAAe,CAAC,CAAC,CAAC,EACxB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC;IACnC,wHAAwH;IACxH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;CAC/B;AAED,qFAAqF;AACrF,wBAAgB,IAAI,CAAC,CAAC,SAAS,cAAc,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,2CAcjE;yBAde,IAAI;;;AAkBpB,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;IACrG,6EAA6E;IAC7E,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,sDAAsD;AACtD,wBAAgB,WAAW,CAAC,CAAC,SAAS,cAAc,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,2CAa9G;yBAbe,WAAW;;;AAiB3B,MAAM,WAAW,aACf,SAAQ,eAAe,EACrB,IAAI,CAAC,gBAAgB,EAAE,YAAY,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY,CAAC;IACnF,0EAA0E;IAC1E,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,2CAA2C;IAC3C,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,gDAAgD;AAChD,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,2CA4BhF;yBA5Be,QAAQ"}
@@ -1,7 +1,8 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import clsx from 'clsx';
4
- import { Collection as RACCollection, Header as RACHeader, Menu as RACMenu, MenuItem as RACMenuItem, MenuSection as RACMenuSection, MenuTrigger as RACMenuTrigger, Separator as RACSeparator, Text as RACText, } from 'react-aria-components';
4
+ import { Collection as RACCollection, Header as RACHeader, Menu as RACMenu, MenuItem as RACMenuItem, MenuSection as RACMenuSection, MenuTrigger as RACMenuTrigger, Text as RACText, } from 'react-aria-components';
5
+ import { isProduction } from '../../utils/is-production.js';
5
6
  import { CollapsibleList } from '../internal/collapsible-list/collapsible-list.js';
6
7
  import { textStyle } from '../typography/utils.js';
7
8
  /**
@@ -15,15 +16,15 @@ export function MenuRoot(props) {
15
16
  MenuRoot.displayName = 'MenuRoot';
16
17
  /** Displays a collapsible list of options and actions that users can choose from. */
17
18
  export function Menu(props) {
18
- if (props.items != null && typeof props.children !== 'function') {
19
+ if (!isProduction() && props.items != null && typeof props.children !== 'function') {
19
20
  console.warn('`Menu` requires `children` to be a function when using `items` prop');
20
21
  }
21
- return (_jsx(CollapsibleList, { placement: "bottom start", offset: 5, maxHeight: 315, children: _jsx(RACMenu, { className: "cim-menu", ...props }) }));
22
+ return (_jsx(CollapsibleList, { placement: "bottom start", offset: 5, maxHeight: 315, children: _jsx(RACMenu, { ...props, className: "cim-menu" }) }));
22
23
  }
23
24
  Menu.displayName = 'Menu';
24
25
  /** Groups list items within `Menu` into a section. */
25
26
  export function MenuSection({ title, children, items, ...props }) {
26
- if (items != null && typeof children !== 'function') {
27
+ if (!isProduction() && items != null && typeof children !== 'function') {
27
28
  console.warn('`MenuSection` requires `children` to be a function when using `items` prop');
28
29
  }
29
30
  return (_jsxs(RACMenuSection, { ...props, className: "cim-menu-section", children: [_jsx(RACHeader, { className: clsx('cim-menu-section-header', textStyle({ variant: 'small-semibold', tone: 'subtle' })), children: title }), _jsx(RACCollection, { items: items, children: children })] }));
@@ -35,9 +36,4 @@ export function MenuItem({ children, description, icon, ...props }) {
35
36
  return (_jsx(RACMenuItem, { ...props, className: "cim-menu-item", textValue: textValue, children: ({ isDisabled }) => (_jsxs(_Fragment, { children: [icon, _jsxs("div", { className: "cim-menu-item-text", children: [_jsx(RACText, { slot: "label", className: textStyle({ variant: 'body', tone: isDisabled ? 'muted' : 'base' }), children: children }), description && (_jsx(RACText, { slot: "description", className: textStyle({ variant: 'small', tone: isDisabled ? 'muted' : 'subtle' }), children: description }))] })] })) }));
36
37
  }
37
38
  MenuItem.displayName = 'MenuItem';
38
- /** Renders a horizontal divider between list items within `Menu`. */
39
- export function MenuDivider() {
40
- return _jsx(RACSeparator, { className: "cim-menu-divider" });
41
- }
42
- MenuDivider.displayName = 'MenuDivider';
43
39
  //# sourceMappingURL=menu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../../src/components/menu/menu.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport type { ReactNode } from 'react';\nimport {\n Collection as RACCollection,\n Header as RACHeader,\n Menu as RACMenu,\n MenuItem as RACMenuItem,\n type MenuItemProps as RACMenuItemProps,\n type MenuProps as RACMenuProps,\n MenuSection as RACMenuSection,\n MenuTrigger as RACMenuTrigger,\n type MenuTriggerProps as RACMenuTriggerProps,\n Separator as RACSeparator,\n Text as RACText,\n} from 'react-aria-components';\nimport { CollapsibleList } from '../internal/collapsible-list/collapsible-list.js';\nimport type { CollectionItem, CollectionProps, Key, NavigationProps, StringLikeChildren } from '../types.js';\nimport { textStyle } from '../typography/utils.js';\n\nexport interface MenuRootProps\n extends Pick<RACMenuTriggerProps, 'children' | 'onOpenChange' | 'isOpen' | 'defaultOpen'> {}\n\n/**\n * Encapsulates a menu trigger and its associated menu. The trigger can be any Cimpress UI button, and the menu will be displayed when the trigger is activated.\n *\n * See [menu usage guidelines](https://ui.cimpress.io/components/menu/).\n */\nexport function MenuRoot(props: MenuRootProps) {\n return <RACMenuTrigger {...props} />;\n}\n\nMenuRoot.displayName = 'MenuRoot';\n\nexport interface MenuProps<T extends CollectionItem = CollectionItem>\n extends CollectionProps<T>,\n Pick<RACMenuProps<T>, 'onScroll'> {\n /** Handler that is called when an item is selected. When using `onAction`, all items must have an `id` prop defined. */\n onAction?: (key: Key) => void;\n}\n\n/** Displays a collapsible list of options and actions that users can choose from. */\nexport function Menu<T extends CollectionItem>(props: MenuProps<T>) {\n if (props.items != null && typeof props.children !== 'function') {\n console.warn('`Menu` requires `children` to be a function when using `items` prop');\n }\n\n return (\n <CollapsibleList\n placement=\"bottom start\"\n offset={5} // 1px border + 4px actual offset\n maxHeight={315}\n >\n <RACMenu className=\"cim-menu\" {...props} />\n </CollapsibleList>\n );\n}\n\nMenu.displayName = 'Menu';\n\nexport interface MenuSectionProps<T extends CollectionItem = 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 `Menu` into a section. */\nexport function MenuSection<T extends CollectionItem>({ title, children, items, ...props }: MenuSectionProps<T>) {\n if (items != null && typeof children !== 'function') {\n console.warn('`MenuSection` requires `children` to be a function when using `items` prop');\n }\n\n return (\n <RACMenuSection {...props} className=\"cim-menu-section\">\n <RACHeader className={clsx('cim-menu-section-header', textStyle({ variant: 'small-semibold', tone: 'subtle' }))}>\n {title}\n </RACHeader>\n <RACCollection items={items}>{children}</RACCollection>\n </RACMenuSection>\n );\n}\n\nMenuSection.displayName = 'MenuSection';\n\nexport interface MenuItemProps\n extends NavigationProps,\n Pick<RACMenuItemProps, 'isDisabled' | 'onAction' | 'onHoverStart' | 'onHoverEnd'> {\n /** The ID of the item. Has to be unique across all sections and items. */\n id?: Key;\n /** The content to display as the label. */\n children: StringLikeChildren;\n /** Additional description for the menu item. */\n description?: string;\n /** An icon representing the menu item. */\n icon?: ReactNode;\n}\n\n/** Renders a single list item within `Menu`. */\nexport function MenuItem({ children, description, icon, ...props }: MenuItemProps) {\n const textValue =\n typeof children === 'string' ? children : typeof children === 'number' ? String(children) : children.join('');\n\n return (\n <RACMenuItem {...props} className=\"cim-menu-item\" textValue={textValue}>\n {({ isDisabled }) => (\n <>\n {icon}\n\n <div className=\"cim-menu-item-text\">\n <RACText slot=\"label\" className={textStyle({ variant: 'body', tone: isDisabled ? 'muted' : 'base' })}>\n {children}\n </RACText>\n\n {description && (\n <RACText\n slot=\"description\"\n className={textStyle({ variant: 'small', tone: isDisabled ? 'muted' : 'subtle' })}\n >\n {description}\n </RACText>\n )}\n </div>\n </>\n )}\n </RACMenuItem>\n );\n}\n\nMenuItem.displayName = 'MenuItem';\n\n/** Renders a horizontal divider between list items within `Menu`. */\nexport function MenuDivider() {\n return <RACSeparator className=\"cim-menu-divider\" />;\n}\n\nMenuDivider.displayName = 'MenuDivider';\n"]}
1
+ {"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../../src/components/menu/menu.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport type { ReactNode } from 'react';\nimport {\n Collection as RACCollection,\n Header as RACHeader,\n Menu as RACMenu,\n MenuItem as RACMenuItem,\n type MenuItemProps as RACMenuItemProps,\n type MenuProps as RACMenuProps,\n MenuSection as RACMenuSection,\n MenuTrigger as RACMenuTrigger,\n type MenuTriggerProps as RACMenuTriggerProps,\n Text as RACText,\n} from 'react-aria-components';\nimport { isProduction } from '../../utils/is-production.js';\nimport { CollapsibleList } from '../internal/collapsible-list/collapsible-list.js';\nimport type { CollectionItem, CollectionProps, Key, NavigationProps, StringLikeChildren } from '../types.js';\nimport { textStyle } from '../typography/utils.js';\n\nexport interface MenuRootProps extends Pick<RACMenuTriggerProps, 'onOpenChange' | 'isOpen' | 'defaultOpen'> {\n /** The menu trigger with its associated menu. Provide the trigger as the first child, and the menu as the second child. */\n children: ReactNode;\n}\n\n/**\n * Encapsulates a menu trigger and its associated menu. The trigger can be any Cimpress UI button, and the menu will be displayed when the trigger is activated.\n *\n * See [menu usage guidelines](https://ui.cimpress.io/components/menu/).\n */\nexport function MenuRoot(props: MenuRootProps) {\n return <RACMenuTrigger {...props} />;\n}\n\nMenuRoot.displayName = 'MenuRoot';\n\nexport interface MenuProps<T extends CollectionItem = CollectionItem>\n extends CollectionProps<T>,\n Pick<RACMenuProps<T>, 'onScroll'> {\n /** Handler that is called when an item is selected. When using `onAction`, all items must have an `id` prop defined. */\n onAction?: (key: Key) => void;\n}\n\n/** Displays a collapsible list of options and actions that users can choose from. */\nexport function Menu<T extends CollectionItem>(props: MenuProps<T>) {\n if (!isProduction() && props.items != null && typeof props.children !== 'function') {\n console.warn('`Menu` requires `children` to be a function when using `items` prop');\n }\n\n return (\n <CollapsibleList\n placement=\"bottom start\"\n offset={5} // 1px border + 4px actual offset\n maxHeight={315}\n >\n <RACMenu {...props} className=\"cim-menu\" />\n </CollapsibleList>\n );\n}\n\nMenu.displayName = 'Menu';\n\nexport interface MenuSectionProps<T extends CollectionItem = 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 `Menu` into a section. */\nexport function MenuSection<T extends CollectionItem>({ title, children, items, ...props }: MenuSectionProps<T>) {\n if (!isProduction() && items != null && typeof children !== 'function') {\n console.warn('`MenuSection` requires `children` to be a function when using `items` prop');\n }\n\n return (\n <RACMenuSection {...props} className=\"cim-menu-section\">\n <RACHeader className={clsx('cim-menu-section-header', textStyle({ variant: 'small-semibold', tone: 'subtle' }))}>\n {title}\n </RACHeader>\n <RACCollection items={items}>{children}</RACCollection>\n </RACMenuSection>\n );\n}\n\nMenuSection.displayName = 'MenuSection';\n\nexport interface MenuItemProps\n extends NavigationProps,\n Pick<RACMenuItemProps, 'isDisabled' | 'onAction' | 'onHoverStart' | 'onHoverEnd'> {\n /** The ID of the item. Has to be unique across all sections and items. */\n id?: Key;\n /** The content to display as the label. */\n children: StringLikeChildren;\n /** Additional description for the menu item. */\n description?: string;\n /** An icon representing the menu item. */\n icon?: ReactNode;\n}\n\n/** Renders a single list item within `Menu`. */\nexport function MenuItem({ children, description, icon, ...props }: MenuItemProps) {\n const textValue =\n typeof children === 'string' ? children : typeof children === 'number' ? String(children) : children.join('');\n\n return (\n <RACMenuItem {...props} className=\"cim-menu-item\" textValue={textValue}>\n {({ isDisabled }) => (\n <>\n {icon}\n\n <div className=\"cim-menu-item-text\">\n <RACText slot=\"label\" className={textStyle({ variant: 'body', tone: isDisabled ? 'muted' : 'base' })}>\n {children}\n </RACText>\n\n {description && (\n <RACText\n slot=\"description\"\n className={textStyle({ variant: 'small', tone: isDisabled ? 'muted' : 'subtle' })}\n >\n {description}\n </RACText>\n )}\n </div>\n </>\n )}\n </RACMenuItem>\n );\n}\n\nMenuItem.displayName = 'MenuItem';\n"]}
@@ -0,0 +1,63 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { AriaLabelingProps, CommonProps } from '../types.js';
3
+ export interface ModalDialogRenderProps {
4
+ /** Closes the modal dialog when called. */
5
+ close: () => void;
6
+ }
7
+ export interface ModalDialogProps extends CommonProps, AriaLabelingProps {
8
+ /** The contents of the modal dialog. A function may be provided to access a function to close the modal dialog. */
9
+ children: ReactNode | ((renderProps: ModalDialogRenderProps) => ReactNode);
10
+ /** The title of the modal dialog. */
11
+ title: string;
12
+ /**
13
+ * The size of the modal dialog.
14
+ * @default 'medium'
15
+ */
16
+ size?: 'small' | 'medium' | 'large';
17
+ /**
18
+ * Whether to close the modal dialog when the user interacts outside of it or presses the Escape key.
19
+ * @default true
20
+ */
21
+ isDismissible?: boolean;
22
+ /**
23
+ * Whether the modal dialog is open (controlled).
24
+ * If using `DialogRoot`, this prop has no effect - provide `isOpen` to `DialogRoot` instead.
25
+ */
26
+ isOpen?: boolean;
27
+ /**
28
+ * Whether the modal dialog is open by default (uncontrolled).
29
+ * If using `DialogRoot`, this prop has no effect - provide `defaultOpen` to `DialogRoot` instead.
30
+ */
31
+ defaultOpen?: boolean;
32
+ /**
33
+ * Handler that is called when the modal dialog's open state changes.
34
+ * If using `DialogRoot`, this prop has no effect - provide `onOpenChange` to `DialogRoot` instead.
35
+ */
36
+ onOpenChange?: (isOpen: boolean) => void;
37
+ }
38
+ /**
39
+ * Displays an overlay element which blocks interaction with outside elements.
40
+ *
41
+ * See [modal dialog usage guidelines](https://ui.cimpress.io/components/modal-dialog/).
42
+ */
43
+ declare const _ModalDialog: (props: ModalDialogProps & import("react").RefAttributes<HTMLElement>) => import("react").JSX.Element | null;
44
+ export { _ModalDialog as ModalDialog };
45
+ export interface ModalDialogBodyProps {
46
+ /** The content to render within the modal dialog. */
47
+ children: ReactNode;
48
+ }
49
+ /** Renders content within `ModalDialog`. */
50
+ export declare function ModalDialogBody(props: ModalDialogBodyProps): import("react/jsx-runtime").JSX.Element;
51
+ export declare namespace ModalDialogBody {
52
+ var displayName: string;
53
+ }
54
+ export interface ModalDialogActionsProps {
55
+ /** Actions that should be available in the modal dialog. */
56
+ children: ReactNode;
57
+ }
58
+ /** Renders actions within `ModalDialog`. */
59
+ export declare function ModalDialogActions({ children, ...props }: ModalDialogActionsProps): import("react/jsx-runtime").JSX.Element;
60
+ export declare namespace ModalDialogActions {
61
+ var displayName: string;
62
+ }
63
+ //# sourceMappingURL=modal-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal-dialog.d.ts","sourceRoot":"","sources":["../../../../src/components/modal-dialog/modal-dialog.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAC;AAYrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGlE,MAAM,WAAW,sBAAsB;IACrC,2CAA2C;IAC3C,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,WAAW,EAAE,iBAAiB;IACtE,mHAAmH;IACnH,QAAQ,EAAE,SAAS,GAAG,CAAC,CAAC,WAAW,EAAE,sBAAsB,KAAK,SAAS,CAAC,CAAC;IAC3E,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;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;AA6DD;;;;GAIG;AACH,QAAA,MAAM,YAAY,8GAAyC,CAAC;AAE5D,OAAO,EAAE,YAAY,IAAI,WAAW,EAAE,CAAC;AAEvC,MAAM,WAAW,oBAAoB;IACnC,qDAAqD;IACrD,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,4CAA4C;AAC5C,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CAE1D;yBAFe,eAAe;;;AAM/B,MAAM,WAAW,uBAAuB;IACtC,4DAA4D;IAC5D,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,4CAA4C;AAC5C,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,2CAMjF;yBANe,kBAAkB"}
@@ -0,0 +1,38 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import clsx from 'clsx';
4
+ import { Dialog as RACDialog, Heading as RACHeading, Modal as RACModal, ModalOverlay as RACModalOverlay, } from 'react-aria-components';
5
+ import { forwardRef } from '../../forward-ref.js';
6
+ import { useLocalizedMessages } from '../../i18n/index.js';
7
+ import { useProductionWarning } from '../../utils/use-production-warning.js';
8
+ import { FocusableContainer } from '../internal/focusable-container/focusable-container.js';
9
+ import { XButton } from '../internal/x-button/x-button.js';
10
+ import { textStyle } from '../typography/utils.js';
11
+ function ModalDialog({ children, title, size = 'medium', UNSAFE_className, UNSAFE_style, isDismissible = true, isOpen, defaultOpen, onOpenChange, ...props }, ref) {
12
+ const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;
13
+ useProductionWarning(() => {
14
+ if (!title && !ariaLabel && !ariaLabelledBy) {
15
+ console.warn('ModalDialog requires one of title / aria-label / aria-labelledby for accessibility');
16
+ }
17
+ }, [title, ariaLabel, ariaLabelledBy]);
18
+ const messages = useLocalizedMessages('common');
19
+ return (_jsx(RACModalOverlay, { className: "cim-modal-overlay", isDismissable: isDismissible, isKeyboardDismissDisabled: !isDismissible, isOpen: isOpen, defaultOpen: defaultOpen, onOpenChange: onOpenChange, "data-cim-style-root": true, children: _jsx(RACModal, { className: clsx('cim-modal', UNSAFE_className), style: UNSAFE_style, "data-size": size, children: _jsx(RACDialog, { ...props, ref: ref, className: "cim-modal-dialog", children: (renderProps) => (_jsxs(_Fragment, { children: [_jsxs("div", { className: "cim-modal-header", children: [title && (_jsx(RACHeading, { slot: "title", className: clsx('cim-modal-title', textStyle({ variant: 'title-5', tone: 'base' })), children: title })), _jsx(XButton, { "aria-label": messages.format('dismiss'), slot: "close" })] }), typeof children === 'function' ? children(renderProps) : children] })) }) }) }));
20
+ }
21
+ /**
22
+ * Displays an overlay element which blocks interaction with outside elements.
23
+ *
24
+ * See [modal dialog usage guidelines](https://ui.cimpress.io/components/modal-dialog/).
25
+ */
26
+ const _ModalDialog = forwardRef(ModalDialog, 'ModalDialog');
27
+ export { _ModalDialog as ModalDialog };
28
+ /** Renders content within `ModalDialog`. */
29
+ export function ModalDialogBody(props) {
30
+ return _jsx(FocusableContainer, { ...props, className: "cim-modal-body", scrollDirection: "vertical" });
31
+ }
32
+ ModalDialogBody.displayName = 'ModalDialogBody';
33
+ /** Renders actions within `ModalDialog`. */
34
+ export function ModalDialogActions({ children, ...props }) {
35
+ return (_jsx("div", { ...props, className: "cim-modal-actions", children: children }));
36
+ }
37
+ ModalDialogActions.displayName = 'ModalDialogActions';
38
+ //# sourceMappingURL=modal-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal-dialog.js","sourceRoot":"","sources":["../../../../src/components/modal-dialog/modal-dialog.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport type { ForwardedRef, ReactNode } from 'react';\nimport {\n Dialog as RACDialog,\n Heading as RACHeading,\n Modal as RACModal,\n ModalOverlay as RACModalOverlay,\n} from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { useLocalizedMessages } from '../../i18n/index.js';\nimport { useProductionWarning } from '../../utils/use-production-warning.js';\nimport { FocusableContainer } from '../internal/focusable-container/focusable-container.js';\nimport { XButton } from '../internal/x-button/x-button.js';\nimport type { AriaLabelingProps, CommonProps } from '../types.js';\nimport { textStyle } from '../typography/utils.js';\n\nexport interface ModalDialogRenderProps {\n /** Closes the modal dialog when called. */\n close: () => void;\n}\n\nexport interface ModalDialogProps extends CommonProps, AriaLabelingProps {\n /** The contents of the modal dialog. A function may be provided to access a function to close the modal dialog. */\n children: ReactNode | ((renderProps: ModalDialogRenderProps) => ReactNode);\n /** The title of the modal dialog. */\n title: string;\n /**\n * The size of the modal dialog.\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n /**\n * Whether to close the modal dialog when the user interacts outside of it or presses the Escape key.\n * @default true\n */\n isDismissible?: boolean;\n /**\n * Whether the modal dialog is open (controlled).\n * If using `DialogRoot`, this prop has no effect - provide `isOpen` to `DialogRoot` instead.\n */\n isOpen?: boolean;\n /**\n * Whether the modal dialog is open by default (uncontrolled).\n * If using `DialogRoot`, this prop has no effect - provide `defaultOpen` to `DialogRoot` instead.\n */\n defaultOpen?: boolean;\n /**\n * Handler that is called when the modal dialog's open state changes.\n * If using `DialogRoot`, this prop has no effect - provide `onOpenChange` to `DialogRoot` instead.\n */\n onOpenChange?: (isOpen: boolean) => void;\n}\n\nfunction ModalDialog(\n {\n children,\n title,\n size = 'medium',\n UNSAFE_className,\n UNSAFE_style,\n isDismissible = true,\n isOpen,\n defaultOpen,\n onOpenChange,\n ...props\n }: ModalDialogProps,\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('ModalDialog requires one of title / aria-label / aria-labelledby for accessibility');\n }\n }, [title, ariaLabel, ariaLabelledBy]);\n\n const messages = useLocalizedMessages('common');\n\n return (\n <RACModalOverlay\n className=\"cim-modal-overlay\"\n isDismissable={isDismissible}\n isKeyboardDismissDisabled={!isDismissible}\n isOpen={isOpen}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n data-cim-style-root\n >\n <RACModal className={clsx('cim-modal', UNSAFE_className)} style={UNSAFE_style} data-size={size}>\n <RACDialog {...props} ref={ref} className=\"cim-modal-dialog\">\n {(renderProps) => (\n <>\n <div className=\"cim-modal-header\">\n {title && (\n <RACHeading\n slot=\"title\"\n className={clsx('cim-modal-title', textStyle({ variant: 'title-5', tone: 'base' }))}\n >\n {title}\n </RACHeading>\n )}\n <XButton aria-label={messages.format('dismiss')} slot=\"close\" />\n </div>\n {typeof children === 'function' ? children(renderProps) : children}\n </>\n )}\n </RACDialog>\n </RACModal>\n </RACModalOverlay>\n );\n}\n\n/**\n * Displays an overlay element which blocks interaction with outside elements.\n *\n * See [modal dialog usage guidelines](https://ui.cimpress.io/components/modal-dialog/).\n */\nconst _ModalDialog = forwardRef(ModalDialog, 'ModalDialog');\n\nexport { _ModalDialog as ModalDialog };\n\nexport interface ModalDialogBodyProps {\n /** The content to render within the modal dialog. */\n children: ReactNode;\n}\n\n/** Renders content within `ModalDialog`. */\nexport function ModalDialogBody(props: ModalDialogBodyProps) {\n return <FocusableContainer {...props} className=\"cim-modal-body\" scrollDirection=\"vertical\" />;\n}\n\nModalDialogBody.displayName = 'ModalDialogBody';\n\nexport interface ModalDialogActionsProps {\n /** Actions that should be available in the modal dialog. */\n children: ReactNode;\n}\n\n/** Renders actions within `ModalDialog`. */\nexport function ModalDialogActions({ children, ...props }: ModalDialogActionsProps) {\n return (\n <div {...props} className=\"cim-modal-actions\">\n {children}\n </div>\n );\n}\n\nModalDialogActions.displayName = 'ModalDialogActions';\n"]}
@@ -1,6 +1,6 @@
1
1
  import { type NumberFieldProps as RACNumberFieldProps } from 'react-aria-components';
2
2
  import type { CommonProps, FieldWithPlaceholderProps } from '../types.js';
3
- export interface NumberFieldProps extends CommonProps, FieldWithPlaceholderProps<number>, Pick<RACNumberFieldProps, 'isDisabled' | 'isRequired' | 'isInvalid' | 'isReadOnly' | 'name' | 'autoFocus' | 'minValue' | 'maxValue' | 'step' | 'formatOptions' | 'onFocus' | 'onBlur'> {
3
+ export interface NumberFieldProps extends CommonProps, FieldWithPlaceholderProps<number>, Pick<RACNumberFieldProps, 'isDisabled' | 'isRequired' | 'isInvalid' | 'isReadOnly' | 'autoFocus' | 'minValue' | 'maxValue' | 'step' | 'formatOptions' | 'onFocus' | 'onBlur'> {
4
4
  /** The current value (controlled). A `null` value means an empty field. */
5
5
  value?: number | null;
6
6
  /** The default value (uncontrolled). A `null` value means an empty field. */
@@ -1 +1 @@
1
- {"version":3,"file":"number-field.d.ts","sourceRoot":"","sources":["../../../../src/components/number-field/number-field.tsx"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,gBAAgB,IAAI,mBAAmB,EAE7C,MAAM,uBAAuB,CAAC;AAM/B,OAAO,KAAK,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAG1E,MAAM,WAAW,gBACf,SAAQ,WAAW,EACjB,yBAAyB,CAAC,MAAM,CAAC,EACjC,IAAI,CACF,mBAAmB,EACjB,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,MAAM,GACN,WAAW,GACX,UAAU,GACV,UAAU,GACV,MAAM,GACN,eAAe,GACf,SAAS,GACT,QAAQ,CACX;IACH,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC3C;AA4DD;;;;GAIG;AACH,QAAA,MAAM,YAAY,kKAAyD,CAAC;AAE5E,OAAO,EAAE,YAAY,IAAI,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"number-field.d.ts","sourceRoot":"","sources":["../../../../src/components/number-field/number-field.tsx"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,gBAAgB,IAAI,mBAAmB,EAE7C,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,KAAK,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAG1E,MAAM,WAAW,gBACf,SAAQ,WAAW,EACjB,yBAAyB,CAAC,MAAM,CAAC,EACjC,IAAI,CACF,mBAAmB,EACjB,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,WAAW,GACX,UAAU,GACV,UAAU,GACV,MAAM,GACN,eAAe,GACf,SAAS,GACT,QAAQ,CACX;IACH,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC3C;AAwED;;;;GAIG;AACH,QAAA,MAAM,YAAY,kKAAyD,CAAC;AAE5E,OAAO,EAAE,YAAY,IAAI,WAAW,EAAE,CAAC"}
@@ -1,26 +1,28 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import clsx from 'clsx';
4
- import { useEffect } from 'react';
5
4
  import { Input as RACInput, NumberField as RACNumberField, Group as RACGroup, } from 'react-aria-components';
6
5
  import { forwardRef } from '../../forward-ref.js';
6
+ import { useLocalizedMessages } from '../../i18n/index.js';
7
7
  import { IconAdd, IconSubtract } from '../../icons/index.js';
8
+ import { useProductionWarning } from '../../utils/use-production-warning.js';
8
9
  import { withStyleProps } from '../../with-style-props.js';
9
10
  import { IconButton } from '../button/icon-button.js';
10
11
  import { FormFieldDescription, FormFieldError, FormFieldLabel } from '../internal/form-field/form-field.js';
11
12
  import { textStyle } from '../typography/utils.js';
12
13
  function NumberField({ label, description, error: errorMessage, placeholder, UNSAFE_className, UNSAFE_style, value, defaultValue, onChange, ...props }, ref) {
13
14
  const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;
14
- useEffect(() => {
15
+ useProductionWarning(() => {
15
16
  if (!label && !ariaLabel && !ariaLabelledBy) {
16
17
  console.warn('NumberField requires one of label / aria-label / aria-labelledby for accessibility');
17
18
  }
18
19
  }, [label, ariaLabel, ariaLabelledBy]);
20
+ const messages = useLocalizedMessages('numberField');
19
21
  return (_jsxs(RACNumberField, { ...props, ref: ref, className: clsx('cim-number-field', UNSAFE_className), style: UNSAFE_style,
20
22
  // NumberField uses `NaN` to signify an empty value, which is unintuitive
21
23
  // https://github.com/adobe/react-spectrum/issues/5524
22
24
  // https://github.com/adobe/react-spectrum/issues/6971
23
- value: value === null ? Number.NaN : value, defaultValue: defaultValue === null ? Number.NaN : defaultValue, onChange: onChange ? (value) => onChange(Number.isNaN(value) ? null : value) : undefined, children: [_jsx(FormFieldLabel, { isRequired: props.isRequired, isDisabled: props.isDisabled, children: label }), _jsxs(RACGroup, { className: "cim-number-field-input-group", children: [_jsx(RACInput, { className: clsx('cim-number-field-input', textStyle({ variant: 'medium' })), placeholder: placeholder }), _jsxs("div", { className: "cim-number-field-spinner", children: [_jsx(IconButton, { slot: "decrement", icon: _jsx(IconSubtract, {}), "aria-label": "Decrement", variant: "tertiary", size: "small" }), _jsx("div", { className: "cim-number-field-spinner-separator" }), _jsx(IconButton, { slot: "increment", icon: _jsx(IconAdd, {}), "aria-label": "Increment", variant: "tertiary", size: "small" })] })] }), _jsx(FormFieldError, { children: errorMessage }), _jsx(FormFieldDescription, { children: description })] }));
25
+ value: value === null ? Number.NaN : value, defaultValue: defaultValue === null ? Number.NaN : defaultValue, onChange: onChange ? (value) => onChange(Number.isNaN(value) ? null : value) : undefined, children: [_jsx(FormFieldLabel, { isRequired: props.isRequired, isDisabled: props.isDisabled, children: label }), _jsxs(RACGroup, { className: "cim-number-field-input-group", children: [_jsx(RACInput, { className: clsx('cim-number-field-input', textStyle({ variant: 'body' })), placeholder: placeholder }), _jsxs("div", { className: "cim-number-field-spinner", children: [_jsx(IconButton, { slot: "decrement", icon: _jsx(IconSubtract, {}), "aria-label": messages.format('decrement'), variant: "tertiary", size: "small" }), _jsx("div", { className: "cim-number-field-spinner-separator" }), _jsx(IconButton, { slot: "increment", icon: _jsx(IconAdd, {}), "aria-label": messages.format('increment'), variant: "tertiary", size: "small" })] })] }), _jsx(FormFieldError, { children: errorMessage }), _jsx(FormFieldDescription, { children: description })] }));
24
26
  }
25
27
  /**
26
28
  * Allows users to edit a number with a keyboard or increment/decrement buttons.
@@ -1 +1 @@
1
- {"version":3,"file":"number-field.js","sourceRoot":"","sources":["../../../../src/components/number-field/number-field.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAqB,MAAM,OAAO,CAAC;AACrD,OAAO,EACL,KAAK,IAAI,QAAQ,EACjB,WAAW,IAAI,cAAc,EAE7B,KAAK,IAAI,QAAQ,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAE5G,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AA4BnD,SAAS,WAAW,CAClB,EACE,KAAK,EACL,WAAW,EACX,KAAK,EAAE,YAAY,EACnB,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,GAAG,KAAK,EACS,EACnB,GAAiC;IAEjC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAE7E,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC;QACrG,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAEvC,OAAO,CACL,MAAC,cAAc,OACT,KAAK,EACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,EACrD,KAAK,EAAE,YAAY;QACnB,yEAAyE;QACzE,sDAAsD;QACtD,sDAAsD;QACtD,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAC1C,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,EAC/D,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,aAExF,KAAC,cAAc,IAAC,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,YACvE,KAAK,GACS,EACjB,MAAC,QAAQ,IAAC,SAAS,EAAC,8BAA8B,aAChD,KAAC,QAAQ,IACP,SAAS,EAAE,IAAI,CAAC,wBAAwB,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,EAC3E,WAAW,EAAE,WAAW,GACxB,EACF,eAAK,SAAS,EAAC,0BAA0B,aAEvC,KAAC,UAAU,IAAC,IAAI,EAAC,WAAW,EAAC,IAAI,EAAE,KAAC,YAAY,KAAG,gBAAa,WAAW,EAAC,OAAO,EAAC,UAAU,EAAC,IAAI,EAAC,OAAO,GAAG,EAC9G,cAAK,SAAS,EAAC,oCAAoC,GAAG,EAEtD,KAAC,UAAU,IAAC,IAAI,EAAC,WAAW,EAAC,IAAI,EAAE,KAAC,OAAO,KAAG,gBAAa,WAAW,EAAC,OAAO,EAAC,UAAU,EAAC,IAAI,EAAC,OAAO,GAAG,IACrG,IACG,EACX,KAAC,cAAc,cAAE,YAAY,GAAkB,EAC/C,KAAC,oBAAoB,cAAE,WAAW,GAAwB,IAC3C,CAClB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,YAAY,GAAG,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,CAAC;AAE5E,OAAO,EAAE,YAAY,IAAI,WAAW,EAAE,CAAC","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { useEffect, type ForwardedRef } from 'react';\nimport {\n Input as RACInput,\n NumberField as RACNumberField,\n type NumberFieldProps as RACNumberFieldProps,\n Group as RACGroup,\n} from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { IconAdd, IconSubtract } from '../../icons/index.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport { IconButton } from '../button/icon-button.js';\nimport { FormFieldDescription, FormFieldError, FormFieldLabel } from '../internal/form-field/form-field.js';\nimport type { CommonProps, FieldWithPlaceholderProps } from '../types.js';\nimport { textStyle } from '../typography/utils.js';\n\nexport interface NumberFieldProps\n extends CommonProps,\n FieldWithPlaceholderProps<number>,\n Pick<\n RACNumberFieldProps,\n | 'isDisabled'\n | 'isRequired'\n | 'isInvalid'\n | 'isReadOnly'\n | 'name'\n | 'autoFocus'\n | 'minValue'\n | 'maxValue'\n | 'step'\n | 'formatOptions'\n | 'onFocus'\n | 'onBlur'\n > {\n /** The current value (controlled). A `null` value means an empty field. */\n value?: number | null;\n /** The default value (uncontrolled). A `null` value means an empty field. */\n defaultValue?: number | null;\n /** Handler that is called when the value changes. A `null` value means an empty field. */\n onChange?: (value: number | null) => void;\n}\n\nfunction NumberField(\n {\n label,\n description,\n error: errorMessage,\n placeholder,\n UNSAFE_className,\n UNSAFE_style,\n value,\n defaultValue,\n onChange,\n ...props\n }: NumberFieldProps,\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('NumberField requires one of label / aria-label / aria-labelledby for accessibility');\n }\n }, [label, ariaLabel, ariaLabelledBy]);\n\n return (\n <RACNumberField\n {...props}\n ref={ref}\n className={clsx('cim-number-field', UNSAFE_className)}\n style={UNSAFE_style}\n // NumberField uses `NaN` to signify an empty value, which is unintuitive\n // https://github.com/adobe/react-spectrum/issues/5524\n // https://github.com/adobe/react-spectrum/issues/6971\n value={value === null ? Number.NaN : value}\n defaultValue={defaultValue === null ? Number.NaN : defaultValue}\n onChange={onChange ? (value) => onChange(Number.isNaN(value) ? null : value) : undefined}\n >\n <FormFieldLabel isRequired={props.isRequired} isDisabled={props.isDisabled}>\n {label}\n </FormFieldLabel>\n <RACGroup className=\"cim-number-field-input-group\">\n <RACInput\n className={clsx('cim-number-field-input', textStyle({ variant: 'medium' }))}\n placeholder={placeholder}\n />\n <div className=\"cim-number-field-spinner\">\n {/* TODO: i18n */}\n <IconButton slot=\"decrement\" icon={<IconSubtract />} aria-label=\"Decrement\" variant=\"tertiary\" size=\"small\" />\n <div className=\"cim-number-field-spinner-separator\" />\n {/* TODO: i18n */}\n <IconButton slot=\"increment\" icon={<IconAdd />} aria-label=\"Increment\" variant=\"tertiary\" size=\"small\" />\n </div>\n </RACGroup>\n <FormFieldError>{errorMessage}</FormFieldError>\n <FormFieldDescription>{description}</FormFieldDescription>\n </RACNumberField>\n );\n}\n\n/**\n * Allows users to edit a number with a keyboard or increment/decrement buttons.\n *\n * See [number field usage guidelines](https://ui.cimpress.io/components/number-field/).\n */\nconst _NumberField = withStyleProps(forwardRef(NumberField), 'NumberField');\n\nexport { _NumberField as NumberField };\n"]}
1
+ {"version":3,"file":"number-field.js","sourceRoot":"","sources":["../../../../src/components/number-field/number-field.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport type { ForwardedRef } from 'react';\nimport {\n Input as RACInput,\n NumberField as RACNumberField,\n type NumberFieldProps as RACNumberFieldProps,\n Group as RACGroup,\n} from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { useLocalizedMessages } from '../../i18n/index.js';\nimport { IconAdd, IconSubtract } from '../../icons/index.js';\nimport { useProductionWarning } from '../../utils/use-production-warning.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport { IconButton } from '../button/icon-button.js';\nimport { FormFieldDescription, FormFieldError, FormFieldLabel } from '../internal/form-field/form-field.js';\nimport type { CommonProps, FieldWithPlaceholderProps } from '../types.js';\nimport { textStyle } from '../typography/utils.js';\n\nexport interface NumberFieldProps\n extends CommonProps,\n FieldWithPlaceholderProps<number>,\n Pick<\n RACNumberFieldProps,\n | 'isDisabled'\n | 'isRequired'\n | 'isInvalid'\n | 'isReadOnly'\n | 'autoFocus'\n | 'minValue'\n | 'maxValue'\n | 'step'\n | 'formatOptions'\n | 'onFocus'\n | 'onBlur'\n > {\n /** The current value (controlled). A `null` value means an empty field. */\n value?: number | null;\n /** The default value (uncontrolled). A `null` value means an empty field. */\n defaultValue?: number | null;\n /** Handler that is called when the value changes. A `null` value means an empty field. */\n onChange?: (value: number | null) => void;\n}\n\nfunction NumberField(\n {\n label,\n description,\n error: errorMessage,\n placeholder,\n UNSAFE_className,\n UNSAFE_style,\n value,\n defaultValue,\n onChange,\n ...props\n }: NumberFieldProps,\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('NumberField requires one of label / aria-label / aria-labelledby for accessibility');\n }\n }, [label, ariaLabel, ariaLabelledBy]);\n\n const messages = useLocalizedMessages('numberField');\n\n return (\n <RACNumberField\n {...props}\n ref={ref}\n className={clsx('cim-number-field', UNSAFE_className)}\n style={UNSAFE_style}\n // NumberField uses `NaN` to signify an empty value, which is unintuitive\n // https://github.com/adobe/react-spectrum/issues/5524\n // https://github.com/adobe/react-spectrum/issues/6971\n value={value === null ? Number.NaN : value}\n defaultValue={defaultValue === null ? Number.NaN : defaultValue}\n onChange={onChange ? (value) => onChange(Number.isNaN(value) ? null : value) : undefined}\n >\n <FormFieldLabel isRequired={props.isRequired} isDisabled={props.isDisabled}>\n {label}\n </FormFieldLabel>\n <RACGroup className=\"cim-number-field-input-group\">\n <RACInput\n className={clsx('cim-number-field-input', textStyle({ variant: 'body' }))}\n placeholder={placeholder}\n />\n <div className=\"cim-number-field-spinner\">\n <IconButton\n slot=\"decrement\"\n icon={<IconSubtract />}\n aria-label={messages.format('decrement')}\n variant=\"tertiary\"\n size=\"small\"\n />\n <div className=\"cim-number-field-spinner-separator\" />\n <IconButton\n slot=\"increment\"\n icon={<IconAdd />}\n aria-label={messages.format('increment')}\n variant=\"tertiary\"\n size=\"small\"\n />\n </div>\n </RACGroup>\n <FormFieldError>{errorMessage}</FormFieldError>\n <FormFieldDescription>{description}</FormFieldDescription>\n </RACNumberField>\n );\n}\n\n/**\n * Allows users to edit a number with a keyboard or increment/decrement buttons.\n *\n * See [number field usage guidelines](https://ui.cimpress.io/components/number-field/).\n */\nconst _NumberField = withStyleProps(forwardRef(NumberField), 'NumberField');\n\nexport { _NumberField as NumberField };\n"]}
@@ -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"}
@@ -1,9 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import clsx from 'clsx';
3
3
  import { useMemo } from 'react';
4
+ import { useLocalizedMessages } from '../../i18n/index.js';
4
5
  import { IconChevronLeft, IconChevronRight } from '../../icons/index.js';
5
6
  /** @internal */
6
7
  export function BasePagination({ currentPage, pageCount, paginatedElementId, UNSAFE_className, UNSAFE_style, navRef, listRef, renderPreviousButton, renderNextButton, renderPageButton, ...props }) {
8
+ const messages = useLocalizedMessages('pagination');
7
9
  const pages = useMemo(() => {
8
10
  const visiblePages = getVisiblePages(currentPage, pageCount);
9
11
  const firstPageIndex = 0;
@@ -12,8 +14,7 @@ export function BasePagination({ currentPage, pageCount, paginatedElementId, UNS
12
14
  const isCurrentPage = typeof page === 'number' && page === currentPage;
13
15
  const pageNumber = typeof page === 'number' ? page : page.page;
14
16
  const pageButtonProps = {
15
- // TODO: i18n
16
- 'aria-label': `Page ${pageNumber}`,
17
+ 'aria-label': messages.format('goToPage', { pageNumber }),
17
18
  children: typeof page === 'number' ? page : '…',
18
19
  'data-first': index === firstPageIndex || undefined,
19
20
  'data-last': index === lastPageIndex || undefined,
@@ -21,18 +22,16 @@ export function BasePagination({ currentPage, pageCount, paginatedElementId, UNS
21
22
  };
22
23
  return { pageNumber, isCurrentPage, pageButtonProps };
23
24
  });
24
- }, [currentPage, pageCount]);
25
+ }, [currentPage, pageCount, messages]);
25
26
  const previousButtonProps = {
26
27
  icon: _jsx(IconChevronLeft, {}),
27
28
  isDisabled: currentPage === 1,
28
- // TODO: internationalization
29
- 'aria-label': 'Previous',
29
+ 'aria-label': messages.format('previousPage'),
30
30
  };
31
31
  const nextButtonProps = {
32
32
  icon: _jsx(IconChevronRight, {}),
33
33
  isDisabled: currentPage === pageCount,
34
- // TODO: internationalization
35
- 'aria-label': 'Next',
34
+ 'aria-label': messages.format('nextPage'),
36
35
  };
37
36
  return (_jsx("nav", { ...props, ref: navRef, className: clsx('cim-pagination', UNSAFE_className), style: UNSAFE_style, "aria-controls": paginatedElementId, children: _jsxs("ul", { ref: listRef, className: "cim-pagination-list", children: [_jsx("li", { children: renderPreviousButton(previousButtonProps) }), pages.map((pageData) => (_jsx("li", { children: renderPageButton(pageData) }, pageData.pageNumber))), _jsx("li", { children: renderNextButton(nextButtonProps) })] }) }));
38
37
  }
@@ -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":";AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAA4D,OAAO,EAAE,MAAM,OAAO,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAiDzE,gBAAgB;AAChB,MAAM,UAAU,cAAc,CAAC,EAC7B,WAAW,EACX,SAAS,EACT,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,OAAO,EACP,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,GAAG,KAAK,EACoC;IAC5C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAEpD,MAAM,KAAK,GAAe,OAAO,CAAC,GAAG,EAAE;QACrC,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC7D,MAAM,cAAc,GAAG,CAAC,CAAC;QACzB,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAE9C,OAAO,YAAY,CAAC,GAAG,CAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAChD,MAAM,aAAa,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,WAAW,CAAC;YACvE,MAAM,UAAU,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAE/D,MAAM,eAAe,GAAyB;gBAC5C,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,CAAC;gBACzD,QAAQ,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;gBAC/C,YAAY,EAAE,KAAK,KAAK,cAAc,IAAI,SAAS;gBACnD,WAAW,EAAE,KAAK,KAAK,aAAa,IAAI,SAAS;gBACjD,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;aACjD,CAAC;YAEF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEvC,MAAM,mBAAmB,GAAyB;QAChD,IAAI,EAAE,KAAC,eAAe,KAAG;QACzB,UAAU,EAAE,WAAW,KAAK,CAAC;QAC7B,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC;KAC9C,CAAC;IAEF,MAAM,eAAe,GAAyB;QAC5C,IAAI,EAAE,KAAC,gBAAgB,KAAG;QAC1B,UAAU,EAAE,WAAW,KAAK,SAAS;QACrC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;KAC1C,CAAC;IAEF,OAAO,CACL,iBACM,KAAK,EACT,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,EACnD,KAAK,EAAE,YAAY,mBACJ,kBAAkB,YAEjC,cAAI,GAAG,EAAE,OAAO,EAAE,SAAS,EAAC,qBAAqB,aAC/C,uBAAK,oBAAoB,CAAC,mBAAmB,CAAC,GAAM,EAEnD,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACvB,uBAA+B,gBAAgB,CAAC,QAAQ,CAAC,IAAhD,QAAQ,CAAC,UAAU,CAAmC,CAChE,CAAC,EAEF,uBAAK,gBAAgB,CAAC,eAAe,CAAC,GAAM,IACzC,GACD,CACP,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,WAAmB,EAAE,UAAkB;IAC9D,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,UAAU,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,WAAW,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QAClC,OAAO;YACL,CAAC;YACD,CAAC;YACD,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,EAAE;YAC1C,UAAU,GAAG,CAAC;YACd,UAAU,GAAG,CAAC;YACd,UAAU,GAAG,CAAC;YACd,UAAU;SACX,CAAC;IACJ,CAAC;IAED,OAAO;QACL,CAAC;QACD,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,GAAG,CAAC,EAAE;QAC3C,WAAW,GAAG,CAAC;QACf,WAAW;QACX,WAAW,GAAG,CAAC;QACf,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,GAAG,CAAC,EAAE;QAC3C,UAAU;KACX,CAAC;AACJ,CAAC","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"}
@@ -3,8 +3,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { announce } from '@react-aria/live-announcer';
4
4
  import { useUpdateEffect } from '@react-aria/utils';
5
5
  import { useControlledState } from '@react-stately/utils';
6
- import { useEffect } from 'react';
7
6
  import { forwardRef } from '../../forward-ref.js';
7
+ import { useLocalizedMessages } from '../../i18n/index.js';
8
+ import { useProductionWarning } from '../../utils/use-production-warning.js';
8
9
  import { withStyleProps } from '../../with-style-props.js';
9
10
  import { ActionPagination } from './action-pagination.js';
10
11
  import { LinkPagination } from './link-pagination.js';
@@ -13,16 +14,17 @@ function Pagination({ currentPage, defaultPage, href, onPageChange,
13
14
  hrefLang, target, download, ping, referrerPolicy, rel, routerOptions, ...props }, ref) {
14
15
  const [page, setPage] = useControlledState(currentPage, defaultPage ?? 1, onPageChange);
15
16
  const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;
16
- useEffect(() => {
17
+ useProductionWarning(() => {
17
18
  if (!ariaLabel && !ariaLabelledBy) {
18
19
  console.warn('Pagination requires one of aria-label / aria-labelledby for accessibility');
19
20
  }
20
21
  }, [ariaLabel, ariaLabelledBy]);
22
+ const messages = useLocalizedMessages('pagination');
23
+ const selectedPageAnnouncement = messages.format('selectedPageAnnouncement', { pageNumber: page });
21
24
  // Announce when the selected page changes
22
25
  useUpdateEffect(() => {
23
- // TODO: i18n
24
- announce(`Selected page: ${page}`, 'polite', 4000);
25
- }, [page]);
26
+ announce(selectedPageAnnouncement, 'polite', 4000);
27
+ }, [selectedPageAnnouncement]);
26
28
  if (href) {
27
29
  return (_jsx(LinkPagination, { ...props, currentPage: page, onPageChange: setPage, navRef: ref, href: href, hrefLang: hrefLang, target: target, download: download, ping: ping, referrerPolicy: referrerPolicy, rel: rel, routerOptions: routerOptions }));
28
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../../src/components/pagination/pagination.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAqB,SAAS,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;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,kBAAkB,CAAC,WAAW,EAAE,WAAW,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;IAExF,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAE7E,SAAS,CAAC,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,eAAe,CAAC,GAAG,EAAE;QACnB,aAAa;QACb,QAAQ,CAAC,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,KAAC,cAAc,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,KAAC,gBAAgB,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,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;AAEzE,OAAO,EAAE,WAAW,IAAI,UAAU,EAAE,CAAC","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,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;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,kBAAkB,CAAC,WAAW,EAAE,WAAW,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;IAExF,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAE7E,oBAAoB,CAAC,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,oBAAoB,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,wBAAwB,GAAG,QAAQ,CAAC,MAAM,CAAC,0BAA0B,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAEnG,0CAA0C;IAC1C,eAAe,CAAC,GAAG,EAAE;QACnB,QAAQ,CAAC,wBAAwB,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAE/B,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CACL,KAAC,cAAc,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,KAAC,gBAAgB,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,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;AAEzE,OAAO,EAAE,WAAW,IAAI,UAAU,EAAE,CAAC","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"}
@@ -1,9 +1,9 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import clsx from 'clsx';
4
- import { useEffect } from 'react';
5
4
  import { DialogTrigger as RACDialogTrigger, Popover as RACPopover, OverlayArrow as RACOverlayArrow, Dialog as RACDialog, Heading as RACHeading, } from 'react-aria-components';
6
5
  import { forwardRef } from '../../forward-ref.js';
6
+ import { useProductionWarning } from '../../utils/use-production-warning.js';
7
7
  import { FocusableContainer } from '../internal/focusable-container/focusable-container.js';
8
8
  import { textStyle } from '../typography/utils.js';
9
9
  /**
@@ -16,7 +16,7 @@ export function PopoverRoot(props) {
16
16
  PopoverRoot.displayName = 'PopoverRoot';
17
17
  function Popover({ children, title, UNSAFE_className, UNSAFE_style, isOpen, defaultOpen, onOpenChange, placement, triggerRef, ...props }, ref) {
18
18
  const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;
19
- useEffect(() => {
19
+ useProductionWarning(() => {
20
20
  if (!title && !ariaLabel && !ariaLabelledBy) {
21
21
  console.warn('Popover requires one of title / aria-label / aria-labelledby for accessibility');
22
22
  }