@payfit/unity-components 1.0.0 → 1.1.1-beta.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 (258) hide show
  1. package/dist/esm/components/action-bar/ActionBar.d.ts +153 -0
  2. package/dist/esm/components/action-bar/ActionBar.js +173 -0
  3. package/dist/esm/components/action-bar/parts/ActionBarAction.d.ts +44 -0
  4. package/dist/esm/components/action-bar/parts/ActionBarAction.js +45 -0
  5. package/dist/esm/components/action-bar/parts/ActionBarRoot.d.ts +44 -0
  6. package/dist/esm/components/action-bar/parts/ActionBarRoot.js +46 -0
  7. package/dist/esm/components/actionable/Actionable.js +20 -21
  8. package/dist/esm/components/alert/Alert.d.ts +1 -1
  9. package/dist/esm/components/alert/Alert.js +1 -1
  10. package/dist/esm/components/alert/parts/AlertActions.d.ts +1 -1
  11. package/dist/esm/components/alert/parts/AlertActions.js +1 -1
  12. package/dist/esm/components/alert/parts/AlertContent.d.ts +1 -1
  13. package/dist/esm/components/alert/parts/AlertTitle.d.ts +1 -1
  14. package/dist/esm/components/anchor/Anchor.js +1 -1
  15. package/dist/esm/components/app-layout/AppLayout.js +6 -6
  16. package/dist/esm/components/app-menu/parts/AppMenuFooter.js +30 -30
  17. package/dist/esm/components/app-menu/parts/AppMenuNavContent.js +1 -1
  18. package/dist/esm/components/autocomplete/Autocomplete.d.ts +1 -1
  19. package/dist/esm/components/autocomplete/Autocomplete.js +14 -14
  20. package/dist/esm/components/autocomplete/parts/AutocompleteClearButton.js +5 -5
  21. package/dist/esm/components/autocomplete/parts/AutocompleteItem.d.ts +1 -1
  22. package/dist/esm/components/autocomplete/parts/AutocompleteItem.js +4 -4
  23. package/dist/esm/components/autocomplete/parts/AutocompleteItemGroup.d.ts +1 -1
  24. package/dist/esm/components/autocomplete/parts/AutocompleteItemGroup.js +12 -12
  25. package/dist/esm/components/autocomplete/parts/AutocompletePanel.d.ts +1 -1
  26. package/dist/esm/components/autocomplete/parts/AutocompletePanel.js +7 -7
  27. package/dist/esm/components/avatar/Avatar.d.ts +1 -1
  28. package/dist/esm/components/avatar/Avatar.js +15 -16
  29. package/dist/esm/components/avatar/Avatar.variants.js +1 -1
  30. package/dist/esm/components/avatar/parts/AvatarFallback.d.ts +1 -1
  31. package/dist/esm/components/avatar/parts/AvatarFallback.js +9 -10
  32. package/dist/esm/components/avatar/parts/AvatarImage.js +12 -12
  33. package/dist/esm/components/avatar/parts/AvatarPair.d.ts +1 -1
  34. package/dist/esm/components/avatar/parts/AvatarPair.js +4 -4
  35. package/dist/esm/components/badge/Badge.d.ts +1 -1
  36. package/dist/esm/components/badge/Badge.js +31 -35
  37. package/dist/esm/components/bottom-sheet/BottomSheet.d.ts +1 -1
  38. package/dist/esm/components/bottom-sheet/BottomSheet.js +14 -14
  39. package/dist/esm/components/bottom-sheet/parts/BottomSheetContent.d.ts +1 -1
  40. package/dist/esm/components/bottom-sheet/parts/BottomSheetContent.js +4 -4
  41. package/dist/esm/components/bottom-sheet/parts/BottomSheetDragIndicator.js +11 -11
  42. package/dist/esm/components/bottom-sheet/parts/BottomSheetFooter.d.ts +1 -1
  43. package/dist/esm/components/bottom-sheet/parts/BottomSheetFooter.js +4 -4
  44. package/dist/esm/components/bottom-sheet/parts/BottomSheetHeader.d.ts +4 -4
  45. package/dist/esm/components/bottom-sheet/parts/BottomSheetHeader.js +6 -6
  46. package/dist/esm/components/breadcrumbs/Breadcrumbs.context.d.ts +1 -1
  47. package/dist/esm/components/breadcrumbs/Breadcrumbs.d.ts +1 -1
  48. package/dist/esm/components/breadcrumbs/Breadcrumbs.variant.js +3 -3
  49. package/dist/esm/components/button/Button.js +33 -41
  50. package/dist/esm/components/button/Button.variants.d.ts +1 -1
  51. package/dist/esm/components/button/Button.variants.js +1 -1
  52. package/dist/esm/components/checkbox/Checkbox.js +53 -49
  53. package/dist/esm/components/checkbox/Checkbox.variants.js +1 -1
  54. package/dist/esm/components/checkbox/parts/CheckboxIndicator.js +1 -1
  55. package/dist/esm/components/checkbox-field/CheckboxField.js +39 -34
  56. package/dist/esm/components/checkbox-group/CheckboxGroup.d.ts +1 -1
  57. package/dist/esm/components/checkbox-group/CheckboxGroup.js +12 -12
  58. package/dist/esm/components/code/Code.d.ts +7 -0
  59. package/dist/esm/components/code/copyToClipboard.d.ts +1 -0
  60. package/dist/esm/components/collapsible/Collapsible.d.ts +1 -1
  61. package/dist/esm/components/collapsible/Collapsible.js +20 -13
  62. package/dist/esm/components/collapsible/parts/CollapsibleContent.js +16 -7
  63. package/dist/esm/components/collapsible/parts/CollapsibleTitle.js +23 -23
  64. package/dist/esm/components/data-table/DataTable.d.ts +48 -17
  65. package/dist/esm/components/data-table/DataTable.js +104 -60
  66. package/dist/esm/components/data-table/mocks/employee-columns.d.ts +4 -0
  67. package/dist/esm/components/data-table/parts/ColumnSortHeader.js +13 -13
  68. package/dist/esm/components/data-table/parts/DataTableBulkActions.d.ts +55 -0
  69. package/dist/esm/components/data-table/parts/DataTableBulkActions.js +65 -0
  70. package/dist/esm/components/data-table/parts/DataTableRoot.d.ts +37 -0
  71. package/dist/esm/components/data-table/parts/DataTableRoot.js +13 -0
  72. package/dist/esm/components/date-calendar/DateCalendar.js +8 -8
  73. package/dist/esm/components/date-picker/DatePicker.js +9 -9
  74. package/dist/esm/components/date-picker/parts/DateInput.js +7 -7
  75. package/dist/esm/components/date-picker-field/DatePickerField.js +12 -12
  76. package/dist/esm/components/definition-tooltip/DefinitionTooltip.js +4 -4
  77. package/dist/esm/components/dialog/Dialog.d.ts +1 -1
  78. package/dist/esm/components/dialog/Dialog.js +9 -9
  79. package/dist/esm/components/dialog/parts/DialogActions/DialogButton.d.ts +1 -1
  80. package/dist/esm/components/fieldset/Fieldset.d.ts +1 -1
  81. package/dist/esm/components/fieldset/Fieldset.js +4 -4
  82. package/dist/esm/components/flex/Flex.d.ts +1 -1
  83. package/dist/esm/components/flex/Flex.variants.js +189 -207
  84. package/dist/esm/components/flex/FlexItem.d.ts +1 -1
  85. package/dist/esm/components/form/Form.context.d.ts +1 -4
  86. package/dist/esm/components/form/Form.context.js +11 -13
  87. package/dist/esm/components/form/Form.d.ts +13 -11
  88. package/dist/esm/components/form/Form.js +45 -48
  89. package/dist/esm/components/form-field/FormField.context.d.ts +1 -6
  90. package/dist/esm/components/form-field/FormField.context.js +39 -47
  91. package/dist/esm/components/form-field/FormField.d.ts +0 -2
  92. package/dist/esm/components/form-field/FormField.js +37 -42
  93. package/dist/esm/components/form-field/parts/FormContextualLink.js +17 -17
  94. package/dist/esm/components/form-field/parts/FormControl.js +39 -35
  95. package/dist/esm/components/form-field/parts/FormFeedbackText.js +15 -17
  96. package/dist/esm/components/full-page-loader/FullPageLoader.js +7 -7
  97. package/dist/esm/components/funnel-layout/FunnelLayout.d.ts +3 -3
  98. package/dist/esm/components/funnel-layout/FunnelLayout.js +62 -111
  99. package/dist/esm/components/funnel-layout/parts/FunnelBody.d.ts +2 -2
  100. package/dist/esm/components/funnel-layout/parts/FunnelBody.js +4 -4
  101. package/dist/esm/components/funnel-layout/parts/FunnelPage.d.ts +2 -2
  102. package/dist/esm/components/funnel-layout/parts/FunnelPage.js +14 -15
  103. package/dist/esm/components/funnel-layout/parts/FunnelPageAction.d.ts +1 -1
  104. package/dist/esm/components/funnel-layout/parts/FunnelPageActions.d.ts +2 -2
  105. package/dist/esm/components/funnel-layout/parts/FunnelPageActions.js +13 -13
  106. package/dist/esm/components/funnel-layout/parts/FunnelPageContent.d.ts +2 -2
  107. package/dist/esm/components/funnel-layout/parts/FunnelPageContent.js +1 -1
  108. package/dist/esm/components/funnel-layout/parts/FunnelPageFooter.d.ts +2 -2
  109. package/dist/esm/components/funnel-layout/parts/FunnelPageFooter.js +9 -10
  110. package/dist/esm/components/funnel-layout/parts/FunnelPageHeader.d.ts +4 -4
  111. package/dist/esm/components/funnel-layout/parts/FunnelPageHeader.js +4 -4
  112. package/dist/esm/components/funnel-layout/parts/FunnelProgressBar.d.ts +1 -1
  113. package/dist/esm/components/funnel-layout/parts/FunnelProgressBar.js +4 -4
  114. package/dist/esm/components/funnel-layout/parts/FunnelSidebar.d.ts +4 -4
  115. package/dist/esm/components/funnel-layout/parts/FunnelSidebar.js +9 -10
  116. package/dist/esm/components/funnel-layout/parts/FunnelTopBar.d.ts +2 -2
  117. package/dist/esm/components/funnel-layout/parts/FunnelTopBar.js +9 -10
  118. package/dist/esm/components/grid/Grid.d.ts +1 -1
  119. package/dist/esm/components/grid/Grid.variants.d.ts +1 -1
  120. package/dist/esm/components/grid/Grid.variants.js +3 -3
  121. package/dist/esm/components/grid/GridItem.d.ts +1 -1
  122. package/dist/esm/components/icon/Icon.d.ts +1 -1
  123. package/dist/esm/components/icon/Icon.js +1 -1
  124. package/dist/esm/components/icon-button/CircularIconButton.d.ts +1 -1
  125. package/dist/esm/components/icon-button/CircularIconButton.js +21 -20
  126. package/dist/esm/components/icon-button/IconButton.variants.d.ts +1 -1
  127. package/dist/esm/components/icon-button/IconButton.variants.js +2 -2
  128. package/dist/esm/components/input/Input.js +6 -6
  129. package/dist/esm/components/label/Label.js +13 -13
  130. package/dist/esm/components/link/Link.d.ts +11 -1
  131. package/dist/esm/components/link/Link.js +32 -30
  132. package/dist/esm/components/link/Link.variants.d.ts +141 -30
  133. package/dist/esm/components/link/Link.variants.js +44 -16
  134. package/dist/esm/components/menu/parts/MenuItem.js +8 -8
  135. package/dist/esm/components/multi-select/parts/MultiSelectButton.js +14 -14
  136. package/dist/esm/components/multi-select/parts/MultiSelectOptGroup.js +5 -5
  137. package/dist/esm/components/multi-select/parts/MultiSelectOption.js +3 -3
  138. package/dist/esm/components/multi-select/parts/MultiSelectPopover.js +1 -1
  139. package/dist/esm/components/multi-select-field/MultiSelectField.js +6 -6
  140. package/dist/esm/components/nav/parts/NavGroup.js +28 -29
  141. package/dist/esm/components/nav/parts/NavItem.d.ts +1 -1
  142. package/dist/esm/components/nav/parts/NavItem.js +13 -14
  143. package/dist/esm/components/number-field/NumberField.js +14 -14
  144. package/dist/esm/components/number-input/NumberInput.d.ts +2 -2
  145. package/dist/esm/components/number-input/NumberInput.js +37 -37
  146. package/dist/esm/components/page/Page.d.ts +1 -1
  147. package/dist/esm/components/page/Page.js +5 -5
  148. package/dist/esm/components/page/parts/PageHeader.d.ts +1 -1
  149. package/dist/esm/components/page/parts/PageHeader.js +4 -4
  150. package/dist/esm/components/pagination/Pagination.d.ts +1 -1
  151. package/dist/esm/components/pagination/Pagination.js +16 -16
  152. package/dist/esm/components/pagination/parts/PaginationEllipsis.d.ts +1 -1
  153. package/dist/esm/components/pagination/parts/PaginationEllipsis.js +8 -8
  154. package/dist/esm/components/pagination/parts/PaginationJumpDialog.js +9 -9
  155. package/dist/esm/components/pagination/parts/PaginationLink.d.ts +1 -1
  156. package/dist/esm/components/pagination/parts/PaginationLink.js +6 -6
  157. package/dist/esm/components/payfit-brand/PayFitBrand.js +4 -4
  158. package/dist/esm/components/pill/Pill.d.ts +1 -1
  159. package/dist/esm/components/pill/Pill.js +1 -1
  160. package/dist/esm/components/popover/Popover.js +5 -5
  161. package/dist/esm/components/popover/parts/PopoverHeader.js +7 -7
  162. package/dist/esm/components/progress-bar/ProgressBar.js +11 -11
  163. package/dist/esm/components/radio-button-group/parts/RadioButton.d.ts +1 -1
  164. package/dist/esm/components/radio-button-group/parts/RadioButton.js +5 -5
  165. package/dist/esm/components/search/Search.d.ts +1 -1
  166. package/dist/esm/components/search/Search.js +14 -14
  167. package/dist/esm/components/segmented-button-group/parts/ToggleButton.js +10 -10
  168. package/dist/esm/components/select/Select.js +12 -12
  169. package/dist/esm/components/select/parts/SearchInput.js +7 -7
  170. package/dist/esm/components/select/parts/SelectButton.js +17 -14
  171. package/dist/esm/components/select/parts/SelectOption.js +4 -4
  172. package/dist/esm/components/select/parts/SelectOptionGroup.js +8 -8
  173. package/dist/esm/components/select/parts/SelectOptionHelper.js +1 -1
  174. package/dist/esm/components/select-field/SelectField.d.ts +1 -1
  175. package/dist/esm/components/select-field/SelectField.js +16 -16
  176. package/dist/esm/components/selectable-button-group/SelectableButtonGroup.d.ts +1 -1
  177. package/dist/esm/components/selectable-button-group/SelectableButtonGroup.js +8 -8
  178. package/dist/esm/components/selectable-button-group/parts/SelectableButton.js +10 -10
  179. package/dist/esm/components/selectable-card/internals/Content.js +5 -5
  180. package/dist/esm/components/selectable-card/internals/Description.js +1 -1
  181. package/dist/esm/components/selectable-card/internals/Illustration.js +3 -3
  182. package/dist/esm/components/selectable-card/internals/SelectedIndicator.js +4 -4
  183. package/dist/esm/components/selectable-card/selectable-card-checkbox-group/parts/SelectableCardCheckbox.d.ts +1 -1
  184. package/dist/esm/components/selectable-card/selectable-card-radio-group/parts/RadioIndicator.js +3 -3
  185. package/dist/esm/components/selectable-card/selectable-card-radio-group/parts/SelectableCardRadio.d.ts +1 -1
  186. package/dist/esm/components/selectable-card/selectableCard.variant.js +1 -1
  187. package/dist/esm/components/selectable-card-radio-group-field/SelectableCardRadioGroupField.js +22 -22
  188. package/dist/esm/components/side-panel/SidePanel.d.ts +1 -1
  189. package/dist/esm/components/side-panel/SidePanel.js +6 -6
  190. package/dist/esm/components/side-panel/parts/SidePanelContent.d.ts +1 -1
  191. package/dist/esm/components/side-panel/parts/SidePanelContent.js +9 -9
  192. package/dist/esm/components/side-panel/parts/SidePanelDragIndicator.js +11 -11
  193. package/dist/esm/components/side-panel/parts/SidePanelFooter.d.ts +1 -1
  194. package/dist/esm/components/side-panel/parts/SidePanelFooter.js +4 -4
  195. package/dist/esm/components/side-panel/parts/SidePanelHeader.d.ts +4 -4
  196. package/dist/esm/components/side-panel/parts/SidePanelHeader.js +6 -6
  197. package/dist/esm/components/skip-links/SkipLinks.d.ts +79 -0
  198. package/dist/esm/components/skip-links/SkipLinks.js +87 -0
  199. package/dist/esm/components/spinner/Spinner.js +5 -5
  200. package/dist/esm/components/table/Table.js +101 -100
  201. package/dist/esm/components/table/hooks/useTableKeyboardNavigation.d.ts +1 -19
  202. package/dist/esm/components/table/hooks/useTableKeyboardNavigation.js +147 -95
  203. package/dist/esm/components/table/parts/TableBody.js +1 -1
  204. package/dist/esm/components/table/parts/TableCell.d.ts +17 -1
  205. package/dist/esm/components/table/parts/TableCell.js +45 -41
  206. package/dist/esm/components/table/parts/TableColumnHeader.d.ts +2 -1
  207. package/dist/esm/components/table/parts/TableColumnHeader.js +63 -57
  208. package/dist/esm/components/table/parts/TableEmptyState.d.ts +1 -1
  209. package/dist/esm/components/table/parts/TableEmptyState.js +1 -1
  210. package/dist/esm/components/table/parts/TableHeader.d.ts +3 -3
  211. package/dist/esm/components/table/parts/TableHeader.js +28 -26
  212. package/dist/esm/components/table/parts/TablePagination.d.ts +1 -1
  213. package/dist/esm/components/table/parts/TablePagination.js +9 -9
  214. package/dist/esm/components/table/parts/TableRow.d.ts +1 -1
  215. package/dist/esm/components/table/parts/TableRow.js +36 -34
  216. package/dist/esm/components/tabs/Tabs.context.d.ts +1 -1
  217. package/dist/esm/components/tabs/Tabs.d.ts +1 -1
  218. package/dist/esm/components/tabs/Tabs.variant.js +1 -1
  219. package/dist/esm/components/tabs/parts/NavigationButton.js +12 -12
  220. package/dist/esm/components/tabs/parts/Tab.d.ts +3 -2
  221. package/dist/esm/components/tabs/parts/Tab.js +12 -12
  222. package/dist/esm/components/tabs/parts/TabPanel.d.ts +4 -2
  223. package/dist/esm/components/tabs/parts/TabPanel.js +7 -7
  224. package/dist/esm/components/task-menu/TaskMenu.d.ts +1 -1
  225. package/dist/esm/components/task-menu/TaskMenu.js +7 -7
  226. package/dist/esm/components/task-menu/parts/Content.js +6 -6
  227. package/dist/esm/components/task-menu/parts/Header.js +7 -7
  228. package/dist/esm/components/task-menu/parts/SubTask.js +6 -6
  229. package/dist/esm/components/task-menu/parts/Task.d.ts +1 -1
  230. package/dist/esm/components/task-menu/parts/Task.js +12 -12
  231. package/dist/esm/components/task-menu/parts/TaskGroup.js +7 -7
  232. package/dist/esm/components/task-menu/parts/task.variants.js +1 -1
  233. package/dist/esm/components/text/Text.d.ts +1 -1
  234. package/dist/esm/components/text/Text.variants.js +1 -1
  235. package/dist/esm/components/text-area/TextArea.js +6 -6
  236. package/dist/esm/components/text-field/TextField.js +5 -5
  237. package/dist/esm/components/toast/UnityToast.d.ts +1 -1
  238. package/dist/esm/components/toast/UnityToast.js +11 -11
  239. package/dist/esm/components/toggle-switch/ToggleSwitch.d.ts +1 -1
  240. package/dist/esm/components/toggle-switch/ToggleSwitch.js +4 -4
  241. package/dist/esm/components/toggle-switch-field/ToggleSwitchField.js +35 -31
  242. package/dist/esm/components/toggle-switch-group/ToggleSwitchGroup.d.ts +1 -1
  243. package/dist/esm/components/toggle-switch-group/ToggleSwitchGroup.js +5 -5
  244. package/dist/esm/components/toggle-switch-group-field/ToggleSwitchGroupField.js +43 -38
  245. package/dist/esm/components/tooltip/Tooltip.d.ts +2 -0
  246. package/dist/esm/components/tooltip/Tooltip.js +27 -19
  247. package/dist/esm/hooks/use-form.js +7 -7
  248. package/dist/esm/index.d.ts +6 -1
  249. package/dist/esm/index.js +366 -352
  250. package/dist/esm/integrations/react-router/v5/UnityReactRouterV5Provider.js +28 -0
  251. package/dist/esm/integrations/react-router/v5/index.d.ts +1 -0
  252. package/dist/esm/integrations/react-router/v5.js +4 -0
  253. package/i18n/en-GB.json +7 -0
  254. package/i18n/es-ES.json +7 -0
  255. package/i18n/fr-FR.json +7 -0
  256. package/package.json +41 -35
  257. package/dist/esm/providers/router/integrations/UnityReactRouterV5Provider.js +0 -28
  258. /package/dist/esm/{providers/router/integrations → integrations/react-router/v5}/UnityReactRouterV5Provider.d.ts +0 -0
