@payfit/unity-components 2.0.0 → 2.1.4

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 (353) hide show
  1. package/dist/esm/components/alert/Alert.js +41 -29
  2. package/dist/esm/components/alert/parts/AlertTitle.js +8 -8
  3. package/dist/esm/components/app-layout/AppLayout.d.ts +2 -0
  4. package/dist/esm/components/app-menu/parts/AppMenuFooter.js +23 -23
  5. package/dist/esm/components/app-menu/parts/AppMenuHeader.d.ts +1 -1
  6. package/dist/esm/components/app-menu/parts/AppMenuHeader.js +9 -9
  7. package/dist/esm/components/autocomplete/Autocomplete.d.ts +0 -9
  8. package/dist/esm/components/autocomplete/Autocomplete.js +54 -57
  9. package/dist/esm/components/autocomplete/parts/AutocompleteItem.js +8 -8
  10. package/dist/esm/components/avatar/Avatar.variants.js +1 -1
  11. package/dist/esm/components/avatar/parts/AvatarFallback.js +26 -27
  12. package/dist/esm/components/badge/Badge.js +1 -1
  13. package/dist/esm/components/breadcrumbs/Breadcrumbs.variant.js +1 -1
  14. package/dist/esm/components/button/Button.js +6 -6
  15. package/dist/esm/components/button/Button.variants.d.ts +1 -0
  16. package/dist/esm/components/button/Button.variants.js +22 -15
  17. package/dist/esm/components/card/Card.context.d.ts +5 -0
  18. package/dist/esm/components/card/Card.context.js +14 -0
  19. package/dist/esm/components/card/Card.d.ts +210 -0
  20. package/dist/esm/components/card/Card.js +93 -0
  21. package/dist/esm/components/card/parts/CardContent.d.ts +37 -0
  22. package/dist/esm/components/card/parts/CardContent.js +8 -0
  23. package/dist/esm/components/card/parts/CardTitle.d.ts +55 -0
  24. package/dist/esm/components/card/parts/CardTitle.js +33 -0
  25. package/dist/esm/components/checkbox/Checkbox.js +38 -30
  26. package/dist/esm/components/checkbox/Checkbox.variants.d.ts +9 -9
  27. package/dist/esm/components/checkbox/Checkbox.variants.js +23 -7
  28. package/dist/esm/components/checkbox/TanstackCheckbox.d.ts +28 -0
  29. package/dist/esm/components/checkbox/TanstackCheckbox.js +51 -0
  30. package/dist/esm/components/checkbox/parts/CheckboxIndicator.js +7 -7
  31. package/dist/esm/components/checkbox-field/CheckboxField.d.ts +2 -0
  32. package/dist/esm/components/checkbox-field/TanstackCheckboxField.d.ts +14 -0
  33. package/dist/esm/components/checkbox-field/TanstackCheckboxField.js +40 -0
  34. package/dist/esm/components/checkbox-group/TanstackCheckboxGroup.d.ts +4 -0
  35. package/dist/esm/components/checkbox-group/TanstackCheckboxGroup.js +37 -0
  36. package/dist/esm/components/checkbox-group-field/CheckboxGroupField.d.ts +2 -0
  37. package/dist/esm/components/checkbox-group-field/TanstackCheckGroupField.d.ts +72 -0
  38. package/dist/esm/components/checkbox-group-field/TanstackCheckGroupField.js +40 -0
  39. package/dist/esm/components/client-side-pagination/parts/PaginationNavButton.js +1 -1
  40. package/dist/esm/components/client-side-pagination/parts/RawPaginationLink.js +10 -10
  41. package/dist/esm/components/collapsible/parts/CollapsibleContent.js +5 -5
  42. package/dist/esm/components/collapsible/parts/CollapsibleTitle.js +8 -8
  43. package/dist/esm/components/data-table/DataTable.d.ts +109 -16
  44. package/dist/esm/components/data-table/DataTable.js +107 -93
  45. package/dist/esm/components/data-table/mocks/employee-data.d.ts +1 -0
  46. package/dist/esm/components/date-calendar/DateCalendar.js +1 -1
  47. package/dist/esm/components/date-calendar/parts/DateSegmentSelect.js +1 -1
  48. package/dist/esm/components/date-picker/DatePicker.d.ts +1 -1
  49. package/dist/esm/components/date-picker/DatePicker.js +59 -50
  50. package/dist/esm/components/date-picker/TanstackDatePicker.d.ts +22 -0
  51. package/dist/esm/components/date-picker/TanstackDatePicker.js +53 -0
  52. package/dist/esm/components/date-picker/parts/DateInput.js +4 -4
  53. package/dist/esm/components/date-picker-field/DatePickerField.d.ts +2 -0
  54. package/dist/esm/components/date-picker-field/TanstackDatePickerField.d.ts +71 -0
  55. package/dist/esm/components/date-picker-field/TanstackDatePickerField.js +41 -0
  56. package/dist/esm/components/definition-list/DefinitionList.context.d.ts +19 -0
  57. package/dist/esm/components/definition-list/DefinitionList.d.ts +24 -0
  58. package/dist/esm/components/definition-list/parts/DefinitionItem.d.ts +25 -0
  59. package/dist/esm/components/dialog/Dialog.d.ts +34 -22
  60. package/dist/esm/components/dialog/Dialog.js +90 -52
  61. package/dist/esm/components/dialog/parts/DialogActions.js +6 -6
  62. package/dist/esm/components/dialog/parts/DialogTitle.js +7 -4
  63. package/dist/esm/components/dialog/test-utils.d.ts +28 -0
  64. package/dist/esm/components/dialog/test-utils.js +78 -0
  65. package/dist/esm/components/error-state/ErrorState.js +7 -7
  66. package/dist/esm/components/filter/Filter.controls.d.ts +192 -0
  67. package/dist/esm/components/filter/Filter.controls.js +45 -0
  68. package/dist/esm/components/filter/Filter.d.ts +189 -0
  69. package/dist/esm/components/filter/Filter.js +147 -0
  70. package/dist/esm/components/filter/Filter.types.d.ts +121 -0
  71. package/dist/esm/components/filter/hooks/useFilterIds.d.ts +49 -0
  72. package/dist/esm/components/filter/hooks/useFilterIds.js +13 -0
  73. package/dist/esm/components/filter/hooks/useFilterState.d.ts +74 -0
  74. package/dist/esm/components/filter/hooks/useFilterState.js +23 -0
  75. package/dist/esm/components/filter/hooks/useFilterValue.d.ts +61 -0
  76. package/dist/esm/components/filter/hooks/useFilterValue.js +31 -0
  77. package/dist/esm/components/filter/parts/FilterButton.d.ts +75 -0
  78. package/dist/esm/components/filter/parts/FilterButton.js +55 -0
  79. package/dist/esm/components/filter/parts/FilterLabel.d.ts +96 -0
  80. package/dist/esm/components/filter/parts/FilterLabel.js +57 -0
  81. package/dist/esm/components/filter/parts/FilterPopover.d.ts +95 -0
  82. package/dist/esm/components/filter/parts/FilterPopover.js +79 -0
  83. package/dist/esm/components/filter/utils/value-formatters.d.ts +62 -0
  84. package/dist/esm/components/filter/utils/value-formatters.js +14 -0
  85. package/dist/esm/components/filter-toolbar/FilterToolbar.d.ts +110 -0
  86. package/dist/esm/components/filter-toolbar/FilterToolbar.js +172 -0
  87. package/dist/esm/components/filter-toolbar/FilterToolbar.types.d.ts +119 -0
  88. package/dist/esm/components/filter-toolbar/hooks/use-filter-toolbar-state.d.ts +96 -0
  89. package/dist/esm/components/filter-toolbar/hooks/use-filter-toolbar-state.js +132 -0
  90. package/dist/esm/components/filter-toolbar/parts/AddFilter.d.ts +63 -0
  91. package/dist/esm/components/filter-toolbar/parts/AddFilter.js +107 -0
  92. package/dist/esm/components/filter-toolbar/parts/AddFilterItem.d.ts +18 -0
  93. package/dist/esm/components/filter-toolbar/parts/AddFilterItem.js +18 -0
  94. package/dist/esm/components/filter-toolbar/utils/filter-adapters.d.ts +93 -0
  95. package/dist/esm/components/filter-toolbar/utils/filter-adapters.js +88 -0
  96. package/dist/esm/components/filter-toolbar/utils/normalize-filter-value.d.ts +24 -0
  97. package/dist/esm/components/filter-toolbar/utils/normalize-filter-value.js +19 -0
  98. package/dist/esm/components/form/Form.d.ts +2 -0
  99. package/dist/esm/components/form/TanstackForm.d.ts +24 -0
  100. package/dist/esm/components/form/TanstackForm.js +29 -0
  101. package/dist/esm/components/form-field/FormField.d.ts +2 -0
  102. package/dist/esm/components/form-field/TanstackFormField.context.d.ts +10 -0
  103. package/dist/esm/components/form-field/TanstackFormField.context.js +14 -0
  104. package/dist/esm/components/form-field/TanstackFormField.d.ts +49 -0
  105. package/dist/esm/components/form-field/TanstackFormField.js +46 -0
  106. package/dist/esm/components/form-field/parts/FormControl.d.ts +2 -0
  107. package/dist/esm/components/form-field/parts/FormFeedbackText.d.ts +2 -0
  108. package/dist/esm/components/form-field/parts/FormHelperText.d.ts +2 -0
  109. package/dist/esm/components/form-field/parts/FormLabel.d.ts +2 -0
  110. package/dist/esm/components/form-field/parts/RawFormContextualLink.d.ts +2 -0
  111. package/dist/esm/components/form-field/parts/TanstackFormFeedbackText.d.ts +12 -0
  112. package/dist/esm/components/form-field/parts/TanstackFormFeedbackText.js +32 -0
  113. package/dist/esm/components/form-field/parts/TanstackFormHelperText.d.ts +11 -0
  114. package/dist/esm/components/form-field/parts/TanstackFormHelperText.js +25 -0
  115. package/dist/esm/components/form-field/parts/TanstackFormLabel.d.ts +8 -0
  116. package/dist/esm/components/form-field/parts/TanstackFormLabel.js +26 -0
  117. package/dist/esm/components/form-field/parts/TanstackRawFormContextualLink.d.ts +26 -0
  118. package/dist/esm/components/form-field/parts/TanstackRawFormContextualLink.js +45 -0
  119. package/dist/esm/components/icon-button/CircularIconButton.d.ts +9 -9
  120. package/dist/esm/components/icon-button/CircularIconButton.js +53 -36
  121. package/dist/esm/components/icon-button/IconButton.variants.d.ts +1 -0
  122. package/dist/esm/components/icon-button/IconButton.variants.js +44 -28
  123. package/dist/esm/components/input/Input.js +36 -35
  124. package/dist/esm/components/input/TanstackInput.d.ts +22 -0
  125. package/dist/esm/components/input/TanstackInput.js +38 -0
  126. package/dist/esm/components/label/Label.js +12 -12
  127. package/dist/esm/components/link/RawLink.js +38 -31
  128. package/dist/esm/components/list-view/ListView.d.ts +56 -0
  129. package/dist/esm/components/list-view/ListView.fixtures.d.ts +20 -0
  130. package/dist/esm/components/list-view/ListView.js +44 -0
  131. package/dist/esm/components/list-view/parts/ListViewItemLabel.d.ts +34 -0
  132. package/dist/esm/components/list-view/parts/ListViewItemLabel.js +22 -0
  133. package/dist/esm/components/list-view/parts/ListViewItemText.d.ts +33 -0
  134. package/dist/esm/components/list-view/parts/ListViewItemText.js +22 -0
  135. package/dist/esm/components/list-view/parts/ListViewSection.d.ts +14 -0
  136. package/dist/esm/components/list-view/parts/ListViewSection.js +21 -0
  137. package/dist/esm/components/list-view/parts/RawListViewItem.d.ts +102 -0
  138. package/dist/esm/components/list-view/parts/RawListViewItem.js +80 -0
  139. package/dist/esm/components/multi-select/MultiSelect.d.ts +5 -7
  140. package/dist/esm/components/multi-select/MultiSelect.js +199 -176
  141. package/dist/esm/components/multi-select/MultiselectTypes.d.ts +114 -0
  142. package/dist/esm/components/multi-select/TanstackMultiSelect.d.ts +7 -0
  143. package/dist/esm/components/multi-select/TanstackMultiSelect.js +41 -0
  144. package/dist/esm/components/multi-select/parts/MultiSelectButton.d.ts +2 -0
  145. package/dist/esm/components/multi-select/parts/MultiSelectButton.js +62 -46
  146. package/dist/esm/components/multi-select/parts/MultiSelectPopover.js +15 -15
  147. package/dist/esm/components/multi-select-field/MultiSelectField.d.ts +45 -12
  148. package/dist/esm/components/multi-select-field/MultiSelectField.js +56 -66
  149. package/dist/esm/components/multi-select-field/TanstackMultiSelectField.d.ts +92 -0
  150. package/dist/esm/components/multi-select-field/TanstackMultiSelectField.js +48 -0
  151. package/dist/esm/components/multi-select-field/test-utils.d.ts +17 -0
  152. package/dist/esm/components/multi-select-field/test-utils.js +45 -0
  153. package/dist/esm/components/nav/parts/RawNavItem.js +6 -6
  154. package/dist/esm/components/navigation-card/NavigationCard.context.d.ts +31 -0
  155. package/dist/esm/components/navigation-card/NavigationCard.context.js +13 -0
  156. package/dist/esm/components/navigation-card/NavigationCard.d.ts +46 -0
  157. package/dist/esm/components/navigation-card/NavigationCard.js +62 -0
  158. package/dist/esm/components/navigation-card/NavigationCard.types.d.ts +37 -0
  159. package/dist/esm/components/navigation-card/NavigationCard.variants.d.ts +1147 -0
  160. package/dist/esm/components/navigation-card/NavigationCard.variants.js +164 -0
  161. package/dist/esm/components/navigation-card/parts/NavigationCardDescription.d.ts +39 -0
  162. package/dist/esm/components/navigation-card/parts/NavigationCardDescription.js +22 -0
  163. package/dist/esm/components/navigation-card/parts/NavigationCardGroup.d.ts +146 -0
  164. package/dist/esm/components/navigation-card/parts/NavigationCardGroup.js +93 -0
  165. package/dist/esm/components/navigation-card/parts/NavigationCardLabel.d.ts +32 -0
  166. package/dist/esm/components/navigation-card/parts/NavigationCardLabel.js +24 -0
  167. package/dist/esm/components/number-field/NumberField.d.ts +2 -0
  168. package/dist/esm/components/number-field/TanstackNumberField.d.ts +74 -0
  169. package/dist/esm/components/number-field/TanstackNumberField.js +44 -0
  170. package/dist/esm/components/number-input/NumberInput.js +31 -29
  171. package/dist/esm/components/number-input/TanstackNumberInput.d.ts +58 -0
  172. package/dist/esm/components/number-input/TanstackNumberInput.js +38 -0
  173. package/dist/esm/components/page/Page.js +12 -11
  174. package/dist/esm/components/pagination/parts/RawPaginationLink.js +22 -22
  175. package/dist/esm/components/pagination/parts/RawPaginationNext.js +13 -13
  176. package/dist/esm/components/pagination/parts/RawPaginationPrevious.js +10 -10
  177. package/dist/esm/components/payfit-brand/PayFitBrand.d.ts +4 -0
  178. package/dist/esm/components/payfit-brand/PayFitBrand.js +30 -22
  179. package/dist/esm/components/payfit-brand/PayFitPreprod.js +25 -25
  180. package/dist/esm/components/phone-number/PhoneNumberInput.d.ts +67 -0
  181. package/dist/esm/components/phone-number/PhoneNumberInput.js +322 -0
  182. package/dist/esm/components/phone-number/TanstackPhoneNumberInput.d.ts +64 -0
  183. package/dist/esm/components/phone-number/TanstackPhoneNumberInput.js +33 -0
  184. package/dist/esm/components/phone-number/parts/PhoneNumberItem.d.ts +42 -0
  185. package/dist/esm/components/phone-number/parts/PhoneNumberItem.js +68 -0
  186. package/dist/esm/components/phone-number/unknownFlag.svg.js +4 -0
  187. package/dist/esm/components/phone-number-field/TanstackPhoneNumberField.d.ts +15 -0
  188. package/dist/esm/components/phone-number-field/TanstackPhoneNumberField.js +32 -0
  189. package/dist/esm/components/pill/Pill.d.ts +2 -2
  190. package/dist/esm/components/pill/Pill.js +8 -8
  191. package/dist/esm/components/popover/Popover.js +6 -6
  192. package/dist/esm/components/promo-dialog/PromoDialog.d.ts +149 -0
  193. package/dist/esm/components/promo-dialog/PromoDialog.js +219 -0
  194. package/dist/esm/components/promo-dialog/parts/PromoDialogActions.d.ts +44 -0
  195. package/dist/esm/components/promo-dialog/parts/PromoDialogActions.js +29 -0
  196. package/dist/esm/components/promo-dialog/parts/PromoDialogContent.d.ts +43 -0
  197. package/dist/esm/components/promo-dialog/parts/PromoDialogContent.js +20 -0
  198. package/dist/esm/components/promo-dialog/parts/PromoDialogHero.d.ts +47 -0
  199. package/dist/esm/components/promo-dialog/parts/PromoDialogHero.js +25 -0
  200. package/dist/esm/components/promo-dialog/parts/PromoDialogSubtitle.d.ts +53 -0
  201. package/dist/esm/components/promo-dialog/parts/PromoDialogSubtitle.js +21 -0
  202. package/dist/esm/components/promo-dialog/parts/PromoDialogTitle.d.ts +6 -0
  203. package/dist/esm/components/promo-dialog/parts/PromoDialogTitle.js +18 -0
  204. package/dist/esm/components/radio-button-group/TanstackRadioButtonGroup.d.ts +13 -0
  205. package/dist/esm/components/radio-button-group/TanstackRadioButtonGroup.js +43 -0
  206. package/dist/esm/components/radio-button-group/parts/RadioButton.d.ts +29 -11
  207. package/dist/esm/components/radio-button-group/parts/RadioButton.js +53 -51
  208. package/dist/esm/components/radio-button-group-field/RadioButtonGroupField.d.ts +2 -0
  209. package/dist/esm/components/radio-button-group-field/TanstackRadioButtonGroupField.d.ts +13 -0
  210. package/dist/esm/components/radio-button-group-field/TanstackRadioButtonGroupField.js +38 -0
  211. package/dist/esm/components/search/Search.js +46 -46
  212. package/dist/esm/components/segmented-button-group/parts/ToggleButton.js +5 -5
  213. package/dist/esm/components/select/Select.d.ts +5 -4
  214. package/dist/esm/components/select/Select.js +53 -45
  215. package/dist/esm/components/select/TanstackSelect.d.ts +80 -0
  216. package/dist/esm/components/select/TanstackSelect.js +34 -0
  217. package/dist/esm/components/select/parts/SearchInput.d.ts +4 -1
  218. package/dist/esm/components/select/parts/SearchInput.js +49 -31
  219. package/dist/esm/components/select/parts/SelectButton.js +19 -17
  220. package/dist/esm/components/select-field/SelectField.d.ts +2 -0
  221. package/dist/esm/components/select-field/SelectField.js +8 -9
  222. package/dist/esm/components/select-field/TanstackSelectField.d.ts +124 -0
  223. package/dist/esm/components/select-field/TanstackSelectField.js +44 -0
  224. package/dist/esm/components/select-list/SelectList.d.ts +95 -0
  225. package/dist/esm/components/select-list/SelectList.js +79 -0
  226. package/dist/esm/components/select-list/SelectList.types.d.ts +29 -0
  227. package/dist/esm/components/select-list/constants.d.ts +36 -0
  228. package/dist/esm/components/select-list/constants.js +29 -0
  229. package/dist/esm/components/select-list/helpers.d.ts +42 -0
  230. package/dist/esm/components/select-list/helpers.js +48 -0
  231. package/dist/esm/components/select-list/hooks/useControlledSelection.d.ts +23 -0
  232. package/dist/esm/components/select-list/hooks/useControlledSelection.js +16 -0
  233. package/dist/esm/components/select-list/hooks/useSelectedFirstSorting.d.ts +23 -0
  234. package/dist/esm/components/select-list/hooks/useSelectedFirstSorting.js +31 -0
  235. package/dist/esm/components/select-list/parts/SelectListEmptyState.d.ts +8 -0
  236. package/dist/esm/components/select-list/parts/SelectListEmptyState.js +25 -0
  237. package/dist/esm/components/select-list/parts/SelectListOptGroup.d.ts +118 -0
  238. package/dist/esm/components/select-list/parts/SelectListOptGroup.js +28 -0
  239. package/dist/esm/components/select-list/parts/SelectListOption.d.ts +24 -0
  240. package/dist/esm/components/select-list/parts/SelectListOption.js +72 -0
  241. package/dist/esm/components/select-list/parts/SelectListSearchInput.d.ts +2 -0
  242. package/dist/esm/components/select-list/parts/SelectListSearchInput.js +43 -0
  243. package/dist/esm/components/select-list/parts/SelectedItemsSection.d.ts +54 -0
  244. package/dist/esm/components/select-list/parts/SelectedItemsSection.js +35 -0
  245. package/dist/esm/components/select-list/utils/partition.d.ts +13 -0
  246. package/dist/esm/components/select-list/utils/partition.js +9 -0
  247. package/dist/esm/components/selectable-button-group/SelectableButtonGroup.context.d.ts +1 -5
  248. package/dist/esm/components/selectable-button-group/SelectableButtonGroup.d.ts +6 -1
  249. package/dist/esm/components/selectable-button-group/SelectableButtonGroup.js +23 -23
  250. package/dist/esm/components/selectable-button-group/TanstackSelectableButtonGroup.d.ts +27 -0
  251. package/dist/esm/components/selectable-button-group/TanstackSelectableButtonGroup.js +34 -0
  252. package/dist/esm/components/selectable-button-group/parts/SelectableButton.d.ts +1 -16
  253. package/dist/esm/components/selectable-button-group/parts/SelectableButton.js +56 -57
  254. package/dist/esm/components/selectable-button-group-field/SelectableButtonGroupField.d.ts +2 -0
  255. package/dist/esm/components/selectable-button-group-field/TanstackSelectableButtonGroupField.d.ts +81 -0
  256. package/dist/esm/components/selectable-button-group-field/TanstackSelectableButtonGroupField.js +47 -0
  257. package/dist/esm/components/selectable-card/internals/Description.js +1 -1
  258. package/dist/esm/components/selectable-card/selectable-card-checkbox-group/SelectableCardCheckboxGroup.js +1 -1
  259. package/dist/esm/components/selectable-card/selectable-card-checkbox-group/TanstackSelectableCardCheckboxGroup.d.ts +26 -0
  260. package/dist/esm/components/selectable-card/selectable-card-checkbox-group/TanstackSelectableCardCheckboxGroup.js +32 -0
  261. package/dist/esm/components/selectable-card/selectable-card-checkbox-group/parts/SelectableCardCheckbox.js +24 -24
  262. package/dist/esm/components/selectable-card/selectable-card-radio-group/SelectableCardRadioGroup.d.ts +2 -0
  263. package/dist/esm/components/selectable-card/selectable-card-radio-group/SelectableCardRadioGroup.js +12 -14
  264. package/dist/esm/components/selectable-card/selectable-card-radio-group/TanstackSelectableCardRadioGroup.d.ts +28 -0
  265. package/dist/esm/components/selectable-card/selectable-card-radio-group/TanstackSelectableCardRadioGroup.js +32 -0
  266. package/dist/esm/components/selectable-card/selectable-card-radio-group/parts/RadioIndicator.js +14 -13
  267. package/dist/esm/components/selectable-card/selectable-card-radio-group/parts/SelectableCardRadio.js +27 -25
  268. package/dist/esm/components/selectable-card/selectableCard.variant.js +5 -5
  269. package/dist/esm/components/selectable-card-checkbox-group-field/SelectableCardCheckboxGroupField.d.ts +2 -0
  270. package/dist/esm/components/selectable-card-checkbox-group-field/TanstackSelectableCardCheckboxGroupField.d.ts +10 -0
  271. package/dist/esm/components/selectable-card-checkbox-group-field/TanstackSelectableCardCheckboxGroupField.js +38 -0
  272. package/dist/esm/components/selectable-card-radio-group-field/SelectableCardRadioGroupField.d.ts +2 -0
  273. package/dist/esm/components/selectable-card-radio-group-field/TanstackSelectableCardRadioGroupField.d.ts +10 -0
  274. package/dist/esm/components/selectable-card-radio-group-field/TanstackSelectableCardRadioGroupField.js +38 -0
  275. package/dist/esm/components/table/Table.context.d.ts +5 -0
  276. package/dist/esm/components/table/Table.context.js +14 -13
  277. package/dist/esm/components/table/Table.d.ts +93 -0
  278. package/dist/esm/components/table/Table.js +135 -107
  279. package/dist/esm/components/table/parts/TableBody.js +83 -21
  280. package/dist/esm/components/table/parts/TableEmptyState.js +6 -6
  281. package/dist/esm/components/table/parts/TableHeader.js +1 -1
  282. package/dist/esm/components/table/parts/TablePagination.js +1 -1
  283. package/dist/esm/components/table/parts/TableRow.js +1 -0
  284. package/dist/esm/components/tabs/Tabs.variant.d.ts +0 -6
  285. package/dist/esm/components/tabs/Tabs.variant.js +11 -12
  286. package/dist/esm/components/task-menu/parts/RawSubTask.js +26 -26
  287. package/dist/esm/components/task-menu/parts/RawTask.js +32 -28
  288. package/dist/esm/components/task-menu/parts/TaskGroup.js +30 -26
  289. package/dist/esm/components/task-menu/parts/task.variants.js +4 -2
  290. package/dist/esm/components/text/Text.d.ts +11 -1
  291. package/dist/esm/components/text/Text.js +41 -31
  292. package/dist/esm/components/text/Text.variants.d.ts +12 -0
  293. package/dist/esm/components/text/Text.variants.js +4 -0
  294. package/dist/esm/components/text-area/TanstackTextArea.d.ts +21 -0
  295. package/dist/esm/components/text-area/TanstackTextArea.js +35 -0
  296. package/dist/esm/components/text-area/TextArea.js +31 -29
  297. package/dist/esm/components/text-field/TanstackTextField.d.ts +79 -0
  298. package/dist/esm/components/text-field/TanstackTextField.js +60 -0
  299. package/dist/esm/components/text-field/TextField.d.ts +2 -0
  300. package/dist/esm/components/toast/UnityToast.js +5 -5
  301. package/dist/esm/components/toast/test-utils.d.ts +36 -0
  302. package/dist/esm/components/toast/test-utils.js +118 -0
  303. package/dist/esm/components/toggle-switch/TanstackToggleSwitch.d.ts +46 -0
  304. package/dist/esm/components/toggle-switch/TanstackToggleSwitch.js +25 -0
  305. package/dist/esm/components/toggle-switch/ToggleSwitch.d.ts +21 -9
  306. package/dist/esm/components/toggle-switch/ToggleSwitch.js +71 -32
  307. package/dist/esm/components/toggle-switch-field/TanstackToggleSwitchField.d.ts +11 -0
  308. package/dist/esm/components/toggle-switch-field/TanstackToggleSwitchField.js +34 -0
  309. package/dist/esm/components/toggle-switch-field/ToggleSwitchField.d.ts +2 -0
  310. package/dist/esm/components/toggle-switch-group/TanstackToggleSwitchGroup.d.ts +57 -0
  311. package/dist/esm/components/toggle-switch-group/TanstackToggleSwitchGroup.js +23 -0
  312. package/dist/esm/components/toggle-switch-group/ToggleSwitchGroup.js +1 -1
  313. package/dist/esm/components/toggle-switch-group-field/TanstackToggleSwitchGroupField.d.ts +19 -0
  314. package/dist/esm/components/toggle-switch-group-field/TanstackToggleSwitchGroupField.js +50 -0
  315. package/dist/esm/components/toggle-switch-group-field/ToggleSwitchGroupField.d.ts +2 -0
  316. package/dist/esm/docs/{table → examples/data}/mocks/employee-columns.d.ts +1 -1
  317. package/dist/esm/hooks/tanstack-form-context.d.ts +1 -0
  318. package/dist/esm/hooks/tanstack-form-context.js +8 -0
  319. package/dist/esm/hooks/use-form.d.ts +2 -0
  320. package/dist/esm/hooks/use-has-scroll.d.ts +71 -0
  321. package/dist/esm/hooks/use-has-scroll.js +75 -0
  322. package/dist/esm/hooks/use-tanstack-form.d.ts +369 -0
  323. package/dist/esm/hooks/use-tanstack-form.js +209 -0
  324. package/dist/esm/index.d.ts +44 -20
  325. package/dist/esm/index.js +457 -394
  326. package/dist/esm/index.storybook-testing.d.ts +3 -0
  327. package/dist/esm/integrations/tanstack-router/components/form-contextual-link/FormContextualLink.d.ts +6 -1
  328. package/dist/esm/integrations/tanstack-router/components/form-contextual-link/TanstackFormContextualLink.d.ts +43 -0
  329. package/dist/esm/integrations/tanstack-router/components/list-view/ListView.d.ts +34 -0
  330. package/dist/esm/integrations/tanstack-router/components/list-view/ListView.js +25 -0
  331. package/dist/esm/integrations/tanstack-router/components/list-view/parts/ListViewItem.d.ts +51 -0
  332. package/dist/esm/integrations/tanstack-router/components/list-view/parts/ListViewItem.js +32 -0
  333. package/dist/esm/integrations/tanstack-router/components/navigation-card/NavigationCard.d.ts +73 -0
  334. package/dist/esm/integrations/tanstack-router/components/navigation-card/NavigationCard.js +37 -0
  335. package/dist/esm/integrations/tanstack-router/index.d.ts +3 -0
  336. package/dist/esm/integrations/tanstack-router/utils/decorators.d.ts +1 -1
  337. package/dist/esm/integrations/tanstack-router.js +32 -26
  338. package/dist/esm/mocks/employees.d.ts +1 -5
  339. package/dist/esm/storybook-testing.js +8 -2
  340. package/dist/esm/storybook-utilities/previewTransform.d.ts +1 -0
  341. package/dist/esm/utils/scroll-detection.d.ts +77 -0
  342. package/dist/esm/utils/scroll-detection.js +33 -0
  343. package/dist/esm/utils/spacing.d.ts +63 -0
  344. package/dist/esm/utils/spacing.js +15 -0
  345. package/i18n/en-GB.json +21 -8
  346. package/i18n/es-ES.json +23 -10
  347. package/i18n/fr-FR.json +24 -11
  348. package/package.json +41 -42
  349. package/dist/esm/components/multi-select/Multiselect.types.d.ts +0 -109
  350. package/dist/esm/integrations/react-router/v5/UnityReactRouterV5Provider.d.ts +0 -6
  351. package/dist/esm/integrations/react-router/v5/UnityReactRouterV5Provider.js +0 -28
  352. package/dist/esm/integrations/react-router/v5/index.d.ts +0 -1
  353. package/dist/esm/integrations/react-router/v5.js +0 -4
