@cimpress-ui/react 0.1.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (507) hide show
  1. package/README.md +1 -1
  2. package/dist/commonjs/components/breadcrumbs/breadcrumbs.d.ts +22 -0
  3. package/dist/commonjs/components/breadcrumbs/breadcrumbs.d.ts.map +1 -0
  4. package/dist/commonjs/components/breadcrumbs/breadcrumbs.js +37 -0
  5. package/dist/commonjs/components/breadcrumbs/breadcrumbs.js.map +1 -0
  6. package/dist/commonjs/components/button/button.js +1 -1
  7. package/dist/commonjs/components/button/button.js.map +1 -1
  8. package/dist/commonjs/components/button/icon-button.js +1 -1
  9. package/dist/commonjs/components/button/icon-button.js.map +1 -1
  10. package/dist/commonjs/components/button/types.d.ts.map +1 -1
  11. package/dist/commonjs/components/button/types.js.map +1 -1
  12. package/dist/commonjs/components/card/card-context.d.ts +4 -0
  13. package/dist/commonjs/components/card/card-context.d.ts.map +1 -0
  14. package/dist/commonjs/components/card/card-context.js +6 -0
  15. package/dist/commonjs/components/card/card-context.js.map +1 -0
  16. package/dist/commonjs/components/card/card.d.ts +15 -0
  17. package/dist/commonjs/components/card/card.d.ts.map +1 -0
  18. package/dist/commonjs/components/card/card.js +24 -0
  19. package/dist/commonjs/components/card/card.js.map +1 -0
  20. package/dist/commonjs/components/checkbox/checkbox.d.ts +1 -1
  21. package/dist/commonjs/components/checkbox/checkbox.d.ts.map +1 -1
  22. package/dist/commonjs/components/checkbox/checkbox.js.map +1 -1
  23. package/dist/commonjs/components/combo-box/combo-box.d.ts +5 -1
  24. package/dist/commonjs/components/combo-box/combo-box.d.ts.map +1 -1
  25. package/dist/commonjs/components/combo-box/combo-box.js +6 -6
  26. package/dist/commonjs/components/combo-box/combo-box.js.map +1 -1
  27. package/dist/commonjs/components/disclosure/disclosure-group.d.ts +10 -0
  28. package/dist/commonjs/components/disclosure/disclosure-group.d.ts.map +1 -0
  29. package/dist/commonjs/components/disclosure/disclosure-group.js +18 -0
  30. package/dist/commonjs/components/disclosure/disclosure-group.js.map +1 -0
  31. package/dist/commonjs/components/disclosure/disclosure.d.ts +14 -0
  32. package/dist/commonjs/components/disclosure/disclosure.d.ts.map +1 -0
  33. package/dist/commonjs/components/disclosure/disclosure.js +20 -0
  34. package/dist/commonjs/components/disclosure/disclosure.js.map +1 -0
  35. package/dist/commonjs/components/internal/collapsible-list/collapsible-list.d.ts +0 -14
  36. package/dist/commonjs/components/internal/collapsible-list/collapsible-list.d.ts.map +1 -1
  37. package/dist/commonjs/components/internal/collapsible-list/collapsible-list.js +2 -4
  38. package/dist/commonjs/components/internal/collapsible-list/collapsible-list.js.map +1 -1
  39. package/dist/commonjs/components/internal/form-field/form-field.d.ts +1 -28
  40. package/dist/commonjs/components/internal/form-field/form-field.d.ts.map +1 -1
  41. package/dist/commonjs/components/internal/form-field/form-field.js +10 -0
  42. package/dist/commonjs/components/internal/form-field/form-field.js.map +1 -1
  43. package/dist/commonjs/components/internal/spinner/spinner.d.ts +0 -16
  44. package/dist/commonjs/components/internal/spinner/spinner.d.ts.map +1 -1
  45. package/dist/commonjs/components/modal/modal.d.ts +19 -0
  46. package/dist/commonjs/components/modal/modal.d.ts.map +1 -0
  47. package/dist/commonjs/components/modal/modal.js +25 -0
  48. package/dist/commonjs/components/modal/modal.js.map +1 -0
  49. package/dist/commonjs/components/nav-tabs/nav-tabs.d.ts +23 -0
  50. package/dist/commonjs/components/nav-tabs/nav-tabs.d.ts.map +1 -0
  51. package/dist/commonjs/components/nav-tabs/nav-tabs.js +27 -0
  52. package/dist/commonjs/components/nav-tabs/nav-tabs.js.map +1 -0
  53. package/dist/commonjs/components/number-field/number-field.d.ts +10 -0
  54. package/dist/commonjs/components/number-field/number-field.d.ts.map +1 -0
  55. package/dist/commonjs/components/number-field/number-field.js +32 -0
  56. package/dist/commonjs/components/number-field/number-field.js.map +1 -0
  57. package/dist/commonjs/components/pagination/pagination.d.ts +14 -0
  58. package/dist/commonjs/components/pagination/pagination.d.ts.map +1 -0
  59. package/dist/commonjs/components/pagination/pagination.js +69 -0
  60. package/dist/commonjs/components/pagination/pagination.js.map +1 -0
  61. package/dist/commonjs/components/radio/radio.d.ts +1 -1
  62. package/dist/commonjs/components/radio/radio.d.ts.map +1 -1
  63. package/dist/commonjs/components/radio/radio.js.map +1 -1
  64. package/dist/commonjs/components/table/contexts/focus.d.ts +13 -0
  65. package/dist/commonjs/components/table/contexts/focus.d.ts.map +1 -0
  66. package/dist/commonjs/components/table/contexts/focus.js +51 -0
  67. package/dist/commonjs/components/table/contexts/focus.js.map +1 -0
  68. package/dist/commonjs/components/table/contexts/row-state.d.ts +10 -0
  69. package/dist/commonjs/components/table/contexts/row-state.d.ts.map +1 -0
  70. package/dist/commonjs/components/table/contexts/row-state.js +22 -0
  71. package/dist/commonjs/components/table/contexts/row-state.js.map +1 -0
  72. package/dist/commonjs/components/table/hooks/use-table-cell.d.ts +7 -0
  73. package/dist/commonjs/components/table/hooks/use-table-cell.d.ts.map +1 -0
  74. package/dist/commonjs/components/table/hooks/use-table-cell.js +125 -0
  75. package/dist/commonjs/components/table/hooks/use-table-cell.js.map +1 -0
  76. package/dist/commonjs/components/table/hooks/use-table.d.ts +7 -0
  77. package/dist/commonjs/components/table/hooks/use-table.d.ts.map +1 -0
  78. package/dist/commonjs/components/table/hooks/use-table.js +142 -0
  79. package/dist/commonjs/components/table/hooks/use-table.js.map +1 -0
  80. package/dist/commonjs/components/table/table-body-cell.d.ts +26 -0
  81. package/dist/commonjs/components/table/table-body-cell.d.ts.map +1 -0
  82. package/dist/commonjs/components/table/table-body-cell.js +17 -0
  83. package/dist/commonjs/components/table/table-body-cell.js.map +1 -0
  84. package/dist/commonjs/components/table/table-body.d.ts +8 -0
  85. package/dist/commonjs/components/table/table-body.d.ts.map +1 -0
  86. package/dist/commonjs/components/table/table-body.js +11 -0
  87. package/dist/commonjs/components/table/table-body.js.map +1 -0
  88. package/dist/commonjs/components/table/table-container.d.ts +8 -0
  89. package/dist/commonjs/components/table/table-container.d.ts.map +1 -0
  90. package/dist/commonjs/components/table/table-container.js +40 -0
  91. package/dist/commonjs/components/table/table-container.js.map +1 -0
  92. package/dist/commonjs/components/table/table-header-cell.d.ts +26 -0
  93. package/dist/commonjs/components/table/table-header-cell.d.ts.map +1 -0
  94. package/dist/commonjs/components/table/table-header-cell.js +17 -0
  95. package/dist/commonjs/components/table/table-header-cell.js.map +1 -0
  96. package/dist/commonjs/components/table/table-header.d.ts +8 -0
  97. package/dist/commonjs/components/table/table-header.d.ts.map +1 -0
  98. package/dist/commonjs/components/table/table-header.js +11 -0
  99. package/dist/commonjs/components/table/table-header.js.map +1 -0
  100. package/dist/commonjs/components/table/table-row.d.ts +21 -0
  101. package/dist/commonjs/components/table/table-row.d.ts.map +1 -0
  102. package/dist/commonjs/components/table/table-row.js +14 -0
  103. package/dist/commonjs/components/table/table-row.js.map +1 -0
  104. package/dist/commonjs/components/table/table.d.ts +26 -0
  105. package/dist/commonjs/components/table/table.d.ts.map +1 -0
  106. package/dist/commonjs/components/table/table.js +27 -0
  107. package/dist/commonjs/components/table/table.js.map +1 -0
  108. package/dist/commonjs/components/table/utils/focus-table-child.d.ts +4 -0
  109. package/dist/commonjs/components/table/utils/focus-table-child.d.ts.map +1 -0
  110. package/dist/commonjs/components/table/utils/focus-table-child.js +14 -0
  111. package/dist/commonjs/components/table/utils/focus-table-child.js.map +1 -0
  112. package/dist/commonjs/components/tag/tag-group.d.ts +18 -0
  113. package/dist/commonjs/components/tag/tag-group.d.ts.map +1 -0
  114. package/dist/commonjs/components/tag/tag-group.js +27 -0
  115. package/dist/commonjs/components/tag/tag-group.js.map +1 -0
  116. package/dist/commonjs/components/tag/tag.d.ts +17 -0
  117. package/dist/commonjs/components/tag/tag.d.ts.map +1 -0
  118. package/dist/commonjs/components/tag/tag.js +20 -0
  119. package/dist/commonjs/components/tag/tag.js.map +1 -0
  120. package/dist/commonjs/components/text-inputs/text-area.d.ts.map +1 -1
  121. package/dist/commonjs/components/text-inputs/text-area.js +1 -1
  122. package/dist/commonjs/components/text-inputs/text-area.js.map +1 -1
  123. package/dist/commonjs/components/text-inputs/text-field.d.ts.map +1 -1
  124. package/dist/commonjs/components/text-inputs/text-field.js +1 -1
  125. package/dist/commonjs/components/text-inputs/text-field.js.map +1 -1
  126. package/dist/commonjs/components/tooltip/tooltip.d.ts +9 -0
  127. package/dist/commonjs/components/tooltip/tooltip.d.ts.map +1 -0
  128. package/dist/commonjs/components/tooltip/tooltip.js +15 -0
  129. package/dist/commonjs/components/tooltip/tooltip.js.map +1 -0
  130. package/dist/commonjs/components/types.d.ts +16 -2
  131. package/dist/commonjs/components/types.d.ts.map +1 -1
  132. package/dist/commonjs/components/types.js.map +1 -1
  133. package/dist/commonjs/components/typography/link.d.ts +2 -2
  134. package/dist/commonjs/components/typography/link.d.ts.map +1 -1
  135. package/dist/commonjs/components/typography/link.js +3 -2
  136. package/dist/commonjs/components/typography/link.js.map +1 -1
  137. package/dist/commonjs/components/typography/types.d.ts +2 -1
  138. package/dist/commonjs/components/typography/types.d.ts.map +1 -1
  139. package/dist/commonjs/components/typography/types.js.map +1 -1
  140. package/dist/commonjs/components/typography/utils.d.ts.map +1 -1
  141. package/dist/commonjs/components/typography/utils.js +2 -2
  142. package/dist/commonjs/components/typography/utils.js.map +1 -1
  143. package/dist/commonjs/components/visually-hidden/visually-hidden.d.ts +17 -0
  144. package/dist/commonjs/components/visually-hidden/visually-hidden.d.ts.map +1 -0
  145. package/dist/commonjs/components/visually-hidden/visually-hidden.js +20 -0
  146. package/dist/commonjs/components/visually-hidden/visually-hidden.js.map +1 -0
  147. package/dist/commonjs/icons/accounting-document.d.ts +1 -1
  148. package/dist/commonjs/icons/accounting-document.d.ts.map +1 -1
  149. package/dist/commonjs/icons/accounting-document.js +4 -2
  150. package/dist/commonjs/icons/accounting-document.js.map +1 -1
  151. package/dist/commonjs/icons/add-circle-fill.d.ts +1 -1
  152. package/dist/commonjs/icons/add-circle-fill.d.ts.map +1 -1
  153. package/dist/commonjs/icons/add-circle-fill.js +4 -2
  154. package/dist/commonjs/icons/add-circle-fill.js.map +1 -1
  155. package/dist/commonjs/icons/add-circle.d.ts +1 -1
  156. package/dist/commonjs/icons/add-circle.d.ts.map +1 -1
  157. package/dist/commonjs/icons/add-circle.js +4 -2
  158. package/dist/commonjs/icons/add-circle.js.map +1 -1
  159. package/dist/commonjs/icons/add.d.ts +1 -1
  160. package/dist/commonjs/icons/add.d.ts.map +1 -1
  161. package/dist/commonjs/icons/add.js +4 -2
  162. package/dist/commonjs/icons/add.js.map +1 -1
  163. package/dist/commonjs/icons/alert-triangle.d.ts +1 -1
  164. package/dist/commonjs/icons/alert-triangle.d.ts.map +1 -1
  165. package/dist/commonjs/icons/alert-triangle.js +4 -2
  166. package/dist/commonjs/icons/alert-triangle.js.map +1 -1
  167. package/dist/commonjs/icons/calculator-alt.d.ts +1 -1
  168. package/dist/commonjs/icons/calculator-alt.d.ts.map +1 -1
  169. package/dist/commonjs/icons/calculator-alt.js +4 -2
  170. package/dist/commonjs/icons/calculator-alt.js.map +1 -1
  171. package/dist/commonjs/icons/calculator.d.ts +1 -1
  172. package/dist/commonjs/icons/calculator.d.ts.map +1 -1
  173. package/dist/commonjs/icons/calculator.js +4 -2
  174. package/dist/commonjs/icons/calculator.js.map +1 -1
  175. package/dist/commonjs/icons/checkmark-circle-fill.d.ts +1 -1
  176. package/dist/commonjs/icons/checkmark-circle-fill.d.ts.map +1 -1
  177. package/dist/commonjs/icons/checkmark-circle-fill.js +4 -2
  178. package/dist/commonjs/icons/checkmark-circle-fill.js.map +1 -1
  179. package/dist/commonjs/icons/checkmark-circle.d.ts +1 -1
  180. package/dist/commonjs/icons/checkmark-circle.d.ts.map +1 -1
  181. package/dist/commonjs/icons/checkmark-circle.js +4 -2
  182. package/dist/commonjs/icons/checkmark-circle.js.map +1 -1
  183. package/dist/commonjs/icons/checkmark-small.d.ts +1 -1
  184. package/dist/commonjs/icons/checkmark-small.d.ts.map +1 -1
  185. package/dist/commonjs/icons/checkmark-small.js +4 -2
  186. package/dist/commonjs/icons/checkmark-small.js.map +1 -1
  187. package/dist/commonjs/icons/checkmark.d.ts +1 -1
  188. package/dist/commonjs/icons/checkmark.d.ts.map +1 -1
  189. package/dist/commonjs/icons/checkmark.js +4 -2
  190. package/dist/commonjs/icons/checkmark.js.map +1 -1
  191. package/dist/commonjs/icons/chevron-down-fill.d.ts +1 -1
  192. package/dist/commonjs/icons/chevron-down-fill.d.ts.map +1 -1
  193. package/dist/commonjs/icons/chevron-down-fill.js +4 -2
  194. package/dist/commonjs/icons/chevron-down-fill.js.map +1 -1
  195. package/dist/commonjs/icons/error-circle-fill.d.ts +1 -1
  196. package/dist/commonjs/icons/error-circle-fill.d.ts.map +1 -1
  197. package/dist/commonjs/icons/error-circle-fill.js +5 -3
  198. package/dist/commonjs/icons/error-circle-fill.js.map +1 -1
  199. package/dist/commonjs/icons/index.d.ts +6 -0
  200. package/dist/commonjs/icons/index.d.ts.map +1 -1
  201. package/dist/commonjs/icons/index.js +13 -1
  202. package/dist/commonjs/icons/index.js.map +1 -1
  203. package/dist/commonjs/icons/info-circle-fill.d.ts +1 -1
  204. package/dist/commonjs/icons/info-circle-fill.d.ts.map +1 -1
  205. package/dist/commonjs/icons/info-circle-fill.js +4 -2
  206. package/dist/commonjs/icons/info-circle-fill.js.map +1 -1
  207. package/dist/commonjs/icons/minus-small.d.ts +1 -1
  208. package/dist/commonjs/icons/minus-small.d.ts.map +1 -1
  209. package/dist/commonjs/icons/minus-small.js +4 -2
  210. package/dist/commonjs/icons/minus-small.js.map +1 -1
  211. package/dist/commonjs/icons/minus.d.ts +8 -0
  212. package/dist/commonjs/icons/minus.d.ts.map +1 -0
  213. package/dist/commonjs/icons/minus.js +24 -0
  214. package/dist/commonjs/icons/minus.js.map +1 -0
  215. package/dist/commonjs/icons/unstable-chevron-left-fill.d.ts +8 -0
  216. package/dist/commonjs/icons/unstable-chevron-left-fill.d.ts.map +1 -0
  217. package/dist/commonjs/icons/unstable-chevron-left-fill.js +24 -0
  218. package/dist/commonjs/icons/unstable-chevron-left-fill.js.map +1 -0
  219. package/dist/commonjs/icons/unstable-chevron-right-fill.d.ts +8 -0
  220. package/dist/commonjs/icons/unstable-chevron-right-fill.d.ts.map +1 -0
  221. package/dist/commonjs/icons/unstable-chevron-right-fill.js +24 -0
  222. package/dist/commonjs/icons/unstable-chevron-right-fill.js.map +1 -0
  223. package/dist/commonjs/icons/unstable-close.d.ts +8 -0
  224. package/dist/commonjs/icons/unstable-close.d.ts.map +1 -0
  225. package/dist/commonjs/icons/unstable-close.js +24 -0
  226. package/dist/commonjs/icons/unstable-close.js.map +1 -0
  227. package/dist/commonjs/icons/unstable-info-circle.d.ts +8 -0
  228. package/dist/commonjs/icons/unstable-info-circle.d.ts.map +1 -0
  229. package/dist/commonjs/icons/unstable-info-circle.js +24 -0
  230. package/dist/commonjs/icons/unstable-info-circle.js.map +1 -0
  231. package/dist/commonjs/icons/unstable-placeholder.d.ts +8 -0
  232. package/dist/commonjs/icons/unstable-placeholder.d.ts.map +1 -0
  233. package/dist/commonjs/icons/unstable-placeholder.js +24 -0
  234. package/dist/commonjs/icons/unstable-placeholder.js.map +1 -0
  235. package/dist/commonjs/icons/warning-circle-fill.d.ts +1 -1
  236. package/dist/commonjs/icons/warning-circle-fill.d.ts.map +1 -1
  237. package/dist/commonjs/icons/warning-circle-fill.js +4 -2
  238. package/dist/commonjs/icons/warning-circle-fill.js.map +1 -1
  239. package/dist/commonjs/index.d.ts +21 -1
  240. package/dist/commonjs/index.d.ts.map +1 -1
  241. package/dist/commonjs/index.js +19 -0
  242. package/dist/commonjs/index.js.map +1 -1
  243. package/dist/commonjs/utils/style/tone.d.ts +3 -0
  244. package/dist/commonjs/utils/style/tone.d.ts.map +1 -0
  245. package/dist/commonjs/utils/style/tone.js +7 -0
  246. package/dist/commonjs/utils/style/tone.js.map +1 -0
  247. package/dist/commonjs/utils/style/types.d.ts +2 -0
  248. package/dist/commonjs/utils/style/types.d.ts.map +1 -0
  249. package/dist/commonjs/utils/style/types.js +3 -0
  250. package/dist/commonjs/utils/style/types.js.map +1 -0
  251. package/dist/commonjs/with-style-props.d.ts +1 -1
  252. package/dist/commonjs/with-style-props.d.ts.map +1 -1
  253. package/dist/commonjs/with-style-props.js.map +1 -1
  254. package/dist/esm/components/breadcrumbs/breadcrumbs.d.ts +22 -0
  255. package/dist/esm/components/breadcrumbs/breadcrumbs.d.ts.map +1 -0
  256. package/dist/esm/components/breadcrumbs/breadcrumbs.js +30 -0
  257. package/dist/esm/components/breadcrumbs/breadcrumbs.js.map +1 -0
  258. package/dist/esm/components/button/button.js +1 -1
  259. package/dist/esm/components/button/button.js.map +1 -1
  260. package/dist/esm/components/button/icon-button.js +1 -1
  261. package/dist/esm/components/button/icon-button.js.map +1 -1
  262. package/dist/esm/components/button/types.d.ts.map +1 -1
  263. package/dist/esm/components/button/types.js.map +1 -1
  264. package/dist/esm/components/card/card-context.d.ts +4 -0
  265. package/dist/esm/components/card/card-context.d.ts.map +1 -0
  266. package/dist/esm/components/card/card-context.js +3 -0
  267. package/dist/esm/components/card/card-context.js.map +1 -0
  268. package/dist/esm/components/card/card.d.ts +15 -0
  269. package/dist/esm/components/card/card.d.ts.map +1 -0
  270. package/dist/esm/components/card/card.js +17 -0
  271. package/dist/esm/components/card/card.js.map +1 -0
  272. package/dist/esm/components/checkbox/checkbox.d.ts +1 -1
  273. package/dist/esm/components/checkbox/checkbox.d.ts.map +1 -1
  274. package/dist/esm/components/checkbox/checkbox.js.map +1 -1
  275. package/dist/esm/components/combo-box/combo-box.d.ts +5 -1
  276. package/dist/esm/components/combo-box/combo-box.d.ts.map +1 -1
  277. package/dist/esm/components/combo-box/combo-box.js +7 -7
  278. package/dist/esm/components/combo-box/combo-box.js.map +1 -1
  279. package/dist/esm/components/disclosure/disclosure-group.d.ts +10 -0
  280. package/dist/esm/components/disclosure/disclosure-group.d.ts.map +1 -0
  281. package/dist/esm/components/disclosure/disclosure-group.js +12 -0
  282. package/dist/esm/components/disclosure/disclosure-group.js.map +1 -0
  283. package/dist/esm/components/disclosure/disclosure.d.ts +14 -0
  284. package/dist/esm/components/disclosure/disclosure.d.ts.map +1 -0
  285. package/dist/esm/components/disclosure/disclosure.js +14 -0
  286. package/dist/esm/components/disclosure/disclosure.js.map +1 -0
  287. package/dist/esm/components/internal/collapsible-list/collapsible-list.d.ts +0 -14
  288. package/dist/esm/components/internal/collapsible-list/collapsible-list.d.ts.map +1 -1
  289. package/dist/esm/components/internal/collapsible-list/collapsible-list.js +2 -4
  290. package/dist/esm/components/internal/collapsible-list/collapsible-list.js.map +1 -1
  291. package/dist/esm/components/internal/form-field/form-field.d.ts +1 -28
  292. package/dist/esm/components/internal/form-field/form-field.d.ts.map +1 -1
  293. package/dist/esm/components/internal/form-field/form-field.js +10 -1
  294. package/dist/esm/components/internal/form-field/form-field.js.map +1 -1
  295. package/dist/esm/components/internal/spinner/spinner.d.ts +0 -16
  296. package/dist/esm/components/internal/spinner/spinner.d.ts.map +1 -1
  297. package/dist/esm/components/modal/modal.d.ts +19 -0
  298. package/dist/esm/components/modal/modal.d.ts.map +1 -0
  299. package/dist/esm/components/modal/modal.js +18 -0
  300. package/dist/esm/components/modal/modal.js.map +1 -0
  301. package/dist/esm/components/nav-tabs/nav-tabs.d.ts +23 -0
  302. package/dist/esm/components/nav-tabs/nav-tabs.d.ts.map +1 -0
  303. package/dist/esm/components/nav-tabs/nav-tabs.js +20 -0
  304. package/dist/esm/components/nav-tabs/nav-tabs.js.map +1 -0
  305. package/dist/esm/components/number-field/number-field.d.ts +10 -0
  306. package/dist/esm/components/number-field/number-field.d.ts.map +1 -0
  307. package/dist/esm/components/number-field/number-field.js +26 -0
  308. package/dist/esm/components/number-field/number-field.js.map +1 -0
  309. package/dist/esm/components/pagination/pagination.d.ts +14 -0
  310. package/dist/esm/components/pagination/pagination.d.ts.map +1 -0
  311. package/dist/esm/components/pagination/pagination.js +66 -0
  312. package/dist/esm/components/pagination/pagination.js.map +1 -0
  313. package/dist/esm/components/radio/radio.d.ts +1 -1
  314. package/dist/esm/components/radio/radio.d.ts.map +1 -1
  315. package/dist/esm/components/radio/radio.js.map +1 -1
  316. package/dist/esm/components/table/contexts/focus.d.ts +13 -0
  317. package/dist/esm/components/table/contexts/focus.d.ts.map +1 -0
  318. package/dist/esm/components/table/contexts/focus.js +47 -0
  319. package/dist/esm/components/table/contexts/focus.js.map +1 -0
  320. package/dist/esm/components/table/contexts/row-state.d.ts +10 -0
  321. package/dist/esm/components/table/contexts/row-state.d.ts.map +1 -0
  322. package/dist/esm/components/table/contexts/row-state.js +18 -0
  323. package/dist/esm/components/table/contexts/row-state.js.map +1 -0
  324. package/dist/esm/components/table/hooks/use-table-cell.d.ts +7 -0
  325. package/dist/esm/components/table/hooks/use-table-cell.d.ts.map +1 -0
  326. package/dist/esm/components/table/hooks/use-table-cell.js +122 -0
  327. package/dist/esm/components/table/hooks/use-table-cell.js.map +1 -0
  328. package/dist/esm/components/table/hooks/use-table.d.ts +7 -0
  329. package/dist/esm/components/table/hooks/use-table.d.ts.map +1 -0
  330. package/dist/esm/components/table/hooks/use-table.js +139 -0
  331. package/dist/esm/components/table/hooks/use-table.js.map +1 -0
  332. package/dist/esm/components/table/table-body-cell.d.ts +26 -0
  333. package/dist/esm/components/table/table-body-cell.d.ts.map +1 -0
  334. package/dist/esm/components/table/table-body-cell.js +14 -0
  335. package/dist/esm/components/table/table-body-cell.js.map +1 -0
  336. package/dist/esm/components/table/table-body.d.ts +8 -0
  337. package/dist/esm/components/table/table-body.d.ts.map +1 -0
  338. package/dist/esm/components/table/table-body.js +8 -0
  339. package/dist/esm/components/table/table-body.js.map +1 -0
  340. package/dist/esm/components/table/table-container.d.ts +8 -0
  341. package/dist/esm/components/table/table-container.d.ts.map +1 -0
  342. package/dist/esm/components/table/table-container.js +34 -0
  343. package/dist/esm/components/table/table-container.js.map +1 -0
  344. package/dist/esm/components/table/table-header-cell.d.ts +26 -0
  345. package/dist/esm/components/table/table-header-cell.d.ts.map +1 -0
  346. package/dist/esm/components/table/table-header-cell.js +14 -0
  347. package/dist/esm/components/table/table-header-cell.js.map +1 -0
  348. package/dist/esm/components/table/table-header.d.ts +8 -0
  349. package/dist/esm/components/table/table-header.d.ts.map +1 -0
  350. package/dist/esm/components/table/table-header.js +8 -0
  351. package/dist/esm/components/table/table-header.js.map +1 -0
  352. package/dist/esm/components/table/table-row.d.ts +21 -0
  353. package/dist/esm/components/table/table-row.d.ts.map +1 -0
  354. package/dist/esm/components/table/table-row.js +11 -0
  355. package/dist/esm/components/table/table-row.js.map +1 -0
  356. package/dist/esm/components/table/table.d.ts +26 -0
  357. package/dist/esm/components/table/table.d.ts.map +1 -0
  358. package/dist/esm/components/table/table.js +24 -0
  359. package/dist/esm/components/table/table.js.map +1 -0
  360. package/dist/esm/components/table/utils/focus-table-child.d.ts +4 -0
  361. package/dist/esm/components/table/utils/focus-table-child.d.ts.map +1 -0
  362. package/dist/esm/components/table/utils/focus-table-child.js +11 -0
  363. package/dist/esm/components/table/utils/focus-table-child.js.map +1 -0
  364. package/dist/esm/components/tag/tag-group.d.ts +18 -0
  365. package/dist/esm/components/tag/tag-group.d.ts.map +1 -0
  366. package/dist/esm/components/tag/tag-group.js +21 -0
  367. package/dist/esm/components/tag/tag-group.js.map +1 -0
  368. package/dist/esm/components/tag/tag.d.ts +17 -0
  369. package/dist/esm/components/tag/tag.d.ts.map +1 -0
  370. package/dist/esm/components/tag/tag.js +14 -0
  371. package/dist/esm/components/tag/tag.js.map +1 -0
  372. package/dist/esm/components/text-inputs/text-area.d.ts.map +1 -1
  373. package/dist/esm/components/text-inputs/text-area.js +3 -3
  374. package/dist/esm/components/text-inputs/text-area.js.map +1 -1
  375. package/dist/esm/components/text-inputs/text-field.d.ts.map +1 -1
  376. package/dist/esm/components/text-inputs/text-field.js +3 -3
  377. package/dist/esm/components/text-inputs/text-field.js.map +1 -1
  378. package/dist/esm/components/tooltip/tooltip.d.ts +9 -0
  379. package/dist/esm/components/tooltip/tooltip.d.ts.map +1 -0
  380. package/dist/esm/components/tooltip/tooltip.js +9 -0
  381. package/dist/esm/components/tooltip/tooltip.js.map +1 -0
  382. package/dist/esm/components/types.d.ts +16 -2
  383. package/dist/esm/components/types.d.ts.map +1 -1
  384. package/dist/esm/components/types.js.map +1 -1
  385. package/dist/esm/components/typography/link.d.ts +2 -2
  386. package/dist/esm/components/typography/link.d.ts.map +1 -1
  387. package/dist/esm/components/typography/link.js +3 -2
  388. package/dist/esm/components/typography/link.js.map +1 -1
  389. package/dist/esm/components/typography/types.d.ts +2 -1
  390. package/dist/esm/components/typography/types.d.ts.map +1 -1
  391. package/dist/esm/components/typography/types.js.map +1 -1
  392. package/dist/esm/components/typography/utils.d.ts.map +1 -1
  393. package/dist/esm/components/typography/utils.js +2 -2
  394. package/dist/esm/components/typography/utils.js.map +1 -1
  395. package/dist/esm/components/visually-hidden/visually-hidden.d.ts +17 -0
  396. package/dist/esm/components/visually-hidden/visually-hidden.d.ts.map +1 -0
  397. package/dist/esm/components/visually-hidden/visually-hidden.js +14 -0
  398. package/dist/esm/components/visually-hidden/visually-hidden.js.map +1 -0
  399. package/dist/esm/icons/accounting-document.d.ts +1 -1
  400. package/dist/esm/icons/accounting-document.d.ts.map +1 -1
  401. package/dist/esm/icons/accounting-document.js +4 -2
  402. package/dist/esm/icons/accounting-document.js.map +1 -1
  403. package/dist/esm/icons/add-circle-fill.d.ts +1 -1
  404. package/dist/esm/icons/add-circle-fill.d.ts.map +1 -1
  405. package/dist/esm/icons/add-circle-fill.js +4 -2
  406. package/dist/esm/icons/add-circle-fill.js.map +1 -1
  407. package/dist/esm/icons/add-circle.d.ts +1 -1
  408. package/dist/esm/icons/add-circle.d.ts.map +1 -1
  409. package/dist/esm/icons/add-circle.js +4 -2
  410. package/dist/esm/icons/add-circle.js.map +1 -1
  411. package/dist/esm/icons/add.d.ts +1 -1
  412. package/dist/esm/icons/add.d.ts.map +1 -1
  413. package/dist/esm/icons/add.js +4 -2
  414. package/dist/esm/icons/add.js.map +1 -1
  415. package/dist/esm/icons/alert-triangle.d.ts +1 -1
  416. package/dist/esm/icons/alert-triangle.d.ts.map +1 -1
  417. package/dist/esm/icons/alert-triangle.js +4 -2
  418. package/dist/esm/icons/alert-triangle.js.map +1 -1
  419. package/dist/esm/icons/calculator-alt.d.ts +1 -1
  420. package/dist/esm/icons/calculator-alt.d.ts.map +1 -1
  421. package/dist/esm/icons/calculator-alt.js +4 -2
  422. package/dist/esm/icons/calculator-alt.js.map +1 -1
  423. package/dist/esm/icons/calculator.d.ts +1 -1
  424. package/dist/esm/icons/calculator.d.ts.map +1 -1
  425. package/dist/esm/icons/calculator.js +4 -2
  426. package/dist/esm/icons/calculator.js.map +1 -1
  427. package/dist/esm/icons/checkmark-circle-fill.d.ts +1 -1
  428. package/dist/esm/icons/checkmark-circle-fill.d.ts.map +1 -1
  429. package/dist/esm/icons/checkmark-circle-fill.js +4 -2
  430. package/dist/esm/icons/checkmark-circle-fill.js.map +1 -1
  431. package/dist/esm/icons/checkmark-circle.d.ts +1 -1
  432. package/dist/esm/icons/checkmark-circle.d.ts.map +1 -1
  433. package/dist/esm/icons/checkmark-circle.js +4 -2
  434. package/dist/esm/icons/checkmark-circle.js.map +1 -1
  435. package/dist/esm/icons/checkmark-small.d.ts +1 -1
  436. package/dist/esm/icons/checkmark-small.d.ts.map +1 -1
  437. package/dist/esm/icons/checkmark-small.js +4 -2
  438. package/dist/esm/icons/checkmark-small.js.map +1 -1
  439. package/dist/esm/icons/checkmark.d.ts +1 -1
  440. package/dist/esm/icons/checkmark.d.ts.map +1 -1
  441. package/dist/esm/icons/checkmark.js +4 -2
  442. package/dist/esm/icons/checkmark.js.map +1 -1
  443. package/dist/esm/icons/chevron-down-fill.d.ts +1 -1
  444. package/dist/esm/icons/chevron-down-fill.d.ts.map +1 -1
  445. package/dist/esm/icons/chevron-down-fill.js +4 -2
  446. package/dist/esm/icons/chevron-down-fill.js.map +1 -1
  447. package/dist/esm/icons/error-circle-fill.d.ts +1 -1
  448. package/dist/esm/icons/error-circle-fill.d.ts.map +1 -1
  449. package/dist/esm/icons/error-circle-fill.js +6 -4
  450. package/dist/esm/icons/error-circle-fill.js.map +1 -1
  451. package/dist/esm/icons/index.d.ts +6 -0
  452. package/dist/esm/icons/index.d.ts.map +1 -1
  453. package/dist/esm/icons/index.js +6 -0
  454. package/dist/esm/icons/index.js.map +1 -1
  455. package/dist/esm/icons/info-circle-fill.d.ts +1 -1
  456. package/dist/esm/icons/info-circle-fill.d.ts.map +1 -1
  457. package/dist/esm/icons/info-circle-fill.js +4 -2
  458. package/dist/esm/icons/info-circle-fill.js.map +1 -1
  459. package/dist/esm/icons/minus-small.d.ts +1 -1
  460. package/dist/esm/icons/minus-small.d.ts.map +1 -1
  461. package/dist/esm/icons/minus-small.js +4 -2
  462. package/dist/esm/icons/minus-small.js.map +1 -1
  463. package/dist/esm/icons/minus.d.ts +8 -0
  464. package/dist/esm/icons/minus.d.ts.map +1 -0
  465. package/dist/esm/icons/minus.js +19 -0
  466. package/dist/esm/icons/minus.js.map +1 -0
  467. package/dist/esm/icons/unstable-chevron-left-fill.d.ts +8 -0
  468. package/dist/esm/icons/unstable-chevron-left-fill.d.ts.map +1 -0
  469. package/dist/esm/icons/unstable-chevron-left-fill.js +19 -0
  470. package/dist/esm/icons/unstable-chevron-left-fill.js.map +1 -0
  471. package/dist/esm/icons/unstable-chevron-right-fill.d.ts +8 -0
  472. package/dist/esm/icons/unstable-chevron-right-fill.d.ts.map +1 -0
  473. package/dist/esm/icons/unstable-chevron-right-fill.js +19 -0
  474. package/dist/esm/icons/unstable-chevron-right-fill.js.map +1 -0
  475. package/dist/esm/icons/unstable-close.d.ts +8 -0
  476. package/dist/esm/icons/unstable-close.d.ts.map +1 -0
  477. package/dist/esm/icons/unstable-close.js +19 -0
  478. package/dist/esm/icons/unstable-close.js.map +1 -0
  479. package/dist/esm/icons/unstable-info-circle.d.ts +8 -0
  480. package/dist/esm/icons/unstable-info-circle.d.ts.map +1 -0
  481. package/dist/esm/icons/unstable-info-circle.js +19 -0
  482. package/dist/esm/icons/unstable-info-circle.js.map +1 -0
  483. package/dist/esm/icons/unstable-placeholder.d.ts +8 -0
  484. package/dist/esm/icons/unstable-placeholder.d.ts.map +1 -0
  485. package/dist/esm/icons/unstable-placeholder.js +19 -0
  486. package/dist/esm/icons/unstable-placeholder.js.map +1 -0
  487. package/dist/esm/icons/warning-circle-fill.d.ts +1 -1
  488. package/dist/esm/icons/warning-circle-fill.d.ts.map +1 -1
  489. package/dist/esm/icons/warning-circle-fill.js +4 -2
  490. package/dist/esm/icons/warning-circle-fill.js.map +1 -1
  491. package/dist/esm/index.d.ts +21 -1
  492. package/dist/esm/index.d.ts.map +1 -1
  493. package/dist/esm/index.js +19 -0
  494. package/dist/esm/index.js.map +1 -1
  495. package/dist/esm/utils/style/tone.d.ts +3 -0
  496. package/dist/esm/utils/style/tone.d.ts.map +1 -0
  497. package/dist/esm/utils/style/tone.js +4 -0
  498. package/dist/esm/utils/style/tone.js.map +1 -0
  499. package/dist/esm/utils/style/types.d.ts +2 -0
  500. package/dist/esm/utils/style/types.d.ts.map +1 -0
  501. package/dist/esm/utils/style/types.js +2 -0
  502. package/dist/esm/utils/style/types.js.map +1 -0
  503. package/dist/esm/with-style-props.d.ts +1 -1
  504. package/dist/esm/with-style-props.d.ts.map +1 -1
  505. package/dist/esm/with-style-props.js.map +1 -1
  506. package/dist-styles/styles.css +1 -1
  507. package/package.json +5 -2
