@payfit/unity-components 2.0.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/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-menu/parts/AppMenuFooter.js +23 -23
- package/dist/esm/components/app-menu/parts/AppMenuHeader.d.ts +1 -1
- package/dist/esm/components/app-menu/parts/AppMenuHeader.js +9 -9
- 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.variant.js +1 -1
- 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/parts/PaginationNavButton.js +1 -1
- package/dist/esm/components/client-side-pagination/parts/RawPaginationLink.js +10 -10
- 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.js +7 -7
- 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/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/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 +2 -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/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/RawLink.js +38 -31
- 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/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/RawNavItem.js +6 -6
- 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 +12 -11
- package/dist/esm/components/pagination/parts/RawPaginationLink.js +22 -22
- package/dist/esm/components/pagination/parts/RawPaginationNext.js +13 -13
- package/dist/esm/components/pagination/parts/RawPaginationPrevious.js +10 -10
- 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 +53 -45
- 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-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/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 +93 -0
- package/dist/esm/components/table/Table.js +135 -107
- package/dist/esm/components/table/parts/TableBody.js +83 -21
- 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.js +1 -1
- package/dist/esm/components/table/parts/TableRow.js +1 -0
- 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/task-menu/parts/RawSubTask.js +26 -26
- package/dist/esm/components/task-menu/parts/RawTask.js +32 -28
- 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 +41 -31
- 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-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 +44 -20
- package/dist/esm/index.js +457 -394
- package/dist/esm/index.storybook-testing.d.ts +3 -0
- package/dist/esm/integrations/tanstack-router/components/form-contextual-link/FormContextualLink.d.ts +6 -1
- package/dist/esm/integrations/tanstack-router/components/form-contextual-link/TanstackFormContextualLink.d.ts +43 -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/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/index.d.ts +3 -0
- package/dist/esm/integrations/tanstack-router/utils/decorators.d.ts +1 -1
- package/dist/esm/integrations/tanstack-router.js +32 -26
- package/dist/esm/mocks/employees.d.ts +1 -5
- package/dist/esm/storybook-testing.js +8 -2
- package/dist/esm/storybook-utilities/previewTransform.d.ts +1 -0
- 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 +21 -8
- package/i18n/es-ES.json +23 -10
- package/i18n/fr-FR.json +24 -11
- package/package.json +41 -42
- package/dist/esm/components/multi-select/Multiselect.types.d.ts +0 -109
- 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
|
@@ -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';
|
|
@@ -6,9 +6,12 @@ import { RawFormContextualLink } from '../../../../components/form-field/parts/R
|
|
|
6
6
|
* @example
|
|
7
7
|
* ```tsx
|
|
8
8
|
* import { FormContextualLink } from '@payfit/unity-components/integrations/tanstack-router'
|
|
9
|
+
* import { useTanstackUnityForm } from '@payfit/unity-components'
|
|
9
10
|
*
|
|
10
11
|
* function MyForm() {
|
|
11
|
-
* const { Form, FormField } =
|
|
12
|
+
* const { Form, FormField } = useTanstackUnityForm({
|
|
13
|
+
* defaultValues: { email: '' },
|
|
14
|
+
* })
|
|
12
15
|
* return (
|
|
13
16
|
* <Form>
|
|
14
17
|
* <FormField name="email">
|
|
@@ -33,6 +36,8 @@ import { RawFormContextualLink } from '../../../../components/form-field/parts/R
|
|
|
33
36
|
* @see Design specs {@link https://www.figma.com/design/poaMyU7abAgL9VRhx4ygyy/Unity-DS-%3E-Components-Library Figma}
|
|
34
37
|
* @see Design docs in {@link https://www.payfit.design/ Payfit.design}
|
|
35
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
|
|
36
41
|
*/
|
|
37
42
|
declare const FormContextualLink: LinkComponent<typeof RawFormContextualLink> & {
|
|
38
43
|
displayName: string;
|
|
@@ -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,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,73 @@
|
|
|
1
|
+
import { RegisteredRouter, ValidateLinkOptions } from '@tanstack/react-router';
|
|
2
|
+
import { NavigationCardProps as RawNavigationCardProps } from '../../../../components/navigation-card/NavigationCard.js';
|
|
3
|
+
type NavigationCardRouterProps<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown> = Omit<RawNavigationCardProps, 'asElement' | 'prefix' | 'suffix'> & ValidateLinkOptions<TRouter, TOptions> & {
|
|
4
|
+
prefixElement?: RawNavigationCardProps['prefix'];
|
|
5
|
+
suffixElement?: RawNavigationCardProps['suffix'];
|
|
6
|
+
};
|
|
7
|
+
type NavigationCardButtonProps = Omit<RawNavigationCardProps, 'asElement' | 'prefix' | 'suffix' | 'href'> & {
|
|
8
|
+
prefixElement?: RawNavigationCardProps['prefix'];
|
|
9
|
+
suffixElement?: RawNavigationCardProps['suffix'];
|
|
10
|
+
onPress: NonNullable<RawNavigationCardProps['onPress']>;
|
|
11
|
+
};
|
|
12
|
+
export type NavigationCardProps<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown> = NavigationCardRouterProps<TRouter, TOptions> | NavigationCardButtonProps;
|
|
13
|
+
/**
|
|
14
|
+
* Unity's NavigationCard 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 {NavigationCardProps} props - Either router-based props (with 'to') or button-based props (with 'onPress')
|
|
17
|
+
* @example
|
|
18
|
+
* ```tsx
|
|
19
|
+
* import { NavigationCard } from '@payfit/unity-components/integrations/tanstack-router'
|
|
20
|
+
* import { Icon } from '@payfit/unity-components'
|
|
21
|
+
* import { NavigationCardLabel } from '@payfit/unity-components'
|
|
22
|
+
* import { NavigationCardDescription } from '@payfit/unity-components'
|
|
23
|
+
*
|
|
24
|
+
* // Router mode - navigation card as a link
|
|
25
|
+
* function NavigationWithLink() {
|
|
26
|
+
* return (
|
|
27
|
+
* <NavigationCard
|
|
28
|
+
* to="/dashboard"
|
|
29
|
+
* prefixElement={<Icon src="LayoutDashboardOutlined" size={24} />}
|
|
30
|
+
* >
|
|
31
|
+
* <div>
|
|
32
|
+
* <NavigationCardLabel>Dashboard</NavigationCardLabel>
|
|
33
|
+
* <NavigationCardDescription>
|
|
34
|
+
* View your analytics
|
|
35
|
+
* </NavigationCardDescription>
|
|
36
|
+
* </div>
|
|
37
|
+
* </NavigationCard>
|
|
38
|
+
* )
|
|
39
|
+
* }
|
|
40
|
+
*
|
|
41
|
+
* // Button mode - navigation card as a button
|
|
42
|
+
* function NavigationWithButton() {
|
|
43
|
+
* return (
|
|
44
|
+
* <NavigationCard
|
|
45
|
+
* onPress={() => console.log('Clicked')}
|
|
46
|
+
* prefixElement={<Icon src="PlusOutlined" size={24} />}
|
|
47
|
+
* >
|
|
48
|
+
* <Text variant="h4">Add New</Text>
|
|
49
|
+
* </NavigationCard>
|
|
50
|
+
* )
|
|
51
|
+
* }
|
|
52
|
+
* ```
|
|
53
|
+
* @remarks
|
|
54
|
+
* - Automatically renders as a link when 'to' prop is provided, or as a button when 'onPress' is provided
|
|
55
|
+
* - Supports type-safe navigation with route parameters and search params via `params` and `search` props
|
|
56
|
+
* - Provides automatic route preloading on hover or mount via the `preload` prop
|
|
57
|
+
* - Handles relative and absolute paths with `from` and `to` props for flexible routing
|
|
58
|
+
* - Integrates seamlessly with Tanstack Router's navigation system and loader functions
|
|
59
|
+
* - Maintains all accessibility features and styling options from the underlying RawNavigationCard component
|
|
60
|
+
* - Automatically detects external URLs and applies appropriate security attributes (target="_blank", rel="noopener noreferrer")
|
|
61
|
+
* - Supports both `compact` and `comfortable` variants for different layout needs
|
|
62
|
+
* - Use `prefixElement` and `suffixElement` props to add icons or other elements to the card
|
|
63
|
+
* @see {@link NavigationCardProps} for all available props
|
|
64
|
+
* @see Source code in {@link https://github.com/PayFit/hr-apps/tree/master/libs/shared/unity/components/src/integrations/tanstack-router/components/navigation-card GitHub}
|
|
65
|
+
* @see Design specs {@link https://www.figma.com/design/poaMyU7abAgL9VRhx4ygyy/Unity-DS-%3E-Components-Library Figma}
|
|
66
|
+
* @see Design docs in {@link https://www.payfit.design/ Payfit.design}
|
|
67
|
+
* @see Developer docs in {@link https://unity-components.payfit.io/?path=/ unity-components.payfit.io}
|
|
68
|
+
*/
|
|
69
|
+
declare function NavigationCard<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown>({ prefixElement, suffixElement, ...rest }: NavigationCardProps<TRouter, TOptions>): import("react/jsx-runtime").JSX.Element;
|
|
70
|
+
declare namespace NavigationCard {
|
|
71
|
+
var displayName: string;
|
|
72
|
+
}
|
|
73
|
+
export { NavigationCard };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { createLink as n } from "@tanstack/react-router";
|
|
3
|
+
import { RawNavigationCard as t } from "../../../../components/navigation-card/NavigationCard.js";
|
|
4
|
+
const d = n(t);
|
|
5
|
+
function e({
|
|
6
|
+
prefixElement: i,
|
|
7
|
+
suffixElement: a,
|
|
8
|
+
...o
|
|
9
|
+
}) {
|
|
10
|
+
return "to" in o || "href" in o ? (
|
|
11
|
+
// @ts-expect-error - Complex type intersection between router props and component props
|
|
12
|
+
/* @__PURE__ */ r(
|
|
13
|
+
d,
|
|
14
|
+
{
|
|
15
|
+
...o,
|
|
16
|
+
asElement: "a",
|
|
17
|
+
prefix: i,
|
|
18
|
+
suffix: a
|
|
19
|
+
}
|
|
20
|
+
)
|
|
21
|
+
) : (
|
|
22
|
+
// @ts-expect-error - TypeScript cannot narrow union types at the type level. RawNavigationCardProps is a union of link and button props, and runtime check ensures only button props are passed here.
|
|
23
|
+
/* @__PURE__ */ r(
|
|
24
|
+
t,
|
|
25
|
+
{
|
|
26
|
+
...o,
|
|
27
|
+
asElement: "button",
|
|
28
|
+
prefix: i,
|
|
29
|
+
suffix: a
|
|
30
|
+
}
|
|
31
|
+
)
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
e.displayName = "NavigationCard";
|
|
35
|
+
export {
|
|
36
|
+
e as NavigationCard
|
|
37
|
+
};
|
|
@@ -3,7 +3,10 @@ export * from './components/breadcrumbs/BreadcrumbLink.js';
|
|
|
3
3
|
export * from './components/breadcrumbs/Breadcrumbs.js';
|
|
4
4
|
export * from './components/form-contextual-link/FormContextualLink.js';
|
|
5
5
|
export * from './components/link/Link.js';
|
|
6
|
+
export * from './components/list-view/ListView.js';
|
|
7
|
+
export * from './components/list-view/parts/ListViewItem.js';
|
|
6
8
|
export * from './components/menu-item/MenuItem.js';
|
|
9
|
+
export * from './components/navigation-card/NavigationCard.js';
|
|
7
10
|
export * from './components/nav-item/NavItem.js';
|
|
8
11
|
export * from './components/pagination/PaginationLink.js';
|
|
9
12
|
export * from './components/pagination/PaginationNext.js';
|
|
@@ -16,7 +16,7 @@ export interface TanstackRouterDecoratorContext extends StoryContext {
|
|
|
16
16
|
renderRootRoute?: (Story: Parameters<Decorator>[0]) => React.ReactNode;
|
|
17
17
|
routes: RouteConfig[];
|
|
18
18
|
};
|
|
19
|
-
|
|
19
|
+
enableTanstackRouterDevTools?: boolean;
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
22
|
export declare const TanstackRouterDecorator: Decorator;
|
|
@@ -1,34 +1,40 @@
|
|
|
1
1
|
import { BreadcrumbLink as e } from "./tanstack-router/components/breadcrumbs/BreadcrumbLink.js";
|
|
2
2
|
import { FormContextualLink as m } from "./tanstack-router/components/form-contextual-link/FormContextualLink.js";
|
|
3
3
|
import { Link as x } from "./tanstack-router/components/link/Link.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
4
|
+
import { ListView as p } from "./tanstack-router/components/list-view/ListView.js";
|
|
5
|
+
import { ListViewItem as n } from "./tanstack-router/components/list-view/parts/ListViewItem.js";
|
|
6
|
+
import { MenuItem as s } from "./tanstack-router/components/menu-item/MenuItem.js";
|
|
7
|
+
import { NavigationCard as L } from "./tanstack-router/components/navigation-card/NavigationCard.js";
|
|
8
|
+
import { NavItem as T } from "./tanstack-router/components/nav-item/NavItem.js";
|
|
9
|
+
import { PaginationLink as d } from "./tanstack-router/components/pagination/PaginationLink.js";
|
|
10
|
+
import { PaginationNext as c } from "./tanstack-router/components/pagination/PaginationNext.js";
|
|
11
|
+
import { PaginationPrevious as B } from "./tanstack-router/components/pagination/PaginationPrevious.js";
|
|
12
|
+
import { Tab as N } from "./tanstack-router/components/tabs/parts/Tab.js";
|
|
13
|
+
import { TabPanel as w } from "./tanstack-router/components/tabs/parts/TabPanel.js";
|
|
14
|
+
import { Tabs as V } from "./tanstack-router/components/tabs/Tabs.js";
|
|
15
|
+
import { Task as M } from "./tanstack-router/components/task-menu/Task.js";
|
|
16
|
+
import { SubTask as h } from "./tanstack-router/components/task-menu/SubTask.js";
|
|
17
|
+
import { Breadcrumb as q } from "../components/breadcrumbs/parts/Breadcrumb.js";
|
|
18
|
+
import { Breadcrumbs as z } from "../components/breadcrumbs/Breadcrumbs.js";
|
|
19
|
+
import { TabList as D } from "../components/tabs/parts/TabList.js";
|
|
17
20
|
export {
|
|
18
|
-
|
|
21
|
+
q as Breadcrumb,
|
|
19
22
|
e as BreadcrumbLink,
|
|
20
|
-
|
|
23
|
+
z as Breadcrumbs,
|
|
21
24
|
m as FormContextualLink,
|
|
22
25
|
x as Link,
|
|
23
|
-
p as
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
L as
|
|
28
|
-
|
|
29
|
-
c as
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
26
|
+
p as ListView,
|
|
27
|
+
n as ListViewItem,
|
|
28
|
+
s as MenuItem,
|
|
29
|
+
T as NavItem,
|
|
30
|
+
L as NavigationCard,
|
|
31
|
+
d as PaginationLink,
|
|
32
|
+
c as PaginationNext,
|
|
33
|
+
B as PaginationPrevious,
|
|
34
|
+
h as SubTask,
|
|
35
|
+
N as Tab,
|
|
36
|
+
D as TabList,
|
|
37
|
+
w as TabPanel,
|
|
38
|
+
V as Tabs,
|
|
39
|
+
M as Task
|
|
34
40
|
};
|
|
@@ -8,10 +8,6 @@ export type Employee = {
|
|
|
8
8
|
startWorkingDate: string;
|
|
9
9
|
endWorkingDate: string;
|
|
10
10
|
status: 'active' | 'onboarding' | 'offboarding' | 'inactive' | 'retired';
|
|
11
|
-
manager:
|
|
12
|
-
name: string;
|
|
13
|
-
position: string;
|
|
14
|
-
team: string;
|
|
15
|
-
} | null;
|
|
11
|
+
manager: Pick<Employee, 'name' | 'position' | 'team'> | null;
|
|
16
12
|
};
|
|
17
13
|
export declare const mockEmployees: Employee[];
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { getTestingUtilsDatePicker as i } from "./components/date-picker-field/test-utils.js";
|
|
2
|
-
import {
|
|
2
|
+
import { getTestingUtilsMultiSelect as g } from "./components/multi-select-field/test-utils.js";
|
|
3
|
+
import { getTestingUtilsSelect as s } from "./components/select-field/test-utils.js";
|
|
4
|
+
import { getTestingUtilsToast as T } from "./components/toast/test-utils.js";
|
|
5
|
+
import { getTestingUtilsDialog as m } from "./components/dialog/test-utils.js";
|
|
3
6
|
export {
|
|
4
7
|
i as getTestingUtilsDatePicker,
|
|
5
|
-
|
|
8
|
+
m as getTestingUtilsDialog,
|
|
9
|
+
g as getTestingUtilsMultiSelect,
|
|
10
|
+
s as getTestingUtilsSelect,
|
|
11
|
+
T as getTestingUtilsToast
|
|
6
12
|
};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strategy for detecting scrollable content
|
|
3
|
+
*/
|
|
4
|
+
export type ScrollDetectionStrategy = 'size' | 'style' | 'both';
|
|
5
|
+
/**
|
|
6
|
+
* Detailed detection results for both size and style methods
|
|
7
|
+
*/
|
|
8
|
+
export interface DetectionMethod {
|
|
9
|
+
size: {
|
|
10
|
+
vertical: boolean;
|
|
11
|
+
horizontal: boolean;
|
|
12
|
+
};
|
|
13
|
+
style: {
|
|
14
|
+
vertical: boolean;
|
|
15
|
+
horizontal: boolean;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Result of scroll detection
|
|
20
|
+
*/
|
|
21
|
+
export interface ScrollDetectionResult {
|
|
22
|
+
hasVerticalScroll: boolean;
|
|
23
|
+
hasHorizontalScroll: boolean;
|
|
24
|
+
hasAnyScroll: boolean;
|
|
25
|
+
detectionMethod: DetectionMethod;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Detects if an element has scrollable content using the specified strategy.
|
|
29
|
+
* This is a pure function with no side effects, making it easy to test
|
|
30
|
+
* and reuse in different contexts (React hooks, vanilla JS, etc.)
|
|
31
|
+
* @param {HTMLElement} element - DOM element to check
|
|
32
|
+
* @param {ScrollDetectionStrategy} strategy - Detection strategy to use
|
|
33
|
+
* @returns {ScrollDetectionResult} Detailed scroll detection result
|
|
34
|
+
* @example
|
|
35
|
+
* ```ts
|
|
36
|
+
* const element = document.getElementById('container');
|
|
37
|
+
* const result = detectScroll(element, 'size');
|
|
38
|
+
* if (result.hasVerticalScroll) {
|
|
39
|
+
* console.log('Element has vertical scroll');
|
|
40
|
+
* }
|
|
41
|
+
* ```
|
|
42
|
+
* @example
|
|
43
|
+
* ```ts
|
|
44
|
+
* // Check both strategies for debugging
|
|
45
|
+
* const result = detectScroll(element, 'both');
|
|
46
|
+
* console.log('Size detection:', result.detectionMethod.size);
|
|
47
|
+
* console.log('Style detection:', result.detectionMethod.style);
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare function detectScroll(element: HTMLElement, strategy?: ScrollDetectionStrategy): ScrollDetectionResult;
|
|
51
|
+
/**
|
|
52
|
+
* Simplified helper to check if element has any scrollable content
|
|
53
|
+
* @param {HTMLElement} element - DOM element to check
|
|
54
|
+
* @param {ScrollDetectionStrategy} strategy - Detection strategy to use
|
|
55
|
+
* @returns {boolean} True if element has any scrollable content
|
|
56
|
+
* @example
|
|
57
|
+
* ```ts
|
|
58
|
+
* if (hasScroll(document.getElementById('container'))) {
|
|
59
|
+
* console.log('Has scroll');
|
|
60
|
+
* }
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare function hasScroll(element: HTMLElement, strategy?: ScrollDetectionStrategy): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Check if element has vertical scrollable content
|
|
66
|
+
* @param {HTMLElement} element - DOM element to check
|
|
67
|
+
* @param {ScrollDetectionStrategy} strategy - Detection strategy to use
|
|
68
|
+
* @returns {boolean} True if element has vertical scrollable content
|
|
69
|
+
*/
|
|
70
|
+
export declare function hasVerticalScroll(element: HTMLElement, strategy?: ScrollDetectionStrategy): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Check if element has horizontal scrollable content
|
|
73
|
+
* @param {HTMLElement} element - DOM element to check
|
|
74
|
+
* @param {ScrollDetectionStrategy} strategy - Detection strategy to use
|
|
75
|
+
* @returns {boolean} True if element has horizontal scrollable content
|
|
76
|
+
*/
|
|
77
|
+
export declare function hasHorizontalScroll(element: HTMLElement, strategy?: ScrollDetectionStrategy): boolean;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
function S(o, z = "size") {
|
|
2
|
+
const r = o.scrollHeight > o.clientHeight, e = o.scrollWidth > o.clientWidth, s = window.getComputedStyle(o), h = s.overflowY, n = s.overflowX, c = s.overflow, a = h === "scroll" || h === "auto" || c === "scroll" || c === "auto", i = n === "scroll" || n === "auto" || c === "scroll" || c === "auto";
|
|
3
|
+
let t, l;
|
|
4
|
+
switch (z) {
|
|
5
|
+
case "size":
|
|
6
|
+
t = r, l = e;
|
|
7
|
+
break;
|
|
8
|
+
case "style":
|
|
9
|
+
t = a, l = i;
|
|
10
|
+
break;
|
|
11
|
+
case "both":
|
|
12
|
+
t = r && a, l = e && i;
|
|
13
|
+
break;
|
|
14
|
+
}
|
|
15
|
+
return {
|
|
16
|
+
hasVerticalScroll: t,
|
|
17
|
+
hasHorizontalScroll: l,
|
|
18
|
+
hasAnyScroll: t || l,
|
|
19
|
+
detectionMethod: {
|
|
20
|
+
size: {
|
|
21
|
+
vertical: r,
|
|
22
|
+
horizontal: e
|
|
23
|
+
},
|
|
24
|
+
style: {
|
|
25
|
+
vertical: a,
|
|
26
|
+
horizontal: i
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
S as detectScroll
|
|
33
|
+
};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spacing token utilities for Unity components.
|
|
3
|
+
* Internal utilities for processing spacing tokens for use with tailwind-variants.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Unity spacing token with dollar sign prefix.
|
|
7
|
+
* Matches the Unity themes spacing scale.
|
|
8
|
+
*/
|
|
9
|
+
export type SpacingToken = '$0' | '$25' | '$50' | '$75' | '$100' | '$125' | '$150' | '$200' | '$250' | '$300' | '$400' | '$500' | '$600' | '$800' | '$1000';
|
|
10
|
+
/**
|
|
11
|
+
* Individual padding configuration for each side.
|
|
12
|
+
* All properties are optional, allowing partial specification.
|
|
13
|
+
*/
|
|
14
|
+
export type PaddingObject = {
|
|
15
|
+
top?: SpacingToken;
|
|
16
|
+
right?: SpacingToken;
|
|
17
|
+
bottom?: SpacingToken;
|
|
18
|
+
left?: SpacingToken;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Processed padding variants ready for tailwind-variants.
|
|
22
|
+
* Used to pass values to the tv() function.
|
|
23
|
+
*/
|
|
24
|
+
export type PaddingVariants = {
|
|
25
|
+
padding?: SpacingToken;
|
|
26
|
+
paddingBlock?: SpacingToken;
|
|
27
|
+
paddingInline?: SpacingToken;
|
|
28
|
+
paddingTop?: SpacingToken;
|
|
29
|
+
paddingRight?: SpacingToken;
|
|
30
|
+
paddingBottom?: SpacingToken;
|
|
31
|
+
paddingLeft?: SpacingToken;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Processes padding props to determine which variant values to apply.
|
|
35
|
+
* Handles three input types:
|
|
36
|
+
* 1. Simple token string - applies to all sides
|
|
37
|
+
* 2. Block/Inline tokens - applies to vertical/horizontal directions
|
|
38
|
+
* 3. Object with individual sides - applies to specific sides
|
|
39
|
+
*
|
|
40
|
+
* Priority order (highest to lowest):
|
|
41
|
+
* - Individual padding properties (top, right, bottom, left)
|
|
42
|
+
* - paddingBlock and paddingInline
|
|
43
|
+
* - padding (all sides)
|
|
44
|
+
* @param padding - Padding for all directions or object with individual sides
|
|
45
|
+
* @param paddingBlock - Padding for block direction (top & bottom)
|
|
46
|
+
* @param paddingInline - Padding for inline direction (left & right)
|
|
47
|
+
* @returns Padding variant values for use with tv() function
|
|
48
|
+
* @example
|
|
49
|
+
* ```ts
|
|
50
|
+
* // All sides
|
|
51
|
+
* processPaddingProp('$200')
|
|
52
|
+
* // { padding: '$200' }
|
|
53
|
+
*
|
|
54
|
+
* // Block/Inline
|
|
55
|
+
* processPaddingProp(undefined, '$300', '$200')
|
|
56
|
+
* // { paddingBlock: '$300', paddingInline: '$200' }
|
|
57
|
+
*
|
|
58
|
+
* // Individual sides
|
|
59
|
+
* processPaddingProp({ top: '$300', right: '$200', bottom: '$300', left: '$200' })
|
|
60
|
+
* // { paddingTop: '$300', paddingRight: '$200', paddingBottom: '$300', paddingLeft: '$200' }
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare function processPaddingProp(padding?: SpacingToken | PaddingObject, paddingBlock?: SpacingToken, paddingInline?: SpacingToken): PaddingVariants;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
function r(t, o, e) {
|
|
2
|
+
return typeof t == "object" && t !== null ? {
|
|
3
|
+
paddingTop: t.top,
|
|
4
|
+
paddingRight: t.right,
|
|
5
|
+
paddingBottom: t.bottom,
|
|
6
|
+
paddingLeft: t.left
|
|
7
|
+
} : {
|
|
8
|
+
padding: t,
|
|
9
|
+
paddingBlock: o,
|
|
10
|
+
paddingInline: e
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
r as processPaddingProp
|
|
15
|
+
};
|