@payfit/unity-components 2.47.5 → 2.47.6

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 (446) hide show
  1. package/dist/esm/adapters/standardSchemaAdapter.js +18 -19
  2. package/dist/esm/adapters/zodAdapter.js +59 -73
  3. package/dist/esm/components/action-bar/ActionBar.js +46 -69
  4. package/dist/esm/components/action-bar/ActionBar.variants.js +18 -25
  5. package/dist/esm/components/action-bar/hooks/use-action-bar-state.js +31 -21
  6. package/dist/esm/components/action-bar/parts/ActionBarButton.js +29 -35
  7. package/dist/esm/components/action-bar/parts/ActionBarIconButton.js +29 -41
  8. package/dist/esm/components/action-bar/parts/ActionBarOverflowMenu.js +39 -45
  9. package/dist/esm/components/action-bar/parts/ActionBarPrefixArea.js +22 -33
  10. package/dist/esm/components/action-bar/parts/ActionBarRoot.js +44 -56
  11. package/dist/esm/components/action-bar/utils/action-bar-helpers.js +23 -28
  12. package/dist/esm/components/actionable/Actionable.js +66 -82
  13. package/dist/esm/components/alert/Alert.js +84 -99
  14. package/dist/esm/components/alert/parts/AlertActions.js +19 -21
  15. package/dist/esm/components/alert/parts/AlertContent.js +13 -10
  16. package/dist/esm/components/alert/parts/AlertTitle.js +15 -20
  17. package/dist/esm/components/anchor/Anchor.js +40 -48
  18. package/dist/esm/components/app-layout/AppLayout.js +62 -76
  19. package/dist/esm/components/app-menu/AppMenu.js +11 -14
  20. package/dist/esm/components/app-menu/parts/AppMenu.context.js +21 -22
  21. package/dist/esm/components/app-menu/parts/AppMenuFooter.js +189 -246
  22. package/dist/esm/components/app-menu/parts/AppMenuHeader.js +52 -49
  23. package/dist/esm/components/app-menu/parts/AppMenuNavContent.js +14 -22
  24. package/dist/esm/components/autocomplete/Autocomplete.js +136 -168
  25. package/dist/esm/components/autocomplete/parts/AutocompleteClearButton.js +23 -33
  26. package/dist/esm/components/autocomplete/parts/AutocompleteItem.js +28 -36
  27. package/dist/esm/components/autocomplete/parts/AutocompleteItemGroup.js +38 -32
  28. package/dist/esm/components/autocomplete/parts/AutocompletePanel.js +44 -46
  29. package/dist/esm/components/avatar/Avatar.context.js +24 -25
  30. package/dist/esm/components/avatar/Avatar.js +38 -46
  31. package/dist/esm/components/avatar/Avatar.variants.js +62 -62
  32. package/dist/esm/components/avatar/parts/AvatarFallback.js +77 -81
  33. package/dist/esm/components/avatar/parts/AvatarIcon.js +32 -40
  34. package/dist/esm/components/avatar/parts/AvatarImage.js +22 -18
  35. package/dist/esm/components/avatar/parts/AvatarPair.js +49 -47
  36. package/dist/esm/components/avatar/utils.js +4 -4
  37. package/dist/esm/components/badge/Badge.js +57 -92
  38. package/dist/esm/components/badge/parts/BadgeDot.js +42 -83
  39. package/dist/esm/components/bottom-sheet/BottomSheet.js +48 -69
  40. package/dist/esm/components/bottom-sheet/parts/BottomSheetContent.js +26 -26
  41. package/dist/esm/components/bottom-sheet/parts/BottomSheetDragIndicator.js +44 -65
  42. package/dist/esm/components/bottom-sheet/parts/BottomSheetFooter.js +20 -28
  43. package/dist/esm/components/bottom-sheet/parts/BottomSheetHeader.js +49 -45
  44. package/dist/esm/components/breadcrumbs/Breadcrumbs.context.js +22 -25
  45. package/dist/esm/components/breadcrumbs/Breadcrumbs.js +124 -159
  46. package/dist/esm/components/breadcrumbs/Breadcrumbs.variant.js +13 -19
  47. package/dist/esm/components/breadcrumbs/parts/Breadcrumb.js +35 -41
  48. package/dist/esm/components/breadcrumbs/parts/RawBreadcrumbLink.js +53 -62
  49. package/dist/esm/components/button/Button.js +90 -107
  50. package/dist/esm/components/button/Button.variants.js +172 -179
  51. package/dist/esm/components/card/Card.context.js +9 -13
  52. package/dist/esm/components/card/Card.js +63 -99
  53. package/dist/esm/components/card/parts/CardContent.js +11 -7
  54. package/dist/esm/components/card/parts/CardTitle.js +24 -31
  55. package/dist/esm/components/carousel/Carousel.context.js +8 -12
  56. package/dist/esm/components/carousel/Carousel.js +67 -106
  57. package/dist/esm/components/carousel/Carousel.options.js +69 -61
  58. package/dist/esm/components/carousel/hooks/useCarouselAccessibility.js +81 -85
  59. package/dist/esm/components/carousel/hooks/useCarouselState.js +54 -61
  60. package/dist/esm/components/carousel/parts/CarouselContent.js +52 -68
  61. package/dist/esm/components/carousel/parts/CarouselHeader.js +43 -58
  62. package/dist/esm/components/carousel/parts/CarouselNav.js +64 -79
  63. package/dist/esm/components/carousel/parts/CarouselSlide.js +26 -35
  64. package/dist/esm/components/checkbox/Checkbox.js +83 -105
  65. package/dist/esm/components/checkbox/Checkbox.variants.js +60 -80
  66. package/dist/esm/components/checkbox/CheckboxStandalone.js +33 -28
  67. package/dist/esm/components/checkbox/TanstackCheckbox.js +35 -51
  68. package/dist/esm/components/checkbox/parts/CheckboxIndicator.js +131 -161
  69. package/dist/esm/components/checkbox-field/CheckboxField.js +38 -65
  70. package/dist/esm/components/checkbox-field/TanstackCheckboxField.js +23 -39
  71. package/dist/esm/components/checkbox-group/CheckboxGroup.js +44 -73
  72. package/dist/esm/components/checkbox-group/TanstackCheckboxGroup.js +32 -37
  73. package/dist/esm/components/checkbox-group-field/CheckboxGroupField.js +35 -55
  74. package/dist/esm/components/checkbox-group-field/TanstackCheckGroupField.js +26 -39
  75. package/dist/esm/components/client-side-pagination/ClientSidePagination.js +130 -177
  76. package/dist/esm/components/client-side-pagination/hooks/use-pagination.js +20 -27
  77. package/dist/esm/components/client-side-pagination/parts/PaginationEllipsis.js +29 -29
  78. package/dist/esm/components/client-side-pagination/parts/PaginationJumpDialog.js +110 -143
  79. package/dist/esm/components/client-side-pagination/parts/PaginationNavButton.js +23 -31
  80. package/dist/esm/components/client-side-pagination/parts/RawPaginationLink.js +35 -48
  81. package/dist/esm/components/client-side-pagination/utils/pagination-window.js +37 -31
  82. package/dist/esm/components/code/Code.js +34 -38
  83. package/dist/esm/components/code/copyToClipboard.js +9 -9
  84. package/dist/esm/components/collapsible/Collapsible.js +21 -28
  85. package/dist/esm/components/collapsible/parts/CollapsibleContent.js +16 -18
  86. package/dist/esm/components/collapsible/parts/CollapsibleTitle.js +53 -53
  87. package/dist/esm/components/data-table/DataTable.js +101 -155
  88. package/dist/esm/components/data-table/parts/ColumnSortHeader.js +24 -36
  89. package/dist/esm/components/data-table/parts/DataTableBulkActions.js +95 -148
  90. package/dist/esm/components/data-table/parts/DataTableRoot.js +13 -13
  91. package/dist/esm/components/date-calendar/DateCalendar.js +121 -174
  92. package/dist/esm/components/date-calendar/DateCalendar.variants.js +32 -49
  93. package/dist/esm/components/date-calendar/hooks/useMonthsList.js +18 -25
  94. package/dist/esm/components/date-calendar/hooks/useYearsList.js +23 -32
  95. package/dist/esm/components/date-calendar/parts/DateSegmentSelect.js +62 -65
  96. package/dist/esm/components/date-picker/DatePicker.js +131 -174
  97. package/dist/esm/components/date-picker/TanstackDatePicker.js +39 -53
  98. package/dist/esm/components/date-picker/parts/DateInput.js +101 -135
  99. package/dist/esm/components/date-picker-field/DatePickerField.js +52 -71
  100. package/dist/esm/components/date-picker-field/TanstackDatePickerField.js +28 -41
  101. package/dist/esm/components/date-picker-field/test-utils.js +26 -51
  102. package/dist/esm/components/date-range-calendar/DateRangeCalendar.js +148 -211
  103. package/dist/esm/components/date-range-picker/DateRangePicker.js +132 -175
  104. package/dist/esm/components/date-range-picker/TanstackDateRangePicker.js +39 -53
  105. package/dist/esm/components/date-range-picker/parts/DateRangeInput.js +90 -101
  106. package/dist/esm/components/date-range-picker-field/TanstackDateRangePickerField.js +28 -41
  107. package/dist/esm/components/date-range-picker-field/test-utils.js +37 -65
  108. package/dist/esm/components/definition-list/DefinitionList.context.js +12 -16
  109. package/dist/esm/components/definition-list/DefinitionList.js +23 -22
  110. package/dist/esm/components/definition-list/parts/DefinitionItem.js +49 -50
  111. package/dist/esm/components/definition-tooltip/DefinitionTooltip.js +25 -28
  112. package/dist/esm/components/dialog/Dialog.js +79 -110
  113. package/dist/esm/components/dialog/parts/DialogActions/DialogButton.js +41 -61
  114. package/dist/esm/components/dialog/parts/DialogActions.js +10 -13
  115. package/dist/esm/components/dialog/parts/DialogContent.js +17 -22
  116. package/dist/esm/components/dialog/parts/DialogTitle.js +12 -9
  117. package/dist/esm/components/dialog/test-utils.js +46 -88
  118. package/dist/esm/components/empty-state/EmptyState.js +20 -25
  119. package/dist/esm/components/empty-state/EmptyState.variants.js +15 -22
  120. package/dist/esm/components/empty-state/parts/EmptyStateActions.js +12 -17
  121. package/dist/esm/components/empty-state/parts/EmptyStateContent.js +21 -21
  122. package/dist/esm/components/empty-state/parts/EmptyStateIcon.js +19 -14
  123. package/dist/esm/components/empty-state/presets/EmptyStateGetStarted.js +30 -26
  124. package/dist/esm/components/empty-state/presets/EmptyStateGoodJob.js +35 -55
  125. package/dist/esm/components/empty-state/presets/EmptyStateNoSearchResults.js +31 -27
  126. package/dist/esm/components/empty-state/presets/EmptyStateUpgradeRequired.js +30 -26
  127. package/dist/esm/components/empty-state/presets/EmptyStateUseDesktop.js +26 -25
  128. package/dist/esm/components/empty-state/presets/EmptyStateWaitingForData.js +30 -26
  129. package/dist/esm/components/error-state/ErrorState.js +155 -239
  130. package/dist/esm/components/error-state/initConfig.js +90 -148
  131. package/dist/esm/components/error-state/parts/Collapsible.js +68 -67
  132. package/dist/esm/components/fieldset/Fieldset.js +63 -72
  133. package/dist/esm/components/fieldset/parts/FieldGroup.js +13 -18
  134. package/dist/esm/components/filter/Filter.controls.js +49 -42
  135. package/dist/esm/components/filter/Filter.js +101 -146
  136. package/dist/esm/components/filter/hooks/useFilterIds.js +12 -12
  137. package/dist/esm/components/filter/hooks/useFilterState.js +16 -22
  138. package/dist/esm/components/filter/hooks/useFilterValue.js +31 -30
  139. package/dist/esm/components/filter/parts/FilterButton.js +40 -54
  140. package/dist/esm/components/filter/parts/FilterLabel.js +38 -56
  141. package/dist/esm/components/filter/parts/FilterPopover.js +68 -80
  142. package/dist/esm/components/filter/utils/value-formatters.js +9 -11
  143. package/dist/esm/components/filter-toolbar/FilterToolbar.js +124 -173
  144. package/dist/esm/components/filter-toolbar/hooks/use-filter-toolbar-state.js +128 -130
  145. package/dist/esm/components/filter-toolbar/parts/AddFilter.js +81 -109
  146. package/dist/esm/components/filter-toolbar/parts/AddFilterItem.js +20 -18
  147. package/dist/esm/components/filter-toolbar/utils/filter-adapters.js +17 -88
  148. package/dist/esm/components/filter-toolbar/utils/normalize-filter-value.js +12 -18
  149. package/dist/esm/components/flex/Flex.js +38 -57
  150. package/dist/esm/components/flex/Flex.variants.js +198 -199
  151. package/dist/esm/components/flex/FlexItem.js +21 -32
  152. package/dist/esm/components/floating-action-bar/FloatingActionBar.js +55 -68
  153. package/dist/esm/components/form/Form.context.js +15 -26
  154. package/dist/esm/components/form/Form.js +40 -57
  155. package/dist/esm/components/form/TanstackForm.js +22 -29
  156. package/dist/esm/components/form-field/FormField.context.js +44 -70
  157. package/dist/esm/components/form-field/FormField.js +50 -56
  158. package/dist/esm/components/form-field/TanstackFormField.context.js +11 -12
  159. package/dist/esm/components/form-field/TanstackFormField.js +44 -45
  160. package/dist/esm/components/form-field/parts/FormControl.js +41 -52
  161. package/dist/esm/components/form-field/parts/FormFeedbackText.js +24 -26
  162. package/dist/esm/components/form-field/parts/FormHelperText.js +21 -26
  163. package/dist/esm/components/form-field/parts/FormLabel.js +21 -30
  164. package/dist/esm/components/form-field/parts/RawFormContextualLink.js +32 -38
  165. package/dist/esm/components/form-field/parts/TanstackFormFeedbackText.js +28 -31
  166. package/dist/esm/components/form-field/parts/TanstackFormHelperText.js +22 -25
  167. package/dist/esm/components/form-field/parts/TanstackFormLabel.js +21 -26
  168. package/dist/esm/components/form-field/parts/TanstackRawFormContextualLink.js +33 -45
  169. package/dist/esm/components/form-field/utils/isFieldRequired.js +7 -7
  170. package/dist/esm/components/full-page-loader/FullPageLoader.js +26 -35
  171. package/dist/esm/components/funnel-layout/FunnelLayout.context.js +12 -26
  172. package/dist/esm/components/funnel-layout/FunnelLayout.js +75 -91
  173. package/dist/esm/components/funnel-layout/parts/FunnelBackButton.js +24 -34
  174. package/dist/esm/components/funnel-layout/parts/FunnelBody.js +15 -23
  175. package/dist/esm/components/funnel-layout/parts/FunnelPage.js +27 -35
  176. package/dist/esm/components/funnel-layout/parts/FunnelPageAction.js +32 -39
  177. package/dist/esm/components/funnel-layout/parts/FunnelPageActions.js +30 -41
  178. package/dist/esm/components/funnel-layout/parts/FunnelPageContent.js +15 -23
  179. package/dist/esm/components/funnel-layout/parts/FunnelPageFooter.js +20 -28
  180. package/dist/esm/components/funnel-layout/parts/FunnelPageHeader.js +53 -55
  181. package/dist/esm/components/funnel-layout/parts/FunnelProgressBar.js +39 -50
  182. package/dist/esm/components/funnel-layout/parts/FunnelSidebar.js +47 -54
  183. package/dist/esm/components/funnel-layout/parts/FunnelTopBar.js +88 -119
  184. package/dist/esm/components/grid/Grid.js +27 -38
  185. package/dist/esm/components/grid/Grid.variants.js +147 -164
  186. package/dist/esm/components/grid/GridItem.js +24 -43
  187. package/dist/esm/components/icon/Icon.js +112 -115
  188. package/dist/esm/components/icon-button/CircularIconButton.js +117 -119
  189. package/dist/esm/components/icon-button/IconButton.js +82 -93
  190. package/dist/esm/components/icon-button/IconButton.variants.js +167 -174
  191. package/dist/esm/components/inline-field/InlineField.context.js +8 -9
  192. package/dist/esm/components/inline-field/InlineField.js +48 -57
  193. package/dist/esm/components/inline-field/hooks/useInlineFieldMode.js +23 -26
  194. package/dist/esm/components/inline-field/parts/InlineFieldEditView.js +113 -149
  195. package/dist/esm/components/inline-field/parts/InlineFieldReadView.js +52 -57
  196. package/dist/esm/components/inline-field-group/InlineFieldGroup.context.js +5 -5
  197. package/dist/esm/components/inline-field-group/InlineFieldGroup.js +188 -216
  198. package/dist/esm/components/inline-field-group/hooks/useInlineFieldGroupMode.js +23 -26
  199. package/dist/esm/components/inline-field-group/parts/InlineFieldGroupActions.js +109 -156
  200. package/dist/esm/components/inline-field-group/parts/InlineFieldGroupEditView.js +51 -55
  201. package/dist/esm/components/inline-field-group/parts/InlineFieldGroupHeader.js +39 -38
  202. package/dist/esm/components/inline-field-group/parts/InlineFieldGroupReadView.js +18 -27
  203. package/dist/esm/components/input/Input.js +123 -150
  204. package/dist/esm/components/input/TanstackInput.js +33 -38
  205. package/dist/esm/components/label/Label.js +52 -66
  206. package/dist/esm/components/link/RawLink.js +109 -165
  207. package/dist/esm/components/link/utils.js +12 -15
  208. package/dist/esm/components/link-button/RawLinkButton.js +100 -127
  209. package/dist/esm/components/list-view/ListView.js +40 -45
  210. package/dist/esm/components/list-view/parts/ListViewItemLabel.js +17 -22
  211. package/dist/esm/components/list-view/parts/ListViewItemText.js +17 -22
  212. package/dist/esm/components/list-view/parts/ListViewSection.js +25 -23
  213. package/dist/esm/components/list-view/parts/RawListViewItem.js +68 -81
  214. package/dist/esm/components/menu/Menu.js +21 -30
  215. package/dist/esm/components/menu/parts/MenuContent.js +17 -29
  216. package/dist/esm/components/menu/parts/MenuHeader.js +13 -16
  217. package/dist/esm/components/menu/parts/MenuSection.js +32 -42
  218. package/dist/esm/components/menu/parts/MenuSeparator.js +8 -8
  219. package/dist/esm/components/menu/parts/MenuTrigger.js +12 -13
  220. package/dist/esm/components/menu/parts/RawMenuItem.js +29 -42
  221. package/dist/esm/components/multi-select/MultiSelect.js +249 -299
  222. package/dist/esm/components/multi-select/Multiselect.context.js +6 -6
  223. package/dist/esm/components/multi-select/TanstackMultiSelect.js +31 -41
  224. package/dist/esm/components/multi-select/parts/MultiSelectOptGroup.js +35 -43
  225. package/dist/esm/components/multi-select/parts/MultiSelectOption.js +60 -76
  226. package/dist/esm/components/multi-select/utils/selection-adapter.js +9 -15
  227. package/dist/esm/components/multi-select-field/MultiSelectField.js +56 -71
  228. package/dist/esm/components/multi-select-field/TanstackMultiSelectField.js +27 -48
  229. package/dist/esm/components/multi-select-field/test-utils.js +22 -45
  230. package/dist/esm/components/nav/Nav.js +21 -27
  231. package/dist/esm/components/nav/parts/NavGroup.js +103 -123
  232. package/dist/esm/components/nav/parts/RawNavItem.js +99 -118
  233. package/dist/esm/components/navigation-card/NavigationCard.context.js +10 -11
  234. package/dist/esm/components/navigation-card/NavigationCard.js +53 -63
  235. package/dist/esm/components/navigation-card/NavigationCard.variants.js +162 -162
  236. package/dist/esm/components/navigation-card/parts/NavigationCardDescription.js +17 -20
  237. package/dist/esm/components/navigation-card/parts/NavigationCardGroup.js +76 -93
  238. package/dist/esm/components/navigation-card/parts/NavigationCardLabel.js +18 -23
  239. package/dist/esm/components/number-field/NumberField.js +48 -69
  240. package/dist/esm/components/number-field/TanstackNumberField.js +30 -43
  241. package/dist/esm/components/number-input/NumberInput.js +161 -216
  242. package/dist/esm/components/number-input/TanstackNumberInput.js +33 -38
  243. package/dist/esm/components/page/Page.js +33 -48
  244. package/dist/esm/components/page/parts/PageHeader.js +41 -36
  245. package/dist/esm/components/page/parts/PageHeading.js +17 -19
  246. package/dist/esm/components/pagination/Pagination.js +78 -102
  247. package/dist/esm/components/pagination/PaginationContext.js +8 -14
  248. package/dist/esm/components/pagination/hooks/use-pagination-state.js +20 -26
  249. package/dist/esm/components/pagination/hooks/use-pagination-window.js +10 -13
  250. package/dist/esm/components/pagination/parts/PaginationContent.js +26 -37
  251. package/dist/esm/components/pagination/parts/PaginationEllipsis.js +33 -33
  252. package/dist/esm/components/pagination/parts/PaginationItem.js +17 -22
  253. package/dist/esm/components/pagination/parts/RawPaginationLink.js +50 -60
  254. package/dist/esm/components/pagination/parts/RawPaginationNext.js +53 -70
  255. package/dist/esm/components/pagination/parts/RawPaginationPrevious.js +52 -66
  256. package/dist/esm/components/pagination/utils/pagination-window.js +55 -40
  257. package/dist/esm/components/password-field/TanstackPasswordField.js +55 -82
  258. package/dist/esm/components/password-field/hooks/use-caps-lock.js +11 -11
  259. package/dist/esm/components/password-field/parts/PasswordFieldDetails.js +42 -41
  260. package/dist/esm/components/password-field/parts/PasswordInput.js +153 -188
  261. package/dist/esm/components/password-field/parts/ValidationRuleItem.js +38 -43
  262. package/dist/esm/components/payfit-brand/PayFitBrand.js +74 -84
  263. package/dist/esm/components/payfit-brand/PayFitPreprod.js +53 -57
  264. package/dist/esm/components/phone-number/PhoneNumberInput.js +214 -331
  265. package/dist/esm/components/phone-number/TanstackPhoneNumberInput.js +29 -32
  266. package/dist/esm/components/phone-number/parts/PhoneNumberItem.js +49 -65
  267. package/dist/esm/components/phone-number/unknownFlag.js +4 -0
  268. package/dist/esm/components/phone-number-field/TanstackPhoneNumberField.js +21 -32
  269. package/dist/esm/components/pill/Pill.js +48 -58
  270. package/dist/esm/components/popover/Popover.js +37 -41
  271. package/dist/esm/components/popover/parts/PopoverHeader.js +48 -60
  272. package/dist/esm/components/progress-bar/ProgressBar.js +66 -76
  273. package/dist/esm/components/promo-dialog/PromoDialog.js +135 -218
  274. package/dist/esm/components/promo-dialog/parts/PromoDialogActions.js +19 -29
  275. package/dist/esm/components/promo-dialog/parts/PromoDialogContent.js +14 -19
  276. package/dist/esm/components/promo-dialog/parts/PromoDialogHero.js +17 -24
  277. package/dist/esm/components/promo-dialog/parts/PromoDialogSubtitle.js +15 -21
  278. package/dist/esm/components/promo-dialog/parts/PromoDialogTitle.js +11 -16
  279. package/dist/esm/components/radio-button-group/RadioButtonGroup.js +18 -23
  280. package/dist/esm/components/radio-button-group/TanstackRadioButtonGroup.js +32 -42
  281. package/dist/esm/components/radio-button-group/parts/RadioButton.js +61 -66
  282. package/dist/esm/components/radio-button-group/parts/RadioButtonHelper.js +14 -19
  283. package/dist/esm/components/radio-button-group/parts/RadioIndicator.js +107 -129
  284. package/dist/esm/components/radio-button-group-field/RadioButtonGroupField.js +37 -52
  285. package/dist/esm/components/radio-button-group-field/TanstackRadioButtonGroupField.js +31 -37
  286. package/dist/esm/components/search/Search.js +120 -166
  287. package/dist/esm/components/segmented-button-group/SegmentedButtonGroup.js +20 -20
  288. package/dist/esm/components/segmented-button-group/SegmentedButtonGroups.context.js +11 -14
  289. package/dist/esm/components/segmented-button-group/parts/ToggleButton.js +105 -125
  290. package/dist/esm/components/select/Select.js +85 -130
  291. package/dist/esm/components/select/TanstackSelect.js +31 -40
  292. package/dist/esm/components/select/parts/SelectButton.js +79 -103
  293. package/dist/esm/components/select/parts/SelectOption.context.js +14 -21
  294. package/dist/esm/components/select/parts/SelectOption.js +53 -64
  295. package/dist/esm/components/select/parts/SelectOptionGroup.js +34 -27
  296. package/dist/esm/components/select/parts/SelectOptionHelper.js +22 -21
  297. package/dist/esm/components/select-field/SelectField.js +44 -66
  298. package/dist/esm/components/select-field/TanstackSelectField.js +29 -45
  299. package/dist/esm/components/select-field/test-utils.js +10 -25
  300. package/dist/esm/components/select-list/SelectList.js +70 -81
  301. package/dist/esm/components/select-list/constants.js +13 -28
  302. package/dist/esm/components/select-list/helpers.js +37 -43
  303. package/dist/esm/components/select-list/hooks/useControlledSelection.js +13 -15
  304. package/dist/esm/components/select-list/hooks/useSelectedFirstSorting.js +30 -30
  305. package/dist/esm/components/select-list/parts/SelectListEmptyState.js +24 -24
  306. package/dist/esm/components/select-list/parts/SelectListOptGroup.js +33 -30
  307. package/dist/esm/components/select-list/parts/SelectListOption.js +54 -70
  308. package/dist/esm/components/select-list/parts/SelectListSearchInput.js +43 -49
  309. package/dist/esm/components/select-list/parts/SelectedItemsSection.js +29 -35
  310. package/dist/esm/components/select-list/utils/partition.js +7 -8
  311. package/dist/esm/components/selectable-button-group/SelectableButtonGroup.context.js +5 -5
  312. package/dist/esm/components/selectable-button-group/SelectableButtonGroup.js +32 -38
  313. package/dist/esm/components/selectable-button-group/TanstackSelectableButtonGroup.js +27 -33
  314. package/dist/esm/components/selectable-button-group/parts/SelectableButton.js +81 -123
  315. package/dist/esm/components/selectable-button-group-field/SelectableButtonGroupField.js +41 -44
  316. package/dist/esm/components/selectable-button-group-field/TanstackSelectableButtonGroupField.js +29 -46
  317. package/dist/esm/components/selectable-card/internals/Content.js +8 -8
  318. package/dist/esm/components/selectable-card/internals/Description.js +11 -10
  319. package/dist/esm/components/selectable-card/internals/Illustration.js +8 -8
  320. package/dist/esm/components/selectable-card/internals/SelectedIndicator.js +9 -9
  321. package/dist/esm/components/selectable-card/selectable-card-checkbox-group/SelectableCardCheckboxGroup.js +13 -16
  322. package/dist/esm/components/selectable-card/selectable-card-checkbox-group/TanstackSelectableCardCheckboxGroup.js +28 -31
  323. package/dist/esm/components/selectable-card/selectable-card-checkbox-group/parts/SelectableCardCheckbox.js +37 -37
  324. package/dist/esm/components/selectable-card/selectable-card-radio-group/SelectableCardRadioGroup.js +18 -21
  325. package/dist/esm/components/selectable-card/selectable-card-radio-group/TanstackSelectableCardRadioGroup.js +28 -31
  326. package/dist/esm/components/selectable-card/selectable-card-radio-group/parts/SelectableCardRadio.js +40 -47
  327. package/dist/esm/components/selectable-card/selectableCard.variant.js +16 -22
  328. package/dist/esm/components/selectable-card-checkbox-group-field/SelectableCardCheckboxGroupField.js +38 -46
  329. package/dist/esm/components/selectable-card-checkbox-group-field/TanstackSelectableCardCheckboxGroupField.js +29 -37
  330. package/dist/esm/components/selectable-card-radio-group-field/SelectableCardRadioGroupField.js +37 -45
  331. package/dist/esm/components/selectable-card-radio-group-field/TanstackSelectableCardRadioGroupField.js +29 -37
  332. package/dist/esm/components/side-panel/SidePanel.js +53 -71
  333. package/dist/esm/components/side-panel/parts/SidePanelContent.js +25 -25
  334. package/dist/esm/components/side-panel/parts/SidePanelDragIndicator.js +44 -65
  335. package/dist/esm/components/side-panel/parts/SidePanelFooter.js +26 -29
  336. package/dist/esm/components/side-panel/parts/SidePanelHeader.js +41 -43
  337. package/dist/esm/components/skip-links/SkipLinks.js +69 -87
  338. package/dist/esm/components/spinner/Spinner.js +76 -106
  339. package/dist/esm/components/stepper/Stepper.context.js +15 -20
  340. package/dist/esm/components/stepper/Stepper.js +16 -18
  341. package/dist/esm/components/stepper/hooks/useStepper.js +20 -25
  342. package/dist/esm/components/stepper/parts/Step.js +47 -56
  343. package/dist/esm/components/table/Table.context.js +35 -41
  344. package/dist/esm/components/table/Table.js +155 -225
  345. package/dist/esm/components/table/hooks/useTableKeyboardNavigation.js +180 -208
  346. package/dist/esm/components/table/parts/TableBody.js +81 -104
  347. package/dist/esm/components/table/parts/TableCell.js +38 -62
  348. package/dist/esm/components/table/parts/TableColumnHeader.js +62 -78
  349. package/dist/esm/components/table/parts/TableEmptyState.js +131 -161
  350. package/dist/esm/components/table/parts/TableHeader.js +24 -37
  351. package/dist/esm/components/table/parts/TablePagination.js +119 -141
  352. package/dist/esm/components/table/parts/TableRow.js +36 -52
  353. package/dist/esm/components/tabs/Tabs.context.js +19 -20
  354. package/dist/esm/components/tabs/Tabs.js +26 -24
  355. package/dist/esm/components/tabs/Tabs.variant.js +35 -41
  356. package/dist/esm/components/tabs/parts/NavigationButton.js +37 -46
  357. package/dist/esm/components/tabs/parts/RawTab.js +22 -18
  358. package/dist/esm/components/tabs/parts/TabList.js +84 -83
  359. package/dist/esm/components/tabs/parts/TabPanel.js +13 -9
  360. package/dist/esm/components/task-menu/TaskMenu.context.js +44 -58
  361. package/dist/esm/components/task-menu/TaskMenu.js +21 -28
  362. package/dist/esm/components/task-menu/parts/Content.js +43 -48
  363. package/dist/esm/components/task-menu/parts/Header.js +39 -54
  364. package/dist/esm/components/task-menu/parts/RawSubTask.js +141 -166
  365. package/dist/esm/components/task-menu/parts/RawTask.js +115 -145
  366. package/dist/esm/components/task-menu/parts/TaskGroup.js +103 -140
  367. package/dist/esm/components/task-menu/parts/dot.js +19 -0
  368. package/dist/esm/components/task-menu/parts/task.variants.js +59 -64
  369. package/dist/esm/components/text/Text.js +56 -71
  370. package/dist/esm/components/text/Text.variants.js +106 -112
  371. package/dist/esm/components/text-area/TanstackTextArea.js +30 -35
  372. package/dist/esm/components/text-area/TextArea.js +121 -164
  373. package/dist/esm/components/text-field/TanstackTextField.js +39 -59
  374. package/dist/esm/components/text-field/TextField.js +53 -76
  375. package/dist/esm/components/timeline/Timeline.context.js +18 -21
  376. package/dist/esm/components/timeline/Timeline.js +33 -37
  377. package/dist/esm/components/timeline/Timeline.utils.js +8 -8
  378. package/dist/esm/components/timeline/Timeline.variants.js +93 -118
  379. package/dist/esm/components/timeline/parts/TimelineMarker.js +36 -26
  380. package/dist/esm/components/timeline/parts/TimelineStep.context.js +15 -19
  381. package/dist/esm/components/timeline/parts/TimelineStep.js +57 -52
  382. package/dist/esm/components/timeline/parts/TimelineStepContent.context.js +15 -20
  383. package/dist/esm/components/timeline/parts/TimelineStepContent.js +30 -17
  384. package/dist/esm/components/timeline/parts/TimelineStepDescription.js +12 -7
  385. package/dist/esm/components/timeline/parts/TimelineStepHeader.js +34 -36
  386. package/dist/esm/components/timeline/parts/check.js +23 -0
  387. package/dist/esm/components/toast/Toast.context.js +15 -20
  388. package/dist/esm/components/toast/ToastManager.js +13 -21
  389. package/dist/esm/components/toast/UnityToast.js +82 -95
  390. package/dist/esm/components/toast/parts/ToastAction.js +18 -13
  391. package/dist/esm/components/toast/parts/ToastContent.js +13 -9
  392. package/dist/esm/components/toast/parts/ToastTitle.js +13 -8
  393. package/dist/esm/components/toast/test-utils.js +63 -117
  394. package/dist/esm/components/toast/toast.js +27 -38
  395. package/dist/esm/components/toggle-switch/TanstackToggleSwitch.js +21 -24
  396. package/dist/esm/components/toggle-switch/ToggleSwitch.js +111 -112
  397. package/dist/esm/components/toggle-switch-field/TanstackToggleSwitchField.js +19 -33
  398. package/dist/esm/components/toggle-switch-field/ToggleSwitchField.js +33 -58
  399. package/dist/esm/components/toggle-switch-group/TanstackToggleSwitchGroup.js +18 -21
  400. package/dist/esm/components/toggle-switch-group/ToggleSwitchGroup.js +83 -108
  401. package/dist/esm/components/toggle-switch-group-field/TanstackToggleSwitchGroupField.js +30 -49
  402. package/dist/esm/components/toggle-switch-group-field/ToggleSwitchGroupField.js +41 -61
  403. package/dist/esm/components/tooltip/Tooltip.js +30 -31
  404. package/dist/esm/hooks/tanstack-form-context.js +5 -8
  405. package/dist/esm/hooks/tanstack-form-default-values.js +5 -5
  406. package/dist/esm/hooks/use-async-list.js +2 -0
  407. package/dist/esm/hooks/use-breakpoint-listener.js +16 -25
  408. package/dist/esm/hooks/use-container-query-level.js +30 -31
  409. package/dist/esm/hooks/use-form.js +35 -29
  410. package/dist/esm/hooks/use-has-scroll.js +76 -74
  411. package/dist/esm/hooks/use-id.js +18 -24
  412. package/dist/esm/hooks/use-media-query.js +15 -18
  413. package/dist/esm/hooks/use-resizable.js +49 -49
  414. package/dist/esm/hooks/use-responsive-value.js +22 -26
  415. package/dist/esm/hooks/use-scroll-direction.js +50 -52
  416. package/dist/esm/hooks/use-tanstack-form.js +60 -287
  417. package/dist/esm/index.js +240 -577
  418. package/dist/esm/integrations/tanstack-router/components/breadcrumbs/BreadcrumbLink.js +7 -7
  419. package/dist/esm/integrations/tanstack-router/components/form-contextual-link/FormContextualLink.js +7 -7
  420. package/dist/esm/integrations/tanstack-router/components/link/Link.js +7 -7
  421. package/dist/esm/integrations/tanstack-router/components/link-button/LinkButton.js +5 -5
  422. package/dist/esm/integrations/tanstack-router/components/list-view/ListView.js +20 -23
  423. package/dist/esm/integrations/tanstack-router/components/list-view/parts/ListViewItem.js +17 -30
  424. package/dist/esm/integrations/tanstack-router/components/menu-item/MenuItem.js +17 -15
  425. package/dist/esm/integrations/tanstack-router/components/nav-item/NavItem.js +21 -27
  426. package/dist/esm/integrations/tanstack-router/components/navigation-card/NavigationCard.js +19 -35
  427. package/dist/esm/integrations/tanstack-router/components/pagination/PaginationLink.js +18 -20
  428. package/dist/esm/integrations/tanstack-router/components/pagination/PaginationNext.js +17 -20
  429. package/dist/esm/integrations/tanstack-router/components/pagination/PaginationPrevious.js +18 -21
  430. package/dist/esm/integrations/tanstack-router/components/tabs/Tabs.js +52 -67
  431. package/dist/esm/integrations/tanstack-router/components/tabs/parts/Tab.js +16 -22
  432. package/dist/esm/integrations/tanstack-router/components/tabs/parts/TabPanel.js +14 -14
  433. package/dist/esm/integrations/tanstack-router/components/task-menu/SubTask.js +15 -12
  434. package/dist/esm/integrations/tanstack-router/components/task-menu/Task.js +15 -12
  435. package/dist/esm/integrations/tanstack-router.js +19 -40
  436. package/dist/esm/providers/router/RouterProvider.js +24 -20
  437. package/dist/esm/storybook-testing.js +7 -14
  438. package/dist/esm/utils/createSchemaAdapter.js +7 -12
  439. package/dist/esm/utils/field-revalidate-logic.js +41 -38
  440. package/dist/esm/utils/platform.js +4 -4
  441. package/dist/esm/utils/scroll-detection.js +31 -32
  442. package/dist/esm/utils/spacing.js +14 -14
  443. package/package.json +12 -12
  444. package/dist/esm/components/phone-number/unknownFlag.svg.js +0 -4
  445. package/dist/esm/components/task-menu/parts/dot.svg.js +0 -5
  446. package/dist/esm/components/timeline/parts/check.svg.js +0 -5