@@ -1,29 +1,2 @@
1
- import type { FieldError } from '../../types.js';
2
- /**
3
- * Renders a label for a form field.
4
- * @internal
5
- */
6
- export declare function FormFieldLabel({ children, isRequired, isDisabled, }: {
7
- children: string | undefined;
8
- isRequired: boolean | undefined;
9
- isDisabled?: boolean | undefined;
10
- }): import("react/jsx-runtime").JSX.Element | null;
11
- /**
12
- * Renders a description for a form field.
13
- * @internal
14
- */
15
- export declare function FormFieldDescription({ children }: {
16
- children: string | undefined;
17
- }): import("react/jsx-runtime").JSX.Element | null;
18
- /**
19
- * Renders an error message for a form field.
20
- *
21
- * Must be rendered unconditionally, as it can be populated with browser validation errors
22
- * even if an explicit error message isn't provided.
23
- *
24
- * @internal
25
- */
26
- export declare function FormFieldError({ children }: {
27
- children: FieldError;
28
- }): import("react/jsx-runtime").JSX.Element;
1
+ export {};
29
2
  //# sourceMappingURL=form-field.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-field.d.ts","sourceRoot":"","sources":["../../../../../src/components/internal/form-field/form-field.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAIjD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,UAAU,EACV,UAAU,GACX,EAAE;IACD,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAClC,kDAiBA;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,kDAalF;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,UAAU,CAAA;CAAE,2CAMpE"}
