@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,14 +1,10 @@
1
- import * as t from "react";
2
- const o = t.createContext(
3
- null
4
- );
1
+ import * as e from "react";
2
+ //#region src/components/carousel/Carousel.context.tsx
3
+ var t = e.createContext(null);
5
4
  function n() {
6
- const e = t.useContext(o);
7
- if (!e)
8
- throw new Error("useCarousel must be used within a Carousel Component");
9
- return e;
5
+ let n = e.useContext(t);
6
+ if (!n) throw Error("useCarousel must be used within a Carousel Component");
7
+ return n;
10
8
  }
11
- export {
12
- o as CarouselContext,
13
- n as useCarousel
14
- };
9
+ //#endregion
10
+ export { t as CarouselContext, n as useCarousel };
@@ -1,106 +1,67 @@
1
- import { jsx as r, jsxs as I } from "react/jsx-runtime";
2
- import { forwardRef as R, useMemo as h } from "react";
3
- import { uyTv as j } from "@payfit/unity-themes";
4
- import w from "embla-carousel-accessibility";
5
- import A from "embla-carousel-react";
6
- import { useIntl as M } from "react-intl";
7
- import { CarouselContext as P } from "./Carousel.context.js";
8
- import { createCarouselAccessibilityOptions as D } from "./Carousel.options.js";
9
- import { useCarouselAccessibility as G } from "./hooks/useCarouselAccessibility.js";
10
- import { useCarouselState as K } from "./hooks/useCarouselState.js";
11
- import { CarouselNav as O } from "./parts/CarouselNav.js";
12
- const E = j({
13
- base: "uy:relative uy:flex uy:flex-col uy:gap-200 uy:md:gap-300"
14
- }), k = R(
15
- ({
16
- children: t,
17
- className: u,
18
- options: s = {
19
- slidesToScroll: "auto"
20
- },
21
- "aria-label": a,
22
- ...c
23
- }, n) => {
24
- const e = M(), m = h(
25
- () => D(e),
26
- [e]
27
- ), [d, o] = A(
28
- {
29
- draggable: !0,
30
- ...s,
31
- axis: "x"
32
- },
33
- [w(m)]
34
- ), {
35
- canGoToNext: p,
36
- canGoToPrev: f,
37
- visibleSlideIndexes: i,
38
- focusedSlideIndex: y,
39
- goToPrev: v,
40
- goToNext: x,
41
- goTo: g,
42
- goToSlide: b,
43
- selectedSnap: C,
44
- snapCount: T
45
- } = K(o), { liveRegionRef: N, a11yIds: l, onKeyDown: S } = G({
46
- api: o,
47
- visibleSlideIndexes: i,
48
- focusedSlideIndex: y,
49
- loop: s.loop ?? !1,
50
- goToSlide: b
51
- });
52
- return /* @__PURE__ */ r(
53
- P.Provider,
54
- {
55
- value: {
56
- carouselRef: d,
57
- api: o,
58
- goToNext: x,
59
- goToPrev: v,
60
- goTo: g,
61
- canGoToPrev: f,
62
- canGoToNext: p,
63
- visibleSlideIndexes: i,
64
- selectedSnap: C,
65
- snapCount: T,
66
- a11yIds: l
67
- },
68
- children: /* @__PURE__ */ I(
69
- "div",
70
- {
71
- ref: n,
72
- className: E({ className: u }),
73
- role: "region",
74
- "aria-roledescription": e.formatMessage({
75
- id: "unity:component:carousel:roledescription",
76
- defaultMessage: "carousel"
77
- }),
78
- "aria-label": a,
79
- "aria-labelledby": a ? void 0 : l.title,
80
- "data-unity-slot": "carousel",
81
- onKeyDownCapture: S,
82
- ...c,
83
- children: [
84
- t,
85
- /* @__PURE__ */ r(O, { className: "uy:flex uy:justify-center uy:md:hidden" }),
86
- /* @__PURE__ */ r(
87
- "div",
88
- {
89
- ref: N,
90
- "aria-live": "polite",
91
- "aria-atomic": "true",
92
- className: "uy:sr-only"
93
- }
94
- )
95
- ]
96
- }
97
- )
98
- }
99
- );
100
- }
101
- );
102
- k.displayName = "Carousel";
103
- export {
104
- k as Carousel,
105
- E as carousel
106
- };
1
+ import { CarouselContext as e } from "./Carousel.context.js";
2
+ import { createCarouselAccessibilityOptions as t } from "./Carousel.options.js";
3
+ import { useCarouselAccessibility as n } from "./hooks/useCarouselAccessibility.js";
4
+ import { useCarouselState as r } from "./hooks/useCarouselState.js";
5
+ import { CarouselNav as i } from "./parts/CarouselNav.js";
6
+ import { forwardRef as a, useMemo as o } from "react";
7
+ import { uyTv as s } from "@payfit/unity-themes";
8
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
9
+ import { useIntl as u } from "react-intl";
10
+ import d from "embla-carousel-accessibility";
11
+ import f from "embla-carousel-react";
12
+ //#region src/components/carousel/Carousel.tsx
13
+ var p = s({ base: "uy:relative uy:flex uy:flex-col uy:gap-200 uy:md:gap-300" }), m = a(({ children: a, className: s, options: m = { slidesToScroll: "auto" }, "aria-label": h, ...g }, _) => {
14
+ let v = u(), y = o(() => t(v), [v]), [b, x] = f({
15
+ draggable: !0,
16
+ ...m,
17
+ axis: "x"
18
+ }, [d(y)]), { canGoToNext: S, canGoToPrev: C, visibleSlideIndexes: w, focusedSlideIndex: T, goToPrev: E, goToNext: D, goTo: O, goToSlide: k, selectedSnap: A, snapCount: j } = r(x), { liveRegionRef: M, a11yIds: N, onKeyDown: P } = n({
19
+ api: x,
20
+ visibleSlideIndexes: w,
21
+ focusedSlideIndex: T,
22
+ loop: m.loop ?? !1,
23
+ goToSlide: k
24
+ });
25
+ return /* @__PURE__ */ c(e.Provider, {
26
+ value: {
27
+ carouselRef: b,
28
+ api: x,
29
+ goToNext: D,
30
+ goToPrev: E,
31
+ goTo: O,
32
+ canGoToPrev: C,
33
+ canGoToNext: S,
34
+ visibleSlideIndexes: w,
35
+ selectedSnap: A,
36
+ snapCount: j,
37
+ a11yIds: N
38
+ },
39
+ children: /* @__PURE__ */ l("div", {
40
+ ref: _,
41
+ className: p({ className: s }),
42
+ role: "region",
43
+ "aria-roledescription": v.formatMessage({
44
+ id: "unity:component:carousel:roledescription",
45
+ defaultMessage: "carousel"
46
+ }),
47
+ "aria-label": h,
48
+ "aria-labelledby": h ? void 0 : N.title,
49
+ "data-unity-slot": "carousel",
50
+ onKeyDownCapture: P,
51
+ ...g,
52
+ children: [
53
+ a,
54
+ /* @__PURE__ */ c(i, { className: "uy:flex uy:justify-center uy:md:hidden" }),
55
+ /* @__PURE__ */ c("div", {
56
+ ref: M,
57
+ "aria-live": "polite",
58
+ "aria-atomic": "true",
59
+ className: "uy:sr-only"
60
+ })
61
+ ]
62
+ })
63
+ });
64
+ });
65
+ m.displayName = "Carousel";
66
+ //#endregion
67
+ export { m as Carousel, p as carousel };
@@ -1,64 +1,72 @@
1
- function g(e) {
2
- return (i, a, l, s, r, n) => {
3
- const o = a + 1, u = l + 1, t = r + 1;
4
- return i ? a === l ? e.formatMessage(
5
- {
6
- id: "unity:component:carousel:a11y:slide:label:group-single",
7
- defaultMessage: "Slide {slide} of {totalSlides} (group {snap} of {totalSnaps})"
8
- },
9
- { slide: o, totalSlides: s, snap: t, totalSnaps: n }
10
- ) : e.formatMessage(
11
- {
12
- id: "unity:component:carousel:a11y:slide:label:group-multiple",
13
- defaultMessage: "Slides {slide}-{lastSlide} of {totalSlides} (group {snap} of {totalSnaps})"
14
- },
15
- { slide: o, lastSlide: u, totalSlides: s, snap: t, totalSnaps: n }
16
- ) : e.formatMessage(
17
- {
18
- id: "unity:component:carousel:a11y:slide:label:single",
19
- defaultMessage: "Slide {slide} of {totalSlides}"
20
- },
21
- { slide: o, totalSlides: s }
22
- );
23
- };
1
+ //#region src/components/carousel/Carousel.options.ts
2
+ function e(e) {
3
+ return (t, n, r, i, a, o) => {
4
+ let s = n + 1, c = r + 1, l = a + 1;
5
+ return t ? n === r ? e.formatMessage({
6
+ id: "unity:component:carousel:a11y:slide:label:group-single",
7
+ defaultMessage: "Slide {slide} of {totalSlides} (group {snap} of {totalSnaps})"
8
+ }, {
9
+ slide: s,
10
+ totalSlides: i,
11
+ snap: l,
12
+ totalSnaps: o
13
+ }) : e.formatMessage({
14
+ id: "unity:component:carousel:a11y:slide:label:group-multiple",
15
+ defaultMessage: "Slides {slide}-{lastSlide} of {totalSlides} (group {snap} of {totalSnaps})"
16
+ }, {
17
+ slide: s,
18
+ lastSlide: c,
19
+ totalSlides: i,
20
+ snap: l,
21
+ totalSnaps: o
22
+ }) : e.formatMessage({
23
+ id: "unity:component:carousel:a11y:slide:label:single",
24
+ defaultMessage: "Slide {slide} of {totalSlides}"
25
+ }, {
26
+ slide: s,
27
+ totalSlides: i
28
+ });
29
+ };
24
30
  }
25
- function c(e) {
26
- return (i, a, l, s, r, n) => {
27
- const o = a + 1, u = l + 1, t = r + 1;
28
- return i ? a === l ? e.formatMessage(
29
- {
30
- id: "unity:component:carousel:a11y:live-region:group-single",
31
- defaultMessage: "Showing slide {slide} of {totalSlides} (group {snap} of {totalSnaps})"
32
- },
33
- { slide: o, totalSlides: s, snap: t, totalSnaps: n }
34
- ) : e.formatMessage(
35
- {
36
- id: "unity:component:carousel:a11y:live-region:group-multiple",
37
- defaultMessage: "Showing slides {slide}-{lastSlide} of {totalSlides} (group {snap} of {totalSnaps})"
38
- },
39
- { slide: o, lastSlide: u, totalSlides: s, snap: t, totalSnaps: n }
40
- ) : e.formatMessage(
41
- {
42
- id: "unity:component:carousel:a11y:live-region:single",
43
- defaultMessage: "Showing slide {slide} of {totalSlides}"
44
- },
45
- { slide: o, totalSlides: s }
46
- );
47
- };
31
+ function t(e) {
32
+ return (t, n, r, i, a, o) => {
33
+ let s = n + 1, c = r + 1, l = a + 1;
34
+ return t ? n === r ? e.formatMessage({
35
+ id: "unity:component:carousel:a11y:live-region:group-single",
36
+ defaultMessage: "Showing slide {slide} of {totalSlides} (group {snap} of {totalSnaps})"
37
+ }, {
38
+ slide: s,
39
+ totalSlides: i,
40
+ snap: l,
41
+ totalSnaps: o
42
+ }) : e.formatMessage({
43
+ id: "unity:component:carousel:a11y:live-region:group-multiple",
44
+ defaultMessage: "Showing slides {slide}-{lastSlide} of {totalSlides} (group {snap} of {totalSnaps})"
45
+ }, {
46
+ slide: s,
47
+ lastSlide: c,
48
+ totalSlides: i,
49
+ snap: l,
50
+ totalSnaps: o
51
+ }) : e.formatMessage({
52
+ id: "unity:component:carousel:a11y:live-region:single",
53
+ defaultMessage: "Showing slide {slide} of {totalSlides}"
54
+ }, {
55
+ slide: s,
56
+ totalSlides: i
57
+ });
58
+ };
48
59
  }
49
- function d(e) {
50
- return {
51
- announceChanges: !0,
52
- carouselAriaLabel: e.formatMessage({
53
- id: "unity:component:carousel:a11y:carousel:label",
54
- defaultMessage: "Carousel"
55
- }),
56
- slideAriaLabel: g(e),
57
- liveRegionContent: c(e)
58
- };
60
+ function n(n) {
61
+ return {
62
+ announceChanges: !0,
63
+ carouselAriaLabel: n.formatMessage({
64
+ id: "unity:component:carousel:a11y:carousel:label",
65
+ defaultMessage: "Carousel"
66
+ }),
67
+ slideAriaLabel: e(n),
68
+ liveRegionContent: t(n)
69
+ };
59
70
  }
60
- export {
61
- d as createCarouselAccessibilityOptions,
62
- c as createLiveRegionContent,
63
- g as createSlideAriaLabel
64
- };
71
+ //#endregion
72
+ export { n as createCarouselAccessibilityOptions };
@@ -1,87 +1,83 @@
1
- import { useRef as k, useEffect as _, useCallback as D } from "react";
1
+ import { useCallback as e, useEffect as t, useRef as n } from "react";
2
+ import { useId as r } from "react-aria/useId";
2
3
  import "embla-carousel-accessibility";
3
- import { useId as x } from "react-aria/useId";
4
- function E({
5
- api: e,
6
- visibleSlideIndexes: d,
7
- focusedSlideIndex: o,
8
- loop: u = !1,
9
- goToSlide: c
10
- }) {
11
- const v = k(null), n = k(!1), l = x(), h = {
12
- root: `carousel-${l}__root`,
13
- title: `carousel-${l}__title`,
14
- track: `carousel-${l}__track`,
15
- previousButton: `carousel-${l}__previous-button`,
16
- nextButton: `carousel-${l}__next-button`
17
- };
18
- _(() => {
19
- if (!e) return;
20
- const r = e.plugins().accessibility;
21
- !r || !v.current || r.setupLiveRegion(v.current);
22
- }, [e]), _(() => {
23
- if (!e) return;
24
- const r = e.slideNodes();
25
- r.forEach((a, i) => {
26
- i === o ? (a.setAttribute("tabindex", "0"), a.removeAttribute("inert")) : (a.setAttribute("tabindex", "-1"), d.has(i) ? a.removeAttribute("inert") : a.setAttribute("inert", ""));
27
- }), n.current && o !== null && (n.current = !1, r[o]?.focus({ preventScroll: !0 }));
28
- }, [e, d, o]);
29
- const m = D(
30
- (r) => {
31
- if (!e) return;
32
- const i = e.slideNodes().length, s = o ?? 0;
33
- switch (r.key) {
34
- case "ArrowLeft": {
35
- r.preventDefault();
36
- const t = s > 0 ? s - 1 : u ? i - 1 : s;
37
- t !== s && (n.current = !0, c(t));
38
- break;
39
- }
40
- case "ArrowRight": {
41
- r.preventDefault();
42
- const t = s < i - 1 ? s + 1 : u ? 0 : s;
43
- t !== s && (n.current = !0, c(t));
44
- break;
45
- }
46
- case "Home": {
47
- r.preventDefault(), u || (n.current = !0, c(0));
48
- break;
49
- }
50
- case "End": {
51
- if (r.preventDefault(), !u) {
52
- const t = i - 1;
53
- n.current = !0, c(t);
54
- }
55
- break;
56
- }
57
- case "PageUp": {
58
- r.preventDefault();
59
- const t = e.selectedSnap(), p = e.snapList().length, f = t > 0 ? t - 1 : u ? p - 1 : t;
60
- if (f !== t) {
61
- const b = e.internalEngine(), g = b.slidesToScroll.groupSlides(
62
- b.slideIndexes
63
- )[f]?.[0];
64
- g !== void 0 && (n.current = !0, c(g));
65
- }
66
- break;
67
- }
68
- case "PageDown": {
69
- r.preventDefault();
70
- const t = e.selectedSnap(), p = e.snapList().length, f = t < p - 1 ? t + 1 : u ? 0 : t;
71
- if (f !== t) {
72
- const b = e.internalEngine(), g = b.slidesToScroll.groupSlides(
73
- b.slideIndexes
74
- )[f]?.[0];
75
- g !== void 0 && (n.current = !0, c(g));
76
- }
77
- break;
78
- }
79
- }
80
- },
81
- [e, u, o, c]
82
- );
83
- return { liveRegionRef: v, a11yIds: h, onKeyDown: m };
4
+ //#region src/components/carousel/hooks/useCarouselAccessibility.ts
5
+ function i({ api: i, visibleSlideIndexes: a, focusedSlideIndex: o, loop: s = !1, goToSlide: c }) {
6
+ let l = n(null), u = n(!1), d = r(), f = {
7
+ root: `carousel-${d}__root`,
8
+ title: `carousel-${d}__title`,
9
+ track: `carousel-${d}__track`,
10
+ previousButton: `carousel-${d}__previous-button`,
11
+ nextButton: `carousel-${d}__next-button`
12
+ };
13
+ return t(() => {
14
+ if (!i) return;
15
+ let e = i.plugins().accessibility;
16
+ !e || !l.current || e.setupLiveRegion(l.current);
17
+ }, [i]), t(() => {
18
+ if (!i) return;
19
+ let e = i.slideNodes();
20
+ e.forEach((e, t) => {
21
+ t === o ? (e.setAttribute("tabindex", "0"), e.removeAttribute("inert")) : (e.setAttribute("tabindex", "-1"), a.has(t) ? e.removeAttribute("inert") : e.setAttribute("inert", ""));
22
+ }), u.current && o !== null && (u.current = !1, e[o]?.focus({ preventScroll: !0 }));
23
+ }, [
24
+ i,
25
+ a,
26
+ o
27
+ ]), {
28
+ liveRegionRef: l,
29
+ a11yIds: f,
30
+ onKeyDown: e((e) => {
31
+ if (!i) return;
32
+ let t = i.slideNodes().length, n = o ?? 0;
33
+ switch (e.key) {
34
+ case "ArrowLeft": {
35
+ e.preventDefault();
36
+ let r = n > 0 ? n - 1 : s ? t - 1 : n;
37
+ r !== n && (u.current = !0, c(r));
38
+ break;
39
+ }
40
+ case "ArrowRight": {
41
+ e.preventDefault();
42
+ let r = n < t - 1 ? n + 1 : s ? 0 : n;
43
+ r !== n && (u.current = !0, c(r));
44
+ break;
45
+ }
46
+ case "Home":
47
+ e.preventDefault(), s || (u.current = !0, c(0));
48
+ break;
49
+ case "End":
50
+ if (e.preventDefault(), !s) {
51
+ let e = t - 1;
52
+ u.current = !0, c(e);
53
+ }
54
+ break;
55
+ case "PageUp": {
56
+ e.preventDefault();
57
+ let t = i.selectedSnap(), n = i.snapList().length, r = t > 0 ? t - 1 : s ? n - 1 : t;
58
+ if (r !== t) {
59
+ let e = i.internalEngine(), t = e.slidesToScroll.groupSlides(e.slideIndexes)[r]?.[0];
60
+ t !== void 0 && (u.current = !0, c(t));
61
+ }
62
+ break;
63
+ }
64
+ case "PageDown": {
65
+ e.preventDefault();
66
+ let t = i.selectedSnap(), n = t < i.snapList().length - 1 ? t + 1 : s ? 0 : t;
67
+ if (n !== t) {
68
+ let e = i.internalEngine(), t = e.slidesToScroll.groupSlides(e.slideIndexes)[n]?.[0];
69
+ t !== void 0 && (u.current = !0, c(t));
70
+ }
71
+ break;
72
+ }
73
+ }
74
+ }, [
75
+ i,
76
+ s,
77
+ o,
78
+ c
79
+ ])
80
+ };
84
81
  }
85
- export {
86
- E as useCarouselAccessibility
87
- };
82
+ //#endregion
83
+ export { i as useCarouselAccessibility };
@@ -1,62 +1,55 @@
1
- import { useState as d, useRef as h, useCallback as s, useEffect as L } from "react";
2
- function y(e) {
3
- const [I, l] = d(0), [G, x] = d(0), [w, T] = d(
4
- () => /* @__PURE__ */ new Set()
5
- ), [N, u] = d(
6
- null
7
- ), i = h(!1), c = s(() => {
8
- if (!e) return { visible: /* @__PURE__ */ new Set(), focused: null };
9
- const n = e.selectedSnap(), o = e.internalEngine(), t = (o.slidesToScroll.groupSlides(o.slideIndexes)[n] ?? [])[0] ?? null, g = e.slidesInView(), v = new Set(g);
10
- return t !== null && v.add(t), {
11
- visible: v,
12
- focused: t
13
- };
14
- }, [e]), S = s(() => {
15
- if (!e) return;
16
- const n = e.selectedSnap();
17
- l(n);
18
- const o = c();
19
- T(o.visible), i.current || u(o.focused);
20
- }, [e, c]), f = s(() => {
21
- if (!e) return;
22
- x(e.snapList().length);
23
- const n = e.selectedSnap();
24
- l(n);
25
- }, [e]);
26
- L(() => {
27
- if (!e) return;
28
- x(e.snapList().length);
29
- const n = c();
30
- return T(n.visible), u(n.focused), e.on("select", S), e.on("resize", f), () => {
31
- e.off("select", S), e.off("resize", f);
32
- };
33
- }, [e, S, f, c]);
34
- const C = s(() => e?.goToPrev(), [e]), P = s(() => e?.goToNext(), [e]), a = s((n) => e?.goTo(n), [e]), z = s(() => e?.canGoToPrev(), [e]), E = s(() => e?.canGoToNext(), [e]), R = s(
35
- (n) => {
36
- if (!e) return;
37
- i.current = !0, u(n);
38
- const o = e.internalEngine(), r = o.slidesToScroll.groupSlides(o.slideIndexes).findIndex(
39
- (g) => g.includes(n)
40
- ), t = e.selectedSnap();
41
- r !== -1 && r !== t && e.goTo(r), setTimeout(() => {
42
- i.current = !1;
43
- }, 0);
44
- },
45
- [e]
46
- );
47
- return {
48
- selectedSnap: I,
49
- snapCount: G,
50
- visibleSlideIndexes: w,
51
- focusedSlideIndex: N,
52
- goToPrev: C,
53
- goToNext: P,
54
- goTo: a,
55
- canGoToPrev: z,
56
- canGoToNext: E,
57
- goToSlide: R
58
- };
1
+ import { useCallback as e, useEffect as t, useRef as n, useState as r } from "react";
2
+ //#region src/components/carousel/hooks/useCarouselState.ts
3
+ function i(i) {
4
+ let [a, o] = r(0), [s, c] = r(0), [l, u] = r(() => /* @__PURE__ */ new Set()), [d, f] = r(null), p = n(!1), m = e(() => {
5
+ if (!i) return {
6
+ visible: /* @__PURE__ */ new Set(),
7
+ focused: null
8
+ };
9
+ let e = i.selectedSnap(), t = i.internalEngine(), n = (t.slidesToScroll.groupSlides(t.slideIndexes)[e] ?? [])[0] ?? null, r = i.slidesInView(), a = new Set(r);
10
+ return n !== null && a.add(n), {
11
+ visible: a,
12
+ focused: n
13
+ };
14
+ }, [i]), h = e(() => {
15
+ if (!i) return;
16
+ o(i.selectedSnap());
17
+ let e = m();
18
+ u(e.visible), p.current || f(e.focused);
19
+ }, [i, m]), g = e(() => {
20
+ i && (c(i.snapList().length), o(i.selectedSnap()));
21
+ }, [i]);
22
+ return t(() => {
23
+ if (!i) return;
24
+ c(i.snapList().length);
25
+ let e = m();
26
+ return u(e.visible), f(e.focused), i.on("select", h), i.on("resize", g), () => {
27
+ i.off("select", h), i.off("resize", g);
28
+ };
29
+ }, [
30
+ i,
31
+ h,
32
+ g,
33
+ m
34
+ ]), {
35
+ selectedSnap: a,
36
+ snapCount: s,
37
+ visibleSlideIndexes: l,
38
+ focusedSlideIndex: d,
39
+ goToPrev: e(() => i?.goToPrev(), [i]),
40
+ goToNext: e(() => i?.goToNext(), [i]),
41
+ goTo: e((e) => i?.goTo(e), [i]),
42
+ canGoToPrev: e(() => i?.canGoToPrev(), [i]),
43
+ canGoToNext: e(() => i?.canGoToNext(), [i]),
44
+ goToSlide: e((e) => {
45
+ if (!i) return;
46
+ p.current = !0, f(e);
47
+ let t = i.internalEngine(), n = t.slidesToScroll.groupSlides(t.slideIndexes).findIndex((t) => t.includes(e)), r = i.selectedSnap();
48
+ n !== -1 && n !== r && i.goTo(n), setTimeout(() => {
49
+ p.current = !1;
50
+ }, 0);
51
+ }, [i])
52
+ };
59
53
  }
60
- export {
61
- y as useCarouselState
62
- };
54
+ //#endregion
55
+ export { i as useCarouselState };