@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,28 +1,28 @@
|
|
|
1
1
|
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import { uyTv as
|
|
4
|
-
import { Link as
|
|
2
|
+
import { forwardRef as s } from "react";
|
|
3
|
+
import { uyTv as o } from "@payfit/unity-themes";
|
|
4
|
+
import { Link as i } from "react-aria-components";
|
|
5
5
|
import { useIntl as l } from "react-intl";
|
|
6
|
-
const d =
|
|
6
|
+
const d = o({
|
|
7
7
|
base: [
|
|
8
8
|
"uy:min-w-300 uy:h-300 uy:p-25 uy:flex uy:justify-center uy:items-center uy:typography-action uy:rounded-pill uy:transition-colors",
|
|
9
9
|
"uy:enabled:text-content-neutral-enabled uy:enabled:bg-transparent uy:cursor-pointer",
|
|
10
|
-
"uy:data-[disabled]:text-content-neutral-disabled uy:data-[disabled]:bg-surface-neutral-disabled uy:data-[disabled]:cursor-not-allowed",
|
|
11
|
-
"uy:hover:text-content-neutral-hover uy:hover:bg-surface-neutral-hover",
|
|
12
|
-
"uy:active:text-content-neutral-pressed uy:active:bg-surface-neutral-pressed uy:data-[pressed]:text-content-neutral-pressed uy:data-[pressed]:bg-surface-neutral-pressed",
|
|
10
|
+
"uy:data-[disabled]:text-content-neutral-disabled uy:data-[disabled]:bg-surface-neutral-lowest-disabled uy:data-[disabled]:cursor-not-allowed",
|
|
11
|
+
"uy:hover:text-content-neutral-hover uy:hover:bg-surface-neutral-lowest-hover",
|
|
12
|
+
"uy:active:text-content-neutral-pressed uy:active:bg-surface-neutral-lowest-pressed uy:data-[pressed]:text-content-neutral-pressed uy:data-[pressed]:bg-surface-neutral-lowest-pressed",
|
|
13
13
|
"uy:focus-visible:outline-2 uy:focus-visible:outline-solid uy:focus-visible:outline-utility-focus-ring uy:focus-visible:outline-offset-2"
|
|
14
14
|
],
|
|
15
15
|
variants: {
|
|
16
16
|
isActive: {
|
|
17
|
-
true: "uy:bg-surface-neutral-
|
|
17
|
+
true: "uy:bg-surface-neutral-lowest-selected",
|
|
18
18
|
false: ""
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
}), y =
|
|
21
|
+
}), y = s(
|
|
22
22
|
({ isActive: e, isDisabled: a, ...t }, n) => {
|
|
23
23
|
const u = l();
|
|
24
24
|
return /* @__PURE__ */ r(
|
|
25
|
-
|
|
25
|
+
i,
|
|
26
26
|
{
|
|
27
27
|
ref: n,
|
|
28
28
|
className: d({ isActive: e }),
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { jsx as a } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import { DisclosurePanel as
|
|
4
|
-
const l =
|
|
2
|
+
import { forwardRef as e } from "react";
|
|
3
|
+
import { DisclosurePanel as t } from "react-aria-components";
|
|
4
|
+
const l = e(
|
|
5
5
|
({ children: i, ...o }, r) => /* @__PURE__ */ a(
|
|
6
|
-
|
|
6
|
+
t,
|
|
7
7
|
{
|
|
8
8
|
ref: r,
|
|
9
9
|
"data-dd-privacy": "allow",
|
|
10
10
|
...o,
|
|
11
|
-
className: "uy:transition-all uy:transition-discrete uy:duration-200 uy:origin-top
|
|
11
|
+
className: "uy:transition-all uy:transition-discrete uy:duration-200 uy:origin-top uy:aria-hidden:opacity-0 uy:aria-hidden:scale-y-0 uy:overflow-hidden uy:aria-hidden:max-h-0",
|
|
12
12
|
children: /* @__PURE__ */ a("div", { className: "uy:ml-400 uy:typography-body", children: i })
|
|
13
13
|
}
|
|
14
14
|
)
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { jsx as t, jsxs as y } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef as d, useContext as
|
|
3
|
-
import { uyTv as
|
|
2
|
+
import { forwardRef as d, useContext as p } from "react";
|
|
3
|
+
import { uyTv as m } from "@payfit/unity-themes";
|
|
4
4
|
import { DisclosureStateContext as f, Heading as x, Button as b } from "react-aria-components";
|
|
5
5
|
import { Icon as v } from "../../icon/Icon.js";
|
|
6
6
|
import { Text as o } from "../../text/Text.js";
|
|
7
|
-
const g =
|
|
7
|
+
const g = m({
|
|
8
8
|
slots: {
|
|
9
9
|
base: "uy:w-full",
|
|
10
10
|
button: [
|
|
11
|
-
"uy:flex uy:gap-50 uy:pb-100 uy:pt-100 uy:w-full uy:hover:text-content-neutral-hover uy:focus-visible:outline-none"
|
|
11
|
+
"uy:flex uy:gap-50 uy:pb-100 uy:pt-100 uy:w-full uy:cursor-pointer uy:hover:text-content-neutral-hover uy:focus-visible:outline-none"
|
|
12
12
|
],
|
|
13
13
|
title: "uy:flex uy:grow uy:text-left uy:items-center",
|
|
14
14
|
icon: "uy:mr-100 uy:transition-transform uy:duration-150 uy:ease-linear uy:origin-center"
|
|
@@ -27,11 +27,11 @@ const g = p({
|
|
|
27
27
|
isExpanded: !1
|
|
28
28
|
}
|
|
29
29
|
}), w = d(
|
|
30
|
-
({ children:
|
|
31
|
-
const i =
|
|
30
|
+
({ children: r, suffix: e, ...a }, n) => {
|
|
31
|
+
const i = p(f), { base: l, button: s, title: u, icon: c } = g({
|
|
32
32
|
isExpanded: i?.isExpanded
|
|
33
33
|
});
|
|
34
|
-
return /* @__PURE__ */ t(x, { "data-dd-privacy": "allow", ...
|
|
34
|
+
return /* @__PURE__ */ t(x, { "data-dd-privacy": "allow", ...a, ref: n, className: l(), children: /* @__PURE__ */ y(b, { className: s(), slot: "trigger", children: [
|
|
35
35
|
/* @__PURE__ */ t(
|
|
36
36
|
v,
|
|
37
37
|
{
|
|
@@ -40,7 +40,7 @@ const g = p({
|
|
|
40
40
|
role: "presentation"
|
|
41
41
|
}
|
|
42
42
|
),
|
|
43
|
-
/* @__PURE__ */ t(o, { variant: "bodyStrong", className: u(), children:
|
|
43
|
+
/* @__PURE__ */ t(o, { variant: "bodyStrong", className: u(), children: r }),
|
|
44
44
|
e ? /* @__PURE__ */ t(o, { variant: "body", children: e }) : null
|
|
45
45
|
] }) });
|
|
46
46
|
}
|
|
@@ -4,10 +4,77 @@ import { TablePaginationProps } from '../table/parts/TablePagination.js';
|
|
|
4
4
|
import { TableProps, TableRootProps } from '../table/Table.js';
|
|
5
5
|
declare module '@tanstack/react-table' {
|
|
6
6
|
interface ColumnMeta<TData extends RowData, TValue> {
|
|
7
|
+
/**
|
|
8
|
+
* Marks the cell as a row header. When true, the cell renders as `<th scope="row">` instead of `<td>`.
|
|
9
|
+
* Use this for the first column that identifies each row (e.g., ID, name). Important for accessibility.
|
|
10
|
+
* @default false
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* {
|
|
14
|
+
* meta: {
|
|
15
|
+
* isRowHeader: true
|
|
16
|
+
* }
|
|
17
|
+
* }
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
7
20
|
isRowHeader?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* CSS classes to apply to table cells (`TableCell`) in this column.
|
|
23
|
+
* Use this to control cell styling such as width, truncation, or alignment.
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* {
|
|
27
|
+
* meta: {
|
|
28
|
+
* className: 'uy:w-1/4 uy:truncate'
|
|
29
|
+
* }
|
|
30
|
+
* }
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
8
33
|
className?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Helper text to display as a tooltip icon next to the column header.
|
|
36
|
+
* Use this to provide additional context or explanations for the column.
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* {
|
|
40
|
+
* meta: {
|
|
41
|
+
* helperText: 'This column shows the employee ID'
|
|
42
|
+
* }
|
|
43
|
+
* }
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
9
46
|
helperText?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Controls whether the column cells can receive keyboard focus during table navigation.
|
|
49
|
+
* Set to false for cells containing interactive elements like buttons or checkboxes.
|
|
50
|
+
* @default true
|
|
51
|
+
* @example
|
|
52
|
+
* ```ts
|
|
53
|
+
* {
|
|
54
|
+
* meta: {
|
|
55
|
+
* isFocusable: false // For cells with buttons or checkboxes
|
|
56
|
+
* }
|
|
57
|
+
* }
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
10
60
|
isFocusable?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* CSS classes to apply to the column header (`TableColumnHeader`).
|
|
63
|
+
* Use this to set explicit widths when using `layout="fixed"`.
|
|
64
|
+
* @example
|
|
65
|
+
* ```ts
|
|
66
|
+
* {
|
|
67
|
+
* meta: {
|
|
68
|
+
* headerClassName: 'uy:w-[200px]' // Fixed pixel width
|
|
69
|
+
* // or
|
|
70
|
+
* headerClassName: 'uy:w-1/4' // Percentage width
|
|
71
|
+
* // or
|
|
72
|
+
* headerClassName: 'uy:w-[20ch]' // Character-based width
|
|
73
|
+
* }
|
|
74
|
+
* }
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
headerClassName?: string;
|
|
11
78
|
}
|
|
12
79
|
}
|
|
13
80
|
export interface DataTablePaginationLabels {
|
|
@@ -107,10 +174,15 @@ export interface DataTableProps<TData> extends Omit<TableRootProps, 'children'>,
|
|
|
107
174
|
* The DataTable component provides a standardized way to display tabular data with built-in support for
|
|
108
175
|
* pagination, sorting, filtering, and row selection. It handles common table patterns like loading states,
|
|
109
176
|
* empty states, and consistent table heights.
|
|
177
|
+
*
|
|
178
|
+
* The component supports two layout modes via the `layout` prop:
|
|
179
|
+
* - **Auto layout** (default): Columns adapt to content with horizontal scrolling
|
|
180
|
+
* - **Fixed layout**: Explicit column widths that fit the container. Set widths using `headerClassName` in column meta.
|
|
110
181
|
* @param props - The props for the `DataTable` component
|
|
111
182
|
* @param props.table - The table instance from @tanstack/react-table
|
|
112
183
|
* @param props.minRows - The minimum number of rows to display, affecting the minimum height
|
|
113
184
|
* @param props.maxRows - The maximum number of rows to display, affecting the maximum height
|
|
185
|
+
* @param props.layout - Table layout algorithm: 'auto' (default) or 'fixed'. See {@link TableProps['layout']}
|
|
114
186
|
* @param props.isLoading - Custom loading state to show when isLoading is true
|
|
115
187
|
* @param props.error - Custom error state
|
|
116
188
|
* @param props.emptyState - Custom empty state to show when there's no data
|
|
@@ -120,47 +192,65 @@ export interface DataTableProps<TData> extends Omit<TableRootProps, 'children'>,
|
|
|
120
192
|
* @param props.onPageChange - Optional callback for pagination change
|
|
121
193
|
* @param props.onPageHover - Optional callback for pagination hover
|
|
122
194
|
* @param props.onPageSizeChange - Optional callback for pagination size change
|
|
195
|
+
* @param props.enableVirtualization - Enable internal scroll virtualization for large datasets
|
|
196
|
+
* @param props.estimatedRowHeight - Estimated row height in pixels for the virtualizer
|
|
197
|
+
* @param props.overscan - Number of extra rows rendered above/below viewport for virtualization
|
|
123
198
|
* @param props.children - Render function that takes care of rendering the table rows
|
|
124
199
|
* @see {@link DataTableProps} for all available props
|
|
125
200
|
* @example
|
|
126
201
|
* ```tsx
|
|
127
202
|
* import { DataTableRoot, DataTable, DataTableBulkActions, TableRow, TableCell } from '@payfit/unity-components'
|
|
128
|
-
* import { flexRender, useReactTable, getCoreRowModel, getPaginationRowModel } from '@tanstack/react-table'
|
|
203
|
+
* import { flexRender, useReactTable, getCoreRowModel, getPaginationRowModel, createColumnHelper } from '@tanstack/react-table'
|
|
129
204
|
* import { useState, useMemo } from 'react'
|
|
130
205
|
*
|
|
131
206
|
* function EmployeeTable() {
|
|
132
207
|
* const [pagination, setPagination] = useState({ pageIndex: 0, pageSize: 10 })
|
|
133
208
|
* const [rowSelection, setRowSelection] = useState({})
|
|
134
209
|
*
|
|
135
|
-
*
|
|
136
|
-
*
|
|
210
|
+
* const columnHelper = createColumnHelper<Employee>()
|
|
211
|
+
*
|
|
212
|
+
* // Define columns with optional width control for fixed layout
|
|
213
|
+
* const columns = useMemo(() => [
|
|
214
|
+
* columnHelper.accessor('name', {
|
|
215
|
+
* header: 'Name',
|
|
216
|
+
* meta: {
|
|
217
|
+
* isRowHeader: true,
|
|
218
|
+
* headerClassName: 'uy:w-[200px]' // Set explicit width for fixed layout
|
|
219
|
+
* }
|
|
220
|
+
* }),
|
|
221
|
+
* columnHelper.accessor('position', {
|
|
222
|
+
* header: 'Position',
|
|
223
|
+
* meta: {
|
|
224
|
+
* headerClassName: 'uy:w-1/3' // Use percentage for proportional width
|
|
225
|
+
* }
|
|
226
|
+
* }),
|
|
227
|
+
* columnHelper.accessor('department', {
|
|
228
|
+
* header: 'Department'
|
|
229
|
+
* // No headerClassName: will share remaining space
|
|
230
|
+
* })
|
|
231
|
+
* ], [])
|
|
137
232
|
*
|
|
138
233
|
* const table = useReactTable({
|
|
139
234
|
* data: employees,
|
|
140
235
|
* columns,
|
|
141
|
-
* // Provide stable row ID for better performance
|
|
142
236
|
* getRowId: (row) => row.id,
|
|
143
|
-
* state: {
|
|
144
|
-
* pagination,
|
|
145
|
-
* rowSelection,
|
|
146
|
-
* },
|
|
237
|
+
* state: { pagination, rowSelection },
|
|
147
238
|
* onPaginationChange: setPagination,
|
|
148
239
|
* onRowSelectionChange: setRowSelection,
|
|
149
240
|
* getCoreRowModel: getCoreRowModel(),
|
|
150
241
|
* getPaginationRowModel: getPaginationRowModel(),
|
|
151
|
-
* // Enable row selection features
|
|
152
242
|
* enableRowSelection: true,
|
|
153
243
|
* enableMultiRowSelection: true,
|
|
154
244
|
* })
|
|
155
245
|
*
|
|
156
|
-
* const actions = [
|
|
157
|
-
* { id: 'delete', label: 'Delete', onPress: handleDelete },
|
|
158
|
-
* { id: 'archive', label: 'Archive', onPress: handleArchive },
|
|
159
|
-
* ]
|
|
160
|
-
*
|
|
161
246
|
* return (
|
|
162
247
|
* <DataTableRoot>
|
|
163
|
-
* <DataTable
|
|
248
|
+
* <DataTable
|
|
249
|
+
* table={table}
|
|
250
|
+
* minRows={5}
|
|
251
|
+
* maxRows={10}
|
|
252
|
+
* layout="fixed" // Use fixed layout with explicit column widths
|
|
253
|
+
* >
|
|
164
254
|
* {row => (
|
|
165
255
|
* <TableRow key={row.id} isSelected={row.getIsSelected()}>
|
|
166
256
|
* {row.getVisibleCells().map(cell => (
|
|
@@ -179,9 +269,12 @@ export interface DataTableProps<TData> extends Omit<TableRootProps, 'children'>,
|
|
|
179
269
|
* @remarks
|
|
180
270
|
* - For bulk actions, use DataTableBulkActions component alongside DataTable within DataTableRoot
|
|
181
271
|
* - DataTableBulkActions provides the F6 keyboard shortcut for accessibility
|
|
272
|
+
* - **Layout modes**: Use `layout="auto"` (default) for content-driven columns with scrolling, or `layout="fixed"` for predictable widths that fit the container
|
|
273
|
+
* - **Setting column widths**: Add `headerClassName` to column meta with width classes (e.g., `'uy:w-[200px]'`, `'uy:w-1/3'`)
|
|
274
|
+
* - **Fixed layout best practices**: Set explicit widths on column headers and use truncation for overflow content
|
|
182
275
|
* - [API](https://unity-components.payfit.io/?path=/docs/data-datatable--docs) • [Demo](https://unity-components.payfit.io/?path=/docs/data-datatable--docs)
|
|
183
276
|
*/
|
|
184
|
-
declare function DataTable<TData extends object>({ table, isLoading, error, emptyState, loadingState, errorState, pagination, minRows, maxRows, onPageChange: onPaginationChange, onPageHover: onPaginationPageHover, onPageSizeChange: onPaginationSizeChange, children, ...rest }: DataTableProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
277
|
+
declare function DataTable<TData extends object>({ table, isLoading, error, emptyState, loadingState, errorState, pagination, minRows, maxRows, onPageChange: onPaginationChange, onPageHover: onPaginationPageHover, onPageSizeChange: onPaginationSizeChange, children, enableVirtualization, estimatedRowHeight, overscan, ...rest }: DataTableProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
185
278
|
declare namespace DataTable {
|
|
186
279
|
var displayName: string;
|
|
187
280
|
}
|
|
@@ -1,129 +1,143 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useRef as
|
|
1
|
+
import { jsxs as i, jsx as o, Fragment as N } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as v, useEffect as F } from "react";
|
|
3
3
|
import { flexRender as f } from "@tanstack/react-table";
|
|
4
|
-
import { useId as
|
|
5
|
-
import { CircularIconButton as
|
|
6
|
-
import { TableBody as
|
|
7
|
-
import { TableColumnHeader as
|
|
8
|
-
import { TableEmptyStateLoading as
|
|
9
|
-
import { TableHeader as
|
|
10
|
-
import { TablePagination as
|
|
11
|
-
import { TableRoot as
|
|
12
|
-
import { ColumnSortHeader as
|
|
13
|
-
const
|
|
14
|
-
children:
|
|
4
|
+
import { useId as M } from "react-aria";
|
|
5
|
+
import { CircularIconButton as O } from "../icon-button/CircularIconButton.js";
|
|
6
|
+
import { TableBody as j } from "../table/parts/TableBody.js";
|
|
7
|
+
import { TableColumnHeader as B } from "../table/parts/TableColumnHeader.js";
|
|
8
|
+
import { TableEmptyStateLoading as $, TableEmptyStateError as G, TableEmptyStateNoData as L } from "../table/parts/TableEmptyState.js";
|
|
9
|
+
import { TableHeader as Q } from "../table/parts/TableHeader.js";
|
|
10
|
+
import { TablePagination as W } from "../table/parts/TablePagination.js";
|
|
11
|
+
import { TableRoot as k, Table as q } from "../table/Table.js";
|
|
12
|
+
import { ColumnSortHeader as A } from "./parts/ColumnSortHeader.js";
|
|
13
|
+
const C = ({
|
|
14
|
+
children: t,
|
|
15
15
|
columnNameId: a,
|
|
16
16
|
helperText: r
|
|
17
|
-
}) => r !== void 0 ? /* @__PURE__ */
|
|
18
|
-
|
|
19
|
-
/* @__PURE__ */
|
|
20
|
-
|
|
17
|
+
}) => r !== void 0 ? /* @__PURE__ */ i("div", { className: "uy:flex uy:gap-50 uy:items-center", children: [
|
|
18
|
+
t,
|
|
19
|
+
/* @__PURE__ */ o(
|
|
20
|
+
O,
|
|
21
21
|
{
|
|
22
22
|
"aria-labelledby": a,
|
|
23
|
-
className: "uy:text-content-neutral-low uy:hover:bg-surface-neutral-hover uy:hover:text-content-neutral-low",
|
|
24
23
|
icon: "QuestionOutlined",
|
|
25
24
|
title: r,
|
|
26
|
-
color: "content.neutral.
|
|
25
|
+
color: "content.neutral.lowest"
|
|
27
26
|
}
|
|
28
27
|
)
|
|
29
|
-
] }) : /* @__PURE__ */
|
|
30
|
-
function
|
|
31
|
-
table:
|
|
28
|
+
] }) : /* @__PURE__ */ o(N, { children: t });
|
|
29
|
+
function J({
|
|
30
|
+
table: t,
|
|
32
31
|
isLoading: a,
|
|
33
32
|
error: r,
|
|
34
33
|
emptyState: u,
|
|
35
|
-
loadingState:
|
|
34
|
+
loadingState: b,
|
|
36
35
|
errorState: T,
|
|
37
36
|
pagination: c,
|
|
38
|
-
minRows:
|
|
39
|
-
maxRows:
|
|
40
|
-
onPageChange:
|
|
37
|
+
minRows: P,
|
|
38
|
+
maxRows: S,
|
|
39
|
+
onPageChange: h,
|
|
41
40
|
onPageHover: x,
|
|
42
|
-
onPageSizeChange:
|
|
43
|
-
children:
|
|
44
|
-
|
|
41
|
+
onPageSizeChange: y,
|
|
42
|
+
children: D,
|
|
43
|
+
enableVirtualization: w,
|
|
44
|
+
estimatedRowHeight: H,
|
|
45
|
+
overscan: E,
|
|
46
|
+
...m
|
|
45
47
|
}) {
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}, [
|
|
50
|
-
const
|
|
51
|
-
label:
|
|
52
|
-
description:
|
|
53
|
-
isHorizontalScrollEnabled:
|
|
48
|
+
const s = v(null), R = M(), { pageIndex: p, pageSize: g } = t.getState().pagination;
|
|
49
|
+
F(() => {
|
|
50
|
+
s.current?.scrollToTop();
|
|
51
|
+
}, [p, g]);
|
|
52
|
+
const z = {
|
|
53
|
+
label: m.label,
|
|
54
|
+
description: m.description,
|
|
55
|
+
isHorizontalScrollEnabled: m.isHorizontalScrollEnabled,
|
|
56
|
+
layout: m.layout
|
|
54
57
|
}, d = () => {
|
|
55
58
|
if (a)
|
|
56
|
-
return
|
|
59
|
+
return b ?? /* @__PURE__ */ o($, {});
|
|
57
60
|
if (r)
|
|
58
|
-
return T ?? /* @__PURE__ */
|
|
59
|
-
},
|
|
60
|
-
return /* @__PURE__ */
|
|
61
|
-
/* @__PURE__ */
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
t.column.columnDef.header,
|
|
76
|
-
t.getContext()
|
|
77
|
-
) })
|
|
78
|
-
}
|
|
79
|
-
) }) : /* @__PURE__ */ e(
|
|
80
|
-
b,
|
|
61
|
+
return T ?? /* @__PURE__ */ o(G, {});
|
|
62
|
+
}, I = () => a || r ? d() : t.getRowModel().rows.length === 0 ? u ?? /* @__PURE__ */ o(L, {}) : u;
|
|
63
|
+
return /* @__PURE__ */ i(k, { minRows: P, maxRows: S, children: [
|
|
64
|
+
/* @__PURE__ */ i(
|
|
65
|
+
q,
|
|
66
|
+
{
|
|
67
|
+
ref: s,
|
|
68
|
+
...z,
|
|
69
|
+
enableVirtualization: w,
|
|
70
|
+
estimatedRowHeight: H,
|
|
71
|
+
overscan: E,
|
|
72
|
+
children: [
|
|
73
|
+
/* @__PURE__ */ o(Q, { children: t.getHeaderGroups().map(
|
|
74
|
+
(n) => n.headers.map((e) => {
|
|
75
|
+
const l = `${R}-column-name-${e.column.columnDef.id}`;
|
|
76
|
+
return /* @__PURE__ */ o(
|
|
77
|
+
B,
|
|
81
78
|
{
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
children: /* @__PURE__ */
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
79
|
+
isFocusable: e.column.columnDef.meta?.isFocusable,
|
|
80
|
+
className: e.column.columnDef.meta?.headerClassName,
|
|
81
|
+
children: t.getRowModel().rows.length > 0 && e.column.getCanSort() ? /* @__PURE__ */ o(A, { header: e, children: /* @__PURE__ */ o(
|
|
82
|
+
C,
|
|
83
|
+
{
|
|
84
|
+
columnNameId: l,
|
|
85
|
+
helperText: e.column.columnDef.meta?.helperText,
|
|
86
|
+
children: /* @__PURE__ */ o("span", { id: l, children: f(
|
|
87
|
+
e.column.columnDef.header,
|
|
88
|
+
e.getContext()
|
|
89
|
+
) })
|
|
90
|
+
}
|
|
91
|
+
) }) : /* @__PURE__ */ o(
|
|
92
|
+
C,
|
|
93
|
+
{
|
|
94
|
+
columnNameId: l,
|
|
95
|
+
helperText: e.column.columnDef.meta?.helperText,
|
|
96
|
+
children: /* @__PURE__ */ o("span", { id: l, children: f(
|
|
97
|
+
e.column.columnDef.header,
|
|
98
|
+
e.getContext()
|
|
99
|
+
) })
|
|
100
|
+
}
|
|
101
|
+
)
|
|
102
|
+
},
|
|
103
|
+
e.id
|
|
104
|
+
);
|
|
105
|
+
})
|
|
106
|
+
) }),
|
|
107
|
+
/* @__PURE__ */ o(
|
|
108
|
+
j,
|
|
109
|
+
{
|
|
110
|
+
renderEmptyState: I,
|
|
111
|
+
renderDataState: d,
|
|
112
|
+
children: !a && !r && t.getRowModel().rows.map(D)
|
|
113
|
+
}
|
|
114
|
+
)
|
|
115
|
+
]
|
|
116
|
+
}
|
|
117
|
+
),
|
|
118
|
+
t.getPageCount() > 0 && /* @__PURE__ */ o(
|
|
119
|
+
W,
|
|
106
120
|
{
|
|
107
|
-
pageCount:
|
|
108
|
-
rowCount:
|
|
109
|
-
currentPage:
|
|
121
|
+
pageCount: t.getPageCount(),
|
|
122
|
+
rowCount: t.getRowCount(),
|
|
123
|
+
currentPage: p + 1,
|
|
110
124
|
rowsPerPage: g,
|
|
111
125
|
pageSizeOptions: c?.pageSizeOptions,
|
|
112
|
-
onPageChange: (n,
|
|
113
|
-
|
|
126
|
+
onPageChange: (n, e, l) => {
|
|
127
|
+
t.setPageIndex(n - 1), h?.(n - 1, e, l);
|
|
114
128
|
},
|
|
115
129
|
onPageHover: (n) => {
|
|
116
130
|
x?.(n);
|
|
117
131
|
},
|
|
118
132
|
onPageSizeChange: (n) => {
|
|
119
|
-
|
|
133
|
+
t.setPageSize(n), y?.(n);
|
|
120
134
|
},
|
|
121
135
|
itemLabel: c?.labels?.itemLabel
|
|
122
136
|
}
|
|
123
137
|
)
|
|
124
138
|
] });
|
|
125
139
|
}
|
|
126
|
-
|
|
140
|
+
J.displayName = "DataTable";
|
|
127
141
|
export {
|
|
128
|
-
|
|
142
|
+
J as DataTable
|
|
129
143
|
};
|
|
@@ -14,7 +14,7 @@ const q = k({
|
|
|
14
14
|
dialogHeader: "uy:flex uy:items-center uy:h-500 uy:w-full",
|
|
15
15
|
dialogHeaderGroup: "uy:flex uy:items-center",
|
|
16
16
|
calendarGrid: "uy:border-separate uy:border-spacing-25 uy:w-full",
|
|
17
|
-
calendarHeaderCell: "uy:typography-body-strong uy:text-content-neutral-low uy:w-[44px] uy:h-[44px] uy:p-[1px] uy:uppercase",
|
|
17
|
+
calendarHeaderCell: "uy:typography-body-small-strong uy:sm:typography-body-strong uy:text-content-neutral-low uy:w-[44px] uy:h-[44px] uy:p-[1px] uy:uppercase",
|
|
18
18
|
calendarCell: [
|
|
19
19
|
// base styles
|
|
20
20
|
"uy:typography-body uy:relative uy:text-content-form-enabled uy:w-[44px] uy:h-[44px] uy:p-[1px] uy:outline-hidden uy:cursor-pointer uy:rounded-circle uy:flex uy:items-center uy:justify-center",
|
|
@@ -34,7 +34,7 @@ function x({
|
|
|
34
34
|
m(t.target.value), p(s(t.target.value));
|
|
35
35
|
},
|
|
36
36
|
disabled: i,
|
|
37
|
-
className: "uy:appearance-none uy:box-border uy:w-[var(--uy-selected-item-width)] uy:bg-transparent uy:border-none uy:rounded-50 uy:capitalize uy:text-content-form-enabled uy:typography-action-large uy:cursor-pointer uy:pr-300 uy:disabled:text-content-form-disabled uy:focus-visible:outline-2 uy:focus-visible:outline-offset-2 uy:focus-visible:outline-utility-focus-ring [-webkit-tap-highlight-color:transparent] [background-color:transparent]",
|
|
37
|
+
className: "uy:appearance-none uy:box-border uy:w-[var(--uy-selected-item-width)] uy:bg-transparent uy:border-none uy:rounded-50 uy:capitalize uy:text-content-form-enabled uy:typography-action-large uy:cursor-pointer uy:pr-300 uy:disabled:text-content-form-disabled uy:data-[focus-visible='true']:outline-2 uy:data-[focus-visible='true']:outline-offset-2 uy:data-[focus-visible='true']:outline-utility-focus-ring [-webkit-tap-highlight-color:transparent] [background-color:transparent]",
|
|
38
38
|
style: {
|
|
39
39
|
"--uy-selected-item-width": `calc(var(--uy-spacing-300) + ${y.length}ch)`
|
|
40
40
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CalendarDate } from '@internationalized/date';
|
|
2
2
|
import { DatePickerProps as AriaDatePickerProps } from 'react-aria-components';
|
|
3
|
-
export interface DatePickerProps extends Pick<AriaDatePickerProps<CalendarDate>, 'id' | 'firstDayOfWeek'> {
|
|
3
|
+
export interface DatePickerProps extends Pick<AriaDatePickerProps<CalendarDate>, 'id' | 'firstDayOfWeek' | 'aria-label' | 'aria-labelledby' | 'aria-describedby' | 'aria-details'> {
|
|
4
4
|
/** The currently selected date */
|
|
5
5
|
value?: CalendarDate | null;
|
|
6
6
|
/** The default selected date (uncontrolled) */
|