@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,2 +1,5 @@
1
1
  export { getTestingUtilsDatePicker } from './components/date-picker-field/test-utils.js';
2
+ export { getTestingUtilsMultiSelect } from './components/multi-select-field/test-utils.js';
2
3
  export { getTestingUtilsSelect } from './components/select-field/test-utils.js';
4
+ export { getTestingUtilsToast } from './components/toast/test-utils.js';
5
+ export { getTestingUtilsDialog } from './components/dialog/test-utils.js';
@@ -6,9 +6,12 @@ import { RawFormContextualLink } from '../../../../components/form-field/parts/R
6
6
  * @example
7
7
  * ```tsx
8
8
  * import { FormContextualLink } from '@payfit/unity-components/integrations/tanstack-router'
9
+ * import { useTanstackUnityForm } from '@payfit/unity-components'
9
10
  *
10
11
  * function MyForm() {
11
- * const { Form, FormField } = useUnityForm(schema)
12
+ * const { Form, FormField } = useTanstackUnityForm({
13
+ * defaultValues: { email: '' },
14
+ * })
12
15
  * return (
13
16
  * <Form>
14
17
  * <FormField name="email">
@@ -33,6 +36,8 @@ import { RawFormContextualLink } from '../../../../components/form-field/parts/R
33
36
  * @see Design specs {@link https://www.figma.com/design/poaMyU7abAgL9VRhx4ygyy/Unity-DS-%3E-Components-Library Figma}
34
37
  * @see Design docs in {@link https://www.payfit.design/ Payfit.design}
35
38
  * @see Developer docs in {@link https://unity-components.payfit.io/?path=/ unity-components.payfit.io}
39
+ * @deprecated React Hook Form components are deprecated. Use the TanStack Form version instead (see `TanstackFormContextualLink`).
40
+ * @see Storybook docs: https://unity-components.payfit.io/?path=/docs/forms-introduction-to-unity-forms--docs
36
41
  */
37
42
  declare const FormContextualLink: LinkComponent<typeof RawFormContextualLink> & {
38
43
  displayName: string;
@@ -0,0 +1,43 @@
1
+ import { LinkComponent } from '@tanstack/react-router';
2
+ import { TanstackRawFormContextualLink } from '../../../../components/form-field/parts/TanstackRawFormContextualLink.js';
3
+ /**
4
+ * Unity's TanstackFormContextualLink that integrates with Tanstack Router for seamless client-side navigation within form fields.
5
+ * Enables declarative routing with type-safe route parameters, search params, and automatic preloading capabilities while maintaining form field context.
6
+ * @example
7
+ * ```tsx
8
+ * import { TanstackFormContextualLink } from '@payfit/unity-components/integrations/tanstack-router'
9
+ * import { useTanstackUnityForm } from '@payfit/unity-components'
10
+ *
11
+ * function MyForm() {
12
+ * const { Form, FormField } = useTanstackUnityForm({
13
+ * defaultValues: { email: '' },
14
+ * })
15
+ * return (
16
+ * <Form>
17
+ * <FormField name="email">
18
+ * <TanstackFormContextualLink to="/help">
19
+ * Need help?
20
+ * </TanstackFormContextualLink>
21
+ * </FormField>
22
+ * </Form>
23
+ * )
24
+ * }
25
+ * ```
26
+ * @remarks
27
+ * - Must be used inside a FormField component to maintain proper form context
28
+ * - Supports type-safe navigation with route parameters and search params
29
+ * - Provides automatic route preloading on hover or mount via the `preload` prop
30
+ * - Handles relative and absolute paths with `from` and `to` props for flexible routing
31
+ * - Integrates seamlessly with Tanstack Router's navigation system and loader functions
32
+ * - Maintains all accessibility features from the underlying TanstackRawFormContextualLink component
33
+ * - Automatically detects external URLs and applies appropriate security attributes (target="_blank", rel="noopener noreferrer")
34
+ * - Inherits the "small" size and "secondary" color styling appropriate for form contextual links
35
+ * @see Source code in {@link https://github.com/PayFit/hr-apps/tree/master/libs/shared/unity/components/src/integrations/tanstack-router/components/form-contextual-link GitHub}
36
+ * @see Design specs {@link https://www.figma.com/design/poaMyU7abAgL9VRhx4ygyy/Unity-DS-%3E-Components-Library Figma}
37
+ * @see Design docs in {@link https://www.payfit.design/ Payfit.design}
38
+ * @see Developer docs in {@link https://unity-components.payfit.io/?path=/ unity-components.payfit.io}
39
+ */
40
+ declare const TanstackFormContextualLink: LinkComponent<typeof TanstackRawFormContextualLink> & {
41
+ displayName: string;
42
+ };
43
+ export { TanstackFormContextualLink };
@@ -0,0 +1,34 @@
1
+ import { ListViewProps } from '../../../../components/list-view/ListView.js';
2
+ /**
3
+ * Unity's ListView that integrates with Tanstack Router for seamless client-side navigation.
4
+ * This component automatically configures the RouterProvider context needed for ListViewItem navigation.
5
+ * @example
6
+ * ```tsx
7
+ * import { ListView, ListViewItem } from '@payfit/unity-components/integrations/tanstack-router'
8
+ * import { ListViewItemLabel } from '@payfit/unity-components'
9
+ *
10
+ * function DocumentsList() {
11
+ * return (
12
+ * <ListView aria-label="Documents">
13
+ * <ListViewItem to="/documents/$id" params={{ id: '123' }}>
14
+ * <ListViewItemLabel>Document 123</ListViewItemLabel>
15
+ * </ListViewItem>
16
+ * </ListView>
17
+ * )
18
+ * }
19
+ * ```
20
+ * @remarks
21
+ * - Automatically provides the RouterProvider context needed for client-side navigation
22
+ * - Use this instead of the base ListView component when using ListViewItem with TanStack Router
23
+ * - All props from the base ListView component are supported
24
+ * - Items within this ListView will use client-side navigation instead of full page reloads
25
+ * @see Source code in {@link https://github.com/PayFit/hr-apps/tree/master/libs/shared/unity/components/src/integrations/tanstack-router/components/list-view GitHub}
26
+ * @see Design specs {@link https://www.figma.com/design/poaMyU7abAgL9VRhx4ygyy/Unity-DS-%3E-Components-Library?node-id=15306-115&m=dev Figma}
27
+ * @see Design docs in {@link https://www.payfit.design/ Payfit.design}
28
+ * @see Developer docs in {@link https://unity-components.payfit.io/?path=/docs/component-reference-listview--docs unity-components.payfit.io}
29
+ */
30
+ declare function ListView<T extends object>(props: ListViewProps<T>): import("react/jsx-runtime").JSX.Element;
31
+ declare namespace ListView {
32
+ var displayName: string;
33
+ }
34
+ export { ListView };
@@ -0,0 +1,25 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { useCallback as u } from "react";
3
+ import { useRouter as a, useMatchRoute as m } from "@tanstack/react-router";
4
+ import { ListView as n } from "../../../../components/list-view/ListView.js";
5
+ import { RouterProvider as c } from "../../../../providers/router/RouterProvider.js";
6
+ function f(i) {
7
+ const o = a(), e = m(), s = u(
8
+ (t) => e({ to: t, fuzzy: !0 }) !== !1,
9
+ [e]
10
+ );
11
+ return /* @__PURE__ */ r(
12
+ c,
13
+ {
14
+ navigate: (t) => {
15
+ o.navigate({ to: t });
16
+ },
17
+ isActive: s,
18
+ children: /* @__PURE__ */ r(n, { ...i })
19
+ }
20
+ );
21
+ }
22
+ f.displayName = "ListView";
23
+ export {
24
+ f as ListView
25
+ };
@@ -0,0 +1,51 @@
1
+ import { RegisteredRouter, ValidateLinkOptions } from '@tanstack/react-router';
2
+ import { RawListViewItemProps } from '../../../../../components/list-view/parts/RawListViewItem.js';
3
+ type ListViewItemRouterProps<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown> = Omit<RawListViewItemProps<object>, 'prefix' | 'suffix' | 'href'> & ValidateLinkOptions<TRouter, TOptions> & {
4
+ prefixElement?: RawListViewItemProps<object>['prefix'];
5
+ suffixElement?: RawListViewItemProps<object>['suffix'];
6
+ };
7
+ type ListViewItemHrefProps = Omit<RawListViewItemProps<object>, 'prefix' | 'suffix'> & {
8
+ prefixElement?: RawListViewItemProps<object>['prefix'];
9
+ suffixElement?: RawListViewItemProps<object>['suffix'];
10
+ href: string;
11
+ };
12
+ export type ListViewItemProps<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown> = ListViewItemRouterProps<TRouter, TOptions> | ListViewItemHrefProps;
13
+ /**
14
+ * Unity's ListViewItem that integrates with Tanstack Router for seamless client-side navigation.
15
+ * Enables declarative routing with type-safe route parameters, search params, and automatic preloading capabilities.
16
+ * @param {ListViewItemProps} props - Either router-based props (with 'to') or direct link props (with 'href')
17
+ * @example
18
+ * ```tsx
19
+ * import { ListView } from '@payfit/unity-components'
20
+ * import { ListViewItem } from '@payfit/unity-components/integrations/tanstack-router'
21
+ * import { ListViewItemLabel } from '@payfit/unity-components'
22
+ *
23
+ * function DocumentsList() {
24
+ * return (
25
+ * <ListView aria-label="Documents">
26
+ * <ListViewItem to="/documents/$id" params={{ id: '123' }}>
27
+ * <ListViewItemLabel>Document 123</ListViewItemLabel>
28
+ * </ListViewItem>
29
+ * </ListView>
30
+ * )
31
+ * }
32
+ * ```
33
+ * @remarks
34
+ * - Automatically renders as a router link when 'to' prop is provided, or as a standard link when 'href' is provided
35
+ * - Supports type-safe route parameters, search params, and relative navigation with Tanstack Router
36
+ * - Provides automatic route preloading on hover or mount via the `preload` prop
37
+ * - Integrates seamlessly with ListView component for list-based navigation UI patterns
38
+ * - Supports icon prefixes and suffixes via prefixElement and suffixElement props
39
+ * - Maintains all accessibility features and styling options from the underlying RawListViewItem component
40
+ * - Use `hideDisclosureIndicator` to hide the default disclosure arrow for non-navigational items
41
+ * @see {@link ListViewItemProps} for all available props
42
+ * @see Source code in {@link https://github.com/PayFit/hr-apps/tree/master/libs/shared/unity/components/src/integrations/tanstack-router/components/list-view-item GitHub}
43
+ * @see Design specs {@link https://www.figma.com/design/poaMyU7abAgL9VRhx4ygyy/Unity-DS-%3E-Components-Library?node-id=15306-115&m=dev Figma}
44
+ * @see Design docs in {@link https://www.payfit.design/ Payfit.design}
45
+ * @see Developer docs in {@link https://unity-components.payfit.io/?path=/docs/component-reference-listview--docs unity-components.payfit.io}
46
+ */
47
+ declare function ListViewItem<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown>({ prefixElement, suffixElement, ...rest }: ListViewItemProps<TRouter, TOptions>): import("react/jsx-runtime").JSX.Element;
48
+ declare namespace ListViewItem {
49
+ var displayName: string;
50
+ }
51
+ export { ListViewItem };
@@ -0,0 +1,32 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { createLink as m } from "@tanstack/react-router";
3
+ import { RawListViewItem as e } from "../../../../../components/list-view/parts/RawListViewItem.js";
4
+ const f = m(e);
5
+ function p({
6
+ prefixElement: o,
7
+ suffixElement: t,
8
+ ...i
9
+ }) {
10
+ return "to" in i ? (
11
+ // @ts-expect-error - Complex type intersection between router props and component props
12
+ /* @__PURE__ */ r(
13
+ f,
14
+ {
15
+ ...i,
16
+ prefix: o,
17
+ suffix: t
18
+ }
19
+ )
20
+ ) : /* @__PURE__ */ r(
21
+ e,
22
+ {
23
+ ...i,
24
+ prefix: o,
25
+ suffix: t
26
+ }
27
+ );
28
+ }
29
+ p.displayName = "ListViewItem";
30
+ export {
31
+ p as ListViewItem
32
+ };
@@ -0,0 +1,73 @@
1
+ import { RegisteredRouter, ValidateLinkOptions } from '@tanstack/react-router';
2
+ import { NavigationCardProps as RawNavigationCardProps } from '../../../../components/navigation-card/NavigationCard.js';
3
+ type NavigationCardRouterProps<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown> = Omit<RawNavigationCardProps, 'asElement' | 'prefix' | 'suffix'> & ValidateLinkOptions<TRouter, TOptions> & {
4
+ prefixElement?: RawNavigationCardProps['prefix'];
5
+ suffixElement?: RawNavigationCardProps['suffix'];
6
+ };
7
+ type NavigationCardButtonProps = Omit<RawNavigationCardProps, 'asElement' | 'prefix' | 'suffix' | 'href'> & {
8
+ prefixElement?: RawNavigationCardProps['prefix'];
9
+ suffixElement?: RawNavigationCardProps['suffix'];
10
+ onPress: NonNullable<RawNavigationCardProps['onPress']>;
11
+ };
12
+ export type NavigationCardProps<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown> = NavigationCardRouterProps<TRouter, TOptions> | NavigationCardButtonProps;
13
+ /**
14
+ * Unity's NavigationCard that integrates with Tanstack Router for seamless client-side navigation.
15
+ * Enables declarative routing with type-safe route parameters, search params, and automatic preloading capabilities.
16
+ * @param {NavigationCardProps} props - Either router-based props (with 'to') or button-based props (with 'onPress')
17
+ * @example
18
+ * ```tsx
19
+ * import { NavigationCard } from '@payfit/unity-components/integrations/tanstack-router'
20
+ * import { Icon } from '@payfit/unity-components'
21
+ * import { NavigationCardLabel } from '@payfit/unity-components'
22
+ * import { NavigationCardDescription } from '@payfit/unity-components'
23
+ *
24
+ * // Router mode - navigation card as a link
25
+ * function NavigationWithLink() {
26
+ * return (
27
+ * <NavigationCard
28
+ * to="/dashboard"
29
+ * prefixElement={<Icon src="LayoutDashboardOutlined" size={24} />}
30
+ * >
31
+ * <div>
32
+ * <NavigationCardLabel>Dashboard</NavigationCardLabel>
33
+ * <NavigationCardDescription>
34
+ * View your analytics
35
+ * </NavigationCardDescription>
36
+ * </div>
37
+ * </NavigationCard>
38
+ * )
39
+ * }
40
+ *
41
+ * // Button mode - navigation card as a button
42
+ * function NavigationWithButton() {
43
+ * return (
44
+ * <NavigationCard
45
+ * onPress={() => console.log('Clicked')}
46
+ * prefixElement={<Icon src="PlusOutlined" size={24} />}
47
+ * >
48
+ * <Text variant="h4">Add New</Text>
49
+ * </NavigationCard>
50
+ * )
51
+ * }
52
+ * ```
53
+ * @remarks
54
+ * - Automatically renders as a link when 'to' prop is provided, or as a button when 'onPress' is provided
55
+ * - Supports type-safe navigation with route parameters and search params via `params` and `search` props
56
+ * - Provides automatic route preloading on hover or mount via the `preload` prop
57
+ * - Handles relative and absolute paths with `from` and `to` props for flexible routing
58
+ * - Integrates seamlessly with Tanstack Router's navigation system and loader functions
59
+ * - Maintains all accessibility features and styling options from the underlying RawNavigationCard component
60
+ * - Automatically detects external URLs and applies appropriate security attributes (target="_blank", rel="noopener noreferrer")
61
+ * - Supports both `compact` and `comfortable` variants for different layout needs
62
+ * - Use `prefixElement` and `suffixElement` props to add icons or other elements to the card
63
+ * @see {@link NavigationCardProps} for all available props
64
+ * @see Source code in {@link https://github.com/PayFit/hr-apps/tree/master/libs/shared/unity/components/src/integrations/tanstack-router/components/navigation-card GitHub}
65
+ * @see Design specs {@link https://www.figma.com/design/poaMyU7abAgL9VRhx4ygyy/Unity-DS-%3E-Components-Library Figma}
66
+ * @see Design docs in {@link https://www.payfit.design/ Payfit.design}
67
+ * @see Developer docs in {@link https://unity-components.payfit.io/?path=/ unity-components.payfit.io}
68
+ */
69
+ declare function NavigationCard<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown>({ prefixElement, suffixElement, ...rest }: NavigationCardProps<TRouter, TOptions>): import("react/jsx-runtime").JSX.Element;
70
+ declare namespace NavigationCard {
71
+ var displayName: string;
72
+ }
73
+ export { NavigationCard };
@@ -0,0 +1,37 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { createLink as n } from "@tanstack/react-router";
3
+ import { RawNavigationCard as t } from "../../../../components/navigation-card/NavigationCard.js";
4
+ const d = n(t);
5
+ function e({
6
+ prefixElement: i,
7
+ suffixElement: a,
8
+ ...o
9
+ }) {
10
+ return "to" in o || "href" in o ? (
11
+ // @ts-expect-error - Complex type intersection between router props and component props
12
+ /* @__PURE__ */ r(
13
+ d,
14
+ {
15
+ ...o,
16
+ asElement: "a",
17
+ prefix: i,
18
+ suffix: a
19
+ }
20
+ )
21
+ ) : (
22
+ // @ts-expect-error - TypeScript cannot narrow union types at the type level. RawNavigationCardProps is a union of link and button props, and runtime check ensures only button props are passed here.
23
+ /* @__PURE__ */ r(
24
+ t,
25
+ {
26
+ ...o,
27
+ asElement: "button",
28
+ prefix: i,
29
+ suffix: a
30
+ }
31
+ )
32
+ );
33
+ }
34
+ e.displayName = "NavigationCard";
35
+ export {
36
+ e as NavigationCard
37
+ };
@@ -3,7 +3,10 @@ export * from './components/breadcrumbs/BreadcrumbLink.js';
3
3
  export * from './components/breadcrumbs/Breadcrumbs.js';
4
4
  export * from './components/form-contextual-link/FormContextualLink.js';
5
5
  export * from './components/link/Link.js';
6
+ export * from './components/list-view/ListView.js';
7
+ export * from './components/list-view/parts/ListViewItem.js';
6
8
  export * from './components/menu-item/MenuItem.js';
9
+ export * from './components/navigation-card/NavigationCard.js';
7
10
  export * from './components/nav-item/NavItem.js';
8
11
  export * from './components/pagination/PaginationLink.js';
9
12
  export * from './components/pagination/PaginationNext.js';
@@ -16,7 +16,7 @@ export interface TanstackRouterDecoratorContext extends StoryContext {
16
16
  renderRootRoute?: (Story: Parameters<Decorator>[0]) => React.ReactNode;
17
17
  routes: RouteConfig[];
18
18
  };
19
- tanstackRouterDevTools?: boolean;
19
+ enableTanstackRouterDevTools?: boolean;
20
20
  };
21
21
  }
22
22
  export declare const TanstackRouterDecorator: Decorator;
@@ -1,34 +1,40 @@
1
1
  import { BreadcrumbLink as e } from "./tanstack-router/components/breadcrumbs/BreadcrumbLink.js";
2
2
  import { FormContextualLink as m } from "./tanstack-router/components/form-contextual-link/FormContextualLink.js";
3
3
  import { Link as x } from "./tanstack-router/components/link/Link.js";
4
- import { MenuItem as p } from "./tanstack-router/components/menu-item/MenuItem.js";
5
- import { NavItem as i } from "./tanstack-router/components/nav-item/NavItem.js";
6
- import { PaginationLink as u } from "./tanstack-router/components/pagination/PaginationLink.js";
7
- import { PaginationNext as s } from "./tanstack-router/components/pagination/PaginationNext.js";
8
- import { PaginationPrevious as L } from "./tanstack-router/components/pagination/PaginationPrevious.js";
9
- import { Tab as c } from "./tanstack-router/components/tabs/parts/Tab.js";
10
- import { TabPanel as g } from "./tanstack-router/components/tabs/parts/TabPanel.js";
11
- import { Tabs as l } from "./tanstack-router/components/tabs/Tabs.js";
12
- import { Task as I } from "./tanstack-router/components/task-menu/Task.js";
13
- import { SubTask as C } from "./tanstack-router/components/task-menu/SubTask.js";
14
- import { Breadcrumb as M } from "../components/breadcrumbs/parts/Breadcrumb.js";
15
- import { Breadcrumbs as h } from "../components/breadcrumbs/Breadcrumbs.js";
16
- import { TabList as q } from "../components/tabs/parts/TabList.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";
17
20
  export {
18
- M as Breadcrumb,
21
+ q as Breadcrumb,
19
22
  e as BreadcrumbLink,
20
- h as Breadcrumbs,
23
+ z as Breadcrumbs,
21
24
  m as FormContextualLink,
22
25
  x as Link,
23
- p as MenuItem,
24
- i as NavItem,
25
- u as PaginationLink,
26
- s as PaginationNext,
27
- L as PaginationPrevious,
28
- C as SubTask,
29
- c as Tab,
30
- q as TabList,
31
- g as TabPanel,
32
- l as Tabs,
33
- I as Task
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
34
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,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;
@@ -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
+ };