@payfit/unity-components 1.0.0 → 1.1.1-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/components/action-bar/ActionBar.d.ts +153 -0
- package/dist/esm/components/action-bar/ActionBar.js +173 -0
- package/dist/esm/components/action-bar/parts/ActionBarAction.d.ts +44 -0
- package/dist/esm/components/action-bar/parts/ActionBarAction.js +45 -0
- package/dist/esm/components/action-bar/parts/ActionBarRoot.d.ts +44 -0
- package/dist/esm/components/action-bar/parts/ActionBarRoot.js +46 -0
- package/dist/esm/components/actionable/Actionable.js +20 -21
- package/dist/esm/components/alert/Alert.d.ts +1 -1
- package/dist/esm/components/alert/Alert.js +1 -1
- package/dist/esm/components/alert/parts/AlertActions.d.ts +1 -1
- package/dist/esm/components/alert/parts/AlertActions.js +1 -1
- package/dist/esm/components/alert/parts/AlertContent.d.ts +1 -1
- package/dist/esm/components/alert/parts/AlertTitle.d.ts +1 -1
- package/dist/esm/components/anchor/Anchor.js +1 -1
- package/dist/esm/components/app-layout/AppLayout.js +6 -6
- package/dist/esm/components/app-menu/parts/AppMenuFooter.js +30 -30
- package/dist/esm/components/app-menu/parts/AppMenuNavContent.js +1 -1
- package/dist/esm/components/autocomplete/Autocomplete.d.ts +1 -1
- package/dist/esm/components/autocomplete/Autocomplete.js +14 -14
- package/dist/esm/components/autocomplete/parts/AutocompleteClearButton.js +5 -5
- package/dist/esm/components/autocomplete/parts/AutocompleteItem.d.ts +1 -1
- package/dist/esm/components/autocomplete/parts/AutocompleteItem.js +4 -4
- package/dist/esm/components/autocomplete/parts/AutocompleteItemGroup.d.ts +1 -1
- package/dist/esm/components/autocomplete/parts/AutocompleteItemGroup.js +12 -12
- package/dist/esm/components/autocomplete/parts/AutocompletePanel.d.ts +1 -1
- package/dist/esm/components/autocomplete/parts/AutocompletePanel.js +7 -7
- package/dist/esm/components/avatar/Avatar.d.ts +1 -1
- package/dist/esm/components/avatar/Avatar.js +15 -16
- package/dist/esm/components/avatar/Avatar.variants.js +1 -1
- package/dist/esm/components/avatar/parts/AvatarFallback.d.ts +1 -1
- package/dist/esm/components/avatar/parts/AvatarFallback.js +9 -10
- package/dist/esm/components/avatar/parts/AvatarImage.js +12 -12
- package/dist/esm/components/avatar/parts/AvatarPair.d.ts +1 -1
- package/dist/esm/components/avatar/parts/AvatarPair.js +4 -4
- package/dist/esm/components/badge/Badge.d.ts +1 -1
- package/dist/esm/components/badge/Badge.js +31 -35
- package/dist/esm/components/bottom-sheet/BottomSheet.d.ts +1 -1
- package/dist/esm/components/bottom-sheet/BottomSheet.js +14 -14
- package/dist/esm/components/bottom-sheet/parts/BottomSheetContent.d.ts +1 -1
- package/dist/esm/components/bottom-sheet/parts/BottomSheetContent.js +4 -4
- package/dist/esm/components/bottom-sheet/parts/BottomSheetDragIndicator.js +11 -11
- package/dist/esm/components/bottom-sheet/parts/BottomSheetFooter.d.ts +1 -1
- package/dist/esm/components/bottom-sheet/parts/BottomSheetFooter.js +4 -4
- package/dist/esm/components/bottom-sheet/parts/BottomSheetHeader.d.ts +4 -4
- package/dist/esm/components/bottom-sheet/parts/BottomSheetHeader.js +6 -6
- package/dist/esm/components/breadcrumbs/Breadcrumbs.context.d.ts +1 -1
- package/dist/esm/components/breadcrumbs/Breadcrumbs.d.ts +1 -1
- package/dist/esm/components/breadcrumbs/Breadcrumbs.variant.js +3 -3
- package/dist/esm/components/button/Button.js +33 -41
- package/dist/esm/components/button/Button.variants.d.ts +1 -1
- package/dist/esm/components/button/Button.variants.js +1 -1
- package/dist/esm/components/checkbox/Checkbox.js +53 -49
- package/dist/esm/components/checkbox/Checkbox.variants.js +1 -1
- package/dist/esm/components/checkbox/parts/CheckboxIndicator.js +1 -1
- package/dist/esm/components/checkbox-field/CheckboxField.js +39 -34
- package/dist/esm/components/checkbox-group/CheckboxGroup.d.ts +1 -1
- package/dist/esm/components/checkbox-group/CheckboxGroup.js +12 -12
- package/dist/esm/components/code/Code.d.ts +7 -0
- package/dist/esm/components/code/copyToClipboard.d.ts +1 -0
- package/dist/esm/components/collapsible/Collapsible.d.ts +1 -1
- package/dist/esm/components/collapsible/Collapsible.js +20 -13
- package/dist/esm/components/collapsible/parts/CollapsibleContent.js +16 -7
- package/dist/esm/components/collapsible/parts/CollapsibleTitle.js +23 -23
- package/dist/esm/components/data-table/DataTable.d.ts +48 -17
- package/dist/esm/components/data-table/DataTable.js +104 -60
- package/dist/esm/components/data-table/mocks/employee-columns.d.ts +4 -0
- package/dist/esm/components/data-table/parts/ColumnSortHeader.js +13 -13
- package/dist/esm/components/data-table/parts/DataTableBulkActions.d.ts +55 -0
- package/dist/esm/components/data-table/parts/DataTableBulkActions.js +65 -0
- package/dist/esm/components/data-table/parts/DataTableRoot.d.ts +37 -0
- package/dist/esm/components/data-table/parts/DataTableRoot.js +13 -0
- package/dist/esm/components/date-calendar/DateCalendar.js +8 -8
- package/dist/esm/components/date-picker/DatePicker.js +9 -9
- package/dist/esm/components/date-picker/parts/DateInput.js +7 -7
- package/dist/esm/components/date-picker-field/DatePickerField.js +12 -12
- package/dist/esm/components/definition-tooltip/DefinitionTooltip.js +4 -4
- package/dist/esm/components/dialog/Dialog.d.ts +1 -1
- package/dist/esm/components/dialog/Dialog.js +9 -9
- package/dist/esm/components/dialog/parts/DialogActions/DialogButton.d.ts +1 -1
- package/dist/esm/components/fieldset/Fieldset.d.ts +1 -1
- package/dist/esm/components/fieldset/Fieldset.js +4 -4
- package/dist/esm/components/flex/Flex.d.ts +1 -1
- package/dist/esm/components/flex/Flex.variants.js +189 -207
- package/dist/esm/components/flex/FlexItem.d.ts +1 -1
- package/dist/esm/components/form/Form.context.d.ts +1 -4
- package/dist/esm/components/form/Form.context.js +11 -13
- package/dist/esm/components/form/Form.d.ts +13 -11
- package/dist/esm/components/form/Form.js +45 -48
- package/dist/esm/components/form-field/FormField.context.d.ts +1 -6
- package/dist/esm/components/form-field/FormField.context.js +39 -47
- package/dist/esm/components/form-field/FormField.d.ts +0 -2
- package/dist/esm/components/form-field/FormField.js +37 -42
- package/dist/esm/components/form-field/parts/FormContextualLink.js +17 -17
- package/dist/esm/components/form-field/parts/FormControl.js +39 -35
- package/dist/esm/components/form-field/parts/FormFeedbackText.js +15 -17
- package/dist/esm/components/full-page-loader/FullPageLoader.js +7 -7
- package/dist/esm/components/funnel-layout/FunnelLayout.d.ts +3 -3
- package/dist/esm/components/funnel-layout/FunnelLayout.js +62 -111
- package/dist/esm/components/funnel-layout/parts/FunnelBody.d.ts +2 -2
- package/dist/esm/components/funnel-layout/parts/FunnelBody.js +4 -4
- package/dist/esm/components/funnel-layout/parts/FunnelPage.d.ts +2 -2
- package/dist/esm/components/funnel-layout/parts/FunnelPage.js +14 -15
- package/dist/esm/components/funnel-layout/parts/FunnelPageAction.d.ts +1 -1
- package/dist/esm/components/funnel-layout/parts/FunnelPageActions.d.ts +2 -2
- package/dist/esm/components/funnel-layout/parts/FunnelPageActions.js +13 -13
- package/dist/esm/components/funnel-layout/parts/FunnelPageContent.d.ts +2 -2
- package/dist/esm/components/funnel-layout/parts/FunnelPageContent.js +1 -1
- package/dist/esm/components/funnel-layout/parts/FunnelPageFooter.d.ts +2 -2
- package/dist/esm/components/funnel-layout/parts/FunnelPageFooter.js +9 -10
- package/dist/esm/components/funnel-layout/parts/FunnelPageHeader.d.ts +4 -4
- package/dist/esm/components/funnel-layout/parts/FunnelPageHeader.js +4 -4
- package/dist/esm/components/funnel-layout/parts/FunnelProgressBar.d.ts +1 -1
- package/dist/esm/components/funnel-layout/parts/FunnelProgressBar.js +4 -4
- package/dist/esm/components/funnel-layout/parts/FunnelSidebar.d.ts +4 -4
- package/dist/esm/components/funnel-layout/parts/FunnelSidebar.js +9 -10
- package/dist/esm/components/funnel-layout/parts/FunnelTopBar.d.ts +2 -2
- package/dist/esm/components/funnel-layout/parts/FunnelTopBar.js +9 -10
- package/dist/esm/components/grid/Grid.d.ts +1 -1
- package/dist/esm/components/grid/Grid.variants.d.ts +1 -1
- package/dist/esm/components/grid/Grid.variants.js +3 -3
- package/dist/esm/components/grid/GridItem.d.ts +1 -1
- package/dist/esm/components/icon/Icon.d.ts +1 -1
- package/dist/esm/components/icon/Icon.js +1 -1
- package/dist/esm/components/icon-button/CircularIconButton.d.ts +1 -1
- package/dist/esm/components/icon-button/CircularIconButton.js +21 -20
- package/dist/esm/components/icon-button/IconButton.variants.d.ts +1 -1
- package/dist/esm/components/icon-button/IconButton.variants.js +2 -2
- package/dist/esm/components/input/Input.js +6 -6
- package/dist/esm/components/label/Label.js +13 -13
- package/dist/esm/components/link/Link.d.ts +11 -1
- package/dist/esm/components/link/Link.js +32 -30
- package/dist/esm/components/link/Link.variants.d.ts +141 -30
- package/dist/esm/components/link/Link.variants.js +44 -16
- package/dist/esm/components/menu/parts/MenuItem.js +8 -8
- package/dist/esm/components/multi-select/parts/MultiSelectButton.js +14 -14
- package/dist/esm/components/multi-select/parts/MultiSelectOptGroup.js +5 -5
- package/dist/esm/components/multi-select/parts/MultiSelectOption.js +3 -3
- package/dist/esm/components/multi-select/parts/MultiSelectPopover.js +1 -1
- package/dist/esm/components/multi-select-field/MultiSelectField.js +6 -6
- package/dist/esm/components/nav/parts/NavGroup.js +28 -29
- package/dist/esm/components/nav/parts/NavItem.d.ts +1 -1
- package/dist/esm/components/nav/parts/NavItem.js +13 -14
- package/dist/esm/components/number-field/NumberField.js +14 -14
- package/dist/esm/components/number-input/NumberInput.d.ts +2 -2
- package/dist/esm/components/number-input/NumberInput.js +37 -37
- package/dist/esm/components/page/Page.d.ts +1 -1
- package/dist/esm/components/page/Page.js +5 -5
- package/dist/esm/components/page/parts/PageHeader.d.ts +1 -1
- package/dist/esm/components/page/parts/PageHeader.js +4 -4
- package/dist/esm/components/pagination/Pagination.d.ts +1 -1
- package/dist/esm/components/pagination/Pagination.js +16 -16
- package/dist/esm/components/pagination/parts/PaginationEllipsis.d.ts +1 -1
- package/dist/esm/components/pagination/parts/PaginationEllipsis.js +8 -8
- package/dist/esm/components/pagination/parts/PaginationJumpDialog.js +9 -9
- package/dist/esm/components/pagination/parts/PaginationLink.d.ts +1 -1
- package/dist/esm/components/pagination/parts/PaginationLink.js +6 -6
- package/dist/esm/components/payfit-brand/PayFitBrand.js +4 -4
- package/dist/esm/components/pill/Pill.d.ts +1 -1
- package/dist/esm/components/pill/Pill.js +1 -1
- package/dist/esm/components/popover/Popover.js +5 -5
- package/dist/esm/components/popover/parts/PopoverHeader.js +7 -7
- package/dist/esm/components/progress-bar/ProgressBar.js +11 -11
- package/dist/esm/components/radio-button-group/parts/RadioButton.d.ts +1 -1
- package/dist/esm/components/radio-button-group/parts/RadioButton.js +5 -5
- package/dist/esm/components/search/Search.d.ts +1 -1
- package/dist/esm/components/search/Search.js +14 -14
- package/dist/esm/components/segmented-button-group/parts/ToggleButton.js +10 -10
- package/dist/esm/components/select/Select.js +12 -12
- package/dist/esm/components/select/parts/SearchInput.js +7 -7
- package/dist/esm/components/select/parts/SelectButton.js +17 -14
- package/dist/esm/components/select/parts/SelectOption.js +4 -4
- package/dist/esm/components/select/parts/SelectOptionGroup.js +8 -8
- package/dist/esm/components/select/parts/SelectOptionHelper.js +1 -1
- package/dist/esm/components/select-field/SelectField.d.ts +1 -1
- package/dist/esm/components/select-field/SelectField.js +16 -16
- package/dist/esm/components/selectable-button-group/SelectableButtonGroup.d.ts +1 -1
- package/dist/esm/components/selectable-button-group/SelectableButtonGroup.js +8 -8
- package/dist/esm/components/selectable-button-group/parts/SelectableButton.js +10 -10
- package/dist/esm/components/selectable-card/internals/Content.js +5 -5
- package/dist/esm/components/selectable-card/internals/Description.js +1 -1
- package/dist/esm/components/selectable-card/internals/Illustration.js +3 -3
- package/dist/esm/components/selectable-card/internals/SelectedIndicator.js +4 -4
- package/dist/esm/components/selectable-card/selectable-card-checkbox-group/parts/SelectableCardCheckbox.d.ts +1 -1
- package/dist/esm/components/selectable-card/selectable-card-radio-group/parts/RadioIndicator.js +3 -3
- package/dist/esm/components/selectable-card/selectable-card-radio-group/parts/SelectableCardRadio.d.ts +1 -1
- package/dist/esm/components/selectable-card/selectableCard.variant.js +1 -1
- package/dist/esm/components/selectable-card-radio-group-field/SelectableCardRadioGroupField.js +22 -22
- package/dist/esm/components/side-panel/SidePanel.d.ts +1 -1
- package/dist/esm/components/side-panel/SidePanel.js +6 -6
- package/dist/esm/components/side-panel/parts/SidePanelContent.d.ts +1 -1
- package/dist/esm/components/side-panel/parts/SidePanelContent.js +9 -9
- package/dist/esm/components/side-panel/parts/SidePanelDragIndicator.js +11 -11
- package/dist/esm/components/side-panel/parts/SidePanelFooter.d.ts +1 -1
- package/dist/esm/components/side-panel/parts/SidePanelFooter.js +4 -4
- package/dist/esm/components/side-panel/parts/SidePanelHeader.d.ts +4 -4
- package/dist/esm/components/side-panel/parts/SidePanelHeader.js +6 -6
- package/dist/esm/components/skip-links/SkipLinks.d.ts +79 -0
- package/dist/esm/components/skip-links/SkipLinks.js +87 -0
- package/dist/esm/components/spinner/Spinner.js +5 -5
- package/dist/esm/components/table/Table.js +101 -100
- package/dist/esm/components/table/hooks/useTableKeyboardNavigation.d.ts +1 -19
- package/dist/esm/components/table/hooks/useTableKeyboardNavigation.js +147 -95
- package/dist/esm/components/table/parts/TableBody.js +1 -1
- package/dist/esm/components/table/parts/TableCell.d.ts +17 -1
- package/dist/esm/components/table/parts/TableCell.js +45 -41
- package/dist/esm/components/table/parts/TableColumnHeader.d.ts +2 -1
- package/dist/esm/components/table/parts/TableColumnHeader.js +63 -57
- package/dist/esm/components/table/parts/TableEmptyState.d.ts +1 -1
- package/dist/esm/components/table/parts/TableEmptyState.js +1 -1
- package/dist/esm/components/table/parts/TableHeader.d.ts +3 -3
- package/dist/esm/components/table/parts/TableHeader.js +28 -26
- package/dist/esm/components/table/parts/TablePagination.d.ts +1 -1
- package/dist/esm/components/table/parts/TablePagination.js +9 -9
- package/dist/esm/components/table/parts/TableRow.d.ts +1 -1
- package/dist/esm/components/table/parts/TableRow.js +36 -34
- package/dist/esm/components/tabs/Tabs.context.d.ts +1 -1
- package/dist/esm/components/tabs/Tabs.d.ts +1 -1
- package/dist/esm/components/tabs/Tabs.variant.js +1 -1
- package/dist/esm/components/tabs/parts/NavigationButton.js +12 -12
- package/dist/esm/components/tabs/parts/Tab.d.ts +3 -2
- package/dist/esm/components/tabs/parts/Tab.js +12 -12
- package/dist/esm/components/tabs/parts/TabPanel.d.ts +4 -2
- package/dist/esm/components/tabs/parts/TabPanel.js +7 -7
- package/dist/esm/components/task-menu/TaskMenu.d.ts +1 -1
- package/dist/esm/components/task-menu/TaskMenu.js +7 -7
- package/dist/esm/components/task-menu/parts/Content.js +6 -6
- package/dist/esm/components/task-menu/parts/Header.js +7 -7
- package/dist/esm/components/task-menu/parts/SubTask.js +6 -6
- package/dist/esm/components/task-menu/parts/Task.d.ts +1 -1
- package/dist/esm/components/task-menu/parts/Task.js +12 -12
- package/dist/esm/components/task-menu/parts/TaskGroup.js +7 -7
- package/dist/esm/components/task-menu/parts/task.variants.js +1 -1
- package/dist/esm/components/text/Text.d.ts +1 -1
- package/dist/esm/components/text/Text.variants.js +1 -1
- package/dist/esm/components/text-area/TextArea.js +6 -6
- package/dist/esm/components/text-field/TextField.js +5 -5
- package/dist/esm/components/toast/UnityToast.d.ts +1 -1
- package/dist/esm/components/toast/UnityToast.js +11 -11
- package/dist/esm/components/toggle-switch/ToggleSwitch.d.ts +1 -1
- package/dist/esm/components/toggle-switch/ToggleSwitch.js +4 -4
- package/dist/esm/components/toggle-switch-field/ToggleSwitchField.js +35 -31
- package/dist/esm/components/toggle-switch-group/ToggleSwitchGroup.d.ts +1 -1
- package/dist/esm/components/toggle-switch-group/ToggleSwitchGroup.js +5 -5
- package/dist/esm/components/toggle-switch-group-field/ToggleSwitchGroupField.js +43 -38
- package/dist/esm/components/tooltip/Tooltip.d.ts +2 -0
- package/dist/esm/components/tooltip/Tooltip.js +27 -19
- package/dist/esm/hooks/use-form.js +7 -7
- package/dist/esm/index.d.ts +6 -1
- package/dist/esm/index.js +366 -352
- package/dist/esm/integrations/react-router/v5/UnityReactRouterV5Provider.js +28 -0
- package/dist/esm/integrations/react-router/v5/index.d.ts +1 -0
- package/dist/esm/integrations/react-router/v5.js +4 -0
- package/i18n/en-GB.json +7 -0
- package/i18n/es-ES.json +7 -0
- package/i18n/fr-FR.json +7 -0
- package/package.json +41 -35
- package/dist/esm/providers/router/integrations/UnityReactRouterV5Provider.js +0 -28
- /package/dist/esm/{providers/router/integrations → integrations/react-router/v5}/UnityReactRouterV5Provider.d.ts +0 -0
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { default as React, ReactNode } from 'react';
|
|
2
|
+
import { ActionBarActionProps } from './parts/ActionBarAction.js';
|
|
3
|
+
export declare const actionBar: import('tailwind-variants').TVReturnType<{
|
|
4
|
+
[key: string]: {
|
|
5
|
+
[key: string]: import('tailwind-merge').ClassNameValue | {
|
|
6
|
+
base?: import('tailwind-merge').ClassNameValue;
|
|
7
|
+
selectionArea?: import('tailwind-merge').ClassNameValue;
|
|
8
|
+
actionArea?: import('tailwind-merge').ClassNameValue;
|
|
9
|
+
selectionCountText?: import('tailwind-merge').ClassNameValue;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
} | {
|
|
13
|
+
[x: string]: {
|
|
14
|
+
[x: string]: import('tailwind-merge').ClassNameValue | {
|
|
15
|
+
base?: import('tailwind-merge').ClassNameValue;
|
|
16
|
+
selectionArea?: import('tailwind-merge').ClassNameValue;
|
|
17
|
+
actionArea?: import('tailwind-merge').ClassNameValue;
|
|
18
|
+
selectionCountText?: import('tailwind-merge').ClassNameValue;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
} | {}, {
|
|
22
|
+
base: string[];
|
|
23
|
+
selectionArea: string[];
|
|
24
|
+
actionArea: string[];
|
|
25
|
+
selectionCountText: string[];
|
|
26
|
+
}, undefined, {
|
|
27
|
+
[key: string]: {
|
|
28
|
+
[key: string]: import('tailwind-merge').ClassNameValue | {
|
|
29
|
+
base?: import('tailwind-merge').ClassNameValue;
|
|
30
|
+
selectionArea?: import('tailwind-merge').ClassNameValue;
|
|
31
|
+
actionArea?: import('tailwind-merge').ClassNameValue;
|
|
32
|
+
selectionCountText?: import('tailwind-merge').ClassNameValue;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
} | {}, {
|
|
36
|
+
base: string[];
|
|
37
|
+
selectionArea: string[];
|
|
38
|
+
actionArea: string[];
|
|
39
|
+
selectionCountText: string[];
|
|
40
|
+
}, import('tailwind-variants').TVReturnType<unknown, {
|
|
41
|
+
base: string[];
|
|
42
|
+
selectionArea: string[];
|
|
43
|
+
actionArea: string[];
|
|
44
|
+
selectionCountText: string[];
|
|
45
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
46
|
+
/**
|
|
47
|
+
* Action item interface for dynamic API
|
|
48
|
+
* Extends ActionBarActionProps but uses onClick instead of onPress and requires id
|
|
49
|
+
*/
|
|
50
|
+
export interface ActionBarActionItem extends Omit<ActionBarActionProps, 'children'> {
|
|
51
|
+
/** The unique identifier for the action */
|
|
52
|
+
id: string;
|
|
53
|
+
/** The label for the action */
|
|
54
|
+
label: string;
|
|
55
|
+
}
|
|
56
|
+
interface ActionBarBaseProps {
|
|
57
|
+
/** Unique identifier for the action bar (required for skip links integration) */
|
|
58
|
+
id?: string;
|
|
59
|
+
/** Number of selected items */
|
|
60
|
+
selectionCount: number;
|
|
61
|
+
/** Callback when selection is cleared */
|
|
62
|
+
onClearSelection: () => void;
|
|
63
|
+
/**
|
|
64
|
+
* Custom text for selection count (optional)
|
|
65
|
+
*/
|
|
66
|
+
renderSelectionText?: (count: number) => string;
|
|
67
|
+
/** ARIA label for the toolbar */
|
|
68
|
+
'aria-label'?: string;
|
|
69
|
+
/** ARIA keyshortcuts for the action bar */
|
|
70
|
+
'aria-keyshortcuts'?: string;
|
|
71
|
+
/** Callback when the action bar is focused */
|
|
72
|
+
onFocus?: () => void;
|
|
73
|
+
/** Callback when the action bar is blurred */
|
|
74
|
+
onBlur?: () => void;
|
|
75
|
+
}
|
|
76
|
+
interface ActionBarStaticProps extends ActionBarBaseProps {
|
|
77
|
+
/** Static ActionBarAction components */
|
|
78
|
+
children?: ReactNode;
|
|
79
|
+
/** Actions prop is not allowed with static API */
|
|
80
|
+
actions?: never;
|
|
81
|
+
}
|
|
82
|
+
interface ActionBarDynamicProps extends ActionBarBaseProps {
|
|
83
|
+
/** Array of action items */
|
|
84
|
+
actions: ActionBarActionItem[];
|
|
85
|
+
/** Render function that receives action and index */
|
|
86
|
+
children: (action: ActionBarActionItem, index: number) => ReactNode;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Represents the props for an ActionBar component, which can be either static or dynamic.
|
|
90
|
+
*
|
|
91
|
+
* This type is a union of `ActionBarStaticProps` and `ActionBarDynamicProps`, allowing
|
|
92
|
+
* flexibility in specifying the props for the ActionBar depending on its behavior.
|
|
93
|
+
*
|
|
94
|
+
* Use `ActionBarStaticProps` when the ActionBar requires fixed, unchanging properties,
|
|
95
|
+
* and utilize `ActionBarDynamicProps` for scenarios where the properties need to be
|
|
96
|
+
* dynamic or state-dependent.
|
|
97
|
+
* @see {@link ActionBarStaticProps} for static API props
|
|
98
|
+
* @see {@link ActionBarDynamicProps} for dynamic API props
|
|
99
|
+
*/
|
|
100
|
+
export type ActionBarProps = ActionBarStaticProps | ActionBarDynamicProps;
|
|
101
|
+
/**
|
|
102
|
+
* The ActionBar component provides contextual bulk actions when table rows are selected.
|
|
103
|
+
* It supports both static (declarative) and dynamic (render prop) APIs for maximum flexibility.
|
|
104
|
+
* @param {ActionBarProps} props - Props for ActionBar including id, selectionCount and onClearSelection
|
|
105
|
+
* @example
|
|
106
|
+
* ```tsx
|
|
107
|
+
* import { ActionBar, ActionBarAction, ActionBarRoot } from '@payfit/unity-components'
|
|
108
|
+
*
|
|
109
|
+
* // Static API with ActionBarAction components
|
|
110
|
+
* function StaticExample() {
|
|
111
|
+
* return (
|
|
112
|
+
* <ActionBarRoot>
|
|
113
|
+
* <ActionBar id="table-actions" selectionCount={2} onClearSelection={handleClear}>
|
|
114
|
+
* <ActionBarAction onPress={handleArchive}>Archive</ActionBarAction>
|
|
115
|
+
* <ActionBarAction variant="primary" onPress={handleDelete}>Delete</ActionBarAction>
|
|
116
|
+
* </ActionBar>
|
|
117
|
+
* </ActionBarRoot>
|
|
118
|
+
* )
|
|
119
|
+
* }
|
|
120
|
+
*
|
|
121
|
+
* // Dynamic API with actions array and render function
|
|
122
|
+
* function DynamicExample() {
|
|
123
|
+
* const actions = [
|
|
124
|
+
* { id: 'archive', onPress: handleArchive, label: 'Archive' },
|
|
125
|
+
* { id: 'delete', onPress: handleDelete, variant: 'primary', label: 'Delete' }
|
|
126
|
+
* ]
|
|
127
|
+
*
|
|
128
|
+
* return (
|
|
129
|
+
* <ActionBarRoot>
|
|
130
|
+
* <ActionBar id="table-actions" selectionCount={2} onClearSelection={handleClear} actions={actions}>
|
|
131
|
+
* {(action, index) => (
|
|
132
|
+
* <ActionBarAction key={action.id} {...action}>
|
|
133
|
+
* {action.label}
|
|
134
|
+
* </ActionBarAction>
|
|
135
|
+
* )}
|
|
136
|
+
* </ActionBar>
|
|
137
|
+
* </ActionBarRoot>
|
|
138
|
+
* )
|
|
139
|
+
* }
|
|
140
|
+
* ```
|
|
141
|
+
* @remarks
|
|
142
|
+
* - Must be wrapped in ActionBarRoot for proper positioning
|
|
143
|
+
* - Only renders when selectionCount > 0
|
|
144
|
+
* - Static API: pass ActionBarAction components as children
|
|
145
|
+
* - Dynamic API: provide actions array and render function as children
|
|
146
|
+
* - Includes proper ARIA labels and live regions for accessibility
|
|
147
|
+
* @see {@link ActionBarProps} for all available props
|
|
148
|
+
* @see Source code in [Github](https://github.com/PayFit/hr-apps/tree/master/libs/shared/unity/components/src/components/action-bar)
|
|
149
|
+
* @see Design specs [Figma](https://www.figma.com/design/poaMyU7abAgL9VRhx4ygyy/Unity-DS-%3E-Components-Library)
|
|
150
|
+
* @see Design docs in [Payfit.design](https://www.payfit.design/)
|
|
151
|
+
*/
|
|
152
|
+
declare const ActionBar: React.ForwardRefExoticComponent<ActionBarProps & React.RefAttributes<HTMLDivElement>>;
|
|
153
|
+
export { ActionBar };
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { jsxs as n, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import T, { forwardRef as j, useCallback as z, isValidElement as D } from "react";
|
|
3
|
+
import { uyTv as R } from "@payfit/unity-themes";
|
|
4
|
+
import { Toolbar as S, Group as d } from "react-aria-components";
|
|
5
|
+
import { useIntl as _, FormattedMessage as l } from "react-intl";
|
|
6
|
+
import { Button as E } from "../button/Button.js";
|
|
7
|
+
import { IconButton as F } from "../icon-button/IconButton.js";
|
|
8
|
+
import { Icon as G } from "../icon/Icon.js";
|
|
9
|
+
import { Menu as K } from "../menu/Menu.js";
|
|
10
|
+
import { MenuContent as L } from "../menu/parts/MenuContent.js";
|
|
11
|
+
import { MenuItem as O } from "../menu/parts/MenuItem.js";
|
|
12
|
+
import { MenuTrigger as U } from "../menu/parts/MenuTrigger.js";
|
|
13
|
+
import { ActionBarAction as V } from "./parts/ActionBarAction.js";
|
|
14
|
+
const q = R({
|
|
15
|
+
slots: {
|
|
16
|
+
base: [
|
|
17
|
+
"uy:bg-surface-inverted uy:text-content-inverted",
|
|
18
|
+
"uy:rounded-100 uy:shadow-raising",
|
|
19
|
+
"uy:flex uy:items-center uy:gap-100 uy:md:gap-200 uy:py-50 uy:pl-50 uy:md:pl-200 uy:pr-50",
|
|
20
|
+
"uy:transition-all uy:duration-200",
|
|
21
|
+
"uy:max-w-full uy:min-w-0 uy:w-fit",
|
|
22
|
+
// Ensure responsive behavior
|
|
23
|
+
"uy:focus-visible:outline-2 uy:focus-visible:outline-solid uy:focus-visible:outline-offset-2 uy:focus-visible:outline-utility-focus-ring"
|
|
24
|
+
],
|
|
25
|
+
selectionArea: ["uy:flex uy:items-center uy:gap-100"],
|
|
26
|
+
actionArea: ["uy:flex uy:items-center uy:gap-100"],
|
|
27
|
+
selectionCountText: [
|
|
28
|
+
"uy:typography-body uy:whitespace-nowrap!",
|
|
29
|
+
"uy:sr-only",
|
|
30
|
+
"uy:md:not-sr-only"
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
}), H = j(
|
|
34
|
+
({
|
|
35
|
+
id: f,
|
|
36
|
+
selectionCount: u,
|
|
37
|
+
onClearSelection: p,
|
|
38
|
+
children: r,
|
|
39
|
+
actions: a,
|
|
40
|
+
renderSelectionText: c,
|
|
41
|
+
"aria-label": b,
|
|
42
|
+
onFocus: h,
|
|
43
|
+
onBlur: v,
|
|
44
|
+
...i
|
|
45
|
+
}, g) => {
|
|
46
|
+
var y;
|
|
47
|
+
const { base: x, selectionArea: A, selectionCountText: M, actionArea: k } = q(), m = _(), s = a !== void 0 && typeof r == "function", B = i["aria-keyshortcuts"] !== void 0, I = b ?? m.formatMessage({
|
|
48
|
+
id: "unity:component:action-bar:toolbar-label",
|
|
49
|
+
defaultMessage: "Bulk actions toolbar"
|
|
50
|
+
}), C = z(() => {
|
|
51
|
+
if (s) {
|
|
52
|
+
const e = r;
|
|
53
|
+
return a.map((t, P) => e(t, P));
|
|
54
|
+
}
|
|
55
|
+
return r;
|
|
56
|
+
}, [r, a, s]), w = !!r || "actions" in i && i.actions.length > 0, N = s ? a.filter((e) => e.variant !== "primary") : (y = T.Children.map(r, (e) => {
|
|
57
|
+
if (!D(e) || e.type !== V)
|
|
58
|
+
return null;
|
|
59
|
+
const t = e.props;
|
|
60
|
+
return t.variant === "primary" ? null : {
|
|
61
|
+
...t,
|
|
62
|
+
id: e.key ?? t.id,
|
|
63
|
+
onPress: t.onPress,
|
|
64
|
+
label: t.children,
|
|
65
|
+
variant: t.variant,
|
|
66
|
+
prefixIcon: t.prefixIcon
|
|
67
|
+
};
|
|
68
|
+
})) == null ? void 0 : y.filter(Boolean);
|
|
69
|
+
return /* @__PURE__ */ n(
|
|
70
|
+
S,
|
|
71
|
+
{
|
|
72
|
+
...i,
|
|
73
|
+
id: f,
|
|
74
|
+
ref: g,
|
|
75
|
+
className: x(),
|
|
76
|
+
"aria-label": I,
|
|
77
|
+
orientation: "horizontal",
|
|
78
|
+
tabIndex: -1,
|
|
79
|
+
onFocus: h,
|
|
80
|
+
onBlur: v,
|
|
81
|
+
children: [
|
|
82
|
+
/* @__PURE__ */ n(
|
|
83
|
+
d,
|
|
84
|
+
{
|
|
85
|
+
className: A(),
|
|
86
|
+
"aria-label": m.formatMessage({
|
|
87
|
+
id: "unity:component:action-bar:group:label",
|
|
88
|
+
defaultMessage: "Selection information"
|
|
89
|
+
}),
|
|
90
|
+
children: [
|
|
91
|
+
/* @__PURE__ */ n(
|
|
92
|
+
"div",
|
|
93
|
+
{
|
|
94
|
+
className: M(),
|
|
95
|
+
role: "status",
|
|
96
|
+
"aria-live": "polite",
|
|
97
|
+
"aria-atomic": "true",
|
|
98
|
+
children: [
|
|
99
|
+
c ? c(u) : /* @__PURE__ */ o(
|
|
100
|
+
l,
|
|
101
|
+
{
|
|
102
|
+
id: "unity:component:action-bar:selection-count-text",
|
|
103
|
+
defaultMessage: "{selectionCount, plural, =0 {no items} one {item} other {items}} selected",
|
|
104
|
+
values: { selectionCount: u }
|
|
105
|
+
}
|
|
106
|
+
),
|
|
107
|
+
B && /* @__PURE__ */ o("span", { className: "uy:sr-only", children: /* @__PURE__ */ o(
|
|
108
|
+
l,
|
|
109
|
+
{
|
|
110
|
+
id: "unity:component:action-bar:key-shortcuts-text",
|
|
111
|
+
defaultMessage: "Use {keyShortcuts} to focus the action bar",
|
|
112
|
+
values: {
|
|
113
|
+
keyShortcuts: i["aria-keyshortcuts"]
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
) })
|
|
117
|
+
]
|
|
118
|
+
}
|
|
119
|
+
),
|
|
120
|
+
/* @__PURE__ */ o(E, { color: "inverted", variant: "ghost", onPress: p, children: /* @__PURE__ */ o(
|
|
121
|
+
l,
|
|
122
|
+
{
|
|
123
|
+
id: "unity:component:action-bar:clear-selection-button",
|
|
124
|
+
defaultMessage: "Clear selection"
|
|
125
|
+
}
|
|
126
|
+
) })
|
|
127
|
+
]
|
|
128
|
+
}
|
|
129
|
+
),
|
|
130
|
+
w && /* @__PURE__ */ n(
|
|
131
|
+
d,
|
|
132
|
+
{
|
|
133
|
+
className: k(),
|
|
134
|
+
role: "group",
|
|
135
|
+
"aria-label": "Available actions",
|
|
136
|
+
children: [
|
|
137
|
+
C(),
|
|
138
|
+
/* @__PURE__ */ o("div", { className: "uy:block uy:md:hidden", children: /* @__PURE__ */ n(K, { children: [
|
|
139
|
+
/* @__PURE__ */ o(U, { asChild: !0, children: /* @__PURE__ */ o(
|
|
140
|
+
F,
|
|
141
|
+
{
|
|
142
|
+
icon: "DotsThreeOutlined",
|
|
143
|
+
label: "More actions",
|
|
144
|
+
variant: "ghost",
|
|
145
|
+
color: "inverted"
|
|
146
|
+
}
|
|
147
|
+
) }),
|
|
148
|
+
/* @__PURE__ */ o(L, { children: N.map((e) => /* @__PURE__ */ o(
|
|
149
|
+
O,
|
|
150
|
+
{
|
|
151
|
+
onAction: () => {
|
|
152
|
+
var t;
|
|
153
|
+
(t = e.onPress) == null || t.call(e, {});
|
|
154
|
+
},
|
|
155
|
+
prefix: e.prefixIcon ? /* @__PURE__ */ o(G, { src: e.prefixIcon, size: 20 }) : void 0,
|
|
156
|
+
children: e.label
|
|
157
|
+
},
|
|
158
|
+
e.id
|
|
159
|
+
)) })
|
|
160
|
+
] }) })
|
|
161
|
+
]
|
|
162
|
+
}
|
|
163
|
+
)
|
|
164
|
+
]
|
|
165
|
+
}
|
|
166
|
+
);
|
|
167
|
+
}
|
|
168
|
+
);
|
|
169
|
+
H.displayName = "ActionBar";
|
|
170
|
+
export {
|
|
171
|
+
H as ActionBar,
|
|
172
|
+
q as actionBar
|
|
173
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ButtonProps } from '../../button/Button.js';
|
|
2
|
+
export type ActionBarActionProps = Omit<ButtonProps, 'variant' | 'size' | 'color'> & {
|
|
3
|
+
/**
|
|
4
|
+
* The visual variant of the action.
|
|
5
|
+
* @default 'secondary'
|
|
6
|
+
*/
|
|
7
|
+
variant?: 'primary' | 'secondary';
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* The ActionBarAction component represents an individual action within an ActionBar.
|
|
11
|
+
* It renders as a button with appropriate styling for the inverted ActionBar context.
|
|
12
|
+
* @param {ActionBarActionProps} props - Props for the action. Identical to the `Button` component props.
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* import { ActionBarAction } from '@payfit/unity-components'
|
|
16
|
+
*
|
|
17
|
+
* function Example() {
|
|
18
|
+
* return (
|
|
19
|
+
* <ActionBarAction
|
|
20
|
+
* variant="primary"
|
|
21
|
+
* onPress={() => console.log('Action clicked')}
|
|
22
|
+
* prefixIcon="TrashOutlined"
|
|
23
|
+
* >
|
|
24
|
+
* Delete Items
|
|
25
|
+
* </ActionBarAction>
|
|
26
|
+
* )
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
* @remarks
|
|
30
|
+
* - Automatically uses inverted button variants to work on dark ActionBar background
|
|
31
|
+
* - Secondary actions use 'ghost-inverted' button variant
|
|
32
|
+
* - Primary actions use 'inverted-primary' button variant
|
|
33
|
+
* @see {@link ActionBarActionProps} for all available props
|
|
34
|
+
* @see Source code in {@link https://github.com/PayFit/hr-apps/tree/master/libs/shared/unity/components/src/components/action-bar GitHub}
|
|
35
|
+
* @see Design specs {@link https://www.figma.com/design/poaMyU7abAgL9VRhx4ygyy/Unity-DS-%3E-Components-Library Figma}
|
|
36
|
+
*/
|
|
37
|
+
declare const ActionBarAction: import('react').ForwardRefExoticComponent<Omit<ButtonProps, "size" | "color" | "variant"> & {
|
|
38
|
+
/**
|
|
39
|
+
* The visual variant of the action.
|
|
40
|
+
* @default 'secondary'
|
|
41
|
+
*/
|
|
42
|
+
variant?: "primary" | "secondary";
|
|
43
|
+
} & import('react').RefAttributes<HTMLButtonElement>>;
|
|
44
|
+
export { ActionBarAction };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as e } from "react";
|
|
3
|
+
import { uyTv as d } from "@payfit/unity-themes";
|
|
4
|
+
import { Button as m } from "../../button/Button.js";
|
|
5
|
+
const u = d({
|
|
6
|
+
base: "uy:w-auto",
|
|
7
|
+
variants: {
|
|
8
|
+
variant: {
|
|
9
|
+
primary: "",
|
|
10
|
+
secondary: "uy:hidden uy:md:block"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
defaultVariants: {
|
|
14
|
+
variant: "secondary"
|
|
15
|
+
}
|
|
16
|
+
}), y = e(
|
|
17
|
+
({ variant: r = "secondary", children: o, onPress: n, ...i }, c) => {
|
|
18
|
+
const t = {
|
|
19
|
+
primary: {
|
|
20
|
+
variant: "primary",
|
|
21
|
+
color: "inverted"
|
|
22
|
+
},
|
|
23
|
+
secondary: {
|
|
24
|
+
variant: "ghost",
|
|
25
|
+
color: "inverted"
|
|
26
|
+
}
|
|
27
|
+
}[r], s = u({ variant: r });
|
|
28
|
+
return /* @__PURE__ */ a("div", { className: s, children: /* @__PURE__ */ a(
|
|
29
|
+
m,
|
|
30
|
+
{
|
|
31
|
+
ref: c,
|
|
32
|
+
variant: t.variant,
|
|
33
|
+
color: t.color,
|
|
34
|
+
onPress: n,
|
|
35
|
+
size: "default",
|
|
36
|
+
...i,
|
|
37
|
+
children: o
|
|
38
|
+
}
|
|
39
|
+
) });
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
y.displayName = "ActionBarAction";
|
|
43
|
+
export {
|
|
44
|
+
y as ActionBarAction
|
|
45
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
2
|
+
export declare const actionBarRoot: import('tailwind-variants').TVReturnType<{
|
|
3
|
+
isVisible: {
|
|
4
|
+
true: string[];
|
|
5
|
+
false: string[];
|
|
6
|
+
};
|
|
7
|
+
}, undefined, string[], {
|
|
8
|
+
isVisible: {
|
|
9
|
+
true: string[];
|
|
10
|
+
false: string[];
|
|
11
|
+
};
|
|
12
|
+
}, undefined, import('tailwind-variants').TVReturnType<{
|
|
13
|
+
isVisible: {
|
|
14
|
+
true: string[];
|
|
15
|
+
false: string[];
|
|
16
|
+
};
|
|
17
|
+
}, undefined, string[], unknown, unknown, undefined>>;
|
|
18
|
+
export interface ActionBarRootProps extends PropsWithChildren {
|
|
19
|
+
/** Offset from the bottom of the table. It uses Unity's standard spacing tokens. */
|
|
20
|
+
offsetBottom?: '$25' | '$50' | '$75' | '$100' | '$125' | '$200' | '$300' | '$400' | '$500' | '$600' | '$800' | '$1000' | number;
|
|
21
|
+
isVisible?: boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The ActionBarRoot component provides positioning context for ActionBar components.
|
|
25
|
+
* It positions the ActionBar absolutely within a table container.
|
|
26
|
+
* @param {ActionBarRootProps} props - The props for the ActionBarRoot component
|
|
27
|
+
* @example
|
|
28
|
+
* ```tsx
|
|
29
|
+
* import { ActionBarRoot, ActionBar } from '@payfit/unity-components'
|
|
30
|
+
*
|
|
31
|
+
* function Example() {
|
|
32
|
+
* return (
|
|
33
|
+
* <ActionBarRoot>
|
|
34
|
+
* <ActionBar selectionCount={2} onClearSelection={handleClear}>
|
|
35
|
+
* </ActionBar>
|
|
36
|
+
* </ActionBarRoot>
|
|
37
|
+
* )
|
|
38
|
+
* }
|
|
39
|
+
* ```
|
|
40
|
+
* @see {@link ActionBarRootProps} for all available props
|
|
41
|
+
* @see Source code in {@link https://github.com/PayFit/hr-apps/tree/master/libs/shared/unity/components/src/components/action-bar GitHub}
|
|
42
|
+
*/
|
|
43
|
+
declare const ActionBarRoot: import('react').ForwardRefExoticComponent<ActionBarRootProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
44
|
+
export { ActionBarRoot };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { jsx as s } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as i } from "react";
|
|
3
|
+
import { uyTv as y } from "@payfit/unity-themes";
|
|
4
|
+
const c = y({
|
|
5
|
+
base: [
|
|
6
|
+
"uy:absolute uy:left-1/2 uy:-translate-x-1/2 uy:z-10",
|
|
7
|
+
"uy:duration-200 uy:ease-out",
|
|
8
|
+
"uy:bottom-[calc(var(--uy-spacing-200)+var(--uy-spacing-offset-bottom))]",
|
|
9
|
+
"uy:starting:opacity-0"
|
|
10
|
+
],
|
|
11
|
+
variants: {
|
|
12
|
+
isVisible: {
|
|
13
|
+
true: ["uy:animate-slide-up-fade-in"],
|
|
14
|
+
false: [
|
|
15
|
+
// Use transform instead of changing bottom position
|
|
16
|
+
"uy:animate-slide-down-fade-out",
|
|
17
|
+
"uy:pointer-events-none",
|
|
18
|
+
"uy:opacity-0",
|
|
19
|
+
"uy:translate-y-10"
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}), p = i(
|
|
24
|
+
({ children: o, offsetBottom: a = 0, isVisible: t = !1, ...n }, u) => {
|
|
25
|
+
const e = typeof a == "number" ? a : a.replace("$", ""), r = typeof a == "number" ? `calc(var(--uy-spacing)*${e})` : `var(--uy-spacing-${e})`;
|
|
26
|
+
return /* @__PURE__ */ s(
|
|
27
|
+
"div",
|
|
28
|
+
{
|
|
29
|
+
ref: u,
|
|
30
|
+
className: c({ isVisible: t }),
|
|
31
|
+
...n,
|
|
32
|
+
style: {
|
|
33
|
+
"--uy-spacing-offset-bottom": r
|
|
34
|
+
},
|
|
35
|
+
tabIndex: -1,
|
|
36
|
+
inert: t ? void 0 : "",
|
|
37
|
+
children: o
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
p.displayName = "ActionBarRoot";
|
|
43
|
+
export {
|
|
44
|
+
p as ActionBarRoot,
|
|
45
|
+
c as actionBarRoot
|
|
46
|
+
};
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { jsx as D } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef as H, useState as k } from "react";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
const V = U({
|
|
3
|
+
import { uyTv as F } from "@payfit/unity-themes";
|
|
4
|
+
import { useFocusVisible as E, useHover as x, useFocus as N } from "@react-aria/interactions";
|
|
5
|
+
import { useObjectRef as S, mergeProps as c } from "@react-aria/utils";
|
|
6
|
+
import { useButton as U } from "react-aria";
|
|
7
|
+
const V = F({
|
|
9
8
|
base: "uy:group uy:cursor-pointer",
|
|
10
9
|
variants: {
|
|
11
10
|
isUnstyled: {
|
|
@@ -18,48 +17,48 @@ const V = U({
|
|
|
18
17
|
}
|
|
19
18
|
}), j = H((d, s) => {
|
|
20
19
|
const {
|
|
21
|
-
asElement:
|
|
20
|
+
asElement: i = "div",
|
|
22
21
|
isUnstyled: u = !1,
|
|
23
|
-
className:
|
|
22
|
+
className: p,
|
|
24
23
|
children: o,
|
|
25
24
|
...e
|
|
26
25
|
} = d;
|
|
27
|
-
s =
|
|
28
|
-
const { isFocusVisible:
|
|
26
|
+
s = S(s);
|
|
27
|
+
const { isFocusVisible: m } = E(), { isHovered: f, hoverProps: n } = x({
|
|
29
28
|
onHoverStart: e.onHoverStart,
|
|
30
29
|
onHoverEnd: e.onHoverEnd,
|
|
31
30
|
onHoverChange: e.onHoverChange,
|
|
32
31
|
isDisabled: e.isDisabled
|
|
33
|
-
}), [b,
|
|
34
|
-
onFocusChange:
|
|
32
|
+
}), [b, v] = k(!1), { focusProps: r } = N({
|
|
33
|
+
onFocusChange: v,
|
|
35
34
|
isDisabled: e.isDisabled
|
|
36
|
-
}), { buttonProps: a, isPressed:
|
|
35
|
+
}), { buttonProps: a, isPressed: y } = U(
|
|
37
36
|
{
|
|
38
37
|
...e,
|
|
39
|
-
elementType:
|
|
38
|
+
elementType: i
|
|
40
39
|
},
|
|
41
40
|
s
|
|
42
|
-
),
|
|
41
|
+
), g = i, P = (t) => {
|
|
43
42
|
if (e.isDisabled) {
|
|
44
43
|
t.preventDefault(), t.stopPropagation();
|
|
45
44
|
return;
|
|
46
45
|
}
|
|
47
|
-
const l = c(a,
|
|
46
|
+
const l = c(a, n, r);
|
|
48
47
|
l.onClick && l.onClick(t);
|
|
49
|
-
}, C = c(a,
|
|
48
|
+
}, C = c(a, n, r), { onClick: w, ...h } = C;
|
|
50
49
|
return /* @__PURE__ */ D(
|
|
51
|
-
|
|
50
|
+
g,
|
|
52
51
|
{
|
|
53
52
|
...h,
|
|
54
53
|
onClick: P,
|
|
55
|
-
className:
|
|
54
|
+
className: V({ isUnstyled: u, className: p }),
|
|
56
55
|
ref: s,
|
|
57
56
|
children: typeof o == "function" ? o({
|
|
58
57
|
isHovered: f,
|
|
59
|
-
isPressed:
|
|
58
|
+
isPressed: y,
|
|
60
59
|
isFocused: b,
|
|
61
60
|
isDisabled: !!e.isDisabled,
|
|
62
|
-
isFocusVisible:
|
|
61
|
+
isFocusVisible: m,
|
|
63
62
|
isPending: !1,
|
|
64
63
|
defaultChildren: null
|
|
65
64
|
}) : o
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs as f, jsx as r } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef as b } from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { uyTv as g } from "@payfit/unity-themes";
|
|
4
4
|
import { CircularIconButton as m } from "../icon-button/CircularIconButton.js";
|
|
5
5
|
import { Icon as p } from "../icon/Icon.js";
|
|
6
6
|
const w = g({
|
|
@@ -7,7 +7,7 @@ export type AlertContentProps = Omit<TextProps, 'variant' | 'color' | 'className
|
|
|
7
7
|
*/
|
|
8
8
|
asElement?: ContentElements;
|
|
9
9
|
};
|
|
10
|
-
declare const AlertContent: import('react').ForwardRefExoticComponent<Omit<TextProps, "
|
|
10
|
+
declare const AlertContent: import('react').ForwardRefExoticComponent<Omit<TextProps, "color" | "className" | "variant"> & {
|
|
11
11
|
/**
|
|
12
12
|
* The underlying HTML element to render the title as.
|
|
13
13
|
* @default 'p'
|
|
@@ -7,7 +7,7 @@ export type AlertTitleProps = Omit<TextProps, 'variant' | 'color' | 'className'>
|
|
|
7
7
|
*/
|
|
8
8
|
asElement?: TitleElements;
|
|
9
9
|
};
|
|
10
|
-
declare const AlertTitle: import('react').ForwardRefExoticComponent<Omit<TextProps, "
|
|
10
|
+
declare const AlertTitle: import('react').ForwardRefExoticComponent<Omit<TextProps, "color" | "className" | "variant"> & {
|
|
11
11
|
/**
|
|
12
12
|
* The underlying HTML element to render the title as.
|
|
13
13
|
* @default 'h3'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs as u, jsx as a } from "react/jsx-runtime";
|
|
2
2
|
import { useMemo as h, cloneElement as n } from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { uyTv as f } from "@payfit/unity-themes";
|
|
4
4
|
const m = f({
|
|
5
5
|
slots: {
|
|
6
6
|
root: "uy:relative uy:inline-block uy:leading-[0]",
|