@payfit/unity-components 1.2.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 (460) hide show
  1. package/dist/esm/components/action-bar/ActionBar.js +14 -14
  2. package/dist/esm/components/actionable/Actionable.js +31 -28
  3. package/dist/esm/components/alert/Alert.js +41 -29
  4. package/dist/esm/components/alert/parts/AlertTitle.js +8 -8
  5. package/dist/esm/components/app-layout/AppLayout.d.ts +2 -0
  6. package/dist/esm/components/app-layout/AppLayout.js +17 -17
  7. package/dist/esm/components/app-menu/parts/AppMenuFooter.js +23 -23
  8. package/dist/esm/components/app-menu/parts/AppMenuHeader.d.ts +87 -5
  9. package/dist/esm/components/app-menu/parts/AppMenuHeader.js +25 -25
  10. package/dist/esm/components/autocomplete/Autocomplete.d.ts +0 -9
  11. package/dist/esm/components/autocomplete/Autocomplete.js +54 -57
  12. package/dist/esm/components/autocomplete/parts/AutocompleteItem.js +8 -8
  13. package/dist/esm/components/avatar/Avatar.variants.js +1 -1
  14. package/dist/esm/components/avatar/parts/AvatarFallback.js +26 -27
  15. package/dist/esm/components/badge/Badge.js +1 -1
  16. package/dist/esm/components/breadcrumbs/Breadcrumbs.context.js +3 -3
  17. package/dist/esm/components/breadcrumbs/Breadcrumbs.d.ts +19 -11
  18. package/dist/esm/components/breadcrumbs/Breadcrumbs.js +29 -18
  19. package/dist/esm/components/breadcrumbs/Breadcrumbs.variant.js +1 -1
  20. package/dist/esm/components/breadcrumbs/parts/Breadcrumb.d.ts +30 -5
  21. package/dist/esm/components/breadcrumbs/parts/Breadcrumb.js +35 -27
  22. package/dist/esm/components/breadcrumbs/parts/RawBreadcrumbLink.d.ts +37 -0
  23. package/dist/esm/components/breadcrumbs/parts/RawBreadcrumbLink.js +36 -0
  24. package/dist/esm/components/button/Button.js +6 -6
  25. package/dist/esm/components/button/Button.variants.d.ts +1 -0
  26. package/dist/esm/components/button/Button.variants.js +22 -15
  27. package/dist/esm/components/card/Card.context.d.ts +5 -0
  28. package/dist/esm/components/card/Card.context.js +14 -0
  29. package/dist/esm/components/card/Card.d.ts +210 -0
  30. package/dist/esm/components/card/Card.js +93 -0
  31. package/dist/esm/components/card/parts/CardContent.d.ts +37 -0
  32. package/dist/esm/components/card/parts/CardContent.js +8 -0
  33. package/dist/esm/components/card/parts/CardTitle.d.ts +55 -0
  34. package/dist/esm/components/card/parts/CardTitle.js +33 -0
  35. package/dist/esm/components/checkbox/Checkbox.js +38 -30
  36. package/dist/esm/components/checkbox/Checkbox.variants.d.ts +9 -9
  37. package/dist/esm/components/checkbox/Checkbox.variants.js +23 -7
  38. package/dist/esm/components/checkbox/TanstackCheckbox.d.ts +28 -0
  39. package/dist/esm/components/checkbox/TanstackCheckbox.js +51 -0
  40. package/dist/esm/components/checkbox/parts/CheckboxIndicator.js +7 -7
  41. package/dist/esm/components/checkbox-field/CheckboxField.d.ts +2 -0
  42. package/dist/esm/components/checkbox-field/TanstackCheckboxField.d.ts +14 -0
  43. package/dist/esm/components/checkbox-field/TanstackCheckboxField.js +40 -0
  44. package/dist/esm/components/checkbox-group/TanstackCheckboxGroup.d.ts +4 -0
  45. package/dist/esm/components/checkbox-group/TanstackCheckboxGroup.js +37 -0
  46. package/dist/esm/components/checkbox-group-field/CheckboxGroupField.d.ts +2 -0
  47. package/dist/esm/components/checkbox-group-field/TanstackCheckGroupField.d.ts +72 -0
  48. package/dist/esm/components/checkbox-group-field/TanstackCheckGroupField.js +40 -0
  49. package/dist/esm/components/client-side-pagination/ClientSidePagination.d.ts +103 -0
  50. package/dist/esm/components/client-side-pagination/ClientSidePagination.js +177 -0
  51. package/dist/esm/components/client-side-pagination/parts/PaginationEllipsis.d.ts +11 -0
  52. package/dist/esm/components/client-side-pagination/parts/PaginationEllipsis.js +30 -0
  53. package/dist/esm/components/client-side-pagination/parts/PaginationJumpDialog.d.ts +8 -0
  54. package/dist/esm/components/{pagination → client-side-pagination}/parts/PaginationNavButton.js +1 -1
  55. package/dist/esm/components/{pagination/parts/PaginationLink.d.ts → client-side-pagination/parts/RawPaginationLink.d.ts} +2 -2
  56. package/dist/esm/components/{pagination/parts/PaginationLink.js → client-side-pagination/parts/RawPaginationLink.js} +12 -12
  57. package/dist/esm/components/client-side-pagination/utils/pagination-window.d.ts +8 -0
  58. package/dist/esm/components/client-side-pagination/utils/pagination-window.js +33 -0
  59. package/dist/esm/components/collapsible/parts/CollapsibleContent.js +5 -5
  60. package/dist/esm/components/collapsible/parts/CollapsibleTitle.js +8 -8
  61. package/dist/esm/components/data-table/DataTable.d.ts +109 -16
  62. package/dist/esm/components/data-table/DataTable.js +107 -93
  63. package/dist/esm/components/data-table/mocks/employee-data.d.ts +1 -0
  64. package/dist/esm/components/date-calendar/DateCalendar.js +1 -1
  65. package/dist/esm/components/date-calendar/parts/DateSegmentSelect.js +1 -1
  66. package/dist/esm/components/date-picker/DatePicker.d.ts +1 -1
  67. package/dist/esm/components/date-picker/DatePicker.js +59 -50
  68. package/dist/esm/components/date-picker/TanstackDatePicker.d.ts +22 -0
  69. package/dist/esm/components/date-picker/TanstackDatePicker.js +53 -0
  70. package/dist/esm/components/date-picker/parts/DateInput.js +4 -4
  71. package/dist/esm/components/date-picker-field/DatePickerField.d.ts +2 -0
  72. package/dist/esm/components/date-picker-field/TanstackDatePickerField.d.ts +71 -0
  73. package/dist/esm/components/date-picker-field/TanstackDatePickerField.js +41 -0
  74. package/dist/esm/components/definition-list/DefinitionList.context.d.ts +19 -0
  75. package/dist/esm/components/definition-list/DefinitionList.d.ts +24 -0
  76. package/dist/esm/components/definition-list/parts/DefinitionItem.d.ts +25 -0
  77. package/dist/esm/components/dialog/Dialog.d.ts +34 -22
  78. package/dist/esm/components/dialog/Dialog.js +90 -52
  79. package/dist/esm/components/dialog/parts/DialogActions.js +6 -6
  80. package/dist/esm/components/dialog/parts/DialogTitle.js +7 -4
  81. package/dist/esm/components/dialog/test-utils.d.ts +28 -0
  82. package/dist/esm/components/dialog/test-utils.js +78 -0
  83. package/dist/esm/components/error-state/ErrorState.d.ts +13 -1
  84. package/dist/esm/components/error-state/ErrorState.js +133 -92
  85. package/dist/esm/components/error-state/initConfig.js +1 -1
  86. package/dist/esm/components/fieldset/Fieldset.d.ts +19 -0
  87. package/dist/esm/components/fieldset/Fieldset.js +32 -26
  88. package/dist/esm/components/filter/Filter.controls.d.ts +192 -0
  89. package/dist/esm/components/filter/Filter.controls.js +45 -0
  90. package/dist/esm/components/filter/Filter.d.ts +189 -0
  91. package/dist/esm/components/filter/Filter.js +147 -0
  92. package/dist/esm/components/filter/Filter.types.d.ts +121 -0
  93. package/dist/esm/components/filter/hooks/useFilterIds.d.ts +49 -0
  94. package/dist/esm/components/filter/hooks/useFilterIds.js +13 -0
  95. package/dist/esm/components/filter/hooks/useFilterState.d.ts +74 -0
  96. package/dist/esm/components/filter/hooks/useFilterState.js +23 -0
  97. package/dist/esm/components/filter/hooks/useFilterValue.d.ts +61 -0
  98. package/dist/esm/components/filter/hooks/useFilterValue.js +31 -0
  99. package/dist/esm/components/filter/parts/FilterButton.d.ts +75 -0
  100. package/dist/esm/components/filter/parts/FilterButton.js +55 -0
  101. package/dist/esm/components/filter/parts/FilterLabel.d.ts +96 -0
  102. package/dist/esm/components/filter/parts/FilterLabel.js +57 -0
  103. package/dist/esm/components/filter/parts/FilterPopover.d.ts +95 -0
  104. package/dist/esm/components/filter/parts/FilterPopover.js +79 -0
  105. package/dist/esm/components/filter/utils/value-formatters.d.ts +62 -0
  106. package/dist/esm/components/filter/utils/value-formatters.js +14 -0
  107. package/dist/esm/components/filter-toolbar/FilterToolbar.d.ts +110 -0
  108. package/dist/esm/components/filter-toolbar/FilterToolbar.js +172 -0
  109. package/dist/esm/components/filter-toolbar/FilterToolbar.types.d.ts +119 -0
  110. package/dist/esm/components/filter-toolbar/hooks/use-filter-toolbar-state.d.ts +96 -0
  111. package/dist/esm/components/filter-toolbar/hooks/use-filter-toolbar-state.js +132 -0
  112. package/dist/esm/components/filter-toolbar/parts/AddFilter.d.ts +63 -0
  113. package/dist/esm/components/filter-toolbar/parts/AddFilter.js +107 -0
  114. package/dist/esm/components/filter-toolbar/parts/AddFilterItem.d.ts +18 -0
  115. package/dist/esm/components/filter-toolbar/parts/AddFilterItem.js +18 -0
  116. package/dist/esm/components/filter-toolbar/utils/filter-adapters.d.ts +93 -0
  117. package/dist/esm/components/filter-toolbar/utils/filter-adapters.js +88 -0
  118. package/dist/esm/components/filter-toolbar/utils/normalize-filter-value.d.ts +24 -0
  119. package/dist/esm/components/filter-toolbar/utils/normalize-filter-value.js +19 -0
  120. package/dist/esm/components/flex/Flex.js +52 -37
  121. package/dist/esm/components/form/Form.d.ts +2 -0
  122. package/dist/esm/components/form/TanstackForm.d.ts +24 -0
  123. package/dist/esm/components/form/TanstackForm.js +29 -0
  124. package/dist/esm/components/form-field/FormField.d.ts +2 -0
  125. package/dist/esm/components/form-field/FormField.js +12 -12
  126. package/dist/esm/components/form-field/TanstackFormField.context.d.ts +10 -0
  127. package/dist/esm/components/form-field/TanstackFormField.context.js +14 -0
  128. package/dist/esm/components/form-field/TanstackFormField.d.ts +49 -0
  129. package/dist/esm/components/form-field/TanstackFormField.js +46 -0
  130. package/dist/esm/components/form-field/parts/FormControl.d.ts +2 -0
  131. package/dist/esm/components/form-field/parts/FormFeedbackText.d.ts +2 -0
  132. package/dist/esm/components/form-field/parts/FormHelperText.d.ts +2 -0
  133. package/dist/esm/components/form-field/parts/FormLabel.d.ts +2 -0
  134. package/dist/esm/components/form-field/parts/RawFormContextualLink.d.ts +22 -0
  135. package/dist/esm/components/form-field/parts/RawFormContextualLink.js +39 -0
  136. package/dist/esm/components/form-field/parts/TanstackFormFeedbackText.d.ts +12 -0
  137. package/dist/esm/components/form-field/parts/TanstackFormFeedbackText.js +32 -0
  138. package/dist/esm/components/form-field/parts/TanstackFormHelperText.d.ts +11 -0
  139. package/dist/esm/components/form-field/parts/TanstackFormHelperText.js +25 -0
  140. package/dist/esm/components/form-field/parts/TanstackFormLabel.d.ts +8 -0
  141. package/dist/esm/components/form-field/parts/TanstackFormLabel.js +26 -0
  142. package/dist/esm/components/form-field/parts/TanstackRawFormContextualLink.d.ts +26 -0
  143. package/dist/esm/components/form-field/parts/TanstackRawFormContextualLink.js +45 -0
  144. package/dist/esm/components/funnel-layout/parts/FunnelSidebar.d.ts +2 -2
  145. package/dist/esm/components/icon/Icon.js +23 -19
  146. package/dist/esm/components/icon-button/CircularIconButton.d.ts +9 -9
  147. package/dist/esm/components/icon-button/CircularIconButton.js +53 -36
  148. package/dist/esm/components/icon-button/IconButton.variants.d.ts +1 -0
  149. package/dist/esm/components/icon-button/IconButton.variants.js +44 -28
  150. package/dist/esm/components/input/Input.js +36 -35
  151. package/dist/esm/components/input/TanstackInput.d.ts +22 -0
  152. package/dist/esm/components/input/TanstackInput.js +38 -0
  153. package/dist/esm/components/label/Label.js +12 -12
  154. package/dist/esm/components/link/{Link.variants.d.ts → RawLink.d.ts} +92 -0
  155. package/dist/esm/components/link/{Link.variants.js → RawLink.js} +78 -5
  156. package/dist/esm/components/list-view/ListView.d.ts +56 -0
  157. package/dist/esm/components/list-view/ListView.fixtures.d.ts +20 -0
  158. package/dist/esm/components/list-view/ListView.js +44 -0
  159. package/dist/esm/components/list-view/parts/ListViewItemLabel.d.ts +34 -0
  160. package/dist/esm/components/list-view/parts/ListViewItemLabel.js +22 -0
  161. package/dist/esm/components/list-view/parts/ListViewItemText.d.ts +33 -0
  162. package/dist/esm/components/list-view/parts/ListViewItemText.js +22 -0
  163. package/dist/esm/components/list-view/parts/ListViewSection.d.ts +14 -0
  164. package/dist/esm/components/list-view/parts/ListViewSection.js +21 -0
  165. package/dist/esm/components/list-view/parts/RawListViewItem.d.ts +102 -0
  166. package/dist/esm/components/list-view/parts/RawListViewItem.js +80 -0
  167. package/dist/esm/components/menu/parts/{MenuItem.d.ts → RawMenuItem.d.ts} +3 -4
  168. package/dist/esm/components/menu/parts/{MenuItem.js → RawMenuItem.js} +9 -9
  169. package/dist/esm/components/multi-select/MultiSelect.d.ts +5 -7
  170. package/dist/esm/components/multi-select/MultiSelect.js +199 -176
  171. package/dist/esm/components/multi-select/MultiselectTypes.d.ts +114 -0
  172. package/dist/esm/components/multi-select/TanstackMultiSelect.d.ts +7 -0
  173. package/dist/esm/components/multi-select/TanstackMultiSelect.js +41 -0
  174. package/dist/esm/components/multi-select/parts/MultiSelectButton.d.ts +2 -0
  175. package/dist/esm/components/multi-select/parts/MultiSelectButton.js +62 -46
  176. package/dist/esm/components/multi-select/parts/MultiSelectPopover.js +15 -15
  177. package/dist/esm/components/multi-select-field/MultiSelectField.d.ts +45 -12
  178. package/dist/esm/components/multi-select-field/MultiSelectField.js +56 -66
  179. package/dist/esm/components/multi-select-field/TanstackMultiSelectField.d.ts +92 -0
  180. package/dist/esm/components/multi-select-field/TanstackMultiSelectField.js +48 -0
  181. package/dist/esm/components/multi-select-field/test-utils.d.ts +17 -0
  182. package/dist/esm/components/multi-select-field/test-utils.js +45 -0
  183. package/dist/esm/components/nav/parts/NavGroup.d.ts +3 -3
  184. package/dist/esm/components/nav/parts/NavGroup.js +62 -51
  185. package/dist/esm/components/nav/parts/{NavItem.d.ts → RawNavItem.d.ts} +102 -5
  186. package/dist/esm/components/nav/parts/RawNavItem.js +106 -0
  187. package/dist/esm/components/navigation-card/NavigationCard.context.d.ts +31 -0
  188. package/dist/esm/components/navigation-card/NavigationCard.context.js +13 -0
  189. package/dist/esm/components/navigation-card/NavigationCard.d.ts +46 -0
  190. package/dist/esm/components/navigation-card/NavigationCard.js +62 -0
  191. package/dist/esm/components/navigation-card/NavigationCard.types.d.ts +37 -0
  192. package/dist/esm/components/navigation-card/NavigationCard.variants.d.ts +1147 -0
  193. package/dist/esm/components/navigation-card/NavigationCard.variants.js +164 -0
  194. package/dist/esm/components/navigation-card/parts/NavigationCardDescription.d.ts +39 -0
  195. package/dist/esm/components/navigation-card/parts/NavigationCardDescription.js +22 -0
  196. package/dist/esm/components/navigation-card/parts/NavigationCardGroup.d.ts +146 -0
  197. package/dist/esm/components/navigation-card/parts/NavigationCardGroup.js +93 -0
  198. package/dist/esm/components/navigation-card/parts/NavigationCardLabel.d.ts +32 -0
  199. package/dist/esm/components/navigation-card/parts/NavigationCardLabel.js +24 -0
  200. package/dist/esm/components/number-field/NumberField.d.ts +2 -0
  201. package/dist/esm/components/number-field/TanstackNumberField.d.ts +74 -0
  202. package/dist/esm/components/number-field/TanstackNumberField.js +44 -0
  203. package/dist/esm/components/number-input/NumberInput.js +31 -29
  204. package/dist/esm/components/number-input/TanstackNumberInput.d.ts +58 -0
  205. package/dist/esm/components/number-input/TanstackNumberInput.js +38 -0
  206. package/dist/esm/components/page/Page.js +13 -12
  207. package/dist/esm/components/page/parts/PageHeader.d.ts +79 -9
  208. package/dist/esm/components/page/parts/PageHeader.js +22 -20
  209. package/dist/esm/components/pagination/Pagination.d.ts +23 -44
  210. package/dist/esm/components/pagination/Pagination.js +89 -163
  211. package/dist/esm/components/pagination/PaginationContext.d.ts +11 -0
  212. package/dist/esm/components/pagination/PaginationContext.js +15 -0
  213. package/dist/esm/components/pagination/hooks/use-pagination-state.d.ts +63 -0
  214. package/dist/esm/components/pagination/hooks/use-pagination-state.js +27 -0
  215. package/dist/esm/components/pagination/hooks/use-pagination-window.d.ts +64 -0
  216. package/dist/esm/components/pagination/hooks/use-pagination-window.js +15 -0
  217. package/dist/esm/components/pagination/parts/PaginationContent.d.ts +30 -0
  218. package/dist/esm/components/pagination/parts/PaginationContent.js +37 -0
  219. package/dist/esm/components/pagination/parts/PaginationEllipsis.d.ts +23 -4
  220. package/dist/esm/components/pagination/parts/PaginationEllipsis.js +20 -16
  221. package/dist/esm/components/pagination/parts/PaginationItem.d.ts +38 -0
  222. package/dist/esm/components/pagination/parts/PaginationItem.js +22 -0
  223. package/dist/esm/components/pagination/parts/RawPaginationLink.d.ts +11 -0
  224. package/dist/esm/components/pagination/parts/RawPaginationLink.js +60 -0
  225. package/dist/esm/components/pagination/parts/RawPaginationNext.d.ts +22 -0
  226. package/dist/esm/components/pagination/parts/RawPaginationNext.js +70 -0
  227. package/dist/esm/components/pagination/parts/RawPaginationPrevious.d.ts +22 -0
  228. package/dist/esm/components/pagination/parts/RawPaginationPrevious.js +67 -0
  229. package/dist/esm/components/pagination/utils/pagination-window.js +29 -20
  230. package/dist/esm/components/payfit-brand/PayFitBrand.d.ts +4 -0
  231. package/dist/esm/components/payfit-brand/PayFitBrand.js +30 -22
  232. package/dist/esm/components/payfit-brand/PayFitPreprod.js +25 -25
  233. package/dist/esm/components/phone-number/PhoneNumberInput.d.ts +67 -0
  234. package/dist/esm/components/phone-number/PhoneNumberInput.js +322 -0
  235. package/dist/esm/components/phone-number/TanstackPhoneNumberInput.d.ts +64 -0
  236. package/dist/esm/components/phone-number/TanstackPhoneNumberInput.js +33 -0
  237. package/dist/esm/components/phone-number/parts/PhoneNumberItem.d.ts +42 -0
  238. package/dist/esm/components/phone-number/parts/PhoneNumberItem.js +68 -0
  239. package/dist/esm/components/phone-number/unknownFlag.svg.js +4 -0
  240. package/dist/esm/components/phone-number-field/TanstackPhoneNumberField.d.ts +15 -0
  241. package/dist/esm/components/phone-number-field/TanstackPhoneNumberField.js +32 -0
  242. package/dist/esm/components/pill/Pill.d.ts +2 -2
  243. package/dist/esm/components/pill/Pill.js +8 -8
  244. package/dist/esm/components/popover/Popover.js +6 -6
  245. package/dist/esm/components/promo-dialog/PromoDialog.d.ts +149 -0
  246. package/dist/esm/components/promo-dialog/PromoDialog.js +219 -0
  247. package/dist/esm/components/promo-dialog/parts/PromoDialogActions.d.ts +44 -0
  248. package/dist/esm/components/promo-dialog/parts/PromoDialogActions.js +29 -0
  249. package/dist/esm/components/promo-dialog/parts/PromoDialogContent.d.ts +43 -0
  250. package/dist/esm/components/promo-dialog/parts/PromoDialogContent.js +20 -0
  251. package/dist/esm/components/promo-dialog/parts/PromoDialogHero.d.ts +47 -0
  252. package/dist/esm/components/promo-dialog/parts/PromoDialogHero.js +25 -0
  253. package/dist/esm/components/promo-dialog/parts/PromoDialogSubtitle.d.ts +53 -0
  254. package/dist/esm/components/promo-dialog/parts/PromoDialogSubtitle.js +21 -0
  255. package/dist/esm/components/promo-dialog/parts/PromoDialogTitle.d.ts +6 -0
  256. package/dist/esm/components/promo-dialog/parts/PromoDialogTitle.js +18 -0
  257. package/dist/esm/components/radio-button-group/TanstackRadioButtonGroup.d.ts +13 -0
  258. package/dist/esm/components/radio-button-group/TanstackRadioButtonGroup.js +43 -0
  259. package/dist/esm/components/radio-button-group/parts/RadioButton.d.ts +29 -11
  260. package/dist/esm/components/radio-button-group/parts/RadioButton.js +53 -51
  261. package/dist/esm/components/radio-button-group-field/RadioButtonGroupField.d.ts +2 -0
  262. package/dist/esm/components/radio-button-group-field/TanstackRadioButtonGroupField.d.ts +13 -0
  263. package/dist/esm/components/radio-button-group-field/TanstackRadioButtonGroupField.js +38 -0
  264. package/dist/esm/components/search/Search.js +46 -46
  265. package/dist/esm/components/segmented-button-group/parts/ToggleButton.js +5 -5
  266. package/dist/esm/components/select/Select.d.ts +5 -4
  267. package/dist/esm/components/select/Select.js +79 -53
  268. package/dist/esm/components/select/TanstackSelect.d.ts +80 -0
  269. package/dist/esm/components/select/TanstackSelect.js +34 -0
  270. package/dist/esm/components/select/parts/SearchInput.d.ts +4 -1
  271. package/dist/esm/components/select/parts/SearchInput.js +49 -31
  272. package/dist/esm/components/select/parts/SelectButton.js +19 -17
  273. package/dist/esm/components/select/parts/SelectOption.js +9 -9
  274. package/dist/esm/components/select-field/SelectField.d.ts +2 -0
  275. package/dist/esm/components/select-field/SelectField.js +8 -9
  276. package/dist/esm/components/select-field/TanstackSelectField.d.ts +124 -0
  277. package/dist/esm/components/select-field/TanstackSelectField.js +44 -0
  278. package/dist/esm/components/select-list/SelectList.d.ts +95 -0
  279. package/dist/esm/components/select-list/SelectList.js +79 -0
  280. package/dist/esm/components/select-list/SelectList.types.d.ts +29 -0
  281. package/dist/esm/components/select-list/constants.d.ts +36 -0
  282. package/dist/esm/components/select-list/constants.js +29 -0
  283. package/dist/esm/components/select-list/helpers.d.ts +42 -0
  284. package/dist/esm/components/select-list/helpers.js +48 -0
  285. package/dist/esm/components/select-list/hooks/useControlledSelection.d.ts +23 -0
  286. package/dist/esm/components/select-list/hooks/useControlledSelection.js +16 -0
  287. package/dist/esm/components/select-list/hooks/useSelectedFirstSorting.d.ts +23 -0
  288. package/dist/esm/components/select-list/hooks/useSelectedFirstSorting.js +31 -0
  289. package/dist/esm/components/select-list/parts/SelectListEmptyState.d.ts +8 -0
  290. package/dist/esm/components/select-list/parts/SelectListEmptyState.js +25 -0
  291. package/dist/esm/components/select-list/parts/SelectListOptGroup.d.ts +118 -0
  292. package/dist/esm/components/select-list/parts/SelectListOptGroup.js +28 -0
  293. package/dist/esm/components/select-list/parts/SelectListOption.d.ts +24 -0
  294. package/dist/esm/components/select-list/parts/SelectListOption.js +72 -0
  295. package/dist/esm/components/select-list/parts/SelectListSearchInput.d.ts +2 -0
  296. package/dist/esm/components/select-list/parts/SelectListSearchInput.js +43 -0
  297. package/dist/esm/components/select-list/parts/SelectedItemsSection.d.ts +54 -0
  298. package/dist/esm/components/select-list/parts/SelectedItemsSection.js +35 -0
  299. package/dist/esm/components/select-list/utils/partition.d.ts +13 -0
  300. package/dist/esm/components/select-list/utils/partition.js +9 -0
  301. package/dist/esm/components/selectable-button-group/SelectableButtonGroup.context.d.ts +1 -5
  302. package/dist/esm/components/selectable-button-group/SelectableButtonGroup.d.ts +6 -1
  303. package/dist/esm/components/selectable-button-group/SelectableButtonGroup.js +23 -23
  304. package/dist/esm/components/selectable-button-group/TanstackSelectableButtonGroup.d.ts +27 -0
  305. package/dist/esm/components/selectable-button-group/TanstackSelectableButtonGroup.js +34 -0
  306. package/dist/esm/components/selectable-button-group/parts/SelectableButton.d.ts +1 -16
  307. package/dist/esm/components/selectable-button-group/parts/SelectableButton.js +56 -57
  308. package/dist/esm/components/selectable-button-group-field/SelectableButtonGroupField.d.ts +2 -0
  309. package/dist/esm/components/selectable-button-group-field/TanstackSelectableButtonGroupField.d.ts +81 -0
  310. package/dist/esm/components/selectable-button-group-field/TanstackSelectableButtonGroupField.js +47 -0
  311. package/dist/esm/components/selectable-card/internals/Description.js +1 -1
  312. package/dist/esm/components/selectable-card/selectable-card-checkbox-group/SelectableCardCheckboxGroup.js +1 -1
  313. package/dist/esm/components/selectable-card/selectable-card-checkbox-group/TanstackSelectableCardCheckboxGroup.d.ts +26 -0
  314. package/dist/esm/components/selectable-card/selectable-card-checkbox-group/TanstackSelectableCardCheckboxGroup.js +32 -0
  315. package/dist/esm/components/selectable-card/selectable-card-checkbox-group/parts/SelectableCardCheckbox.js +24 -24
  316. package/dist/esm/components/selectable-card/selectable-card-radio-group/SelectableCardRadioGroup.d.ts +2 -0
  317. package/dist/esm/components/selectable-card/selectable-card-radio-group/SelectableCardRadioGroup.js +12 -14
  318. package/dist/esm/components/selectable-card/selectable-card-radio-group/TanstackSelectableCardRadioGroup.d.ts +28 -0
  319. package/dist/esm/components/selectable-card/selectable-card-radio-group/TanstackSelectableCardRadioGroup.js +32 -0
  320. package/dist/esm/components/selectable-card/selectable-card-radio-group/parts/RadioIndicator.js +14 -13
  321. package/dist/esm/components/selectable-card/selectable-card-radio-group/parts/SelectableCardRadio.js +27 -25
  322. package/dist/esm/components/selectable-card/selectableCard.variant.js +5 -5
  323. package/dist/esm/components/selectable-card-checkbox-group-field/SelectableCardCheckboxGroupField.d.ts +2 -0
  324. package/dist/esm/components/selectable-card-checkbox-group-field/TanstackSelectableCardCheckboxGroupField.d.ts +10 -0
  325. package/dist/esm/components/selectable-card-checkbox-group-field/TanstackSelectableCardCheckboxGroupField.js +38 -0
  326. package/dist/esm/components/selectable-card-radio-group-field/SelectableCardRadioGroupField.d.ts +2 -0
  327. package/dist/esm/components/selectable-card-radio-group-field/TanstackSelectableCardRadioGroupField.d.ts +10 -0
  328. package/dist/esm/components/selectable-card-radio-group-field/TanstackSelectableCardRadioGroupField.js +38 -0
  329. package/dist/esm/components/skip-links/SkipLinks.js +1 -1
  330. package/dist/esm/components/table/Table.context.d.ts +5 -0
  331. package/dist/esm/components/table/Table.context.js +14 -13
  332. package/dist/esm/components/table/Table.d.ts +94 -0
  333. package/dist/esm/components/table/Table.js +145 -108
  334. package/dist/esm/components/table/hooks/useTableKeyboardNavigation.js +6 -6
  335. package/dist/esm/components/table/parts/TableBody.js +83 -21
  336. package/dist/esm/components/table/parts/TableCell.js +29 -26
  337. package/dist/esm/components/table/parts/TableEmptyState.js +6 -6
  338. package/dist/esm/components/table/parts/TableHeader.js +1 -1
  339. package/dist/esm/components/table/parts/TablePagination.d.ts +5 -5
  340. package/dist/esm/components/table/parts/TablePagination.js +11 -11
  341. package/dist/esm/components/table/parts/TableRow.js +22 -18
  342. package/dist/esm/components/tabs/Tabs.variant.d.ts +0 -6
  343. package/dist/esm/components/tabs/Tabs.variant.js +11 -12
  344. package/dist/esm/components/tabs/parts/{Tab.d.ts → RawTab.d.ts} +2 -2
  345. package/dist/esm/components/tabs/parts/{Tab.js → RawTab.js} +6 -6
  346. package/dist/esm/components/task-menu/TaskMenu.d.ts +4 -4
  347. package/dist/esm/components/task-menu/parts/{SubTask.d.ts → RawSubTask.d.ts} +7 -7
  348. package/dist/esm/components/task-menu/parts/{SubTask.js → RawSubTask.js} +43 -43
  349. package/dist/esm/components/task-menu/parts/{Task.d.ts → RawTask.d.ts} +7 -7
  350. package/dist/esm/components/task-menu/parts/{Task.js → RawTask.js} +45 -41
  351. package/dist/esm/components/task-menu/parts/TaskGroup.d.ts +5 -5
  352. package/dist/esm/components/task-menu/parts/TaskGroup.js +30 -26
  353. package/dist/esm/components/task-menu/parts/task.variants.js +4 -2
  354. package/dist/esm/components/text/Text.d.ts +11 -1
  355. package/dist/esm/components/text/Text.js +43 -30
  356. package/dist/esm/components/text/Text.variants.d.ts +12 -0
  357. package/dist/esm/components/text/Text.variants.js +4 -0
  358. package/dist/esm/components/text-area/TanstackTextArea.d.ts +21 -0
  359. package/dist/esm/components/text-area/TanstackTextArea.js +35 -0
  360. package/dist/esm/components/text-area/TextArea.js +31 -29
  361. package/dist/esm/components/text-field/TanstackTextField.d.ts +79 -0
  362. package/dist/esm/components/text-field/TanstackTextField.js +60 -0
  363. package/dist/esm/components/text-field/TextField.d.ts +2 -0
  364. package/dist/esm/components/toast/UnityToast.js +5 -5
  365. package/dist/esm/components/toast/test-utils.d.ts +36 -0
  366. package/dist/esm/components/toast/test-utils.js +118 -0
  367. package/dist/esm/components/toggle-switch/TanstackToggleSwitch.d.ts +46 -0
  368. package/dist/esm/components/toggle-switch/TanstackToggleSwitch.js +25 -0
  369. package/dist/esm/components/toggle-switch/ToggleSwitch.d.ts +21 -9
  370. package/dist/esm/components/toggle-switch/ToggleSwitch.js +71 -32
  371. package/dist/esm/components/toggle-switch-field/TanstackToggleSwitchField.d.ts +11 -0
  372. package/dist/esm/components/toggle-switch-field/TanstackToggleSwitchField.js +34 -0
  373. package/dist/esm/components/toggle-switch-field/ToggleSwitchField.d.ts +2 -0
  374. package/dist/esm/components/toggle-switch-group/TanstackToggleSwitchGroup.d.ts +57 -0
  375. package/dist/esm/components/toggle-switch-group/TanstackToggleSwitchGroup.js +23 -0
  376. package/dist/esm/components/toggle-switch-group/ToggleSwitchGroup.js +1 -1
  377. package/dist/esm/components/toggle-switch-group-field/TanstackToggleSwitchGroupField.d.ts +19 -0
  378. package/dist/esm/components/toggle-switch-group-field/TanstackToggleSwitchGroupField.js +50 -0
  379. package/dist/esm/components/toggle-switch-group-field/ToggleSwitchGroupField.d.ts +2 -0
  380. package/dist/esm/docs/{table → examples/data}/mocks/employee-columns.d.ts +1 -1
  381. package/dist/esm/hooks/tanstack-form-context.d.ts +1 -0
  382. package/dist/esm/hooks/tanstack-form-context.js +8 -0
  383. package/dist/esm/hooks/use-container-query-level.d.ts +42 -0
  384. package/dist/esm/hooks/use-container-query-level.js +33 -0
  385. package/dist/esm/hooks/use-form.d.ts +2 -0
  386. package/dist/esm/hooks/use-has-scroll.d.ts +71 -0
  387. package/dist/esm/hooks/use-has-scroll.js +75 -0
  388. package/dist/esm/hooks/use-tanstack-form.d.ts +369 -0
  389. package/dist/esm/hooks/use-tanstack-form.js +209 -0
  390. package/dist/esm/index.d.ts +64 -30
  391. package/dist/esm/index.js +482 -394
  392. package/dist/esm/index.storybook-testing.d.ts +3 -0
  393. package/dist/esm/integrations/tanstack-router/components/breadcrumbs/Breadcrumb.d.ts +23 -0
  394. package/dist/esm/integrations/tanstack-router/components/breadcrumbs/BreadcrumbLink.d.ts +38 -0
  395. package/dist/esm/integrations/tanstack-router/components/breadcrumbs/BreadcrumbLink.js +7 -0
  396. package/dist/esm/integrations/tanstack-router/components/breadcrumbs/Breadcrumbs.d.ts +23 -0
  397. package/dist/esm/integrations/tanstack-router/components/breadcrumbs/use-route-breadcrumb.d.ts +53 -0
  398. package/dist/esm/integrations/tanstack-router/components/form-contextual-link/FormContextualLink.d.ts +45 -0
  399. package/dist/esm/integrations/tanstack-router/components/form-contextual-link/FormContextualLink.js +7 -0
  400. package/dist/esm/integrations/tanstack-router/components/form-contextual-link/TanstackFormContextualLink.d.ts +43 -0
  401. package/dist/esm/integrations/tanstack-router/components/link/Link.d.ts +33 -0
  402. package/dist/esm/integrations/tanstack-router/components/link/Link.js +7 -0
  403. package/dist/esm/integrations/tanstack-router/components/list-view/ListView.d.ts +34 -0
  404. package/dist/esm/integrations/tanstack-router/components/list-view/ListView.js +25 -0
  405. package/dist/esm/integrations/tanstack-router/components/list-view/parts/ListViewItem.d.ts +51 -0
  406. package/dist/esm/integrations/tanstack-router/components/list-view/parts/ListViewItem.js +32 -0
  407. package/dist/esm/integrations/tanstack-router/components/menu-item/MenuItem.d.ts +49 -0
  408. package/dist/esm/integrations/tanstack-router/components/menu-item/MenuItem.js +16 -0
  409. package/dist/esm/integrations/tanstack-router/components/nav-item/NavItem.d.ts +52 -0
  410. package/dist/esm/integrations/tanstack-router/components/nav-item/NavItem.js +29 -0
  411. package/dist/esm/integrations/tanstack-router/components/navigation-card/NavigationCard.d.ts +73 -0
  412. package/dist/esm/integrations/tanstack-router/components/navigation-card/NavigationCard.js +37 -0
  413. package/dist/esm/integrations/tanstack-router/components/pagination/PaginationLink.d.ts +54 -0
  414. package/dist/esm/integrations/tanstack-router/components/pagination/PaginationLink.js +21 -0
  415. package/dist/esm/integrations/tanstack-router/components/pagination/PaginationNext.d.ts +52 -0
  416. package/dist/esm/integrations/tanstack-router/components/pagination/PaginationNext.js +22 -0
  417. package/dist/esm/integrations/tanstack-router/components/pagination/PaginationPrevious.d.ts +51 -0
  418. package/dist/esm/integrations/tanstack-router/components/pagination/PaginationPrevious.js +22 -0
  419. package/dist/esm/integrations/tanstack-router/components/tabs/Tabs.d.ts +82 -0
  420. package/dist/esm/integrations/tanstack-router/components/tabs/Tabs.js +41 -0
  421. package/dist/esm/integrations/tanstack-router/components/tabs/parts/Tab.d.ts +52 -0
  422. package/dist/esm/integrations/tanstack-router/components/tabs/parts/Tab.js +15 -0
  423. package/dist/esm/integrations/tanstack-router/components/tabs/parts/TabList.d.ts +5 -0
  424. package/dist/esm/integrations/tanstack-router/components/tabs/parts/TabPanel.d.ts +77 -0
  425. package/dist/esm/integrations/tanstack-router/components/tabs/parts/TabPanel.js +16 -0
  426. package/dist/esm/integrations/tanstack-router/components/task-menu/SubTask.d.ts +69 -0
  427. package/dist/esm/integrations/tanstack-router/components/task-menu/SubTask.js +14 -0
  428. package/dist/esm/integrations/tanstack-router/components/task-menu/Task.d.ts +64 -0
  429. package/dist/esm/integrations/tanstack-router/components/task-menu/Task.js +14 -0
  430. package/dist/esm/integrations/tanstack-router/index.d.ts +19 -0
  431. package/dist/esm/integrations/tanstack-router/utils/decorators.d.ts +23 -0
  432. package/dist/esm/integrations/tanstack-router.js +40 -0
  433. package/dist/esm/mocks/employees.d.ts +1 -5
  434. package/dist/esm/providers/router/RouterProvider.d.ts +7 -2
  435. package/dist/esm/providers/router/RouterProvider.js +14 -10
  436. package/dist/esm/storybook-testing.js +8 -2
  437. package/dist/esm/storybook-utilities/previewTransform.d.ts +1 -0
  438. package/dist/esm/types/DataAttributes.d.ts +1 -1
  439. package/dist/esm/utils/scroll-detection.d.ts +77 -0
  440. package/dist/esm/utils/scroll-detection.js +33 -0
  441. package/dist/esm/utils/spacing.d.ts +63 -0
  442. package/dist/esm/utils/spacing.js +15 -0
  443. package/i18n/en-GB.json +22 -8
  444. package/i18n/es-ES.json +24 -10
  445. package/i18n/fr-FR.json +25 -11
  446. package/package.json +66 -45
  447. package/dist/esm/components/form-field/parts/FormContextualLink.d.ts +0 -20
  448. package/dist/esm/components/form-field/parts/FormContextualLink.js +0 -37
  449. package/dist/esm/components/link/Link.d.ts +0 -93
  450. package/dist/esm/components/link/Link.js +0 -68
  451. package/dist/esm/components/multi-select/Multiselect.types.d.ts +0 -109
  452. package/dist/esm/components/nav/parts/NavItem.js +0 -95
  453. package/dist/esm/integrations/react-router/v5/UnityReactRouterV5Provider.d.ts +0 -6
  454. package/dist/esm/integrations/react-router/v5/UnityReactRouterV5Provider.js +0 -28
  455. package/dist/esm/integrations/react-router/v5/index.d.ts +0 -1
  456. package/dist/esm/integrations/react-router/v5.js +0 -4
  457. /package/dist/esm/components/{pagination → client-side-pagination}/hooks/use-pagination.d.ts +0 -0
  458. /package/dist/esm/components/{pagination → client-side-pagination}/hooks/use-pagination.js +0 -0
  459. /package/dist/esm/components/{pagination → client-side-pagination}/parts/PaginationJumpDialog.js +0 -0
  460. /package/dist/esm/components/{pagination → client-side-pagination}/parts/PaginationNavButton.d.ts +0 -0
