@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,12 +1,12 @@
|
|
|
1
1
|
import { jsx as a } from "react/jsx-runtime";
|
|
2
|
-
import * as
|
|
3
|
-
import { uyTv as
|
|
4
|
-
import * as
|
|
5
|
-
import { useAvatarContext as
|
|
6
|
-
import { avatarBase as
|
|
7
|
-
import { getInitials as
|
|
8
|
-
const
|
|
9
|
-
extend:
|
|
2
|
+
import * as m from "react";
|
|
3
|
+
import { uyTv as n, uyMerge as b } from "@payfit/unity-themes";
|
|
4
|
+
import * as e from "@radix-ui/react-avatar";
|
|
5
|
+
import { useAvatarContext as f } from "../Avatar.context.js";
|
|
6
|
+
import { avatarBase as s } from "../Avatar.variants.js";
|
|
7
|
+
import { getInitials as h } from "../utils.js";
|
|
8
|
+
const v = n({
|
|
9
|
+
extend: s,
|
|
10
10
|
slots: {
|
|
11
11
|
base: "uy:absolute uy:overflow-hidden",
|
|
12
12
|
background: "",
|
|
@@ -28,9 +28,9 @@ const h = t({
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
}), w =
|
|
32
|
-
extend:
|
|
33
|
-
base: "uy:absolute uy:flex uy:h-full uy:w-full uy:items-center uy:justify-center uy:text-content-neutral uy:bg-surface-neutral-
|
|
31
|
+
}), w = n({
|
|
32
|
+
extend: s,
|
|
33
|
+
base: "uy:absolute uy:flex uy:h-full uy:w-full uy:items-center uy:justify-center uy:text-content-neutral uy:bg-surface-neutral-lowest",
|
|
34
34
|
variants: {
|
|
35
35
|
size: {
|
|
36
36
|
xs: "uy:typography-body-small-strong",
|
|
@@ -40,47 +40,46 @@ const h = t({
|
|
|
40
40
|
xl: "uy:typography-h2"
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
-
}), x =
|
|
44
|
-
const c =
|
|
43
|
+
}), x = m.forwardRef(({ variant: u, color: i, children: y, ...r }, o) => {
|
|
44
|
+
const c = f(), { size: t, variant: l } = c;
|
|
45
45
|
if (u === "placeholder") {
|
|
46
|
-
const { base: d, background: g, foreground:
|
|
47
|
-
color:
|
|
48
|
-
size:
|
|
49
|
-
variant:
|
|
46
|
+
const { base: d, background: g, foreground: p } = v({
|
|
47
|
+
color: i,
|
|
48
|
+
size: t,
|
|
49
|
+
variant: l
|
|
50
50
|
});
|
|
51
|
-
return /* @__PURE__ */ a(
|
|
51
|
+
return /* @__PURE__ */ a(e.Fallback, { ref: o, role: "presentation", ...r, children: /* @__PURE__ */ a(
|
|
52
52
|
"svg",
|
|
53
53
|
{
|
|
54
54
|
role: "img",
|
|
55
55
|
"aria-hidden": !0,
|
|
56
56
|
xmlns: "http://www.w3.org/2000/svg",
|
|
57
57
|
viewBox: "0 0 16 16",
|
|
58
|
-
className:
|
|
59
|
-
...r,
|
|
58
|
+
className: b(d(), g()),
|
|
60
59
|
children: /* @__PURE__ */ a(
|
|
61
60
|
"path",
|
|
62
61
|
{
|
|
63
|
-
className:
|
|
62
|
+
className: p(),
|
|
64
63
|
fillRule: "evenodd",
|
|
65
64
|
d: "M0 8.322c.245.06.49.117.732.17 2.113.455 3.727.487 4.79.12.478-.166.824-.405 1.09-.732.276-.336.567-.888.737-1.82.4-2.19.02-3.485-.47-4.283C6.407 1.012 5.665.432 4.732 0h6.861c.904 1.906 1.173 4.227.674 6.959-.29 1.587-.871 2.97-1.784 4.086-.921 1.126-2.08 1.86-3.328 2.292-2.283.789-4.872.574-7.156.11V8.322Z",
|
|
66
65
|
clipRule: "evenodd"
|
|
67
66
|
}
|
|
68
67
|
)
|
|
69
68
|
}
|
|
70
|
-
);
|
|
69
|
+
) });
|
|
71
70
|
}
|
|
72
71
|
return /* @__PURE__ */ a(
|
|
73
|
-
|
|
72
|
+
e.Fallback,
|
|
74
73
|
{
|
|
75
|
-
ref:
|
|
74
|
+
ref: o,
|
|
76
75
|
role: "presentation",
|
|
77
|
-
className: w({ size:
|
|
76
|
+
className: w({ size: t, variant: l }),
|
|
78
77
|
...r,
|
|
79
|
-
children:
|
|
78
|
+
children: h(y)
|
|
80
79
|
}
|
|
81
80
|
);
|
|
82
81
|
});
|
|
83
|
-
x.displayName =
|
|
82
|
+
x.displayName = e.Fallback.displayName;
|
|
84
83
|
export {
|
|
85
84
|
x as AvatarFallback
|
|
86
85
|
};
|
|
@@ -9,7 +9,7 @@ const g = y({
|
|
|
9
9
|
success: "uy:bg-surface-success-low uy:text-content-success-high",
|
|
10
10
|
warning: "uy:bg-surface-warning-low uy:text-content-warning-high",
|
|
11
11
|
danger: "uy:bg-surface-danger-low uy:text-content-danger-high",
|
|
12
|
-
neutral: "uy:bg-surface-neutral-
|
|
12
|
+
neutral: "uy:bg-surface-neutral-lowest uy:text-content-neutral",
|
|
13
13
|
promo: "uy:bg-surface-promo-low uy:text-content-promo-high",
|
|
14
14
|
attention: "uy:bg-surface-danger uy:text-content-inverted",
|
|
15
15
|
numeric: "uy:bg-surface-info-low uy:text-content-info-high",
|
|
@@ -2,7 +2,7 @@ import { uyTv as a } from "@payfit/unity-themes";
|
|
|
2
2
|
const r = a({
|
|
3
3
|
slots: {
|
|
4
4
|
base: "uy:flex uy:gap-50 uy:list-none uy:text-content-neutral-enabled uy:typography-action",
|
|
5
|
-
breadcrumb: "uy:flex uy:gap-50 uy:sm:leading-[1.75] uy:
|
|
5
|
+
breadcrumb: "uy:flex uy:gap-50 uy:sm:leading-[1.75] uy:items-center"
|
|
6
6
|
},
|
|
7
7
|
variants: {
|
|
8
8
|
wrap: {
|
|
@@ -10,14 +10,14 @@ const I = (e, n) => e ? /* @__PURE__ */ m(B, { size: "small", color: "inherit",
|
|
|
10
10
|
variant: e,
|
|
11
11
|
children: n,
|
|
12
12
|
color: o = "primary",
|
|
13
|
-
size:
|
|
13
|
+
size: c = "default",
|
|
14
14
|
isDisabled: a = !1,
|
|
15
15
|
isLoading: t = !1,
|
|
16
|
-
prefixIcon:
|
|
16
|
+
prefixIcon: u = void 0,
|
|
17
17
|
...i
|
|
18
18
|
}, p) => {
|
|
19
19
|
const f = x(() => {
|
|
20
|
-
const s = { size:
|
|
20
|
+
const s = { size: c, isDisabled: a, isLoading: t };
|
|
21
21
|
switch (e) {
|
|
22
22
|
case "primary": {
|
|
23
23
|
const r = {
|
|
@@ -41,7 +41,7 @@ const I = (e, n) => e ? /* @__PURE__ */ m(B, { size: "small", color: "inherit",
|
|
|
41
41
|
return l(w(r));
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
-
}, [e, o,
|
|
44
|
+
}, [e, o, c, a, t]), d = {
|
|
45
45
|
...t && { "data-loading": t }
|
|
46
46
|
};
|
|
47
47
|
return /* @__PURE__ */ m(
|
|
@@ -53,8 +53,8 @@ const I = (e, n) => e ? /* @__PURE__ */ m(B, { size: "small", color: "inherit",
|
|
|
53
53
|
isDisabled: a || t,
|
|
54
54
|
className: f,
|
|
55
55
|
...d,
|
|
56
|
-
children: /* @__PURE__ */ y("span", { className: "uy:inline-flex uy:gap-50 uy:
|
|
57
|
-
I(t,
|
|
56
|
+
children: /* @__PURE__ */ y("span", { className: "uy:inline-flex uy:gap-50 uy:items-center", children: [
|
|
57
|
+
I(t, u),
|
|
58
58
|
n
|
|
59
59
|
] })
|
|
60
60
|
}
|
|
@@ -2,8 +2,8 @@ import { uyTv as e } from "@payfit/unity-themes";
|
|
|
2
2
|
const t = e({
|
|
3
3
|
base: [
|
|
4
4
|
"uy:group",
|
|
5
|
-
"uy:cursor-pointer uy:rounded-75 uy:px-200 uy:h-500 uy:inline-flex uy:items-center uy:justify-center uy:whitespace-nowrap uy:typography-action uy:transition-colors",
|
|
6
|
-
"uy:focus-visible:outline-2 uy:focus-visible:outline-solid uy:focus-visible:outline-offset-2 uy:focus-visible:outline-utility-focus-ring"
|
|
5
|
+
"uy:cursor-pointer uy:rounded-100 uy:sm:rounded-75 uy:px-200 uy:py-125 uy:sm:py-100 uy:sm:h-500 uy:inline-flex uy:items-center uy:justify-center uy:whitespace-nowrap uy:typography-action uy:transition-colors",
|
|
6
|
+
"uy:data-[focus-visible]:outline-2 uy:data-[focus-visible]:outline-solid uy:data-[focus-visible]:outline-offset-2 uy:data-[focus-visible]:outline-utility-focus-ring"
|
|
7
7
|
],
|
|
8
8
|
variants: {
|
|
9
9
|
isDisabled: {
|
|
@@ -30,28 +30,28 @@ const t = e({
|
|
|
30
30
|
color: {
|
|
31
31
|
primary: [
|
|
32
32
|
"uy:bg-surface-primary-enabled uy:text-content-inverted-enabled",
|
|
33
|
-
|
|
33
|
+
'uy:data-[hovered="true"]:bg-surface-primary-hover uy:data-[hovered="true"]:text-content-inverted-hover',
|
|
34
34
|
"uy:active:bg-surface-primary-active uy:active:text-content-inverted-hover",
|
|
35
35
|
"uy:data-[pressed]:bg-surface-primary-pressed uy:data-[pressed]:text-content-inverted-pressed"
|
|
36
36
|
],
|
|
37
37
|
warning: [
|
|
38
38
|
"uy:bg-surface-warning-enabled uy:text-content-neutral-enabled",
|
|
39
|
-
|
|
39
|
+
'uy:data-[hovered="true"]:bg-surface-warning-hover uy:data-[hovered="true"]:text-content-neutral-hover',
|
|
40
40
|
"uy:active:bg-surface-warning-active uy:active:text-content-neutral-active",
|
|
41
41
|
"uy:data-[pressed]:bg-surface-warning-pressed uy:data-[pressed]:text-content-neutral-pressed"
|
|
42
42
|
],
|
|
43
43
|
danger: [
|
|
44
44
|
"uy:bg-surface-danger-enabled uy:text-content-inverted-enabled",
|
|
45
|
-
|
|
45
|
+
'uy:data-[hovered="true"]:bg-surface-danger-hover uy:data-[hovered="true"]:text-content-inverted-hover',
|
|
46
46
|
"uy:active:bg-surface-danger-active uy:active:text-content-inverted",
|
|
47
47
|
"uy:data-[pressed]:bg-surface-danger-pressed uy:data-[pressed]:text-content-inverted"
|
|
48
48
|
],
|
|
49
49
|
inverted: [
|
|
50
50
|
"uy:bg-surface-neutral-enabled uy:text-content-neutral-enabled",
|
|
51
|
-
|
|
51
|
+
'uy:data-[hovered="true"]:bg-surface-neutral-hover uy:data-[hovered="true"]:text-content-neutral-hover',
|
|
52
52
|
"uy:active:bg-surface-neutral-active uy:active:text-content-neutral-active",
|
|
53
53
|
"uy:data-[pressed]:bg-surface-neutral-active uy:data-[pressed]:text-content-neutral-pressed",
|
|
54
|
-
"uy:focus-visible:outline-utility-inverted-focus-ring uy:focus-visible:text-content-neutral-focus uy:focus-visible:bg-surface-neutral-focus"
|
|
54
|
+
"uy:data-[focus-visible]:outline-utility-inverted-focus-ring uy:data-[focus-visible]:text-content-neutral-focus uy:data-[focus-visible]:bg-surface-neutral-focus"
|
|
55
55
|
]
|
|
56
56
|
},
|
|
57
57
|
isDisabled: {
|
|
@@ -70,14 +70,14 @@ const t = e({
|
|
|
70
70
|
color: {
|
|
71
71
|
primary: [
|
|
72
72
|
"uy:bg-transparent uy:text-content-neutral-enabled uy:border-border-neutral-high-enabled",
|
|
73
|
-
|
|
73
|
+
'uy:data-[hovered="true"]:text-content-neutral-hover uy:data-[hovered="true"]:border-border-neutral-high-hover',
|
|
74
74
|
"uy:active:text-content-neutral-active uy:active:border-border-neutral-high-pressed",
|
|
75
75
|
"uy:data-[pressed]:text-content-neutral-pressed uy:data-[pressed]:border-border-neutral-high-pressed",
|
|
76
|
-
"uy:focus-visible:border-border-neutral-high-focus uy:focus-visible:text-content-neutral-focus"
|
|
76
|
+
"uy:data-[focus-visible]:border-border-neutral-high-focus uy:data-[focus-visible]:text-content-neutral-focus"
|
|
77
77
|
],
|
|
78
78
|
inverted: [
|
|
79
79
|
"uy:bg-transparent uy:text-content-inverted uy:border-border-inverted-enabled",
|
|
80
|
-
"uy:focus-visible:outline-utility-inverted-focus-ring"
|
|
80
|
+
"uy:data-[focus-visible]:outline-utility-inverted-focus-ring"
|
|
81
81
|
]
|
|
82
82
|
},
|
|
83
83
|
isDisabled: {
|
|
@@ -97,35 +97,42 @@ const t = e({
|
|
|
97
97
|
"uy:enabled:hover:bg-surface-primary-lowest-hover uy:enabled:hover:text-content-primary-hover",
|
|
98
98
|
"uy:enabled:active:bg-surface-primary-lowest-active uy:enabled:active:text-content-primary-active",
|
|
99
99
|
"uy:enabled:data-[pressed=true]:bg-surface-primary-lowest-pressed uy:enabled:data-[pressed=true]:text-content-primary-pressed",
|
|
100
|
-
"uy:focus-visible:bg-transparent"
|
|
100
|
+
"uy:data-[focus-visible]:bg-transparent"
|
|
101
101
|
],
|
|
102
102
|
warning: [
|
|
103
103
|
"uy:bg-transparent uy:text-content-warning-enabled",
|
|
104
104
|
"uy:enabled:hover:bg-surface-warning-lowest-hover uy:enabled:hover:text-content-warning-hover",
|
|
105
105
|
"uy:enabled:active:bg-surface-warning-lowest-active uy:enabled:active:text-content-warning-active",
|
|
106
106
|
"uy:enabled:data-[pressed=true]:bg-surface-warning-lowest-pressed uy:enabled:data-[pressed=true]:text-content-warning-pressed",
|
|
107
|
-
"uy:focus-visible:bg-transparent"
|
|
107
|
+
"uy:data-[focus-visible]:bg-transparent"
|
|
108
108
|
],
|
|
109
109
|
danger: [
|
|
110
110
|
"uy:bg-transparent uy:text-content-danger-enabled",
|
|
111
111
|
"uy:enabled:hover:bg-surface-danger-lowest-hover uy:enabled:hover:text-content-danger-hover",
|
|
112
112
|
"uy:enabled:active:bg-surface-danger-lowest-active uy:enabled:active:text-content-danger-active",
|
|
113
113
|
"uy:enabled:data-[pressed=true]:bg-surface-danger-lowest-pressed uy:enabled:data-[pressed=true]:text-content-danger-pressed",
|
|
114
|
-
"uy:focus-visible:bg-transparent"
|
|
114
|
+
"uy:data-[focus-visible]:bg-transparent"
|
|
115
115
|
],
|
|
116
116
|
neutral: [
|
|
117
117
|
"uy:bg-transparent uy:text-content-neutral-enabled",
|
|
118
118
|
"uy:enabled:hover:bg-surface-neutral-hover uy:enabled:hover:text-content-neutral-hover",
|
|
119
119
|
"uy:enabled:active:bg-surface-neutral-active uy:enabled:active:text-content-neutral-active",
|
|
120
120
|
"uy:enabled:data-[pressed=true]:bg-surface-neutral-pressed uy:enabled:data-[pressed=true]:text-content-neutral-pressed",
|
|
121
|
-
"uy:focus-visible:bg-transparent"
|
|
121
|
+
"uy:data-[focus-visible]:bg-transparent"
|
|
122
|
+
],
|
|
123
|
+
"neutral.lowest": [
|
|
124
|
+
"uy:bg-transparent uy:text-content-neutral-enabled",
|
|
125
|
+
"uy:enabled:hover:bg-surface-neutral-lowest-hover uy:enabled:hover:text-content-neutral-hover",
|
|
126
|
+
"uy:enabled:active:bg-surface-neutral-lowest-active uy:enabled:active:text-content-neutral-active",
|
|
127
|
+
"uy:enabled:data-[pressed=true]:bg-surface-neutral-lowest-pressed uy:enabled:data-[pressed=true]:text-content-neutral-pressed",
|
|
128
|
+
"uy:data-[focus-visible]:bg-transparent"
|
|
122
129
|
],
|
|
123
130
|
inverted: [
|
|
124
131
|
"uy:bg-transparent uy:text-content-inverted-enabled",
|
|
125
132
|
"uy:enabled:hover:bg-surface-inverted-hover uy:enabled:hover:text-content-inverted-hover",
|
|
126
133
|
"uy:enabled:active:bg-surface-inverted-active uy:enabled:active:text-content-inverted-active",
|
|
127
134
|
"uy:enabled:data-[pressed=true]:bg-surface-inverted-pressed uy:enabled:data-[pressed=true]:text-content-inverted-pressed",
|
|
128
|
-
"uy:focus-visible:outline-utility-inverted-focus-ring uy:focus-visible:bg-transparent"
|
|
135
|
+
"uy:data-[focus-visible]:outline-utility-inverted-focus-ring uy:data-[focus-visible]:bg-transparent"
|
|
129
136
|
]
|
|
130
137
|
},
|
|
131
138
|
isDisabled: {
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createContext as o, useContext as n } from "react";
|
|
2
|
+
const e = o(null);
|
|
3
|
+
function c() {
|
|
4
|
+
const t = n(e);
|
|
5
|
+
if (!t)
|
|
6
|
+
throw new Error(
|
|
7
|
+
"Card compound components must be used within a Card component"
|
|
8
|
+
);
|
|
9
|
+
return t;
|
|
10
|
+
}
|
|
11
|
+
export {
|
|
12
|
+
e as CardContext,
|
|
13
|
+
c as useCardContext
|
|
14
|
+
};
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import { VariantProps } from '@payfit/unity-themes';
|
|
2
|
+
import { ComponentProps, PropsWithChildren } from 'react';
|
|
3
|
+
export declare const card: import('tailwind-variants').TVReturnType<{
|
|
4
|
+
shadow: {
|
|
5
|
+
none: {
|
|
6
|
+
base: string;
|
|
7
|
+
};
|
|
8
|
+
raising: {
|
|
9
|
+
base: string;
|
|
10
|
+
};
|
|
11
|
+
flying: {
|
|
12
|
+
base: string;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
bgColor: {
|
|
16
|
+
'surface.neutral': {
|
|
17
|
+
base: string;
|
|
18
|
+
};
|
|
19
|
+
'surface.neutral.low': {
|
|
20
|
+
base: string;
|
|
21
|
+
};
|
|
22
|
+
'surface.neutral.lowest': {
|
|
23
|
+
base: string;
|
|
24
|
+
};
|
|
25
|
+
'surface.decorative-teal.lowest': {
|
|
26
|
+
base: string;
|
|
27
|
+
};
|
|
28
|
+
'surface.decorative-purple.lowest': {
|
|
29
|
+
base: string;
|
|
30
|
+
};
|
|
31
|
+
'surface.decorative-plum.lowest': {
|
|
32
|
+
base: string;
|
|
33
|
+
};
|
|
34
|
+
'surface.decorative-orange.lowest': {
|
|
35
|
+
base: string;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
}, {
|
|
39
|
+
base: string[];
|
|
40
|
+
}, undefined, {
|
|
41
|
+
shadow: {
|
|
42
|
+
none: {
|
|
43
|
+
base: string;
|
|
44
|
+
};
|
|
45
|
+
raising: {
|
|
46
|
+
base: string;
|
|
47
|
+
};
|
|
48
|
+
flying: {
|
|
49
|
+
base: string;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
bgColor: {
|
|
53
|
+
'surface.neutral': {
|
|
54
|
+
base: string;
|
|
55
|
+
};
|
|
56
|
+
'surface.neutral.low': {
|
|
57
|
+
base: string;
|
|
58
|
+
};
|
|
59
|
+
'surface.neutral.lowest': {
|
|
60
|
+
base: string;
|
|
61
|
+
};
|
|
62
|
+
'surface.decorative-teal.lowest': {
|
|
63
|
+
base: string;
|
|
64
|
+
};
|
|
65
|
+
'surface.decorative-purple.lowest': {
|
|
66
|
+
base: string;
|
|
67
|
+
};
|
|
68
|
+
'surface.decorative-plum.lowest': {
|
|
69
|
+
base: string;
|
|
70
|
+
};
|
|
71
|
+
'surface.decorative-orange.lowest': {
|
|
72
|
+
base: string;
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
}, {
|
|
76
|
+
base: string[];
|
|
77
|
+
}, import('tailwind-variants').TVReturnType<{
|
|
78
|
+
shadow: {
|
|
79
|
+
none: {
|
|
80
|
+
base: string;
|
|
81
|
+
};
|
|
82
|
+
raising: {
|
|
83
|
+
base: string;
|
|
84
|
+
};
|
|
85
|
+
flying: {
|
|
86
|
+
base: string;
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
bgColor: {
|
|
90
|
+
'surface.neutral': {
|
|
91
|
+
base: string;
|
|
92
|
+
};
|
|
93
|
+
'surface.neutral.low': {
|
|
94
|
+
base: string;
|
|
95
|
+
};
|
|
96
|
+
'surface.neutral.lowest': {
|
|
97
|
+
base: string;
|
|
98
|
+
};
|
|
99
|
+
'surface.decorative-teal.lowest': {
|
|
100
|
+
base: string;
|
|
101
|
+
};
|
|
102
|
+
'surface.decorative-purple.lowest': {
|
|
103
|
+
base: string;
|
|
104
|
+
};
|
|
105
|
+
'surface.decorative-plum.lowest': {
|
|
106
|
+
base: string;
|
|
107
|
+
};
|
|
108
|
+
'surface.decorative-orange.lowest': {
|
|
109
|
+
base: string;
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
}, {
|
|
113
|
+
base: string[];
|
|
114
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
115
|
+
export interface CardProps extends PropsWithChildren<VariantProps<typeof card>>, ComponentProps<'section'> {
|
|
116
|
+
/**
|
|
117
|
+
* The background color of the card.
|
|
118
|
+
* @default 'surface.neutral'
|
|
119
|
+
*/
|
|
120
|
+
bgColor?: VariantProps<typeof card>['bgColor'];
|
|
121
|
+
/**
|
|
122
|
+
* The shadow of the card.
|
|
123
|
+
* @default 'none'
|
|
124
|
+
*/
|
|
125
|
+
shadow?: VariantProps<typeof card>['shadow'];
|
|
126
|
+
/**
|
|
127
|
+
* The aria-label of the card. This is required if the Card does not contain a CardTitle.
|
|
128
|
+
* @example
|
|
129
|
+
* ```tsx
|
|
130
|
+
* <Card aria-label="User statistics">
|
|
131
|
+
* <StatWidget />
|
|
132
|
+
* </Card>
|
|
133
|
+
* ```
|
|
134
|
+
*/
|
|
135
|
+
'aria-label'?: string;
|
|
136
|
+
/**
|
|
137
|
+
* The element type of the card.
|
|
138
|
+
* @default 'section'
|
|
139
|
+
*/
|
|
140
|
+
asElement?: 'section' | 'article';
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* The `Card` component is a container that groups related content and actions. It provides consistent
|
|
144
|
+
* styling, spacing, and visual hierarchy for content sections within your application.
|
|
145
|
+
*
|
|
146
|
+
* Use Card when you need to organize related information, display content in distinct sections,
|
|
147
|
+
* or create a visual grouping for UI elements.
|
|
148
|
+
*
|
|
149
|
+
* The Card uses a compound component pattern with `CardTitle` and optionally `CardContent`:
|
|
150
|
+
* - `CardTitle`: Provides the heading for the card (required for accessibility, or use aria-label)
|
|
151
|
+
* - `CardContent`: Optional wrapper for card body content
|
|
152
|
+
*
|
|
153
|
+
* Cards must be properly labeled for accessibility. You can either:
|
|
154
|
+
* - Include a `CardTitle` component as a child, OR
|
|
155
|
+
* - Provide an `aria-label` prop if the card doesn't need a visible title
|
|
156
|
+
* @param {CardProps} props - The props for the `Card` component
|
|
157
|
+
* @example
|
|
158
|
+
* ```tsx
|
|
159
|
+
* import { Card, CardTitle, CardContent } from '@payfit/unity-components'
|
|
160
|
+
*
|
|
161
|
+
* function Example() {
|
|
162
|
+
* return (
|
|
163
|
+
* <Card>
|
|
164
|
+
* <CardTitle>Employee Information</CardTitle>
|
|
165
|
+
* <CardContent>
|
|
166
|
+
* <p>Content goes here</p>
|
|
167
|
+
* </CardContent>
|
|
168
|
+
* </Card>
|
|
169
|
+
* )
|
|
170
|
+
* }
|
|
171
|
+
* ```
|
|
172
|
+
* @example
|
|
173
|
+
* ```tsx
|
|
174
|
+
* // Card with title after an image
|
|
175
|
+
* import { Card, CardTitle } from '@payfit/unity-components'
|
|
176
|
+
*
|
|
177
|
+
* function Example() {
|
|
178
|
+
* return (
|
|
179
|
+
* <Card>
|
|
180
|
+
* <img src="banner.jpg" alt="Banner" />
|
|
181
|
+
* <CardTitle>Featured Content</CardTitle>
|
|
182
|
+
* <p>Content goes here</p>
|
|
183
|
+
* </Card>
|
|
184
|
+
* )
|
|
185
|
+
* }
|
|
186
|
+
* ```
|
|
187
|
+
* @example
|
|
188
|
+
* ```tsx
|
|
189
|
+
* // Card without visible title (using aria-label)
|
|
190
|
+
* import { Card } from '@payfit/unity-components'
|
|
191
|
+
*
|
|
192
|
+
* function Example() {
|
|
193
|
+
* return (
|
|
194
|
+
* <Card aria-label="User statistics">
|
|
195
|
+
* <StatWidget />
|
|
196
|
+
* </Card>
|
|
197
|
+
* )
|
|
198
|
+
* }
|
|
199
|
+
* ```
|
|
200
|
+
* @see {@link CardProps} for all available props
|
|
201
|
+
* @see {@link CardTitle} for title configuration options
|
|
202
|
+
* @see {@link CardContent} for content wrapper
|
|
203
|
+
* @remarks
|
|
204
|
+
* - Cards require either a CardTitle child or an aria-label for accessibility
|
|
205
|
+
* - Use shadow variants only with the default 'surface.neutral' background
|
|
206
|
+
* - CardTitle can be placed anywhere within the Card children
|
|
207
|
+
* - CardContent is optional but recommended for better structure
|
|
208
|
+
*/
|
|
209
|
+
declare const Card: import('react').ForwardRefExoticComponent<Omit<CardProps, "ref"> & import('react').RefAttributes<HTMLElement>>;
|
|
210
|
+
export { Card };
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { jsx as y } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as h, useRef as C, useState as E, useLayoutEffect as _ } from "react";
|
|
3
|
+
import { uyTv as S } from "@payfit/unity-themes";
|
|
4
|
+
import { useId as x } from "react-aria";
|
|
5
|
+
import { CardContext as N } from "./Card.context.js";
|
|
6
|
+
var T = {};
|
|
7
|
+
const V = S({
|
|
8
|
+
slots: {
|
|
9
|
+
base: ["uy:p-200 uy:sm:p-300 uy:rounded-lg uy:space-y-200"]
|
|
10
|
+
},
|
|
11
|
+
variants: {
|
|
12
|
+
shadow: {
|
|
13
|
+
none: {
|
|
14
|
+
base: "uy:shadow-none"
|
|
15
|
+
},
|
|
16
|
+
raising: {
|
|
17
|
+
base: "uy:shadow-raising"
|
|
18
|
+
},
|
|
19
|
+
flying: {
|
|
20
|
+
base: "uy:shadow-flying"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
bgColor: {
|
|
24
|
+
"surface.neutral": {
|
|
25
|
+
base: "uy:bg-surface-neutral uy:border uy:border-solid uy:border-border-neutral"
|
|
26
|
+
},
|
|
27
|
+
"surface.neutral.low": {
|
|
28
|
+
base: "uy:bg-surface-neutral-low"
|
|
29
|
+
},
|
|
30
|
+
"surface.neutral.lowest": {
|
|
31
|
+
base: "uy:bg-surface-neutral-lowest"
|
|
32
|
+
},
|
|
33
|
+
"surface.decorative-teal.lowest": {
|
|
34
|
+
base: "uy:bg-surface-decorative-teal-lowest"
|
|
35
|
+
},
|
|
36
|
+
"surface.decorative-purple.lowest": {
|
|
37
|
+
base: "uy:bg-surface-decorative-purple-lowest"
|
|
38
|
+
},
|
|
39
|
+
"surface.decorative-plum.lowest": {
|
|
40
|
+
base: "uy:bg-surface-decorative-plum-lowest"
|
|
41
|
+
},
|
|
42
|
+
"surface.decorative-orange.lowest": {
|
|
43
|
+
base: "uy:bg-surface-decorative-orange-lowest"
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
defaultVariants: {
|
|
48
|
+
shadow: "none",
|
|
49
|
+
bgColor: "surface.neutral"
|
|
50
|
+
}
|
|
51
|
+
}), I = h(
|
|
52
|
+
({ shadow: o, bgColor: s, children: l, ...a }, r) => {
|
|
53
|
+
const n = x(), u = C(null), [c, b] = E(!1), v = a.id ?? `unity-card-${n}`, d = `unity-card-${n}__title`, t = a["aria-label"];
|
|
54
|
+
_(() => {
|
|
55
|
+
const e = u.current;
|
|
56
|
+
if (!e) return;
|
|
57
|
+
const f = e.querySelector(
|
|
58
|
+
'[data-unity-slot="card.title"]'
|
|
59
|
+
);
|
|
60
|
+
b(!!f), T.NODE_ENV === "development" && !f && !t && console.warn(
|
|
61
|
+
"Card: A Card must have either a CardTitle child or an aria-label prop for accessibility."
|
|
62
|
+
);
|
|
63
|
+
}, [l, t]);
|
|
64
|
+
const i = (s ?? "surface.neutral") === "surface.neutral" && (o ?? "none") !== "none", w = i ? o : "none", { base: m } = V({
|
|
65
|
+
shadow: w,
|
|
66
|
+
bgColor: s
|
|
67
|
+
}), g = {
|
|
68
|
+
titleId: d
|
|
69
|
+
}, p = a.asElement ?? "section";
|
|
70
|
+
return /* @__PURE__ */ y(N.Provider, { value: g, children: /* @__PURE__ */ y(
|
|
71
|
+
p,
|
|
72
|
+
{
|
|
73
|
+
"data-dd-privacy": "show",
|
|
74
|
+
...a,
|
|
75
|
+
id: v,
|
|
76
|
+
ref: (e) => {
|
|
77
|
+
u.current = e, typeof r == "function" ? r(e) : r && (r.current = e);
|
|
78
|
+
},
|
|
79
|
+
className: m(),
|
|
80
|
+
"aria-labelledby": c ? d : void 0,
|
|
81
|
+
"aria-label": c ? void 0 : t,
|
|
82
|
+
"data-unity-component": "card",
|
|
83
|
+
"data-unity-variant": i ? "shadow" : void 0,
|
|
84
|
+
children: l
|
|
85
|
+
}
|
|
86
|
+
) });
|
|
87
|
+
}
|
|
88
|
+
);
|
|
89
|
+
I.displayName = "Card";
|
|
90
|
+
export {
|
|
91
|
+
I as Card,
|
|
92
|
+
V as card
|
|
93
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
2
|
+
export interface CardContentProps extends PropsWithChildren {
|
|
3
|
+
/** Additional CSS classes to apply to the content container */
|
|
4
|
+
className?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* The `CardContent` component provides a container for the main content within a Card.
|
|
8
|
+
* It ensures consistent spacing and layout for card content.
|
|
9
|
+
*
|
|
10
|
+
* Use CardContent to wrap the main body of your card content. This is optional but provides
|
|
11
|
+
* better semantic structure and consistent styling.
|
|
12
|
+
* @param {CardContentProps} props - The props for the `CardContent` component
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* import { Card, CardTitle, CardContent } from '@payfit/unity-components'
|
|
16
|
+
*
|
|
17
|
+
* function Example() {
|
|
18
|
+
* return (
|
|
19
|
+
* <Card>
|
|
20
|
+
* <CardTitle>My Card</CardTitle>
|
|
21
|
+
* <CardContent>
|
|
22
|
+
* <p>This is the main content of the card.</p>
|
|
23
|
+
* </CardContent>
|
|
24
|
+
* </Card>
|
|
25
|
+
* )
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
* @see {@link CardContentProps} for all available props
|
|
29
|
+
* @remarks
|
|
30
|
+
* - CardContent is optional but recommended for better structure
|
|
31
|
+
* - You can also place content directly in the Card without CardContent
|
|
32
|
+
*/
|
|
33
|
+
declare function CardContent({ children, className }: CardContentProps): import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
declare namespace CardContent {
|
|
35
|
+
var displayName: string;
|
|
36
|
+
}
|
|
37
|
+
export { CardContent };
|