@payfit/unity-components 2.47.4 → 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 (447) 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.d.ts +2 -2
  19. package/dist/esm/components/app-layout/AppLayout.js +62 -75
  20. package/dist/esm/components/app-menu/AppMenu.js +11 -14
  21. package/dist/esm/components/app-menu/parts/AppMenu.context.js +21 -22
  22. package/dist/esm/components/app-menu/parts/AppMenuFooter.js +189 -246
  23. package/dist/esm/components/app-menu/parts/AppMenuHeader.js +52 -49
  24. package/dist/esm/components/app-menu/parts/AppMenuNavContent.js +14 -22
  25. package/dist/esm/components/autocomplete/Autocomplete.js +136 -168
  26. package/dist/esm/components/autocomplete/parts/AutocompleteClearButton.js +23 -33
  27. package/dist/esm/components/autocomplete/parts/AutocompleteItem.js +28 -36
  28. package/dist/esm/components/autocomplete/parts/AutocompleteItemGroup.js +38 -32
  29. package/dist/esm/components/autocomplete/parts/AutocompletePanel.js +44 -46
  30. package/dist/esm/components/avatar/Avatar.context.js +24 -25
  31. package/dist/esm/components/avatar/Avatar.js +38 -46
  32. package/dist/esm/components/avatar/Avatar.variants.js +62 -62
  33. package/dist/esm/components/avatar/parts/AvatarFallback.js +77 -81
  34. package/dist/esm/components/avatar/parts/AvatarIcon.js +32 -40
  35. package/dist/esm/components/avatar/parts/AvatarImage.js +22 -18
  36. package/dist/esm/components/avatar/parts/AvatarPair.js +49 -47
  37. package/dist/esm/components/avatar/utils.js +4 -4
  38. package/dist/esm/components/badge/Badge.js +57 -92
  39. package/dist/esm/components/badge/parts/BadgeDot.js +42 -83
  40. package/dist/esm/components/bottom-sheet/BottomSheet.js +48 -69
  41. package/dist/esm/components/bottom-sheet/parts/BottomSheetContent.js +26 -26
  42. package/dist/esm/components/bottom-sheet/parts/BottomSheetDragIndicator.js +44 -65
  43. package/dist/esm/components/bottom-sheet/parts/BottomSheetFooter.js +20 -28
  44. package/dist/esm/components/bottom-sheet/parts/BottomSheetHeader.js +49 -45
  45. package/dist/esm/components/breadcrumbs/Breadcrumbs.context.js +22 -25
  46. package/dist/esm/components/breadcrumbs/Breadcrumbs.js +124 -159
  47. package/dist/esm/components/breadcrumbs/Breadcrumbs.variant.js +13 -19
  48. package/dist/esm/components/breadcrumbs/parts/Breadcrumb.js +35 -41
  49. package/dist/esm/components/breadcrumbs/parts/RawBreadcrumbLink.js +53 -62
  50. package/dist/esm/components/button/Button.js +90 -107
  51. package/dist/esm/components/button/Button.variants.js +172 -179
  52. package/dist/esm/components/card/Card.context.js +9 -13
  53. package/dist/esm/components/card/Card.js +63 -99
  54. package/dist/esm/components/card/parts/CardContent.js +11 -7
  55. package/dist/esm/components/card/parts/CardTitle.js +24 -31
  56. package/dist/esm/components/carousel/Carousel.context.js +8 -12
  57. package/dist/esm/components/carousel/Carousel.js +67 -106
  58. package/dist/esm/components/carousel/Carousel.options.js +69 -61
  59. package/dist/esm/components/carousel/hooks/useCarouselAccessibility.js +81 -85
  60. package/dist/esm/components/carousel/hooks/useCarouselState.js +54 -61
  61. package/dist/esm/components/carousel/parts/CarouselContent.js +52 -68
  62. package/dist/esm/components/carousel/parts/CarouselHeader.js +43 -58
  63. package/dist/esm/components/carousel/parts/CarouselNav.js +64 -79
  64. package/dist/esm/components/carousel/parts/CarouselSlide.js +26 -35
  65. package/dist/esm/components/checkbox/Checkbox.js +83 -105
  66. package/dist/esm/components/checkbox/Checkbox.variants.js +60 -80
  67. package/dist/esm/components/checkbox/CheckboxStandalone.js +33 -28
  68. package/dist/esm/components/checkbox/TanstackCheckbox.js +35 -51
  69. package/dist/esm/components/checkbox/parts/CheckboxIndicator.js +131 -161
  70. package/dist/esm/components/checkbox-field/CheckboxField.js +38 -65
  71. package/dist/esm/components/checkbox-field/TanstackCheckboxField.js +23 -39
  72. package/dist/esm/components/checkbox-group/CheckboxGroup.js +44 -73
  73. package/dist/esm/components/checkbox-group/TanstackCheckboxGroup.js +32 -37
  74. package/dist/esm/components/checkbox-group-field/CheckboxGroupField.js +35 -55
  75. package/dist/esm/components/checkbox-group-field/TanstackCheckGroupField.js +26 -39
  76. package/dist/esm/components/client-side-pagination/ClientSidePagination.js +130 -177
  77. package/dist/esm/components/client-side-pagination/hooks/use-pagination.js +20 -27
  78. package/dist/esm/components/client-side-pagination/parts/PaginationEllipsis.js +29 -29
  79. package/dist/esm/components/client-side-pagination/parts/PaginationJumpDialog.js +110 -143
  80. package/dist/esm/components/client-side-pagination/parts/PaginationNavButton.js +23 -31
  81. package/dist/esm/components/client-side-pagination/parts/RawPaginationLink.js +35 -48
  82. package/dist/esm/components/client-side-pagination/utils/pagination-window.js +37 -31
  83. package/dist/esm/components/code/Code.js +34 -38
  84. package/dist/esm/components/code/copyToClipboard.js +9 -9
  85. package/dist/esm/components/collapsible/Collapsible.js +21 -28
  86. package/dist/esm/components/collapsible/parts/CollapsibleContent.js +16 -18
  87. package/dist/esm/components/collapsible/parts/CollapsibleTitle.js +53 -53
  88. package/dist/esm/components/data-table/DataTable.js +101 -155
  89. package/dist/esm/components/data-table/parts/ColumnSortHeader.js +24 -36
  90. package/dist/esm/components/data-table/parts/DataTableBulkActions.js +95 -148
  91. package/dist/esm/components/data-table/parts/DataTableRoot.js +13 -13
  92. package/dist/esm/components/date-calendar/DateCalendar.js +121 -174
  93. package/dist/esm/components/date-calendar/DateCalendar.variants.js +32 -49
  94. package/dist/esm/components/date-calendar/hooks/useMonthsList.js +18 -25
  95. package/dist/esm/components/date-calendar/hooks/useYearsList.js +23 -32
  96. package/dist/esm/components/date-calendar/parts/DateSegmentSelect.js +62 -65
  97. package/dist/esm/components/date-picker/DatePicker.js +131 -174
  98. package/dist/esm/components/date-picker/TanstackDatePicker.js +39 -53
  99. package/dist/esm/components/date-picker/parts/DateInput.js +101 -135
  100. package/dist/esm/components/date-picker-field/DatePickerField.js +52 -71
  101. package/dist/esm/components/date-picker-field/TanstackDatePickerField.js +28 -41
  102. package/dist/esm/components/date-picker-field/test-utils.js +26 -51
  103. package/dist/esm/components/date-range-calendar/DateRangeCalendar.js +148 -211
  104. package/dist/esm/components/date-range-picker/DateRangePicker.js +132 -175
  105. package/dist/esm/components/date-range-picker/TanstackDateRangePicker.js +39 -53
  106. package/dist/esm/components/date-range-picker/parts/DateRangeInput.js +90 -101
  107. package/dist/esm/components/date-range-picker-field/TanstackDateRangePickerField.js +28 -41
  108. package/dist/esm/components/date-range-picker-field/test-utils.js +37 -65
  109. package/dist/esm/components/definition-list/DefinitionList.context.js +12 -16
  110. package/dist/esm/components/definition-list/DefinitionList.js +23 -22
  111. package/dist/esm/components/definition-list/parts/DefinitionItem.js +49 -50
  112. package/dist/esm/components/definition-tooltip/DefinitionTooltip.js +25 -28
  113. package/dist/esm/components/dialog/Dialog.js +79 -110
  114. package/dist/esm/components/dialog/parts/DialogActions/DialogButton.js +41 -61
  115. package/dist/esm/components/dialog/parts/DialogActions.js +10 -13
  116. package/dist/esm/components/dialog/parts/DialogContent.js +17 -22
  117. package/dist/esm/components/dialog/parts/DialogTitle.js +12 -9
  118. package/dist/esm/components/dialog/test-utils.js +46 -88
  119. package/dist/esm/components/empty-state/EmptyState.js +20 -25
  120. package/dist/esm/components/empty-state/EmptyState.variants.js +15 -22
  121. package/dist/esm/components/empty-state/parts/EmptyStateActions.js +12 -17
  122. package/dist/esm/components/empty-state/parts/EmptyStateContent.js +21 -21
  123. package/dist/esm/components/empty-state/parts/EmptyStateIcon.js +19 -14
  124. package/dist/esm/components/empty-state/presets/EmptyStateGetStarted.js +30 -26
  125. package/dist/esm/components/empty-state/presets/EmptyStateGoodJob.js +35 -55
  126. package/dist/esm/components/empty-state/presets/EmptyStateNoSearchResults.js +31 -27
  127. package/dist/esm/components/empty-state/presets/EmptyStateUpgradeRequired.js +30 -26
  128. package/dist/esm/components/empty-state/presets/EmptyStateUseDesktop.js +26 -25
  129. package/dist/esm/components/empty-state/presets/EmptyStateWaitingForData.js +30 -26
  130. package/dist/esm/components/error-state/ErrorState.js +155 -239
  131. package/dist/esm/components/error-state/initConfig.js +90 -148
  132. package/dist/esm/components/error-state/parts/Collapsible.js +68 -67
  133. package/dist/esm/components/fieldset/Fieldset.js +63 -72
  134. package/dist/esm/components/fieldset/parts/FieldGroup.js +13 -18
  135. package/dist/esm/components/filter/Filter.controls.js +49 -42
  136. package/dist/esm/components/filter/Filter.js +101 -146
  137. package/dist/esm/components/filter/hooks/useFilterIds.js +12 -12
  138. package/dist/esm/components/filter/hooks/useFilterState.js +16 -22
  139. package/dist/esm/components/filter/hooks/useFilterValue.js +31 -30
  140. package/dist/esm/components/filter/parts/FilterButton.js +40 -54
  141. package/dist/esm/components/filter/parts/FilterLabel.js +38 -56
  142. package/dist/esm/components/filter/parts/FilterPopover.js +68 -80
  143. package/dist/esm/components/filter/utils/value-formatters.js +9 -11
  144. package/dist/esm/components/filter-toolbar/FilterToolbar.js +124 -173
  145. package/dist/esm/components/filter-toolbar/hooks/use-filter-toolbar-state.js +128 -130
  146. package/dist/esm/components/filter-toolbar/parts/AddFilter.js +81 -109
  147. package/dist/esm/components/filter-toolbar/parts/AddFilterItem.js +20 -18
  148. package/dist/esm/components/filter-toolbar/utils/filter-adapters.js +17 -88
  149. package/dist/esm/components/filter-toolbar/utils/normalize-filter-value.js +12 -18
  150. package/dist/esm/components/flex/Flex.js +38 -57
  151. package/dist/esm/components/flex/Flex.variants.js +198 -199
  152. package/dist/esm/components/flex/FlexItem.js +21 -32
  153. package/dist/esm/components/floating-action-bar/FloatingActionBar.js +55 -68
  154. package/dist/esm/components/form/Form.context.js +15 -26
  155. package/dist/esm/components/form/Form.js +40 -57
  156. package/dist/esm/components/form/TanstackForm.js +22 -29
  157. package/dist/esm/components/form-field/FormField.context.js +44 -70
  158. package/dist/esm/components/form-field/FormField.js +50 -56
  159. package/dist/esm/components/form-field/TanstackFormField.context.js +11 -12
  160. package/dist/esm/components/form-field/TanstackFormField.js +44 -45
  161. package/dist/esm/components/form-field/parts/FormControl.js +41 -52
  162. package/dist/esm/components/form-field/parts/FormFeedbackText.js +24 -26
  163. package/dist/esm/components/form-field/parts/FormHelperText.js +21 -26
  164. package/dist/esm/components/form-field/parts/FormLabel.js +21 -30
  165. package/dist/esm/components/form-field/parts/RawFormContextualLink.js +32 -38
  166. package/dist/esm/components/form-field/parts/TanstackFormFeedbackText.js +28 -31
  167. package/dist/esm/components/form-field/parts/TanstackFormHelperText.js +22 -25
  168. package/dist/esm/components/form-field/parts/TanstackFormLabel.js +21 -26
  169. package/dist/esm/components/form-field/parts/TanstackRawFormContextualLink.js +33 -45
  170. package/dist/esm/components/form-field/utils/isFieldRequired.js +7 -7
  171. package/dist/esm/components/full-page-loader/FullPageLoader.js +26 -35
  172. package/dist/esm/components/funnel-layout/FunnelLayout.context.js +12 -26
  173. package/dist/esm/components/funnel-layout/FunnelLayout.js +75 -91
  174. package/dist/esm/components/funnel-layout/parts/FunnelBackButton.js +24 -34
  175. package/dist/esm/components/funnel-layout/parts/FunnelBody.js +15 -23
  176. package/dist/esm/components/funnel-layout/parts/FunnelPage.js +27 -35
  177. package/dist/esm/components/funnel-layout/parts/FunnelPageAction.js +32 -39
  178. package/dist/esm/components/funnel-layout/parts/FunnelPageActions.js +30 -41
  179. package/dist/esm/components/funnel-layout/parts/FunnelPageContent.js +15 -23
  180. package/dist/esm/components/funnel-layout/parts/FunnelPageFooter.js +20 -28
  181. package/dist/esm/components/funnel-layout/parts/FunnelPageHeader.js +53 -55
  182. package/dist/esm/components/funnel-layout/parts/FunnelProgressBar.js +39 -50
  183. package/dist/esm/components/funnel-layout/parts/FunnelSidebar.js +47 -54
  184. package/dist/esm/components/funnel-layout/parts/FunnelTopBar.js +88 -119
  185. package/dist/esm/components/grid/Grid.js +27 -38
  186. package/dist/esm/components/grid/Grid.variants.js +147 -164
  187. package/dist/esm/components/grid/GridItem.js +24 -43
  188. package/dist/esm/components/icon/Icon.js +112 -115
  189. package/dist/esm/components/icon-button/CircularIconButton.js +117 -119
  190. package/dist/esm/components/icon-button/IconButton.js +82 -93
  191. package/dist/esm/components/icon-button/IconButton.variants.js +167 -174
  192. package/dist/esm/components/inline-field/InlineField.context.js +8 -9
  193. package/dist/esm/components/inline-field/InlineField.js +48 -57
  194. package/dist/esm/components/inline-field/hooks/useInlineFieldMode.js +23 -26
  195. package/dist/esm/components/inline-field/parts/InlineFieldEditView.js +113 -149
  196. package/dist/esm/components/inline-field/parts/InlineFieldReadView.js +52 -57
  197. package/dist/esm/components/inline-field-group/InlineFieldGroup.context.js +5 -5
  198. package/dist/esm/components/inline-field-group/InlineFieldGroup.js +188 -216
  199. package/dist/esm/components/inline-field-group/hooks/useInlineFieldGroupMode.js +23 -26
  200. package/dist/esm/components/inline-field-group/parts/InlineFieldGroupActions.js +109 -156
  201. package/dist/esm/components/inline-field-group/parts/InlineFieldGroupEditView.js +51 -55
  202. package/dist/esm/components/inline-field-group/parts/InlineFieldGroupHeader.js +39 -38
  203. package/dist/esm/components/inline-field-group/parts/InlineFieldGroupReadView.js +18 -27
  204. package/dist/esm/components/input/Input.js +123 -150
  205. package/dist/esm/components/input/TanstackInput.js +33 -38
  206. package/dist/esm/components/label/Label.js +52 -66
  207. package/dist/esm/components/link/RawLink.js +109 -165
  208. package/dist/esm/components/link/utils.js +12 -15
  209. package/dist/esm/components/link-button/RawLinkButton.js +100 -127
  210. package/dist/esm/components/list-view/ListView.js +40 -45
  211. package/dist/esm/components/list-view/parts/ListViewItemLabel.js +17 -22
  212. package/dist/esm/components/list-view/parts/ListViewItemText.js +17 -22
  213. package/dist/esm/components/list-view/parts/ListViewSection.js +25 -23
  214. package/dist/esm/components/list-view/parts/RawListViewItem.js +68 -81
  215. package/dist/esm/components/menu/Menu.js +21 -30
  216. package/dist/esm/components/menu/parts/MenuContent.js +17 -29
  217. package/dist/esm/components/menu/parts/MenuHeader.js +13 -16
  218. package/dist/esm/components/menu/parts/MenuSection.js +32 -42
  219. package/dist/esm/components/menu/parts/MenuSeparator.js +8 -8
  220. package/dist/esm/components/menu/parts/MenuTrigger.js +12 -13
  221. package/dist/esm/components/menu/parts/RawMenuItem.js +29 -42
  222. package/dist/esm/components/multi-select/MultiSelect.js +249 -299
  223. package/dist/esm/components/multi-select/Multiselect.context.js +6 -6
  224. package/dist/esm/components/multi-select/TanstackMultiSelect.js +31 -41
  225. package/dist/esm/components/multi-select/parts/MultiSelectOptGroup.js +35 -43
  226. package/dist/esm/components/multi-select/parts/MultiSelectOption.js +60 -76
  227. package/dist/esm/components/multi-select/utils/selection-adapter.js +9 -15
  228. package/dist/esm/components/multi-select-field/MultiSelectField.js +56 -71
  229. package/dist/esm/components/multi-select-field/TanstackMultiSelectField.js +27 -48
  230. package/dist/esm/components/multi-select-field/test-utils.js +22 -45
  231. package/dist/esm/components/nav/Nav.js +21 -27
  232. package/dist/esm/components/nav/parts/NavGroup.js +103 -123
  233. package/dist/esm/components/nav/parts/RawNavItem.js +99 -118
  234. package/dist/esm/components/navigation-card/NavigationCard.context.js +10 -11
  235. package/dist/esm/components/navigation-card/NavigationCard.js +53 -63
  236. package/dist/esm/components/navigation-card/NavigationCard.variants.js +162 -162
  237. package/dist/esm/components/navigation-card/parts/NavigationCardDescription.js +17 -20
  238. package/dist/esm/components/navigation-card/parts/NavigationCardGroup.js +76 -93
  239. package/dist/esm/components/navigation-card/parts/NavigationCardLabel.js +18 -23
  240. package/dist/esm/components/number-field/NumberField.js +48 -69
  241. package/dist/esm/components/number-field/TanstackNumberField.js +30 -43
  242. package/dist/esm/components/number-input/NumberInput.js +161 -216
  243. package/dist/esm/components/number-input/TanstackNumberInput.js +33 -38
  244. package/dist/esm/components/page/Page.js +33 -48
  245. package/dist/esm/components/page/parts/PageHeader.js +41 -36
  246. package/dist/esm/components/page/parts/PageHeading.js +17 -19
  247. package/dist/esm/components/pagination/Pagination.js +78 -102
  248. package/dist/esm/components/pagination/PaginationContext.js +8 -14
  249. package/dist/esm/components/pagination/hooks/use-pagination-state.js +20 -26
  250. package/dist/esm/components/pagination/hooks/use-pagination-window.js +10 -13
  251. package/dist/esm/components/pagination/parts/PaginationContent.js +26 -37
  252. package/dist/esm/components/pagination/parts/PaginationEllipsis.js +33 -33
  253. package/dist/esm/components/pagination/parts/PaginationItem.js +17 -22
  254. package/dist/esm/components/pagination/parts/RawPaginationLink.js +50 -60
  255. package/dist/esm/components/pagination/parts/RawPaginationNext.js +53 -70
  256. package/dist/esm/components/pagination/parts/RawPaginationPrevious.js +52 -66
  257. package/dist/esm/components/pagination/utils/pagination-window.js +55 -40
  258. package/dist/esm/components/password-field/TanstackPasswordField.js +55 -82
  259. package/dist/esm/components/password-field/hooks/use-caps-lock.js +11 -11
  260. package/dist/esm/components/password-field/parts/PasswordFieldDetails.js +42 -41
  261. package/dist/esm/components/password-field/parts/PasswordInput.js +153 -188
  262. package/dist/esm/components/password-field/parts/ValidationRuleItem.js +38 -43
  263. package/dist/esm/components/payfit-brand/PayFitBrand.js +74 -84
  264. package/dist/esm/components/payfit-brand/PayFitPreprod.js +53 -57
  265. package/dist/esm/components/phone-number/PhoneNumberInput.js +214 -331
  266. package/dist/esm/components/phone-number/TanstackPhoneNumberInput.js +29 -32
  267. package/dist/esm/components/phone-number/parts/PhoneNumberItem.js +49 -65
  268. package/dist/esm/components/phone-number/unknownFlag.js +4 -0
  269. package/dist/esm/components/phone-number-field/TanstackPhoneNumberField.js +21 -32
  270. package/dist/esm/components/pill/Pill.js +48 -58
  271. package/dist/esm/components/popover/Popover.js +37 -41
  272. package/dist/esm/components/popover/parts/PopoverHeader.js +48 -60
  273. package/dist/esm/components/progress-bar/ProgressBar.js +66 -76
  274. package/dist/esm/components/promo-dialog/PromoDialog.js +135 -218
  275. package/dist/esm/components/promo-dialog/parts/PromoDialogActions.js +19 -29
  276. package/dist/esm/components/promo-dialog/parts/PromoDialogContent.js +14 -19
  277. package/dist/esm/components/promo-dialog/parts/PromoDialogHero.js +17 -24
  278. package/dist/esm/components/promo-dialog/parts/PromoDialogSubtitle.js +15 -21
  279. package/dist/esm/components/promo-dialog/parts/PromoDialogTitle.js +11 -16
  280. package/dist/esm/components/radio-button-group/RadioButtonGroup.js +18 -23
  281. package/dist/esm/components/radio-button-group/TanstackRadioButtonGroup.js +32 -42
  282. package/dist/esm/components/radio-button-group/parts/RadioButton.js +61 -66
  283. package/dist/esm/components/radio-button-group/parts/RadioButtonHelper.js +14 -19
  284. package/dist/esm/components/radio-button-group/parts/RadioIndicator.js +107 -129
  285. package/dist/esm/components/radio-button-group-field/RadioButtonGroupField.js +37 -52
  286. package/dist/esm/components/radio-button-group-field/TanstackRadioButtonGroupField.js +31 -37
  287. package/dist/esm/components/search/Search.js +120 -166
  288. package/dist/esm/components/segmented-button-group/SegmentedButtonGroup.js +20 -20
  289. package/dist/esm/components/segmented-button-group/SegmentedButtonGroups.context.js +11 -14
  290. package/dist/esm/components/segmented-button-group/parts/ToggleButton.js +105 -125
  291. package/dist/esm/components/select/Select.js +85 -130
  292. package/dist/esm/components/select/TanstackSelect.js +31 -40
  293. package/dist/esm/components/select/parts/SelectButton.js +79 -103
  294. package/dist/esm/components/select/parts/SelectOption.context.js +14 -21
  295. package/dist/esm/components/select/parts/SelectOption.js +53 -64
  296. package/dist/esm/components/select/parts/SelectOptionGroup.js +34 -27
  297. package/dist/esm/components/select/parts/SelectOptionHelper.js +22 -21
  298. package/dist/esm/components/select-field/SelectField.js +44 -66
  299. package/dist/esm/components/select-field/TanstackSelectField.js +29 -45
  300. package/dist/esm/components/select-field/test-utils.js +10 -25
  301. package/dist/esm/components/select-list/SelectList.js +70 -81
  302. package/dist/esm/components/select-list/constants.js +13 -28
  303. package/dist/esm/components/select-list/helpers.js +37 -43
  304. package/dist/esm/components/select-list/hooks/useControlledSelection.js +13 -15
  305. package/dist/esm/components/select-list/hooks/useSelectedFirstSorting.js +30 -30
  306. package/dist/esm/components/select-list/parts/SelectListEmptyState.js +24 -24
  307. package/dist/esm/components/select-list/parts/SelectListOptGroup.js +33 -30
  308. package/dist/esm/components/select-list/parts/SelectListOption.js +54 -70
  309. package/dist/esm/components/select-list/parts/SelectListSearchInput.js +43 -49
  310. package/dist/esm/components/select-list/parts/SelectedItemsSection.js +29 -35
  311. package/dist/esm/components/select-list/utils/partition.js +7 -8
  312. package/dist/esm/components/selectable-button-group/SelectableButtonGroup.context.js +5 -5
  313. package/dist/esm/components/selectable-button-group/SelectableButtonGroup.js +32 -38
  314. package/dist/esm/components/selectable-button-group/TanstackSelectableButtonGroup.js +27 -33
  315. package/dist/esm/components/selectable-button-group/parts/SelectableButton.js +81 -123
  316. package/dist/esm/components/selectable-button-group-field/SelectableButtonGroupField.js +41 -44
  317. package/dist/esm/components/selectable-button-group-field/TanstackSelectableButtonGroupField.js +29 -46
  318. package/dist/esm/components/selectable-card/internals/Content.js +8 -8
  319. package/dist/esm/components/selectable-card/internals/Description.js +11 -10
  320. package/dist/esm/components/selectable-card/internals/Illustration.js +8 -8
  321. package/dist/esm/components/selectable-card/internals/SelectedIndicator.js +9 -9
  322. package/dist/esm/components/selectable-card/selectable-card-checkbox-group/SelectableCardCheckboxGroup.js +13 -16
  323. package/dist/esm/components/selectable-card/selectable-card-checkbox-group/TanstackSelectableCardCheckboxGroup.js +28 -31
  324. package/dist/esm/components/selectable-card/selectable-card-checkbox-group/parts/SelectableCardCheckbox.js +37 -37
  325. package/dist/esm/components/selectable-card/selectable-card-radio-group/SelectableCardRadioGroup.js +18 -21
  326. package/dist/esm/components/selectable-card/selectable-card-radio-group/TanstackSelectableCardRadioGroup.js +28 -31
  327. package/dist/esm/components/selectable-card/selectable-card-radio-group/parts/SelectableCardRadio.js +40 -47
  328. package/dist/esm/components/selectable-card/selectableCard.variant.js +16 -22
  329. package/dist/esm/components/selectable-card-checkbox-group-field/SelectableCardCheckboxGroupField.js +38 -46
  330. package/dist/esm/components/selectable-card-checkbox-group-field/TanstackSelectableCardCheckboxGroupField.js +29 -37
  331. package/dist/esm/components/selectable-card-radio-group-field/SelectableCardRadioGroupField.js +37 -45
  332. package/dist/esm/components/selectable-card-radio-group-field/TanstackSelectableCardRadioGroupField.js +29 -37
  333. package/dist/esm/components/side-panel/SidePanel.js +53 -71
  334. package/dist/esm/components/side-panel/parts/SidePanelContent.js +25 -25
  335. package/dist/esm/components/side-panel/parts/SidePanelDragIndicator.js +44 -65
  336. package/dist/esm/components/side-panel/parts/SidePanelFooter.js +26 -29
  337. package/dist/esm/components/side-panel/parts/SidePanelHeader.js +41 -43
  338. package/dist/esm/components/skip-links/SkipLinks.js +69 -87
  339. package/dist/esm/components/spinner/Spinner.js +76 -106
  340. package/dist/esm/components/stepper/Stepper.context.js +15 -20
  341. package/dist/esm/components/stepper/Stepper.js +16 -18
  342. package/dist/esm/components/stepper/hooks/useStepper.js +20 -25
  343. package/dist/esm/components/stepper/parts/Step.js +47 -56
  344. package/dist/esm/components/table/Table.context.js +35 -41
  345. package/dist/esm/components/table/Table.js +155 -225
  346. package/dist/esm/components/table/hooks/useTableKeyboardNavigation.js +180 -208
  347. package/dist/esm/components/table/parts/TableBody.js +81 -104
  348. package/dist/esm/components/table/parts/TableCell.js +38 -62
  349. package/dist/esm/components/table/parts/TableColumnHeader.js +62 -78
  350. package/dist/esm/components/table/parts/TableEmptyState.js +131 -161
  351. package/dist/esm/components/table/parts/TableHeader.js +24 -37
  352. package/dist/esm/components/table/parts/TablePagination.js +119 -141
  353. package/dist/esm/components/table/parts/TableRow.js +36 -52
  354. package/dist/esm/components/tabs/Tabs.context.js +19 -20
  355. package/dist/esm/components/tabs/Tabs.js +26 -24
  356. package/dist/esm/components/tabs/Tabs.variant.js +35 -41
  357. package/dist/esm/components/tabs/parts/NavigationButton.js +37 -46
  358. package/dist/esm/components/tabs/parts/RawTab.js +22 -18
  359. package/dist/esm/components/tabs/parts/TabList.js +84 -83
  360. package/dist/esm/components/tabs/parts/TabPanel.js +13 -9
  361. package/dist/esm/components/task-menu/TaskMenu.context.js +44 -58
  362. package/dist/esm/components/task-menu/TaskMenu.js +21 -28
  363. package/dist/esm/components/task-menu/parts/Content.js +43 -48
  364. package/dist/esm/components/task-menu/parts/Header.js +39 -54
  365. package/dist/esm/components/task-menu/parts/RawSubTask.js +141 -166
  366. package/dist/esm/components/task-menu/parts/RawTask.js +115 -145
  367. package/dist/esm/components/task-menu/parts/TaskGroup.js +103 -140
  368. package/dist/esm/components/task-menu/parts/dot.js +19 -0
  369. package/dist/esm/components/task-menu/parts/task.variants.js +59 -64
  370. package/dist/esm/components/text/Text.js +56 -71
  371. package/dist/esm/components/text/Text.variants.js +106 -112
  372. package/dist/esm/components/text-area/TanstackTextArea.js +30 -35
  373. package/dist/esm/components/text-area/TextArea.js +121 -164
  374. package/dist/esm/components/text-field/TanstackTextField.js +39 -59
  375. package/dist/esm/components/text-field/TextField.js +53 -76
  376. package/dist/esm/components/timeline/Timeline.context.js +18 -21
  377. package/dist/esm/components/timeline/Timeline.js +33 -37
  378. package/dist/esm/components/timeline/Timeline.utils.js +8 -8
  379. package/dist/esm/components/timeline/Timeline.variants.js +93 -118
  380. package/dist/esm/components/timeline/parts/TimelineMarker.js +36 -26
  381. package/dist/esm/components/timeline/parts/TimelineStep.context.js +15 -19
  382. package/dist/esm/components/timeline/parts/TimelineStep.js +57 -52
  383. package/dist/esm/components/timeline/parts/TimelineStepContent.context.js +15 -20
  384. package/dist/esm/components/timeline/parts/TimelineStepContent.js +30 -17
  385. package/dist/esm/components/timeline/parts/TimelineStepDescription.js +12 -7
  386. package/dist/esm/components/timeline/parts/TimelineStepHeader.js +34 -36
  387. package/dist/esm/components/timeline/parts/check.js +23 -0
  388. package/dist/esm/components/toast/Toast.context.js +15 -20
  389. package/dist/esm/components/toast/ToastManager.js +13 -21
  390. package/dist/esm/components/toast/UnityToast.js +82 -95
  391. package/dist/esm/components/toast/parts/ToastAction.js +18 -13
  392. package/dist/esm/components/toast/parts/ToastContent.js +13 -9
  393. package/dist/esm/components/toast/parts/ToastTitle.js +13 -8
  394. package/dist/esm/components/toast/test-utils.js +63 -117
  395. package/dist/esm/components/toast/toast.js +27 -38
  396. package/dist/esm/components/toggle-switch/TanstackToggleSwitch.js +21 -24
  397. package/dist/esm/components/toggle-switch/ToggleSwitch.js +111 -112
  398. package/dist/esm/components/toggle-switch-field/TanstackToggleSwitchField.js +19 -33
  399. package/dist/esm/components/toggle-switch-field/ToggleSwitchField.js +33 -58
  400. package/dist/esm/components/toggle-switch-group/TanstackToggleSwitchGroup.js +18 -21
  401. package/dist/esm/components/toggle-switch-group/ToggleSwitchGroup.js +83 -108
  402. package/dist/esm/components/toggle-switch-group-field/TanstackToggleSwitchGroupField.js +30 -49
  403. package/dist/esm/components/toggle-switch-group-field/ToggleSwitchGroupField.js +41 -61
  404. package/dist/esm/components/tooltip/Tooltip.js +30 -31
  405. package/dist/esm/hooks/tanstack-form-context.js +5 -8
  406. package/dist/esm/hooks/tanstack-form-default-values.js +5 -5
  407. package/dist/esm/hooks/use-async-list.js +2 -0
  408. package/dist/esm/hooks/use-breakpoint-listener.js +16 -25
  409. package/dist/esm/hooks/use-container-query-level.js +30 -31
  410. package/dist/esm/hooks/use-form.js +35 -29
  411. package/dist/esm/hooks/use-has-scroll.js +76 -74
  412. package/dist/esm/hooks/use-id.js +18 -24
  413. package/dist/esm/hooks/use-media-query.js +15 -18
  414. package/dist/esm/hooks/use-resizable.js +49 -49
  415. package/dist/esm/hooks/use-responsive-value.js +22 -26
  416. package/dist/esm/hooks/use-scroll-direction.js +50 -52
  417. package/dist/esm/hooks/use-tanstack-form.js +60 -287
  418. package/dist/esm/index.js +240 -577
  419. package/dist/esm/integrations/tanstack-router/components/breadcrumbs/BreadcrumbLink.js +7 -7
  420. package/dist/esm/integrations/tanstack-router/components/form-contextual-link/FormContextualLink.js +7 -7
  421. package/dist/esm/integrations/tanstack-router/components/link/Link.js +7 -7
  422. package/dist/esm/integrations/tanstack-router/components/link-button/LinkButton.js +5 -5
  423. package/dist/esm/integrations/tanstack-router/components/list-view/ListView.js +20 -23
  424. package/dist/esm/integrations/tanstack-router/components/list-view/parts/ListViewItem.js +17 -30
  425. package/dist/esm/integrations/tanstack-router/components/menu-item/MenuItem.js +17 -15
  426. package/dist/esm/integrations/tanstack-router/components/nav-item/NavItem.js +21 -27
  427. package/dist/esm/integrations/tanstack-router/components/navigation-card/NavigationCard.js +19 -35
  428. package/dist/esm/integrations/tanstack-router/components/pagination/PaginationLink.js +18 -20
  429. package/dist/esm/integrations/tanstack-router/components/pagination/PaginationNext.js +17 -20
  430. package/dist/esm/integrations/tanstack-router/components/pagination/PaginationPrevious.js +18 -21
  431. package/dist/esm/integrations/tanstack-router/components/tabs/Tabs.js +52 -67
  432. package/dist/esm/integrations/tanstack-router/components/tabs/parts/Tab.js +16 -22
  433. package/dist/esm/integrations/tanstack-router/components/tabs/parts/TabPanel.js +14 -14
  434. package/dist/esm/integrations/tanstack-router/components/task-menu/SubTask.js +15 -12
  435. package/dist/esm/integrations/tanstack-router/components/task-menu/Task.js +15 -12
  436. package/dist/esm/integrations/tanstack-router.js +19 -40
  437. package/dist/esm/providers/router/RouterProvider.js +24 -20
  438. package/dist/esm/storybook-testing.js +7 -14
  439. package/dist/esm/utils/createSchemaAdapter.js +7 -12
  440. package/dist/esm/utils/field-revalidate-logic.js +41 -38
  441. package/dist/esm/utils/platform.js +4 -4
  442. package/dist/esm/utils/scroll-detection.js +31 -32
  443. package/dist/esm/utils/spacing.js +14 -14
  444. package/package.json +12 -12
  445. package/dist/esm/components/phone-number/unknownFlag.svg.js +0 -4
  446. package/dist/esm/components/task-menu/parts/dot.svg.js +0 -5
  447. package/dist/esm/components/timeline/parts/check.svg.js +0 -5