1
+ {"version":3,"file":"form-field.d.ts","sourceRoot":"","sources":["../../../../../src/components/internal/form-field/form-field.tsx"],"names":[],"mappings":""}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.FormFieldLabel = FormFieldLabel;
7
7
  exports.FormFieldDescription = FormFieldDescription;
8
8
  exports.FormFieldError = FormFieldError;
9
+ exports.FormFieldErrorText = FormFieldErrorText;
9
10
  const jsx_runtime_1 = require("react/jsx-runtime");
10
11
  const clsx_1 = __importDefault(require("clsx"));
11
12
  const react_aria_components_1 = require("react-aria-components");
@@ -53,4 +54,13 @@ function renderFieldError(fieldError, validation) {
53
54
  function ErrorMessage({ message }) {
54
55
  return ((0, jsx_runtime_1.jsxs)("div", { className: "cim-form-field-error-message", children: [(0, jsx_runtime_1.jsx)("div", { className: "cim-form-field-error-icon-wrapper", "aria-hidden": true, children: (0, jsx_runtime_1.jsx)(index_js_1.IconAlertTriangle, {}) }), message] }));
55
56
  }
57
+ /**
58
+ * Renders an error message for `errorMessage` slot.
59
+ * Used by `TagGroup` to show error messages, since `FieldError` is not supported as it is not a form field.
60
+ *
61
+ * @internal
62
+ */
63
+ function FormFieldErrorText({ children }) {
64
+ return ((0, jsx_runtime_1.jsx)(react_aria_components_1.Text, { slot: "errorMessage", className: (0, clsx_1.default)('cim-form-field-error', (0, utils_js_1.textStyle)({ variant: 'small', tone: 'critical' })), children: (0, jsx_runtime_1.jsx)(ErrorMessage, { message: children }) }));
65
+ }
56
66
  //# sourceMappingURL=form-field.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-field.js","sourceRoot":"","sources":["../../../../../src/components/internal/form-field/form-field.tsx"],"names":[],"mappings":";;;;;AAiBA,wCAyBC;AAMD,oDAaC;AAUD,wCAMC;;AA7ED,gDAAwB;AAExB,iEAK+B;AAC/B,sDAA4D;AAE5D,sDAAgD;AAChD,wDAAsD;AAEtD;;;GAGG;AACH,SAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,UAAU,EACV,UAAU,GAKX;IACC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,wBAAC,6BAAQ,IACP,SAAS,EAAE,IAAA,cAAI,EAAC,sBAAsB,EAAE,IAAA,oBAAS,EAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,aAE7G,QAAQ,EACR,UAAU,IAAI,CACb,uBAAC,cAAI,IAAC,IAAI,EAAC,UAAU,EAAC,EAAE,EAAC,MAAM,uCAExB,CACR,IACQ,CACZ,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAoC;IACjF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,uBAAC,4BAAO,IACN,IAAI,EAAC,aAAa,EAClB,SAAS,EAAE,IAAA,cAAI,EAAC,4BAA4B,EAAE,IAAA,oBAAS,EAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,YAE7F,QAAQ,GACD,CACX,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAC,EAAE,QAAQ,EAA4B;IACnE,OAAO,CACL,uBAAC,kCAAa,IAAC,SAAS,EAAE,IAAA,cAAI,EAAC,sBAAsB,EAAE,IAAA,oBAAS,EAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,YACtG,CAAC,UAAU,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,GACzC,CACjB,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAsB,EAAE,UAA+B;IAC/E,MAAM,MAAM,GACV,OAAO,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAE1G,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAClC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,uBAAC,YAAY,IAAa,OAAO,EAAE,KAAK,IAArB,KAAK,CAAoB,CAAC,CACpE,CAAC,CAAC,CAAC,CACF,uBAAC,YAAY,IAAC,OAAO,EAAE,MAAM,GAAI,CAClC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,OAAO,EAAuB;IACpD,OAAO,CACL,iCAAK,SAAS,EAAC,8BAA8B,aAC3C,gCAAK,SAAS,EAAC,mCAAmC,iCAChD,uBAAC,4BAAiB,KAAG,GACjB,EACL,OAAO,IACJ,CACP,CAAC;AACJ,CAAC","sourcesContent":["import clsx from 'clsx';\nimport type { ReactNode } from 'react';\nimport {\n Label as RACLabel,\n Text as RACText,\n FieldError as RACFieldError,\n type ValidationResult as RACValidationResult,\n} from 'react-aria-components';\nimport { IconAlertTriangle } from '../../../icons/index.js';\nimport type { FieldError } from '../../types.js';\nimport { Text } from '../../typography/text.js';\nimport { textStyle } from '../../typography/utils.js';\n\n/**\n * Renders a label for a form field.\n * @internal\n */\nexport function FormFieldLabel({\n children,\n isRequired,\n isDisabled,\n}: {\n children: string | undefined;\n isRequired: boolean | undefined;\n isDisabled?: boolean | undefined;\n}) {\n if (!children) {\n return null;\n }\n\n return (\n <RACLabel\n className={clsx('cim-form-field-label', textStyle({ variant: 'medium', tone: isDisabled ? 'muted' : 'base' }))}\n >\n {children}\n {isRequired && (\n <Text tone=\"critical\" as=\"span\" aria-hidden>\n *\n </Text>\n )}\n </RACLabel>\n );\n}\n\n/**\n * Renders a description for a form field.\n * @internal\n */\nexport function FormFieldDescription({ children }: { children: string | undefined }) {\n if (!children) {\n return null;\n }\n\n return (\n <RACText\n slot=\"description\"\n className={clsx('cim-form-field-description', textStyle({ variant: 'small', tone: 'subtle' }))}\n >\n {children}\n </RACText>\n );\n}\n\n/**\n * Renders an error message for a form field.\n *\n * Must be rendered unconditionally, as it can be populated with browser validation errors\n * even if an explicit error message isn't provided.\n *\n * @internal\n */\nexport function FormFieldError({ children }: { children: FieldError }) {\n return (\n <RACFieldError className={clsx('cim-form-field-error', textStyle({ variant: 'small', tone: 'critical' }))}>\n {(validation) => renderFieldError(children, validation)}\n </RACFieldError>\n );\n}\n\nfunction renderFieldError(fieldError: FieldError, validation: RACValidationResult): string | ReactNode | undefined {\n const errors =\n typeof fieldError === 'function' ? fieldError(validation) : (fieldError ?? validation.validationErrors);\n\n if (!errors || !errors.length) {\n return null;\n }\n\n return typeof errors === 'object' ? (\n errors.map((error) => <ErrorMessage key={error} message={error} />)\n ) : (\n <ErrorMessage message={errors} />\n );\n}\n\nfunction ErrorMessage({ message }: { message: string }) {\n return (\n <div className=\"cim-form-field-error-message\">\n <div className=\"cim-form-field-error-icon-wrapper\" aria-hidden>\n <IconAlertTriangle />\n </div>\n {message}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"form-field.js","sourceRoot":"","sources":["../../../../../src/components/internal/form-field/form-field.tsx"],"names":[],"mappings":"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","sourcesContent":["import clsx from 'clsx';\nimport type { ReactNode } from 'react';\nimport {\n FieldError as RACFieldError,\n Label as RACLabel,\n Text as RACText,\n type ValidationResult as RACValidationResult,\n} from 'react-aria-components';\nimport { IconAlertTriangle } from '../../../icons/index.js';\nimport type { FieldError } from '../../types.js';\nimport { Text } from '../../typography/text.js';\nimport { textStyle } from '../../typography/utils.js';\n\n/**\n * Renders a label for a form field.\n * @internal\n */\nexport function FormFieldLabel({\n children,\n isRequired,\n isDisabled,\n}: {\n children: string | undefined;\n isRequired: boolean | undefined;\n isDisabled?: boolean | undefined;\n}) {\n if (!children) {\n return null;\n }\n\n return (\n <RACLabel\n className={clsx('cim-form-field-label', textStyle({ variant: 'medium', tone: isDisabled ? 'muted' : 'base' }))}\n >\n {children}\n {isRequired && (\n <Text tone=\"critical\" as=\"span\" aria-hidden>\n *\n </Text>\n )}\n </RACLabel>\n );\n}\n\n/**\n * Renders a description for a form field.\n * @internal\n */\nexport function FormFieldDescription({ children }: { children: string | undefined }) {\n if (!children) {\n return null;\n }\n\n return (\n <RACText\n slot=\"description\"\n className={clsx('cim-form-field-description', textStyle({ variant: 'small', tone: 'subtle' }))}\n >\n {children}\n </RACText>\n );\n}\n\n/**\n * Renders an error message for a form field.\n *\n * Must be rendered unconditionally, as it can be populated with browser validation errors\n * even if an explicit error message isn't provided.\n *\n * @internal\n */\nexport function FormFieldError({ children }: { children: FieldError }) {\n return (\n <RACFieldError className={clsx('cim-form-field-error', textStyle({ variant: 'small', tone: 'critical' }))}>\n {(validation) => renderFieldError(children, validation)}\n </RACFieldError>\n );\n}\n\nfunction renderFieldError(fieldError: FieldError, validation: RACValidationResult): string | ReactNode | undefined {\n const errors =\n typeof fieldError === 'function' ? fieldError(validation) : (fieldError ?? validation.validationErrors);\n\n if (!errors || !errors.length) {\n return null;\n }\n\n return typeof errors === 'object' ? (\n errors.map((error) => <ErrorMessage key={error} message={error} />)\n ) : (\n <ErrorMessage message={errors} />\n );\n}\n\nfunction ErrorMessage({ message }: { message: string }) {\n return (\n <div className=\"cim-form-field-error-message\">\n <div className=\"cim-form-field-error-icon-wrapper\" aria-hidden>\n <IconAlertTriangle />\n </div>\n {message}\n </div>\n );\n}\n\n/**\n * Renders an error message for `errorMessage` slot.\n * Used by `TagGroup` to show error messages, since `FieldError` is not supported as it is not a form field.\n *\n * @internal\n */\nexport function FormFieldErrorText({ children }: { children: string }) {\n return (\n <RACText\n slot=\"errorMessage\"\n className={clsx('cim-form-field-error', textStyle({ variant: 'small', tone: 'critical' }))}\n >\n <ErrorMessage message={children} />\n </RACText>\n );\n}\n"]}
@@ -1,18 +1,2 @@
1
- import type { ReactNode, Ref } from 'react';
2
- import type { CommonProps, LabellableProps } from '../../types.js';
3
- interface SpinnerProps extends CommonProps, Omit<LabellableProps, 'label'> {
4
- children?: ReactNode;
5
- spinnerRef?: Ref<HTMLDivElement>;
6
- size: string;
7
- }
8
- /**
9
- * Displays a variable-size loading indicator to represent an ongoing operation.
10
- *
11
- * @internal
12
- */
13
- declare function Spinner({ children, spinnerRef, size, UNSAFE_className, UNSAFE_style, ...props }: SpinnerProps): import("react/jsx-runtime").JSX.Element;
14
- declare namespace Spinner {
15
- var displayName: string;
16
- }
17
1
  export { Spinner as InternalSpinner };
18
2
  //# sourceMappingURL=spinner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../../../../src/components/internal/spinner/spinner.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEnE,UAAU,YAAa,SAAQ,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC;IACxE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,iBAAS,OAAO,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,2CAuBtG;kBAvBQ,OAAO;;;AA2BhB,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../../../../src/components/internal/spinner/spinner.tsx"],"names":[],"mappings":"AA2CA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { ReactNode } from 'react';
2
+ import { type ModalOverlayProps as RACModalOverlayProps } from 'react-aria-components';
3
+ import type { CommonProps } from '../types.js';
4
+ export interface UNSTABLE_ModalProps extends CommonProps, Pick<RACModalOverlayProps, 'isDismissable'> {
5
+ children: ReactNode;
6
+ title?: string;
7
+ size?: 'small' | 'medium' | 'large';
8
+ /** Whether the modal is open (controlled). */
9
+ isOpen?: boolean;
10
+ /** Whether the modal is open by default (uncontrolled). */
11
+ defaultOpen?: boolean;
12
+ /** Handler that is called when the modal's open state changes. */
13
+ onOpenChange?: (isOpen: boolean) => void;
14
+ }
15
+ export declare function UNSTABLE_DialogTrigger({ children }: {
16
+ children: ReactNode;
17
+ }): import("react/jsx-runtime").JSX.Element;
18
+ export declare function UNSTABLE_Modal({ children, title, size, UNSAFE_className, UNSAFE_style, isDismissable, isOpen, defaultOpen, onOpenChange, ...props }: UNSTABLE_ModalProps): import("react/jsx-runtime").JSX.Element;
19
+ //# sourceMappingURL=modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../../../src/components/modal/modal.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAML,KAAK,iBAAiB,IAAI,oBAAoB,EAC/C,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,MAAM,WAAW,mBAAoB,SAAQ,WAAW,EAAE,IAAI,CAAC,oBAAoB,EAAE,eAAe,CAAC;IACnG,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,8CAA8C;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kEAAkE;IAClE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C;AAED,wBAAgB,sBAAsB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAE3E;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,KAAK,EACL,IAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,aAAoB,EACpB,MAAM,EACN,WAAW,EACX,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,mBAAmB,2CAsCrB"}
@@ -0,0 +1,25 @@
1
+ 'use client';
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.UNSTABLE_DialogTrigger = UNSTABLE_DialogTrigger;
8
+ exports.UNSTABLE_Modal = UNSTABLE_Modal;
9
+ const jsx_runtime_1 = require("react/jsx-runtime");
10
+ const clsx_1 = __importDefault(require("clsx"));
11
+ const react_aria_components_1 = require("react-aria-components");
12
+ const index_js_1 = require("../../icons/index.js");
13
+ const icon_button_js_1 = require("../button/icon-button.js");
14
+ const utils_js_1 = require("../typography/utils.js");
15
+ function UNSTABLE_DialogTrigger({ children }) {
16
+ return (0, jsx_runtime_1.jsx)(react_aria_components_1.DialogTrigger, { children: children });
17
+ }
18
+ function UNSTABLE_Modal({ children, title, size = 'medium', UNSAFE_className, UNSAFE_style, isDismissable = true, isOpen, defaultOpen, onOpenChange, ...props }) {
19
+ return ((0, jsx_runtime_1.jsx)(react_aria_components_1.ModalOverlay, { className: "cim-modal-overlay", isDismissable: isDismissable, isOpen: isOpen, defaultOpen: defaultOpen, onOpenChange: onOpenChange, "data-cim-style-root": true, children: (0, jsx_runtime_1.jsx)(react_aria_components_1.Modal, { className: (0, clsx_1.default)('cim-modal', UNSAFE_className, {
20
+ 'cim-modal-small': size === 'small',
21
+ 'cim-modal-medium': size === 'medium',
22
+ 'cim-modal-large': size === 'large',
23
+ }), children: (0, jsx_runtime_1.jsxs)(react_aria_components_1.Dialog, { ...props, className: (0, clsx_1.default)('cim-modal-dialog'), style: UNSAFE_style, children: [(0, jsx_runtime_1.jsxs)("div", { className: "cim-modal-header", children: [title && ((0, jsx_runtime_1.jsx)(react_aria_components_1.Heading, { slot: "title", className: (0, clsx_1.default)('cim-modal-title', (0, utils_js_1.textStyle)({ variant: 'title-3' })), children: title })), (0, jsx_runtime_1.jsx)(icon_button_js_1.IconButton, { slot: "close", icon: (0, jsx_runtime_1.jsx)(index_js_1.UNSTABLE_IconClose, {}), variant: "tertiary", size: "small", "aria-label": "Close modal", UNSAFE_className: "cim-modal-close-button" })] }), (0, jsx_runtime_1.jsx)("div", { className: "cim-modal-content", children: children })] }) }) }));
24
+ }
25
+ //# sourceMappingURL=modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal.js","sourceRoot":"","sources":["../../../../src/components/modal/modal.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;AA6Bb,wDAEC;AAED,wCAiDC;;AAhFD,gDAAwB;AAExB,iEAO+B;AAC/B,mDAA0D;AAC1D,6DAAsD;AAEtD,qDAAmD;AAcnD,SAAgB,sBAAsB,CAAC,EAAE,QAAQ,EAA2B;IAC1E,OAAO,uBAAC,qCAAgB,cAAE,QAAQ,GAAoB,CAAC;AACzD,CAAC;AAED,SAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,KAAK,EACL,IAAI,GAAG,QAAQ,EACf,gBAAgB,EAChB,YAAY,EACZ,aAAa,GAAG,IAAI,EACpB,MAAM,EACN,WAAW,EACX,YAAY,EACZ,GAAG,KAAK,EACY;IACpB,OAAO,CACL,uBAAC,oCAAe,IACd,SAAS,EAAC,mBAAmB,EAC7B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,yCAG1B,uBAAC,6BAAQ,IACP,SAAS,EAAE,IAAA,cAAI,EAAC,WAAW,EAAE,gBAAgB,EAAE;gBAC7C,iBAAiB,EAAE,IAAI,KAAK,OAAO;gBACnC,kBAAkB,EAAE,IAAI,KAAK,QAAQ;gBACrC,iBAAiB,EAAE,IAAI,KAAK,OAAO;aACpC,CAAC,YAEF,wBAAC,8BAAS,OAAK,KAAK,EAAE,SAAS,EAAE,IAAA,cAAI,EAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,YAAY,aAC5E,iCAAK,SAAS,EAAC,kBAAkB,aAC9B,KAAK,IAAI,CACR,uBAAC,+BAAU,IAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAE,IAAA,cAAI,EAAC,iBAAiB,EAAE,IAAA,oBAAS,EAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,YAC3F,KAAK,GACK,CACd,EACD,uBAAC,2BAAU,IACT,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,uBAAC,6BAAkB,KAAG,EAC5B,OAAO,EAAC,UAAU,EAClB,IAAI,EAAC,OAAO,gBACD,aAAa,EACxB,gBAAgB,EAAC,wBAAwB,GACzC,IACE,EACN,gCAAK,SAAS,EAAC,mBAAmB,YAAE,QAAQ,GAAO,IACzC,GACH,GACK,CACnB,CAAC;AACJ,CAAC","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport type { ReactNode } from 'react';\nimport {\n Heading as RACHeading,\n Dialog as RACDialog,\n DialogTrigger as RACDialogTrigger,\n Modal as RACModal,\n ModalOverlay as RACModalOverlay,\n type ModalOverlayProps as RACModalOverlayProps,\n} from 'react-aria-components';\nimport { UNSTABLE_IconClose } from '../../icons/index.js';\nimport { IconButton } from '../button/icon-button.js';\nimport type { CommonProps } from '../types.js';\nimport { textStyle } from '../typography/utils.js';\n\nexport interface UNSTABLE_ModalProps extends CommonProps, Pick<RACModalOverlayProps, 'isDismissable'> {\n children: ReactNode;\n title?: string;\n size?: 'small' | 'medium' | 'large';\n /** Whether the modal is open (controlled). */\n isOpen?: boolean;\n /** Whether the modal is open by default (uncontrolled). */\n defaultOpen?: boolean;\n /** Handler that is called when the modal's open state changes. */\n onOpenChange?: (isOpen: boolean) => void;\n}\n\nexport function UNSTABLE_DialogTrigger({ children }: { children: ReactNode }) {\n return <RACDialogTrigger>{children}</RACDialogTrigger>;\n}\n\nexport function UNSTABLE_Modal({\n children,\n title,\n size = 'medium',\n UNSAFE_className,\n UNSAFE_style,\n isDismissable = true,\n isOpen,\n defaultOpen,\n onOpenChange,\n ...props\n}: UNSTABLE_ModalProps) {\n return (\n <RACModalOverlay\n className=\"cim-modal-overlay\"\n isDismissable={isDismissable}\n isOpen={isOpen}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n data-cim-style-root\n >\n <RACModal\n className={clsx('cim-modal', UNSAFE_className, {\n 'cim-modal-small': size === 'small',\n 'cim-modal-medium': size === 'medium',\n 'cim-modal-large': size === 'large',\n })}\n >\n <RACDialog {...props} className={clsx('cim-modal-dialog')} style={UNSAFE_style}>\n <div className=\"cim-modal-header\">\n {title && (\n <RACHeading slot=\"title\" className={clsx('cim-modal-title', textStyle({ variant: 'title-3' }))}>\n {title}\n </RACHeading>\n )}\n <IconButton\n slot=\"close\"\n icon={<UNSTABLE_IconClose />}\n variant=\"tertiary\"\n size=\"small\"\n aria-label=\"Close modal\"\n UNSAFE_className=\"cim-modal-close-button\"\n />\n </div>\n <div className=\"cim-modal-content\">{children}</div>\n </RACDialog>\n </RACModal>\n </RACModalOverlay>\n );\n}\n"]}
@@ -0,0 +1,23 @@
1
+ import type { ReactNode } from 'react';
2
+ import { type LinkProps as RACLinkProps } from 'react-aria-components';
3
+ import type { CommonProps, LabellableProps, NavigationProps, StringLikeChildren, WithRequired } from '../types.js';
4
+ export interface UNSTABLE_NavTabsProps extends CommonProps, Omit<LabellableProps, 'label'> {
5
+ children: ReactNode;
6
+ /**
7
+ * Whether to display the navigation tabs horizontally or vertically.
8
+ * @default 'horizontal'
9
+ */
10
+ orientation?: 'horizontal' | 'vertical';
11
+ }
12
+ export interface UNSTABLE_NavTabItemProps extends Omit<CommonProps, 'id'>, WithRequired<NavigationProps, 'href'>, Pick<RACLinkProps, 'children' | 'isDisabled' | 'onHoverStart' | 'onHoverEnd'> {
13
+ children: StringLikeChildren;
14
+ isCurrent?: boolean;
15
+ }
16
+ /** Renders a single navigation tab within `NavTabs`. */
17
+ export declare function UNSTABLE_NavTabItem({ children, isCurrent, UNSAFE_className, UNSAFE_style, ...props }: UNSTABLE_NavTabItemProps): import("react/jsx-runtime").JSX.Element;
18
+ /**
19
+ * Displays a list of navigation tabs to help users navigate through a website.
20
+ */
21
+ declare const _UNSTABLE_NavTabs: (props: UNSTABLE_NavTabsProps & import("react").RefAttributes<HTMLDivElement> & import("../../with-style-props.js").StyleProps) => import("react").JSX.Element | null;
22
+ export { _UNSTABLE_NavTabs as UNSTABLE_NavTabs };
23
+ //# sourceMappingURL=nav-tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nav-tabs.d.ts","sourceRoot":"","sources":["../../../../src/components/nav-tabs/nav-tabs.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,OAAO,CAAC;AACrD,OAAO,EAAmB,KAAK,SAAS,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGxF,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAInH,MAAM,WAAW,qBAAsB,SAAQ,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC;IACxF,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CACzC;AAmBD,MAAM,WAAW,wBACf,SAAQ,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,EAC7B,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,EACrC,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,YAAY,GAAG,cAAc,GAAG,YAAY,CAAC;IAC/E,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wDAAwD;AACxD,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,SAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,wBAAwB,2CAW1B;AAED;;GAEG;AACH,QAAA,MAAM,iBAAiB,uKAA0D,CAAC;AAElF,OAAO,EAAE,iBAAiB,IAAI,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,27 @@
1
+ 'use client';
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.UNSTABLE_NavTabs = void 0;
8
+ exports.UNSTABLE_NavTabItem = UNSTABLE_NavTabItem;
9
+ const jsx_runtime_1 = require("react/jsx-runtime");
10
+ const clsx_1 = __importDefault(require("clsx"));
11
+ const react_aria_components_1 = require("react-aria-components");
12
+ const forward_ref_js_1 = require("../../forward-ref.js");
13
+ const with_style_props_js_1 = require("../../with-style-props.js");
14
+ const utils_js_1 = require("../typography/utils.js");
15
+ function UNSTABLE_NavTabs({ children, orientation = 'horizontal', UNSAFE_className, UNSAFE_style, ...props }, ref) {
16
+ return ((0, jsx_runtime_1.jsx)("div", { ...props, ref: ref, className: (0, clsx_1.default)('cim-nav-tabs', UNSAFE_className), style: UNSAFE_style, "data-orientation": orientation, children: children }));
17
+ }
18
+ /** Renders a single navigation tab within `NavTabs`. */
19
+ function UNSTABLE_NavTabItem({ children, isCurrent = false, UNSAFE_className, UNSAFE_style, ...props }) {
20
+ return ((0, jsx_runtime_1.jsx)(react_aria_components_1.Link, { ...props, className: (0, clsx_1.default)('cim-nav-tab-item', (0, utils_js_1.textStyle)({ variant: 'body' }), UNSAFE_className), style: UNSAFE_style, "aria-current": isCurrent ? 'page' : undefined, children: children }));
21
+ }
22
+ /**
23
+ * Displays a list of navigation tabs to help users navigate through a website.
24
+ */
25
+ const _UNSTABLE_NavTabs = (0, with_style_props_js_1.withStyleProps)((0, forward_ref_js_1.forwardRef)(UNSTABLE_NavTabs), 'NavTabs');
26
+ exports.UNSTABLE_NavTabs = _UNSTABLE_NavTabs;
27
+ //# sourceMappingURL=nav-tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nav-tabs.js","sourceRoot":"","sources":["../../../../src/components/nav-tabs/nav-tabs.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;AA8Cb,kDAiBC;;AA7DD,gDAAwB;AAExB,iEAAwF;AACxF,yDAAkD;AAClD,mEAA2D;AAE3D,qDAAmD;AAYnD,SAAS,gBAAgB,CACvB,EAAE,QAAQ,EAAE,WAAW,GAAG,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,KAAK,EAAyB,EACzG,GAAiC;IAEjC,OAAO,CACL,mCACM,KAAK,EACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAA,cAAI,EAAC,cAAc,EAAE,gBAAgB,CAAC,EACjD,KAAK,EAAE,YAAY,sBACD,WAAW,YAE5B,QAAQ,GACL,CACP,CAAC;AACJ,CAAC;AAUD,wDAAwD;AACxD,SAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,SAAS,GAAG,KAAK,EACjB,gBAAgB,EAChB,YAAY,EACZ,GAAG,KAAK,EACiB;IACzB,OAAO,CACL,uBAAC,4BAAO,OACF,KAAK,EACT,SAAS,EAAE,IAAA,cAAI,EAAC,kBAAkB,EAAE,IAAA,oBAAS,EAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,gBAAgB,CAAC,EACrF,KAAK,EAAE,YAAY,kBACL,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,YAE3C,QAAQ,GACD,CACX,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,iBAAiB,GAAG,IAAA,oCAAc,EAAC,IAAA,2BAAU,EAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC,CAAC;AAEpD,6CAAgB","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport type { ReactNode, ForwardedRef } from 'react';\nimport { Link as RACLink, type LinkProps as RACLinkProps } from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport type { CommonProps, LabellableProps, NavigationProps, StringLikeChildren, WithRequired } from '../types.js';\nimport { textStyle } from '../typography/utils.js';\n\n// TODO: maybe add a `currentHref` prop that would be used to decide which NavTabItem is marked as current\nexport interface UNSTABLE_NavTabsProps extends CommonProps, Omit<LabellableProps, 'label'> {\n children: ReactNode;\n /**\n * Whether to display the navigation tabs horizontally or vertically.\n * @default 'horizontal'\n */\n orientation?: 'horizontal' | 'vertical';\n}\n\nfunction UNSTABLE_NavTabs(\n { children, orientation = 'horizontal', UNSAFE_className, UNSAFE_style, ...props }: UNSTABLE_NavTabsProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n return (\n <div\n {...props}\n ref={ref}\n className={clsx('cim-nav-tabs', UNSAFE_className)}\n style={UNSAFE_style}\n data-orientation={orientation}\n >\n {children}\n </div>\n );\n}\n\nexport interface UNSTABLE_NavTabItemProps\n extends Omit<CommonProps, 'id'>,\n WithRequired<NavigationProps, 'href'>,\n Pick<RACLinkProps, 'children' | 'isDisabled' | 'onHoverStart' | 'onHoverEnd'> {\n children: StringLikeChildren;\n isCurrent?: boolean;\n}\n\n/** Renders a single navigation tab within `NavTabs`. */\nexport function UNSTABLE_NavTabItem({\n children,\n isCurrent = false,\n UNSAFE_className,\n UNSAFE_style,\n ...props\n}: UNSTABLE_NavTabItemProps) {\n return (\n <RACLink\n {...props}\n className={clsx('cim-nav-tab-item', textStyle({ variant: 'body' }), UNSAFE_className)}\n style={UNSAFE_style}\n aria-current={isCurrent ? 'page' : undefined}\n >\n {children}\n </RACLink>\n );\n}\n\n/**\n * Displays a list of navigation tabs to help users navigate through a website.\n */\nconst _UNSTABLE_NavTabs = withStyleProps(forwardRef(UNSTABLE_NavTabs), 'NavTabs');\n\nexport { _UNSTABLE_NavTabs as UNSTABLE_NavTabs };\n"]}
@@ -0,0 +1,10 @@
1
+ import { type NumberFieldProps as RACNumberFieldProps } from 'react-aria-components';
2
+ import type { CommonProps, FieldWithPlaceholderProps } from '../types.js';
3
+ export interface UNSTABLE_NumberFieldProps extends CommonProps, FieldWithPlaceholderProps<number>, Pick<RACNumberFieldProps, 'value' | 'defaultValue' | 'onChange' | 'isDisabled' | 'isRequired' | 'isInvalid' | 'isReadOnly' | 'name' | 'autoFocus' | 'minValue' | 'maxValue' | 'step' | 'formatOptions' | 'onFocus' | 'onBlur'> {
4
+ }
5
+ /**
6
+ * Allows users to enter a number with a keyboard or increment/decrement buttons.
7
+ */
8
+ declare const _NumberField: (props: UNSTABLE_NumberFieldProps & import("react").RefAttributes<HTMLDivElement> & import("../../with-style-props.js").StyleProps) => import("react").JSX.Element | null;
9
+ export { _NumberField as UNSTABLE_NumberField };
10
+ //# sourceMappingURL=number-field.d.ts.map
@@ -0,0 +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,yBACf,SAAQ,WAAW,EACjB,yBAAyB,CAAC,MAAM,CAAC,EACjC,IAAI,CACF,mBAAmB,EACjB,OAAO,GACP,cAAc,GACd,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,MAAM,GACN,WAAW,GACX,UAAU,GACV,UAAU,GACV,MAAM,GACN,eAAe,GACf,SAAS,GACT,QAAQ,CACX;CAAG;AA8CR;;GAEG;AACH,QAAA,MAAM,YAAY,2KAAkE,CAAC;AAErF,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,32 @@
1
+ 'use client';
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.UNSTABLE_NumberField = void 0;
8
+ const jsx_runtime_1 = require("react/jsx-runtime");
9
+ const clsx_1 = __importDefault(require("clsx"));
10
+ const react_1 = require("react");
11
+ const react_aria_components_1 = require("react-aria-components");
12
+ const forward_ref_js_1 = require("../../forward-ref.js");
13
+ const index_js_1 = require("../../icons/index.js");
14
+ const with_style_props_js_1 = require("../../with-style-props.js");
15
+ const icon_button_js_1 = require("../button/icon-button.js");
16
+ const form_field_js_1 = require("../internal/form-field/form-field.js");
17
+ const utils_js_1 = require("../typography/utils.js");
18
+ function UNSTABLE_NumberField({ label, description, error: errorMessage, placeholder, UNSAFE_className, UNSAFE_style, ...props }, ref) {
19
+ const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;
20
+ (0, react_1.useEffect)(() => {
21
+ if (!label && !ariaLabel && !ariaLabelledBy) {
22
+ console.warn('NumberField requires one of label / aria-label / aria-labelledby for accessibility');
23
+ }
24
+ }, [label, ariaLabel, ariaLabelledBy]);
25
+ return ((0, jsx_runtime_1.jsxs)(react_aria_components_1.NumberField, { ...props, ref: ref, className: (0, clsx_1.default)('cim-number-field', UNSAFE_className), style: UNSAFE_style, children: [(0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldLabel, { isRequired: props.isRequired, isDisabled: props.isDisabled, children: label }), (0, jsx_runtime_1.jsxs)(react_aria_components_1.Group, { className: "cim-number-field-input-group", children: [(0, jsx_runtime_1.jsx)(react_aria_components_1.Input, { className: (0, clsx_1.default)('cim-number-field-input', (0, utils_js_1.textStyle)({ variant: 'medium' })), placeholder: placeholder }), (0, jsx_runtime_1.jsxs)("div", { className: "cim-number-field-spinner", children: [(0, jsx_runtime_1.jsx)(icon_button_js_1.IconButton, { slot: "decrement", icon: (0, jsx_runtime_1.jsx)(index_js_1.IconMinus, {}), "aria-label": "Decrement", variant: "tertiary" }), (0, jsx_runtime_1.jsx)("div", { className: "cim-number-field-spinner-separator" }), (0, jsx_runtime_1.jsx)(icon_button_js_1.IconButton, { slot: "increment", icon: (0, jsx_runtime_1.jsx)(index_js_1.IconAdd, {}), "aria-label": "Increment", variant: "tertiary" })] })] }), (0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldError, { children: errorMessage }), (0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldDescription, { children: description })] }));
26
+ }
27
+ /**
28
+ * Allows users to enter a number with a keyboard or increment/decrement buttons.
29
+ */
30
+ const _NumberField = (0, with_style_props_js_1.withStyleProps)((0, forward_ref_js_1.forwardRef)(UNSTABLE_NumberField), 'NumberField');
31
+ exports.UNSTABLE_NumberField = _NumberField;
32
+ //# sourceMappingURL=number-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-field.js","sourceRoot":"","sources":["../../../../src/components/number-field/number-field.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;AAEb,gDAAwB;AACxB,iCAAqD;AACrD,iEAK+B;AAC/B,yDAAkD;AAClD,mDAA0D;AAC1D,mEAA2D;AAC3D,6DAAsD;AACtD,wEAA4G;AAE5G,qDAAmD;AAwBnD,SAAS,oBAAoB,CAC3B,EACE,KAAK,EACL,WAAW,EACX,KAAK,EAAE,YAAY,EACnB,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,GAAG,KAAK,EACkB,EAC5B,GAAiC;IAEjC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAE7E,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC;QACrG,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAEvC,OAAO,CACL,wBAAC,mCAAc,OAAK,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAA,cAAI,EAAC,kBAAkB,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,YAAY,aAC7G,uBAAC,8BAAc,IAAC,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,YACvE,KAAK,GACS,EACjB,wBAAC,6BAAQ,IAAC,SAAS,EAAC,8BAA8B,aAChD,uBAAC,6BAAQ,IACP,SAAS,EAAE,IAAA,cAAI,EAAC,wBAAwB,EAAE,IAAA,oBAAS,EAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,EAC3E,WAAW,EAAE,WAAW,GACxB,EACF,iCAAK,SAAS,EAAC,0BAA0B,aAEvC,uBAAC,2BAAU,IAAC,IAAI,EAAC,WAAW,EAAC,IAAI,EAAE,uBAAC,oBAAS,KAAG,gBAAa,WAAW,EAAC,OAAO,EAAC,UAAU,GAAG,EAC9F,gCAAK,SAAS,EAAC,oCAAoC,GAAG,EAEtD,uBAAC,2BAAU,IAAC,IAAI,EAAC,WAAW,EAAC,IAAI,EAAE,uBAAC,kBAAO,KAAG,gBAAa,WAAW,EAAC,OAAO,EAAC,UAAU,GAAG,IACxF,IACG,EACX,uBAAC,8BAAc,cAAE,YAAY,GAAkB,EAC/C,uBAAC,oCAAoB,cAAE,WAAW,GAAwB,IAC3C,CAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,YAAY,GAAG,IAAA,oCAAc,EAAC,IAAA,2BAAU,EAAC,oBAAoB,CAAC,EAAE,aAAa,CAAC,CAAC;AAE5D,4CAAoB","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, IconMinus } 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 UNSTABLE_NumberFieldProps\n extends CommonProps,\n FieldWithPlaceholderProps<number>,\n Pick<\n RACNumberFieldProps,\n | 'value'\n | 'defaultValue'\n | 'onChange'\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\nfunction UNSTABLE_NumberField(\n {\n label,\n description,\n error: errorMessage,\n placeholder,\n UNSAFE_className,\n UNSAFE_style,\n ...props\n }: UNSTABLE_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 {...props} ref={ref} className={clsx('cim-number-field', UNSAFE_className)} style={UNSAFE_style}>\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={<IconMinus />} aria-label=\"Decrement\" variant=\"tertiary\" />\n <div className=\"cim-number-field-spinner-separator\" />\n {/* TODO: i18n */}\n <IconButton slot=\"increment\" icon={<IconAdd />} aria-label=\"Increment\" variant=\"tertiary\" />\n </div>\n </RACGroup>\n <FormFieldError>{errorMessage}</FormFieldError>\n <FormFieldDescription>{description}</FormFieldDescription>\n </RACNumberField>\n );\n}\n\n/**\n * Allows users to enter a number with a keyboard or increment/decrement buttons.\n */\nconst _NumberField = withStyleProps(forwardRef(UNSTABLE_NumberField), 'NumberField');\n\nexport { _NumberField as UNSTABLE_NumberField };\n"]}
@@ -0,0 +1,14 @@
1
+ export interface PaginationProps {
2
+ /** The current page number. */
3
+ value: number;
4
+ /** The total number of pages. */
5
+ count: number;
6
+ /** The accessibility label for the pagination navigation, must be unique to the page. */
7
+ 'aria-label': string;
8
+ /** A callback function that is called when the page number changes. */
9
+ onPageChange?: (page: number) => void;
10
+ /** A function that returns a URL for a given page number. */
11
+ href?: (page: number) => string;
12
+ }
13
+ export declare function UNSTABLE_Pagination({ value, count, onPageChange, href, 'aria-label': ariaLabel }: PaginationProps): import("react/jsx-runtime").JSX.Element;
14
+ //# sourceMappingURL=pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../../src/components/pagination/pagination.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,yFAAyF;IACzF,YAAY,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;AAED,wBAAgB,mBAAmB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,eAAe,2CA+DjH"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UNSTABLE_Pagination = UNSTABLE_Pagination;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const index_js_1 = require("../../icons/index.js");
6
+ const button_js_1 = require("../button/button.js");
7
+ const icon_button_js_1 = require("../button/icon-button.js");
8
+ const icon_link_button_js_1 = require("../button/icon-link-button.js");
9
+ const link_button_js_1 = require("../button/link-button.js");
10
+ function UNSTABLE_Pagination({ value, count, onPageChange, href, 'aria-label': ariaLabel }) {
11
+ const visiblePages = getVisiblePages(value, count);
12
+ const previousButtonProps = {
13
+ // TODO: icon doesn't look optically centered, see: https://www.figma.com/design/JVWmaCjDeOlrYAkLlJD5gr?node-id=10376-1487#1082340181
14
+ icon: (0, jsx_runtime_1.jsx)(index_js_1.UNSTABLE_IconChevronLeftFill, {}),
15
+ isDisabled: value === 1,
16
+ // TODO: internationalization
17
+ 'aria-label': 'Previous',
18
+ };
19
+ const nextButtonProps = {
20
+ // TODO: icon doesn't look optically centered, see: https://www.figma.com/design/JVWmaCjDeOlrYAkLlJD5gr?node-id=10376-1487#1082340181
21
+ icon: (0, jsx_runtime_1.jsx)(index_js_1.UNSTABLE_IconChevronRightFill, {}),
22
+ isDisabled: value === count,
23
+ // TODO: internationalization
24
+ 'aria-label': 'Next',
25
+ };
26
+ return ((0, jsx_runtime_1.jsx)("nav", { className: "cim-pagination", "aria-label": ariaLabel, children: (0, jsx_runtime_1.jsxs)("ul", { className: "cim-pagination-list", children: [(0, jsx_runtime_1.jsx)("li", { children: href ? ((0, jsx_runtime_1.jsx)(icon_link_button_js_1.IconLinkButton, { ...previousButtonProps, href: href?.(value - 1) })) : ((0, jsx_runtime_1.jsx)(icon_button_js_1.IconButton, { ...previousButtonProps, onPress: () => onPageChange?.(value - 1) })) }), visiblePages.map((page) => {
27
+ const isCurrentPage = typeof page === 'number' && page === value;
28
+ const pageNumber = typeof page === 'number' ? page : page.page;
29
+ const pageButtonProps = {
30
+ // TODO: internationalization
31
+ // TODO: review if "Current page" is needed once we put `aria-current` on the `button`/`link`
32
+ 'aria-label': isCurrentPage ? `Current page, page ${pageNumber}` : `Go to page ${pageNumber}`,
33
+ children: typeof page === 'number' ? page : '…',
34
+ };
35
+ return (
36
+ // TODO: Put `aria-current` on the `button`/`link` instead of the `li` for better accessibility/screen reader support
37
+ // RAC Button doesn't support `aria-current` as of now
38
+ (0, jsx_runtime_1.jsx)("li", { "aria-current": isCurrentPage && href != null ? 'page' : isCurrentPage, children: href ? ((0, jsx_runtime_1.jsx)(link_button_js_1.LinkButton, { href: href?.(pageNumber), ...pageButtonProps })) : ((0, jsx_runtime_1.jsx)(button_js_1.Button, { onPress: () => onPageChange?.(pageNumber), ...pageButtonProps })) }, pageNumber));
39
+ }), (0, jsx_runtime_1.jsx)("li", { children: href ? ((0, jsx_runtime_1.jsx)(icon_link_button_js_1.IconLinkButton, { ...nextButtonProps, href: href?.(value + 1) })) : ((0, jsx_runtime_1.jsx)(icon_button_js_1.IconButton, { ...nextButtonProps, onPress: () => onPageChange?.(value + 1) })) })] }) }));
40
+ }
41
+ function getVisiblePages(currentPage, totalPages) {
42
+ if (totalPages <= 7) {
43
+ return Array.from({ length: totalPages }, (_, index) => index + 1);
44
+ }
45
+ if (currentPage <= 4) {
46
+ return [1, 2, 3, 4, { type: 'ellipsis', page: 5 }, totalPages - 1, totalPages];
47
+ }
48
+ if (currentPage >= totalPages - 3) {
49
+ return [
50
+ 1,
51
+ 2,
52
+ { type: 'ellipsis', page: totalPages - 4 },
53
+ totalPages - 3,
54
+ totalPages - 2,
55
+ totalPages - 1,
56
+ totalPages,
57
+ ];
58
+ }
59
+ return [
60
+ 1,
61
+ { type: 'ellipsis', page: currentPage - 2 },
62
+ currentPage - 1,
63
+ currentPage,
64
+ currentPage + 1,
65
+ { type: 'ellipsis', page: currentPage + 2 },
66
+ totalPages,
67
+ ];
68
+ }
69
+ //# sourceMappingURL=pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../../src/components/pagination/pagination.tsx"],"names":[],"mappings":"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","sourcesContent":["import { UNSTABLE_IconChevronLeftFill, UNSTABLE_IconChevronRightFill } from '../../icons/index.js';\nimport { Button } from '../button/button.js';\nimport { IconButton } from '../button/icon-button.js';\nimport { IconLinkButton } from '../button/icon-link-button.js';\nimport { LinkButton } from '../button/link-button.js';\n\nexport interface PaginationProps {\n /** The current page number. */\n value: number;\n /** The total number of pages. */\n count: number;\n /** The accessibility label for the pagination navigation, must be unique to the page. */\n 'aria-label': string;\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\nexport function UNSTABLE_Pagination({ value, count, onPageChange, href, 'aria-label': ariaLabel }: PaginationProps) {\n const visiblePages = getVisiblePages(value, count);\n\n const previousButtonProps = {\n // TODO: icon doesn't look optically centered, see: https://www.figma.com/design/JVWmaCjDeOlrYAkLlJD5gr?node-id=10376-1487#1082340181\n icon: <UNSTABLE_IconChevronLeftFill />,\n isDisabled: value === 1,\n // TODO: internationalization\n 'aria-label': 'Previous',\n };\n\n const nextButtonProps = {\n // TODO: icon doesn't look optically centered, see: https://www.figma.com/design/JVWmaCjDeOlrYAkLlJD5gr?node-id=10376-1487#1082340181\n icon: <UNSTABLE_IconChevronRightFill />,\n isDisabled: value === count,\n // TODO: internationalization\n 'aria-label': 'Next',\n };\n\n return (\n <nav className=\"cim-pagination\" aria-label={ariaLabel}>\n <ul className=\"cim-pagination-list\">\n <li>\n {href ? (\n <IconLinkButton {...previousButtonProps} href={href?.(value - 1)} />\n ) : (\n <IconButton {...previousButtonProps} onPress={() => onPageChange?.(value - 1)} />\n )}\n </li>\n\n {visiblePages.map((page) => {\n const isCurrentPage = typeof page === 'number' && page === value;\n const pageNumber = typeof page === 'number' ? page : page.page;\n const pageButtonProps = {\n // TODO: internationalization\n // TODO: review if \"Current page\" is needed once we put `aria-current` on the `button`/`link`\n 'aria-label': isCurrentPage ? `Current page, page ${pageNumber}` : `Go to page ${pageNumber}`,\n children: typeof page === 'number' ? page : '…',\n };\n\n return (\n // TODO: Put `aria-current` on the `button`/`link` instead of the `li` for better accessibility/screen reader support\n // RAC Button doesn't support `aria-current` as of now\n <li key={pageNumber} aria-current={isCurrentPage && href != null ? 'page' : isCurrentPage}>\n {href ? (\n <LinkButton href={href?.(pageNumber)} {...pageButtonProps} />\n ) : (\n <Button onPress={() => onPageChange?.(pageNumber)} {...pageButtonProps} />\n )}\n </li>\n );\n })}\n\n <li>\n {href ? (\n <IconLinkButton {...nextButtonProps} href={href?.(value + 1)} />\n ) : (\n <IconButton {...nextButtonProps} onPress={() => onPageChange?.(value + 1)} />\n )}\n </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,6 +1,6 @@
1
1
  import { type RadioProps as RACRadioProps } from 'react-aria-components';
2
2
  import type { CommonProps, LabellableProps, StringLikeChildren } from '../types.js';
3
- export interface RadioProps extends CommonProps, Omit<LabellableProps, 'label'>, Pick<RACRadioProps, 'value' | 'isDisabled'> {
3
+ export interface RadioProps extends CommonProps, Omit<LabellableProps, 'label'>, Pick<RACRadioProps, 'value' | 'isDisabled' | 'autoFocus'> {
4
4
  /** The label rendered next to the radio. */
5
5
  children?: StringLikeChildren;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["../../../../src/components/radio/radio.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAqB,KAAK,UAAU,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG5F,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGpF,MAAM,WAAW,UACf,SAAQ,WAAW,EACjB,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,EAC9B,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,YAAY,CAAC;IAC7C,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AA8BD;;;;GAIG;AACH,QAAA,MAAM,MAAM,8JAA6C,CAAC;AAE1D,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["../../../../src/components/radio/radio.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAqB,KAAK,UAAU,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG5F,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGpF,MAAM,WAAW,UACf,SAAQ,WAAW,EACjB,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,EAC9B,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,YAAY,GAAG,WAAW,CAAC;IAC3D,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AA8BD;;;;GAIG;AACH,QAAA,MAAM,MAAM,8JAA6C,CAAC;AAE1D,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"radio.js","sourceRoot":"","sources":["../../../../src/components/radio/radio.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;AAEb,gDAAwB;AACxB,iCAAqD;AACrD,iEAA4F;AAC5F,yDAAkD;AAClD,mEAA2D;AAE3D,mDAA6C;AAU7C,SAAS,KAAK,CACZ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,KAAK,EAAc,EAClE,GAAmC;IAEnC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAE7E,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;QAClG,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAE1C,OAAO,CACL,wBAAC,6BAAQ,OAAK,KAAK,EAAE,SAAS,EAAE,IAAA,cAAI,EAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,aAChG,gCAAK,SAAS,EAAC,0BAA0B,YACvC,gCAAK,SAAS,EAAC,kBAAkB,YAC/B,gCAAK,SAAS,EAAC,wBAAwB,GAAG,GACtC,GACF,EACL,QAAQ,IAAI,CACX,uBAAC,cAAI,IAAC,EAAE,EAAC,MAAM,EAAC,OAAO,EAAC,MAAM,YAC3B,QAAQ,GACJ,CACR,IACQ,CACZ,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,MAAM,GAAG,IAAA,oCAAc,EAAC,IAAA,2BAAU,EAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;AAEvC,uBAAK","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { useEffect, type ForwardedRef } from 'react';\nimport { Radio as RACRadio, type RadioProps as RACRadioProps } from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport type { CommonProps, LabellableProps, StringLikeChildren } from '../types.js';\nimport { Text } from '../typography/text.js';\n\nexport interface RadioProps\n extends CommonProps,\n Omit<LabellableProps, 'label'>,\n Pick<RACRadioProps, 'value' | 'isDisabled'> {\n /** The label rendered next to the radio. */\n children?: StringLikeChildren;\n}\n\nfunction Radio(\n { children, UNSAFE_className, UNSAFE_style, ...props }: RadioProps,\n ref: ForwardedRef<HTMLLabelElement>,\n) {\n const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;\n\n useEffect(() => {\n if (!children && !ariaLabel && !ariaLabelledBy) {\n console.warn('Radio requires one of children / aria-label / aria-labelledby for accessibility');\n }\n }, [children, ariaLabel, ariaLabelledBy]);\n\n return (\n <RACRadio {...props} className={clsx('cim-radio', UNSAFE_className)} style={UNSAFE_style} ref={ref}>\n <div className=\"cim-radio-toggle-wrapper\">\n <div className=\"cim-radio-toggle\">\n <div className=\"cim-radio-toggle-inner\" />\n </div>\n </div>\n {children && (\n <Text as=\"span\" variant=\"body\">\n {children}\n </Text>\n )}\n </RACRadio>\n );\n}\n\n/**\n * Renders a single option within `RadioGroup`.\n *\n * See [radio group usage guidelines](https://ui.cimpress.io/components/radio-group/).\n */\nconst _Radio = withStyleProps(forwardRef(Radio), 'Radio');\n\nexport { _Radio as Radio };\n"]}
1
+ {"version":3,"file":"radio.js","sourceRoot":"","sources":["../../../../src/components/radio/radio.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;AAEb,gDAAwB;AACxB,iCAAqD;AACrD,iEAA4F;AAC5F,yDAAkD;AAClD,mEAA2D;AAE3D,mDAA6C;AAU7C,SAAS,KAAK,CACZ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,KAAK,EAAc,EAClE,GAAmC;IAEnC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAE7E,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;QAClG,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAE1C,OAAO,CACL,wBAAC,6BAAQ,OAAK,KAAK,EAAE,SAAS,EAAE,IAAA,cAAI,EAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,aAChG,gCAAK,SAAS,EAAC,0BAA0B,YACvC,gCAAK,SAAS,EAAC,kBAAkB,YAC/B,gCAAK,SAAS,EAAC,wBAAwB,GAAG,GACtC,GACF,EACL,QAAQ,IAAI,CACX,uBAAC,cAAI,IAAC,EAAE,EAAC,MAAM,EAAC,OAAO,EAAC,MAAM,YAC3B,QAAQ,GACJ,CACR,IACQ,CACZ,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,MAAM,GAAG,IAAA,oCAAc,EAAC,IAAA,2BAAU,EAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;AAEvC,uBAAK","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { useEffect, type ForwardedRef } from 'react';\nimport { Radio as RACRadio, type RadioProps as RACRadioProps } from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport type { CommonProps, LabellableProps, StringLikeChildren } from '../types.js';\nimport { Text } from '../typography/text.js';\n\nexport interface RadioProps\n extends CommonProps,\n Omit<LabellableProps, 'label'>,\n Pick<RACRadioProps, 'value' | 'isDisabled' | 'autoFocus'> {\n /** The label rendered next to the radio. */\n children?: StringLikeChildren;\n}\n\nfunction Radio(\n { children, UNSAFE_className, UNSAFE_style, ...props }: RadioProps,\n ref: ForwardedRef<HTMLLabelElement>,\n) {\n const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;\n\n useEffect(() => {\n if (!children && !ariaLabel && !ariaLabelledBy) {\n console.warn('Radio requires one of children / aria-label / aria-labelledby for accessibility');\n }\n }, [children, ariaLabel, ariaLabelledBy]);\n\n return (\n <RACRadio {...props} className={clsx('cim-radio', UNSAFE_className)} style={UNSAFE_style} ref={ref}>\n <div className=\"cim-radio-toggle-wrapper\">\n <div className=\"cim-radio-toggle\">\n <div className=\"cim-radio-toggle-inner\" />\n </div>\n </div>\n {children && (\n <Text as=\"span\" variant=\"body\">\n {children}\n </Text>\n )}\n </RACRadio>\n );\n}\n\n/**\n * Renders a single option within `RadioGroup`.\n *\n * See [radio group usage guidelines](https://ui.cimpress.io/components/radio-group/).\n */\nconst _Radio = withStyleProps(forwardRef(Radio), 'Radio');\n\nexport { _Radio as Radio };\n"]}
@@ -0,0 +1,13 @@
1
+ import { type ReactNode } from 'react';
2
+ export interface TableFocus {
3
+ focusedRowKey: string;
4
+ focusedColumnKey: string;
5
+ childFocusStrategy: ChildFocusStrategy;
6
+ setFocus: (rowKey: string, columnKey: string, childFocusStrategy?: ChildFocusStrategy) => void;
7
+ }
8
+ export type ChildFocusStrategy = 'first' | 'last';
9
+ export declare function TableFocusProvider({ children }: {
10
+ children: ReactNode;
11
+ }): import("react/jsx-runtime").JSX.Element;
12
+ export declare function useTableFocus(): TableFocus;
13
+ //# sourceMappingURL=focus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focus.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/contexts/focus.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAyC,MAAM,OAAO,CAAC;AAE7F,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAChG;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,MAAM,CAAC;AAIlD,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAwCvE;AAGD,wBAAgB,aAAa,IAAI,UAAU,CAO1C"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TableFocusProvider = TableFocusProvider;
4
+ exports.useTableFocus = useTableFocus;
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const react_1 = require("react");
7
+ const TableFocusContext = (0, react_1.createContext)(null);
8
+ function TableFocusProvider({ children }) {
9
+ // When table focus is updated, we want to trigger a re-render,
10
+ // but we also want immediate access to the new values.
11
+ // Hence why they are stored as both a ref and a state.
12
+ const focusedRowKeyRef = (0, react_1.useRef)('');
13
+ const [_focusedRowKey, setFocusedRowKey] = (0, react_1.useState)('');
14
+ const focusedColumnKeyRef = (0, react_1.useRef)('');
15
+ const [_focusedColumnKey, setFocusedColumnKey] = (0, react_1.useState)('');
16
+ const childFocusStrategyRef = (0, react_1.useRef)('first');
17
+ const [_childFocusStrategy, setChildFocusStrategy] = (0, react_1.useState)('first');
18
+ const tableFocus = (0, react_1.useMemo)(() => ({
19
+ get focusedRowKey() {
20
+ return focusedRowKeyRef.current;
21
+ },
22
+ get focusedColumnKey() {
23
+ return focusedColumnKeyRef.current;
24
+ },
25
+ get childFocusStrategy() {
26
+ return childFocusStrategyRef.current;
27
+ },
28
+ setFocus: (rowKey, columnKey, childFocusStrategy) => {
29
+ focusedRowKeyRef.current = rowKey;
30
+ setFocusedRowKey(rowKey);
31
+ focusedColumnKeyRef.current = columnKey;
32
+ setFocusedColumnKey(columnKey);
33
+ if (childFocusStrategy) {
34
+ childFocusStrategyRef.current = childFocusStrategy;
35
+ setChildFocusStrategy(childFocusStrategy);
36
+ }
37
+ },
38
+ }),
39
+ // eslint-disable-next-line react-hooks/exhaustive-deps
40
+ [_focusedRowKey, _focusedColumnKey, _childFocusStrategy]);
41
+ return (0, jsx_runtime_1.jsx)(TableFocusContext.Provider, { value: tableFocus, children: children });
42
+ }
43
+ // eslint-disable-next-line react-refresh/only-export-components
44
+ function useTableFocus() {
45
+ const tableFocus = (0, react_1.useContext)(TableFocusContext);
46
+ if (!tableFocus) {
47
+ throw new Error('Cannot use table focus outside of a table');
48
+ }
49
+ return tableFocus;
50
+ }
51
+ //# sourceMappingURL=focus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focus.js","sourceRoot":"","sources":["../../../../../src/components/table/contexts/focus.tsx"],"names":[],"mappings":";;AAaA,gDAwCC;AAGD,sCAOC;;AA/DD,iCAA6F;AAW7F,MAAM,iBAAiB,GAAG,IAAA,qBAAa,EAAoB,IAAI,CAAC,CAAC;AAEjE,SAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAA2B;IACtE,+DAA+D;IAC/D,uDAAuD;IACvD,uDAAuD;IACvD,MAAM,gBAAgB,GAAG,IAAA,cAAM,EAAS,EAAE,CAAC,CAAC;IAC5C,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAAS,EAAE,CAAC,CAAC;IAChE,MAAM,mBAAmB,GAAG,IAAA,cAAM,EAAS,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,GAAG,IAAA,gBAAQ,EAAS,EAAE,CAAC,CAAC;IACtE,MAAM,qBAAqB,GAAG,IAAA,cAAM,EAAqB,OAAO,CAAC,CAAC;IAClE,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,GAAG,IAAA,gBAAQ,EAAqB,OAAO,CAAC,CAAC;IAE3F,MAAM,UAAU,GAAe,IAAA,eAAO,EACpC,GAAG,EAAE,CAAC,CAAC;QACL,IAAI,aAAa;YACf,OAAO,gBAAgB,CAAC,OAAO,CAAC;QAClC,CAAC;QACD,IAAI,gBAAgB;YAClB,OAAO,mBAAmB,CAAC,OAAO,CAAC;QACrC,CAAC;QACD,IAAI,kBAAkB;YACpB,OAAO,qBAAqB,CAAC,OAAO,CAAC;QACvC,CAAC;QACD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE;YAClD,gBAAgB,CAAC,OAAO,GAAG,MAAM,CAAC;YAClC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAEzB,mBAAmB,CAAC,OAAO,GAAG,SAAS,CAAC;YACxC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAE/B,IAAI,kBAAkB,EAAE,CAAC;gBACvB,qBAAqB,CAAC,OAAO,GAAG,kBAAkB,CAAC;gBACnD,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;KACF,CAAC;IACF,uDAAuD;IACvD,CAAC,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,CACzD,CAAC;IAEF,OAAO,uBAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,UAAU,YAAG,QAAQ,GAA8B,CAAC;AAChG,CAAC;AAED,gEAAgE;AAChE,SAAgB,aAAa;IAC3B,MAAM,UAAU,GAAG,IAAA,kBAAU,EAAC,iBAAiB,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC","sourcesContent":["import { createContext, type ReactNode, useContext, useMemo, useRef, useState } from 'react';\n\nexport interface TableFocus {\n focusedRowKey: string;\n focusedColumnKey: string;\n childFocusStrategy: ChildFocusStrategy;\n setFocus: (rowKey: string, columnKey: string, childFocusStrategy?: ChildFocusStrategy) => void;\n}\n\nexport type ChildFocusStrategy = 'first' | 'last';\n\nconst TableFocusContext = createContext<TableFocus | null>(null);\n\nexport function TableFocusProvider({ children }: { children: ReactNode }) {\n // When table focus is updated, we want to trigger a re-render,\n // but we also want immediate access to the new values.\n // Hence why they are stored as both a ref and a state.\n const focusedRowKeyRef = useRef<string>('');\n const [_focusedRowKey, setFocusedRowKey] = useState<string>('');\n const focusedColumnKeyRef = useRef<string>('');\n const [_focusedColumnKey, setFocusedColumnKey] = useState<string>('');\n const childFocusStrategyRef = useRef<ChildFocusStrategy>('first');\n const [_childFocusStrategy, setChildFocusStrategy] = useState<ChildFocusStrategy>('first');\n\n const tableFocus: TableFocus = useMemo(\n () => ({\n get focusedRowKey() {\n return focusedRowKeyRef.current;\n },\n get focusedColumnKey() {\n return focusedColumnKeyRef.current;\n },\n get childFocusStrategy() {\n return childFocusStrategyRef.current;\n },\n setFocus: (rowKey, columnKey, childFocusStrategy) => {\n focusedRowKeyRef.current = rowKey;\n setFocusedRowKey(rowKey);\n\n focusedColumnKeyRef.current = columnKey;\n setFocusedColumnKey(columnKey);\n\n if (childFocusStrategy) {\n childFocusStrategyRef.current = childFocusStrategy;\n setChildFocusStrategy(childFocusStrategy);\n }\n },\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [_focusedRowKey, _focusedColumnKey, _childFocusStrategy],\n );\n\n return <TableFocusContext.Provider value={tableFocus}>{children}</TableFocusContext.Provider>;\n}\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport function useTableFocus(): TableFocus {\n const tableFocus = useContext(TableFocusContext);\n if (!tableFocus) {\n throw new Error('Cannot use table focus outside of a table');\n }\n\n return tableFocus;\n}\n"]}
@@ -0,0 +1,10 @@
1
+ import { type ReactNode } from 'react';
2
+ export interface TableRowState {
3
+ rowKey: string;
4
+ }
5
+ export declare function TableRowStateProvider({ children, rowKey }: {
6
+ children: ReactNode;
7
+ rowKey: string;
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ export declare function useTableRowState(): TableRowState;
10
+ //# sourceMappingURL=row-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-state.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/contexts/row-state.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAuB,MAAM,OAAO,CAAC;AAE3E,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAID,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,2CASlG;AAGD,wBAAgB,gBAAgB,IAAI,aAAa,CAOhD"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TableRowStateProvider = TableRowStateProvider;
4
+ exports.useTableRowState = useTableRowState;
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const react_1 = require("react");
7
+ const TableRowStateContext = (0, react_1.createContext)(null);
8
+ function TableRowStateProvider({ children, rowKey }) {
9
+ const tableRowState = (0, react_1.useMemo)(() => ({
10
+ rowKey,
11
+ }), [rowKey]);
12
+ return (0, jsx_runtime_1.jsx)(TableRowStateContext.Provider, { value: tableRowState, children: children });
13
+ }
14
+ // eslint-disable-next-line react-refresh/only-export-components
15
+ function useTableRowState() {
16
+ const tableRowState = (0, react_1.useContext)(TableRowStateContext);
17
+ if (!tableRowState) {
18
+ throw new Error('Cannot use table row state outside of a table row');
19
+ }
20
+ return tableRowState;
21
+ }
22
+ //# sourceMappingURL=row-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-state.js","sourceRoot":"","sources":["../../../../../src/components/table/contexts/row-state.tsx"],"names":[],"mappings":";;AAQA,sDASC;AAGD,4CAOC;;AA3BD,iCAA2E;AAM3E,MAAM,oBAAoB,GAAG,IAAA,qBAAa,EAAuB,IAAI,CAAC,CAAC;AAEvE,SAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAA2C;IACjG,MAAM,aAAa,GAAkB,IAAA,eAAO,EAC1C,GAAG,EAAE,CAAC,CAAC;QACL,MAAM;KACP,CAAC,EACF,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,OAAO,uBAAC,oBAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,aAAa,YAAG,QAAQ,GAAiC,CAAC;AACzG,CAAC;AAED,gEAAgE;AAChE,SAAgB,gBAAgB;IAC9B,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,oBAAoB,CAAC,CAAC;IACvD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC","sourcesContent":["import { createContext, type ReactNode, useContext, useMemo } from 'react';\n\nexport interface TableRowState {\n rowKey: string;\n}\n\nconst TableRowStateContext = createContext<TableRowState | null>(null);\n\nexport function TableRowStateProvider({ children, rowKey }: { children: ReactNode; rowKey: string }) {\n const tableRowState: TableRowState = useMemo(\n () => ({\n rowKey,\n }),\n [rowKey],\n );\n\n return <TableRowStateContext.Provider value={tableRowState}>{children}</TableRowStateContext.Provider>;\n}\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport function useTableRowState(): TableRowState {\n const tableRowState = useContext(TableRowStateContext);\n if (!tableRowState) {\n throw new Error('Cannot use table row state outside of a table row');\n }\n\n return tableRowState;\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import { type RefObject } from 'react';
2
+ import type { NativeElementProps } from '../../types.js';
3
+ export interface UseTableCell {
4
+ cellProps: NativeElementProps<HTMLTableCellElement>;
5
+ }
6
+ export declare function useTableCell(ref: RefObject<HTMLTableCellElement>, rowKey: string, columnKey: string): UseTableCell;
7
+ //# sourceMappingURL=use-table-cell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-table-cell.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/hooks/use-table-cell.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC3G,OAAO,KAAK,EAAoB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAI3E,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;CACrD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,CA6HlH"}