@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,2 +1,5 @@
|
|
|
1
1
|
export { getTestingUtilsDatePicker } from './components/date-picker-field/test-utils.js';
|
|
2
|
+
export { getTestingUtilsMultiSelect } from './components/multi-select-field/test-utils.js';
|
|
2
3
|
export { getTestingUtilsSelect } from './components/select-field/test-utils.js';
|
|
4
|
+
export { getTestingUtilsToast } from './components/toast/test-utils.js';
|
|
5
|
+
export { getTestingUtilsDialog } from './components/dialog/test-utils.js';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Re-export of the base Breadcrumb component for Tanstack Router integration.
|
|
3
|
+
* Use with BreadcrumbLink to create router-aware breadcrumb navigation.
|
|
4
|
+
* @example
|
|
5
|
+
* ```tsx
|
|
6
|
+
* import { Breadcrumb, BreadcrumbLink, Breadcrumbs } from '@payfit/unity-components/integrations/tanstack-router'
|
|
7
|
+
*
|
|
8
|
+
* function Navigation() {
|
|
9
|
+
* return (
|
|
10
|
+
* <Breadcrumbs wrap="nowrap">
|
|
11
|
+
* <Breadcrumb>
|
|
12
|
+
* <BreadcrumbLink to="/">Home</BreadcrumbLink>
|
|
13
|
+
* </Breadcrumb>
|
|
14
|
+
* <Breadcrumb>
|
|
15
|
+
* <BreadcrumbLink to="/dashboard">Dashboard</BreadcrumbLink>
|
|
16
|
+
* </Breadcrumb>
|
|
17
|
+
* </Breadcrumbs>
|
|
18
|
+
* )
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
* @see {@link Breadcrumb} from base components for full API documentation
|
|
22
|
+
*/
|
|
23
|
+
export { Breadcrumb } from '../../../../components/breadcrumbs/parts/Breadcrumb.js';
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { LinkComponent } from '@tanstack/react-router';
|
|
2
|
+
import { RawBreadcrumbLink } from '../../../../components/breadcrumbs/parts/RawBreadcrumbLink.js';
|
|
3
|
+
/**
|
|
4
|
+
* A breadcrumb link component that integrates with Tanstack Router for type-safe navigation.
|
|
5
|
+
* This component wraps the base RawBreadcrumbLink with Tanstack Router's navigation capabilities.
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* import { Breadcrumb, BreadcrumbLink, Breadcrumbs } from '@payfit/unity-components/integrations/tanstack-router'
|
|
9
|
+
*
|
|
10
|
+
* function Navigation() {
|
|
11
|
+
* return (
|
|
12
|
+
* <Breadcrumbs wrap="nowrap">
|
|
13
|
+
* <Breadcrumb>
|
|
14
|
+
* <BreadcrumbLink to="/">Home</BreadcrumbLink>
|
|
15
|
+
* </Breadcrumb>
|
|
16
|
+
* <Breadcrumb>
|
|
17
|
+
* <BreadcrumbLink to="/dashboard" search={{ tab: 'overview' }}>
|
|
18
|
+
* Dashboard
|
|
19
|
+
* </BreadcrumbLink>
|
|
20
|
+
* </Breadcrumb>
|
|
21
|
+
* </Breadcrumbs>
|
|
22
|
+
* )
|
|
23
|
+
* }
|
|
24
|
+
* ```
|
|
25
|
+
* @remarks
|
|
26
|
+
* - Supports all Tanstack Router link props (to, search, params, etc.)
|
|
27
|
+
* - Maintains breadcrumb-specific styling and truncation behavior
|
|
28
|
+
* - Automatically handles long text with tooltips
|
|
29
|
+
* - Inherits type safety from Tanstack Router for route definitions
|
|
30
|
+
* @see Source code in {@link https://github.com/PayFit/hr-apps/tree/master/libs/shared/unity/components/src/integrations/tanstack-router/components/breadcrumbs GitHub}
|
|
31
|
+
* @see Design specs {@link https://www.figma.com/design/poaMyU7abAgL9VRhx4ygyy/Unity-DS-%3E-Components-Library Figma}
|
|
32
|
+
* @see Design docs in {@link https://www.payfit.design/ Payfit.design}
|
|
33
|
+
* @see Developer docs in {@link https://unity-components.payfit.io/?path=/ unity-components.payfit.io}
|
|
34
|
+
*/
|
|
35
|
+
declare const BreadcrumbLink: LinkComponent<typeof RawBreadcrumbLink> & {
|
|
36
|
+
displayName: string;
|
|
37
|
+
};
|
|
38
|
+
export { BreadcrumbLink };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Re-export of the base Breadcrumbs component for Tanstack Router integration.
|
|
3
|
+
* Container component that displays hierarchical navigation using breadcrumb items with router-aware links.
|
|
4
|
+
* @example
|
|
5
|
+
* ```tsx
|
|
6
|
+
* import { Breadcrumb, BreadcrumbLink, Breadcrumbs } from '@payfit/unity-components/integrations/tanstack-router'
|
|
7
|
+
*
|
|
8
|
+
* function Navigation() {
|
|
9
|
+
* return (
|
|
10
|
+
* <Breadcrumbs wrap="nowrap">
|
|
11
|
+
* <Breadcrumb>
|
|
12
|
+
* <BreadcrumbLink to="/">Home</BreadcrumbLink>
|
|
13
|
+
* </Breadcrumb>
|
|
14
|
+
* <Breadcrumb>
|
|
15
|
+
* <BreadcrumbLink to="/dashboard">Dashboard</BreadcrumbLink>
|
|
16
|
+
* </Breadcrumb>
|
|
17
|
+
* </Breadcrumbs>
|
|
18
|
+
* )
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
* @see {@link Breadcrumbs} from base components for full API documentation
|
|
22
|
+
*/
|
|
23
|
+
export { Breadcrumbs } from '../../../../components/breadcrumbs/Breadcrumbs.js';
|
package/dist/esm/integrations/tanstack-router/components/breadcrumbs/use-route-breadcrumb.d.ts
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { AnyRouteMatch, LinkOptions } from '@tanstack/react-router';
|
|
2
|
+
export interface BreadcrumbItem extends LinkOptions {
|
|
3
|
+
id: string;
|
|
4
|
+
label: string;
|
|
5
|
+
}
|
|
6
|
+
export interface UseRouteBreadcrumbsOptions {
|
|
7
|
+
/**
|
|
8
|
+
* Predicate function to filter out routes that should not be included in the breadcrumbs.
|
|
9
|
+
* @param match - The current route match in the list of matches.
|
|
10
|
+
* @returns True if the route should be included, false otherwise.
|
|
11
|
+
*/
|
|
12
|
+
filterMatches?: (match: AnyRouteMatch) => boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Function to customize the label for each breadcrumb item.
|
|
15
|
+
* @param match - The current route match in the list of matches.
|
|
16
|
+
* @returns The label for the breadcrumb item.
|
|
17
|
+
*/
|
|
18
|
+
getLabel?: (match: AnyRouteMatch) => string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Hook that generates breadcrumb items from the current route matches in Tanstack Router.
|
|
22
|
+
* Returns an array of breadcrumb items that can be used with the Breadcrumbs dynamic API.
|
|
23
|
+
* @param options - Configuration options for filtering and labeling breadcrumbs
|
|
24
|
+
* @returns Array of breadcrumb items with label and Tanstack Router link props
|
|
25
|
+
* @example
|
|
26
|
+
* ```tsx
|
|
27
|
+
* import { Breadcrumb, BreadcrumbLink, Breadcrumbs, useRouteBreadcrumbs } from '@payfit/unity-components/integrations/tanstack-router'
|
|
28
|
+
*
|
|
29
|
+
* function Navigation() {
|
|
30
|
+
* const breadcrumbs = useRouteBreadcrumbs({
|
|
31
|
+
* getLabel: (match) => match.context?.title ?? match.id
|
|
32
|
+
* })
|
|
33
|
+
*
|
|
34
|
+
* return (
|
|
35
|
+
* <Breadcrumbs items={breadcrumbs} wrap="nowrap">
|
|
36
|
+
* {item => (
|
|
37
|
+
* <Breadcrumb>
|
|
38
|
+
* <BreadcrumbLink to={item.to} search={item.search} params={item.params}>
|
|
39
|
+
* {item.label}
|
|
40
|
+
* </BreadcrumbLink>
|
|
41
|
+
* </Breadcrumb>
|
|
42
|
+
* )}
|
|
43
|
+
* </Breadcrumbs>
|
|
44
|
+
* )
|
|
45
|
+
* }
|
|
46
|
+
* ```
|
|
47
|
+
* @remarks
|
|
48
|
+
* - Automatically filters out the root route
|
|
49
|
+
* - Can be customized with filterMatches to control which routes appear
|
|
50
|
+
* - Can be customized with getLabel to control breadcrumb text
|
|
51
|
+
* - This hook only works for hierarchical routes, with an explicit parent-child relationship.
|
|
52
|
+
*/
|
|
53
|
+
export declare function useRouteBreadcrumbs(options?: UseRouteBreadcrumbsOptions): BreadcrumbItem[];
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { LinkComponent } from '@tanstack/react-router';
|
|
2
|
+
import { RawFormContextualLink } from '../../../../components/form-field/parts/RawFormContextualLink.js';
|
|
3
|
+
/**
|
|
4
|
+
* Unity's FormContextualLink that integrates with Tanstack Router for seamless client-side navigation within form fields.
|
|
5
|
+
* Enables declarative routing with type-safe route parameters, search params, and automatic preloading capabilities while maintaining form field context.
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* import { FormContextualLink } from '@payfit/unity-components/integrations/tanstack-router'
|
|
9
|
+
* import { useTanstackUnityForm } from '@payfit/unity-components'
|
|
10
|
+
*
|
|
11
|
+
* function MyForm() {
|
|
12
|
+
* const { Form, FormField } = useTanstackUnityForm({
|
|
13
|
+
* defaultValues: { email: '' },
|
|
14
|
+
* })
|
|
15
|
+
* return (
|
|
16
|
+
* <Form>
|
|
17
|
+
* <FormField name="email">
|
|
18
|
+
* <FormContextualLink to="/help">
|
|
19
|
+
* Need help?
|
|
20
|
+
* </FormContextualLink>
|
|
21
|
+
* </FormField>
|
|
22
|
+
* </Form>
|
|
23
|
+
* )
|
|
24
|
+
* }
|
|
25
|
+
* ```
|
|
26
|
+
* @remarks
|
|
27
|
+
* - Must be used inside a FormField component to maintain proper form context
|
|
28
|
+
* - Supports type-safe navigation with route parameters and search params
|
|
29
|
+
* - Provides automatic route preloading on hover or mount via the `preload` prop
|
|
30
|
+
* - Handles relative and absolute paths with `from` and `to` props for flexible routing
|
|
31
|
+
* - Integrates seamlessly with Tanstack Router's navigation system and loader functions
|
|
32
|
+
* - Maintains all accessibility features from the underlying RawFormContextualLink component
|
|
33
|
+
* - Automatically detects external URLs and applies appropriate security attributes (target="_blank", rel="noopener noreferrer")
|
|
34
|
+
* - Inherits the "small" size and "secondary" color styling appropriate for form contextual links
|
|
35
|
+
* @see Source code in {@link https://github.com/PayFit/hr-apps/tree/master/libs/shared/unity/components/src/integrations/tanstack-router/components/form-contextual-link GitHub}
|
|
36
|
+
* @see Design specs {@link https://www.figma.com/design/poaMyU7abAgL9VRhx4ygyy/Unity-DS-%3E-Components-Library Figma}
|
|
37
|
+
* @see Design docs in {@link https://www.payfit.design/ Payfit.design}
|
|
38
|
+
* @see Developer docs in {@link https://unity-components.payfit.io/?path=/ unity-components.payfit.io}
|
|
39
|
+
* @deprecated React Hook Form components are deprecated. Use the TanStack Form version instead (see `TanstackFormContextualLink`).
|
|
40
|
+
* @see Storybook docs: https://unity-components.payfit.io/?path=/docs/forms-introduction-to-unity-forms--docs
|
|
41
|
+
*/
|
|
42
|
+
declare const FormContextualLink: LinkComponent<typeof RawFormContextualLink> & {
|
|
43
|
+
displayName: string;
|
|
44
|
+
};
|
|
45
|
+
export { FormContextualLink };
|
package/dist/esm/integrations/tanstack-router/components/form-contextual-link/FormContextualLink.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createLink as o } from "@tanstack/react-router";
|
|
2
|
+
import { RawFormContextualLink as t } from "../../../../components/form-field/parts/RawFormContextualLink.js";
|
|
3
|
+
const r = o(t);
|
|
4
|
+
r.displayName = "FormContextualLink";
|
|
5
|
+
export {
|
|
6
|
+
r as FormContextualLink
|
|
7
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { LinkComponent } from '@tanstack/react-router';
|
|
2
|
+
import { TanstackRawFormContextualLink } from '../../../../components/form-field/parts/TanstackRawFormContextualLink.js';
|
|
3
|
+
/**
|
|
4
|
+
* Unity's TanstackFormContextualLink that integrates with Tanstack Router for seamless client-side navigation within form fields.
|
|
5
|
+
* Enables declarative routing with type-safe route parameters, search params, and automatic preloading capabilities while maintaining form field context.
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* import { TanstackFormContextualLink } from '@payfit/unity-components/integrations/tanstack-router'
|
|
9
|
+
* import { useTanstackUnityForm } from '@payfit/unity-components'
|
|
10
|
+
*
|
|
11
|
+
* function MyForm() {
|
|
12
|
+
* const { Form, FormField } = useTanstackUnityForm({
|
|
13
|
+
* defaultValues: { email: '' },
|
|
14
|
+
* })
|
|
15
|
+
* return (
|
|
16
|
+
* <Form>
|
|
17
|
+
* <FormField name="email">
|
|
18
|
+
* <TanstackFormContextualLink to="/help">
|
|
19
|
+
* Need help?
|
|
20
|
+
* </TanstackFormContextualLink>
|
|
21
|
+
* </FormField>
|
|
22
|
+
* </Form>
|
|
23
|
+
* )
|
|
24
|
+
* }
|
|
25
|
+
* ```
|
|
26
|
+
* @remarks
|
|
27
|
+
* - Must be used inside a FormField component to maintain proper form context
|
|
28
|
+
* - Supports type-safe navigation with route parameters and search params
|
|
29
|
+
* - Provides automatic route preloading on hover or mount via the `preload` prop
|
|
30
|
+
* - Handles relative and absolute paths with `from` and `to` props for flexible routing
|
|
31
|
+
* - Integrates seamlessly with Tanstack Router's navigation system and loader functions
|
|
32
|
+
* - Maintains all accessibility features from the underlying TanstackRawFormContextualLink component
|
|
33
|
+
* - Automatically detects external URLs and applies appropriate security attributes (target="_blank", rel="noopener noreferrer")
|
|
34
|
+
* - Inherits the "small" size and "secondary" color styling appropriate for form contextual links
|
|
35
|
+
* @see Source code in {@link https://github.com/PayFit/hr-apps/tree/master/libs/shared/unity/components/src/integrations/tanstack-router/components/form-contextual-link GitHub}
|
|
36
|
+
* @see Design specs {@link https://www.figma.com/design/poaMyU7abAgL9VRhx4ygyy/Unity-DS-%3E-Components-Library Figma}
|
|
37
|
+
* @see Design docs in {@link https://www.payfit.design/ Payfit.design}
|
|
38
|
+
* @see Developer docs in {@link https://unity-components.payfit.io/?path=/ unity-components.payfit.io}
|
|
39
|
+
*/
|
|
40
|
+
declare const TanstackFormContextualLink: LinkComponent<typeof TanstackRawFormContextualLink> & {
|
|
41
|
+
displayName: string;
|
|
42
|
+
};
|
|
43
|
+
export { TanstackFormContextualLink };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { LinkComponent } from '@tanstack/react-router';
|
|
2
|
+
import { RawLink } from '../../../../components/link/RawLink.js';
|
|
3
|
+
/**
|
|
4
|
+
* Unity's link that integrates with Tanstack Router for seamless client-side navigation.
|
|
5
|
+
* Enables declarative routing with type-safe route parameters, search params, and automatic preloading capabilities.
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* import { Link } from '@payfit/unity-components/integrations/tanstack-router'
|
|
9
|
+
*
|
|
10
|
+
* function Navigation() {
|
|
11
|
+
* return (
|
|
12
|
+
* <Link to="/dashboard">
|
|
13
|
+
* Dashboard
|
|
14
|
+
* </Link>
|
|
15
|
+
* )
|
|
16
|
+
* }
|
|
17
|
+
* ```
|
|
18
|
+
* @remarks
|
|
19
|
+
* - Supports type-safe navigation with route parameters and search params
|
|
20
|
+
* - Provides automatic route preloading on hover or mount via the `preload` prop
|
|
21
|
+
* - Handles relative and absolute paths with `from` and `to` props for flexible routing
|
|
22
|
+
* - Integrates seamlessly with Tanstack Router's navigation system and loader functions
|
|
23
|
+
* - Maintains all accessibility features and styling options from the underlying RawLink component
|
|
24
|
+
* - Automatically detects external URLs and applies appropriate security attributes (target="_blank", rel="noopener noreferrer")
|
|
25
|
+
* @see Source code in {@link https://github.com/PayFit/hr-apps/tree/master/libs/shared/unity/components/src/integrations/tanstack-router/components/link GitHub}
|
|
26
|
+
* @see Design specs {@link https://www.figma.com/design/poaMyU7abAgL9VRhx4ygyy/Unity-DS-%3E-Components-Library Figma}
|
|
27
|
+
* @see Design docs in {@link https://www.payfit.design/ Payfit.design}
|
|
28
|
+
* @see Developer docs in {@link https://unity-components.payfit.io/?path=/ unity-components.payfit.io}
|
|
29
|
+
*/
|
|
30
|
+
declare const Link: LinkComponent<typeof RawLink> & {
|
|
31
|
+
displayName: string;
|
|
32
|
+
};
|
|
33
|
+
export { Link };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ListViewProps } from '../../../../components/list-view/ListView.js';
|
|
2
|
+
/**
|
|
3
|
+
* Unity's ListView that integrates with Tanstack Router for seamless client-side navigation.
|
|
4
|
+
* This component automatically configures the RouterProvider context needed for ListViewItem navigation.
|
|
5
|
+
* @example
|
|
6
|
+
* ```tsx
|
|
7
|
+
* import { ListView, ListViewItem } from '@payfit/unity-components/integrations/tanstack-router'
|
|
8
|
+
* import { ListViewItemLabel } from '@payfit/unity-components'
|
|
9
|
+
*
|
|
10
|
+
* function DocumentsList() {
|
|
11
|
+
* return (
|
|
12
|
+
* <ListView aria-label="Documents">
|
|
13
|
+
* <ListViewItem to="/documents/$id" params={{ id: '123' }}>
|
|
14
|
+
* <ListViewItemLabel>Document 123</ListViewItemLabel>
|
|
15
|
+
* </ListViewItem>
|
|
16
|
+
* </ListView>
|
|
17
|
+
* )
|
|
18
|
+
* }
|
|
19
|
+
* ```
|
|
20
|
+
* @remarks
|
|
21
|
+
* - Automatically provides the RouterProvider context needed for client-side navigation
|
|
22
|
+
* - Use this instead of the base ListView component when using ListViewItem with TanStack Router
|
|
23
|
+
* - All props from the base ListView component are supported
|
|
24
|
+
* - Items within this ListView will use client-side navigation instead of full page reloads
|
|
25
|
+
* @see Source code in {@link https://github.com/PayFit/hr-apps/tree/master/libs/shared/unity/components/src/integrations/tanstack-router/components/list-view GitHub}
|
|
26
|
+
* @see Design specs {@link https://www.figma.com/design/poaMyU7abAgL9VRhx4ygyy/Unity-DS-%3E-Components-Library?node-id=15306-115&m=dev Figma}
|
|
27
|
+
* @see Design docs in {@link https://www.payfit.design/ Payfit.design}
|
|
28
|
+
* @see Developer docs in {@link https://unity-components.payfit.io/?path=/docs/component-reference-listview--docs unity-components.payfit.io}
|
|
29
|
+
*/
|
|
30
|
+
declare function ListView<T extends object>(props: ListViewProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
declare namespace ListView {
|
|
32
|
+
var displayName: string;
|
|
33
|
+
}
|
|
34
|
+
export { ListView };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback as u } from "react";
|
|
3
|
+
import { useRouter as a, useMatchRoute as m } from "@tanstack/react-router";
|
|
4
|
+
import { ListView as n } from "../../../../components/list-view/ListView.js";
|
|
5
|
+
import { RouterProvider as c } from "../../../../providers/router/RouterProvider.js";
|
|
6
|
+
function f(i) {
|
|
7
|
+
const o = a(), e = m(), s = u(
|
|
8
|
+
(t) => e({ to: t, fuzzy: !0 }) !== !1,
|
|
9
|
+
[e]
|
|
10
|
+
);
|
|
11
|
+
return /* @__PURE__ */ r(
|
|
12
|
+
c,
|
|
13
|
+
{
|
|
14
|
+
navigate: (t) => {
|
|
15
|
+
o.navigate({ to: t });
|
|
16
|
+
},
|
|
17
|
+
isActive: s,
|
|
18
|
+
children: /* @__PURE__ */ r(n, { ...i })
|
|
19
|
+
}
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
f.displayName = "ListView";
|
|
23
|
+
export {
|
|
24
|
+
f as ListView
|
|
25
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { RegisteredRouter, ValidateLinkOptions } from '@tanstack/react-router';
|
|
2
|
+
import { RawListViewItemProps } from '../../../../../components/list-view/parts/RawListViewItem.js';
|
|
3
|
+
type ListViewItemRouterProps<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown> = Omit<RawListViewItemProps<object>, 'prefix' | 'suffix' | 'href'> & ValidateLinkOptions<TRouter, TOptions> & {
|
|
4
|
+
prefixElement?: RawListViewItemProps<object>['prefix'];
|
|
5
|
+
suffixElement?: RawListViewItemProps<object>['suffix'];
|
|
6
|
+
};
|
|
7
|
+
type ListViewItemHrefProps = Omit<RawListViewItemProps<object>, 'prefix' | 'suffix'> & {
|
|
8
|
+
prefixElement?: RawListViewItemProps<object>['prefix'];
|
|
9
|
+
suffixElement?: RawListViewItemProps<object>['suffix'];
|
|
10
|
+
href: string;
|
|
11
|
+
};
|
|
12
|
+
export type ListViewItemProps<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown> = ListViewItemRouterProps<TRouter, TOptions> | ListViewItemHrefProps;
|
|
13
|
+
/**
|
|
14
|
+
* Unity's ListViewItem that integrates with Tanstack Router for seamless client-side navigation.
|
|
15
|
+
* Enables declarative routing with type-safe route parameters, search params, and automatic preloading capabilities.
|
|
16
|
+
* @param {ListViewItemProps} props - Either router-based props (with 'to') or direct link props (with 'href')
|
|
17
|
+
* @example
|
|
18
|
+
* ```tsx
|
|
19
|
+
* import { ListView } from '@payfit/unity-components'
|
|
20
|
+
* import { ListViewItem } from '@payfit/unity-components/integrations/tanstack-router'
|
|
21
|
+
* import { ListViewItemLabel } from '@payfit/unity-components'
|
|
22
|
+
*
|
|
23
|
+
* function DocumentsList() {
|
|
24
|
+
* return (
|
|
25
|
+
* <ListView aria-label="Documents">
|
|
26
|
+
* <ListViewItem to="/documents/$id" params={{ id: '123' }}>
|
|
27
|
+
* <ListViewItemLabel>Document 123</ListViewItemLabel>
|
|
28
|
+
* </ListViewItem>
|
|
29
|
+
* </ListView>
|
|
30
|
+
* )
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
* @remarks
|
|
34
|
+
* - Automatically renders as a router link when 'to' prop is provided, or as a standard link when 'href' is provided
|
|
35
|
+
* - Supports type-safe route parameters, search params, and relative navigation with Tanstack Router
|
|
36
|
+
* - Provides automatic route preloading on hover or mount via the `preload` prop
|
|
37
|
+
* - Integrates seamlessly with ListView component for list-based navigation UI patterns
|
|
38
|
+
* - Supports icon prefixes and suffixes via prefixElement and suffixElement props
|
|
39
|
+
* - Maintains all accessibility features and styling options from the underlying RawListViewItem component
|
|
40
|
+
* - Use `hideDisclosureIndicator` to hide the default disclosure arrow for non-navigational items
|
|
41
|
+
* @see {@link ListViewItemProps} for all available props
|
|
42
|
+
* @see Source code in {@link https://github.com/PayFit/hr-apps/tree/master/libs/shared/unity/components/src/integrations/tanstack-router/components/list-view-item GitHub}
|
|
43
|
+
* @see Design specs {@link https://www.figma.com/design/poaMyU7abAgL9VRhx4ygyy/Unity-DS-%3E-Components-Library?node-id=15306-115&m=dev Figma}
|
|
44
|
+
* @see Design docs in {@link https://www.payfit.design/ Payfit.design}
|
|
45
|
+
* @see Developer docs in {@link https://unity-components.payfit.io/?path=/docs/component-reference-listview--docs unity-components.payfit.io}
|
|
46
|
+
*/
|
|
47
|
+
declare function ListViewItem<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown>({ prefixElement, suffixElement, ...rest }: ListViewItemProps<TRouter, TOptions>): import("react/jsx-runtime").JSX.Element;
|
|
48
|
+
declare namespace ListViewItem {
|
|
49
|
+
var displayName: string;
|
|
50
|
+
}
|
|
51
|
+
export { ListViewItem };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { createLink as m } from "@tanstack/react-router";
|
|
3
|
+
import { RawListViewItem as e } from "../../../../../components/list-view/parts/RawListViewItem.js";
|
|
4
|
+
const f = m(e);
|
|
5
|
+
function p({
|
|
6
|
+
prefixElement: o,
|
|
7
|
+
suffixElement: t,
|
|
8
|
+
...i
|
|
9
|
+
}) {
|
|
10
|
+
return "to" in i ? (
|
|
11
|
+
// @ts-expect-error - Complex type intersection between router props and component props
|
|
12
|
+
/* @__PURE__ */ r(
|
|
13
|
+
f,
|
|
14
|
+
{
|
|
15
|
+
...i,
|
|
16
|
+
prefix: o,
|
|
17
|
+
suffix: t
|
|
18
|
+
}
|
|
19
|
+
)
|
|
20
|
+
) : /* @__PURE__ */ r(
|
|
21
|
+
e,
|
|
22
|
+
{
|
|
23
|
+
...i,
|
|
24
|
+
prefix: o,
|
|
25
|
+
suffix: t
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
p.displayName = "ListViewItem";
|
|
30
|
+
export {
|
|
31
|
+
p as ListViewItem
|
|
32
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { RegisteredRouter, ValidateLinkOptions } from '@tanstack/react-router';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { MenuItemProps as RawMenuItemProps, RawMenuItem } from '../../../../components/menu/parts/RawMenuItem.js';
|
|
4
|
+
type MenuItemRouterProps<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown, TDefaultFrom extends string = string> = Omit<RawMenuItemProps, 'onAction' | 'children' | 'prefix'> & ValidateLinkOptions<TRouter, TOptions, TDefaultFrom, typeof RawMenuItem> & {
|
|
5
|
+
children?: ReactNode;
|
|
6
|
+
prefixElement?: RawMenuItemProps['prefix'];
|
|
7
|
+
};
|
|
8
|
+
type MenuItemButtonProps = Omit<RawMenuItemProps, 'href' | 'children'> & {
|
|
9
|
+
onAction: NonNullable<RawMenuItemProps['onAction']>;
|
|
10
|
+
children?: ReactNode;
|
|
11
|
+
};
|
|
12
|
+
export type MenuItemProps<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown, TDefaultFrom extends string = string> = MenuItemRouterProps<TRouter, TOptions, TDefaultFrom> | MenuItemButtonProps;
|
|
13
|
+
/**
|
|
14
|
+
* A menu item component that integrates with Tanstack Router for navigation.
|
|
15
|
+
* Provides seamless routing capabilities for menu items in context menus, dropdown menus, and other menu-based interfaces.
|
|
16
|
+
* @param props - Either router-based props (with 'to') or button-based props (with 'onAction')
|
|
17
|
+
* @example
|
|
18
|
+
* ```tsx
|
|
19
|
+
* import { MenuItem } from '@payfit/unity-components/integrations/tanstack-router'
|
|
20
|
+
*
|
|
21
|
+
* function ContextMenu() {
|
|
22
|
+
* return (
|
|
23
|
+
* <Menu>
|
|
24
|
+
* <MenuItem to="/dashboard" prefixElement={<Icon src="DashboardOutlined" />}>
|
|
25
|
+
* Dashboard
|
|
26
|
+
* </MenuItem>
|
|
27
|
+
* <MenuItem onAction={() => alert('Action triggered')}>
|
|
28
|
+
* Perform Action
|
|
29
|
+
* </MenuItem>
|
|
30
|
+
* </Menu>
|
|
31
|
+
* )
|
|
32
|
+
* }
|
|
33
|
+
* ```
|
|
34
|
+
* @remarks
|
|
35
|
+
* - When 'to' prop is provided, the component renders as a router link
|
|
36
|
+
* - When 'onAction' prop is provided (without 'to'), it renders as a button
|
|
37
|
+
* - Supports all Tanstack Router link features like preloading, search params, and route params
|
|
38
|
+
* - Maintains accessibility features from the underlying RawMenuItem component
|
|
39
|
+
* @see {@link MenuItemProps} for all available props
|
|
40
|
+
* @see Source code in {@link https://github.com/PayFit/hr-apps/tree/master/libs/shared/unity/components/src/integrations/tanstack-router/components/menu-item GitHub}
|
|
41
|
+
* @see Design specs {@link https://www.figma.com/design/poaMyU7abAgL9VRhx4ygyy/Unity-DS-%3E-Components-Library Figma}
|
|
42
|
+
* @see Design docs in {@link https://www.payfit.design/ Payfit.design}
|
|
43
|
+
* @see Developer docs in {@link https://unity-components.payfit.io/?path=/ unity-components.payfit.io}
|
|
44
|
+
*/
|
|
45
|
+
declare function MenuItem<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown>(props: MenuItemProps<TRouter, TOptions>): import("react/jsx-runtime").JSX.Element;
|
|
46
|
+
declare namespace MenuItem {
|
|
47
|
+
var displayName: string;
|
|
48
|
+
}
|
|
49
|
+
export { MenuItem };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { createLink as r } from "@tanstack/react-router";
|
|
3
|
+
import { RawMenuItem as o } from "../../../../components/menu/parts/RawMenuItem.js";
|
|
4
|
+
const i = r(o);
|
|
5
|
+
function m(e) {
|
|
6
|
+
if ("to" in e || "href" in e)
|
|
7
|
+
return /* @__PURE__ */ n(i, { ...e });
|
|
8
|
+
{
|
|
9
|
+
const t = e;
|
|
10
|
+
return /* @__PURE__ */ n(o, { ...t, children: t.children });
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
m.displayName = "MenuItem";
|
|
14
|
+
export {
|
|
15
|
+
m as MenuItem
|
|
16
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { RegisteredRouter, ValidateLinkOptions } from '@tanstack/react-router';
|
|
2
|
+
import { NavItemProps as RawNavItemProps } from '../../../../components/nav/parts/RawNavItem.js';
|
|
3
|
+
type NavItemRouterProps<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown> = Omit<RawNavItemProps, 'prefix' | 'suffix' | 'href' | 'onPress'> & ValidateLinkOptions<TRouter, TOptions> & {
|
|
4
|
+
prefixElement?: RawNavItemProps['prefix'];
|
|
5
|
+
suffixElement?: RawNavItemProps['suffix'];
|
|
6
|
+
};
|
|
7
|
+
type NavItemButtonProps = Omit<RawNavItemProps, 'prefix' | 'suffix' | 'href'> & {
|
|
8
|
+
prefixElement?: RawNavItemProps['prefix'];
|
|
9
|
+
suffixElement?: RawNavItemProps['suffix'];
|
|
10
|
+
onPress: NonNullable<RawNavItemProps['onPress']>;
|
|
11
|
+
};
|
|
12
|
+
export type NavItemProps<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown> = NavItemRouterProps<TRouter, TOptions> | NavItemButtonProps;
|
|
13
|
+
/**
|
|
14
|
+
* A navigation item component that integrates with Tanstack Router for seamless navigation.
|
|
15
|
+
* Provides both link-based routing and button-based actions within navigation menus, automatically adapting based on the props provided.
|
|
16
|
+
* @param {NavItemProps} props - Either router-based props (with 'to') or button-based props (with 'onPress')
|
|
17
|
+
* @example
|
|
18
|
+
* ```tsx
|
|
19
|
+
* import { NavItem } from '@payfit/unity-components/integrations/tanstack-router'
|
|
20
|
+
* import { Nav } from '@payfit/unity-components'
|
|
21
|
+
*
|
|
22
|
+
* function Navigation() {
|
|
23
|
+
* return (
|
|
24
|
+
* <Nav title="Main navigation">
|
|
25
|
+
* <NavItem to="/dashboard" prefixElement={<Icon src="DashboardOutlined" />}>
|
|
26
|
+
* Dashboard
|
|
27
|
+
* </NavItem>
|
|
28
|
+
* <NavItem onPress={() => console.log('Action')}>
|
|
29
|
+
* Action
|
|
30
|
+
* </NavItem>
|
|
31
|
+
* </Nav>
|
|
32
|
+
* )
|
|
33
|
+
* }
|
|
34
|
+
* ```
|
|
35
|
+
* @remarks
|
|
36
|
+
* - Automatically renders as a link when 'to' prop is provided, or as a button when 'onPress' is provided
|
|
37
|
+
* - Supports type-safe route parameters, search params, and relative navigation with Tanstack Router
|
|
38
|
+
* - Integrates with Nav component for consistent navigation UI patterns
|
|
39
|
+
* - Provides automatic active state styling based on current route
|
|
40
|
+
* - Supports icon prefixes and suffixes via prefixElement and suffixElement props
|
|
41
|
+
* - Maintains all accessibility features from the underlying RawNavItem component
|
|
42
|
+
* @see {@link NavItemProps} for all available props
|
|
43
|
+
* @see Source code in {@link https://github.com/PayFit/hr-apps/tree/master/libs/shared/unity/components/src/integrations/tanstack-router/components/nav-item GitHub}
|
|
44
|
+
* @see Design specs {@link https://www.figma.com/design/poaMyU7abAgL9VRhx4ygyy/Unity-DS-%3E-Components-Library Figma}
|
|
45
|
+
* @see Design docs in {@link https://www.payfit.design/ Payfit.design}
|
|
46
|
+
* @see Developer docs in {@link https://unity-components.payfit.io/?path=/ unity-components.payfit.io}
|
|
47
|
+
*/
|
|
48
|
+
declare function NavItem<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown>({ prefixElement, suffixElement, ...rest }: NavItemProps<TRouter, TOptions>): import("react/jsx-runtime").JSX.Element;
|
|
49
|
+
declare namespace NavItem {
|
|
50
|
+
var displayName: string;
|
|
51
|
+
}
|
|
52
|
+
export { NavItem };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { createLink as a } from "@tanstack/react-router";
|
|
3
|
+
import { RawNavItem as e } from "../../../../components/nav/parts/RawNavItem.js";
|
|
4
|
+
const n = a(e);
|
|
5
|
+
function p({ prefixElement: r, suffixElement: i, ...o }) {
|
|
6
|
+
return "to" in o || "href" in o ? (
|
|
7
|
+
// @ts-expect-error - Complex type intersection between router props and component props
|
|
8
|
+
/* @__PURE__ */ t(
|
|
9
|
+
n,
|
|
10
|
+
{
|
|
11
|
+
...o,
|
|
12
|
+
activeProps: { isCurrent: !0 },
|
|
13
|
+
prefix: r,
|
|
14
|
+
suffix: i
|
|
15
|
+
}
|
|
16
|
+
)
|
|
17
|
+
) : /* @__PURE__ */ t(
|
|
18
|
+
e,
|
|
19
|
+
{
|
|
20
|
+
...o,
|
|
21
|
+
prefix: r,
|
|
22
|
+
suffix: i
|
|
23
|
+
}
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
p.displayName = "NavItem";
|
|
27
|
+
export {
|
|
28
|
+
p as NavItem
|
|
29
|
+
};
|