@@ -1,331 +1,214 @@
1
- import { jsx as e, jsxs as a } from "react/jsx-runtime";
2
- import { forwardRef as J, useState as K, useRef as Q, useImperativeHandle as X } from "react";
3
- import { uyTv as Y } from "@payfit/unity-themes";
4
- import { useFilter as Z, Autocomplete as _ } from "react-aria-components/Autocomplete";
5
- import { Button as ee } from "react-aria-components/Button";
6
- import { Group as re } from "react-aria-components/Group";
7
- import { Input as te } from "react-aria-components/Input";
8
- import { ListBox as ae } from "react-aria-components/ListBox";
9
- import { Popover as oe } from "react-aria-components/Popover";
10
- import { Select as ue } from "react-aria-components/Select";
11
- import { Separator as de } from "react-aria-components/Separator";
12
- import { Virtualizer as ie, ListLayout as ne } from "react-aria-components/Virtualizer";
13
- import { defaultCountries as m, usePhoneInput as le, FlagImage as se, parseCountry as ye } from "react-international-phone";
14
- import { useIntl as ce } from "react-intl";
15
- import { CircularIconButton as me } from "../icon-button/CircularIconButton.js";
16
- import { Icon as f } from "../icon/Icon.js";
17
- import { Search as fe } from "../search/Search.js";
18
- import { PhoneNumberItem as be } from "./parts/PhoneNumberItem.js";
19
- import pe from "./unknownFlag.svg.js";
20
- const ge = Y({
21
- slots: {
22
- base: [
23
- "uy:group",
24
- // common
25
- "uy:flex uy:w-full uy:border uy:border-border-form-enabled uy:bg-surface-form-enabled uy:border-solid uy:focus-within:outline-none uy:focus-within:ring-2 uy:focus-within:ring-utility-focus-ring uy:focus-within:ring-offset-2",
26
- // common hover
27
- 'uy:data-[active="true"]:data-[hovered="true"]:border-border-form-hover uy:data-[active="true"]:data-[hovered="true"]:bg-surface-form-hover uy:data-[active="true"]:data-[hovered="true"]:text-content-form-hover',
28
- // common pressed
29
- 'uy:data-[active="true"]:data-[pressed="true"]:border-border-form-pressed uy:data-[active="true"]:data-[pressed="true"]:bg-surface-form-pressed uy:data-[active="true"]:data-[pressed="true"]:text-content-form-pressed',
30
- // common active
31
- 'uy:data-[active="true"]:border-border-form-active',
32
- // common focus-visible
33
- 'uy:data-[focus-visible="true"]:outline-none uy:data-[focus-visible="true"]:ring-2 uy:data-[focus-visible="true"]:ring-utility-focus-ring uy:data-[focus-visible="true"]:ring-offset-2',
34
- // common invalid
35
- 'uy:data-[invalid="true"]:border-border-form-error uy:data-[invalid="true"]:bg-surface-form-error uy:data-[invalid="true"]:text-content-form-danger-enabled',
36
- // common disabled
37
- 'uy:data-[disabled="true"]:border-border-form-disabled uy:data-[disabled="true"]:bg-surface-form-disabled uy:data-[disabled="true"]:text-content-form-disabled uy:data-[disabled="true"]:cursor-not-allowed',
38
- //mobile
39
- "uy:h-5.5 uy:rounded-100",
40
- // desktop
41
- "uy:sm:h-500 uy:sm:rounded-75 "
42
- ],
43
- prefix: [
44
- // common
45
- "uy:border-r uy:border-solid uy:border-border-form-enabled uy:text-content-form-enabled uy:flex-grow-0 uy:pl-150 uy:pr-100 uy:group-data-[active=true]:border-border-form-active uy:cursor-pointer",
46
- // common invalid
47
- 'uy:group-data-[invalid="true"]:border-border-form-error',
48
- // common disabled
49
- 'uy:group-data-[disabled="true"]:border-border-form-disabled uy:group-data-[disabled="true"]:text-content-form-disabled uy:data-[disabled="true"]:cursor-not-allowed',
50
- //mobile
51
- "uy:py-125",
52
- // desktop
53
- "uy:sm:py-100"
54
- ],
55
- inputWrapper: [
56
- // common
57
- "uy:border-border-form-enabled uy:bg-surface-form-enabled uy:flex uy:gap-50 uy:flex-grow uy:flex-nowrap uy:px-150 uy:max-w-full uy:justify-between",
58
- // common invalid
59
- 'uy:group-data-[invalid="true"]:bg-surface-form-error',
60
- // common disabled
61
- 'uy:group-data-[disabled="true"]:bg-surface-form-disabled uy:data-[disabled="true"]:cursor-not-allowed',
62
- // mobile
63
- "uy:py-125 uy:rounded-100",
64
- // desktop
65
- "uy:sm:py-100 uy:sm:rounded-75"
66
- ],
67
- input: [
68
- // common
69
- "uy:text-content-form-enabled uy:bg-surface-form-enabled uy:w-full uy:flex-1 uy:outline-none uy:typography-body uy:placeholder:text-content-neutral-lowest uy:min-w-0 uy:max-w-full uy:min-h-300",
70
- // common invalid
71
- 'uy:group-data-[invalid="true"]:bg-surface-form-error uy:group-data-[invalid="true"]:text-content-danger-enabled',
72
- // common disabled
73
- 'uy:group-data-[disabled="true"]:bg-surface-form-disabled uy:group-data-[disabled="true"]:text-content-form-disabled uy:data-[disabled="true"]:cursor-not-allowed'
74
- ],
75
- state: [
76
- // common
77
- "uy:flex uy:gap-50 uy:items-center uy:shrink-0"
78
- ],
79
- selectIcon: [
80
- //common
81
- ""
82
- ],
83
- selectButton: [
84
- //common
85
- "uy:cursor-pointer uy:flex uy:gap-50 uy:items-center uy:outline-none",
86
- // common disabled
87
- 'uy:data-[disabled="true"]:cursor-not-allowed'
88
- ],
89
- selectPopover: [
90
- //common
91
- "uy:border uy:border-solid uy:border-border-neutral uy:w-[var(--trigger-width)] uy:bg-surface-neutral-enabled uy:shadow-300",
92
- // mobile
93
- "uy:rounded-100",
94
- // desktop
95
- "uy:sm:rounded-75"
96
- ],
97
- selectListbox: [
98
- //common
99
- "uy:overflow-y-auto uy:overflow-x-hidden uy:max-h-[296px]"
100
- ]
101
- }
102
- }), he = J(
103
- (b, p) => {
104
- const i = ce(), {
105
- onChange: g,
106
- value: n,
107
- defaultCountry: h = "unknown",
108
- onClearButtonPress: v,
109
- isInvalid: o = !1,
110
- isDisabled: u = !1,
111
- prefix: x = "+",
112
- "aria-label": s,
113
- defaultMask: w,
114
- charAfterDialCode: C,
115
- historySaveDebounceMS: N,
116
- disableCountryGuess: I,
117
- forceDialCode: P,
118
- disableDialCodeAndPrefix: k,
119
- disableFormatting: S,
120
- searchInputAriaLabel: M,
121
- ...B
122
- } = b, [D, L] = K(!1), { contains: O } = Z({ sensitivity: "base" }), d = Q(null);
123
- X(p, () => d.current, [d]);
124
- const R = [["", "unknown", "", ""], ...m], {
125
- inputRef: y,
126
- inputValue: c,
127
- handlePhoneValueChange: j,
128
- country: t,
129
- setCountry: A,
130
- phone: F
131
- } = le({
132
- prefix: x,
133
- defaultCountry: h,
134
- value: n,
135
- countries: R,
136
- disableDialCodePrefill: !0,
137
- defaultMask: w,
138
- charAfterDialCode: C,
139
- historySaveDebounceMS: N,
140
- disableCountryGuess: I,
141
- forceDialCode: P,
142
- disableDialCodeAndPrefix: k,
143
- disableFormatting: S,
144
- onChange: (r) => {
145
- g?.(t.iso2 === "unknown" ? "" : r.phone);
146
- }
147
- }), {
148
- base: W,
149
- prefix: $,
150
- inputWrapper: V,
151
- input: z,
152
- selectPopover: G,
153
- selectListbox: T,
154
- selectIcon: U,
155
- selectButton: E,
156
- state: H
157
- } = ge(), q = c.replace(F, "").trim() !== "" && !u;
158
- return /* @__PURE__ */ e("div", { ref: d, children: /* @__PURE__ */ a(
159
- re,
160
- {
161
- className: W(),
162
- "aria-label": `${s}${n ? `, ${n}` : ""}`,
163
- "aria-invalid": o,
164
- "data-invalid": o,
165
- "data-disabled": u,
166
- "aria-disabled": u,
167
- children: [
168
- /* @__PURE__ */ a(
169
- ue,
170
- {
171
- onOpenChange: (r) => {
172
- L(r), r || setTimeout(() => {
173
- y.current?.focus();
174
- }, 0);
175
- },
176
- isDisabled: u,
177
- value: t.iso2,
178
- onChange: (r) => {
179
- A(r);
180
- },
181
- className: $(),
182
- isInvalid: o,
183
- children: [
184
- /* @__PURE__ */ a(
185
- ee,
186
- {
187
- "data-dd-privacy": "mask",
188
- className: E(),
189
- "aria-label": i.formatMessage(
190
- {
191
- id: "unity:component:phone-number:country-selector:label",
192
- defaultMessage: "Select country code, {country} {dialCode}"
193
- },
194
- {
195
- country: t.name,
196
- dialCode: t.dialCode
197
- }
198
- ),
199
- children: [
200
- t.iso2 !== "unknown" ? /* @__PURE__ */ e(
201
- se,
202
- {
203
- iso2: t.iso2,
204
- alt: t.name,
205
- size: 24,
206
- "aria-hidden": "true",
207
- "data-dd-privacy": "mask"
208
- }
209
- ) : /* @__PURE__ */ e(
210
- "img",
211
- {
212
- "aria-hidden": "true",
213
- src: pe,
214
- alt: "",
215
- "data-dd-privacy": "mask",
216
- className: "react-international-phone-flag-emoji",
217
- width: 24,
218
- height: 24
219
- }
220
- ),
221
- /* @__PURE__ */ e(
222
- f,
223
- {
224
- className: U(),
225
- "aria-hidden": "true",
226
- src: D ? "CaretUpOutlined" : "CaretDownOutlined"
227
- }
228
- )
229
- ]
230
- }
231
- ),
232
- /* @__PURE__ */ e(
233
- oe,
234
- {
235
- style: {
236
- "--trigger-width": `${d.current?.offsetWidth}px`
237
- },
238
- triggerRef: d,
239
- offset: 1,
240
- containerPadding: 8,
241
- className: G(),
242
- children: /* @__PURE__ */ a(_, { filter: O, children: [
243
- /* @__PURE__ */ e("div", { className: "uy:m-100", children: /* @__PURE__ */ e(fe, { label: M, "data-dd-privacy": "mask" }) }),
244
- /* @__PURE__ */ e(de, { className: "uy:mx-100 uy:border-t uy:border-border-neutral uy:border-solid" }),
245
- /* @__PURE__ */ e(
246
- ie,
247
- {
248
- layout: ne,
249
- layoutOptions: {
250
- padding: 8
251
- },
252
- children: /* @__PURE__ */ e(
253
- ae,
254
- {
255
- className: T(),
256
- items: m,
257
- children: (r) => {
258
- const l = ye(r);
259
- return /* @__PURE__ */ e(
260
- be,
261
- {
262
- country: l,
263
- id: l.iso2
264
- },
265
- l.iso2
266
- );
267
- }
268
- }
269
- )
270
- }
271
- )
272
- ] })
273
- }
274
- )
275
- ]
276
- }
277
- ),
278
- /* @__PURE__ */ a("div", { className: V(), children: [
279
- /* @__PURE__ */ e(
280
- te,
281
- {
282
- ref: y,
283
- ...B,
284
- className: z(),
285
- type: "tel",
286
- onChange: j,
287
- value: c,
288
- "data-dd-privacy": "mask",
289
- "aria-invalid": o,
290
- disabled: u,
291
- "aria-label": s
292
- }
293
- ),
294
- /* @__PURE__ */ a("div", { className: H(), children: [
295
- o && /* @__PURE__ */ e(
296
- f,
297
- {
298
- src: "WarningCircleOutlined",
299
- color: "content.form.invalid",
300
- role: "img",
301
- "aria-label": i.formatMessage({
302
- id: "unity:component:form-field:form-input:error:alt",
303
- defaultMessage: "Error"
304
- })
305
- }
306
- ),
307
- q && /* @__PURE__ */ e(
308
- me,
309
- {
310
- title: i.formatMessage({
311
- id: "unity:component:common:clear:title",
312
- defaultMessage: "Clear"
313
- }),
314
- color: "content.neutral.low",
315
- icon: "CloseOutlined",
316
- onPress: () => {
317
- v?.();
318
- }
319
- }
320
- )
321
- ] })
322
- ] })
323
- ]
324
- }
325
- ) });
326
- }
327
- );
328
- he.displayName = "PhoneNumberInput";
329
- export {
330
- he as PhoneNumberInput
331
- };
1
+ import { Icon as e } from "../icon/Icon.js";
2
+ import { CircularIconButton as t } from "../icon-button/CircularIconButton.js";
3
+ import { Search as n } from "../search/Search.js";
4
+ import { PhoneNumberItem as r } from "./parts/PhoneNumberItem.js";
5
+ import i from "./unknownFlag.js";
6
+ import { forwardRef as a, useImperativeHandle as o, useRef as s, useState as c } from "react";
7
+ import { uyTv as l } from "@payfit/unity-themes";
8
+ import { jsx as u, jsxs as d } from "react/jsx-runtime";
9
+ import { Group as f } from "react-aria-components/Group";
10
+ import { useIntl as p } from "react-intl";
11
+ import { Button as m } from "react-aria-components/Button";
12
+ import { Separator as h } from "react-aria-components/Separator";
13
+ import { ListBox as g } from "react-aria-components/ListBox";
14
+ import { Popover as _ } from "react-aria-components/Popover";
15
+ import { Input as v } from "react-aria-components/Input";
16
+ import { Autocomplete as y, useFilter as b } from "react-aria-components/Autocomplete";
17
+ import { Select as x } from "react-aria-components/Select";
18
+ import { ListLayout as S, Virtualizer as C } from "react-aria-components/Virtualizer";
19
+ import { FlagImage as w, defaultCountries as T, parseCountry as E, usePhoneInput as D } from "react-international-phone";
20
+ //#region src/components/phone-number/PhoneNumberInput.tsx
21
+ var O = l({ slots: {
22
+ base: [
23
+ "uy:group",
24
+ "uy:flex uy:w-full uy:border uy:border-border-form-enabled uy:bg-surface-form-enabled uy:border-solid uy:focus-within:outline-none uy:focus-within:ring-2 uy:focus-within:ring-utility-focus-ring uy:focus-within:ring-offset-2",
25
+ "uy:data-[active=\"true\"]:data-[hovered=\"true\"]:border-border-form-hover uy:data-[active=\"true\"]:data-[hovered=\"true\"]:bg-surface-form-hover uy:data-[active=\"true\"]:data-[hovered=\"true\"]:text-content-form-hover",
26
+ "uy:data-[active=\"true\"]:data-[pressed=\"true\"]:border-border-form-pressed uy:data-[active=\"true\"]:data-[pressed=\"true\"]:bg-surface-form-pressed uy:data-[active=\"true\"]:data-[pressed=\"true\"]:text-content-form-pressed",
27
+ "uy:data-[active=\"true\"]:border-border-form-active",
28
+ "uy:data-[focus-visible=\"true\"]:outline-none uy:data-[focus-visible=\"true\"]:ring-2 uy:data-[focus-visible=\"true\"]:ring-utility-focus-ring uy:data-[focus-visible=\"true\"]:ring-offset-2",
29
+ "uy:data-[invalid=\"true\"]:border-border-form-error uy:data-[invalid=\"true\"]:bg-surface-form-error uy:data-[invalid=\"true\"]:text-content-form-danger-enabled",
30
+ "uy:data-[disabled=\"true\"]:border-border-form-disabled uy:data-[disabled=\"true\"]:bg-surface-form-disabled uy:data-[disabled=\"true\"]:text-content-form-disabled uy:data-[disabled=\"true\"]:cursor-not-allowed",
31
+ "uy:h-5.5 uy:rounded-100",
32
+ "uy:sm:h-500 uy:sm:rounded-75 "
33
+ ],
34
+ prefix: [
35
+ "uy:border-r uy:border-solid uy:border-border-form-enabled uy:text-content-form-enabled uy:flex-grow-0 uy:pl-150 uy:pr-100 uy:group-data-[active=true]:border-border-form-active uy:cursor-pointer",
36
+ "uy:group-data-[invalid=\"true\"]:border-border-form-error",
37
+ "uy:group-data-[disabled=\"true\"]:border-border-form-disabled uy:group-data-[disabled=\"true\"]:text-content-form-disabled uy:data-[disabled=\"true\"]:cursor-not-allowed",
38
+ "uy:py-125",
39
+ "uy:sm:py-100"
40
+ ],
41
+ inputWrapper: [
42
+ "uy:border-border-form-enabled uy:bg-surface-form-enabled uy:flex uy:gap-50 uy:flex-grow uy:flex-nowrap uy:px-150 uy:max-w-full uy:justify-between",
43
+ "uy:group-data-[invalid=\"true\"]:bg-surface-form-error",
44
+ "uy:group-data-[disabled=\"true\"]:bg-surface-form-disabled uy:data-[disabled=\"true\"]:cursor-not-allowed",
45
+ "uy:py-125 uy:rounded-100",
46
+ "uy:sm:py-100 uy:sm:rounded-75"
47
+ ],
48
+ input: [
49
+ "uy:text-content-form-enabled uy:bg-surface-form-enabled uy:w-full uy:flex-1 uy:outline-none uy:typography-body uy:placeholder:text-content-neutral-lowest uy:min-w-0 uy:max-w-full uy:min-h-300",
50
+ "uy:group-data-[invalid=\"true\"]:bg-surface-form-error uy:group-data-[invalid=\"true\"]:text-content-danger-enabled",
51
+ "uy:group-data-[disabled=\"true\"]:bg-surface-form-disabled uy:group-data-[disabled=\"true\"]:text-content-form-disabled uy:data-[disabled=\"true\"]:cursor-not-allowed"
52
+ ],
53
+ state: ["uy:flex uy:gap-50 uy:items-center uy:shrink-0"],
54
+ selectIcon: [""],
55
+ selectButton: ["uy:cursor-pointer uy:flex uy:gap-50 uy:items-center uy:outline-none", "uy:data-[disabled=\"true\"]:cursor-not-allowed"],
56
+ selectPopover: [
57
+ "uy:border uy:border-solid uy:border-border-neutral uy:w-[var(--trigger-width)] uy:bg-surface-neutral-enabled uy:shadow-300",
58
+ "uy:rounded-100",
59
+ "uy:sm:rounded-75"
60
+ ],
61
+ selectListbox: ["uy:overflow-y-auto uy:overflow-x-hidden uy:max-h-[296px]"]
62
+ } }), k = a((a, l) => {
63
+ let k = p(), { onChange: A, value: j, defaultCountry: M = "unknown", onClearButtonPress: N, isInvalid: P = !1, isDisabled: F = !1, prefix: I = "+", "aria-label": L, defaultMask: R, charAfterDialCode: z, historySaveDebounceMS: B, disableCountryGuess: ee, forceDialCode: V, disableDialCodeAndPrefix: H, disableFormatting: U, searchInputAriaLabel: W, ...G } = a, [K, q] = c(!1), { contains: J } = b({ sensitivity: "base" }), Y = s(null);
64
+ o(l, () => Y.current, [Y]);
65
+ let { inputRef: X, inputValue: Z, handlePhoneValueChange: Q, country: $, setCountry: te, phone: ne } = D({
66
+ prefix: I,
67
+ defaultCountry: M,
68
+ value: j,
69
+ countries: [[
70
+ "",
71
+ "unknown",
72
+ "",
73
+ ""
74
+ ], ...T],
75
+ disableDialCodePrefill: !0,
76
+ defaultMask: R,
77
+ charAfterDialCode: z,
78
+ historySaveDebounceMS: B,
79
+ disableCountryGuess: ee,
80
+ forceDialCode: V,
81
+ disableDialCodeAndPrefix: H,
82
+ disableFormatting: U,
83
+ onChange: (e) => {
84
+ A?.($.iso2 === "unknown" ? "" : e.phone);
85
+ }
86
+ }), { base: re, prefix: ie, inputWrapper: ae, input: oe, selectPopover: se, selectListbox: ce, selectIcon: le, selectButton: ue, state: de } = O(), fe = Z.replace(ne, "").trim() !== "" && !F;
87
+ return /* @__PURE__ */ u("div", {
88
+ ref: Y,
89
+ children: /* @__PURE__ */ d(f, {
90
+ className: re(),
91
+ "aria-label": `${L}${j ? `, ${j}` : ""}`,
92
+ "aria-invalid": P,
93
+ "data-invalid": P,
94
+ "data-disabled": F,
95
+ "aria-disabled": F,
96
+ children: [/* @__PURE__ */ d(x, {
97
+ onOpenChange: (e) => {
98
+ q(e), e || setTimeout(() => {
99
+ X.current?.focus();
100
+ }, 0);
101
+ },
102
+ isDisabled: F,
103
+ value: $.iso2,
104
+ onChange: (e) => {
105
+ te(e);
106
+ },
107
+ className: ie(),
108
+ isInvalid: P,
109
+ children: [/* @__PURE__ */ d(m, {
110
+ "data-dd-privacy": "mask",
111
+ className: ue(),
112
+ "aria-label": k.formatMessage({
113
+ id: "unity:component:phone-number:country-selector:label",
114
+ defaultMessage: "Select country code, {country} {dialCode}"
115
+ }, {
116
+ country: $.name,
117
+ dialCode: $.dialCode
118
+ }),
119
+ children: [$.iso2 === "unknown" ? /* @__PURE__ */ u("img", {
120
+ "aria-hidden": "true",
121
+ src: i,
122
+ alt: "",
123
+ "data-dd-privacy": "mask",
124
+ className: "react-international-phone-flag-emoji",
125
+ width: 24,
126
+ height: 24
127
+ }) : /* @__PURE__ */ u(w, {
128
+ iso2: $.iso2,
129
+ alt: $.name,
130
+ size: 24,
131
+ "aria-hidden": "true",
132
+ "data-dd-privacy": "mask"
133
+ }), /* @__PURE__ */ u(e, {
134
+ className: le(),
135
+ "aria-hidden": "true",
136
+ src: K ? "CaretUpOutlined" : "CaretDownOutlined"
137
+ })]
138
+ }), /* @__PURE__ */ u(_, {
139
+ style: { "--trigger-width": `${Y.current?.offsetWidth}px` },
140
+ triggerRef: Y,
141
+ offset: 1,
142
+ containerPadding: 8,
143
+ className: se(),
144
+ children: /* @__PURE__ */ d(y, {
145
+ filter: J,
146
+ children: [
147
+ /* @__PURE__ */ u("div", {
148
+ className: "uy:m-100",
149
+ children: /* @__PURE__ */ u(n, {
150
+ label: W,
151
+ "data-dd-privacy": "mask"
152
+ })
153
+ }),
154
+ /* @__PURE__ */ u(h, { className: "uy:mx-100 uy:border-t uy:border-border-neutral uy:border-solid" }),
155
+ /* @__PURE__ */ u(C, {
156
+ layout: S,
157
+ layoutOptions: { padding: 8 },
158
+ children: /* @__PURE__ */ u(g, {
159
+ className: ce(),
160
+ items: T,
161
+ children: (e) => {
162
+ let t = E(e);
163
+ return /* @__PURE__ */ u(r, {
164
+ country: t,
165
+ id: t.iso2
166
+ }, t.iso2);
167
+ }
168
+ })
169
+ })
170
+ ]
171
+ })
172
+ })]
173
+ }), /* @__PURE__ */ d("div", {
174
+ className: ae(),
175
+ children: [/* @__PURE__ */ u(v, {
176
+ ref: X,
177
+ ...G,
178
+ className: oe(),
179
+ type: "tel",
180
+ onChange: Q,
181
+ value: Z,
182
+ "data-dd-privacy": "mask",
183
+ "aria-invalid": P,
184
+ disabled: F,
185
+ "aria-label": L
186
+ }), /* @__PURE__ */ d("div", {
187
+ className: de(),
188
+ children: [P && /* @__PURE__ */ u(e, {
189
+ src: "WarningCircleOutlined",
190
+ color: "content.form.invalid",
191
+ role: "img",
192
+ "aria-label": k.formatMessage({
193
+ id: "unity:component:form-field:form-input:error:alt",
194
+ defaultMessage: "Error"
195
+ })
196
+ }), fe && /* @__PURE__ */ u(t, {
197
+ title: k.formatMessage({
198
+ id: "unity:component:common:clear:title",
199
+ defaultMessage: "Clear"
200
+ }),
201
+ color: "content.neutral.low",
202
+ icon: "CloseOutlined",
203
+ onPress: () => {
204
+ N?.();
205
+ }
206
+ })]
207
+ })]
208
+ })]
209
+ })
210
+ });
211
+ });
212
+ k.displayName = "PhoneNumberInput";
213
+ //#endregion
214
+ export { k as PhoneNumberInput };
@@ -1,33 +1,30 @@
1
- import { jsx as u } from "react/jsx-runtime";
2
- import { forwardRef as c } from "react";
3
- import { useFieldContext as f } from "../../hooks/tanstack-form-context.js";
4
- import { useFieldA11yContext as b } from "../form-field/TanstackFormField.context.js";
5
- import { PhoneNumberInput as h } from "./PhoneNumberInput.js";
6
- const C = c(({ onChange: r, onBlur: n, onClearButtonPress: i, isDisabled: l, ...s }, d) => {
7
- const e = f(), t = b(), m = e.state.meta.isTouched && !e.state.meta.isValid, o = [t.helperTextId, t.feedbackTextId].filter(Boolean).join(" ");
8
- return /* @__PURE__ */ u(
9
- h,
10
- {
11
- ref: d,
12
- ...s,
13
- value: e.state.value ?? "",
14
- onChange: (a) => {
15
- e.handleChange(a), r?.(a);
16
- },
17
- onBlur: (a) => {
18
- e.handleBlur(), n?.(a);
19
- },
20
- onClearButtonPress: () => {
21
- e.setValue(""), i?.();
22
- },
23
- isDisabled: l,
24
- isInvalid: m,
25
- "aria-labelledby": t.labelId,
26
- "aria-describedby": o.length > 0 ? o : void 0,
27
- "aria-details": t.contextualLinkId
28
- }
29
- );
1
+ import { PhoneNumberInput as e } from "./PhoneNumberInput.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/phone-number/TanstackPhoneNumberInput.tsx
7
+ var a = r(({ onChange: r, onBlur: a, onClearButtonPress: o, isDisabled: s, ...c }, l) => {
8
+ let u = t(), d = n(), f = u.state.meta.isTouched && !u.state.meta.isValid, p = [d.helperTextId, d.feedbackTextId].filter(Boolean).join(" ");
9
+ return /* @__PURE__ */ i(e, {
10
+ ref: l,
11
+ ...c,
12
+ value: u.state.value ?? "",
13
+ onChange: (e) => {
14
+ u.handleChange(e), r?.(e);
15
+ },
16
+ onBlur: (e) => {
17
+ u.handleBlur(), a?.(e);
18
+ },
19
+ onClearButtonPress: () => {
20
+ u.setValue(""), o?.();
21
+ },
22
+ isDisabled: s,
23
+ isInvalid: f,
24
+ "aria-labelledby": d.labelId,
25
+ "aria-describedby": p.length > 0 ? p : void 0,
26
+ "aria-details": d.contextualLinkId
27
+ });
30
28
  });
31
- export {
32
- C as TanstackPhoneNumberInput
33
- };
29
+ //#endregion
30
+ export { a as TanstackPhoneNumberInput };