@payfit/unity-components 1.2.0 → 2.1.4
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.
- package/dist/esm/components/action-bar/ActionBar.js +14 -14
- package/dist/esm/components/actionable/Actionable.js +31 -28
- package/dist/esm/components/alert/Alert.js +41 -29
- package/dist/esm/components/alert/parts/AlertTitle.js +8 -8
- package/dist/esm/components/app-layout/AppLayout.d.ts +2 -0
- package/dist/esm/components/app-layout/AppLayout.js +17 -17
- package/dist/esm/components/app-menu/parts/AppMenuFooter.js +23 -23
- package/dist/esm/components/app-menu/parts/AppMenuHeader.d.ts +87 -5
- package/dist/esm/components/app-menu/parts/AppMenuHeader.js +25 -25
- package/dist/esm/components/autocomplete/Autocomplete.d.ts +0 -9
- package/dist/esm/components/autocomplete/Autocomplete.js +54 -57
- package/dist/esm/components/autocomplete/parts/AutocompleteItem.js +8 -8
- package/dist/esm/components/avatar/Avatar.variants.js +1 -1
- package/dist/esm/components/avatar/parts/AvatarFallback.js +26 -27
- package/dist/esm/components/badge/Badge.js +1 -1
- package/dist/esm/components/breadcrumbs/Breadcrumbs.context.js +3 -3
- package/dist/esm/components/breadcrumbs/Breadcrumbs.d.ts +19 -11
- package/dist/esm/components/breadcrumbs/Breadcrumbs.js +29 -18
- package/dist/esm/components/breadcrumbs/Breadcrumbs.variant.js +1 -1
- package/dist/esm/components/breadcrumbs/parts/Breadcrumb.d.ts +30 -5
- package/dist/esm/components/breadcrumbs/parts/Breadcrumb.js +35 -27
- package/dist/esm/components/breadcrumbs/parts/RawBreadcrumbLink.d.ts +37 -0
- package/dist/esm/components/breadcrumbs/parts/RawBreadcrumbLink.js +36 -0
- package/dist/esm/components/button/Button.js +6 -6
- package/dist/esm/components/button/Button.variants.d.ts +1 -0
- package/dist/esm/components/button/Button.variants.js +22 -15
- package/dist/esm/components/card/Card.context.d.ts +5 -0
- package/dist/esm/components/card/Card.context.js +14 -0
- package/dist/esm/components/card/Card.d.ts +210 -0
- package/dist/esm/components/card/Card.js +93 -0
- package/dist/esm/components/card/parts/CardContent.d.ts +37 -0
- package/dist/esm/components/card/parts/CardContent.js +8 -0
- package/dist/esm/components/card/parts/CardTitle.d.ts +55 -0
- package/dist/esm/components/card/parts/CardTitle.js +33 -0
- package/dist/esm/components/checkbox/Checkbox.js +38 -30
- package/dist/esm/components/checkbox/Checkbox.variants.d.ts +9 -9
- package/dist/esm/components/checkbox/Checkbox.variants.js +23 -7
- package/dist/esm/components/checkbox/TanstackCheckbox.d.ts +28 -0
- package/dist/esm/components/checkbox/TanstackCheckbox.js +51 -0
- package/dist/esm/components/checkbox/parts/CheckboxIndicator.js +7 -7
- package/dist/esm/components/checkbox-field/CheckboxField.d.ts +2 -0
- package/dist/esm/components/checkbox-field/TanstackCheckboxField.d.ts +14 -0
- package/dist/esm/components/checkbox-field/TanstackCheckboxField.js +40 -0
- package/dist/esm/components/checkbox-group/TanstackCheckboxGroup.d.ts +4 -0
- package/dist/esm/components/checkbox-group/TanstackCheckboxGroup.js +37 -0
- package/dist/esm/components/checkbox-group-field/CheckboxGroupField.d.ts +2 -0
- package/dist/esm/components/checkbox-group-field/TanstackCheckGroupField.d.ts +72 -0
- package/dist/esm/components/checkbox-group-field/TanstackCheckGroupField.js +40 -0
- package/dist/esm/components/client-side-pagination/ClientSidePagination.d.ts +103 -0
- package/dist/esm/components/client-side-pagination/ClientSidePagination.js +177 -0
- package/dist/esm/components/client-side-pagination/parts/PaginationEllipsis.d.ts +11 -0
- package/dist/esm/components/client-side-pagination/parts/PaginationEllipsis.js +30 -0
- package/dist/esm/components/client-side-pagination/parts/PaginationJumpDialog.d.ts +8 -0
- package/dist/esm/components/{pagination → client-side-pagination}/parts/PaginationNavButton.js +1 -1
- package/dist/esm/components/{pagination/parts/PaginationLink.d.ts → client-side-pagination/parts/RawPaginationLink.d.ts} +2 -2
- package/dist/esm/components/{pagination/parts/PaginationLink.js → client-side-pagination/parts/RawPaginationLink.js} +12 -12
- package/dist/esm/components/client-side-pagination/utils/pagination-window.d.ts +8 -0
- package/dist/esm/components/client-side-pagination/utils/pagination-window.js +33 -0
- package/dist/esm/components/collapsible/parts/CollapsibleContent.js +5 -5
- package/dist/esm/components/collapsible/parts/CollapsibleTitle.js +8 -8
- package/dist/esm/components/data-table/DataTable.d.ts +109 -16
- package/dist/esm/components/data-table/DataTable.js +107 -93
- package/dist/esm/components/data-table/mocks/employee-data.d.ts +1 -0
- package/dist/esm/components/date-calendar/DateCalendar.js +1 -1
- package/dist/esm/components/date-calendar/parts/DateSegmentSelect.js +1 -1
- package/dist/esm/components/date-picker/DatePicker.d.ts +1 -1
- package/dist/esm/components/date-picker/DatePicker.js +59 -50
- package/dist/esm/components/date-picker/TanstackDatePicker.d.ts +22 -0
- package/dist/esm/components/date-picker/TanstackDatePicker.js +53 -0
- package/dist/esm/components/date-picker/parts/DateInput.js +4 -4
- package/dist/esm/components/date-picker-field/DatePickerField.d.ts +2 -0
- package/dist/esm/components/date-picker-field/TanstackDatePickerField.d.ts +71 -0
- package/dist/esm/components/date-picker-field/TanstackDatePickerField.js +41 -0
- package/dist/esm/components/definition-list/DefinitionList.context.d.ts +19 -0
- package/dist/esm/components/definition-list/DefinitionList.d.ts +24 -0
- package/dist/esm/components/definition-list/parts/DefinitionItem.d.ts +25 -0
- package/dist/esm/components/dialog/Dialog.d.ts +34 -22
- package/dist/esm/components/dialog/Dialog.js +90 -52
- package/dist/esm/components/dialog/parts/DialogActions.js +6 -6
- package/dist/esm/components/dialog/parts/DialogTitle.js +7 -4
- package/dist/esm/components/dialog/test-utils.d.ts +28 -0
- package/dist/esm/components/dialog/test-utils.js +78 -0
- package/dist/esm/components/error-state/ErrorState.d.ts +13 -1
- package/dist/esm/components/error-state/ErrorState.js +133 -92
- package/dist/esm/components/error-state/initConfig.js +1 -1
- package/dist/esm/components/fieldset/Fieldset.d.ts +19 -0
- package/dist/esm/components/fieldset/Fieldset.js +32 -26
- package/dist/esm/components/filter/Filter.controls.d.ts +192 -0
- package/dist/esm/components/filter/Filter.controls.js +45 -0
- package/dist/esm/components/filter/Filter.d.ts +189 -0
- package/dist/esm/components/filter/Filter.js +147 -0
- package/dist/esm/components/filter/Filter.types.d.ts +121 -0
- package/dist/esm/components/filter/hooks/useFilterIds.d.ts +49 -0
- package/dist/esm/components/filter/hooks/useFilterIds.js +13 -0
- package/dist/esm/components/filter/hooks/useFilterState.d.ts +74 -0
- package/dist/esm/components/filter/hooks/useFilterState.js +23 -0
- package/dist/esm/components/filter/hooks/useFilterValue.d.ts +61 -0
- package/dist/esm/components/filter/hooks/useFilterValue.js +31 -0
- package/dist/esm/components/filter/parts/FilterButton.d.ts +75 -0
- package/dist/esm/components/filter/parts/FilterButton.js +55 -0
- package/dist/esm/components/filter/parts/FilterLabel.d.ts +96 -0
- package/dist/esm/components/filter/parts/FilterLabel.js +57 -0
- package/dist/esm/components/filter/parts/FilterPopover.d.ts +95 -0
- package/dist/esm/components/filter/parts/FilterPopover.js +79 -0
- package/dist/esm/components/filter/utils/value-formatters.d.ts +62 -0
- package/dist/esm/components/filter/utils/value-formatters.js +14 -0
- package/dist/esm/components/filter-toolbar/FilterToolbar.d.ts +110 -0
- package/dist/esm/components/filter-toolbar/FilterToolbar.js +172 -0
- package/dist/esm/components/filter-toolbar/FilterToolbar.types.d.ts +119 -0
- package/dist/esm/components/filter-toolbar/hooks/use-filter-toolbar-state.d.ts +96 -0
- package/dist/esm/components/filter-toolbar/hooks/use-filter-toolbar-state.js +132 -0
- package/dist/esm/components/filter-toolbar/parts/AddFilter.d.ts +63 -0
- package/dist/esm/components/filter-toolbar/parts/AddFilter.js +107 -0
- package/dist/esm/components/filter-toolbar/parts/AddFilterItem.d.ts +18 -0
- package/dist/esm/components/filter-toolbar/parts/AddFilterItem.js +18 -0
- package/dist/esm/components/filter-toolbar/utils/filter-adapters.d.ts +93 -0
- package/dist/esm/components/filter-toolbar/utils/filter-adapters.js +88 -0
- package/dist/esm/components/filter-toolbar/utils/normalize-filter-value.d.ts +24 -0
- package/dist/esm/components/filter-toolbar/utils/normalize-filter-value.js +19 -0
- package/dist/esm/components/flex/Flex.js +52 -37
- package/dist/esm/components/form/Form.d.ts +2 -0
- package/dist/esm/components/form/TanstackForm.d.ts +24 -0
- package/dist/esm/components/form/TanstackForm.js +29 -0
- package/dist/esm/components/form-field/FormField.d.ts +2 -0
- package/dist/esm/components/form-field/FormField.js +12 -12
- package/dist/esm/components/form-field/TanstackFormField.context.d.ts +10 -0
- package/dist/esm/components/form-field/TanstackFormField.context.js +14 -0
- package/dist/esm/components/form-field/TanstackFormField.d.ts +49 -0
- package/dist/esm/components/form-field/TanstackFormField.js +46 -0
- package/dist/esm/components/form-field/parts/FormControl.d.ts +2 -0
- package/dist/esm/components/form-field/parts/FormFeedbackText.d.ts +2 -0
- package/dist/esm/components/form-field/parts/FormHelperText.d.ts +2 -0
- package/dist/esm/components/form-field/parts/FormLabel.d.ts +2 -0
- package/dist/esm/components/form-field/parts/RawFormContextualLink.d.ts +22 -0
- package/dist/esm/components/form-field/parts/RawFormContextualLink.js +39 -0
- package/dist/esm/components/form-field/parts/TanstackFormFeedbackText.d.ts +12 -0
- package/dist/esm/components/form-field/parts/TanstackFormFeedbackText.js +32 -0
- package/dist/esm/components/form-field/parts/TanstackFormHelperText.d.ts +11 -0
- package/dist/esm/components/form-field/parts/TanstackFormHelperText.js +25 -0
- package/dist/esm/components/form-field/parts/TanstackFormLabel.d.ts +8 -0
- package/dist/esm/components/form-field/parts/TanstackFormLabel.js +26 -0
- package/dist/esm/components/form-field/parts/TanstackRawFormContextualLink.d.ts +26 -0
- package/dist/esm/components/form-field/parts/TanstackRawFormContextualLink.js +45 -0
- package/dist/esm/components/funnel-layout/parts/FunnelSidebar.d.ts +2 -2
- package/dist/esm/components/icon/Icon.js +23 -19
- package/dist/esm/components/icon-button/CircularIconButton.d.ts +9 -9
- package/dist/esm/components/icon-button/CircularIconButton.js +53 -36
- package/dist/esm/components/icon-button/IconButton.variants.d.ts +1 -0
- package/dist/esm/components/icon-button/IconButton.variants.js +44 -28
- package/dist/esm/components/input/Input.js +36 -35
- package/dist/esm/components/input/TanstackInput.d.ts +22 -0
- package/dist/esm/components/input/TanstackInput.js +38 -0
- package/dist/esm/components/label/Label.js +12 -12
- package/dist/esm/components/link/{Link.variants.d.ts → RawLink.d.ts} +92 -0
- package/dist/esm/components/link/{Link.variants.js → RawLink.js} +78 -5
- package/dist/esm/components/list-view/ListView.d.ts +56 -0
- package/dist/esm/components/list-view/ListView.fixtures.d.ts +20 -0
- package/dist/esm/components/list-view/ListView.js +44 -0
- package/dist/esm/components/list-view/parts/ListViewItemLabel.d.ts +34 -0
- package/dist/esm/components/list-view/parts/ListViewItemLabel.js +22 -0
- package/dist/esm/components/list-view/parts/ListViewItemText.d.ts +33 -0
- package/dist/esm/components/list-view/parts/ListViewItemText.js +22 -0
- package/dist/esm/components/list-view/parts/ListViewSection.d.ts +14 -0
- package/dist/esm/components/list-view/parts/ListViewSection.js +21 -0
- package/dist/esm/components/list-view/parts/RawListViewItem.d.ts +102 -0
- package/dist/esm/components/list-view/parts/RawListViewItem.js +80 -0
- package/dist/esm/components/menu/parts/{MenuItem.d.ts → RawMenuItem.d.ts} +3 -4
- package/dist/esm/components/menu/parts/{MenuItem.js → RawMenuItem.js} +9 -9
- package/dist/esm/components/multi-select/MultiSelect.d.ts +5 -7
- package/dist/esm/components/multi-select/MultiSelect.js +199 -176
- package/dist/esm/components/multi-select/MultiselectTypes.d.ts +114 -0
- package/dist/esm/components/multi-select/TanstackMultiSelect.d.ts +7 -0
- package/dist/esm/components/multi-select/TanstackMultiSelect.js +41 -0
- package/dist/esm/components/multi-select/parts/MultiSelectButton.d.ts +2 -0
- package/dist/esm/components/multi-select/parts/MultiSelectButton.js +62 -46
- package/dist/esm/components/multi-select/parts/MultiSelectPopover.js +15 -15
- package/dist/esm/components/multi-select-field/MultiSelectField.d.ts +45 -12
- package/dist/esm/components/multi-select-field/MultiSelectField.js +56 -66
- package/dist/esm/components/multi-select-field/TanstackMultiSelectField.d.ts +92 -0
- package/dist/esm/components/multi-select-field/TanstackMultiSelectField.js +48 -0
- package/dist/esm/components/multi-select-field/test-utils.d.ts +17 -0
- package/dist/esm/components/multi-select-field/test-utils.js +45 -0
- package/dist/esm/components/nav/parts/NavGroup.d.ts +3 -3
- package/dist/esm/components/nav/parts/NavGroup.js +62 -51
- package/dist/esm/components/nav/parts/{NavItem.d.ts → RawNavItem.d.ts} +102 -5
- package/dist/esm/components/nav/parts/RawNavItem.js +106 -0
- package/dist/esm/components/navigation-card/NavigationCard.context.d.ts +31 -0
- package/dist/esm/components/navigation-card/NavigationCard.context.js +13 -0
- package/dist/esm/components/navigation-card/NavigationCard.d.ts +46 -0
- package/dist/esm/components/navigation-card/NavigationCard.js +62 -0
- package/dist/esm/components/navigation-card/NavigationCard.types.d.ts +37 -0
- package/dist/esm/components/navigation-card/NavigationCard.variants.d.ts +1147 -0
- package/dist/esm/components/navigation-card/NavigationCard.variants.js +164 -0
- package/dist/esm/components/navigation-card/parts/NavigationCardDescription.d.ts +39 -0
- package/dist/esm/components/navigation-card/parts/NavigationCardDescription.js +22 -0
- package/dist/esm/components/navigation-card/parts/NavigationCardGroup.d.ts +146 -0
- package/dist/esm/components/navigation-card/parts/NavigationCardGroup.js +93 -0
- package/dist/esm/components/navigation-card/parts/NavigationCardLabel.d.ts +32 -0
- package/dist/esm/components/navigation-card/parts/NavigationCardLabel.js +24 -0
- package/dist/esm/components/number-field/NumberField.d.ts +2 -0
- package/dist/esm/components/number-field/TanstackNumberField.d.ts +74 -0
- package/dist/esm/components/number-field/TanstackNumberField.js +44 -0
- package/dist/esm/components/number-input/NumberInput.js +31 -29
- package/dist/esm/components/number-input/TanstackNumberInput.d.ts +58 -0
- package/dist/esm/components/number-input/TanstackNumberInput.js +38 -0
- package/dist/esm/components/page/Page.js +13 -12
- package/dist/esm/components/page/parts/PageHeader.d.ts +79 -9
- package/dist/esm/components/page/parts/PageHeader.js +22 -20
- package/dist/esm/components/pagination/Pagination.d.ts +23 -44
- package/dist/esm/components/pagination/Pagination.js +89 -163
- package/dist/esm/components/pagination/PaginationContext.d.ts +11 -0
- package/dist/esm/components/pagination/PaginationContext.js +15 -0
- package/dist/esm/components/pagination/hooks/use-pagination-state.d.ts +63 -0
- package/dist/esm/components/pagination/hooks/use-pagination-state.js +27 -0
- package/dist/esm/components/pagination/hooks/use-pagination-window.d.ts +64 -0
- package/dist/esm/components/pagination/hooks/use-pagination-window.js +15 -0
- package/dist/esm/components/pagination/parts/PaginationContent.d.ts +30 -0
- package/dist/esm/components/pagination/parts/PaginationContent.js +37 -0
- package/dist/esm/components/pagination/parts/PaginationEllipsis.d.ts +23 -4
- package/dist/esm/components/pagination/parts/PaginationEllipsis.js +20 -16
- package/dist/esm/components/pagination/parts/PaginationItem.d.ts +38 -0
- package/dist/esm/components/pagination/parts/PaginationItem.js +22 -0
- package/dist/esm/components/pagination/parts/RawPaginationLink.d.ts +11 -0
- package/dist/esm/components/pagination/parts/RawPaginationLink.js +60 -0
- package/dist/esm/components/pagination/parts/RawPaginationNext.d.ts +22 -0
- package/dist/esm/components/pagination/parts/RawPaginationNext.js +70 -0
- package/dist/esm/components/pagination/parts/RawPaginationPrevious.d.ts +22 -0
- package/dist/esm/components/pagination/parts/RawPaginationPrevious.js +67 -0
- package/dist/esm/components/pagination/utils/pagination-window.js +29 -20
- package/dist/esm/components/payfit-brand/PayFitBrand.d.ts +4 -0
- package/dist/esm/components/payfit-brand/PayFitBrand.js +30 -22
- package/dist/esm/components/payfit-brand/PayFitPreprod.js +25 -25
- package/dist/esm/components/phone-number/PhoneNumberInput.d.ts +67 -0
- package/dist/esm/components/phone-number/PhoneNumberInput.js +322 -0
- package/dist/esm/components/phone-number/TanstackPhoneNumberInput.d.ts +64 -0
- package/dist/esm/components/phone-number/TanstackPhoneNumberInput.js +33 -0
- package/dist/esm/components/phone-number/parts/PhoneNumberItem.d.ts +42 -0
- package/dist/esm/components/phone-number/parts/PhoneNumberItem.js +68 -0
- package/dist/esm/components/phone-number/unknownFlag.svg.js +4 -0
- package/dist/esm/components/phone-number-field/TanstackPhoneNumberField.d.ts +15 -0
- package/dist/esm/components/phone-number-field/TanstackPhoneNumberField.js +32 -0
- package/dist/esm/components/pill/Pill.d.ts +2 -2
- package/dist/esm/components/pill/Pill.js +8 -8
- package/dist/esm/components/popover/Popover.js +6 -6
- package/dist/esm/components/promo-dialog/PromoDialog.d.ts +149 -0
- package/dist/esm/components/promo-dialog/PromoDialog.js +219 -0
- package/dist/esm/components/promo-dialog/parts/PromoDialogActions.d.ts +44 -0
- package/dist/esm/components/promo-dialog/parts/PromoDialogActions.js +29 -0
- package/dist/esm/components/promo-dialog/parts/PromoDialogContent.d.ts +43 -0
- package/dist/esm/components/promo-dialog/parts/PromoDialogContent.js +20 -0
- package/dist/esm/components/promo-dialog/parts/PromoDialogHero.d.ts +47 -0
- package/dist/esm/components/promo-dialog/parts/PromoDialogHero.js +25 -0
- package/dist/esm/components/promo-dialog/parts/PromoDialogSubtitle.d.ts +53 -0
- package/dist/esm/components/promo-dialog/parts/PromoDialogSubtitle.js +21 -0
- package/dist/esm/components/promo-dialog/parts/PromoDialogTitle.d.ts +6 -0
- package/dist/esm/components/promo-dialog/parts/PromoDialogTitle.js +18 -0
- package/dist/esm/components/radio-button-group/TanstackRadioButtonGroup.d.ts +13 -0
- package/dist/esm/components/radio-button-group/TanstackRadioButtonGroup.js +43 -0
- package/dist/esm/components/radio-button-group/parts/RadioButton.d.ts +29 -11
- package/dist/esm/components/radio-button-group/parts/RadioButton.js +53 -51
- package/dist/esm/components/radio-button-group-field/RadioButtonGroupField.d.ts +2 -0
- package/dist/esm/components/radio-button-group-field/TanstackRadioButtonGroupField.d.ts +13 -0
- package/dist/esm/components/radio-button-group-field/TanstackRadioButtonGroupField.js +38 -0
- package/dist/esm/components/search/Search.js +46 -46
- package/dist/esm/components/segmented-button-group/parts/ToggleButton.js +5 -5
- package/dist/esm/components/select/Select.d.ts +5 -4
- package/dist/esm/components/select/Select.js +79 -53
- package/dist/esm/components/select/TanstackSelect.d.ts +80 -0
- package/dist/esm/components/select/TanstackSelect.js +34 -0
- package/dist/esm/components/select/parts/SearchInput.d.ts +4 -1
- package/dist/esm/components/select/parts/SearchInput.js +49 -31
- package/dist/esm/components/select/parts/SelectButton.js +19 -17
- package/dist/esm/components/select/parts/SelectOption.js +9 -9
- package/dist/esm/components/select-field/SelectField.d.ts +2 -0
- package/dist/esm/components/select-field/SelectField.js +8 -9
- package/dist/esm/components/select-field/TanstackSelectField.d.ts +124 -0
- package/dist/esm/components/select-field/TanstackSelectField.js +44 -0
- package/dist/esm/components/select-list/SelectList.d.ts +95 -0
- package/dist/esm/components/select-list/SelectList.js +79 -0
- package/dist/esm/components/select-list/SelectList.types.d.ts +29 -0
- package/dist/esm/components/select-list/constants.d.ts +36 -0
- package/dist/esm/components/select-list/constants.js +29 -0
- package/dist/esm/components/select-list/helpers.d.ts +42 -0
- package/dist/esm/components/select-list/helpers.js +48 -0
- package/dist/esm/components/select-list/hooks/useControlledSelection.d.ts +23 -0
- package/dist/esm/components/select-list/hooks/useControlledSelection.js +16 -0
- package/dist/esm/components/select-list/hooks/useSelectedFirstSorting.d.ts +23 -0
- package/dist/esm/components/select-list/hooks/useSelectedFirstSorting.js +31 -0
- package/dist/esm/components/select-list/parts/SelectListEmptyState.d.ts +8 -0
- package/dist/esm/components/select-list/parts/SelectListEmptyState.js +25 -0
- package/dist/esm/components/select-list/parts/SelectListOptGroup.d.ts +118 -0
- package/dist/esm/components/select-list/parts/SelectListOptGroup.js +28 -0
- package/dist/esm/components/select-list/parts/SelectListOption.d.ts +24 -0
- package/dist/esm/components/select-list/parts/SelectListOption.js +72 -0
- package/dist/esm/components/select-list/parts/SelectListSearchInput.d.ts +2 -0
- package/dist/esm/components/select-list/parts/SelectListSearchInput.js +43 -0
- package/dist/esm/components/select-list/parts/SelectedItemsSection.d.ts +54 -0
- package/dist/esm/components/select-list/parts/SelectedItemsSection.js +35 -0
- package/dist/esm/components/select-list/utils/partition.d.ts +13 -0
- package/dist/esm/components/select-list/utils/partition.js +9 -0
- package/dist/esm/components/selectable-button-group/SelectableButtonGroup.context.d.ts +1 -5
- package/dist/esm/components/selectable-button-group/SelectableButtonGroup.d.ts +6 -1
- package/dist/esm/components/selectable-button-group/SelectableButtonGroup.js +23 -23
- package/dist/esm/components/selectable-button-group/TanstackSelectableButtonGroup.d.ts +27 -0
- package/dist/esm/components/selectable-button-group/TanstackSelectableButtonGroup.js +34 -0
- package/dist/esm/components/selectable-button-group/parts/SelectableButton.d.ts +1 -16
- package/dist/esm/components/selectable-button-group/parts/SelectableButton.js +56 -57
- package/dist/esm/components/selectable-button-group-field/SelectableButtonGroupField.d.ts +2 -0
- package/dist/esm/components/selectable-button-group-field/TanstackSelectableButtonGroupField.d.ts +81 -0
- package/dist/esm/components/selectable-button-group-field/TanstackSelectableButtonGroupField.js +47 -0
- package/dist/esm/components/selectable-card/internals/Description.js +1 -1
- package/dist/esm/components/selectable-card/selectable-card-checkbox-group/SelectableCardCheckboxGroup.js +1 -1
- package/dist/esm/components/selectable-card/selectable-card-checkbox-group/TanstackSelectableCardCheckboxGroup.d.ts +26 -0
- package/dist/esm/components/selectable-card/selectable-card-checkbox-group/TanstackSelectableCardCheckboxGroup.js +32 -0
- package/dist/esm/components/selectable-card/selectable-card-checkbox-group/parts/SelectableCardCheckbox.js +24 -24
- package/dist/esm/components/selectable-card/selectable-card-radio-group/SelectableCardRadioGroup.d.ts +2 -0
- package/dist/esm/components/selectable-card/selectable-card-radio-group/SelectableCardRadioGroup.js +12 -14
- package/dist/esm/components/selectable-card/selectable-card-radio-group/TanstackSelectableCardRadioGroup.d.ts +28 -0
- package/dist/esm/components/selectable-card/selectable-card-radio-group/TanstackSelectableCardRadioGroup.js +32 -0
- package/dist/esm/components/selectable-card/selectable-card-radio-group/parts/RadioIndicator.js +14 -13
- package/dist/esm/components/selectable-card/selectable-card-radio-group/parts/SelectableCardRadio.js +27 -25
- package/dist/esm/components/selectable-card/selectableCard.variant.js +5 -5
- package/dist/esm/components/selectable-card-checkbox-group-field/SelectableCardCheckboxGroupField.d.ts +2 -0
- package/dist/esm/components/selectable-card-checkbox-group-field/TanstackSelectableCardCheckboxGroupField.d.ts +10 -0
- package/dist/esm/components/selectable-card-checkbox-group-field/TanstackSelectableCardCheckboxGroupField.js +38 -0
- package/dist/esm/components/selectable-card-radio-group-field/SelectableCardRadioGroupField.d.ts +2 -0
- package/dist/esm/components/selectable-card-radio-group-field/TanstackSelectableCardRadioGroupField.d.ts +10 -0
- package/dist/esm/components/selectable-card-radio-group-field/TanstackSelectableCardRadioGroupField.js +38 -0
- package/dist/esm/components/skip-links/SkipLinks.js +1 -1
- package/dist/esm/components/table/Table.context.d.ts +5 -0
- package/dist/esm/components/table/Table.context.js +14 -13
- package/dist/esm/components/table/Table.d.ts +94 -0
- package/dist/esm/components/table/Table.js +145 -108
- package/dist/esm/components/table/hooks/useTableKeyboardNavigation.js +6 -6
- package/dist/esm/components/table/parts/TableBody.js +83 -21
- package/dist/esm/components/table/parts/TableCell.js +29 -26
- package/dist/esm/components/table/parts/TableEmptyState.js +6 -6
- package/dist/esm/components/table/parts/TableHeader.js +1 -1
- package/dist/esm/components/table/parts/TablePagination.d.ts +5 -5
- package/dist/esm/components/table/parts/TablePagination.js +11 -11
- package/dist/esm/components/table/parts/TableRow.js +22 -18
- package/dist/esm/components/tabs/Tabs.variant.d.ts +0 -6
- package/dist/esm/components/tabs/Tabs.variant.js +11 -12
- package/dist/esm/components/tabs/parts/{Tab.d.ts → RawTab.d.ts} +2 -2
- package/dist/esm/components/tabs/parts/{Tab.js → RawTab.js} +6 -6
- package/dist/esm/components/task-menu/TaskMenu.d.ts +4 -4
- package/dist/esm/components/task-menu/parts/{SubTask.d.ts → RawSubTask.d.ts} +7 -7
- package/dist/esm/components/task-menu/parts/{SubTask.js → RawSubTask.js} +43 -43
- package/dist/esm/components/task-menu/parts/{Task.d.ts → RawTask.d.ts} +7 -7
- package/dist/esm/components/task-menu/parts/{Task.js → RawTask.js} +45 -41
- package/dist/esm/components/task-menu/parts/TaskGroup.d.ts +5 -5
- package/dist/esm/components/task-menu/parts/TaskGroup.js +30 -26
- package/dist/esm/components/task-menu/parts/task.variants.js +4 -2
- package/dist/esm/components/text/Text.d.ts +11 -1
- package/dist/esm/components/text/Text.js +43 -30
- package/dist/esm/components/text/Text.variants.d.ts +12 -0
- package/dist/esm/components/text/Text.variants.js +4 -0
- package/dist/esm/components/text-area/TanstackTextArea.d.ts +21 -0
- package/dist/esm/components/text-area/TanstackTextArea.js +35 -0
- package/dist/esm/components/text-area/TextArea.js +31 -29
- package/dist/esm/components/text-field/TanstackTextField.d.ts +79 -0
- package/dist/esm/components/text-field/TanstackTextField.js +60 -0
- package/dist/esm/components/text-field/TextField.d.ts +2 -0
- package/dist/esm/components/toast/UnityToast.js +5 -5
- package/dist/esm/components/toast/test-utils.d.ts +36 -0
- package/dist/esm/components/toast/test-utils.js +118 -0
- package/dist/esm/components/toggle-switch/TanstackToggleSwitch.d.ts +46 -0
- package/dist/esm/components/toggle-switch/TanstackToggleSwitch.js +25 -0
- package/dist/esm/components/toggle-switch/ToggleSwitch.d.ts +21 -9
- package/dist/esm/components/toggle-switch/ToggleSwitch.js +71 -32
- package/dist/esm/components/toggle-switch-field/TanstackToggleSwitchField.d.ts +11 -0
- package/dist/esm/components/toggle-switch-field/TanstackToggleSwitchField.js +34 -0
- package/dist/esm/components/toggle-switch-field/ToggleSwitchField.d.ts +2 -0
- package/dist/esm/components/toggle-switch-group/TanstackToggleSwitchGroup.d.ts +57 -0
- package/dist/esm/components/toggle-switch-group/TanstackToggleSwitchGroup.js +23 -0
- package/dist/esm/components/toggle-switch-group/ToggleSwitchGroup.js +1 -1
- package/dist/esm/components/toggle-switch-group-field/TanstackToggleSwitchGroupField.d.ts +19 -0
- package/dist/esm/components/toggle-switch-group-field/TanstackToggleSwitchGroupField.js +50 -0
- package/dist/esm/components/toggle-switch-group-field/ToggleSwitchGroupField.d.ts +2 -0
- package/dist/esm/docs/{table → examples/data}/mocks/employee-columns.d.ts +1 -1
- package/dist/esm/hooks/tanstack-form-context.d.ts +1 -0
- package/dist/esm/hooks/tanstack-form-context.js +8 -0
- package/dist/esm/hooks/use-container-query-level.d.ts +42 -0
- package/dist/esm/hooks/use-container-query-level.js +33 -0
- package/dist/esm/hooks/use-form.d.ts +2 -0
- package/dist/esm/hooks/use-has-scroll.d.ts +71 -0
- package/dist/esm/hooks/use-has-scroll.js +75 -0
- package/dist/esm/hooks/use-tanstack-form.d.ts +369 -0
- package/dist/esm/hooks/use-tanstack-form.js +209 -0
- package/dist/esm/index.d.ts +64 -30
- package/dist/esm/index.js +482 -394
- package/dist/esm/index.storybook-testing.d.ts +3 -0
- package/dist/esm/integrations/tanstack-router/components/breadcrumbs/Breadcrumb.d.ts +23 -0
- package/dist/esm/integrations/tanstack-router/components/breadcrumbs/BreadcrumbLink.d.ts +38 -0
- package/dist/esm/integrations/tanstack-router/components/breadcrumbs/BreadcrumbLink.js +7 -0
- package/dist/esm/integrations/tanstack-router/components/breadcrumbs/Breadcrumbs.d.ts +23 -0
- package/dist/esm/integrations/tanstack-router/components/breadcrumbs/use-route-breadcrumb.d.ts +53 -0
- package/dist/esm/integrations/tanstack-router/components/form-contextual-link/FormContextualLink.d.ts +45 -0
- package/dist/esm/integrations/tanstack-router/components/form-contextual-link/FormContextualLink.js +7 -0
- package/dist/esm/integrations/tanstack-router/components/form-contextual-link/TanstackFormContextualLink.d.ts +43 -0
- package/dist/esm/integrations/tanstack-router/components/link/Link.d.ts +33 -0
- package/dist/esm/integrations/tanstack-router/components/link/Link.js +7 -0
- package/dist/esm/integrations/tanstack-router/components/list-view/ListView.d.ts +34 -0
- package/dist/esm/integrations/tanstack-router/components/list-view/ListView.js +25 -0
- package/dist/esm/integrations/tanstack-router/components/list-view/parts/ListViewItem.d.ts +51 -0
- package/dist/esm/integrations/tanstack-router/components/list-view/parts/ListViewItem.js +32 -0
- package/dist/esm/integrations/tanstack-router/components/menu-item/MenuItem.d.ts +49 -0
- package/dist/esm/integrations/tanstack-router/components/menu-item/MenuItem.js +16 -0
- package/dist/esm/integrations/tanstack-router/components/nav-item/NavItem.d.ts +52 -0
- package/dist/esm/integrations/tanstack-router/components/nav-item/NavItem.js +29 -0
- package/dist/esm/integrations/tanstack-router/components/navigation-card/NavigationCard.d.ts +73 -0
- package/dist/esm/integrations/tanstack-router/components/navigation-card/NavigationCard.js +37 -0
- package/dist/esm/integrations/tanstack-router/components/pagination/PaginationLink.d.ts +54 -0
- package/dist/esm/integrations/tanstack-router/components/pagination/PaginationLink.js +21 -0
- package/dist/esm/integrations/tanstack-router/components/pagination/PaginationNext.d.ts +52 -0
- package/dist/esm/integrations/tanstack-router/components/pagination/PaginationNext.js +22 -0
- package/dist/esm/integrations/tanstack-router/components/pagination/PaginationPrevious.d.ts +51 -0
- package/dist/esm/integrations/tanstack-router/components/pagination/PaginationPrevious.js +22 -0
- package/dist/esm/integrations/tanstack-router/components/tabs/Tabs.d.ts +82 -0
- package/dist/esm/integrations/tanstack-router/components/tabs/Tabs.js +41 -0
- package/dist/esm/integrations/tanstack-router/components/tabs/parts/Tab.d.ts +52 -0
- package/dist/esm/integrations/tanstack-router/components/tabs/parts/Tab.js +15 -0
- package/dist/esm/integrations/tanstack-router/components/tabs/parts/TabList.d.ts +5 -0
- package/dist/esm/integrations/tanstack-router/components/tabs/parts/TabPanel.d.ts +77 -0
- package/dist/esm/integrations/tanstack-router/components/tabs/parts/TabPanel.js +16 -0
- package/dist/esm/integrations/tanstack-router/components/task-menu/SubTask.d.ts +69 -0
- package/dist/esm/integrations/tanstack-router/components/task-menu/SubTask.js +14 -0
- package/dist/esm/integrations/tanstack-router/components/task-menu/Task.d.ts +64 -0
- package/dist/esm/integrations/tanstack-router/components/task-menu/Task.js +14 -0
- package/dist/esm/integrations/tanstack-router/index.d.ts +19 -0
- package/dist/esm/integrations/tanstack-router/utils/decorators.d.ts +23 -0
- package/dist/esm/integrations/tanstack-router.js +40 -0
- package/dist/esm/mocks/employees.d.ts +1 -5
- package/dist/esm/providers/router/RouterProvider.d.ts +7 -2
- package/dist/esm/providers/router/RouterProvider.js +14 -10
- package/dist/esm/storybook-testing.js +8 -2
- package/dist/esm/storybook-utilities/previewTransform.d.ts +1 -0
- package/dist/esm/types/DataAttributes.d.ts +1 -1
- package/dist/esm/utils/scroll-detection.d.ts +77 -0
- package/dist/esm/utils/scroll-detection.js +33 -0
- package/dist/esm/utils/spacing.d.ts +63 -0
- package/dist/esm/utils/spacing.js +15 -0
- package/i18n/en-GB.json +22 -8
- package/i18n/es-ES.json +24 -10
- package/i18n/fr-FR.json +25 -11
- package/package.json +66 -45
- package/dist/esm/components/form-field/parts/FormContextualLink.d.ts +0 -20
- package/dist/esm/components/form-field/parts/FormContextualLink.js +0 -37
- package/dist/esm/components/link/Link.d.ts +0 -93
- package/dist/esm/components/link/Link.js +0 -68
- package/dist/esm/components/multi-select/Multiselect.types.d.ts +0 -109
- package/dist/esm/components/nav/parts/NavItem.js +0 -95
- package/dist/esm/integrations/react-router/v5/UnityReactRouterV5Provider.d.ts +0 -6
- package/dist/esm/integrations/react-router/v5/UnityReactRouterV5Provider.js +0 -28
- package/dist/esm/integrations/react-router/v5/index.d.ts +0 -1
- package/dist/esm/integrations/react-router/v5.js +0 -4
- /package/dist/esm/components/{pagination → client-side-pagination}/hooks/use-pagination.d.ts +0 -0
- /package/dist/esm/components/{pagination → client-side-pagination}/hooks/use-pagination.js +0 -0
- /package/dist/esm/components/{pagination → client-side-pagination}/parts/PaginationJumpDialog.js +0 -0
- /package/dist/esm/components/{pagination → client-side-pagination}/parts/PaginationNavButton.d.ts +0 -0
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { PropsWithChildren, ReactNode } from 'react';
|
|
2
2
|
import { MenuItemProps as MenuItemAriaComponentProps } from 'react-aria-components';
|
|
3
3
|
import { DataAttributes } from '../../../types/DataAttributes.js';
|
|
4
|
-
interface MenuItemProps extends DataAttributes {
|
|
4
|
+
export interface MenuItemProps extends DataAttributes {
|
|
5
5
|
children?: MenuItemAriaComponentProps['children'];
|
|
6
6
|
href?: MenuItemAriaComponentProps['href'];
|
|
7
7
|
onAction?: MenuItemAriaComponentProps['onAction'];
|
|
8
8
|
prefix?: ReactNode;
|
|
9
9
|
className?: string;
|
|
10
10
|
}
|
|
11
|
-
export declare function
|
|
12
|
-
export declare namespace
|
|
11
|
+
export declare function RawMenuItem({ prefix, children, href, onAction, className, ...dataAttributes }: PropsWithChildren<MenuItemProps>): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare namespace RawMenuItem {
|
|
13
13
|
var displayName: string;
|
|
14
14
|
}
|
|
15
|
-
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as o, jsx as s } from "react/jsx-runtime";
|
|
2
2
|
import { uyMerge as y } from "@payfit/unity-themes";
|
|
3
3
|
import { MenuItem as i } from "react-aria-components";
|
|
4
4
|
function l({
|
|
@@ -6,27 +6,27 @@ function l({
|
|
|
6
6
|
children: u,
|
|
7
7
|
href: t,
|
|
8
8
|
onAction: r,
|
|
9
|
-
className:
|
|
10
|
-
...
|
|
9
|
+
className: a,
|
|
10
|
+
...n
|
|
11
11
|
}) {
|
|
12
|
-
return /* @__PURE__ */
|
|
12
|
+
return /* @__PURE__ */ o(
|
|
13
13
|
i,
|
|
14
14
|
{
|
|
15
15
|
href: t,
|
|
16
16
|
onAction: r,
|
|
17
17
|
className: y(
|
|
18
18
|
"uy:cursor-pointer uy:flex uy:p-100 uy:items-start uy:gap-100 uy:rounded-25 uy:typography-body uy:text-content-neutral uy:hover:bg-surface-neutral-hover uy:data-[pressed]:bg-surface-neutral-pressed uy:focus-visible:outline-utility-focus-ring uy:active:bg-surface-neutral-active",
|
|
19
|
-
|
|
19
|
+
a
|
|
20
20
|
),
|
|
21
|
-
...
|
|
21
|
+
...n,
|
|
22
22
|
children: [
|
|
23
|
-
/* @__PURE__ */
|
|
23
|
+
/* @__PURE__ */ s("div", { className: "uy:text-content-neutral-low", children: e || null }),
|
|
24
24
|
u
|
|
25
25
|
]
|
|
26
26
|
}
|
|
27
27
|
);
|
|
28
28
|
}
|
|
29
|
-
l.displayName = "
|
|
29
|
+
l.displayName = "RawMenuItem";
|
|
30
30
|
export {
|
|
31
|
-
l as
|
|
31
|
+
l as RawMenuItem
|
|
32
32
|
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { MultiSelectComponent
|
|
2
|
-
declare const MultiSelectComponent: <TItem extends Record<string | number, unknown>, TItemKey extends keyof TItem, TKeyType extends TItem[TItemKey] & (string | number)>(props: MultiSelectProps<TItem, TItemKey, TKeyType>, ref: React.ForwardedRef<HTMLButtonElement>) => import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
import { MultiSelectComponent } from './MultiselectTypes.js';
|
|
3
2
|
/**
|
|
4
3
|
* The MultiSelect component allows users to select multiple items from a dropdown list.
|
|
5
4
|
* The component provides two different APIs:
|
|
@@ -52,11 +51,10 @@ declare const MultiSelectComponent: <TItem extends Record<string | number, unkno
|
|
|
52
51
|
* </MultiSelect>
|
|
53
52
|
* ```
|
|
54
53
|
* @component
|
|
55
|
-
* @template
|
|
56
|
-
* @template TItemKey - The key name within TItem used as the selection value (must be a key of TItem). Applies only to the dynamic API.
|
|
57
|
-
* @template TKeyType - The type of the property at TItem[TItemKey] (must be string or number). Applies only to the dynamic API.
|
|
54
|
+
* @template TItems - The type of the items collection. Use `Set<T>` for flat lists or `Map<string, T[]>` for grouped lists. When omitted or undefined, the component uses the static API with React children.
|
|
58
55
|
* @remarks
|
|
59
56
|
* [API & Docs](https://unity-components.payfit.io/?path=/docs/inputs-multiselect--docs) • [Design Guidelines](https://www.payfit.design/24f360409/p/928776-multiselect)
|
|
60
57
|
*/
|
|
61
|
-
export declare const MultiSelect: MultiSelectComponent
|
|
62
|
-
|
|
58
|
+
export declare const MultiSelect: MultiSelectComponent & {
|
|
59
|
+
displayName: string;
|
|
60
|
+
};
|
|
@@ -1,233 +1,256 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import { ComboboxProvider as
|
|
1
|
+
import { jsx as f, jsxs as ie, Fragment as fe } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as de, useMemo as I, useCallback as i, useRef as me } from "react";
|
|
3
|
+
import { ComboboxProvider as Se, SelectProvider as q, useSelectContext as ye, useStoreState as pe } from "@ariakit/react";
|
|
4
4
|
import { useComboboxFilter as he } from "./hooks/use-combobox-filter.js";
|
|
5
5
|
import { useMultiSelectionState as Ve } from "./hooks/use-multiselection-state.js";
|
|
6
|
-
import { MultiSelectContext as
|
|
7
|
-
import { MultiSelectButton as
|
|
8
|
-
import { MultiSelectPopover as
|
|
9
|
-
function
|
|
6
|
+
import { MultiSelectContext as z } from "./Multiselect.context.js";
|
|
7
|
+
import { MultiSelectButton as ge } from "./parts/MultiSelectButton.js";
|
|
8
|
+
import { MultiSelectPopover as ve } from "./parts/MultiSelectPopover.js";
|
|
9
|
+
function J(t) {
|
|
10
10
|
return t instanceof Map;
|
|
11
11
|
}
|
|
12
|
-
function
|
|
12
|
+
function Ie(t) {
|
|
13
13
|
return !Object.prototype.hasOwnProperty.call(t, "items");
|
|
14
14
|
}
|
|
15
15
|
function a(t) {
|
|
16
16
|
return String(t);
|
|
17
17
|
}
|
|
18
|
-
function
|
|
18
|
+
function b(t) {
|
|
19
19
|
return isNaN(Number(t)) ? t : Number(t);
|
|
20
20
|
}
|
|
21
|
-
function
|
|
21
|
+
function X(t) {
|
|
22
22
|
return Array.from(t, a);
|
|
23
23
|
}
|
|
24
|
-
function
|
|
25
|
-
return new Set(
|
|
24
|
+
function U(t) {
|
|
25
|
+
return new Set(X(t));
|
|
26
26
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
27
|
+
function W({
|
|
28
|
+
props: t,
|
|
29
|
+
ref: C,
|
|
30
|
+
content: r,
|
|
31
|
+
typedRenderValue: A,
|
|
32
|
+
selectedItemsForDisplay: O
|
|
33
|
+
}) {
|
|
34
|
+
const K = ye(), P = pe(K, "open"), u = me(!1), {
|
|
35
|
+
placeholder: M,
|
|
36
|
+
isDisabled: c,
|
|
37
|
+
isReadOnly: y,
|
|
38
|
+
isLoading: p,
|
|
39
|
+
isInvalid: w,
|
|
40
|
+
onClearButtonPress: x,
|
|
41
|
+
onBlur: n,
|
|
42
|
+
onFocus: R,
|
|
43
|
+
...j
|
|
44
|
+
} = t, h = i(() => {
|
|
45
|
+
P || !u.current && n && (u.current = !0, n());
|
|
46
|
+
}, [P, n]), d = i(() => {
|
|
47
|
+
u.current = !1, R?.();
|
|
48
|
+
}, [R]), V = i(() => {
|
|
49
|
+
setTimeout(() => {
|
|
50
|
+
const S = document.activeElement, g = K?.getState().contentElement;
|
|
51
|
+
g && S !== g && !g.contains(S) && !u.current && n && (u.current = !0, n());
|
|
52
|
+
}, 0);
|
|
53
|
+
}, [n, K]);
|
|
54
|
+
return /* @__PURE__ */ ie(fe, { children: [
|
|
55
|
+
/* @__PURE__ */ f(
|
|
56
|
+
ge,
|
|
57
|
+
{
|
|
58
|
+
ref: C,
|
|
59
|
+
placeholder: M,
|
|
60
|
+
isDisabled: c,
|
|
61
|
+
isReadOnly: y,
|
|
62
|
+
isLoading: p,
|
|
63
|
+
isInvalid: w,
|
|
64
|
+
renderValue: A,
|
|
65
|
+
selectedItems: O,
|
|
66
|
+
onClearButtonPress: x,
|
|
67
|
+
onBlur: h,
|
|
68
|
+
onFocus: d,
|
|
69
|
+
...j
|
|
70
|
+
}
|
|
71
|
+
),
|
|
72
|
+
/* @__PURE__ */ f(ve, { onBlur: V, children: r })
|
|
73
|
+
] });
|
|
74
|
+
}
|
|
75
|
+
const be = (t, C) => {
|
|
76
|
+
const r = Ie(t), A = (e) => typeof e == "object" && e !== null && "value" in e && (typeof e.value == "string" || typeof e.value == "number") ? e.value : typeof e == "object" && e !== null && "id" in e && (typeof e.id == "string" || typeof e.id == "number") ? e.id : typeof e == "string" || typeof e == "number" ? e : String(e), P = r ? (e) => Array.from(e).map(String).join(", ") : (e) => Array.from(e).map((o) => A(o)).join(", "), u = t, M = t, c = I(
|
|
77
|
+
() => r ? void 0 : u.items,
|
|
78
|
+
[r, u.items]
|
|
79
|
+
), y = r ? void 0 : u.getItemValue, { children: p } = r ? M : u, w = r ? void 0 : u.searchOptions, { children: x } = M, n = i(
|
|
80
|
+
(e) => r || !y ? A(e) : y(e),
|
|
81
|
+
[r, y]
|
|
82
|
+
), {
|
|
41
83
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
42
|
-
children:
|
|
84
|
+
children: R,
|
|
43
85
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
44
|
-
getItemValue:
|
|
45
|
-
value:
|
|
46
|
-
defaultValue:
|
|
47
|
-
onChange:
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
isReadOnly: D,
|
|
53
|
-
isSearchable: h,
|
|
54
|
-
placeholder: R,
|
|
55
|
-
onClearButtonPress: F,
|
|
56
|
-
renderValue: re,
|
|
57
|
-
maxVisibleItems: N = 7,
|
|
58
|
-
...B
|
|
59
|
-
} = t, ne = re ?? ee, y = d(() => n || !c ? [] : X(c) ? Array.from(c.values()).flat() : Array.from(c), [c, n]), oe = d(() => {
|
|
86
|
+
getItemValue: j,
|
|
87
|
+
value: h,
|
|
88
|
+
defaultValue: d,
|
|
89
|
+
onChange: V,
|
|
90
|
+
isSearchable: S,
|
|
91
|
+
renderValue: g,
|
|
92
|
+
maxVisibleItems: N = 7
|
|
93
|
+
} = t, Y = g ?? P, v = i(() => r || !c ? [] : J(c) ? Array.from(c.values()).flat() : Array.from(c), [c, r]), Z = i(() => {
|
|
60
94
|
if ("value" in t)
|
|
61
|
-
return
|
|
62
|
-
}, [t,
|
|
95
|
+
return h ? U(h) : /* @__PURE__ */ new Set();
|
|
96
|
+
}, [t, h]), $ = i(() => d ? U(d) : /* @__PURE__ */ new Set(), [d]), ee = i(
|
|
63
97
|
(e) => {
|
|
64
|
-
if (!
|
|
65
|
-
const
|
|
66
|
-
Array.from(e).map((
|
|
98
|
+
if (!V) return;
|
|
99
|
+
const o = new Set(
|
|
100
|
+
Array.from(e).map((s) => b(s))
|
|
67
101
|
);
|
|
68
|
-
|
|
102
|
+
V(o);
|
|
69
103
|
},
|
|
70
|
-
[
|
|
104
|
+
[V]
|
|
71
105
|
), {
|
|
72
|
-
selectedKeys:
|
|
73
|
-
selectKey:
|
|
106
|
+
selectedKeys: m,
|
|
107
|
+
selectKey: E,
|
|
74
108
|
unselectKey: T
|
|
75
109
|
} = Ve({
|
|
76
|
-
selectedKeys:
|
|
77
|
-
defaultSelectedKeys:
|
|
78
|
-
onSelectionChange:
|
|
79
|
-
}),
|
|
110
|
+
selectedKeys: Z(),
|
|
111
|
+
defaultSelectedKeys: $(),
|
|
112
|
+
onSelectionChange: ee
|
|
113
|
+
}), te = i(
|
|
80
114
|
(e) => {
|
|
81
|
-
|
|
115
|
+
E(a(e));
|
|
82
116
|
},
|
|
83
|
-
[
|
|
84
|
-
),
|
|
117
|
+
[E]
|
|
118
|
+
), re = i(
|
|
85
119
|
(e) => {
|
|
86
120
|
T(a(e));
|
|
87
121
|
},
|
|
88
122
|
[T]
|
|
89
|
-
), { setSearchQuery:
|
|
90
|
-
items:
|
|
91
|
-
extractSearchableText: (e) =>
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
const e = y();
|
|
101
|
-
return Array.from(u).map((r) => {
|
|
102
|
-
const l = e.find(
|
|
103
|
-
(o) => a(
|
|
104
|
-
s?.(o) || ""
|
|
105
|
-
) === r
|
|
123
|
+
), { setSearchQuery: ne, matchingItems: F } = he({
|
|
124
|
+
items: v(),
|
|
125
|
+
extractSearchableText: (e) => r ? [""] : [a(n(e))],
|
|
126
|
+
enabled: S,
|
|
127
|
+
searchOptions: w
|
|
128
|
+
}), oe = () => {
|
|
129
|
+
if (r) return Array.from(m);
|
|
130
|
+
const e = v();
|
|
131
|
+
return Array.from(m).map((o) => {
|
|
132
|
+
const s = e.find(
|
|
133
|
+
(l) => a(n(l)) === o
|
|
106
134
|
);
|
|
107
|
-
return
|
|
135
|
+
return s ? n(s) : b(o);
|
|
108
136
|
});
|
|
109
|
-
},
|
|
110
|
-
if (
|
|
137
|
+
}, le = () => {
|
|
138
|
+
if (r)
|
|
111
139
|
return new Set(
|
|
112
|
-
Array.from(
|
|
140
|
+
Array.from(m).map((s) => b(s))
|
|
113
141
|
);
|
|
114
|
-
const e =
|
|
115
|
-
return Array.from(
|
|
116
|
-
const
|
|
117
|
-
(
|
|
118
|
-
s?.(K) || ""
|
|
119
|
-
) === l
|
|
142
|
+
const e = v(), o = /* @__PURE__ */ new Set();
|
|
143
|
+
return Array.from(m).forEach((s) => {
|
|
144
|
+
const l = e.find(
|
|
145
|
+
(D) => a(n(D)) === s
|
|
120
146
|
);
|
|
121
|
-
|
|
122
|
-
}),
|
|
123
|
-
},
|
|
124
|
-
if (
|
|
125
|
-
return
|
|
126
|
-
},
|
|
127
|
-
|
|
147
|
+
l && o.add(l);
|
|
148
|
+
}), o;
|
|
149
|
+
}, se = () => {
|
|
150
|
+
if (d)
|
|
151
|
+
return X(d);
|
|
152
|
+
}, B = I(oe, [
|
|
153
|
+
m,
|
|
154
|
+
r,
|
|
128
155
|
n,
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
156
|
+
v
|
|
157
|
+
]), G = I(le, [
|
|
158
|
+
m,
|
|
159
|
+
r,
|
|
133
160
|
n,
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
)
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
161
|
+
v
|
|
162
|
+
]), L = I(se, [d]), _ = (e) => {
|
|
163
|
+
const o = new Set(e), s = new Set(B.map((l) => a(l)));
|
|
164
|
+
for (const l of o)
|
|
165
|
+
s.has(l) || te(b(l));
|
|
166
|
+
for (const l of s)
|
|
167
|
+
o.has(l) || re(b(l));
|
|
168
|
+
}, H = i(() => {
|
|
169
|
+
if (r)
|
|
170
|
+
return x;
|
|
171
|
+
if (!c) return null;
|
|
172
|
+
if (J(c)) {
|
|
173
|
+
const e = c;
|
|
174
|
+
return Array.from(e.entries()).map(
|
|
175
|
+
([o, s]) => {
|
|
176
|
+
const l = s.filter(
|
|
177
|
+
(D) => F.some((ue) => {
|
|
178
|
+
const ce = n(D), ae = n(ue);
|
|
179
|
+
return a(ae) === a(ce);
|
|
180
|
+
})
|
|
181
|
+
);
|
|
182
|
+
return p(o, l);
|
|
183
|
+
}
|
|
184
|
+
);
|
|
185
|
+
}
|
|
186
|
+
return F.map(
|
|
187
|
+
(e) => p(e)
|
|
150
188
|
);
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
189
|
+
}, [
|
|
190
|
+
p,
|
|
191
|
+
c,
|
|
192
|
+
F,
|
|
193
|
+
x,
|
|
194
|
+
n,
|
|
195
|
+
r
|
|
196
|
+
]), Q = I(() => H(), [H]), k = Y;
|
|
197
|
+
return S ? /* @__PURE__ */ f(Se, { resetValueOnHide: !0, setValue: ne, children: /* @__PURE__ */ f(
|
|
198
|
+
q,
|
|
159
199
|
{
|
|
160
|
-
value:
|
|
200
|
+
value: B.map(
|
|
161
201
|
(e) => a(e)
|
|
162
202
|
),
|
|
163
|
-
defaultValue:
|
|
164
|
-
setValue:
|
|
203
|
+
defaultValue: L,
|
|
204
|
+
setValue: _,
|
|
165
205
|
focusLoop: !0,
|
|
166
|
-
children: /* @__PURE__ */
|
|
167
|
-
|
|
206
|
+
children: /* @__PURE__ */ f(
|
|
207
|
+
z.Provider,
|
|
168
208
|
{
|
|
169
|
-
value: { isSearchable:
|
|
170
|
-
children:
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
renderValue: Q,
|
|
181
|
-
selectedItems: _,
|
|
182
|
-
onClearButtonPress: F,
|
|
183
|
-
...B
|
|
184
|
-
}
|
|
185
|
-
),
|
|
186
|
-
/* @__PURE__ */ i(W, { onBlur: O, children: H })
|
|
187
|
-
]
|
|
209
|
+
value: { isSearchable: S, maxVisibleItems: N, selectedKeys: m },
|
|
210
|
+
children: /* @__PURE__ */ f(
|
|
211
|
+
W,
|
|
212
|
+
{
|
|
213
|
+
props: t,
|
|
214
|
+
ref: C,
|
|
215
|
+
content: Q,
|
|
216
|
+
typedRenderValue: k,
|
|
217
|
+
selectedItemsForDisplay: G
|
|
218
|
+
}
|
|
219
|
+
)
|
|
188
220
|
}
|
|
189
221
|
)
|
|
190
222
|
}
|
|
191
|
-
) }) : /* @__PURE__ */
|
|
192
|
-
|
|
223
|
+
) }) : /* @__PURE__ */ f(
|
|
224
|
+
q,
|
|
193
225
|
{
|
|
194
|
-
value:
|
|
226
|
+
value: B.map(
|
|
195
227
|
(e) => a(e)
|
|
196
228
|
),
|
|
197
|
-
defaultValue:
|
|
198
|
-
setValue:
|
|
229
|
+
defaultValue: L,
|
|
230
|
+
setValue: _,
|
|
199
231
|
focusLoop: !0,
|
|
200
|
-
children: /* @__PURE__ */
|
|
201
|
-
|
|
232
|
+
children: /* @__PURE__ */ f(
|
|
233
|
+
z.Provider,
|
|
202
234
|
{
|
|
203
|
-
value: { isSearchable:
|
|
204
|
-
children:
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
renderValue: Q,
|
|
215
|
-
selectedItems: _,
|
|
216
|
-
onClearButtonPress: F,
|
|
217
|
-
...B
|
|
218
|
-
}
|
|
219
|
-
),
|
|
220
|
-
/* @__PURE__ */ i(W, { onBlur: O, children: H })
|
|
221
|
-
]
|
|
235
|
+
value: { isSearchable: S, maxVisibleItems: N, selectedKeys: m },
|
|
236
|
+
children: /* @__PURE__ */ f(
|
|
237
|
+
W,
|
|
238
|
+
{
|
|
239
|
+
props: t,
|
|
240
|
+
ref: C,
|
|
241
|
+
content: Q,
|
|
242
|
+
typedRenderValue: k,
|
|
243
|
+
selectedItemsForDisplay: G
|
|
244
|
+
}
|
|
245
|
+
)
|
|
222
246
|
}
|
|
223
247
|
)
|
|
224
248
|
}
|
|
225
249
|
);
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
const De = Se(
|
|
229
|
-
$
|
|
250
|
+
}, Ce = de(
|
|
251
|
+
be
|
|
230
252
|
);
|
|
253
|
+
Ce.displayName = "MultiSelect";
|
|
231
254
|
export {
|
|
232
|
-
|
|
255
|
+
Ce as MultiSelect
|
|
233
256
|
};
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { UseComboboxFilterProps } from './hooks/use-combobox-filter.js';
|
|
2
|
+
type Key = string | number;
|
|
3
|
+
/**
|
|
4
|
+
* Common props shared by all MultiSelect variants.
|
|
5
|
+
*/
|
|
6
|
+
export interface MultiSelectBaseProps {
|
|
7
|
+
/** The ID of the element */
|
|
8
|
+
id?: string;
|
|
9
|
+
/** Default content when no value is selected */
|
|
10
|
+
placeholder?: string;
|
|
11
|
+
/** Whether the select is searchable and shows a search input on top of the options */
|
|
12
|
+
isSearchable?: boolean;
|
|
13
|
+
/** Whether the select is disabled */
|
|
14
|
+
isDisabled?: boolean;
|
|
15
|
+
/** Whether the select is invalid */
|
|
16
|
+
isInvalid?: boolean;
|
|
17
|
+
/** Whether the select is read only */
|
|
18
|
+
isReadOnly?: boolean;
|
|
19
|
+
/** Whether the select is in a loading state */
|
|
20
|
+
isLoading?: boolean;
|
|
21
|
+
/** Callback when the clear button is pressed */
|
|
22
|
+
onClearButtonPress?: () => void;
|
|
23
|
+
/** Maximum number of items to show in the select button before showing a counter badge */
|
|
24
|
+
maxVisibleItems?: number;
|
|
25
|
+
/** Callback when the select is focused */
|
|
26
|
+
onFocus?: () => void;
|
|
27
|
+
/** Callback when the select is blurred */
|
|
28
|
+
onBlur?: () => void;
|
|
29
|
+
/** The ID of the element that labels this select when no visible label is provided */
|
|
30
|
+
'aria-labelledby'?: string;
|
|
31
|
+
/** The ID of the element that labels this select when no visible label is provided */
|
|
32
|
+
'aria-label'?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Props for flat (non-grouped) dynamic items MultiSelect.
|
|
36
|
+
* @template TItems The type of set of items.
|
|
37
|
+
*/
|
|
38
|
+
export interface FlatSelectProps<TItems extends Set<unknown>> extends MultiSelectBaseProps {
|
|
39
|
+
/** The items to display in the select */
|
|
40
|
+
items: TItems;
|
|
41
|
+
/** Function to get the value from an item, defaults to String(item) */ getItemValue?: (item: TItems extends Set<infer U> ? U : never) => Key;
|
|
42
|
+
/** The currently selected values (controlled mode) */
|
|
43
|
+
value?: Set<Key>;
|
|
44
|
+
/** The default selected values (uncontrolled mode) */
|
|
45
|
+
defaultValue?: Set<Key>;
|
|
46
|
+
/** Callback when the selection changes */
|
|
47
|
+
onChange?: (value: Set<Key>) => void;
|
|
48
|
+
/** Function to render the selected value(s) in the button */
|
|
49
|
+
renderValue?: (value: Set<TItems extends Set<infer U> ? U : never>) => string;
|
|
50
|
+
/** Children must be a render function that returns Option components */ children: (item: TItems extends Set<infer U> ? U : never) => React.JSX.Element;
|
|
51
|
+
/** Options for filtering the items */
|
|
52
|
+
searchOptions?: UseComboboxFilterProps<TItems extends Set<infer U> ? U : never>['searchOptions'];
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Props for grouped dynamic items MultiSelect.
|
|
56
|
+
* @template TItems The type of map from group key to array of items.
|
|
57
|
+
*/
|
|
58
|
+
export interface GroupedSelectProps<TItems extends Map<string, unknown[]>> extends MultiSelectBaseProps {
|
|
59
|
+
/** The items to display in the select, grouped by category */
|
|
60
|
+
items: TItems;
|
|
61
|
+
/** Function to get the value from an item, defaults to String(item) */
|
|
62
|
+
getItemValue?: (item: TItems extends Map<string, Array<infer U>> ? U : never) => Key;
|
|
63
|
+
/** The currently selected values (controlled mode) */
|
|
64
|
+
value?: Set<Key>;
|
|
65
|
+
/** The default selected values (uncontrolled mode) */
|
|
66
|
+
defaultValue?: Set<Key>;
|
|
67
|
+
/** Callback when the selection changes */
|
|
68
|
+
onChange?: (value: Set<Key>) => void;
|
|
69
|
+
/** Function to render the selected value(s) in the button */
|
|
70
|
+
renderValue?: (value: Set<TItems extends Map<string, Array<infer U>> ? U : never>) => string;
|
|
71
|
+
/** Children must be a render function that returns OptGroup components */
|
|
72
|
+
children: (groupKey: string, items: TItems extends Map<string, Array<infer U>> ? U[] : never) => React.JSX.Element;
|
|
73
|
+
/** Options for filtering the items */
|
|
74
|
+
searchOptions?: UseComboboxFilterProps<TItems extends Map<string, Array<infer U>> ? U : never>['searchOptions'];
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Props for static MultiSelect API (all items are defined via React children).
|
|
78
|
+
*/
|
|
79
|
+
export interface StaticItemsProps<TItem = Key> extends MultiSelectBaseProps {
|
|
80
|
+
/** The items to display in the select (for dynamic API) */
|
|
81
|
+
items?: never;
|
|
82
|
+
/** Function to get the value from an item, defaults to String(item) */
|
|
83
|
+
getItemValue?: never;
|
|
84
|
+
/** The currently selected values (controlled mode) */
|
|
85
|
+
value?: Set<TItem>;
|
|
86
|
+
/** The default selected values (uncontrolled mode) */
|
|
87
|
+
defaultValue?: Set<TItem>;
|
|
88
|
+
/** Callback when the selection changes */
|
|
89
|
+
onChange?: (value: Set<TItem>) => void;
|
|
90
|
+
/** Function to render the selected value(s) in the button */
|
|
91
|
+
renderValue?: (value: Set<TItem>) => string;
|
|
92
|
+
/** Children must be Option components */
|
|
93
|
+
children: React.ReactNode;
|
|
94
|
+
/** Options for filtering the items */
|
|
95
|
+
searchOptions?: UseComboboxFilterProps<TItem>['searchOptions'];
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Helper type to simplify usage for dynamic MultiSelect props.
|
|
99
|
+
* Picks flat or grouped variant depending on items type.
|
|
100
|
+
*/
|
|
101
|
+
export type DynamicMultiSelectProps<TItems = Set<unknown> | Map<string, unknown[]>> = TItems extends Set<unknown> ? FlatSelectProps<TItems> : TItems extends Map<string, unknown[]> ? GroupedSelectProps<TItems> : never;
|
|
102
|
+
/**
|
|
103
|
+
* Top-level MultiSelect props type, picks static or dynamic variant as appropriate.
|
|
104
|
+
*/
|
|
105
|
+
export type MultiSelectProps<TItems = Set<unknown> | Map<string, unknown[]> | undefined> = TItems extends undefined ? StaticItemsProps : DynamicMultiSelectProps<TItems>;
|
|
106
|
+
/**
|
|
107
|
+
* MultiSelect component type signature.
|
|
108
|
+
*/
|
|
109
|
+
export type MultiSelectComponent = <TItems = undefined>(props: MultiSelectProps<TItems> & {
|
|
110
|
+
ref?: React.ForwardedRef<HTMLButtonElement>;
|
|
111
|
+
} & {
|
|
112
|
+
displayName?: string;
|
|
113
|
+
}) => React.JSX.Element;
|
|
114
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { MultiSelectComponent, MultiSelectProps } from './MultiselectTypes.js';
|
|
2
|
+
export type TanstackMultiSelectProps<TItems = undefined> = Omit<MultiSelectProps<TItems>, 'value' | 'defaultValue' | 'onChange' | 'onBlur' | 'isInvalid'> & {
|
|
3
|
+
children?: MultiSelectProps<TItems>['children'];
|
|
4
|
+
};
|
|
5
|
+
export declare const TanstackMultiSelect: MultiSelectComponent & {
|
|
6
|
+
displayName: string;
|
|
7
|
+
};
|