@@ -0,0 +1,69 @@
1
+ import { RegisteredRouter, ValidateLinkOptions } from '@tanstack/react-router';
2
+ import { SubTaskProps as RawSubTaskProps } from '../../../../components/task-menu/parts/RawSubTask.js';
3
+ type SubTaskRouterProps<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown> = Omit<RawSubTaskProps, 'href' | 'onPress'> & ValidateLinkOptions<TRouter, TOptions>;
4
+ type SubTaskButtonProps = Omit<RawSubTaskProps, 'href'> & {
5
+ onPress: NonNullable<RawSubTaskProps['onPress']>;
6
+ };
7
+ export type SubTaskProps<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown> = SubTaskRouterProps<TRouter, TOptions> | SubTaskButtonProps;
8
+ /**
9
+ * A subtask component that integrates with Tanstack Router for seamless navigation within task groups.
10
+ * Represents individual subtask items within a TaskGroup that can be either links for navigation or buttons
11
+ * for custom interactions, with support for various visual states including completed, uncompleted, and locked.
12
+ * @param {SubTaskProps} props - Either router-based props (with 'to') or button-based props (with 'onPress')
13
+ * @example
14
+ * ```tsx
15
+ * import { SubTask } from '@payfit/unity-components/integrations/tanstack-router'
16
+ * import { TaskMenu, TaskGroup } from '@payfit/unity-components'
17
+ *
18
+ * function OnboardingTaskGroup() {
19
+ * return (
20
+ * <TaskMenu label="Onboarding tasks">
21
+ * <TaskGroup
22
+ * uniqueId="onboarding"
23
+ * label="Complete Onboarding"
24
+ * taskNumber={1}
25
+ * taskStatus="uncompleted"
26
+ * >
27
+ * <SubTask
28
+ * uniqueId="profile-setup"
29
+ * label="Complete Profile Information"
30
+ * taskStatus="uncompleted"
31
+ * to="/onboarding/profile"
32
+ * />
33
+ * <SubTask
34
+ * uniqueId="validate-email"
35
+ * label="Validate Email Address"
36
+ * taskStatus="completed"
37
+ * onPress={() => console.log('Email validation triggered')}
38
+ * />
39
+ * <SubTask
40
+ * uniqueId="final-approval"
41
+ * label="Manager Approval"
42
+ * taskStatus="locked"
43
+ * to="/onboarding/approval"
44
+ * />
45
+ * </TaskGroup>
46
+ * </TaskMenu>
47
+ * )
48
+ * }
49
+ * ```
50
+ * @remarks
51
+ * - Automatically renders as a link when 'to' prop is provided, or as a button when 'onPress' is provided
52
+ * - Supports type-safe route parameters, search params, and relative navigation with Tanstack Router
53
+ * - Integrates with TaskGroup component for hierarchical task organization
54
+ * - Provides automatic active state styling based on current route
55
+ * - Supports multiple task states: completed, uncompleted, and locked
56
+ * - Displays a dot indicator instead of a numbered badge to distinguish from main Task components
57
+ * - Maintains all accessibility features from the underlying RawSubTask component
58
+ * - SubTask selection state is automatically managed based on routing context
59
+ * @see {@link SubTaskProps} for all available props
60
+ * @see Source code in {@link https://github.com/PayFit/hr-apps/tree/master/libs/shared/unity/components/src/integrations/tanstack-router/components/task-menu GitHub}
61
+ * @see Design specs {@link https://www.figma.com/design/poaMyU7abAgL9VRhx4ygyy/Unity-DS-%3E-Components-Library Figma}
62
+ * @see Design docs in {@link https://www.payfit.design/ Payfit.design}
63
+ * @see Developer docs in {@link https://unity-components.payfit.io/?path=/ unity-components.payfit.io}
64
+ */
65
+ declare function SubTask<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown>(props: SubTaskProps<TRouter, TOptions>): import("react/jsx-runtime").JSX.Element;
66
+ declare namespace SubTask {
67
+ var displayName: string;
68
+ }
69
+ export { SubTask };
@@ -0,0 +1,14 @@
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import { createLink as e } from "@tanstack/react-router";
3
+ import { RawSubTask as o } from "../../../../components/task-menu/parts/RawSubTask.js";
4
+ const i = e(o);
5
+ function a(r) {
6
+ return "to" in r || "href" in r ? (
7
+ // @ts-expect-error - Complex type intersection between router props and component props
8
+ /* @__PURE__ */ t(i, { ...r, activeProps: { "data-current": !0 } })
9
+ ) : /* @__PURE__ */ t(o, { ...r });
10
+ }
11
+ a.displayName = "SubTask";
12
+ export {
13
+ a as SubTask
14
+ };
@@ -0,0 +1,64 @@
1
+ import { RegisteredRouter, ValidateLinkOptions } from '@tanstack/react-router';
2
+ import { TaskProps as RawTaskProps } from '../../../../components/task-menu/parts/RawTask.js';
3
+ type TaskRouterProps<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown> = Omit<RawTaskProps, 'href' | 'onPress'> & ValidateLinkOptions<TRouter, TOptions>;
4
+ type TaskButtonProps = Omit<RawTaskProps, 'href'> & {
5
+ onPress: NonNullable<RawTaskProps['onPress']>;
6
+ };
7
+ export type TaskProps<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown> = TaskRouterProps<TRouter, TOptions> | TaskButtonProps;
8
+ /**
9
+ * A task component that integrates with Tanstack Router for seamless navigation within task menus.
10
+ * Represents individual task items that can be either links for navigation or buttons for custom interactions,
11
+ * with support for various visual states including completed, uncompleted, locked, and selected states.
12
+ * @param {TaskProps} props - Either router-based props (with 'to') or button-based props (with 'onPress')
13
+ * @example
14
+ * ```tsx
15
+ * import { Task } from '@payfit/unity-components/integrations/tanstack-router'
16
+ * import { TaskMenu } from '@payfit/unity-components'
17
+ *
18
+ * function OnboardingTasks() {
19
+ * return (
20
+ * <TaskMenu label="Onboarding tasks">
21
+ * <Task
22
+ * uniqueId="setup-profile"
23
+ * label="Complete Profile Setup"
24
+ * taskNumber={1}
25
+ * taskStatus="uncompleted"
26
+ * to="/profile/setup"
27
+ * />
28
+ * <Task
29
+ * uniqueId="validate-data"
30
+ * label="Validate Information"
31
+ * taskNumber={2}
32
+ * taskStatus="completed"
33
+ * onPress={() => console.log('Validation triggered')}
34
+ * />
35
+ * <Task
36
+ * uniqueId="final-review"
37
+ * label="Final Review"
38
+ * taskNumber={3}
39
+ * taskStatus="locked"
40
+ * to="/review"
41
+ * />
42
+ * </TaskMenu>
43
+ * )
44
+ * }
45
+ * ```
46
+ * @remarks
47
+ * - Automatically renders as a link when 'to' prop is provided, or as a button when 'onPress' is provided
48
+ * - Supports type-safe route parameters, search params, and relative navigation with Tanstack Router
49
+ * - Integrates with TaskMenu component for consistent task navigation UI patterns
50
+ * - Provides automatic active state styling based on current route
51
+ * - Supports multiple task states: completed, uncompleted, and locked
52
+ * - Maintains all accessibility features from the underlying RawTask component
53
+ * - Task selection state is automatically managed based on routing context
54
+ * @see {@link TaskProps} for all available props
55
+ * @see Source code in {@link https://github.com/PayFit/hr-apps/tree/master/libs/shared/unity/components/src/integrations/tanstack-router/components/task-menu GitHub}
56
+ * @see Design specs {@link https://www.figma.com/design/poaMyU7abAgL9VRhx4ygyy/Unity-DS-%3E-Components-Library Figma}
57
+ * @see Design docs in {@link https://www.payfit.design/ Payfit.design}
58
+ * @see Developer docs in {@link https://unity-components.payfit.io/?path=/ unity-components.payfit.io}
59
+ */
60
+ declare function Task<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown>(props: TaskProps<TRouter, TOptions>): import("react/jsx-runtime").JSX.Element;
61
+ declare namespace Task {
62
+ var displayName: string;
63
+ }
64
+ export { Task };
@@ -0,0 +1,14 @@
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import { createLink as e } from "@tanstack/react-router";
3
+ import { RawTask as o } from "../../../../components/task-menu/parts/RawTask.js";
4
+ const i = e(o);
5
+ function a(r) {
6
+ return "to" in r || "href" in r ? (
7
+ // @ts-expect-error - Complex type intersection between router props and component props
8
+ /* @__PURE__ */ t(i, { ...r, activeProps: { "data-current": !0 } })
9
+ ) : /* @__PURE__ */ t(o, { ...r });
10
+ }
11
+ a.displayName = "Task";
12
+ export {
13
+ a as Task
14
+ };
@@ -0,0 +1,19 @@
1
+ export * from './components/breadcrumbs/Breadcrumb.js';
2
+ export * from './components/breadcrumbs/BreadcrumbLink.js';
3
+ export * from './components/breadcrumbs/Breadcrumbs.js';
4
+ export * from './components/form-contextual-link/FormContextualLink.js';
5
+ export * from './components/link/Link.js';
6
+ export * from './components/list-view/ListView.js';
7
+ export * from './components/list-view/parts/ListViewItem.js';
8
+ export * from './components/menu-item/MenuItem.js';
9
+ export * from './components/navigation-card/NavigationCard.js';
10
+ export * from './components/nav-item/NavItem.js';
11
+ export * from './components/pagination/PaginationLink.js';
12
+ export * from './components/pagination/PaginationNext.js';
13
+ export * from './components/pagination/PaginationPrevious.js';
14
+ export * from './components/tabs/parts/Tab.js';
15
+ export * from './components/tabs/parts/TabPanel.js';
16
+ export * from './components/tabs/parts/TabList.js';
17
+ export * from './components/tabs/Tabs.js';
18
+ export * from './components/task-menu/Task.js';
19
+ export * from './components/task-menu/SubTask.js';
@@ -0,0 +1,23 @@
1
+ import { Decorator, StoryContext } from '@storybook/react-vite';
2
+ import { AnyContext, LoaderFnContext, RootRoute, RouteComponent } from '@tanstack/react-router';
3
+ interface RouteConfig {
4
+ path: string;
5
+ element: RouteComponent | 'story';
6
+ loader?: ((ctx: LoaderFnContext<RootRoute<undefined, object, AnyContext, AnyContext, object>, any, any, any, AnyContext, any, any>) => any) | undefined;
7
+ children?: RouteConfig[];
8
+ beforeLoad?: ((ctx: LoaderFnContext<RootRoute<undefined, object, AnyContext, AnyContext, object>, any, any, any, AnyContext, any, any>) => any) | undefined;
9
+ validateSearch?: (search: Record<string, unknown>) => any;
10
+ loaderDeps?: (deps: Record<string, unknown>) => Record<string, unknown>;
11
+ }
12
+ export interface TanstackRouterDecoratorContext extends StoryContext {
13
+ parameters: {
14
+ router?: {
15
+ initialPath?: string;
16
+ renderRootRoute?: (Story: Parameters<Decorator>[0]) => React.ReactNode;
17
+ routes: RouteConfig[];
18
+ };
19
+ enableTanstackRouterDevTools?: boolean;
20
+ };
21
+ }
22
+ export declare const TanstackRouterDecorator: Decorator;
23
+ export {};
@@ -0,0 +1,40 @@
1
+ import { BreadcrumbLink as e } from "./tanstack-router/components/breadcrumbs/BreadcrumbLink.js";
2
+ import { FormContextualLink as m } from "./tanstack-router/components/form-contextual-link/FormContextualLink.js";
3
+ import { Link as x } from "./tanstack-router/components/link/Link.js";
4
+ import { ListView as p } from "./tanstack-router/components/list-view/ListView.js";
5
+ import { ListViewItem as n } from "./tanstack-router/components/list-view/parts/ListViewItem.js";
6
+ import { MenuItem as s } from "./tanstack-router/components/menu-item/MenuItem.js";
7
+ import { NavigationCard as L } from "./tanstack-router/components/navigation-card/NavigationCard.js";
8
+ import { NavItem as T } from "./tanstack-router/components/nav-item/NavItem.js";
9
+ import { PaginationLink as d } from "./tanstack-router/components/pagination/PaginationLink.js";
10
+ import { PaginationNext as c } from "./tanstack-router/components/pagination/PaginationNext.js";
11
+ import { PaginationPrevious as B } from "./tanstack-router/components/pagination/PaginationPrevious.js";
12
+ import { Tab as N } from "./tanstack-router/components/tabs/parts/Tab.js";
13
+ import { TabPanel as w } from "./tanstack-router/components/tabs/parts/TabPanel.js";
14
+ import { Tabs as V } from "./tanstack-router/components/tabs/Tabs.js";
15
+ import { Task as M } from "./tanstack-router/components/task-menu/Task.js";
16
+ import { SubTask as h } from "./tanstack-router/components/task-menu/SubTask.js";
17
+ import { Breadcrumb as q } from "../components/breadcrumbs/parts/Breadcrumb.js";
18
+ import { Breadcrumbs as z } from "../components/breadcrumbs/Breadcrumbs.js";
19
+ import { TabList as D } from "../components/tabs/parts/TabList.js";
20
+ export {
21
+ q as Breadcrumb,
22
+ e as BreadcrumbLink,
23
+ z as Breadcrumbs,
24
+ m as FormContextualLink,
25
+ x as Link,
26
+ p as ListView,
27
+ n as ListViewItem,
28
+ s as MenuItem,
29
+ T as NavItem,
30
+ L as NavigationCard,
31
+ d as PaginationLink,
32
+ c as PaginationNext,
33
+ B as PaginationPrevious,
34
+ h as SubTask,
35
+ N as Tab,
36
+ D as TabList,
37
+ w as TabPanel,
38
+ V as Tabs,
39
+ M as Task
40
+ };
@@ -8,10 +8,6 @@ export type Employee = {
8
8
  startWorkingDate: string;
9
9
  endWorkingDate: string;
10
10
  status: 'active' | 'onboarding' | 'offboarding' | 'inactive' | 'retired';
11
- manager: {
12
- name: string;
13
- position: string;
14
- team: string;
15
- } | null;
11
+ manager: Pick<Employee, 'name' | 'position' | 'team'> | null;
16
12
  };