@@ -1,28 +1,28 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import { forwardRef as i } from "react";
3
- import { uyTv as s } from "@payfit/unity-themes";
4
- import { Link as o } from "react-aria-components";
2
+ import { forwardRef as s } from "react";
3
+ import { uyTv as o } from "@payfit/unity-themes";
4
+ import { Link as i } from "react-aria-components";
5
5
  import { useIntl as l } from "react-intl";
6
- const d = s({
6
+ const d = o({
7
7
  base: [
8
8
  "uy:min-w-300 uy:h-300 uy:p-25 uy:flex uy:justify-center uy:items-center uy:typography-action uy:rounded-pill uy:transition-colors",
9
9
  "uy:enabled:text-content-neutral-enabled uy:enabled:bg-transparent uy:cursor-pointer",
10
- "uy:data-[disabled]:text-content-neutral-disabled uy:data-[disabled]:bg-surface-neutral-disabled uy:data-[disabled]:cursor-not-allowed",
11
- "uy:hover:text-content-neutral-hover uy:hover:bg-surface-neutral-hover",
12
- "uy:active:text-content-neutral-pressed uy:active:bg-surface-neutral-pressed uy:data-[pressed]:text-content-neutral-pressed uy:data-[pressed]:bg-surface-neutral-pressed",
10
+ "uy:data-[disabled]:text-content-neutral-disabled uy:data-[disabled]:bg-surface-neutral-lowest-disabled uy:data-[disabled]:cursor-not-allowed",
11
+ "uy:hover:text-content-neutral-hover uy:hover:bg-surface-neutral-lowest-hover",
12
+ "uy:active:text-content-neutral-pressed uy:active:bg-surface-neutral-lowest-pressed uy:data-[pressed]:text-content-neutral-pressed uy:data-[pressed]:bg-surface-neutral-lowest-pressed",
13
13
  "uy:focus-visible:outline-2 uy:focus-visible:outline-solid uy:focus-visible:outline-utility-focus-ring uy:focus-visible:outline-offset-2"
14
14
  ],
15
15
  variants: {
16
16
  isActive: {
17
- true: "uy:bg-surface-neutral-active",
17
+ true: "uy:bg-surface-neutral-lowest-selected",
18
18
  false: ""
19
19
  }
20
20
  }
21
- }), y = i(
21
+ }), y = s(
22
22
  ({ isActive: e, isDisabled: a, ...t }, n) => {
23
23
  const u = l();
24
24
  return /* @__PURE__ */ r(
25
- o,
25
+ i,
26
26
  {
27
27
  ref: n,
28
28
  className: d({ isActive: e }),
@@ -1,14 +1,14 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
- import { forwardRef as t } from "react";
3
- import { DisclosurePanel as e } from "react-aria-components";
4
- const l = t(
2
+ import { forwardRef as e } from "react";
3
+ import { DisclosurePanel as t } from "react-aria-components";
4
+ const l = e(
5
5
  ({ children: i, ...o }, r) => /* @__PURE__ */ a(
6
- e,
6
+ t,
7
7
  {
8
8
  ref: r,
9
9
  "data-dd-privacy": "allow",
10
10
  ...o,
11
- className: "uy:transition-all uy:transition-discrete uy:duration-200 uy:origin-top-left uy:aria-hidden:opacity-0 uy:aria-hidden:scale-y-0",
11
+ className: "uy:transition-all uy:transition-discrete uy:duration-200 uy:origin-top uy:aria-hidden:opacity-0 uy:aria-hidden:scale-y-0 uy:overflow-hidden uy:aria-hidden:max-h-0",
12
12
  children: /* @__PURE__ */ a("div", { className: "uy:ml-400 uy:typography-body", children: i })
13
13
  }
14
14
  )
@@ -1,14 +1,14 @@
1
1
  import { jsx as t, jsxs as y } from "react/jsx-runtime";
2
- import { forwardRef as d, useContext as m } from "react";
3
- import { uyTv as p } from "@payfit/unity-themes";
2
+ import { forwardRef as d, useContext as p } from "react";
3
+ import { uyTv as m } from "@payfit/unity-themes";
4
4
  import { DisclosureStateContext as f, Heading as x, Button as b } from "react-aria-components";
5
5
  import { Icon as v } from "../../icon/Icon.js";
6
6
  import { Text as o } from "../../text/Text.js";
7
- const g = p({
7
+ const g = m({
8
8
  slots: {
9
9
  base: "uy:w-full",
10
10
  button: [
11
- "uy:flex uy:gap-50 uy:pb-100 uy:pt-100 uy:w-full uy:hover:text-content-neutral-hover uy:focus-visible:outline-none"
11
+ "uy:flex uy:gap-50 uy:pb-100 uy:pt-100 uy:w-full uy:cursor-pointer uy:hover:text-content-neutral-hover uy:focus-visible:outline-none"
12
12
  ],
13
13
  title: "uy:flex uy:grow uy:text-left uy:items-center",
14
14
  icon: "uy:mr-100 uy:transition-transform uy:duration-150 uy:ease-linear uy:origin-center"
@@ -27,11 +27,11 @@ const g = p({
27
27
  isExpanded: !1
28
28
  }
29
29
  }), w = d(
30
- ({ children: a, suffix: e, ...r }, n) => {
31
- const i = m(f), { base: l, button: s, title: u, icon: c } = g({
30
+ ({ children: r, suffix: e, ...a }, n) => {
31
+ const i = p(f), { base: l, button: s, title: u, icon: c } = g({
32
32
  isExpanded: i?.isExpanded
33
33
  });
34
- return /* @__PURE__ */ t(x, { "data-dd-privacy": "allow", ...r, ref: n, className: l(), children: /* @__PURE__ */ y(b, { className: s(), slot: "trigger", children: [
34
+ return /* @__PURE__ */ t(x, { "data-dd-privacy": "allow", ...a, ref: n, className: l(), children: /* @__PURE__ */ y(b, { className: s(), slot: "trigger", children: [
35
35
  /* @__PURE__ */ t(
36
36
  v,
37
37
  {
@@ -40,7 +40,7 @@ const g = p({
40
40
  role: "presentation"
41
41
  }
42
42
  ),
43
- /* @__PURE__ */ t(o, { variant: "bodyStrong", className: u(), children: a }),
43
+ /* @__PURE__ */ t(o, { variant: "bodyStrong", className: u(), children: r }),
44
44
  e ? /* @__PURE__ */ t(o, { variant: "body", children: e }) : null
45
45
  ] }) });
46
46
  }
@@ -4,10 +4,77 @@ import { TablePaginationProps } from '../table/parts/TablePagination.js';
4
4
  import { TableProps, TableRootProps } from '../table/Table.js';
5
5
  declare module '@tanstack/react-table' {
6
6
  interface ColumnMeta<TData extends RowData, TValue> {
7
+ /**
8
+ * Marks the cell as a row header. When true, the cell renders as `<th scope="row">` instead of `<td>`.
9
+ * Use this for the first column that identifies each row (e.g., ID, name). Important for accessibility.
10
+ * @default false
11
+ * @example
12
+ * ```ts
13
+ * {
14
+ * meta: {
15
+ * isRowHeader: true
16
+ * }
17
+ * }
18
+ * ```
19
+ */
7
20
  isRowHeader?: boolean;
21
+ /**
22
+ * CSS classes to apply to table cells (`TableCell`) in this column.
23
+ * Use this to control cell styling such as width, truncation, or alignment.
24
+ * @example
25
+ * ```ts
26
+ * {
27
+ * meta: {
28
+ * className: 'uy:w-1/4 uy:truncate'
29
+ * }
30
+ * }
31
+ * ```
32
+ */
8
33
  className?: string;
34
+ /**
35
+ * Helper text to display as a tooltip icon next to the column header.
36
+ * Use this to provide additional context or explanations for the column.
37
+ * @example
38
+ * ```ts
39
+ * {
40
+ * meta: {
41
+ * helperText: 'This column shows the employee ID'
42
+ * }
43
+ * }
44
+ * ```
45
+ */
9
46
  helperText?: string;
47
+ /**
48
+ * Controls whether the column cells can receive keyboard focus during table navigation.
49
+ * Set to false for cells containing interactive elements like buttons or checkboxes.
50
+ * @default true
51
+ * @example
52
+ * ```ts
53
+ * {
54
+ * meta: {
55
+ * isFocusable: false // For cells with buttons or checkboxes
56
+ * }
57
+ * }
58
+ * ```
59
+ */
10
60
  isFocusable?: boolean;
61
+ /**
62
+ * CSS classes to apply to the column header (`TableColumnHeader`).
63
+ * Use this to set explicit widths when using `layout="fixed"`.
64
+ * @example
65
+ * ```ts
66
+ * {
67
+ * meta: {
68
+ * headerClassName: 'uy:w-[200px]' // Fixed pixel width
69
+ * // or
70
+ * headerClassName: 'uy:w-1/4' // Percentage width
71
+ * // or
72
+ * headerClassName: 'uy:w-[20ch]' // Character-based width
73
+ * }
74
+ * }
75
+ * ```
76
+ */
77
+ headerClassName?: string;
11
78
  }
12
79
  }
13
80
  export interface DataTablePaginationLabels {
@@ -107,10 +174,15 @@ export interface DataTableProps<TData> extends Omit<TableRootProps, 'children'>,
107
174
  * The DataTable component provides a standardized way to display tabular data with built-in support for
108
175
  * pagination, sorting, filtering, and row selection. It handles common table patterns like loading states,
109
176
  * empty states, and consistent table heights.
177
+ *
178
+ * The component supports two layout modes via the `layout` prop:
179
+ * - **Auto layout** (default): Columns adapt to content with horizontal scrolling
180
+ * - **Fixed layout**: Explicit column widths that fit the container. Set widths using `headerClassName` in column meta.
110
181
  * @param props - The props for the `DataTable` component
111
182
  * @param props.table - The table instance from @tanstack/react-table
112
183
  * @param props.minRows - The minimum number of rows to display, affecting the minimum height
113
184
  * @param props.maxRows - The maximum number of rows to display, affecting the maximum height
185
+ * @param props.layout - Table layout algorithm: 'auto' (default) or 'fixed'. See {@link TableProps['layout']}
114
186
  * @param props.isLoading - Custom loading state to show when isLoading is true
115
187
  * @param props.error - Custom error state
116
188
  * @param props.emptyState - Custom empty state to show when there's no data
@@ -120,47 +192,65 @@ export interface DataTableProps<TData> extends Omit<TableRootProps, 'children'>,
120
192
  * @param props.onPageChange - Optional callback for pagination change
121
193
  * @param props.onPageHover - Optional callback for pagination hover
122
194
  * @param props.onPageSizeChange - Optional callback for pagination size change
195
+ * @param props.enableVirtualization - Enable internal scroll virtualization for large datasets
196
+ * @param props.estimatedRowHeight - Estimated row height in pixels for the virtualizer
197
+ * @param props.overscan - Number of extra rows rendered above/below viewport for virtualization
123
198
  * @param props.children - Render function that takes care of rendering the table rows
124
199
  * @see {@link DataTableProps} for all available props
125
200
  * @example
126
201
  * ```tsx
127
202
  * import { DataTableRoot, DataTable, DataTableBulkActions, TableRow, TableCell } from '@payfit/unity-components'
128
- * import { flexRender, useReactTable, getCoreRowModel, getPaginationRowModel } from '@tanstack/react-table'
203
+ * import { flexRender, useReactTable, getCoreRowModel, getPaginationRowModel, createColumnHelper } from '@tanstack/react-table'
129
204
  * import { useState, useMemo } from 'react'
130
205
  *
131
206
  * function EmployeeTable() {
132
207
  * const [pagination, setPagination] = useState({ pageIndex: 0, pageSize: 10 })
133
208
  * const [rowSelection, setRowSelection] = useState({})
134
209
  *
135
- * // Memoize columns to prevent unnecessary re-renders
136
- * const columns = useMemo(() => employeeColumns, [])
210
+ * const columnHelper = createColumnHelper<Employee>()
211
+ *
212
+ * // Define columns with optional width control for fixed layout
213
+ * const columns = useMemo(() => [
214
+ * columnHelper.accessor('name', {
215
+ * header: 'Name',
216
+ * meta: {
217
+ * isRowHeader: true,
218
+ * headerClassName: 'uy:w-[200px]' // Set explicit width for fixed layout
219
+ * }
220
+ * }),
221
+ * columnHelper.accessor('position', {
222
+ * header: 'Position',
223
+ * meta: {
224
+ * headerClassName: 'uy:w-1/3' // Use percentage for proportional width
225
+ * }
226
+ * }),
227
+ * columnHelper.accessor('department', {
228
+ * header: 'Department'
229
+ * // No headerClassName: will share remaining space
230
+ * })
231
+ * ], [])
137
232
  *
138
233
  * const table = useReactTable({
139
234
  * data: employees,
140
235
  * columns,
141
- * // Provide stable row ID for better performance
142
236
  * getRowId: (row) => row.id,
143
- * state: {
144
- * pagination,
145
- * rowSelection,
146
- * },
237
+ * state: { pagination, rowSelection },
147
238
  * onPaginationChange: setPagination,
148
239
  * onRowSelectionChange: setRowSelection,
149
240
  * getCoreRowModel: getCoreRowModel(),
150
241
  * getPaginationRowModel: getPaginationRowModel(),
151
- * // Enable row selection features
152
242
  * enableRowSelection: true,
153
243
  * enableMultiRowSelection: true,
154
244
  * })
155
245
  *
156
- * const actions = [
157
- * { id: 'delete', label: 'Delete', onPress: handleDelete },
158
- * { id: 'archive', label: 'Archive', onPress: handleArchive },
159
- * ]
160
- *
161
246
  * return (
162
247
  * <DataTableRoot>
163
- * <DataTable table={table} minRows={5} maxRows={10}>
248
+ * <DataTable
249
+ * table={table}
250
+ * minRows={5}
251
+ * maxRows={10}
252
+ * layout="fixed" // Use fixed layout with explicit column widths
253
+ * >
164
254
  * {row => (
165
255
  * <TableRow key={row.id} isSelected={row.getIsSelected()}>
166
256
  * {row.getVisibleCells().map(cell => (
@@ -179,9 +269,12 @@ export interface DataTableProps<TData> extends Omit<TableRootProps, 'children'>,
179
269
  * @remarks
180
270
  * - For bulk actions, use DataTableBulkActions component alongside DataTable within DataTableRoot
181
271
  * - DataTableBulkActions provides the F6 keyboard shortcut for accessibility
272
+ * - **Layout modes**: Use `layout="auto"` (default) for content-driven columns with scrolling, or `layout="fixed"` for predictable widths that fit the container
273
+ * - **Setting column widths**: Add `headerClassName` to column meta with width classes (e.g., `'uy:w-[200px]'`, `'uy:w-1/3'`)
274
+ * - **Fixed layout best practices**: Set explicit widths on column headers and use truncation for overflow content
182
275
  * - [API](https://unity-components.payfit.io/?path=/docs/data-datatable--docs) • [Demo](https://unity-components.payfit.io/?path=/docs/data-datatable--docs)
183
276
  */
184
- declare function DataTable<TData extends object>({ table, isLoading, error, emptyState, loadingState, errorState, pagination, minRows, maxRows, onPageChange: onPaginationChange, onPageHover: onPaginationPageHover, onPageSizeChange: onPaginationSizeChange, children, ...rest }: DataTableProps<TData>): import("react/jsx-runtime").JSX.Element;
277
+ declare function DataTable<TData extends object>({ table, isLoading, error, emptyState, loadingState, errorState, pagination, minRows, maxRows, onPageChange: onPaginationChange, onPageHover: onPaginationPageHover, onPageSizeChange: onPaginationSizeChange, children, enableVirtualization, estimatedRowHeight, overscan, ...rest }: DataTableProps<TData>): import("react/jsx-runtime").JSX.Element;
185
278
  declare namespace DataTable {
186
279
  var displayName: string;
187
280
  }
@@ -1,129 +1,143 @@
1
- import { jsxs as m, jsx as e, Fragment as E } from "react/jsx-runtime";
2
- import { useRef as R, useEffect as z } from "react";
1
+ import { jsxs as i, jsx as o, Fragment as N } from "react/jsx-runtime";
2
+ import { useRef as v, useEffect as F } from "react";
3
3
  import { flexRender as f } from "@tanstack/react-table";
4
- import { useId as I } from "react-aria";
5
- import { CircularIconButton as N } from "../icon-button/CircularIconButton.js";
6
- import { TableBody as F } from "../table/parts/TableBody.js";
7
- import { TableColumnHeader as M } from "../table/parts/TableColumnHeader.js";
8
- import { TableEmptyStateLoading as O, TableEmptyStateError as j, TableEmptyStateNoData as B } from "../table/parts/TableEmptyState.js";
9
- import { TableHeader as $ } from "../table/parts/TableHeader.js";
10
- import { TablePagination as G } from "../table/parts/TablePagination.js";
11
- import { TableRoot as L, Table as Q } from "../table/Table.js";
12
- import { ColumnSortHeader as W } from "./parts/ColumnSortHeader.js";
13
- const b = ({
14
- children: o,
4
+ import { useId as M } from "react-aria";
5
+ import { CircularIconButton as O } from "../icon-button/CircularIconButton.js";
6
+ import { TableBody as j } from "../table/parts/TableBody.js";
7
+ import { TableColumnHeader as B } from "../table/parts/TableColumnHeader.js";
8
+ import { TableEmptyStateLoading as $, TableEmptyStateError as G, TableEmptyStateNoData as L } from "../table/parts/TableEmptyState.js";
9
+ import { TableHeader as Q } from "../table/parts/TableHeader.js";
10
+ import { TablePagination as W } from "../table/parts/TablePagination.js";
11
+ import { TableRoot as k, Table as q } from "../table/Table.js";
12
+ import { ColumnSortHeader as A } from "./parts/ColumnSortHeader.js";
13
+ const C = ({
14
+ children: t,
15
15
  columnNameId: a,
16
16
  helperText: r
17
- }) => r !== void 0 ? /* @__PURE__ */ m("div", { className: "uy:flex uy:gap-50 uy:items-center", children: [
18
- o,
19
- /* @__PURE__ */ e(
20
- N,
17
+ }) => r !== void 0 ? /* @__PURE__ */ i("div", { className: "uy:flex uy:gap-50 uy:items-center", children: [
18
+ t,
19
+ /* @__PURE__ */ o(
20
+ O,
21
21
  {
22
22
  "aria-labelledby": a,
23
- className: "uy:text-content-neutral-low uy:hover:bg-surface-neutral-hover uy:hover:text-content-neutral-low",
24
23
  icon: "QuestionOutlined",
25
24
  title: r,
26
- color: "content.neutral.low"
25
+ color: "content.neutral.lowest"
27
26
  }
28
27
  )
29
- ] }) : /* @__PURE__ */ e(E, { children: o });
30
- function k({
31
- table: o,
28
+ ] }) : /* @__PURE__ */ o(N, { children: t });
29
+ function J({
30
+ table: t,
32
31
  isLoading: a,
33
32
  error: r,
34
33
  emptyState: u,
35
- loadingState: C,
34
+ loadingState: b,
36
35
  errorState: T,
37
36
  pagination: c,
38
- minRows: h,
39
- maxRows: P,
40
- onPageChange: S,
37
+ minRows: P,
38
+ maxRows: S,
39
+ onPageChange: h,
41
40
  onPageHover: x,
42
- onPageSizeChange: w,
43
- children: y,
44
- ...i
41
+ onPageSizeChange: y,
42
+ children: D,
43
+ enableVirtualization: w,
44
+ estimatedRowHeight: H,
45
+ overscan: E,
46
+ ...m
45
47
  }) {
46
- const p = R(null), D = I(), { pageIndex: s, pageSize: g } = o.getState().pagination;
47
- z(() => {
48
- p.current?.scrollToTop();
49
- }, [s, g]);
50
- const H = {
51
- label: i.label,
52
- description: i.description,
53
- isHorizontalScrollEnabled: i.isHorizontalScrollEnabled
48
+ const s = v(null), R = M(), { pageIndex: p, pageSize: g } = t.getState().pagination;
49
+ F(() => {
50
+ s.current?.scrollToTop();
51
+ }, [p, g]);
52
+ const z = {
53
+ label: m.label,
54
+ description: m.description,
55
+ isHorizontalScrollEnabled: m.isHorizontalScrollEnabled,
56
+ layout: m.layout
54
57
  }, d = () => {
55
58
  if (a)
56
- return C ?? /* @__PURE__ */ e(O, {});
59
+ return b ?? /* @__PURE__ */ o($, {});
57
60
  if (r)
58
- return T ?? /* @__PURE__ */ e(j, {});
59
- }, v = () => a || r ? d() : o.getRowModel().rows.length === 0 ? u ?? /* @__PURE__ */ e(B, {}) : u;
60
- return /* @__PURE__ */ m(L, { minRows: h, maxRows: P, children: [
61
- /* @__PURE__ */ m(Q, { ref: p, ...H, children: [
62
- /* @__PURE__ */ e($, { children: o.getHeaderGroups().map(
63
- (n) => n.headers.map((t) => {
64
- const l = `${D}-column-name-${t.column.columnDef.id}`;
65
- return /* @__PURE__ */ e(
66
- M,
67
- {
68
- isFocusable: t.column.columnDef.meta?.isFocusable,
69
- children: o.getRowModel().rows.length > 0 && t.column.getCanSort() ? /* @__PURE__ */ e(W, { header: t, children: /* @__PURE__ */ e(
70
- b,
71
- {
72
- columnNameId: l,
73
- helperText: t.column.columnDef.meta?.helperText,
74
- children: /* @__PURE__ */ e("span", { id: l, children: f(
75
- t.column.columnDef.header,
76
- t.getContext()
77
- ) })
78
- }
79
- ) }) : /* @__PURE__ */ e(
80
- b,
61
+ return T ?? /* @__PURE__ */ o(G, {});
62
+ }, I = () => a || r ? d() : t.getRowModel().rows.length === 0 ? u ?? /* @__PURE__ */ o(L, {}) : u;
63
+ return /* @__PURE__ */ i(k, { minRows: P, maxRows: S, children: [
64
+ /* @__PURE__ */ i(
65
+ q,
66
+ {
67
+ ref: s,
68
+ ...z,
69
+ enableVirtualization: w,
70
+ estimatedRowHeight: H,
71
+ overscan: E,
72
+ children: [
73
+ /* @__PURE__ */ o(Q, { children: t.getHeaderGroups().map(
74
+ (n) => n.headers.map((e) => {
75
+ const l = `${R}-column-name-${e.column.columnDef.id}`;
76
+ return /* @__PURE__ */ o(
77
+ B,
81
78
  {
82
- columnNameId: l,
83
- helperText: t.column.columnDef.meta?.helperText,
84
- children: /* @__PURE__ */ e("span", { id: l, children: f(
85
- t.column.columnDef.header,
86
- t.getContext()
87
- ) })
88
- }
89
- )
90
- },
91
- t.id
92
- );
93
- })
94
- ) }),
95
- /* @__PURE__ */ e(
96
- F,
97
- {
98
- renderEmptyState: v,
99
- renderDataState: d,
100
- children: !a && !r && o.getRowModel().rows.map(y)
101
- }
102
- )
103
- ] }),
104
- o.getPageCount() > 0 && /* @__PURE__ */ e(
105
- G,
79
+ isFocusable: e.column.columnDef.meta?.isFocusable,
80
+ className: e.column.columnDef.meta?.headerClassName,
81
+ children: t.getRowModel().rows.length > 0 && e.column.getCanSort() ? /* @__PURE__ */ o(A, { header: e, children: /* @__PURE__ */ o(
82
+ C,
83
+ {
84
+ columnNameId: l,
85
+ helperText: e.column.columnDef.meta?.helperText,
86
+ children: /* @__PURE__ */ o("span", { id: l, children: f(
87
+ e.column.columnDef.header,
88
+ e.getContext()
89
+ ) })
90
+ }
91
+ ) }) : /* @__PURE__ */ o(
92
+ C,
93
+ {
94
+ columnNameId: l,
95
+ helperText: e.column.columnDef.meta?.helperText,
96
+ children: /* @__PURE__ */ o("span", { id: l, children: f(
97
+ e.column.columnDef.header,
98
+ e.getContext()
99
+ ) })
100
+ }
101
+ )
102
+ },
103
+ e.id
104
+ );
105
+ })
106
+ ) }),
107
+ /* @__PURE__ */ o(
108
+ j,
109
+ {
110
+ renderEmptyState: I,
111
+ renderDataState: d,
112
+ children: !a && !r && t.getRowModel().rows.map(D)
113
+ }
114
+ )
115
+ ]
116
+ }
117
+ ),
118
+ t.getPageCount() > 0 && /* @__PURE__ */ o(
119
+ W,
106
120
  {
107
- pageCount: o.getPageCount(),
108
- rowCount: o.getRowCount(),
109
- currentPage: s + 1,
121
+ pageCount: t.getPageCount(),
122
+ rowCount: t.getRowCount(),
123
+ currentPage: p + 1,
110
124
  rowsPerPage: g,
111
125
  pageSizeOptions: c?.pageSizeOptions,
112
- onPageChange: (n, t, l) => {
113
- o.setPageIndex(n - 1), S?.(n - 1, t, l);
126
+ onPageChange: (n, e, l) => {
127
+ t.setPageIndex(n - 1), h?.(n - 1, e, l);
114
128
  },
115
129
  onPageHover: (n) => {
116
130
  x?.(n);
117
131
  },
118
132
  onPageSizeChange: (n) => {
119
- o.setPageSize(n), w?.(n);
133
+ t.setPageSize(n), y?.(n);
120
134
  },
121
135
  itemLabel: c?.labels?.itemLabel
122
136
  }
123
137
  )
124
138
  ] });
125
139
  }
126
- k.displayName = "DataTable";
140
+ J.displayName = "DataTable";
127
141
  export {
128
- k as DataTable
142
+ J as DataTable
129
143
  };
@@ -15,3 +15,4 @@ export type Employee = {
15
15
  } | null;
16
16
  };
17
17
  export declare const employees: Employee[];
18
+ export declare const employees500: Employee[];
@@ -14,7 +14,7 @@ const q = k({
14
14
  dialogHeader: "uy:flex uy:items-center uy:h-500 uy:w-full",
15
15
  dialogHeaderGroup: "uy:flex uy:items-center",
16
16
  calendarGrid: "uy:border-separate uy:border-spacing-25 uy:w-full",
17
- calendarHeaderCell: "uy:typography-body-strong uy:text-content-neutral-low uy:w-[44px] uy:h-[44px] uy:p-[1px] uy:uppercase",
17
+ calendarHeaderCell: "uy:typography-body-small-strong uy:sm:typography-body-strong uy:text-content-neutral-low uy:w-[44px] uy:h-[44px] uy:p-[1px] uy:uppercase",
18
18
  calendarCell: [
19
19
  // base styles
20
20
  "uy:typography-body uy:relative uy:text-content-form-enabled uy:w-[44px] uy:h-[44px] uy:p-[1px] uy:outline-hidden uy:cursor-pointer uy:rounded-circle uy:flex uy:items-center uy:justify-center",
@@ -34,7 +34,7 @@ function x({
34
34
  m(t.target.value), p(s(t.target.value));
35
35
  },
36
36
  disabled: i,
37
- className: "uy:appearance-none uy:box-border uy:w-[var(--uy-selected-item-width)] uy:bg-transparent uy:border-none uy:rounded-50 uy:capitalize uy:text-content-form-enabled uy:typography-action-large uy:cursor-pointer uy:pr-300 uy:disabled:text-content-form-disabled uy:focus-visible:outline-2 uy:focus-visible:outline-offset-2 uy:focus-visible:outline-utility-focus-ring [-webkit-tap-highlight-color:transparent] [background-color:transparent]",
37
+ className: "uy:appearance-none uy:box-border uy:w-[var(--uy-selected-item-width)] uy:bg-transparent uy:border-none uy:rounded-50 uy:capitalize uy:text-content-form-enabled uy:typography-action-large uy:cursor-pointer uy:pr-300 uy:disabled:text-content-form-disabled uy:data-[focus-visible='true']:outline-2 uy:data-[focus-visible='true']:outline-offset-2 uy:data-[focus-visible='true']:outline-utility-focus-ring [-webkit-tap-highlight-color:transparent] [background-color:transparent]",
38
38
  style: {
39
39
  "--uy-selected-item-width": `calc(var(--uy-spacing-300) + ${y.length}ch)`
40
40
  },
@@ -1,6 +1,6 @@
1
1
  import { CalendarDate } from '@internationalized/date';
2
2
  import { DatePickerProps as AriaDatePickerProps } from 'react-aria-components';
3
- export interface DatePickerProps extends Pick<AriaDatePickerProps<CalendarDate>, 'id' | 'firstDayOfWeek'> {
3
+ export interface DatePickerProps extends Pick<AriaDatePickerProps<CalendarDate>, 'id' | 'firstDayOfWeek' | 'aria-label' | 'aria-labelledby' | 'aria-describedby' | 'aria-details'> {
4
4
  /** The currently selected date */
5
5
  value?: CalendarDate | null;
6
6
  /** The default selected date (uncontrolled) */