@@ -1,96 +1,83 @@
1
- import { jsx as o, jsxs as n } from "react/jsx-runtime";
2
- import { isValidElement as l, Fragment as m, Children as d } from "react";
3
- import { uyTv as p } from "@payfit/unity-themes";
4
- import { useIntl as f } from "react-intl";
5
- import { IconButton as g } from "../icon-button/IconButton.js";
6
- import { Icon as h } from "../icon/Icon.js";
7
- import { ToastTitle as b } from "./parts/ToastTitle.js";
8
- import { ToastProvider as x } from "./Toast.context.js";
9
- const T = p({
10
- slots: {
11
- base: "uy:sm:w-[416px] uy:border uy:border-solid uy:theme-legacy:rounded-150 uy:theme-rebrand:rounded-125 uy:text-content-neutral uy:bg-surface-neutral uy:shadow-300 uy:p-100 uy:flex uy:gap-125 uy:border-border-neutral",
12
- contentWrapper: "uy:flex uy:grow uy:ml-125",
13
- divider: "uy:theme-legacy:border-l-[1px] uy:theme-legacy:border-solid uy:theme-legacy:border-border-neutral uy:theme-legacy:self-stretch uy:theme-rebrand:hidden"
14
- },
15
- variants: {
16
- variant: {
17
- success: "",
18
- error: ""
19
- },
20
- isInline: {
21
- true: {
22
- contentWrapper: "uy:flex-col"
23
- },
24
- false: {
25
- contentWrapper: "uy:flex-row uy:justify-between"
26
- }
27
- }
28
- }
29
- }), v = (e) => {
30
- const s = l(e) && e.type === m ? e.props.children : e;
31
- if (d.toArray(s).filter(
32
- (r) => l(r) && r.type === b
33
- ).length !== 1)
34
- throw new Error("UnityToast must have one ToastTitle component");
35
- }, w = ({
36
- children: e,
37
- onClose: s,
38
- variant: t,
39
- inline: r = !0,
40
- ...i
41
- }) => {
42
- const a = f();
43
- v(e);
44
- const { base: u, contentWrapper: c, divider: y } = T({
45
- variant: t,
46
- isInline: r
47
- });
48
- return /* @__PURE__ */ o(x, { inline: r, children: /* @__PURE__ */ n(
49
- "div",
50
- {
51
- "data-dd-privacy": "mask",
52
- ...i,
53
- tabIndex: -1,
54
- role: t === "error" ? "alert" : "status",
55
- "aria-atomic": "true",
56
- "aria-live": t === "error" ? "assertive" : "polite",
57
- className: u(),
58
- children: [
59
- /* @__PURE__ */ n("div", { className: "uy:flex uy:flex-row uy:grow", children: [
60
- /* @__PURE__ */ o(
61
- h,
62
- {
63
- src: t === "success" ? "CheckCircleFilled" : "WarningCircleFilled",
64
- color: t === "success" ? "content.success" : "content.danger",
65
- className: "uy:mt-100",
66
- alt: a.formatMessage({
67
- id: "unity:component:toast:icon:status",
68
- defaultMessage: "Status"
69
- })
70
- }
71
- ),
72
- /* @__PURE__ */ o("div", { className: c(), children: e })
73
- ] }),
74
- /* @__PURE__ */ o("div", { role: "presentation", className: y() }),
75
- /* @__PURE__ */ o(
76
- g,
77
- {
78
- icon: "CloseOutlined",
79
- iconRole: "presentation",
80
- label: a.formatMessage({
81
- id: "unity:component:common:close:label",
82
- defaultMessage: "Close"
83
- }),
84
- variant: "ghost",
85
- color: "neutral",
86
- onClick: s
87
- }
88
- )
89
- ]
90
- }
91
- ) });
92
- };
93
- w.displayName = "UnityToast";
94
- export {
95
- w as UnityToast
1
+ import { Icon as e } from "../icon/Icon.js";
2
+ import { IconButton as t } from "../icon-button/IconButton.js";
3
+ import { ToastProvider as n } from "./Toast.context.js";
4
+ import { ToastTitle as r } from "./parts/ToastTitle.js";
5
+ import { Children as i, Fragment as a, isValidElement as o } from "react";
6
+ import { uyTv as s } from "@payfit/unity-themes";
7
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
8
+ import { useIntl as u } from "react-intl";
9
+ //#region src/components/toast/UnityToast.tsx
10
+ var d = s({
11
+ slots: {
12
+ base: "uy:sm:w-[416px] uy:border uy:border-solid uy:theme-legacy:rounded-150 uy:theme-rebrand:rounded-125 uy:text-content-neutral uy:bg-surface-neutral uy:shadow-300 uy:p-100 uy:flex uy:gap-125 uy:border-border-neutral",
13
+ contentWrapper: "uy:flex uy:grow uy:ml-125",
14
+ divider: "uy:theme-legacy:border-l-[1px] uy:theme-legacy:border-solid uy:theme-legacy:border-border-neutral uy:theme-legacy:self-stretch uy:theme-rebrand:hidden"
15
+ },
16
+ variants: {
17
+ variant: {
18
+ success: "",
19
+ error: ""
20
+ },
21
+ isInline: {
22
+ true: { contentWrapper: "uy:flex-col" },
23
+ false: { contentWrapper: "uy:flex-row uy:justify-between" }
24
+ }
25
+ }
26
+ }), f = (e) => {
27
+ let t = o(e) && e.type === a ? e.props.children : e;
28
+ if (i.toArray(t).filter((e) => o(e) && e.type === r).length !== 1) throw Error("UnityToast must have one ToastTitle component");
29
+ }, p = ({ children: r, onClose: i, variant: a, inline: o = !0, ...s }) => {
30
+ let p = u();
31
+ f(r);
32
+ let { base: m, contentWrapper: h, divider: g } = d({
33
+ variant: a,
34
+ isInline: o
35
+ });
36
+ return /* @__PURE__ */ c(n, {
37
+ inline: o,
38
+ children: /* @__PURE__ */ l("div", {
39
+ "data-dd-privacy": "mask",
40
+ ...s,
41
+ tabIndex: -1,
42
+ role: a === "error" ? "alert" : "status",
43
+ "aria-atomic": "true",
44
+ "aria-live": a === "error" ? "assertive" : "polite",
45
+ className: m(),
46
+ children: [
47
+ /* @__PURE__ */ l("div", {
48
+ className: "uy:flex uy:flex-row uy:grow",
49
+ children: [/* @__PURE__ */ c(e, {
50
+ src: a === "success" ? "CheckCircleFilled" : "WarningCircleFilled",
51
+ color: a === "success" ? "content.success" : "content.danger",
52
+ className: "uy:mt-100",
53
+ alt: p.formatMessage({
54
+ id: "unity:component:toast:icon:status",
55
+ defaultMessage: "Status"
56
+ })
57
+ }), /* @__PURE__ */ c("div", {
58
+ className: h(),
59
+ children: r
60
+ })]
61
+ }),
62
+ /* @__PURE__ */ c("div", {
63
+ role: "presentation",
64
+ className: g()
65
+ }),
66
+ /* @__PURE__ */ c(t, {
67
+ icon: "CloseOutlined",
68
+ iconRole: "presentation",
69
+ label: p.formatMessage({
70
+ id: "unity:component:common:close:label",
71
+ defaultMessage: "Close"
72
+ }),
73
+ variant: "ghost",
74
+ color: "neutral",
75
+ onClick: i
76
+ })
77
+ ]
78
+ })
79
+ });
96
80
  };
81
+ p.displayName = "UnityToast";
82
+ //#endregion
83
+ export { p as UnityToast };
@@ -1,14 +1,19 @@
1
- import { jsx as t } from "react/jsx-runtime";
2
- import { useUnityTheme as a } from "@payfit/unity-themes";
3
- import { Button as n } from "../../button/Button.js";
4
- function s({
5
- children: e,
6
- onPress: r
7
- }) {
8
- const { theme: o } = a();
9
- return /* @__PURE__ */ t("div", { className: "uy:theme-legacy:self-end uy:theme-rebrand:self-start", children: /* @__PURE__ */ t(n, { variant: o === "rebrand" ? "secondary" : "ghost", color: "primary", onPress: r, children: e }) });
1
+ import { Button as e } from "../../button/Button.js";
2
+ import { useUnityTheme as t } from "@payfit/unity-themes";
3
+ import { jsx as n } from "react/jsx-runtime";
4
+ //#region src/components/toast/parts/ToastAction.tsx
5
+ function r({ children: r, onPress: i }) {
6
+ let { theme: a } = t();
7
+ return /* @__PURE__ */ n("div", {
8
+ className: "uy:theme-legacy:self-end uy:theme-rebrand:self-start",
9
+ children: /* @__PURE__ */ n(e, {
10
+ variant: a === "rebrand" ? "secondary" : "ghost",
11
+ color: "primary",
12
+ onPress: i,
13
+ children: r
14
+ })
15
+ });
10
16
  }
11
- s.displayName = "ToastAction";
12
- export {
13
- s as ToastAction
14
- };
17
+ r.displayName = "ToastAction";
18
+ //#endregion
19
+ export { r as ToastAction };
@@ -1,11 +1,15 @@
1
+ import { Text as e } from "../../text/Text.js";
2
+ import { useToastContext as t } from "../Toast.context.js";
1
3
  import { jsx as n } from "react/jsx-runtime";
2
- import { Text as r } from "../../text/Text.js";
3
- import { useToastContext as e } from "../Toast.context.js";
4
- function a({ children: t }) {
5
- const { inline: o } = e();
6
- return o ? /* @__PURE__ */ n(r, { variant: "body", className: "uy:mb-100", children: t }) : null;
4
+ //#region src/components/toast/parts/ToastContent.tsx
5
+ function r({ children: r }) {
6
+ let { inline: i } = t();
7
+ return i ? /* @__PURE__ */ n(e, {
8
+ variant: "body",
9
+ className: "uy:mb-100",
10
+ children: r
11
+ }) : null;
7
12
  }
8
- a.displayName = "ToastContent";
9
- export {
10
- a as ToastContent
11
- };
13
+ r.displayName = "ToastContent";
14
+ //#endregion
15
+ export { r as ToastContent };
@@ -1,9 +1,14 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- import { Text as a } from "../../text/Text.js";
3
- function e({ children: t }) {
4
- return /* @__PURE__ */ o(a, { asElement: "h4", variant: "bodyStrong", className: "uy:mt-100", children: t });
1
+ import { Text as e } from "../../text/Text.js";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ //#region src/components/toast/parts/ToastTitle.tsx
4
+ function n({ children: n }) {
5
+ return /* @__PURE__ */ t(e, {
6
+ asElement: "h4",
7
+ variant: "bodyStrong",
8
+ className: "uy:mt-100",
9
+ children: n
10
+ });
5
11
  }
6
- e.displayName = "ToastTitle";
7
- export {
8
- e as ToastTitle
9
- };
12
+ n.displayName = "ToastTitle";
13
+ //#endregion
14
+ export { n as ToastTitle };
@@ -1,118 +1,64 @@
1
- import { within as n, expect as w, userEvent as y } from "storybook/test";
2
- const x = (r, h) => {
3
- const g = () => (
4
- // eslint-disable-next-line @typescript-eslint/non-nullable-type-assertion-style
5
- r.canvasElement.querySelector("#_rht_toaster")
6
- ), p = async (t, e, { timeoutMs: s = 2e3, pollMs: o = 50 } = {}) => {
7
- let a = await t();
8
- const i = Math.min(
9
- 200,
10
- Math.max(1, Math.ceil(s / Math.max(1, o)))
11
- ), c = () => new Promise((f) => {
12
- let d = !1;
13
- const T = () => {
14
- d || (d = !0, f());
15
- };
16
- setTimeout(T, o), typeof window < "u" && typeof window.requestAnimationFrame == "function" && window.requestAnimationFrame(T), typeof setImmediate == "function" && setImmediate(T);
17
- });
18
- for (let f = 0; f < i && !e(a); f++)
19
- await c(), a = await t();
20
- return a;
21
- }, l = async (t) => {
22
- const e = g();
23
- if (!e)
24
- throw new Error("No toast container found on the page");
25
- const { errorToasts: s, statusToasts: o } = await p(
26
- () => {
27
- const a = n(e).queryAllByRole("alert").filter((c) => c.getAttribute("aria-live") === "assertive"), i = n(e).queryAllByRole("status").filter((c) => c.getAttribute("aria-live") === "polite");
28
- return { errorToasts: a, statusToasts: i };
29
- },
30
- (a) => t ? t === "error" ? a.errorToasts.length > 0 : a.statusToasts.length > 0 : a.errorToasts.length > 0 || a.statusToasts.length > 0
31
- );
32
- return t ? t === "error" ? s : o : [...s, ...o];
33
- }, u = async (t) => {
34
- const s = (await l(t)).at(0);
35
- if (!s)
36
- throw new Error(`Toast with variant: ${t} not found in the page`);
37
- return s;
38
- }, B = async () => {
39
- const t = await l();
40
- await Promise.all(
41
- t.map(
42
- (e) => y.click(
43
- n(e).getByRole("button", {
44
- name: h.formatMessage({
45
- id: "unity:component:common:close:label"
46
- })
47
- })
48
- )
49
- )
50
- );
51
- }, m = async ({
52
- variant: t,
53
- toast: e
54
- }) => {
55
- await r.step("Close toast", async () => {
56
- const s = e ?? await u(t);
57
- await y.click(
58
- n(s).getByRole("button", {
59
- name: h.formatMessage({
60
- id: "unity:component:common:close:label"
61
- })
62
- }),
63
- { delay: 100 }
64
- );
65
- });
66
- };
67
- return {
68
- findToast: u,
69
- findAllToasts: l,
70
- getToastContainer: g,
71
- closeAllToasts: B,
72
- closeToast: m,
73
- triggerToastAction: async ({
74
- variant: t,
75
- action: e,
76
- closeAtEnd: s = !1
77
- }) => {
78
- const o = await u(t);
79
- await r.step("Trigger the action of the toast", async () => {
80
- await y.click(n(o).getByRole("button", { name: e }));
81
- }), s && await m({ variant: t });
82
- },
83
- assertTextExistsInToast: async ({
84
- variant: t,
85
- content: e,
86
- title: s,
87
- closeAtEnd: o = !1
88
- }) => {
89
- const a = await u(t);
90
- s && await r.step(`Check if "${s}" is in the toast`, async () => {
91
- await w(
92
- n(a).getByRole("heading", { name: s })
93
- ).toBeInTheDocument();
94
- }), e && await r.step(`Check if "${e}" is in the toast`, async () => {
95
- await w(n(a).getByText(e)).toBeInTheDocument();
96
- }), o && await m({ variant: t });
97
- },
98
- assertToastNotInDocument: async ({
99
- variant: t,
100
- title: e,
101
- content: s
102
- }) => {
103
- const o = (await l(t)).filter(
104
- (a) => e && n(a).queryByText(e) && s && n(a).queryByText(s)
105
- );
106
- for (const a of o) {
107
- let i = `Toast with variant: ${t}`;
108
- e && (i += ` and title: ${e}`), s && (i += ` and content: ${s}`), await w(
109
- a,
110
- `${i} not in the document`
111
- ).not.toBeInTheDocument();
112
- }
113
- }
114
- };
115
- };
116
- export {
117
- x as getTestingUtilsToast
1
+ import { expect as e, userEvent as t, within as n } from "storybook/test";
2
+ //#region src/components/toast/test-utils.ts
3
+ var r = (r, i) => {
4
+ let a = () => r.canvasElement.querySelector("#_rht_toaster"), o = async (e, t, { timeoutMs: n = 2e3, pollMs: r = 50 } = {}) => {
5
+ let i = await e(), a = Math.min(200, Math.max(1, Math.ceil(n / Math.max(1, r)))), o = () => new Promise((e) => {
6
+ let t = !1, n = () => {
7
+ t || (t = !0, e());
8
+ };
9
+ setTimeout(n, r), typeof window < "u" && typeof window.requestAnimationFrame == "function" && window.requestAnimationFrame(n), typeof setImmediate == "function" && setImmediate(n);
10
+ });
11
+ for (let n = 0; n < a && !t(i); n++) await o(), i = await e();
12
+ return i;
13
+ }, s = async (e) => {
14
+ let t = a();
15
+ if (!t) throw Error("No toast container found on the page");
16
+ let { errorToasts: r, statusToasts: i } = await o(() => ({
17
+ errorToasts: n(t).queryAllByRole("alert").filter((e) => e.getAttribute("aria-live") === "assertive"),
18
+ statusToasts: n(t).queryAllByRole("status").filter((e) => e.getAttribute("aria-live") === "polite")
19
+ }), (t) => e ? e === "error" ? t.errorToasts.length > 0 : t.statusToasts.length > 0 : t.errorToasts.length > 0 || t.statusToasts.length > 0);
20
+ return e ? e === "error" ? r : i : [...r, ...i];
21
+ }, c = async (e) => {
22
+ let t = (await s(e)).at(0);
23
+ if (!t) throw Error(`Toast with variant: ${e} not found in the page`);
24
+ return t;
25
+ }, l = async () => {
26
+ let e = await s();
27
+ await Promise.all(e.map((e) => t.click(n(e).getByRole("button", { name: i.formatMessage({ id: "unity:component:common:close:label" }) }))));
28
+ }, u = async ({ variant: e, toast: a }) => {
29
+ await r.step("Close toast", async () => {
30
+ let r = a ?? await c(e);
31
+ await t.click(n(r).getByRole("button", { name: i.formatMessage({ id: "unity:component:common:close:label" }) }), { delay: 100 });
32
+ });
33
+ };
34
+ return {
35
+ findToast: c,
36
+ findAllToasts: s,
37
+ getToastContainer: a,
38
+ closeAllToasts: l,
39
+ closeToast: u,
40
+ triggerToastAction: async ({ variant: e, action: i, closeAtEnd: a = !1 }) => {
41
+ let o = await c(e);
42
+ await r.step("Trigger the action of the toast", async () => {
43
+ await t.click(n(o).getByRole("button", { name: i }));
44
+ }), a && await u({ variant: e });
45
+ },
46
+ assertTextExistsInToast: async ({ variant: t, content: i, title: a, closeAtEnd: o = !1 }) => {
47
+ let s = await c(t);
48
+ a && await r.step(`Check if "${a}" is in the toast`, async () => {
49
+ await e(n(s).getByRole("heading", { name: a })).toBeInTheDocument();
50
+ }), i && await r.step(`Check if "${i}" is in the toast`, async () => {
51
+ await e(n(s).getByText(i)).toBeInTheDocument();
52
+ }), o && await u({ variant: t });
53
+ },
54
+ assertToastNotInDocument: async ({ variant: t, title: r, content: i }) => {
55
+ let a = (await s(t)).filter((e) => r && n(e).queryByText(r) && i && n(e).queryByText(i));
56
+ for (let n of a) {
57
+ let a = `Toast with variant: ${t}`;
58
+ r && (a += ` and title: ${r}`), i && (a += ` and content: ${i}`), await e(n, `${a} not in the document`).not.toBeInTheDocument();
59
+ }
60
+ }
61
+ };
118
62
  };
63
+ //#endregion
64
+ export { r as getTestingUtilsToast };
@@ -1,39 +1,28 @@
1
- import { jsxs as e, jsx as r } from "react/jsx-runtime";
2
- import m from "react-hot-toast";
3
- import { ToastAction as p } from "./parts/ToastAction.js";
4
- import { ToastContent as f } from "./parts/ToastContent.js";
5
- import { ToastTitle as T } from "./parts/ToastTitle.js";
6
- import { TOAST_CONFIG as u } from "./ToastManager.js";
7
- import { UnityToast as c } from "./UnityToast.js";
8
- function k({
9
- title: s,
10
- content: o,
11
- variant: i,
12
- action: t,
13
- actionOnPress: n,
14
- duration: d,
15
- datadogPrivacy: l = "mask"
16
- }) {
17
- return m.custom(
18
- (a) => /* @__PURE__ */ e(
19
- c,
20
- {
21
- onClose: () => {
22
- m.dismiss(a.id);
23
- },
24
- variant: i,
25
- inline: !!o,
26
- "data-dd-privacy": l,
27
- children: [
28
- /* @__PURE__ */ r(T, { children: s }),
29
- o ? /* @__PURE__ */ r(f, { children: o }) : null,
30
- t ? /* @__PURE__ */ r(p, { onPress: n, children: t }) : null
31
- ]
32
- }
33
- ),
34
- { duration: d ?? u[i].duration }
35
- );
1
+ import { TOAST_CONFIG as e } from "./ToastManager.js";
2
+ import { ToastAction as t } from "./parts/ToastAction.js";
3
+ import { ToastContent as n } from "./parts/ToastContent.js";
4
+ import { ToastTitle as r } from "./parts/ToastTitle.js";
5
+ import { UnityToast as i } from "./UnityToast.js";
6
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
7
+ import s from "react-hot-toast";
8
+ //#region src/components/toast/toast.tsx
9
+ function c({ title: c, content: l, variant: u, action: d, actionOnPress: f, duration: p, datadogPrivacy: m = "mask" }) {
10
+ return s.custom((e) => /* @__PURE__ */ o(i, {
11
+ onClose: () => {
12
+ s.dismiss(e.id);
13
+ },
14
+ variant: u,
15
+ inline: !!l,
16
+ "data-dd-privacy": m,
17
+ children: [
18
+ /* @__PURE__ */ a(r, { children: c }),
19
+ l ? /* @__PURE__ */ a(n, { children: l }) : null,
20
+ d ? /* @__PURE__ */ a(t, {
21
+ onPress: f,
22
+ children: d
23
+ }) : null
24
+ ]
25
+ }), { duration: p ?? e[u].duration });
36
26
  }
37
- export {
38
- k as toast
39
- };
27
+ //#endregion
28
+ export { c as toast };
@@ -1,25 +1,22 @@
1
- import { jsx as s } from "react/jsx-runtime";
2
- import { forwardRef as c } from "react";
3
- import { useFieldContext as d } from "../../hooks/tanstack-form-context.js";
4
- import { useFieldA11yContext as l } from "../form-field/TanstackFormField.context.js";
5
- import { ToggleSwitch as m } from "./ToggleSwitch.js";
6
- const f = c(({ onChange: i, isDisabled: r, ...a }, n) => {
7
- const e = d(), o = [l().feedbackTextId].filter(Boolean).join(" ");
8
- return /* @__PURE__ */ s(
9
- m,
10
- {
11
- ...a,
12
- ref: n,
13
- isDisabled: r,
14
- isSelected: e.state.value,
15
- onChange: (t) => {
16
- e.handleChange(t), i?.(t);
17
- },
18
- "aria-describedby": o.length > 0 ? o : void 0
19
- }
20
- );
1
+ import { ToggleSwitch as e } from "./ToggleSwitch.js";
2
+ import { useFieldContext as t } from "../../hooks/tanstack-form-context.js";
3
+ import { useFieldA11yContext as n } from "../form-field/TanstackFormField.context.js";
4
+ import { forwardRef as r } from "react";
5
+ import { jsx as i } from "react/jsx-runtime";
6
+ //#region src/components/toggle-switch/TanstackToggleSwitch.tsx
7
+ var a = r(({ onChange: r, isDisabled: a, ...o }, s) => {
8
+ let c = t(), l = [n().feedbackTextId].filter(Boolean).join(" ");
9
+ return /* @__PURE__ */ i(e, {
10
+ ...o,
11
+ ref: s,
12
+ isDisabled: a,
13
+ isSelected: c.state.value,
14
+ onChange: (e) => {
15
+ c.handleChange(e), r?.(e);
16
+ },
17
+ "aria-describedby": l.length > 0 ? l : void 0
18
+ });
21
19
  });
22
- f.displayName = "TanstackToggleSwitch";
23
- export {
24
- f as TanstackToggleSwitch
25
- };
20
+ a.displayName = "TanstackToggleSwitch";
21
+ //#endregion
22
+ export { a as TanstackToggleSwitch };