17
13
  export declare const mockEmployees: Employee[];
@@ -1,4 +1,4 @@
1
- import { ComponentProps } from 'react';
1
+ import { ComponentProps, PropsWithChildren } from 'react';
2
2
  import { RouterProvider as AriaRouterProvider } from 'react-aria-components';
3
3
  export interface ExtendedRouterContextValue {
4
4
  /**
@@ -26,7 +26,7 @@ export interface RouterProviderProps extends ComponentProps<typeof AriaRouterPro
26
26
  isActive: (to: string) => boolean;
27
27
  }
28
28
  /**
29
- * The `RouterProvider` component is a provider that allows for integrations between Unity components that render links (such as `Link`, `NavItem`, etc.) and any client-side routing library in a single or multi-page application.
29
+ * The `RouterProvider` component is a provider that allows for integrations between Unity components that render links (such as `RawLink`, `RawNavItem`, etc.) and any client-side routing library in a single or multi-page application.
30
30
  *
31
31
  * By default, links perform native browser navigation when they are interacted with. However, many apps and frameworks use client side routers to avoid a full page reload when navigating between pages. The `RouterProvider` component configures all Unity components that support it to navigate using the client side router you provide. Set this up once in the root of your app, and any component with the href prop will automatically navigate using your router.
32
32
  */
@@ -34,4 +34,9 @@ export declare function RouterProvider({ isActive, children, ...routerProps }: R
34
34
  export declare namespace RouterProvider {
35
35
  var displayName: string;
36
36
  }
37
+ /**
38
+ * The `NoopRouterProvider` should only be use when transitioning between routers to bail out of the previous provider
39
+ * that is rendered upper in the react tree.
40
+ */
41
+ export declare function NoopRouterProvider({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
37
42
  export {};
@@ -1,18 +1,22 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import { useContext as u, createContext as i } from "react";
2
+ import { useContext as n, createContext as i } from "react";
3
3
  import { RouterProvider as d } from "react-aria-components";
4
4
  const o = i(
5
5
  null
6
- ), R = () => u(o);
7
- function m({
8
- isActive: t,
9
- children: n,
10
- ...r
6
+ ), a = () => n(o);
7
+ function v({
8
+ isActive: r,
9
+ children: u,
10
+ ...t
11
11
  }) {
12
- return /* @__PURE__ */ e(o.Provider, { value: { isActive: t, ...r }, children: /* @__PURE__ */ e(d, { ...r, children: n }) });
12
+ return /* @__PURE__ */ e(o.Provider, { value: { isActive: r, ...t }, children: /* @__PURE__ */ e(d, { ...t, children: u }) });
13
13
  }
14
- m.displayName = "RouterProvider";
14
+ function c({ children: r }) {
15
+ return /* @__PURE__ */ e(o.Provider, { value: null, children: r });
16
+ }
17
+ v.displayName = "RouterProvider";
15
18
  export {
16
- m as RouterProvider,
17
- R as useRouter
19
+ c as NoopRouterProvider,
20
+ v as RouterProvider,
21
+ a as useRouter
18
22
  };
@@ -1,6 +1,12 @@
1
1
  import { getTestingUtilsDatePicker as i } from "./components/date-picker-field/test-utils.js";
2
- import { getTestingUtilsSelect as g } from "./components/select-field/test-utils.js";
2
+ import { getTestingUtilsMultiSelect as g } from "./components/multi-select-field/test-utils.js";
3
+ import { getTestingUtilsSelect as s } from "./components/select-field/test-utils.js";
4
+ import { getTestingUtilsToast as T } from "./components/toast/test-utils.js";
5
+ import { getTestingUtilsDialog as m } from "./components/dialog/test-utils.js";
3
6
  export {
4
7
  i as getTestingUtilsDatePicker,
5
- g as getTestingUtilsSelect
8
+ m as getTestingUtilsDialog,
9
+ g as getTestingUtilsMultiSelect,
10
+ s as getTestingUtilsSelect,
11
+ T as getTestingUtilsToast
6
12
  };
@@ -1 +1,2 @@
1
1
  export declare const previewTransform: (code: string) => Promise<string>;
2
+ export declare const extractRenderProperty: (code: string) => string;
@@ -1 +1 @@
1
- export type DataAttributes = Record<`data-${string}`, string | number>;
1
+ export type DataAttributes = Record<`data-${string}`, unknown>;
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Strategy for detecting scrollable content
3
+ */
4
+ export type ScrollDetectionStrategy = 'size' | 'style' | 'both';
5
+ /**
6
+ * Detailed detection results for both size and style methods
7
+ */
8
+ export interface DetectionMethod {
9
+ size: {
10
+ vertical: boolean;
11
+ horizontal: boolean;
12
+ };
13
+ style: {
14
+ vertical: boolean;
15
+ horizontal: boolean;
16
+ };
17
+ }
18
+ /**
19
+ * Result of scroll detection
20
+ */
21
+ export interface ScrollDetectionResult {
22
+ hasVerticalScroll: boolean;
23
+ hasHorizontalScroll: boolean;
24
+ hasAnyScroll: boolean;
25
+ detectionMethod: DetectionMethod;
26
+ }
27
+ /**
28
+ * Detects if an element has scrollable content using the specified strategy.
29
+ * This is a pure function with no side effects, making it easy to test
30
+ * and reuse in different contexts (React hooks, vanilla JS, etc.)
31
+ * @param {HTMLElement} element - DOM element to check
32
+ * @param {ScrollDetectionStrategy} strategy - Detection strategy to use
33
+ * @returns {ScrollDetectionResult} Detailed scroll detection result
34
+ * @example
35
+ * ```ts
36
+ * const element = document.getElementById('container');
37
+ * const result = detectScroll(element, 'size');
38
+ * if (result.hasVerticalScroll) {
39
+ * console.log('Element has vertical scroll');
40
+ * }
41
+ * ```
42
+ * @example
43
+ * ```ts
44
+ * // Check both strategies for debugging
45
+ * const result = detectScroll(element, 'both');
46
+ * console.log('Size detection:', result.detectionMethod.size);
47
+ * console.log('Style detection:', result.detectionMethod.style);
48
+ * ```
49
+ */
50
+ export declare function detectScroll(element: HTMLElement, strategy?: ScrollDetectionStrategy): ScrollDetectionResult;
51
+ /**
52
+ * Simplified helper to check if element has any scrollable content
53
+ * @param {HTMLElement} element - DOM element to check
54
+ * @param {ScrollDetectionStrategy} strategy - Detection strategy to use
55
+ * @returns {boolean} True if element has any scrollable content
56
+ * @example
57
+ * ```ts
58
+ * if (hasScroll(document.getElementById('container'))) {
59
+ * console.log('Has scroll');
60
+ * }
61
+ * ```
62
+ */
63
+ export declare function hasScroll(element: HTMLElement, strategy?: ScrollDetectionStrategy): boolean;
64
+ /**
65
+ * Check if element has vertical scrollable content
66
+ * @param {HTMLElement} element - DOM element to check
67
+ * @param {ScrollDetectionStrategy} strategy - Detection strategy to use
68
+ * @returns {boolean} True if element has vertical scrollable content
69
+ */
70
+ export declare function hasVerticalScroll(element: HTMLElement, strategy?: ScrollDetectionStrategy): boolean;
71
+ /**
72
+ * Check if element has horizontal scrollable content
73
+ * @param {HTMLElement} element - DOM element to check
74
+ * @param {ScrollDetectionStrategy} strategy - Detection strategy to use
75
+ * @returns {boolean} True if element has horizontal scrollable content
76
+ */
77
+ export declare function hasHorizontalScroll(element: HTMLElement, strategy?: ScrollDetectionStrategy): boolean;
@@ -0,0 +1,33 @@
1
+ function S(o, z = "size") {
2
+ const r = o.scrollHeight > o.clientHeight, e = o.scrollWidth > o.clientWidth, s = window.getComputedStyle(o), h = s.overflowY, n = s.overflowX, c = s.overflow, a = h === "scroll" || h === "auto" || c === "scroll" || c === "auto", i = n === "scroll" || n === "auto" || c === "scroll" || c === "auto";
3
+ let t, l;
4
+ switch (z) {
5
+ case "size":
6
+ t = r, l = e;
7
+ break;
8
+ case "style":
9
+ t = a, l = i;
10
+ break;
11
+ case "both":
12
+ t = r && a, l = e && i;
13
+ break;
14
+ }
15
+ return {
16
+ hasVerticalScroll: t,
17
+ hasHorizontalScroll: l,
18
+ hasAnyScroll: t || l,
19
+ detectionMethod: {
20
+ size: {
21
+ vertical: r,
22
+ horizontal: e
23
+ },
24
+ style: {
25
+ vertical: a,
26
+ horizontal: i
27
+ }
28
+ }
29
+ };
30
+ }
31
+ export {
32
+ S as detectScroll
33
+ };
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Spacing token utilities for Unity components.
3
+ * Internal utilities for processing spacing tokens for use with tailwind-variants.
4
+ */
5
+ /**
6
+ * Unity spacing token with dollar sign prefix.
7
+ * Matches the Unity themes spacing scale.
8
+ */
9
+ export type SpacingToken = '$0' | '$25' | '$50' | '$75' | '$100' | '$125' | '$150' | '$200' | '$250' | '$300' | '$400' | '$500' | '$600' | '$800' | '$1000';
10
+ /**
11
+ * Individual padding configuration for each side.
12
+ * All properties are optional, allowing partial specification.
13
+ */
14
+ export type PaddingObject = {
15
+ top?: SpacingToken;
16
+ right?: SpacingToken;
17
+ bottom?: SpacingToken;
18
+ left?: SpacingToken;
19
+ };
20
+ /**
21
+ * Processed padding variants ready for tailwind-variants.
22
+ * Used to pass values to the tv() function.
23
+ */
24
+ export type PaddingVariants = {
25
+ padding?: SpacingToken;
26
+ paddingBlock?: SpacingToken;
27
+ paddingInline?: SpacingToken;
28
+ paddingTop?: SpacingToken;
29
+ paddingRight?: SpacingToken;
30
+ paddingBottom?: SpacingToken;
31
+ paddingLeft?: SpacingToken;
32
+ };
33
+ /**
34
+ * Processes padding props to determine which variant values to apply.
35
+ * Handles three input types:
36
+ * 1. Simple token string - applies to all sides
37
+ * 2. Block/Inline tokens - applies to vertical/horizontal directions
38
+ * 3. Object with individual sides - applies to specific sides
39
+ *
40
+ * Priority order (highest to lowest):
41
+ * - Individual padding properties (top, right, bottom, left)
42
+ * - paddingBlock and paddingInline
43
+ * - padding (all sides)
44
+ * @param padding - Padding for all directions or object with individual sides
45
+ * @param paddingBlock - Padding for block direction (top & bottom)
46
+ * @param paddingInline - Padding for inline direction (left & right)
47
+ * @returns Padding variant values for use with tv() function
48
+ * @example
49
+ * ```ts
50
+ * // All sides
51
+ * processPaddingProp('$200')
52
+ * // { padding: '$200' }
53
+ *
54
+ * // Block/Inline
55
+ * processPaddingProp(undefined, '$300', '$200')
56
+ * // { paddingBlock: '$300', paddingInline: '$200' }
57
+ *
58
+ * // Individual sides
59
+ * processPaddingProp({ top: '$300', right: '$200', bottom: '$300', left: '$200' })
60
+ * // { paddingTop: '$300', paddingRight: '$200', paddingBottom: '$300', paddingLeft: '$200' }
61
+ * ```
62
+ */
63
+ export declare function processPaddingProp(padding?: SpacingToken | PaddingObject, paddingBlock?: SpacingToken, paddingInline?: SpacingToken): PaddingVariants;
@@ -0,0 +1,15 @@
1
+ function r(t, o, e) {
2
+ return typeof t == "object" && t !== null ? {
3
+ paddingTop: t.top,
4
+ paddingRight: t.right,
5
+ paddingBottom: t.bottom,
6
+ paddingLeft: t.left
7
+ } : {
8
+ padding: t,
9
+ paddingBlock: o,
10
+ paddingInline: e
11
+ };
12
+ }
13
+ export {
14
+ r as processPaddingProp
15
+ };
package/i18n/en-GB.json CHANGED
@@ -3,9 +3,11 @@
3
3
  "unity:component:common:clear:title": "Clear",
4
4
  "unity:component:common:close:label": "Close",
5
5
  "unity:component:common:loading:label": "Loading...",
6
+ "unity:component:common:unknown": "unknown",
6
7
  "unity:component:common:previous": "Previous",
7
8
  "unity:component:common:next": "Next",
8
9
  "unity:component:common:customer-support:url": "https://support.payfit.com/en/inbox/",
10
+ "unity:component:common:scrollable-content:label": "Scrollable content",
9
11
  "unity:component:action-bar:toolbar-label": "Bulk actions toolbar",
10
12
  "unity:component:action-bar:selection-count-text": "{selectionCount, plural, =0 {no items} one {{selectionCount} item} other {{selectionCount} items}} selected",
11
13
  "unity:component:action-bar:key-shortcuts-text": "Use {keyShortcuts} to focus the action bar",
@@ -19,20 +21,28 @@
19
21
  "unity:component:autocomplete:placeholder": "Search",
20
22
  "unity:component:autocomplete:panel:empty:label": "No results found",
21
23
  "unity:component:autocomplete:panel:loading:label": "Loading results",
22
- "unity:component:error-state:404:main-description": "This item may have been moved or deleted.<br></br>You can try searching for it manually or start again from your dashboard.",
23
- "unity:component:error-state:404-alternative:main-description": "The page or document you’re looking for may have been moved or deleted.",
24
- "unity:component:error-state:404:main-title": "Sorry, we couldnt find what you’re looking for",
25
- "unity:component:error-state:404-alternative:main-title": "Oops, we couldn't find this item",
24
+ "unity:component:dialog:actions:label": "Dialog Actions",
25
+ "unity:component:error-state:404:main-description": "The page or document you’re looking for may have been moved or deleted.<br></br>You can try searching for it manually or start again from your dashboard.",
26
+ "unity:component:error-state:404:main-title": "Sorry, we couldn't find this item",
27
+ "unity:component:error-state:known:main-description": "Please refresh the page or try logging in again.<br></br>We’ve been informed of the issue and are working to fix it as quickly as possible.",
26
28
  "unity:component:error-state:button:label": "Go to dashboard",
27
- "unity:component:error-state:detail-description": "Here's the technical error detail.<br></br><br></br>If the problem continues, you can send it to <Link>our customer support</Link> so we can help unblock you:",
28
- "unity:component:error-state:known:main-description": "Please refresh the page or check your connection.<br></br>We’ve been notified of the issue and are working to resolve it as quickly as possible.",
29
+ "unity:component:error-state:detail-description": "Here's the technical error detail. If the problem continues, you can send it to <Link>our customer support</Link> so we can help unblock you:",
29
30
  "unity:component:error-state:common:main-title": "Something went wrong",
30
31
  "unity:component:error-state:common:icon:alt": "Something went wrong",
31
32
  "unity:component:error-state:common:illustration:alt": "Something went wrong",
32
- "unity:component:error-state:common:main-description-component": "Please refresh the page or try signing in again. We’ve been notified of the issue and are working to resolve it as quickly as possible.",
33
+ "unity:component:error-state:common:main-description-component": "Please refresh the page or try logging in again.<br></br>We’ve been notified of the issue and are working to resolve it as quickly as possible.",
33
34
  "unity:component:error-state:collapsible:title": "Show details",
34
35
  "unity:component:error-state:unknown:back-link:label": "Go back to previous page",
35
- "unity:component:error-state:unknown:main-description": "Please refresh the page or try signing in again.<br></br>We’ve been notified of the issue and are working to resolve it as quickly as possible.<br></br>If the problem continues, please contact <Link>our customer support</Link>.",
36
+ "unity:component:error-state:unknown:main-description": "Please refresh the page or try logging in again.<br></br>We’ve been notified of the issue and are working to resolve it as quickly as possible.<br></br><br></br>If the problem continues, please contact <Link>our customer support</Link>.",
37
+ "unity:component:filter:action:apply": "Apply",
38
+ "unity:component:filter:dismiss:title": "Remove filter",
39
+ "unity:component:filter:label:values-count": "{count, plural, =0 {no values} one {one value} other {{count} values selected}}",
40
+ "unity:component:filter-toolbar:label": "Filter toolbar",
41
+ "unity:component:filter-toolbar:filter-list:label": "Applied filters",
42
+ "unity:component:filter-toolbar:filter-controls:label": "Filter controls",
43
+ "unity:component:filter-toolbar:clear-filters:label": "Clear filters",
44
+ "unity:component:filter-toolbar:add-filter:label": "Add filter",
45
+ "unity:component:filter-toolbar:add-filter:popover:label": "Select a filter to add",
36
46
  "unity:component:form-field:date-picker:calendar-button": "Open calendar",
37
47
  "unity:component:form-field:date-picker:segment-select:month:label": "Change current month",
38
48
  "unity:component:form-field:date-picker:segment-select:month:description": "Press Enter or Space to change month, then use up and down arrows to select a month",
@@ -41,6 +51,9 @@
41
51
  "unity:component:form-field:form-input:spinner:label": "Loading",
42
52
  "unity:component:form-field:form-input:error:alt": "Error",
43
53
  "unity:component:form-field:number-input:decrement:title": "decrement",
54
+ "unity:component:phone-number:country-selector:label": "Select country code, {country} {dialCode}",
55
+ "unity:component:phone-number:empty-country:alt": "No country selected",
56
+ "unity:component:phone-number:selected:label": "Selected",
44
57
  "unity:component:form-field:number-input:increment:title": "increment",
45
58
  "unity:component:form-field:textarea:resize-handle:label": "Resize textarea",
46
59
  "unity:component:full-page-loader:label": "Content is loading...",
@@ -57,6 +70,7 @@
57
70
  "unity:component:pagination:jump-dialog:action:cancel": "Cancel",
58
71
  "unity:component:pagination:jump-dialog:action:go": "Go",
59
72
  "unity:component:search:placeholder": "Search",
73
+ "unity:component:select:search:label": "Search options",
60
74
  "unity:component:skip-links:label": "Skip to:",
61
75
  "unity:component:table:empty-state:loading:title": "Just a moment",
62
76
  "unity:component:table:empty-state:no-data:title": "We couldn't find any results",