@@ -4,6 +4,12 @@ export interface TableCellProps extends React.TdHTMLAttributes<HTMLTableCellElem
4
4
  rowIndex?: number;
5
5
  align?: 'left' | 'center' | 'right';
6
6
  isRowHeader?: boolean;
7
+ /**
8
+ * Whether this cell should be focusable for keyboard navigation.
9
+ * Set to false when the cell contains interactive elements like buttons, checkboxes, etc.
10
+ * @default true
11
+ */
12
+ isFocusable?: boolean;
7
13
  }
8
14
  export declare const tableCell: import('tailwind-variants').TVReturnType<{
9
15
  align: {
@@ -34,6 +40,7 @@ export declare const tableCell: import('tailwind-variants').TVReturnType<{
34
40
  * @param {number} [props.rowIndex=0] - The index of the row (automatically set by TableRow)
35
41
  * @param {'left' | 'center' | 'right'} [props.align] - The text alignment within the cell
36
42
  * @param {boolean} [props.isRowHeader=false] - Whether this cell is a row header (renders as `<th>` instead of `<td>`)
43
+ * @param {boolean} [props.isFocusable=true] - Whether this cell should be focusable for keyboard navigation. Set to false when the cell contains interactive elements.
37
44
  * @example
38
45
  * ```tsx
39
46
  * import { TableCell } from '@payfit/unity-components'
@@ -47,10 +54,19 @@ export declare const tableCell: import('tailwind-variants').TVReturnType<{
47
54
  *
48
55
  * <TableCell isRowHeader align="right">Employee ID</TableCell>
49
56
  * ```
57
+ * @example
58
+ * ```tsx
59
+ * // Cell with interactive content (checkbox) - not focusable
60
+ * import { TableCell, CheckboxStandalone } from '@payfit/unity-components'
61
+ *
62
+ * <TableCell isFocusable={false}>
63
+ * <CheckboxStandalone>Select item</CheckboxStandalone>
64
+ * </TableCell>
65
+ * ```
50
66
  * @see {@link TableCellProps} for all available props
51
67
  * @remarks
52
68
  * {@link https://unity-components.payfit.io/?path=/story/data-table-tablecell--docs|API and Demos} •
53
69
  * {@link https://payfit.design|Design docs}
54
70
  */
55
- declare const TableCell: React.ForwardRefExoticComponent<TableCellProps & React.RefAttributes<HTMLTableCellElement>>;
71
+ declare const TableCell: React.MemoExoticComponent<React.ForwardRefExoticComponent<TableCellProps & React.RefAttributes<HTMLTableCellElement>>>;
56
72
  export { TableCell };
@@ -1,8 +1,8 @@
1
- import { jsx as x } from "react/jsx-runtime";
2
- import { forwardRef as h } from "react";
3
- import { tv as v } from "tailwind-variants";
4
- import { useTableContext as g } from "../Table.context.js";
5
- const C = v({
1
+ import { jsx as h } from "react/jsx-runtime";
2
+ import { memo as v, forwardRef as g } from "react";
3
+ import { uyTv as C } from "@payfit/unity-themes";
4
+ import { useTableContext as T } from "../Table.context.js";
5
+ const k = C({
6
6
  base: [
7
7
  "uy:px-200 uy:py-150 uy:text-content-neutral uy:typography-body",
8
8
  "uy:focus-visible:outline-2 uy:focus-visible:outline-solid uy:focus-visible:outline-offset-[-2px] uy:focus-visible:outline-utility-focus-ring"
@@ -14,42 +14,46 @@ const C = v({
14
14
  right: "uy:text-right"
15
15
  }
16
16
  }
17
- }), T = h(
18
- ({
19
- children: r,
20
- colIndex: a = 0,
21
- rowIndex: o = 0,
22
- align: s,
23
- onKeyDown: t,
24
- onFocus: l,
25
- className: u,
26
- isRowHeader: i = !1,
27
- ...n
28
- }, y) => {
29
- const { keyboardNavigation: c } = g(), { isCellFocused: f, handleCellKeyDown: b, handleCellFocus: d } = c, m = f(o, a), p = (e) => {
30
- e.key !== "Tab" && (b(e), t == null || t(e));
31
- };
32
- return /* @__PURE__ */ x(
33
- i ? "th" : "td",
34
- {
35
- ref: y,
36
- role: i ? "rowheader" : "gridcell",
37
- "aria-colindex": a + 1,
38
- tabIndex: m ? 0 : -1,
39
- className: C({ align: s, className: u }),
40
- onKeyDown: p,
41
- onFocus: (e) => {
42
- d(e), l == null || l(e);
43
- },
44
- "data-dd-privacy": "mask",
45
- ...n,
46
- children: r
47
- }
48
- );
49
- }
17
+ }), N = v(
18
+ g(
19
+ ({
20
+ children: o,
21
+ colIndex: a = 0,
22
+ rowIndex: u = 0,
23
+ align: s,
24
+ onKeyDown: t,
25
+ onFocus: l,
26
+ className: n,
27
+ isRowHeader: i = !1,
28
+ isFocusable: r = !0,
29
+ ...y
30
+ }, f) => {
31
+ const { keyboardNavigation: c } = T(), { isCellFocused: d, handleCellKeyDown: b, handleCellFocus: m } = c, p = r && d(u, a), x = (e) => {
32
+ e.key !== "Tab" && (b(e), t == null || t(e));
33
+ };
34
+ return /* @__PURE__ */ h(
35
+ i ? "th" : "td",
36
+ {
37
+ ref: f,
38
+ role: i ? "rowheader" : "gridcell",
39
+ "aria-colindex": a + 1,
40
+ tabIndex: p ? 0 : -1,
41
+ "data-focusable": r,
42
+ className: k({ align: s, className: n }),
43
+ onKeyDown: x,
44
+ onFocus: (e) => {
45
+ m(e), l == null || l(e);
46
+ },
47
+ "data-dd-privacy": "mask",
48
+ ...y,
49
+ children: o
50
+ }
51
+ );
52
+ }
53
+ )
50
54
  );
51
- T.displayName = "TableCell";
55
+ N.displayName = "TableCell";
52
56
  export {
53
- T as TableCell,
54
- C as tableCell
57
+ N as TableCell,
58
+ k as tableCell
55
59
  };
@@ -4,6 +4,7 @@ type BaseTableColumnHeaderProps = {
4
4
  colIndex?: number;
5
5
  rowIndex?: number;
6
6
  align?: 'left' | 'center' | 'right';
7
+ isFocusable?: boolean;
7
8
  };
8
9
  type StaticTableColumnHeaderProps = BaseTableColumnHeaderProps & React.ThHTMLAttributes<HTMLTableCellElement>;
9
10
  type InteractiveTableColumnHeaderProps = BaseTableColumnHeaderProps & ActionableProps;
@@ -61,5 +62,5 @@ export declare const tableColumnHeader: import('tailwind-variants').TVReturnType
61
62
  * {@link https://unity-components.payfit.io/?path=/story/data-table-tablecolumnheader--docs|API and Demos} •
62
63
  * {@link https://payfit.design|Design docs}
63
64
  */
64
- declare const TableColumnHeader: React.ForwardRefExoticComponent<TableColumnHeaderProps & React.RefAttributes<HTMLTableCellElement>>;
65
+ declare const TableColumnHeader: React.MemoExoticComponent<React.ForwardRefExoticComponent<TableColumnHeaderProps & React.RefAttributes<HTMLTableCellElement>>>;
65
66
  export { TableColumnHeader };
@@ -1,13 +1,14 @@
1
- import { jsx as r } from "react/jsx-runtime";
2
- import { forwardRef as p } from "react";
3
- import { tv as x } from "tailwind-variants";
4
- import { Actionable as g } from "../../actionable/Actionable.js";
5
- import { useTableContext as C } from "../Table.context.js";
6
- const c = x({
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import { memo as x, forwardRef as g } from "react";
3
+ import { uyTv as C } from "@payfit/unity-themes";
4
+ import { Actionable as T } from "../../actionable/Actionable.js";
5
+ import { useTableContext as w } from "../Table.context.js";
6
+ const c = C({
7
7
  base: [
8
8
  "uy:align-middle uy:leading-[1.00]",
9
9
  "uy:px-200 uy:py-100 uy:typography-action uy:text-content-neutral",
10
- "uy:focus-visible:outline-2 uy:focus-visible:-outline-offset-2 uy:focus-visible:outline-utility-focus-ring"
10
+ "uy:focus-visible:outline-2 uy:focus-visible:outline-offset-2 uy:focus-visible:outline-utility-focus-ring",
11
+ "uy:hover:bg-surface-neutral-hover"
11
12
  ],
12
13
  variants: {
13
14
  align: {
@@ -16,57 +17,62 @@ const c = x({
16
17
  right: "uy:text-right"
17
18
  }
18
19
  }
19
- }), T = p(
20
- ({
21
- children: n,
22
- colIndex: a = 0,
23
- rowIndex: m = 0,
24
- align: o,
25
- onKeyDown: i,
26
- onFocus: t,
27
- className: u,
28
- ...l
29
- }, d) => {
30
- const { keyboardNavigation: f } = C(), { isCellFocused: b, handleCellKeyDown: h, handleCellFocus: s } = f, v = b(m, a), y = (e) => {
31
- e.key !== "Tab" && (h(e), i == null || i(
32
- e
33
- ));
34
- };
35
- return "onPress" in l ? /* @__PURE__ */ r(
36
- "th",
37
- {
38
- ref: d,
39
- role: "columnheader",
40
- "aria-colindex": a + 1,
41
- className: c({ align: o, className: u }),
42
- "data-dd-privacy": "allow",
43
- onKeyDown: y,
44
- onFocus: (e) => {
45
- s(e), t == null || t(e);
46
- },
47
- children: /* @__PURE__ */ r(g, { ...l, children: n })
48
- }
49
- ) : /* @__PURE__ */ r(
50
- "th",
51
- {
52
- ref: d,
53
- role: "columnheader",
54
- "aria-colindex": a + 1,
55
- tabIndex: v ? 0 : -1,
56
- className: c({ align: o, className: u }),
57
- onKeyDown: y,
58
- onFocus: (e) => {
59
- s(e), t == null || t(e);
60
- },
61
- "data-dd-privacy": "allow",
62
- ...l,
63
- children: n
64
- }
65
- );
66
- }
20
+ }), H = x(
21
+ g(
22
+ ({
23
+ children: n,
24
+ colIndex: a = 0,
25
+ rowIndex: f = 0,
26
+ align: u,
27
+ onKeyDown: r,
28
+ onFocus: t,
29
+ className: d,
30
+ isFocusable: l = !0,
31
+ ...i
32
+ }, y) => {
33
+ const { keyboardNavigation: b } = w(), { isCellFocused: h, handleCellKeyDown: v, handleCellFocus: m } = b, p = l && h(f, a), s = (e) => {
34
+ e.key !== "Tab" && (v(e), r == null || r(
35
+ e
36
+ ));
37
+ };
38
+ return "onPress" in i ? /* @__PURE__ */ o(
39
+ "th",
40
+ {
41
+ ref: y,
42
+ role: "columnheader",
43
+ "aria-colindex": a + 1,
44
+ "data-focusable": l,
45
+ className: c({ align: u, className: d }),
46
+ "data-dd-privacy": "allow",
47
+ onKeyDown: s,
48
+ onFocus: (e) => {
49
+ m(e), t == null || t(e);
50
+ },
51
+ children: /* @__PURE__ */ o(T, { ...i, children: n })
52
+ }
53
+ ) : /* @__PURE__ */ o(
54
+ "th",
55
+ {
56
+ ref: y,
57
+ role: "columnheader",
58
+ "aria-colindex": a + 1,
59
+ tabIndex: p ? 0 : -1,
60
+ "data-focusable": l,
61
+ className: c({ align: u, className: d }),
62
+ onKeyDown: s,
63
+ onFocus: (e) => {
64
+ m(e), t == null || t(e);
65
+ },
66
+ "data-dd-privacy": "allow",
67
+ ...i,
68
+ children: n
69
+ }
70
+ );
71
+ }
72
+ )
67
73
  );
68
- T.displayName = "TableColumnHeader";
74
+ H.displayName = "TableColumnHeader";
69
75
  export {
70
- T as TableColumnHeader,
76
+ H as TableColumnHeader,
71
77
  c as tableColumnHeader
72
78
  };
@@ -1,5 +1,5 @@
1
+ import { VariantProps } from '@payfit/unity-themes';
1
2
  import { PropsWithChildren } from 'react';
2
- import { VariantProps } from 'tailwind-variants';
3
3
  export declare const tableEmptyState: import('tailwind-variants').TVReturnType<{
4
4
  [key: string]: {
5
5
  [key: string]: import('tailwind-merge').ClassNameValue | {
@@ -1,7 +1,7 @@
1
1
  import { jsx as e, jsxs as p } from "react/jsx-runtime";
2
2
  import { forwardRef as d, useMemo as c } from "react";
3
+ import { uyTv as y } from "@payfit/unity-themes";
3
4
  import { useIntl as m } from "react-intl";
4
- import { tv as y } from "tailwind-variants";
5
5
  import { Spinner as u } from "../../spinner/Spinner.js";
6
6
  import { Text as f } from "../../text/Text.js";
7
7
  import b from "../assets/EmptyStateError.svg.js";
@@ -1,5 +1,5 @@
1
1
  import { default as React, PropsWithChildren } from 'react';
2
- import { VariantProps } from 'tailwind-variants';
2
+ import { VariantProps } from '@payfit/unity-themes';
3
3
  export declare const tableHeader: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, string[], {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, string[], unknown, unknown, undefined>>;
4
4
  export type TableHeaderProps = PropsWithChildren<VariantProps<typeof tableHeader>>;
5
5
  /**
@@ -23,7 +23,7 @@ export type TableHeaderProps = PropsWithChildren<VariantProps<typeof tableHeader
23
23
  * {@link https://unity-components.payfit.io/?path=/story/data-table-tableheader--docs|API and Demos} •
24
24
  * {@link https://payfit.design|Design docs}
25
25
  */
26
- declare const TableHeader: React.ForwardRefExoticComponent<VariantProps<import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, string[], {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, string[], unknown, unknown, undefined>>> & {
26
+ declare const TableHeader: React.MemoExoticComponent<React.ForwardRefExoticComponent<VariantProps<import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, string[], {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, string[], unknown, unknown, undefined>>> & {
27
27
  children?: React.ReactNode | undefined;
28
- } & React.RefAttributes<HTMLTableSectionElement>>;
28
+ } & React.RefAttributes<HTMLTableSectionElement>>>;
29
29
  export { TableHeader };
@@ -1,35 +1,37 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import r, { forwardRef as u } from "react";
3
- import { tv as s } from "tailwind-variants";
4
- const y = s({
2
+ import r, { memo as l, forwardRef as s, useMemo as y } from "react";
3
+ import { uyTv as m } from "@payfit/unity-themes";
4
+ const b = m({
5
5
  base: [
6
6
  "uy:h-500 uy:bg-surface-neutral-lowest uy:rounded-tl-100 uy:rounded-tr-100 uy:overflow-hidden",
7
7
  "uy:sticky uy:top-0 uy:z-[1]",
8
8
  "uy:[&_tr]:border-b uy:[&_tr]:border-solid uy:[&_tr]:border-b-border-neutral-enabled"
9
9
  ]
10
- }), b = u(
11
- ({ children: o, ...d }, a) => {
12
- const l = r.Children.map(o, (e, n) => r.isValidElement(e) ? r.cloneElement(
13
- e,
14
- {
15
- rowIndex: n,
16
- ...e.props
17
- }
18
- ) : e);
19
- return /* @__PURE__ */ t(
20
- "thead",
21
- {
22
- ref: a,
23
- className: y(),
24
- "data-dd-privacy": "allow",
25
- ...d,
26
- children: /* @__PURE__ */ t("tr", { children: l })
27
- }
28
- );
29
- }
10
+ }), i = l(
11
+ s(
12
+ ({ children: o, ...a }, d) => {
13
+ const u = y(() => r.Children.map(o, (e, n) => r.isValidElement(e) ? r.cloneElement(
14
+ e,
15
+ {
16
+ rowIndex: n,
17
+ ...e.props
18
+ }
19
+ ) : e), [o]);
20
+ return /* @__PURE__ */ t(
21
+ "thead",
22
+ {
23
+ ref: d,
24
+ className: b(),
25
+ "data-dd-privacy": "allow",
26
+ ...a,
27
+ children: /* @__PURE__ */ t("tr", { children: u })
28
+ }
29
+ );
30
+ }
31
+ )
30
32
  );
31
- b.displayName = "TableHeader";
33
+ i.displayName = "TableHeader";
32
34
  export {
33
- b as TableHeader,
34
- y as tableHeader
35
+ i as TableHeader,
36
+ b as tableHeader
35
37
  };
@@ -1,5 +1,5 @@
1
+ import { VariantProps } from '@payfit/unity-themes';
1
2
  import { PropsWithChildren } from 'react';
2
- import { VariantProps } from 'tailwind-variants';
3
3
  import { PaginationProps } from '../../pagination/Pagination.js';
4
4
  export declare const tablePagination: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, string[], {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, string[], unknown, unknown, undefined>>;
5
5
  type PageSizeOption = {
@@ -1,12 +1,12 @@
1
1
  import { jsxs as b, jsx as e } from "react/jsx-runtime";
2
2
  import { forwardRef as x, useState as I } from "react";
3
- import { useId as j } from "react-aria";
4
- import { useIntl as L } from "react-intl";
5
- import { tv as O } from "tailwind-variants";
6
- import { Pagination as R } from "../../pagination/Pagination.js";
7
- import { SelectOption as T } from "../../select/parts/SelectOption.js";
3
+ import { uyTv as j } from "@payfit/unity-themes";
4
+ import { useId as L } from "react-aria";
5
+ import { useIntl as T } from "react-intl";
6
+ import { Pagination as O } from "../../pagination/Pagination.js";
7
+ import { SelectOption as R } from "../../select/parts/SelectOption.js";
8
8
  import { Select as C } from "../../select/Select.js";
9
- const E = O({
9
+ const E = j({
10
10
  base: [
11
11
  "uy:bg-surface-neutral-lowest",
12
12
  "uy:sticky uy:bottom-0",
@@ -34,7 +34,7 @@ const E = O({
34
34
  onPageSizeChange: o,
35
35
  itemLabel: c = "unity:component:table:pagination:item",
36
36
  ...M
37
- } = y, a = j(), l = L(), [$, z] = I(P), S = {
37
+ } = y, a = L(), l = T(), [$, z] = I(P), S = {
38
38
  pageCount: t,
39
39
  defaultPage: p,
40
40
  currentPage: u,
@@ -87,7 +87,7 @@ const E = O({
87
87
  }
88
88
  ) }),
89
89
  /* @__PURE__ */ e("div", { className: "uy:justify-self-center", children: t > 1 && /* @__PURE__ */ e(
90
- R,
90
+ O,
91
91
  {
92
92
  ...S,
93
93
  "aria-labelledby": `table-pagination-${a}-label`
@@ -123,7 +123,7 @@ const E = O({
123
123
  o == null || o(d), z(d);
124
124
  },
125
125
  "aria-labelledby": `table-pagination-${a}-pagesize-label`,
126
- children: (i) => /* @__PURE__ */ e(T, { id: i.value, children: i.label })
126
+ children: (i) => /* @__PURE__ */ e(R, { id: i.value, children: i.label })
127
127
  }
128
128
  ) })
129
129
  ] }) })
@@ -36,5 +36,5 @@ export declare const tableRow: import('tailwind-variants').TVReturnType<{} | {}
36
36
  * {@link https://unity-components.payfit.io/?path=/story/data-table-tablerow--docs|API and Demos} •
37
37
  * {@link https://payfit.design|Design docs}
38
38
  */
39
- declare const TableRow: React.ForwardRefExoticComponent<TableRowProps & React.RefAttributes<HTMLTableRowElement>>;
39
+ declare const TableRow: React.MemoExoticComponent<React.ForwardRefExoticComponent<TableRowProps & React.RefAttributes<HTMLTableRowElement>>>;
40
40
  export { TableRow };
@@ -1,7 +1,7 @@
1
1
  import { jsx as d } from "react/jsx-runtime";
2
- import b, { forwardRef as n, Children as c, cloneElement as f } from "react";
3
- import { tv as y } from "tailwind-variants";
4
- const m = y({
2
+ import n, { memo as c, forwardRef as y, useMemo as f, Children as m, cloneElement as p } from "react";
3
+ import { uyTv as v } from "@payfit/unity-themes";
4
+ const g = v({
5
5
  base: [
6
6
  "uy:group uy:h-500",
7
7
  "uy:bg-surface-neutral uy:border-b uy:border-solid uy:border-b-border-neutral-enabled",
@@ -10,37 +10,39 @@ const m = y({
10
10
  "uy:aria-[selected=true]:bg-surface-neutral-selected uy:aria-[selected=true]:border-b-border-neutral-selected",
11
11
  "uy:focus-visible:outline-2 uy:focus-visible:outline-solid uy:focus-visible:outline-offset-[-2px] uy:focus-visible:outline-utility-focus-ring"
12
12
  ]
13
- }), p = n(
14
- ({ children: t, rowIndex: o = 0, onKeyDown: r, isSelected: u, ...a }, l) => {
15
- const s = c.map(t, (e, i) => b.isValidElement(e) ? f(
16
- e,
17
- {
18
- rowIndex: o,
19
- colIndex: i,
20
- ...e.props
21
- }
22
- ) : e);
23
- return /* @__PURE__ */ d(
24
- "tr",
25
- {
26
- ref: l,
27
- role: "row",
28
- className: m(),
29
- "aria-rowindex": o + 1,
30
- "aria-selected": u,
31
- onKeyDown: (e) => {
32
- r == null || r(e);
33
- },
34
- "data-dd-privacy": "mask",
35
- "data-selectable": u !== void 0,
36
- ...a,
37
- children: s
38
- }
39
- );
40
- }
13
+ }), R = c(
14
+ y(
15
+ ({ children: o, className: a, rowIndex: r = 0, onKeyDown: u, isSelected: t, ...s }, l) => {
16
+ const i = f(() => m.map(o, (e, b) => n.isValidElement(e) ? p(
17
+ e,
18
+ {
19
+ rowIndex: r,
20
+ colIndex: b,
21
+ ...e.props
22
+ }
23
+ ) : e), [o, r]);
24
+ return /* @__PURE__ */ d(
25
+ "tr",
26
+ {
27
+ ref: l,
28
+ role: "row",
29
+ className: g({ className: a }),
30
+ "aria-rowindex": r + 1,
31
+ "aria-selected": t,
32
+ onKeyDown: (e) => {
33
+ u == null || u(e);
34
+ },
35
+ "data-dd-privacy": "mask",
36
+ "data-selectable": t !== void 0,
37
+ ...s,
38
+ children: i
39
+ }
40
+ );
41
+ }
42
+ )
41
43
  );
42
- p.displayName = "TableRow";
44
+ R.displayName = "TableRow";
43
45
  export {
44
- p as TableRow,
45
- m as tableRow
46
+ R as TableRow,
47
+ g as tableRow
46
48
  };
@@ -1,5 +1,5 @@
1
+ import { VariantProps } from '@payfit/unity-themes';
1
2
  import { PropsWithChildren } from 'react';
2
- import { VariantProps } from 'tailwind-variants';
3
3
  import { tabsVariant } from './Tabs.variant.js';
4
4
  interface TabsContextValue {
5
5
  variant: VariantProps<typeof tabsVariant>['variant'];
@@ -1,5 +1,5 @@
1
+ import { VariantProps } from '@payfit/unity-themes';
1
2
  import { TabsProps as AriaTabsProps } from 'react-aria-components';
2
- import { VariantProps } from 'tailwind-variants';
3
3
  import { tabsVariant } from './Tabs.variant.js';
4
4
  export interface TabsProps extends Omit<AriaTabsProps, 'isDisabled' | 'orientation' | 'className' | 'style' | 'disabledKeys' | 'keyboardActivation' | 'slot'>, VariantProps<typeof tabsVariant> {
5
5
  /** set to true to make the tabs scrollable */
@@ -1,4 +1,4 @@
1
- import { tv as e } from "tailwind-variants";
1
+ import { uyTv as e } from "@payfit/unity-themes";
2
2
  const a = e({
3
3
  slots: {
4
4
  base: "uy:w-full",
@@ -1,8 +1,8 @@
1
- import { jsx as e } from "react/jsx-runtime";
2
- import { Button as a } from "react-aria-components";
3
- import { tv as s } from "tailwind-variants";
4
- import { Icon as i } from "../../icon/Icon.js";
5
- const n = s({
1
+ import { jsx as u } from "react/jsx-runtime";
2
+ import { uyTv as a } from "@payfit/unity-themes";
3
+ import { Button as s } from "react-aria-components";
4
+ import { Icon as y } from "../../icon/Icon.js";
5
+ const i = a({
6
6
  slots: {
7
7
  base: "uy:absolute uy:pt-150 uy:pb-150",
8
8
  button: "uy:rounded-circle uy:hover:text-content-neutral-hover uy:focus-visible:outline-2 uy:focus-visible:outline-offset-2 uy:focus-visible:outline-utility-focus-ring",
@@ -18,17 +18,17 @@ const n = s({
18
18
  }
19
19
  }
20
20
  }
21
- }), g = ({ direction: t, onPress: o }) => {
22
- const { base: u, button: l, icon: r } = n({ direction: t });
23
- return /* @__PURE__ */ e("div", { className: u(), children: /* @__PURE__ */ e(
24
- a,
21
+ }), g = ({ direction: t, onPress: e }) => {
22
+ const { base: o, button: l, icon: r } = i({ direction: t });
23
+ return /* @__PURE__ */ u("div", { className: o(), children: /* @__PURE__ */ u(
24
+ s,
25
25
  {
26
26
  id: `scroll-${t}`,
27
27
  className: l(),
28
28
  "aria-label": `Scroll ${t}`,
29
- onPress: o,
30
- children: /* @__PURE__ */ e(
31
- i,
29
+ onPress: e,
30
+ children: /* @__PURE__ */ u(
31
+ y,
32
32
  {
33
33
  className: r(),
34
34
  "aria-labelledby": `scroll-${t}`,
@@ -1,6 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
- import { TabProps as AriaTabProps } from 'react-aria-components';
3
- export interface TabProps extends Omit<AriaTabProps, 'isDisabled' | 'className' | 'style' | 'download' | 'ping' | 'routerOptions'> {
2
+ import { TabProps as AriaTabProps, Key } from 'react-aria-components';
3
+ export interface TabProps extends Omit<AriaTabProps, 'isDisabled' | 'className' | 'style' | 'download' | 'ping' | 'routerOptions' | 'id'> {
4
+ id: Key | undefined;
4
5
  suffix?: ReactNode;
5
6
  }
6
7
  declare const Tab: import('react').ForwardRefExoticComponent<TabProps & {