@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,216 +1,188 @@
1
- import { jsx as u, jsxs as te } from "react/jsx-runtime";
2
- import { forwardRef as ie, useRef as m, useState as K, useEffect as o, useCallback as P, useImperativeHandle as oe, useMemo as re } from "react";
3
- import { uyTv as ne } from "@payfit/unity-themes";
4
- import { useSelector as se } from "@tanstack/react-store";
5
- import { FocusScope as ue } from "react-aria/FocusScope";
6
- import { useId as le } from "react-aria/useId";
7
- import { useKeyboard as ce } from "react-aria/useKeyboard";
8
- import { useIntl as me } from "react-intl";
9
- import { useFormContext as ae } from "../../hooks/tanstack-form-context.js";
10
- import { useBreakpointListener as de } from "../../hooks/use-breakpoint-listener.js";
11
- import { useInlineFieldGroupMode as fe } from "./hooks/useInlineFieldGroupMode.js";
12
- import { InlineFieldGroupContext as pe } from "./InlineFieldGroup.context.js";
13
- import { InlineFieldGroupActions as be } from "./parts/InlineFieldGroupActions.js";
14
- const ve = ne({
15
- slots: {
16
- form: "uy:flex uy:flex-col uy:gap-300"
17
- }
18
- }), $ = (a) => {
19
- if (!a.current) return;
20
- const d = a.current.querySelector(
21
- '[aria-invalid="true"]'
22
- );
23
- d && d.focus();
24
- }, H = 5e3, ye = ie(
25
- ({
26
- children: a,
27
- mode: d,
28
- defaultMode: U,
29
- onModeChange: W,
30
- shouldModeChange: f,
31
- isLoading: w,
32
- className: z,
33
- "aria-label": M,
34
- containFocus: J = !1,
35
- successMessage: E,
36
- errorMessage: p,
37
- editLabel: _,
38
- saveLabel: T,
39
- cancelLabel: V,
40
- onEditPress: k,
41
- onSavePress: C,
42
- onCancelPress: D
43
- }, Q) => {
44
- const l = le(), g = `unity-InlineFieldGroup-${l}__header`, q = `unity-InlineFieldGroup-${l}__edit-view`, b = m(null), r = m(null), B = m(!0), [G, h] = K(""), [R, v] = K(""), y = me(), c = ae(), O = de(), X = O === "xs" || O === "sm", { mode: t, enterEditMode: S, exitEditMode: n } = fe({
45
- mode: d,
46
- defaultMode: U,
47
- onModeChange: W,
48
- shouldModeChange: f
49
- }), { isSubmitting: i, isValid: I, isSubmitSuccessful: F, submissionAttempts: x } = se(c.store, (e) => ({
50
- isSubmitting: e.isSubmitting,
51
- isValid: e.isValid,
52
- isSubmitSuccessful: e.isSubmitSuccessful,
53
- submissionAttempts: e.submissionAttempts
54
- })), A = m(i), j = m(x);
55
- o(() => {
56
- i && !A.current && (h(""), v(""));
57
- }, [i]), o(() => {
58
- if (x > j.current && !I) {
59
- const s = p ?? y.formatMessage({
60
- id: "unity:component:inline-field-group:validation-error",
61
- defaultMessage: "Please fix the errors before saving."
62
- });
63
- v(s), $(r);
64
- }
65
- }, [x, I, p, y]), o(() => {
66
- A.current && !i && F && (E && h(E), n());
67
- }, [i, F, E, n]), o(() => {
68
- if (A.current && !i && !F && I) {
69
- const s = p ?? y.formatMessage({
70
- id: "unity:component:inline-field-group:save-error",
71
- defaultMessage: "An error occurred while saving. Please try again."
72
- });
73
- v(s);
74
- }
75
- }, [i, F, I, p, y]), o(() => {
76
- A.current = i, j.current = x;
77
- });
78
- const Y = P(
79
- (e) => {
80
- e.preventDefault(), e.stopPropagation(), c.handleSubmit();
81
- },
82
- [c]
83
- ), N = P(() => {
84
- f !== void 0 && !f(t, "read") || (c.reset(), n());
85
- }, [c, t, n, f]);
86
- oe(
87
- Q,
88
- () => ({
89
- focusFirstInvalidField: () => {
90
- $(r);
91
- },
92
- exitEditMode: n,
93
- enterEditMode: S
94
- }),
95
- [n, S]
96
- ), o(() => {
97
- if (B.current) {
98
- B.current = !1;
99
- return;
100
- }
101
- if (t === "edit") {
102
- if (r.current) {
103
- const e = r.current.querySelectorAll(
104
- 'input, select, textarea, [tabindex]:not([tabindex="-1"])'
105
- );
106
- e.length > 0 && e[0].focus();
107
- }
108
- } else
109
- requestAnimationFrame(() => {
110
- const e = r.current?.contains(
111
- document.activeElement
112
- ), s = document.activeElement === document.body;
113
- (e || s) && b.current && b.current.focus();
114
- });
115
- }, [t]);
116
- const { keyboardProps: Z } = ce({
117
- onKeyDown: (e) => {
118
- e.key === "Escape" && t === "edit" && (e.preventDefault(), N());
119
- }
120
- });
121
- o(() => {
122
- if (G) {
123
- const e = setTimeout(() => {
124
- h("");
125
- }, H);
126
- return () => {
127
- clearTimeout(e);
128
- };
129
- }
130
- }, [G]), o(() => {
131
- if (R) {
132
- const e = setTimeout(() => {
133
- v("");
134
- }, H);
135
- return () => {
136
- clearTimeout(e);
137
- };
138
- }
139
- }, [R]);
140
- const L = re(
141
- () => ({
142
- mode: t,
143
- enterEditMode: S,
144
- exitEditMode: N,
145
- groupId: l,
146
- headerId: g,
147
- editViewId: q,
148
- isLoading: w,
149
- editButtonRef: b,
150
- editViewRef: r,
151
- editLabel: _,
152
- saveLabel: T,
153
- cancelLabel: V,
154
- onEditPress: k,
155
- onSavePress: C,
156
- onCancelPress: D
157
- }),
158
- [
159
- t,
160
- S,
161
- N,
162
- l,
163
- g,
164
- q,
165
- w,
166
- b,
167
- r,
168
- _,
169
- T,
170
- V,
171
- k,
172
- C,
173
- D
174
- ]
175
- ), { form: ee } = ve();
176
- return /* @__PURE__ */ u(pe.Provider, { value: L, children: /* @__PURE__ */ u(
177
- "form",
178
- {
179
- ...Z,
180
- id: l,
181
- className: ee({ className: z }),
182
- onSubmit: Y,
183
- "aria-label": M,
184
- "aria-labelledby": M ? void 0 : g,
185
- children: /* @__PURE__ */ te(ue, { contain: J && t === "edit", children: [
186
- a,
187
- X && /* @__PURE__ */ u("div", { className: "uy:flex", children: /* @__PURE__ */ u(be, { orientation: "vertical" }) }),
188
- /* @__PURE__ */ u(
189
- "div",
190
- {
191
- role: "status",
192
- "aria-live": "polite",
193
- "aria-atomic": "true",
194
- className: "uy:sr-only",
195
- children: G
196
- }
197
- ),
198
- /* @__PURE__ */ u(
199
- "div",
200
- {
201
- role: "alert",
202
- "aria-live": "assertive",
203
- "aria-atomic": "true",
204
- className: "uy:sr-only",
205
- children: R
206
- }
207
- )
208
- ] })
209
- }
210
- ) });
211
- }
212
- );
213
- ye.displayName = "InlineFieldGroup";
214
- export {
215
- ye as InlineFieldGroup
216
- };
1
+ import { useBreakpointListener as e } from "../../hooks/use-breakpoint-listener.js";
2
+ import { useFormContext as t } from "../../hooks/tanstack-form-context.js";
3
+ import { useInlineFieldGroupMode as n } from "./hooks/useInlineFieldGroupMode.js";
4
+ import { InlineFieldGroupContext as ee } from "./InlineFieldGroup.context.js";
5
+ import { InlineFieldGroupActions as r } from "./parts/InlineFieldGroupActions.js";
6
+ import { forwardRef as i, useCallback as a, useEffect as o, useImperativeHandle as s, useMemo as te, useRef as c, useState as l } from "react";
7
+ import { uyTv as u } from "@payfit/unity-themes";
8
+ import { jsx as d, jsxs as f } from "react/jsx-runtime";
9
+ import { useIntl as p } from "react-intl";
10
+ import { useId as m } from "react-aria/useId";
11
+ import { FocusScope as ne } from "react-aria/FocusScope";
12
+ import { useSelector as h } from "@tanstack/react-store";
13
+ import { useKeyboard as re } from "react-aria/useKeyboard";
14
+ //#region src/components/inline-field-group/InlineFieldGroup.tsx
15
+ var ie = u({ slots: { form: "uy:flex uy:flex-col uy:gap-300" } }), g = (e) => {
16
+ if (!e.current) return;
17
+ let t = e.current.querySelector("[aria-invalid=\"true\"]");
18
+ t && t.focus();
19
+ }, _ = 5e3, v = i(({ children: i, mode: u, defaultMode: v, onModeChange: ae, shouldModeChange: y, isLoading: b, className: oe, "aria-label": x, containFocus: se = !1, successMessage: S, errorMessage: C, editLabel: w, saveLabel: T, cancelLabel: E, onEditPress: D, onSavePress: O, onCancelPress: k }, ce) => {
20
+ let A = m(), j = `unity-InlineFieldGroup-${A}__header`, M = `unity-InlineFieldGroup-${A}__edit-view`, N = c(null), P = c(null), F = c(!0), [I, L] = l(""), [R, z] = l(""), B = p(), V = t(), H = e(), U = H === "xs" || H === "sm", { mode: W, enterEditMode: G, exitEditMode: K } = n({
21
+ mode: u,
22
+ defaultMode: v,
23
+ onModeChange: ae,
24
+ shouldModeChange: y
25
+ }), { isSubmitting: q, isValid: J, isSubmitSuccessful: Y, submissionAttempts: X } = h(V.store, (e) => ({
26
+ isSubmitting: e.isSubmitting,
27
+ isValid: e.isValid,
28
+ isSubmitSuccessful: e.isSubmitSuccessful,
29
+ submissionAttempts: e.submissionAttempts
30
+ })), Z = c(q), Q = c(X);
31
+ o(() => {
32
+ q && !Z.current && (L(""), z(""));
33
+ }, [q]), o(() => {
34
+ X > Q.current && !J && (z(C ?? B.formatMessage({
35
+ id: "unity:component:inline-field-group:validation-error",
36
+ defaultMessage: "Please fix the errors before saving."
37
+ })), g(P));
38
+ }, [
39
+ X,
40
+ J,
41
+ C,
42
+ B
43
+ ]), o(() => {
44
+ Z.current && !q && Y && (S && L(S), K());
45
+ }, [
46
+ q,
47
+ Y,
48
+ S,
49
+ K
50
+ ]), o(() => {
51
+ Z.current && !q && !Y && J && z(C ?? B.formatMessage({
52
+ id: "unity:component:inline-field-group:save-error",
53
+ defaultMessage: "An error occurred while saving. Please try again."
54
+ }));
55
+ }, [
56
+ q,
57
+ Y,
58
+ J,
59
+ C,
60
+ B
61
+ ]), o(() => {
62
+ Z.current = q, Q.current = X;
63
+ });
64
+ let le = a((e) => {
65
+ e.preventDefault(), e.stopPropagation(), V.handleSubmit();
66
+ }, [V]), $ = a(() => {
67
+ y !== void 0 && !y(W, "read") || (V.reset(), K());
68
+ }, [
69
+ V,
70
+ W,
71
+ K,
72
+ y
73
+ ]);
74
+ s(ce, () => ({
75
+ focusFirstInvalidField: () => {
76
+ g(P);
77
+ },
78
+ exitEditMode: K,
79
+ enterEditMode: G
80
+ }), [K, G]), o(() => {
81
+ if (F.current) {
82
+ F.current = !1;
83
+ return;
84
+ }
85
+ if (W === "edit") {
86
+ if (P.current) {
87
+ let e = P.current.querySelectorAll("input, select, textarea, [tabindex]:not([tabindex=\"-1\"])");
88
+ e.length > 0 && e[0].focus();
89
+ }
90
+ } else requestAnimationFrame(() => {
91
+ let e = P.current?.contains(document.activeElement), t = document.activeElement === document.body;
92
+ (e || t) && N.current && N.current.focus();
93
+ });
94
+ }, [W]);
95
+ let { keyboardProps: ue } = re({ onKeyDown: (e) => {
96
+ e.key === "Escape" && W === "edit" && (e.preventDefault(), $());
97
+ } });
98
+ o(() => {
99
+ if (I) {
100
+ let e = setTimeout(() => {
101
+ L("");
102
+ }, _);
103
+ return () => {
104
+ clearTimeout(e);
105
+ };
106
+ }
107
+ }, [I]), o(() => {
108
+ if (R) {
109
+ let e = setTimeout(() => {
110
+ z("");
111
+ }, _);
112
+ return () => {
113
+ clearTimeout(e);
114
+ };
115
+ }
116
+ }, [R]);
117
+ let de = te(() => ({
118
+ mode: W,
119
+ enterEditMode: G,
120
+ exitEditMode: $,
121
+ groupId: A,
122
+ headerId: j,
123
+ editViewId: M,
124
+ isLoading: b,
125
+ editButtonRef: N,
126
+ editViewRef: P,
127
+ editLabel: w,
128
+ saveLabel: T,
129
+ cancelLabel: E,
130
+ onEditPress: D,
131
+ onSavePress: O,
132
+ onCancelPress: k
133
+ }), [
134
+ W,
135
+ G,
136
+ $,
137
+ A,
138
+ j,
139
+ M,
140
+ b,
141
+ N,
142
+ P,
143
+ w,
144
+ T,
145
+ E,
146
+ D,
147
+ O,
148
+ k
149
+ ]), { form: fe } = ie();
150
+ return /* @__PURE__ */ d(ee.Provider, {
151
+ value: de,
152
+ children: /* @__PURE__ */ d("form", {
153
+ ...ue,
154
+ id: A,
155
+ className: fe({ className: oe }),
156
+ onSubmit: le,
157
+ "aria-label": x,
158
+ "aria-labelledby": x ? void 0 : j,
159
+ children: /* @__PURE__ */ f(ne, {
160
+ contain: se && W === "edit",
161
+ children: [
162
+ i,
163
+ U && /* @__PURE__ */ d("div", {
164
+ className: "uy:flex",
165
+ children: /* @__PURE__ */ d(r, { orientation: "vertical" })
166
+ }),
167
+ /* @__PURE__ */ d("div", {
168
+ role: "status",
169
+ "aria-live": "polite",
170
+ "aria-atomic": "true",
171
+ className: "uy:sr-only",
172
+ children: I
173
+ }),
174
+ /* @__PURE__ */ d("div", {
175
+ role: "alert",
176
+ "aria-live": "assertive",
177
+ "aria-atomic": "true",
178
+ className: "uy:sr-only",
179
+ children: R
180
+ })
181
+ ]
182
+ })
183
+ })
184
+ });
185
+ });
186
+ v.displayName = "InlineFieldGroup";
187
+ //#endregion
188
+ export { v as InlineFieldGroup };
@@ -1,27 +1,24 @@
1
- import { useState as m, useCallback as i } from "react";
2
- function x({
3
- mode: d,
4
- defaultMode: c = "read",
5
- onModeChange: s,
6
- shouldModeChange: o
7
- }) {
8
- const [l, u] = m(c), t = d !== void 0, n = t ? d : l, e = i(
9
- (r) => {
10
- o && o(n, r) === !1 || (t || u(r), s?.(r));
11
- },
12
- [t, n, s, o]
13
- ), a = i(() => {
14
- e("edit");
15
- }, [e]), f = i(() => {
16
- e("read");
17
- }, [e]);
18
- return {
19
- mode: n,
20
- enterEditMode: a,
21
- exitEditMode: f,
22
- isControlled: t
23
- };
1
+ import { useCallback as e, useState as t } from "react";
2
+ //#region src/components/inline-field-group/hooks/useInlineFieldGroupMode.ts
3
+ function n({ mode: n, defaultMode: r = "read", onModeChange: i, shouldModeChange: a }) {
4
+ let [o, s] = t(r), c = n !== void 0, l = c ? n : o, u = e((e) => {
5
+ a && a(l, e) === !1 || (c || s(e), i?.(e));
6
+ }, [
7
+ c,
8
+ l,
9
+ i,
10
+ a
11
+ ]);
12
+ return {
13
+ mode: l,
14
+ enterEditMode: e(() => {
15
+ u("edit");
16
+ }, [u]),
17
+ exitEditMode: e(() => {
18
+ u("read");
19
+ }, [u]),
20
+ isControlled: c
21
+ };
24
22
  }
25
- export {
26
- x as useInlineFieldGroupMode
27
- };
23
+ //#endregion
24
+ export { n as useInlineFieldGroupMode };