@payfit/unity-components 2.47.5 → 2.47.7

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,51 +1,34 @@
1
1
  import { uyTv as e } from "@payfit/unity-themes";
2
- const t = e({
3
- slots: {
4
- base: "",
5
- calendarWrapper: "uy:flex uy:flex-col uy:gap-100",
6
- dialogHeader: "uy:flex uy:items-center uy:h-500 uy:w-full",
7
- dialogHeaderGroup: "uy:flex uy:items-center",
8
- calendarGrid: "uy:border-separate uy:w-full",
9
- calendarHeaderCell: "uy:typography-body-small-strong uy:text-content-neutral-low uy:w-[44px] uy:h-[44px] uy:p-[1px] uy:uppercase",
10
- calendarCell: [
11
- //theme: common
12
- // base styles
13
- "uy:typography-body uy:relative uy:text-content-form-enabled uy:w-[44px] uy:h-[44px] uy:p-[1px] uy:outline-hidden uy:cursor-pointer uy:rounded-circle uy:flex uy:items-center uy:justify-center",
14
- // cells outside of current month
15
- "uy:data-[outside-month]:text-content-neutral-disabled uy:data-[outside-month]:cursor-not-allowed uy:data-[disabled]:text-content-neutral-disabled uy:data-[disabled]:cursor-not-allowed uy:data-[unavailable]:text-content-neutral-disabled uy:data-[unavailable]:cursor-not-allowed",
16
- // "current day" (today) indicator — dot
17
- "uy:data-[today]:after:content-[''] uy:data-[today]:after:absolute uy:data-[today]:after:bottom-[6px] uy:data-[today]:after:w-[6px] uy:data-[today]:after:h-[6px] uy:data-[today]:after:rounded-circle",
18
- //theme: legacy
19
- "uy:theme-legacy:data-[today]:after:bg-surface-primary-active",
20
- //theme: rebrand
21
- "uy:theme-rebrand:data-[today]:after:bg-border-form-active"
22
- ]
23
- },
24
- variants: {
25
- isDisabled: {
26
- true: {
27
- calendarHeaderCell: "uy:text-content-form-disabled"
28
- }
29
- },
30
- isInteractive: {
31
- true: {
32
- calendarCell: [
33
- //theme: common
34
- "uy:hover:bg-surface-neutral-hover uy:active:bg-surface-form-active",
35
- "uy:data-[pressed]:bg-surface-neutral-pressed uy:data-[focus-visible]:outline-2 uy:data-[focus-visible]:outline-solid uy:data-[focus-visible]:outline-utility-focus-ring uy:data-[focus-visible]:outline-offset-2",
36
- //theme: rebrand
37
- "uy:theme-rebrand:active:text-content-form-active",
38
- // Disable hover on non-selectable cells
39
- "uy:data-[disabled]:hover:bg-transparent uy:data-[unavailable]:hover:bg-transparent uy:data-[outside-month]:hover:bg-transparent"
40
- ]
41
- }
42
- }
43
- },
44
- defaultVariants: {
45
- isDisabled: !1,
46
- isInteractive: !0
47
- }
2
+ //#region src/components/date-calendar/DateCalendar.variants.ts
3
+ var t = e({
4
+ slots: {
5
+ base: "",
6
+ calendarWrapper: "uy:flex uy:flex-col uy:gap-100",
7
+ dialogHeader: "uy:flex uy:items-center uy:h-500 uy:w-full",
8
+ dialogHeaderGroup: "uy:flex uy:items-center",
9
+ calendarGrid: "uy:border-separate uy:w-full",
10
+ calendarHeaderCell: "uy:typography-body-small-strong uy:text-content-neutral-low uy:w-[44px] uy:h-[44px] uy:p-[1px] uy:uppercase",
11
+ calendarCell: [
12
+ "uy:typography-body uy:relative uy:text-content-form-enabled uy:w-[44px] uy:h-[44px] uy:p-[1px] uy:outline-hidden uy:cursor-pointer uy:rounded-circle uy:flex uy:items-center uy:justify-center",
13
+ "uy:data-[outside-month]:text-content-neutral-disabled uy:data-[outside-month]:cursor-not-allowed uy:data-[disabled]:text-content-neutral-disabled uy:data-[disabled]:cursor-not-allowed uy:data-[unavailable]:text-content-neutral-disabled uy:data-[unavailable]:cursor-not-allowed",
14
+ "uy:data-[today]:after:content-[''] uy:data-[today]:after:absolute uy:data-[today]:after:bottom-[6px] uy:data-[today]:after:w-[6px] uy:data-[today]:after:h-[6px] uy:data-[today]:after:rounded-circle",
15
+ "uy:theme-legacy:data-[today]:after:bg-surface-primary-active",
16
+ "uy:theme-rebrand:data-[today]:after:bg-border-form-active"
17
+ ]
18
+ },
19
+ variants: {
20
+ isDisabled: { true: { calendarHeaderCell: "uy:text-content-form-disabled" } },
21
+ isInteractive: { true: { calendarCell: [
22
+ "uy:hover:bg-surface-neutral-hover uy:active:bg-surface-form-active",
23
+ "uy:data-[pressed]:bg-surface-neutral-pressed uy:data-[focus-visible]:outline-2 uy:data-[focus-visible]:outline-solid uy:data-[focus-visible]:outline-utility-focus-ring uy:data-[focus-visible]:outline-offset-2",
24
+ "uy:theme-rebrand:active:text-content-form-active",
25
+ "uy:data-[disabled]:hover:bg-transparent uy:data-[unavailable]:hover:bg-transparent uy:data-[outside-month]:hover:bg-transparent"
26
+ ] } }
27
+ },
28
+ defaultVariants: {
29
+ isDisabled: !1,
30
+ isInteractive: !0
31
+ }
48
32
  });
49
- export {
50
- t as calendarBase
51
- };
33
+ //#endregion
34
+ export { t as calendarBase };
@@ -1,26 +1,19 @@
1
- import { useMemo as l } from "react";
2
- import { createCalendar as d, today as i, getLocalTimeZone as a, CalendarDate as m } from "@internationalized/date";
3
- import { useLocale as u } from "react-aria-components/I18nProvider";
4
- function f() {
5
- const { locale: o } = u(), c = new Intl.DateTimeFormat().resolvedOptions().calendar, e = d(c);
6
- return l(() => {
7
- const t = i(a()), n = new m(
8
- e,
9
- t.year,
10
- t.month,
11
- t.day
12
- );
13
- return Array.from({ length: e.getMonthsInYear(n) }).map(
14
- (g, s) => {
15
- const r = new m(e, n.year, s + 1, 1);
16
- return {
17
- id: r.month.toString(),
18
- name: r.toDate(a()).toLocaleString(o, { month: "long" })
19
- };
20
- }
21
- );
22
- }, [o, e]);
1
+ import { useMemo as e } from "react";
2
+ import { CalendarDate as t, createCalendar as n, getLocalTimeZone as r, today as i } from "@internationalized/date";
3
+ import { useLocale as a } from "react-aria-components/I18nProvider";
4
+ //#region src/components/date-calendar/hooks/useMonthsList.ts
5
+ function o() {
6
+ let { locale: o } = a(), s = new Intl.DateTimeFormat().resolvedOptions().calendar, c = n(s);
7
+ return e(() => {
8
+ let e = i(r()), n = new t(c, e.year, e.month, e.day);
9
+ return Array.from({ length: c.getMonthsInYear(n) }).map((e, i) => {
10
+ let a = new t(c, n.year, i + 1, 1);
11
+ return {
12
+ id: a.month.toString(),
13
+ name: a.toDate(r()).toLocaleString(o, { month: "long" })
14
+ };
15
+ });
16
+ }, [o, c]);
23
17
  }
24
- export {
25
- f as useMonthsList
26
- };
18
+ //#endregion
19
+ export { o as useMonthsList };
@@ -1,33 +1,24 @@
1
- import { useMemo as g } from "react";
2
- import { today as D, getLocalTimeZone as c, createCalendar as L, CalendarDate as d } from "@internationalized/date";
3
- import { useLocale as v } from "react-aria-components/I18nProvider";
4
- function S({
5
- yearsBefore: l = 100,
6
- yearsAfter: s = 30,
7
- startYear: m,
8
- endYear: u
9
- } = {}) {
10
- const { locale: o } = v(), a = D(c()), y = new Intl.DateTimeFormat().resolvedOptions().calendar, t = L(y), n = new d(
11
- t,
12
- a.year,
13
- a.month,
14
- a.day
15
- );
16
- let e = m, r = u;
17
- return e === void 0 && (e = n.year - l), r === void 0 && (r = n.year + s), g(
18
- () => Array.from({ length: r - e + 1 }).map((w, f) => {
19
- const i = e + f, p = new d(t, i, 1, 1);
20
- return {
21
- id: i.toString(),
22
- name: p.toDate(c()).toLocaleString(o, {
23
- year: "numeric",
24
- calendar: t.identifier
25
- })
26
- };
27
- }),
28
- [o, t, r, e]
29
- );
1
+ import { useMemo as e } from "react";
2
+ import { CalendarDate as t, createCalendar as n, getLocalTimeZone as r, today as i } from "@internationalized/date";
3
+ import { useLocale as a } from "react-aria-components/I18nProvider";
4
+ //#region src/components/date-calendar/hooks/useYearsList.ts
5
+ function o({ yearsBefore: o = 100, yearsAfter: s = 30, startYear: c, endYear: l } = {}) {
6
+ let { locale: u } = a(), d = i(r()), f = new Intl.DateTimeFormat().resolvedOptions().calendar, p = n(f), m = new t(p, d.year, d.month, d.day), h = c, g = l;
7
+ return h === void 0 && (h = m.year - o), g === void 0 && (g = m.year + s), e(() => Array.from({ length: g - h + 1 }).map((e, n) => {
8
+ let i = h + n, a = new t(p, i, 1, 1);
9
+ return {
10
+ id: i.toString(),
11
+ name: a.toDate(r()).toLocaleString(u, {
12
+ year: "numeric",
13
+ calendar: p.identifier
14
+ })
15
+ };
16
+ }), [
17
+ u,
18
+ p,
19
+ g,
20
+ h
21
+ ]);
30
22
  }
31
- export {
32
- S as useYearsList
33
- };
23
+ //#endregion
24
+ export { o as useYearsList };
@@ -1,66 +1,63 @@
1
- import { jsxs as b, jsx as n } from "react/jsx-runtime";
2
- import { useState as I } from "react";
3
- import { IconSprite as v } from "@payfit/unity-icons";
4
- import { useId as $ } from "react-aria/useId";
5
- import { useIntl as w } from "react-intl";
6
- function x({
7
- items: a,
8
- value: o,
9
- onChange: m,
10
- type: e,
11
- isDisabled: i = !1
12
- }) {
13
- const s = (t) => () => a.find((g) => g.id === t)?.name ?? Array.from({ length: 3 }).join("\0"), r = $(), l = w(), [y, p] = I(s(o)), c = `${r}-calendar-${e}-select-label`, d = `${r}-calendar-${e}-select`, u = `${r}-calendar-${e}-select-description`, f = e === "month" ? "unity:component:form-field:date-picker:segment-select:month:label" : "unity:component:form-field:date-picker:segment-select:year:label", h = e === "month" ? "unity:component:form-field:date-picker:segment-select:month:description" : "unity:component:form-field:date-picker:segment-select:year:description";
14
- return /* @__PURE__ */ b("div", { className: "uy:isolation-isolate uy:relative uy:inline-flex uy:items-center uy:cursor-pointer", children: [
15
- /* @__PURE__ */ n(
16
- "label",
17
- {
18
- id: c,
19
- htmlFor: d,
20
- className: "uy:sr-only",
21
- "aria-hidden": "true",
22
- children: l.formatMessage({
23
- id: f,
24
- defaultMessage: `Change current ${e}`
25
- })
26
- }
27
- ),
28
- /* @__PURE__ */ n(
29
- "select",
30
- {
31
- id: d,
32
- value: o,
33
- onChange: (t) => {
34
- m(t.target.value), p(s(t.target.value));
35
- },
36
- disabled: i,
37
- className: "uy:appearance-none uy:box-border uy:w-[var(--uy-selected-item-width)] uy:bg-transparent uy:border-none uy:rounded-50 uy:capitalize uy:text-content-form-enabled uy:typography-action-large uy:cursor-pointer uy:pr-300 uy:disabled:text-content-form-disabled uy:data-[focus-visible='true']:outline-2 uy:data-[focus-visible='true']:outline-offset-2 uy:data-[focus-visible='true']:outline-utility-focus-ring [background-color:transparent] [-webkit-tap-highlight-color:transparent]",
38
- style: {
39
- "--uy-selected-item-width": `calc(var(--uy-spacing-300) + ${y.length}ch)`
40
- },
41
- "aria-labelledby": c,
42
- "aria-describedby": u,
43
- children: a.map((t) => /* @__PURE__ */ n("option", { value: t.id, children: t.name }, t.id))
44
- }
45
- ),
46
- /* @__PURE__ */ n("div", { className: "uy:absolute uy:right-0 uy:pointer-events-none uy:text-content-neutral-low", children: /* @__PURE__ */ n(
47
- v,
48
- {
49
- src: "CaretDownOutlined",
50
- width: 20,
51
- height: 20,
52
- color: "inherit",
53
- role: "presentation",
54
- className: i ? "uy:text-content-form-disabled" : ""
55
- }
56
- ) }),
57
- /* @__PURE__ */ n("span", { id: u, className: "uy:sr-only", "aria-hidden": "true", children: l.formatMessage({
58
- id: h,
59
- defaultMessage: `Press Enter or Space to change ${e}, then use up and down arrows to select a ${e}`
60
- }) })
61
- ] });
1
+ import { useState as e } from "react";
2
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
+ import { useIntl as r } from "react-intl";
4
+ import { IconSprite as i } from "@payfit/unity-icons";
5
+ import { useId as a } from "react-aria/useId";
6
+ //#region src/components/date-calendar/parts/DateSegmentSelect.tsx
7
+ function o({ items: o, value: s, onChange: c, type: l, isDisabled: u = !1 }) {
8
+ let d = (e) => () => o.find((t) => t.id === e)?.name ?? Array.from({ length: 3 }).join("\0"), f = a(), p = r(), [m, h] = e(d(s)), g = `${f}-calendar-${l}-select-label`, _ = `${f}-calendar-${l}-select`, v = `${f}-calendar-${l}-select-description`, y = l === "month" ? "unity:component:form-field:date-picker:segment-select:month:label" : "unity:component:form-field:date-picker:segment-select:year:label", b = l === "month" ? "unity:component:form-field:date-picker:segment-select:month:description" : "unity:component:form-field:date-picker:segment-select:year:description";
9
+ return /* @__PURE__ */ n("div", {
10
+ className: "uy:isolation-isolate uy:relative uy:inline-flex uy:items-center uy:cursor-pointer",
11
+ children: [
12
+ /* @__PURE__ */ t("label", {
13
+ id: g,
14
+ htmlFor: _,
15
+ className: "uy:sr-only",
16
+ "aria-hidden": "true",
17
+ children: p.formatMessage({
18
+ id: y,
19
+ defaultMessage: `Change current ${l}`
20
+ })
21
+ }),
22
+ /* @__PURE__ */ t("select", {
23
+ id: _,
24
+ value: s,
25
+ onChange: (e) => {
26
+ c(e.target.value), h(d(e.target.value));
27
+ },
28
+ disabled: u,
29
+ className: "uy:appearance-none uy:box-border uy:w-[var(--uy-selected-item-width)] uy:bg-transparent uy:border-none uy:rounded-50 uy:capitalize uy:text-content-form-enabled uy:typography-action-large uy:cursor-pointer uy:pr-300 uy:disabled:text-content-form-disabled uy:data-[focus-visible='true']:outline-2 uy:data-[focus-visible='true']:outline-offset-2 uy:data-[focus-visible='true']:outline-utility-focus-ring [background-color:transparent] [-webkit-tap-highlight-color:transparent]",
30
+ style: { "--uy-selected-item-width": `calc(var(--uy-spacing-300) + ${m.length}ch)` },
31
+ "aria-labelledby": g,
32
+ "aria-describedby": v,
33
+ children: o.map((e) => /* @__PURE__ */ t("option", {
34
+ value: e.id,
35
+ children: e.name
36
+ }, e.id))
37
+ }),
38
+ /* @__PURE__ */ t("div", {
39
+ className: "uy:absolute uy:right-0 uy:pointer-events-none uy:text-content-neutral-low",
40
+ children: /* @__PURE__ */ t(i, {
41
+ src: "CaretDownOutlined",
42
+ width: 20,
43
+ height: 20,
44
+ color: "inherit",
45
+ role: "presentation",
46
+ className: u ? "uy:text-content-form-disabled" : ""
47
+ })
48
+ }),
49
+ /* @__PURE__ */ t("span", {
50
+ id: v,
51
+ className: "uy:sr-only",
52
+ "aria-hidden": "true",
53
+ children: p.formatMessage({
54
+ id: b,
55
+ defaultMessage: `Press Enter or Space to change ${l}, then use up and down arrows to select a ${l}`
56
+ })
57
+ })
58
+ ]
59
+ });
62
60
  }
63
- x.displayName = "DateSegmentSelect";
64
- export {
65
- x as DateSegmentSelect
66
- };
61
+ o.displayName = "DateSegmentSelect";
62
+ //#endregion
63
+ export { o as DateSegmentSelect };
@@ -1,174 +1,131 @@
1
- import { jsxs as f, jsx as a } from "react/jsx-runtime";
2
- import { forwardRef as U } from "react";
3
- import { uyTv as b } from "@payfit/unity-themes";
4
- import { DatePicker as B, Group as j, Button as E, Popover as M } from "react-aria-components/DatePicker";
5
- import { Dialog as R } from "react-aria-components/Dialog";
6
- import { useIntl as G } from "react-intl";
7
- import { DateCalendar as T } from "../date-calendar/DateCalendar.js";
8
- import { Icon as $ } from "../icon/Icon.js";
9
- import { DateInput as q } from "./parts/DateInput.js";
10
- const z = b({
11
- slots: {
12
- base: [
13
- "uy:group uy:flex uy:h-5.5 uy:sm:h-500 uy:border uy:border-solid uy:rounded-100 uy:sm:rounded-75",
14
- "uy:active:border-border-form-active uy:data-[focus-visible=true]:border-border-form-active uy:data-[open=true]:border-border-form-active"
15
- ],
16
- inputWrapper: [
17
- "uy:flex uy:grow uy:rounded-100 uy:sm:rounded-75 uy:outline-none",
18
- // Show focus styles when input wrapper is focused AND button is not focused
19
- "uy:focus-within:outline-2 uy:focus-within:outline-solid uy:focus-within:outline-utility-focus-ring uy:focus-within:outline-offset-3",
20
- // Hide focus styles when button is focused
21
- "uy:group-[:has(button:focus)]:data-[focus-within]:outline-none uy:group-[:has(button:focus)]:data-[focus-within]:outline-offset-0 uy:group-[:has(button:focus)]:data-[focus-within]:outline-transparent"
22
- ],
23
- suffix: [
24
- "uy:flex-grow-0 uy:content-center uy:p-125 uy:border-l uy:border-solid uy:rounded-r-100 uy:sm:rounded-r-75 uy:text-content-neutral-low",
25
- "uy:hover:bg-surface-neutral-hover uy:active:bg-surface-neutral-pressed uy:active:border-border-form-active uy:data-[pressed=true]:not-group-data-[open=true]:bg-surface-neutral-pressed uy:data-[pressed=true]:not-group-data-[open=true]:border-border-form-active uy:group-data-[open=true]:border-border-form-active",
26
- "uy:focus-visible:outline-2 uy:focus-visible:outline-utility-focus-ring uy:focus-visible:outline-offset-3"
27
- ]
28
- },
29
- variants: {
30
- isInvalid: {
31
- true: {
32
- base: "uy:border-border-form-error uy:bg-surface-form-error",
33
- suffix: "uy:bg-surface-form-error uy:border-border-form-error"
34
- }
35
- },
36
- isReadOnly: {
37
- true: {
38
- base: "uy:border-border-form-disabled uy:bg-surface-form-disabled",
39
- inputWrapper: "uy:border-border-form-disabled uy:bg-surface-form-disabled",
40
- suffix: "uy:bg-surface-form-disabled uy:border-border-form-disabled uy:text-content-form-disabled"
41
- }
42
- },
43
- isDisabled: {
44
- true: {
45
- base: "uy:border-border-form-disabled uy:bg-surface-form-disabled",
46
- inputWrapper: "uy:bg-surface-form-disabled uy:text-content-form-disabled",
47
- suffix: "uy:bg-surface-form-disabled uy:border-border-form-disabled uy:text-content-form-disabled"
48
- }
49
- }
50
- },
51
- compoundVariants: [
52
- {
53
- isInvalid: !1,
54
- isDisabled: !1,
55
- isReadOnly: !1,
56
- className: {
57
- base: "uy:border-border-form-enabled uy:bg-surface-form-enabled",
58
- suffix: "uy:border-border-form-enabled uy:bg-surface-neutral uy:text-content-neutral-low"
59
- }
60
- }
61
- ]
62
- }), A = b({
63
- base: "uy:w-[356px] uy:overflow-auto uy:shadow-300 uy:border uy:border-solid uy:border-border-neutral uy:bg-surface-neutral uy:rounded-md uy:sm:rounded-75",
64
- variants: {
65
- isEntering: {
66
- true: "uy:animate-in uy:fade-in uy:data-[placement-bottom]:slide-in-from-top-1 uy:data-[placement-top]:slide-in-from-bottom-1 uy:duration-200 uy:ease-out"
67
- },
68
- isExiting: {
69
- true: "uy:animate-out uy:fade-out uy:data-[placement-bottom]:slide-out-to-top-1 uy:data-[placement-top]:slide-out-to-bottom-1 uy:duration-150 uy:ease-in"
70
- }
71
- }
72
- }), H = U(
73
- ({
74
- value: t,
75
- defaultValue: i,
76
- isInvalid: d,
77
- isLoading: y,
78
- isDisabled: o,
79
- isReadOnly: u,
80
- onClearButtonPress: c,
81
- onBlur: n,
82
- onFocus: s,
83
- onChange: m,
84
- onOpenChange: p,
85
- id: g,
86
- "aria-label": h,
87
- "aria-labelledby": v,
88
- "aria-describedby": x,
89
- "aria-details": D,
90
- ...e
91
- }, w) => {
92
- const k = G(), { base: C, inputWrapper: P, suffix: V } = z({
93
- isInvalid: !!d,
94
- isReadOnly: !!u,
95
- isDisabled: !!o
96
- }), l = (r) => {
97
- m?.(r);
98
- }, N = (r) => {
99
- p?.(r), r ? s?.() : n?.();
100
- }, O = (r) => e.isDateUnavailable ? e.isDateUnavailable(r) : !1, W = () => {
101
- c?.();
102
- };
103
- return /* @__PURE__ */ f(
104
- B,
105
- {
106
- ref: w,
107
- "data-dd-privacy": "mask",
108
- ...e,
109
- className: C(),
110
- value: t,
111
- defaultValue: i,
112
- minValue: e.minValue,
113
- maxValue: e.maxValue,
114
- isReadOnly: !!u,
115
- isDisabled: !!o,
116
- onChange: l,
117
- onFocus: s,
118
- onBlur: n,
119
- onOpenChange: N,
120
- isDateUnavailable: O,
121
- "aria-label": h,
122
- "aria-labelledby": v,
123
- "aria-describedby": x,
124
- "aria-details": D,
125
- children: [
126
- /* @__PURE__ */ f(j, { className: P(), id: g, children: [
127
- /* @__PURE__ */ a(
128
- q,
129
- {
130
- isLoading: y,
131
- isDisabled: o,
132
- isReadOnly: u,
133
- isInvalid: d,
134
- onClearButtonPress: W
135
- }
136
- ),
137
- /* @__PURE__ */ a(E, { className: V(), isDisabled: u || o, children: /* @__PURE__ */ a(
138
- $,
139
- {
140
- src: "CalendarBlankOutlined",
141
- color: "inherit",
142
- alt: k.formatMessage({
143
- id: "unity:component:form-field:date-picker:calendar-button",
144
- defaultMessage: "Open Calendar"
145
- })
146
- }
147
- ) })
148
- ] }),
149
- /* @__PURE__ */ a(
150
- M,
151
- {
152
- className: ({ isEntering: r, isExiting: I }) => A({ isEntering: r, isExiting: I }),
153
- children: /* @__PURE__ */ a(R, { className: "uy:p-150", "data-dd-privacy": "mask", children: /* @__PURE__ */ a(
154
- T,
155
- {
156
- value: t,
157
- defaultValue: i,
158
- minValue: e.minValue,
159
- maxValue: e.maxValue,
160
- onChange: l,
161
- firstDayOfWeek: e.firstDayOfWeek
162
- }
163
- ) })
164
- }
165
- )
166
- ]
167
- }
168
- );
169
- }
170
- );
171
- H.displayName = "DatePicker";
172
- export {
173
- H as DatePicker
174
- };
1
+ import { Icon as e } from "../icon/Icon.js";
2
+ import { DateCalendar as t } from "../date-calendar/DateCalendar.js";
3
+ import { DateInput as n } from "./parts/DateInput.js";
4
+ import { forwardRef as r } from "react";
5
+ import { uyTv as i } from "@payfit/unity-themes";
6
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
7
+ import { useIntl as s } from "react-intl";
8
+ import { Dialog as c } from "react-aria-components/Dialog";
9
+ import { Button as l, DatePicker as u, Group as d, Popover as f } from "react-aria-components/DatePicker";
10
+ //#region src/components/date-picker/DatePicker.tsx
11
+ var p = i({
12
+ slots: {
13
+ base: ["uy:group uy:flex uy:h-5.5 uy:sm:h-500 uy:border uy:border-solid uy:rounded-100 uy:sm:rounded-75", "uy:active:border-border-form-active uy:data-[focus-visible=true]:border-border-form-active uy:data-[open=true]:border-border-form-active"],
14
+ inputWrapper: [
15
+ "uy:flex uy:grow uy:rounded-100 uy:sm:rounded-75 uy:outline-none",
16
+ "uy:focus-within:outline-2 uy:focus-within:outline-solid uy:focus-within:outline-utility-focus-ring uy:focus-within:outline-offset-3",
17
+ "uy:group-[:has(button:focus)]:data-[focus-within]:outline-none uy:group-[:has(button:focus)]:data-[focus-within]:outline-offset-0 uy:group-[:has(button:focus)]:data-[focus-within]:outline-transparent"
18
+ ],
19
+ suffix: [
20
+ "uy:flex-grow-0 uy:content-center uy:p-125 uy:border-l uy:border-solid uy:rounded-r-100 uy:sm:rounded-r-75 uy:text-content-neutral-low",
21
+ "uy:hover:bg-surface-neutral-hover uy:active:bg-surface-neutral-pressed uy:active:border-border-form-active uy:data-[pressed=true]:not-group-data-[open=true]:bg-surface-neutral-pressed uy:data-[pressed=true]:not-group-data-[open=true]:border-border-form-active uy:group-data-[open=true]:border-border-form-active",
22
+ "uy:focus-visible:outline-2 uy:focus-visible:outline-utility-focus-ring uy:focus-visible:outline-offset-3"
23
+ ]
24
+ },
25
+ variants: {
26
+ isInvalid: { true: {
27
+ base: "uy:border-border-form-error uy:bg-surface-form-error",
28
+ suffix: "uy:bg-surface-form-error uy:border-border-form-error"
29
+ } },
30
+ isReadOnly: { true: {
31
+ base: "uy:border-border-form-disabled uy:bg-surface-form-disabled",
32
+ inputWrapper: "uy:border-border-form-disabled uy:bg-surface-form-disabled",
33
+ suffix: "uy:bg-surface-form-disabled uy:border-border-form-disabled uy:text-content-form-disabled"
34
+ } },
35
+ isDisabled: { true: {
36
+ base: "uy:border-border-form-disabled uy:bg-surface-form-disabled",
37
+ inputWrapper: "uy:bg-surface-form-disabled uy:text-content-form-disabled",
38
+ suffix: "uy:bg-surface-form-disabled uy:border-border-form-disabled uy:text-content-form-disabled"
39
+ } }
40
+ },
41
+ compoundVariants: [{
42
+ isInvalid: !1,
43
+ isDisabled: !1,
44
+ isReadOnly: !1,
45
+ className: {
46
+ base: "uy:border-border-form-enabled uy:bg-surface-form-enabled",
47
+ suffix: "uy:border-border-form-enabled uy:bg-surface-neutral uy:text-content-neutral-low"
48
+ }
49
+ }]
50
+ }), m = i({
51
+ base: "uy:w-[356px] uy:overflow-auto uy:shadow-300 uy:border uy:border-solid uy:border-border-neutral uy:bg-surface-neutral uy:rounded-md uy:sm:rounded-75",
52
+ variants: {
53
+ isEntering: { true: "uy:animate-in uy:fade-in uy:data-[placement-bottom]:slide-in-from-top-1 uy:data-[placement-top]:slide-in-from-bottom-1 uy:duration-200 uy:ease-out" },
54
+ isExiting: { true: "uy:animate-out uy:fade-out uy:data-[placement-bottom]:slide-out-to-top-1 uy:data-[placement-top]:slide-out-to-bottom-1 uy:duration-150 uy:ease-in" }
55
+ }
56
+ }), h = r(({ value: r, defaultValue: i, isInvalid: h, isLoading: g, isDisabled: _, isReadOnly: v, onClearButtonPress: y, onBlur: b, onFocus: x, onChange: S, onOpenChange: C, id: w, "aria-label": T, "aria-labelledby": E, "aria-describedby": D, "aria-details": O, ...k }, A) => {
57
+ let j = s(), { base: M, inputWrapper: N, suffix: P } = p({
58
+ isInvalid: !!h,
59
+ isReadOnly: !!v,
60
+ isDisabled: !!_
61
+ }), F = (e) => {
62
+ S?.(e);
63
+ }, I = (e) => {
64
+ C?.(e), e ? x?.() : b?.();
65
+ }, L = (e) => k.isDateUnavailable ? k.isDateUnavailable(e) : !1, R = () => {
66
+ y?.();
67
+ };
68
+ return /* @__PURE__ */ o(u, {
69
+ ref: A,
70
+ "data-dd-privacy": "mask",
71
+ ...k,
72
+ className: M(),
73
+ value: r,
74
+ defaultValue: i,
75
+ minValue: k.minValue,
76
+ maxValue: k.maxValue,
77
+ isReadOnly: !!v,
78
+ isDisabled: !!_,
79
+ onChange: F,
80
+ onFocus: x,
81
+ onBlur: b,
82
+ onOpenChange: I,
83
+ isDateUnavailable: L,
84
+ "aria-label": T,
85
+ "aria-labelledby": E,
86
+ "aria-describedby": D,
87
+ "aria-details": O,
88
+ children: [/* @__PURE__ */ o(d, {
89
+ className: N(),
90
+ id: w,
91
+ children: [/* @__PURE__ */ a(n, {
92
+ isLoading: g,
93
+ isDisabled: _,
94
+ isReadOnly: v,
95
+ isInvalid: h,
96
+ onClearButtonPress: R
97
+ }), /* @__PURE__ */ a(l, {
98
+ className: P(),
99
+ isDisabled: v || _,
100
+ children: /* @__PURE__ */ a(e, {
101
+ src: "CalendarBlankOutlined",
102
+ color: "inherit",
103
+ alt: j.formatMessage({
104
+ id: "unity:component:form-field:date-picker:calendar-button",
105
+ defaultMessage: "Open Calendar"
106
+ })
107
+ })
108
+ })]
109
+ }), /* @__PURE__ */ a(f, {
110
+ className: ({ isEntering: e, isExiting: t }) => m({
111
+ isEntering: e,
112
+ isExiting: t
113
+ }),
114
+ children: /* @__PURE__ */ a(c, {
115
+ className: "uy:p-150",
116
+ "data-dd-privacy": "mask",
117
+ children: /* @__PURE__ */ a(t, {
118
+ value: r,
119
+ defaultValue: i,
120
+ minValue: k.minValue,
121
+ maxValue: k.maxValue,
122
+ onChange: F,
123
+ firstDayOfWeek: k.firstDayOfWeek
124
+ })
125
+ })
126
+ })]
127
+ });
128
+ });
129
+ h.displayName = "DatePicker";
130
+ //#endregion
131
+ export { h as DatePicker };