@uppsala-designsystem/ui 1.5.0
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/LICENSE +7 -0
- package/README.md +9 -0
- package/dist/cjs/components/Alert/Alert.js +18 -0
- package/dist/cjs/components/Avatar/Avatar.js +31 -0
- package/dist/cjs/components/Badge/Badge.js +23 -0
- package/dist/cjs/components/Badge/BadgePosition.js +21 -0
- package/dist/cjs/components/Badge/index.js +17 -0
- package/dist/cjs/components/Breadcrumbs/Breadcrumbs.js +28 -0
- package/dist/cjs/components/Breadcrumbs/BreadcrumbsItem.js +11 -0
- package/dist/cjs/components/Breadcrumbs/BreadcrumbsLink.js +12 -0
- package/dist/cjs/components/Breadcrumbs/BreadcrumbsList.js +21 -0
- package/dist/cjs/components/Breadcrumbs/index.js +39 -0
- package/dist/cjs/components/Button/Button.js +25 -0
- package/dist/cjs/components/Card/Card.js +43 -0
- package/dist/cjs/components/Card/CardBlock.js +14 -0
- package/dist/cjs/components/Card/index.js +23 -0
- package/dist/cjs/components/Checkbox/Checkbox.js +21 -0
- package/dist/cjs/components/Chip/Chips.js +52 -0
- package/dist/cjs/components/Chip/index.js +21 -0
- package/dist/cjs/components/Details/Details.js +43 -0
- package/dist/cjs/components/Details/DetailsContent.js +17 -0
- package/dist/cjs/components/Details/DetailsSummary.js +18 -0
- package/dist/cjs/components/Details/index.js +26 -0
- package/dist/cjs/components/Dialog/Dialog.js +82 -0
- package/dist/cjs/components/Dialog/DialogBlock.js +30 -0
- package/dist/cjs/components/Dialog/DialogTrigger.js +33 -0
- package/dist/cjs/components/Dialog/DialogTriggerContext.js +28 -0
- package/dist/cjs/components/Dialog/index.js +34 -0
- package/dist/cjs/components/Divider/Divider.js +20 -0
- package/dist/cjs/components/Dropdown/Dropdown.js +40 -0
- package/dist/cjs/components/Dropdown/DropdownButton.js +12 -0
- package/dist/cjs/components/Dropdown/DropdownHeading.js +12 -0
- package/dist/cjs/components/Dropdown/DropdownItem.js +11 -0
- package/dist/cjs/components/Dropdown/DropdownList.js +11 -0
- package/dist/cjs/components/Dropdown/DropdownTrigger.js +13 -0
- package/dist/cjs/components/Dropdown/DropdownTriggerContext.js +29 -0
- package/dist/cjs/components/Dropdown/index.js +49 -0
- package/dist/cjs/components/ErrorSummary/ErrorSummary.js +37 -0
- package/dist/cjs/components/ErrorSummary/ErrorSummaryHeading.js +18 -0
- package/dist/cjs/components/ErrorSummary/ErrorSummaryItem.js +19 -0
- package/dist/cjs/components/ErrorSummary/ErrorSummaryLink.js +15 -0
- package/dist/cjs/components/ErrorSummary/ErrorSummaryList.js +12 -0
- package/dist/cjs/components/ErrorSummary/index.js +41 -0
- package/dist/cjs/components/Field/Field.js +28 -0
- package/dist/cjs/components/Field/FieldAffix.js +37 -0
- package/dist/cjs/components/Field/FieldCounter.js +40 -0
- package/dist/cjs/components/Field/FieldDescription.js +11 -0
- package/dist/cjs/components/Field/fieldObserver.js +102 -0
- package/dist/cjs/components/Field/index.js +35 -0
- package/dist/cjs/components/Fieldset/Fieldset.js +27 -0
- package/dist/cjs/components/Fieldset/FieldsetDescription.js +20 -0
- package/dist/cjs/components/Fieldset/FieldsetLegend.js +18 -0
- package/dist/cjs/components/Fieldset/index.js +32 -0
- package/dist/cjs/components/Heading/Heading.js +20 -0
- package/dist/cjs/components/InfoCard/InfoCard.js +24 -0
- package/dist/cjs/components/Input/Input.js +22 -0
- package/dist/cjs/components/Label/Label.js +20 -0
- package/dist/cjs/components/Link/Link.js +21 -0
- package/dist/cjs/components/List/ListItem.js +13 -0
- package/dist/cjs/components/List/Lists.js +41 -0
- package/dist/cjs/components/List/index.js +19 -0
- package/dist/cjs/components/Pagination/Pagination.js +32 -0
- package/dist/cjs/components/Pagination/PaginationButton.js +20 -0
- package/dist/cjs/components/Pagination/PaginationItem.js +23 -0
- package/dist/cjs/components/Pagination/PaginationList.js +25 -0
- package/dist/cjs/components/Pagination/index.js +39 -0
- package/dist/cjs/components/Paragraph/Paragraph.js +21 -0
- package/dist/cjs/components/Popover/Popover.js +135 -0
- package/dist/cjs/components/Popover/PopoverTrigger.js +45 -0
- package/dist/cjs/components/Popover/PopoverTriggerContext.js +27 -0
- package/dist/cjs/components/Popover/index.js +28 -0
- package/dist/cjs/components/Radio/Radio.js +21 -0
- package/dist/cjs/components/Search/Search.js +28 -0
- package/dist/cjs/components/Search/SearchButton.js +21 -0
- package/dist/cjs/components/Search/SearchClear.js +47 -0
- package/dist/cjs/components/Search/SearchInput.js +22 -0
- package/dist/cjs/components/Search/index.js +37 -0
- package/dist/cjs/components/Select/Select.js +31 -0
- package/dist/cjs/components/Select/SelectOptgroup.js +24 -0
- package/dist/cjs/components/Select/SelectOption.js +22 -0
- package/dist/cjs/components/Select/index.js +26 -0
- package/dist/cjs/components/Skeleton/Skeleton.js +27 -0
- package/dist/cjs/components/SkipLink/SkipLink.js +19 -0
- package/dist/cjs/components/Spinner/Spinner.js +23 -0
- package/dist/cjs/components/Suggestion/Suggestion.js +101 -0
- package/dist/cjs/components/Suggestion/SuggestionChips.js +13 -0
- package/dist/cjs/components/Suggestion/SuggestionClear.js +24 -0
- package/dist/cjs/components/Suggestion/SuggestionEmpty.js +23 -0
- package/dist/cjs/components/Suggestion/SuggestionInput.js +34 -0
- package/dist/cjs/components/Suggestion/SuggestionList.js +51 -0
- package/dist/cjs/components/Suggestion/SuggestionOption.js +11 -0
- package/dist/cjs/components/Suggestion/index.js +71 -0
- package/dist/cjs/components/Switch/Switch.js +20 -0
- package/dist/cjs/components/Table/Table.js +37 -0
- package/dist/cjs/components/Table/TableBody.js +22 -0
- package/dist/cjs/components/Table/TableCell.js +17 -0
- package/dist/cjs/components/Table/TableFoot.js +22 -0
- package/dist/cjs/components/Table/TableHead.js +22 -0
- package/dist/cjs/components/Table/TableHeaderCell.js +17 -0
- package/dist/cjs/components/Table/TableRow.js +20 -0
- package/dist/cjs/components/Table/index.js +59 -0
- package/dist/cjs/components/Tabs/Tabs.js +43 -0
- package/dist/cjs/components/Tabs/TabsList.js +23 -0
- package/dist/cjs/components/Tabs/TabsPanel.js +31 -0
- package/dist/cjs/components/Tabs/TabsTab.js +21 -0
- package/dist/cjs/components/Tabs/index.js +36 -0
- package/dist/cjs/components/Tag/Tag.js +18 -0
- package/dist/cjs/components/Textarea/Textarea.js +18 -0
- package/dist/cjs/components/Textfield/Textfield.js +27 -0
- package/dist/cjs/components/Timeline/Timeline.js +25 -0
- package/dist/cjs/components/Timeline/TimelineItem.js +23 -0
- package/dist/cjs/components/Timeline/index.js +27 -0
- package/dist/cjs/components/ToggleGroup/ToggleGroup.js +129 -0
- package/dist/cjs/components/ToggleGroup/ToggleGroupItem.js +20 -0
- package/dist/cjs/components/ToggleGroup/index.js +23 -0
- package/dist/cjs/components/ToggleGroup/useToggleGroupitem.js +32 -0
- package/dist/cjs/components/Tooltip/Tooltip.js +122 -0
- package/dist/cjs/components/ValidationMessage/ValidationMessage.js +20 -0
- package/dist/cjs/index.js +242 -0
- package/dist/cjs/layouts/Container/Container.js +19 -0
- package/dist/cjs/layouts/Grid/GridCol.js +12 -0
- package/dist/cjs/layouts/Grid/GridRow.js +12 -0
- package/dist/cjs/utilities/RovingFocus/RovingFocusItem.js +72 -0
- package/dist/cjs/utilities/RovingFocus/RovingFocusRoot.js +72 -0
- package/dist/cjs/utilities/RovingFocus/useRovingFocus.js +43 -0
- package/dist/cjs/utilities/hooks/useCheckboxGroup/useCheckboxGroup.js +121 -0
- package/dist/cjs/utilities/hooks/useDebounceCallback/useDebounceCallback.js +27 -0
- package/dist/cjs/utilities/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +9 -0
- package/dist/cjs/utilities/hooks/useMediaQuery/useMediaQuery.js +49 -0
- package/dist/cjs/utilities/hooks/useMergeRefs/useMergeRefs.js +57 -0
- package/dist/cjs/utilities/hooks/usePagination/usePagination.js +97 -0
- package/dist/cjs/utilities/hooks/useRadioGroup/useRadioGroup.js +99 -0
- package/dist/cjs/utilities/hooks/useSynchronizedAnimation/useSynchronizedAnimation.js +48 -0
- package/dist/cjs/utilities/omit/omit.js +28 -0
- package/dist/esm/components/Alert/Alert.js +16 -0
- package/dist/esm/components/Avatar/Avatar.js +29 -0
- package/dist/esm/components/Badge/Badge.js +21 -0
- package/dist/esm/components/Badge/BadgePosition.js +19 -0
- package/dist/esm/components/Badge/index.js +14 -0
- package/dist/esm/components/Breadcrumbs/Breadcrumbs.js +26 -0
- package/dist/esm/components/Breadcrumbs/BreadcrumbsItem.js +9 -0
- package/dist/esm/components/Breadcrumbs/BreadcrumbsLink.js +10 -0
- package/dist/esm/components/Breadcrumbs/BreadcrumbsList.js +19 -0
- package/dist/esm/components/Breadcrumbs/index.js +34 -0
- package/dist/esm/components/Button/Button.js +23 -0
- package/dist/esm/components/Card/Card.js +41 -0
- package/dist/esm/components/Card/CardBlock.js +12 -0
- package/dist/esm/components/Card/index.js +20 -0
- package/dist/esm/components/Checkbox/Checkbox.js +19 -0
- package/dist/esm/components/Chip/Chips.js +47 -0
- package/dist/esm/components/Chip/index.js +15 -0
- package/dist/esm/components/Details/Details.js +41 -0
- package/dist/esm/components/Details/DetailsContent.js +15 -0
- package/dist/esm/components/Details/DetailsSummary.js +16 -0
- package/dist/esm/components/Details/index.js +22 -0
- package/dist/esm/components/Dialog/Dialog.js +80 -0
- package/dist/esm/components/Dialog/DialogBlock.js +28 -0
- package/dist/esm/components/Dialog/DialogTrigger.js +31 -0
- package/dist/esm/components/Dialog/DialogTriggerContext.js +25 -0
- package/dist/esm/components/Dialog/index.js +29 -0
- package/dist/esm/components/Divider/Divider.js +18 -0
- package/dist/esm/components/Dropdown/Dropdown.js +38 -0
- package/dist/esm/components/Dropdown/DropdownButton.js +10 -0
- package/dist/esm/components/Dropdown/DropdownHeading.js +10 -0
- package/dist/esm/components/Dropdown/DropdownItem.js +9 -0
- package/dist/esm/components/Dropdown/DropdownList.js +9 -0
- package/dist/esm/components/Dropdown/DropdownTrigger.js +11 -0
- package/dist/esm/components/Dropdown/DropdownTriggerContext.js +27 -0
- package/dist/esm/components/Dropdown/index.js +41 -0
- package/dist/esm/components/ErrorSummary/ErrorSummary.js +34 -0
- package/dist/esm/components/ErrorSummary/ErrorSummaryHeading.js +16 -0
- package/dist/esm/components/ErrorSummary/ErrorSummaryItem.js +17 -0
- package/dist/esm/components/ErrorSummary/ErrorSummaryLink.js +13 -0
- package/dist/esm/components/ErrorSummary/ErrorSummaryList.js +10 -0
- package/dist/esm/components/ErrorSummary/index.js +35 -0
- package/dist/esm/components/Field/Field.js +26 -0
- package/dist/esm/components/Field/FieldAffix.js +34 -0
- package/dist/esm/components/Field/FieldCounter.js +38 -0
- package/dist/esm/components/Field/FieldDescription.js +9 -0
- package/dist/esm/components/Field/fieldObserver.js +97 -0
- package/dist/esm/components/Field/index.js +29 -0
- package/dist/esm/components/Fieldset/Fieldset.js +25 -0
- package/dist/esm/components/Fieldset/FieldsetDescription.js +18 -0
- package/dist/esm/components/Fieldset/FieldsetLegend.js +16 -0
- package/dist/esm/components/Fieldset/index.js +28 -0
- package/dist/esm/components/Heading/Heading.js +18 -0
- package/dist/esm/components/InfoCard/InfoCard.js +22 -0
- package/dist/esm/components/Input/Input.js +20 -0
- package/dist/esm/components/Label/Label.js +18 -0
- package/dist/esm/components/Link/Link.js +19 -0
- package/dist/esm/components/List/ListItem.js +11 -0
- package/dist/esm/components/List/Lists.js +38 -0
- package/dist/esm/components/List/index.js +14 -0
- package/dist/esm/components/Pagination/Pagination.js +30 -0
- package/dist/esm/components/Pagination/PaginationButton.js +18 -0
- package/dist/esm/components/Pagination/PaginationItem.js +21 -0
- package/dist/esm/components/Pagination/PaginationList.js +23 -0
- package/dist/esm/components/Pagination/index.js +34 -0
- package/dist/esm/components/Paragraph/Paragraph.js +19 -0
- package/dist/esm/components/Popover/Popover.js +133 -0
- package/dist/esm/components/Popover/PopoverTrigger.js +43 -0
- package/dist/esm/components/Popover/PopoverTriggerContext.js +24 -0
- package/dist/esm/components/Popover/index.js +24 -0
- package/dist/esm/components/Radio/Radio.js +19 -0
- package/dist/esm/components/Search/Search.js +26 -0
- package/dist/esm/components/Search/SearchButton.js +19 -0
- package/dist/esm/components/Search/SearchClear.js +44 -0
- package/dist/esm/components/Search/SearchInput.js +20 -0
- package/dist/esm/components/Search/index.js +32 -0
- package/dist/esm/components/Select/Select.js +29 -0
- package/dist/esm/components/Select/SelectOptgroup.js +22 -0
- package/dist/esm/components/Select/SelectOption.js +20 -0
- package/dist/esm/components/Select/index.js +22 -0
- package/dist/esm/components/Skeleton/Skeleton.js +25 -0
- package/dist/esm/components/SkipLink/SkipLink.js +17 -0
- package/dist/esm/components/Spinner/Spinner.js +21 -0
- package/dist/esm/components/Suggestion/Suggestion.js +98 -0
- package/dist/esm/components/Suggestion/SuggestionChips.js +11 -0
- package/dist/esm/components/Suggestion/SuggestionClear.js +22 -0
- package/dist/esm/components/Suggestion/SuggestionEmpty.js +21 -0
- package/dist/esm/components/Suggestion/SuggestionInput.js +32 -0
- package/dist/esm/components/Suggestion/SuggestionList.js +49 -0
- package/dist/esm/components/Suggestion/SuggestionOption.js +9 -0
- package/dist/esm/components/Suggestion/index.js +56 -0
- package/dist/esm/components/Switch/Switch.js +18 -0
- package/dist/esm/components/Table/Table.js +35 -0
- package/dist/esm/components/Table/TableBody.js +20 -0
- package/dist/esm/components/Table/TableCell.js +15 -0
- package/dist/esm/components/Table/TableFoot.js +20 -0
- package/dist/esm/components/Table/TableHead.js +20 -0
- package/dist/esm/components/Table/TableHeaderCell.js +15 -0
- package/dist/esm/components/Table/TableRow.js +18 -0
- package/dist/esm/components/Table/index.js +51 -0
- package/dist/esm/components/Tabs/Tabs.js +40 -0
- package/dist/esm/components/Tabs/TabsList.js +21 -0
- package/dist/esm/components/Tabs/TabsPanel.js +29 -0
- package/dist/esm/components/Tabs/TabsTab.js +19 -0
- package/dist/esm/components/Tabs/index.js +31 -0
- package/dist/esm/components/Tag/Tag.js +16 -0
- package/dist/esm/components/Textarea/Textarea.js +16 -0
- package/dist/esm/components/Textfield/Textfield.js +25 -0
- package/dist/esm/components/Timeline/Timeline.js +23 -0
- package/dist/esm/components/Timeline/TimelineItem.js +21 -0
- package/dist/esm/components/Timeline/index.js +24 -0
- package/dist/esm/components/ToggleGroup/ToggleGroup.js +126 -0
- package/dist/esm/components/ToggleGroup/ToggleGroupItem.js +18 -0
- package/dist/esm/components/ToggleGroup/index.js +20 -0
- package/dist/esm/components/ToggleGroup/useToggleGroupitem.js +30 -0
- package/dist/esm/components/Tooltip/Tooltip.js +120 -0
- package/dist/esm/components/ValidationMessage/ValidationMessage.js +18 -0
- package/dist/esm/index.js +112 -0
- package/dist/esm/layouts/Container/Container.js +17 -0
- package/dist/esm/layouts/Grid/GridCol.js +10 -0
- package/dist/esm/layouts/Grid/GridRow.js +10 -0
- package/dist/esm/utilities/RovingFocus/RovingFocusItem.js +68 -0
- package/dist/esm/utilities/RovingFocus/RovingFocusRoot.js +69 -0
- package/dist/esm/utilities/RovingFocus/useRovingFocus.js +41 -0
- package/dist/esm/utilities/hooks/useCheckboxGroup/useCheckboxGroup.js +119 -0
- package/dist/esm/utilities/hooks/useDebounceCallback/useDebounceCallback.js +25 -0
- package/dist/esm/utilities/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +7 -0
- package/dist/esm/utilities/hooks/useMediaQuery/useMediaQuery.js +47 -0
- package/dist/esm/utilities/hooks/useMergeRefs/useMergeRefs.js +55 -0
- package/dist/esm/utilities/hooks/usePagination/usePagination.js +95 -0
- package/dist/esm/utilities/hooks/useRadioGroup/useRadioGroup.js +97 -0
- package/dist/esm/utilities/hooks/useSynchronizedAnimation/useSynchronizedAnimation.js +46 -0
- package/dist/esm/utilities/omit/omit.js +26 -0
- package/dist/react-types.d.ts +11 -0
- package/dist/types/colors.d.ts +24 -0
- package/dist/types/colors.d.ts.map +1 -0
- package/dist/types/components/Alert/Alert.d.ts +27 -0
- package/dist/types/components/Alert/Alert.d.ts.map +1 -0
- package/dist/types/components/Alert/index.d.ts +3 -0
- package/dist/types/components/Alert/index.d.ts.map +1 -0
- package/dist/types/components/Avatar/Avatar.d.ts +72 -0
- package/dist/types/components/Avatar/Avatar.d.ts.map +1 -0
- package/dist/types/components/Avatar/index.d.ts +3 -0
- package/dist/types/components/Avatar/index.d.ts.map +1 -0
- package/dist/types/components/Badge/Badge.d.ts +58 -0
- package/dist/types/components/Badge/Badge.d.ts.map +1 -0
- package/dist/types/components/Badge/BadgePosition.d.ts +41 -0
- package/dist/types/components/Badge/BadgePosition.d.ts.map +1 -0
- package/dist/types/components/Badge/index.d.ts +23 -0
- package/dist/types/components/Badge/index.d.ts.map +1 -0
- package/dist/types/components/Breadcrumbs/Breadcrumbs.d.ts +36 -0
- package/dist/types/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -0
- package/dist/types/components/Breadcrumbs/BreadcrumbsItem.d.ts +4 -0
- package/dist/types/components/Breadcrumbs/BreadcrumbsItem.d.ts.map +1 -0
- package/dist/types/components/Breadcrumbs/BreadcrumbsLink.d.ts +7 -0
- package/dist/types/components/Breadcrumbs/BreadcrumbsLink.d.ts.map +1 -0
- package/dist/types/components/Breadcrumbs/BreadcrumbsList.d.ts +4 -0
- package/dist/types/components/Breadcrumbs/BreadcrumbsList.d.ts.map +1 -0
- package/dist/types/components/Breadcrumbs/index.d.ts +37 -0
- package/dist/types/components/Breadcrumbs/index.d.ts.map +1 -0
- package/dist/types/components/Button/Button.d.ts +77 -0
- package/dist/types/components/Button/Button.d.ts.map +1 -0
- package/dist/types/components/Button/index.d.ts +3 -0
- package/dist/types/components/Button/index.d.ts.map +1 -0
- package/dist/types/components/Card/Card.d.ts +44 -0
- package/dist/types/components/Card/Card.d.ts.map +1 -0
- package/dist/types/components/Card/CardBlock.d.ts +16 -0
- package/dist/types/components/Card/CardBlock.d.ts.map +1 -0
- package/dist/types/components/Card/index.d.ts +24 -0
- package/dist/types/components/Card/index.d.ts.map +1 -0
- package/dist/types/components/Checkbox/Checkbox.d.ts +34 -0
- package/dist/types/components/Checkbox/Checkbox.d.ts.map +1 -0
- package/dist/types/components/Checkbox/index.d.ts +3 -0
- package/dist/types/components/Checkbox/index.d.ts.map +1 -0
- package/dist/types/components/Chip/Chips.d.ts +43 -0
- package/dist/types/components/Chip/Chips.d.ts.map +1 -0
- package/dist/types/components/Chip/index.d.ts +18 -0
- package/dist/types/components/Chip/index.d.ts.map +1 -0
- package/dist/types/components/Details/Details.d.ts +50 -0
- package/dist/types/components/Details/Details.d.ts.map +1 -0
- package/dist/types/components/Details/DetailsContent.d.ts +10 -0
- package/dist/types/components/Details/DetailsContent.d.ts.map +1 -0
- package/dist/types/components/Details/DetailsSummary.d.ts +16 -0
- package/dist/types/components/Details/DetailsSummary.d.ts.map +1 -0
- package/dist/types/components/Details/index.d.ts +22 -0
- package/dist/types/components/Details/index.d.ts.map +1 -0
- package/dist/types/components/Dialog/Dialog.d.ts +95 -0
- package/dist/types/components/Dialog/Dialog.d.ts.map +1 -0
- package/dist/types/components/Dialog/DialogBlock.d.ts +32 -0
- package/dist/types/components/Dialog/DialogBlock.d.ts.map +1 -0
- package/dist/types/components/Dialog/DialogTrigger.d.ts +23 -0
- package/dist/types/components/Dialog/DialogTrigger.d.ts.map +1 -0
- package/dist/types/components/Dialog/DialogTriggerContext.d.ts +21 -0
- package/dist/types/components/Dialog/DialogTriggerContext.d.ts.map +1 -0
- package/dist/types/components/Dialog/index.d.ts +46 -0
- package/dist/types/components/Dialog/index.d.ts.map +1 -0
- package/dist/types/components/Divider/Divider.d.ts +10 -0
- package/dist/types/components/Divider/Divider.d.ts.map +1 -0
- package/dist/types/components/Divider/index.d.ts +3 -0
- package/dist/types/components/Divider/index.d.ts.map +1 -0
- package/dist/types/components/Dropdown/Dropdown.d.ts +46 -0
- package/dist/types/components/Dropdown/Dropdown.d.ts.map +1 -0
- package/dist/types/components/Dropdown/DropdownButton.d.ts +4 -0
- package/dist/types/components/Dropdown/DropdownButton.d.ts.map +1 -0
- package/dist/types/components/Dropdown/DropdownHeading.d.ts +9 -0
- package/dist/types/components/Dropdown/DropdownHeading.d.ts.map +1 -0
- package/dist/types/components/Dropdown/DropdownItem.d.ts +4 -0
- package/dist/types/components/Dropdown/DropdownItem.d.ts.map +1 -0
- package/dist/types/components/Dropdown/DropdownList.d.ts +4 -0
- package/dist/types/components/Dropdown/DropdownList.d.ts.map +1 -0
- package/dist/types/components/Dropdown/DropdownTrigger.d.ts +4 -0
- package/dist/types/components/Dropdown/DropdownTrigger.d.ts.map +1 -0
- package/dist/types/components/Dropdown/DropdownTriggerContext.d.ts +25 -0
- package/dist/types/components/Dropdown/DropdownTriggerContext.d.ts.map +1 -0
- package/dist/types/components/Dropdown/index.d.ts +48 -0
- package/dist/types/components/Dropdown/index.d.ts.map +1 -0
- package/dist/types/components/ErrorSummary/ErrorSummary.d.ts +31 -0
- package/dist/types/components/ErrorSummary/ErrorSummary.d.ts.map +1 -0
- package/dist/types/components/ErrorSummary/ErrorSummaryHeading.d.ts +9 -0
- package/dist/types/components/ErrorSummary/ErrorSummaryHeading.d.ts.map +1 -0
- package/dist/types/components/ErrorSummary/ErrorSummaryItem.d.ts +12 -0
- package/dist/types/components/ErrorSummary/ErrorSummaryItem.d.ts.map +1 -0
- package/dist/types/components/ErrorSummary/ErrorSummaryLink.d.ts +10 -0
- package/dist/types/components/ErrorSummary/ErrorSummaryLink.d.ts.map +1 -0
- package/dist/types/components/ErrorSummary/ErrorSummaryList.d.ts +6 -0
- package/dist/types/components/ErrorSummary/ErrorSummaryList.d.ts.map +1 -0
- package/dist/types/components/ErrorSummary/index.d.ts +47 -0
- package/dist/types/components/ErrorSummary/index.d.ts.map +1 -0
- package/dist/types/components/Field/Field.d.ts +28 -0
- package/dist/types/components/Field/Field.d.ts.map +1 -0
- package/dist/types/components/Field/FieldAffix.d.ts +27 -0
- package/dist/types/components/Field/FieldAffix.d.ts.map +1 -0
- package/dist/types/components/Field/FieldCounter.d.ts +58 -0
- package/dist/types/components/Field/FieldCounter.d.ts.map +1 -0
- package/dist/types/components/Field/FieldDescription.d.ts +4 -0
- package/dist/types/components/Field/FieldDescription.d.ts.map +1 -0
- package/dist/types/components/Field/fieldObserver.d.ts +5 -0
- package/dist/types/components/Field/fieldObserver.d.ts.map +1 -0
- package/dist/types/components/Field/index.d.ts +35 -0
- package/dist/types/components/Field/index.d.ts.map +1 -0
- package/dist/types/components/Fieldset/Fieldset.d.ts +20 -0
- package/dist/types/components/Fieldset/Fieldset.d.ts.map +1 -0
- package/dist/types/components/Fieldset/FieldsetDescription.d.ts +16 -0
- package/dist/types/components/Fieldset/FieldsetDescription.d.ts.map +1 -0
- package/dist/types/components/Fieldset/FieldsetLegend.d.ts +11 -0
- package/dist/types/components/Fieldset/FieldsetLegend.d.ts.map +1 -0
- package/dist/types/components/Fieldset/index.d.ts +30 -0
- package/dist/types/components/Fieldset/index.d.ts.map +1 -0
- package/dist/types/components/Heading/Heading.d.ts +52 -0
- package/dist/types/components/Heading/Heading.d.ts.map +1 -0
- package/dist/types/components/Heading/index.d.ts +3 -0
- package/dist/types/components/Heading/index.d.ts.map +1 -0
- package/dist/types/components/InfoCard/InfoCard.d.ts +32 -0
- package/dist/types/components/InfoCard/InfoCard.d.ts.map +1 -0
- package/dist/types/components/InfoCard/index.d.ts +3 -0
- package/dist/types/components/InfoCard/index.d.ts.map +1 -0
- package/dist/types/components/Input/Input.d.ts +62 -0
- package/dist/types/components/Input/Input.d.ts.map +1 -0
- package/dist/types/components/Input/index.d.ts +3 -0
- package/dist/types/components/Input/index.d.ts.map +1 -0
- package/dist/types/components/Label/Label.d.ts +33 -0
- package/dist/types/components/Label/Label.d.ts.map +1 -0
- package/dist/types/components/Label/index.d.ts +3 -0
- package/dist/types/components/Label/index.d.ts.map +1 -0
- package/dist/types/components/Link/Link.d.ts +32 -0
- package/dist/types/components/Link/Link.d.ts.map +1 -0
- package/dist/types/components/Link/index.d.ts +3 -0
- package/dist/types/components/Link/index.d.ts.map +1 -0
- package/dist/types/components/List/ListItem.d.ts +16 -0
- package/dist/types/components/List/ListItem.d.ts.map +1 -0
- package/dist/types/components/List/Lists.d.ts +47 -0
- package/dist/types/components/List/Lists.d.ts.map +1 -0
- package/dist/types/components/List/index.d.ts +17 -0
- package/dist/types/components/List/index.d.ts.map +1 -0
- package/dist/types/components/Pagination/Pagination.d.ts +46 -0
- package/dist/types/components/Pagination/Pagination.d.ts.map +1 -0
- package/dist/types/components/Pagination/PaginationButton.d.ts +25 -0
- package/dist/types/components/Pagination/PaginationButton.d.ts.map +1 -0
- package/dist/types/components/Pagination/PaginationItem.d.ts +26 -0
- package/dist/types/components/Pagination/PaginationItem.d.ts.map +1 -0
- package/dist/types/components/Pagination/PaginationList.d.ts +28 -0
- package/dist/types/components/Pagination/PaginationList.d.ts.map +1 -0
- package/dist/types/components/Pagination/index.d.ts +41 -0
- package/dist/types/components/Pagination/index.d.ts.map +1 -0
- package/dist/types/components/Paragraph/Paragraph.d.ts +41 -0
- package/dist/types/components/Paragraph/Paragraph.d.ts.map +1 -0
- package/dist/types/components/Paragraph/index.d.ts +3 -0
- package/dist/types/components/Paragraph/index.d.ts.map +1 -0
- package/dist/types/components/Popover/Popover.d.ts +123 -0
- package/dist/types/components/Popover/Popover.d.ts.map +1 -0
- package/dist/types/components/Popover/PopoverTrigger.d.ts +44 -0
- package/dist/types/components/Popover/PopoverTrigger.d.ts.map +1 -0
- package/dist/types/components/Popover/PopoverTriggerContext.d.ts +24 -0
- package/dist/types/components/Popover/PopoverTriggerContext.d.ts.map +1 -0
- package/dist/types/components/Popover/index.d.ts +35 -0
- package/dist/types/components/Popover/index.d.ts.map +1 -0
- package/dist/types/components/Radio/Radio.d.ts +34 -0
- package/dist/types/components/Radio/Radio.d.ts.map +1 -0
- package/dist/types/components/Radio/index.d.ts +3 -0
- package/dist/types/components/Radio/index.d.ts.map +1 -0
- package/dist/types/components/Search/Search.d.ts +20 -0
- package/dist/types/components/Search/Search.d.ts.map +1 -0
- package/dist/types/components/Search/SearchButton.d.ts +33 -0
- package/dist/types/components/Search/SearchButton.d.ts.map +1 -0
- package/dist/types/components/Search/SearchClear.d.ts +32 -0
- package/dist/types/components/Search/SearchClear.d.ts.map +1 -0
- package/dist/types/components/Search/SearchInput.d.ts +12 -0
- package/dist/types/components/Search/SearchInput.d.ts.map +1 -0
- package/dist/types/components/Search/index.d.ts +39 -0
- package/dist/types/components/Search/index.d.ts.map +1 -0
- package/dist/types/components/Select/Select.d.ts +38 -0
- package/dist/types/components/Select/Select.d.ts.map +1 -0
- package/dist/types/components/Select/SelectOptgroup.d.ts +27 -0
- package/dist/types/components/Select/SelectOptgroup.d.ts.map +1 -0
- package/dist/types/components/Select/SelectOption.d.ts +25 -0
- package/dist/types/components/Select/SelectOption.d.ts.map +1 -0
- package/dist/types/components/Select/index.d.ts +27 -0
- package/dist/types/components/Select/index.d.ts.map +1 -0
- package/dist/types/components/Skeleton/Skeleton.d.ts +37 -0
- package/dist/types/components/Skeleton/Skeleton.d.ts.map +1 -0
- package/dist/types/components/Skeleton/index.d.ts +3 -0
- package/dist/types/components/Skeleton/index.d.ts.map +1 -0
- package/dist/types/components/SkipLink/SkipLink.d.ts +31 -0
- package/dist/types/components/SkipLink/SkipLink.d.ts.map +1 -0
- package/dist/types/components/SkipLink/index.d.ts +3 -0
- package/dist/types/components/SkipLink/index.d.ts.map +1 -0
- package/dist/types/components/Spinner/Spinner.d.ts +25 -0
- package/dist/types/components/Spinner/Spinner.d.ts.map +1 -0
- package/dist/types/components/Spinner/index.d.ts +3 -0
- package/dist/types/components/Spinner/index.d.ts.map +1 -0
- package/dist/types/components/Suggestion/Suggestion.d.ts +199 -0
- package/dist/types/components/Suggestion/Suggestion.d.ts.map +1 -0
- package/dist/types/components/Suggestion/SuggestionChips.d.ts +11 -0
- package/dist/types/components/Suggestion/SuggestionChips.d.ts.map +1 -0
- package/dist/types/components/Suggestion/SuggestionClear.d.ts +28 -0
- package/dist/types/components/Suggestion/SuggestionClear.d.ts.map +1 -0
- package/dist/types/components/Suggestion/SuggestionEmpty.d.ts +15 -0
- package/dist/types/components/Suggestion/SuggestionEmpty.d.ts.map +1 -0
- package/dist/types/components/Suggestion/SuggestionInput.d.ts +33 -0
- package/dist/types/components/Suggestion/SuggestionInput.d.ts.map +1 -0
- package/dist/types/components/Suggestion/SuggestionList.d.ts +40 -0
- package/dist/types/components/Suggestion/SuggestionList.d.ts.map +1 -0
- package/dist/types/components/Suggestion/SuggestionOption.d.ts +5 -0
- package/dist/types/components/Suggestion/SuggestionOption.d.ts.map +1 -0
- package/dist/types/components/Suggestion/index.d.ts +138 -0
- package/dist/types/components/Suggestion/index.d.ts.map +1 -0
- package/dist/types/components/Switch/Switch.d.ts +36 -0
- package/dist/types/components/Switch/Switch.d.ts.map +1 -0
- package/dist/types/components/Switch/index.d.ts +3 -0
- package/dist/types/components/Switch/index.d.ts.map +1 -0
- package/dist/types/components/Table/Table.d.ts +72 -0
- package/dist/types/components/Table/Table.d.ts.map +1 -0
- package/dist/types/components/Table/TableBody.d.ts +15 -0
- package/dist/types/components/Table/TableBody.d.ts.map +1 -0
- package/dist/types/components/Table/TableCell.d.ts +10 -0
- package/dist/types/components/Table/TableCell.d.ts.map +1 -0
- package/dist/types/components/Table/TableFoot.d.ts +15 -0
- package/dist/types/components/Table/TableFoot.d.ts.map +1 -0
- package/dist/types/components/Table/TableHead.d.ts +15 -0
- package/dist/types/components/Table/TableHead.d.ts.map +1 -0
- package/dist/types/components/Table/TableHeaderCell.d.ts +23 -0
- package/dist/types/components/Table/TableHeaderCell.d.ts.map +1 -0
- package/dist/types/components/Table/TableRow.d.ts +13 -0
- package/dist/types/components/Table/TableRow.d.ts.map +1 -0
- package/dist/types/components/Table/index.d.ts +56 -0
- package/dist/types/components/Table/index.d.ts.map +1 -0
- package/dist/types/components/Tabs/Tabs.d.ts +59 -0
- package/dist/types/components/Tabs/Tabs.d.ts.map +1 -0
- package/dist/types/components/Tabs/TabsList.d.ts +13 -0
- package/dist/types/components/Tabs/TabsList.d.ts.map +1 -0
- package/dist/types/components/Tabs/TabsPanel.d.ts +22 -0
- package/dist/types/components/Tabs/TabsPanel.d.ts.map +1 -0
- package/dist/types/components/Tabs/TabsTab.d.ts +20 -0
- package/dist/types/components/Tabs/TabsTab.d.ts.map +1 -0
- package/dist/types/components/Tabs/index.d.ts +37 -0
- package/dist/types/components/Tabs/index.d.ts.map +1 -0
- package/dist/types/components/Tag/Tag.d.ts +23 -0
- package/dist/types/components/Tag/Tag.d.ts.map +1 -0
- package/dist/types/components/Tag/index.d.ts +3 -0
- package/dist/types/components/Tag/index.d.ts.map +1 -0
- package/dist/types/components/Textarea/Textarea.d.ts +11 -0
- package/dist/types/components/Textarea/Textarea.d.ts.map +1 -0
- package/dist/types/components/Textarea/index.d.ts +3 -0
- package/dist/types/components/Textarea/index.d.ts.map +1 -0
- package/dist/types/components/Textfield/Textfield.d.ts +74 -0
- package/dist/types/components/Textfield/Textfield.d.ts.map +1 -0
- package/dist/types/components/Textfield/index.d.ts +3 -0
- package/dist/types/components/Textfield/index.d.ts.map +1 -0
- package/dist/types/components/Timeline/Timeline.d.ts +35 -0
- package/dist/types/components/Timeline/Timeline.d.ts.map +1 -0
- package/dist/types/components/Timeline/TimelineItem.d.ts +21 -0
- package/dist/types/components/Timeline/TimelineItem.d.ts.map +1 -0
- package/dist/types/components/Timeline/index.d.ts +27 -0
- package/dist/types/components/Timeline/index.d.ts.map +1 -0
- package/dist/types/components/ToggleGroup/ToggleGroup.d.ts +67 -0
- package/dist/types/components/ToggleGroup/ToggleGroup.d.ts.map +1 -0
- package/dist/types/components/ToggleGroup/ToggleGroupItem.d.ts +21 -0
- package/dist/types/components/ToggleGroup/ToggleGroupItem.d.ts.map +1 -0
- package/dist/types/components/ToggleGroup/index.d.ts +26 -0
- package/dist/types/components/ToggleGroup/index.d.ts.map +1 -0
- package/dist/types/components/ToggleGroup/useToggleGroupitem.d.ts +11 -0
- package/dist/types/components/ToggleGroup/useToggleGroupitem.d.ts.map +1 -0
- package/dist/types/components/Tooltip/Tooltip.d.ts +63 -0
- package/dist/types/components/Tooltip/Tooltip.d.ts.map +1 -0
- package/dist/types/components/Tooltip/index.d.ts +3 -0
- package/dist/types/components/Tooltip/index.d.ts.map +1 -0
- package/dist/types/components/ValidationMessage/ValidationMessage.d.ts +35 -0
- package/dist/types/components/ValidationMessage/ValidationMessage.d.ts.map +1 -0
- package/dist/types/components/ValidationMessage/index.d.ts +3 -0
- package/dist/types/components/ValidationMessage/index.d.ts.map +1 -0
- package/dist/types/components/index.d.ts +42 -0
- package/dist/types/components/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/layouts/Container/Container.d.ts +10 -0
- package/dist/types/layouts/Container/Container.d.ts.map +1 -0
- package/dist/types/layouts/Container/index.d.ts +2 -0
- package/dist/types/layouts/Container/index.d.ts.map +1 -0
- package/dist/types/layouts/Grid/GridCol.d.ts +20 -0
- package/dist/types/layouts/Grid/GridCol.d.ts.map +1 -0
- package/dist/types/layouts/Grid/GridRow.d.ts +6 -0
- package/dist/types/layouts/Grid/GridRow.d.ts.map +1 -0
- package/dist/types/layouts/Grid/index.d.ts +5 -0
- package/dist/types/layouts/Grid/index.d.ts.map +1 -0
- package/dist/types/layouts/index.d.ts +3 -0
- package/dist/types/layouts/index.d.ts.map +1 -0
- package/dist/types/types.d.ts +28 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/utilities/RovingFocus/RovingFocusItem.d.ts +16 -0
- package/dist/types/utilities/RovingFocus/RovingFocusItem.d.ts.map +1 -0
- package/dist/types/utilities/RovingFocus/RovingFocusRoot.d.ts +33 -0
- package/dist/types/utilities/RovingFocus/RovingFocusRoot.d.ts.map +1 -0
- package/dist/types/utilities/RovingFocus/index.d.ts +4 -0
- package/dist/types/utilities/RovingFocus/index.d.ts.map +1 -0
- package/dist/types/utilities/RovingFocus/useRovingFocus.d.ts +295 -0
- package/dist/types/utilities/RovingFocus/useRovingFocus.d.ts.map +1 -0
- package/dist/types/utilities/hooks/index.d.ts +12 -0
- package/dist/types/utilities/hooks/index.d.ts.map +1 -0
- package/dist/types/utilities/hooks/useCheckboxGroup/useCheckboxGroup.d.ts +64 -0
- package/dist/types/utilities/hooks/useCheckboxGroup/useCheckboxGroup.d.ts.map +1 -0
- package/dist/types/utilities/hooks/useDebounceCallback/useDebounceCallback.d.ts +4 -0
- package/dist/types/utilities/hooks/useDebounceCallback/useDebounceCallback.d.ts.map +1 -0
- package/dist/types/utilities/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.d.ts +3 -0
- package/dist/types/utilities/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.d.ts.map +1 -0
- package/dist/types/utilities/hooks/useMediaQuery/useMediaQuery.d.ts +7 -0
- package/dist/types/utilities/hooks/useMediaQuery/useMediaQuery.d.ts.map +1 -0
- package/dist/types/utilities/hooks/useMergeRefs/useMergeRefs.d.ts +6 -0
- package/dist/types/utilities/hooks/useMergeRefs/useMergeRefs.d.ts.map +1 -0
- package/dist/types/utilities/hooks/usePagination/usePagination.d.ts +82 -0
- package/dist/types/utilities/hooks/usePagination/usePagination.d.ts.map +1 -0
- package/dist/types/utilities/hooks/useRadioGroup/useRadioGroup.d.ts +56 -0
- package/dist/types/utilities/hooks/useRadioGroup/useRadioGroup.d.ts.map +1 -0
- package/dist/types/utilities/hooks/useSynchronizedAnimation/useSynchronizedAnimation.d.ts +14 -0
- package/dist/types/utilities/hooks/useSynchronizedAnimation/useSynchronizedAnimation.d.ts.map +1 -0
- package/dist/types/utilities/index.d.ts +5 -0
- package/dist/types/utilities/index.d.ts.map +1 -0
- package/dist/types/utilities/omit/omit.d.ts +11 -0
- package/dist/types/utilities/omit/omit.d.ts.map +1 -0
- package/dist/types/utilities/types.d.ts +6 -0
- package/dist/types/utilities/types.d.ts.map +1 -0
- package/package.json +83 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
require('@u-elements/u-combobox');
|
|
7
|
+
var cl = require('clsx/lite');
|
|
8
|
+
var index = require('../Chip/index.js');
|
|
9
|
+
var useMergeRefs = require('../../utilities/hooks/useMergeRefs/useMergeRefs.js');
|
|
10
|
+
|
|
11
|
+
const SuggestionContext = react.createContext({
|
|
12
|
+
handleFilter: () => undefined,
|
|
13
|
+
});
|
|
14
|
+
const text = (el) => el.textContent?.trim() || "";
|
|
15
|
+
const sanitizeItems = (values = []) => (typeof values === "string"
|
|
16
|
+
? [{ label: values, value: values }]
|
|
17
|
+
: values.map((value) => typeof value === "string"
|
|
18
|
+
? { label: value, value }
|
|
19
|
+
: {
|
|
20
|
+
label: value.label || value.value || "",
|
|
21
|
+
value: value.value || "",
|
|
22
|
+
})).filter((x) => !!x.label);
|
|
23
|
+
const nextItems = (data, prev, multiple) => {
|
|
24
|
+
const item = { label: text(data), value: data.value };
|
|
25
|
+
if (!multiple)
|
|
26
|
+
return data.isConnected ? [] : [item];
|
|
27
|
+
return data.isConnected
|
|
28
|
+
? sanitizeItems(prev).filter(({ value }) => value !== item.value)
|
|
29
|
+
: [...sanitizeItems(prev), item];
|
|
30
|
+
};
|
|
31
|
+
const defaultFilter = ({ label, input }) => label.toLowerCase().includes(input.value.trim().toLowerCase());
|
|
32
|
+
const deprecate = (from, to) => console.warn(`Suggestion: Using "${from}" is deprecated, please use "${to}" instead.`);
|
|
33
|
+
const Suggestion = react.forwardRef(function Suggestion({ children, className, creatable = false, defaultSelected: _defaultSelected, defaultValue, filter = true, multiple = false, hiddenChips = false, name, onBeforeMatch, onSelectedChange: _onSelectedChange, onValueChange, renderSelected = ({ label }) => label, selected: _selected, value, ...rest }, ref) {
|
|
34
|
+
// For backwards compatibility:
|
|
35
|
+
const selected = _selected ?? value;
|
|
36
|
+
const defaultSelected = _defaultSelected ?? defaultValue;
|
|
37
|
+
const onSelectedChange = _onSelectedChange ?? onValueChange;
|
|
38
|
+
if (value)
|
|
39
|
+
deprecate("value", "selected");
|
|
40
|
+
if (defaultValue)
|
|
41
|
+
deprecate("defaultValue", "defaultSelected");
|
|
42
|
+
if (onValueChange)
|
|
43
|
+
deprecate("onValueChange", "onSelectedChange");
|
|
44
|
+
const uComboboxRef = react.useRef(null);
|
|
45
|
+
const genId = react.useId();
|
|
46
|
+
const selectId = rest.id ? `${rest.id}-select` : genId;
|
|
47
|
+
const isControlled = selected !== undefined;
|
|
48
|
+
const mergedRefs = useMergeRefs.useMergeRefs([ref, uComboboxRef]);
|
|
49
|
+
const [isEmpty, setIsEmpty] = react.useState(false);
|
|
50
|
+
const [defaultItems, setDefaultItems] = react.useState(sanitizeItems(defaultSelected));
|
|
51
|
+
const selectedItems = selected ? sanitizeItems(selected) : defaultItems;
|
|
52
|
+
/**
|
|
53
|
+
* Listerners and handling of adding/removing
|
|
54
|
+
*/
|
|
55
|
+
react.useEffect(() => {
|
|
56
|
+
const combobox = uComboboxRef.current;
|
|
57
|
+
const beforeChange = (event) => {
|
|
58
|
+
event.preventDefault();
|
|
59
|
+
const multiple = combobox?.multiple;
|
|
60
|
+
const data = event.detail;
|
|
61
|
+
if (isControlled)
|
|
62
|
+
onSelectedChange?.(nextItems(data, selectedItems, multiple));
|
|
63
|
+
else
|
|
64
|
+
setDefaultItems(nextItems(data, selectedItems, multiple));
|
|
65
|
+
};
|
|
66
|
+
combobox?.addEventListener("beforechange", beforeChange);
|
|
67
|
+
return () => combobox?.removeEventListener("beforechange", beforeChange);
|
|
68
|
+
}, [selectedItems, isControlled, onSelectedChange]);
|
|
69
|
+
// Before match event listener
|
|
70
|
+
react.useEffect(() => {
|
|
71
|
+
const combobox = uComboboxRef.current;
|
|
72
|
+
const beforeMatch = (e) => onBeforeMatch?.(e);
|
|
73
|
+
combobox?.addEventListener("beforematch", beforeMatch);
|
|
74
|
+
return () => combobox?.removeEventListener("beforematch", beforeMatch);
|
|
75
|
+
}, [onBeforeMatch]);
|
|
76
|
+
const handleFilter = react.useCallback(() => {
|
|
77
|
+
const { control: input, options = [] } = uComboboxRef?.current || {};
|
|
78
|
+
const filterFn = filter === true ? defaultFilter : filter;
|
|
79
|
+
let disabled = 0;
|
|
80
|
+
let index = 0;
|
|
81
|
+
for (const option of options)
|
|
82
|
+
if (!option.hasAttribute("data-empty")) {
|
|
83
|
+
if (filterFn && input)
|
|
84
|
+
option.disabled =
|
|
85
|
+
!filterFn({
|
|
86
|
+
index,
|
|
87
|
+
input,
|
|
88
|
+
label: option.label,
|
|
89
|
+
optionElement: option,
|
|
90
|
+
text: option.text,
|
|
91
|
+
value: option.value,
|
|
92
|
+
}) && Boolean(++disabled);
|
|
93
|
+
index++; // Increment index for each <option>
|
|
94
|
+
}
|
|
95
|
+
setIsEmpty(index === disabled);
|
|
96
|
+
}, [filter]);
|
|
97
|
+
return (jsxRuntime.jsx(SuggestionContext.Provider, { value: { isEmpty, handleFilter, uComboboxRef }, children: jsxRuntime.jsxs("u-combobox", { "data-multiple": multiple || undefined, "data-creatable": creatable || undefined, class: cl("ds-suggestion", className), ref: mergedRefs, ...rest, children: [selectedItems.map((item) => (jsxRuntime.jsx(index.Chip.Removable, { value: item.value, "data-hidden": hiddenChips || undefined, "aria-hidden": hiddenChips || undefined, asChild: true, children: jsxRuntime.jsx("data", { children: renderSelected(item) }) }, item.value))), children, !!name && jsxRuntime.jsx("select", { name: name, multiple: true, hidden: true, id: selectId })] }) }));
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
exports.Suggestion = Suggestion;
|
|
101
|
+
exports.SuggestionContext = SuggestionContext;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated Suggestion.Chips is deprecated, use `renderSelected` on `Suggestion` instead
|
|
6
|
+
*/
|
|
7
|
+
const SuggestionChips = () => {
|
|
8
|
+
console.warn("Suggestion: Using <Suggestion.Chips> is deprecated - please remove from your code.");
|
|
9
|
+
return null;
|
|
10
|
+
};
|
|
11
|
+
SuggestionChips.displayName = "SuggestionChips";
|
|
12
|
+
|
|
13
|
+
exports.SuggestionChips = SuggestionChips;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var Button = require('../Button/Button.js');
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Component that provides a clear button for the Suggestion input.
|
|
10
|
+
*
|
|
11
|
+
* Place as a descendant of `Suggestion`
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* <Suggestion>
|
|
15
|
+
* <Suggestion.Input />
|
|
16
|
+
* <Suggestion.Clear />
|
|
17
|
+
* <Suggestion.List />
|
|
18
|
+
* </Suggestion>
|
|
19
|
+
*/
|
|
20
|
+
const SuggestionClear = react.forwardRef(function SuggestionClear({ "aria-label": label = "Töm", onClick, ...rest }, ref) {
|
|
21
|
+
return (jsxRuntime.jsx(Button.Button, { "aria-label": label, asChild: true, icon: true, hidden: true, ref: ref, variant: "tertiary", ...rest, children: jsxRuntime.jsx("del", {}) }));
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
exports.SuggestionClear = SuggestionClear;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var Suggestion = require('./Suggestion.js');
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Component that provides an empty Suggestion list.
|
|
10
|
+
*
|
|
11
|
+
* Place as a descendant of `Suggestion.List`
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* <Suggestion.List>
|
|
15
|
+
* <Suggestion.Empty>Tomt</Suggestion.Empty>
|
|
16
|
+
* </Suggestion.List>
|
|
17
|
+
*/
|
|
18
|
+
const SuggestionEmpty = react.forwardRef(function SuggestionEmpty(rest, ref) {
|
|
19
|
+
const { isEmpty } = react.useContext(Suggestion.SuggestionContext);
|
|
20
|
+
return isEmpty ? jsxRuntime.jsx("u-option", { "data-empty": true, value: "", ref: ref, ...rest }) : null;
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
exports.SuggestionEmpty = SuggestionEmpty;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var Suggestion = require('./Suggestion.js');
|
|
7
|
+
var Input = require('../Input/Input.js');
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Component that provides an input field for the Suggestion list.
|
|
11
|
+
*
|
|
12
|
+
* Place as a descendant of `Suggestion`
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* <Suggestion>
|
|
16
|
+
* <Suggestion.Input />
|
|
17
|
+
* <Suggestion.List />
|
|
18
|
+
* </Suggestion>
|
|
19
|
+
*/
|
|
20
|
+
const SuggestionInput = react.forwardRef(function SuggestionList({ value, onInput, onChange, ...rest }, ref) {
|
|
21
|
+
const { handleFilter } = react.useContext(Suggestion.SuggestionContext);
|
|
22
|
+
react.useEffect(handleFilter, [value]); // Filter if controlled value
|
|
23
|
+
if (onChange)
|
|
24
|
+
console.warn("SuggestionInput: Avoid using onChange, as Suggestion controls the Input. Use onValueChange on Suggest instead, or onInput if fetching API results");
|
|
25
|
+
if (value)
|
|
26
|
+
console.warn("SuggestionInput: Avoid using value, as Suggestion controls the Input. Use value on Suggest instead.");
|
|
27
|
+
return (jsxRuntime.jsx(Input.Input, { placeholder: "" // We need an empty placeholder for the clear button to be able to show/hide
|
|
28
|
+
, ref: ref, onInput: (event) => {
|
|
29
|
+
onInput?.(event); // Should run first
|
|
30
|
+
handleFilter?.(); // Filter if uncontrolled value
|
|
31
|
+
}, ...rest }));
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
exports.SuggestionInput = SuggestionInput;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
require('@u-elements/u-datalist');
|
|
7
|
+
var dom = require('@floating-ui/dom');
|
|
8
|
+
var Suggestion = require('./Suggestion.js');
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Component that provides a Suggestion list.
|
|
12
|
+
*
|
|
13
|
+
* Place as a descendant of `Suggestion`
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* <Suggestion>
|
|
17
|
+
* <Suggestion.Input />
|
|
18
|
+
* <Suggestion.List />
|
|
19
|
+
* </Suggestion>
|
|
20
|
+
*/
|
|
21
|
+
const SuggestionList = react.forwardRef(function SuggestionList({ singular = "%d forslag", plural = "%d forslag", className, id, ...rest }, ref) {
|
|
22
|
+
const { handleFilter, uComboboxRef } = react.useContext(Suggestion.SuggestionContext);
|
|
23
|
+
react.useEffect(handleFilter); // Must run on every render
|
|
24
|
+
// Position with floating-ui
|
|
25
|
+
react.useEffect(() => {
|
|
26
|
+
const trigger = uComboboxRef?.current?.control;
|
|
27
|
+
const list = uComboboxRef?.current?.list;
|
|
28
|
+
if (list && trigger) {
|
|
29
|
+
return dom.autoUpdate(trigger, list, () => {
|
|
30
|
+
dom.computePosition(trigger, list, {
|
|
31
|
+
placement: "bottom",
|
|
32
|
+
strategy: "fixed",
|
|
33
|
+
middleware: [triggerWidth],
|
|
34
|
+
}).then(({ x, y }) => {
|
|
35
|
+
list.style.translate = `${x}px calc(${y}px + var(--dsc-suggestion-list-gap))`;
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}, []);
|
|
40
|
+
return (jsxRuntime.jsx("u-datalist", { "data-nofilter": true, "data-sr-singular": singular, "data-sr-plural": plural, class: className, ref: ref, popover: "manual", ...rest }));
|
|
41
|
+
});
|
|
42
|
+
const triggerWidth = {
|
|
43
|
+
name: "TriggerWidth",
|
|
44
|
+
fn(data) {
|
|
45
|
+
const { elements, rects } = data;
|
|
46
|
+
elements.floating.style.width = `${rects.reference.width}px`;
|
|
47
|
+
return data;
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
exports.SuggestionList = SuggestionList;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
|
|
7
|
+
const SuggestionOption = react.forwardRef(function SuggestionOption({ className, ...rest }, ref) {
|
|
8
|
+
return (jsxRuntime.jsx("u-option", { class: className, ref: ref, ...rest }));
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
exports.SuggestionOption = SuggestionOption;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var Suggestion$1 = require('./Suggestion.js');
|
|
5
|
+
var SuggestionChips = require('./SuggestionChips.js');
|
|
6
|
+
var SuggestionClear = require('./SuggestionClear.js');
|
|
7
|
+
var SuggestionEmpty = require('./SuggestionEmpty.js');
|
|
8
|
+
var SuggestionInput = require('./SuggestionInput.js');
|
|
9
|
+
var SuggestionList = require('./SuggestionList.js');
|
|
10
|
+
var SuggestionOption = require('./SuggestionOption.js');
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* A component that provides a suggestion list for an input field.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* <Suggestion>
|
|
17
|
+
* <Suggestion.Input />
|
|
18
|
+
* <Suggestion.Chips />
|
|
19
|
+
* <Suggestion.Clear />
|
|
20
|
+
* <Suggestion.List>
|
|
21
|
+
* <Suggestion.Empty>Tomt</Suggestion.Empty>
|
|
22
|
+
* <Suggestion.Option value='Option 1'>Option 1</Suggestion.Option>
|
|
23
|
+
* <Suggestion.Option value='Option 2'>Option 2</Suggestion.Option>
|
|
24
|
+
* </Suggestion.List>
|
|
25
|
+
* </Suggestion>
|
|
26
|
+
*/
|
|
27
|
+
const EXPERIMENTAL_Suggestion = Object.assign(Suggestion$1.Suggestion, {
|
|
28
|
+
List: SuggestionList.SuggestionList,
|
|
29
|
+
Input: SuggestionInput.SuggestionInput,
|
|
30
|
+
Empty: SuggestionEmpty.SuggestionEmpty,
|
|
31
|
+
Option: SuggestionOption.SuggestionOption,
|
|
32
|
+
Clear: SuggestionClear.SuggestionClear,
|
|
33
|
+
Chips: SuggestionChips.SuggestionChips,
|
|
34
|
+
});
|
|
35
|
+
const Suggestion = Object.assign(Suggestion$1.Suggestion, {
|
|
36
|
+
List: SuggestionList.SuggestionList,
|
|
37
|
+
Input: SuggestionInput.SuggestionInput,
|
|
38
|
+
Empty: SuggestionEmpty.SuggestionEmpty,
|
|
39
|
+
Option: SuggestionOption.SuggestionOption,
|
|
40
|
+
Clear: SuggestionClear.SuggestionClear,
|
|
41
|
+
Chips: SuggestionChips.SuggestionChips,
|
|
42
|
+
});
|
|
43
|
+
EXPERIMENTAL_Suggestion.displayName = "EXPERIMENTAL_Suggestion";
|
|
44
|
+
EXPERIMENTAL_Suggestion.List.displayName = "EXPERIMENTAL_Suggestion.List";
|
|
45
|
+
EXPERIMENTAL_Suggestion.Input.displayName = "EXPERIMENTAL_Suggestion.Input";
|
|
46
|
+
EXPERIMENTAL_Suggestion.Empty.displayName = "EXPERIMENTAL_Suggestion.Empty";
|
|
47
|
+
EXPERIMENTAL_Suggestion.Option.displayName = "EXPERIMENTAL_Suggestion.Option";
|
|
48
|
+
EXPERIMENTAL_Suggestion.Clear.displayName = "EXPERIMENTAL_Suggestion.Clear";
|
|
49
|
+
EXPERIMENTAL_Suggestion.Chips.displayName = "EXPERIMENTAL_Suggestion.Chips";
|
|
50
|
+
Suggestion.displayName = "Suggestion";
|
|
51
|
+
Suggestion.List.displayName = "Suggestion.List";
|
|
52
|
+
Suggestion.Input.displayName = "Suggestion.Input";
|
|
53
|
+
Suggestion.Empty.displayName = "Suggestion.Empty";
|
|
54
|
+
Suggestion.Option.displayName = "Suggestion.Option";
|
|
55
|
+
Suggestion.Clear.displayName = "Suggestion.Clear";
|
|
56
|
+
Suggestion.Chips.displayName = "Suggestion.Chips";
|
|
57
|
+
|
|
58
|
+
exports.EXPERIMENTAL_SuggestionChips = SuggestionChips.SuggestionChips;
|
|
59
|
+
exports.SuggestionChips = SuggestionChips.SuggestionChips;
|
|
60
|
+
exports.EXPERIMENTAL_SuggestionClear = SuggestionClear.SuggestionClear;
|
|
61
|
+
exports.SuggestionClear = SuggestionClear.SuggestionClear;
|
|
62
|
+
exports.EXPERIMENTAL_SuggestionEmpty = SuggestionEmpty.SuggestionEmpty;
|
|
63
|
+
exports.SuggestionEmpty = SuggestionEmpty.SuggestionEmpty;
|
|
64
|
+
exports.EXPERIMENTAL_SuggestionInput = SuggestionInput.SuggestionInput;
|
|
65
|
+
exports.SuggestionInput = SuggestionInput.SuggestionInput;
|
|
66
|
+
exports.EXPERIMENTAL_SuggestionList = SuggestionList.SuggestionList;
|
|
67
|
+
exports.SuggestionList = SuggestionList.SuggestionList;
|
|
68
|
+
exports.EXPERIMENTAL_SuggestionOption = SuggestionOption.SuggestionOption;
|
|
69
|
+
exports.SuggestionOption = SuggestionOption.SuggestionOption;
|
|
70
|
+
exports.EXPERIMENTAL_Suggestion = EXPERIMENTAL_Suggestion;
|
|
71
|
+
exports.Suggestion = Suggestion;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var index = require('../Field/index.js');
|
|
7
|
+
var Input = require('../Input/Input.js');
|
|
8
|
+
var Label = require('../Label/Label.js');
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Switch used to toggle options.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* <Switch label="I agree" value="agree" />
|
|
15
|
+
*/
|
|
16
|
+
const Switch = react.forwardRef(function Switch({ 'data-size': size, children, className, description, label, position, style, ...rest }, ref) {
|
|
17
|
+
return (jsxRuntime.jsxs(index.Field, { className: className, "data-position": position, "data-size": size, style: style, children: [jsxRuntime.jsx(Input.Input, { type: 'checkbox', role: 'switch', ref: ref, ...rest }), !!label && jsxRuntime.jsx(Label.Label, { weight: 'regular', children: label }), !!description && jsxRuntime.jsx("div", { "data-field": 'description', children: description })] }));
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
exports.Switch = Switch;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var cl = require('clsx/lite');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Table component, used to display tabular data. Renders a native HTML table element.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* <Table>
|
|
13
|
+
* <Table.Head>
|
|
14
|
+
* <Table.Row>
|
|
15
|
+
* <Table.HeaderCell>Name</Table.HeaderCell>
|
|
16
|
+
* <Table.HeaderCell>Age</Table.HeaderCell>
|
|
17
|
+
* </Table.Row>
|
|
18
|
+
* </Table.Head>
|
|
19
|
+
* <Table.Body>
|
|
20
|
+
* <Table.Row>
|
|
21
|
+
* <Table.Cell>John</Table.Cell>
|
|
22
|
+
* <Table.Cell>25</Table.Cell>
|
|
23
|
+
* </Table.Row>
|
|
24
|
+
* </Table.Body>
|
|
25
|
+
* <Table.Foot>
|
|
26
|
+
* <Table.Row>
|
|
27
|
+
* <Table.Cell>Total</Table.Cell>
|
|
28
|
+
* <Table.Cell>2</Table.Cell>
|
|
29
|
+
* </Table.Row>
|
|
30
|
+
* </Table.Foot>
|
|
31
|
+
* </Table>
|
|
32
|
+
*/
|
|
33
|
+
const Table = react.forwardRef(function Table({ zebra = false, stickyHeader = false, border = false, hover = false, className, children, ...rest }, ref) {
|
|
34
|
+
return (jsxRuntime.jsx("table", { className: cl('ds-table', className), "data-border": border || undefined, "data-hover": hover || undefined, "data-sticky-header": stickyHeader || undefined, "data-zebra": zebra || undefined, ref: ref, ...rest, children: children }));
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
exports.Table = Table;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* TableBody component, used to display the body of a table. Renders a native HTML tbody element.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* <Table.Body>
|
|
12
|
+
* <Table.Row>
|
|
13
|
+
* <Table.Cell>John</Table.Cell>
|
|
14
|
+
* <Table.Cell>25</Table.Cell>
|
|
15
|
+
* </Table.Row>
|
|
16
|
+
* </Table.Body>
|
|
17
|
+
*/
|
|
18
|
+
const TableBody = react.forwardRef(function TableBody(rest, ref) {
|
|
19
|
+
return jsxRuntime.jsx("tbody", { ref: ref, ...rest });
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
exports.TableBody = TableBody;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* TableCell component, used to display the cells of a table. Renders a native HTML td element.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* <Table.Cell>John</Table.Cell>
|
|
12
|
+
*/
|
|
13
|
+
const TableCell = react.forwardRef(function TableCell(rest, ref) {
|
|
14
|
+
return jsxRuntime.jsx("td", { ref: ref, ...rest });
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
exports.TableCell = TableCell;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* TableFoot component, used to display the footer of a table. Renders a native HTML tfoot element.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* <Table.Foot>
|
|
12
|
+
* <Table.Row>
|
|
13
|
+
* <Table.Cell>Total</Table.Cell>
|
|
14
|
+
* <Table.Cell>2</Table.Cell>
|
|
15
|
+
* </Table.Row>
|
|
16
|
+
* </Table.Foot>
|
|
17
|
+
*/
|
|
18
|
+
const TableFoot = react.forwardRef(function TableFoot(rest, ref) {
|
|
19
|
+
return jsxRuntime.jsx("tfoot", { ref: ref, ...rest });
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
exports.TableFoot = TableFoot;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* TableHead component, used to display the header of a table. Renders a native HTML thead element.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* <Table.Head>
|
|
12
|
+
* <Table.Row>
|
|
13
|
+
* <Table.HeaderCell>Name</Table.HeaderCell>
|
|
14
|
+
* <Table.HeaderCell>Age</Table.HeaderCell>
|
|
15
|
+
* </Table.Row>
|
|
16
|
+
* </Table.Head>
|
|
17
|
+
*/
|
|
18
|
+
const TableHead = react.forwardRef(function TableHead(rest, ref) {
|
|
19
|
+
return jsxRuntime.jsx("thead", { ref: ref, ...rest });
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
exports.TableHead = TableHead;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* TableHeaderCell component, used to display the header cells of a table. Renders a native HTML th element.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* <Table.HeaderCell>Name</Table.HeaderCell>
|
|
12
|
+
*/
|
|
13
|
+
const TableHeaderCell = react.forwardRef(function TableHeaderCell({ sort, children, ...rest }, ref) {
|
|
14
|
+
return (jsxRuntime.jsx("th", { "aria-sort": sort, ref: ref, ...rest, children: sort ? jsxRuntime.jsx("button", { type: 'button', children: children }) : children }));
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
exports.TableHeaderCell = TableHeaderCell;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* TableRow component, used to display the rows of a table. Renders a native HTML tr element.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* <Table.Row>
|
|
12
|
+
* <Table.Cell>John</Table.Cell>
|
|
13
|
+
* <Table.Cell>25</Table.Cell>
|
|
14
|
+
* </Table.Row>
|
|
15
|
+
*/
|
|
16
|
+
const TableRow = react.forwardRef(function TableRow(rest, ref) {
|
|
17
|
+
return jsxRuntime.jsx("tr", { ref: ref, ...rest });
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
exports.TableRow = TableRow;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var Table$1 = require('./Table.js');
|
|
5
|
+
var TableBody = require('./TableBody.js');
|
|
6
|
+
var TableCell = require('./TableCell.js');
|
|
7
|
+
var TableFoot = require('./TableFoot.js');
|
|
8
|
+
var TableHead = require('./TableHead.js');
|
|
9
|
+
var TableHeaderCell = require('./TableHeaderCell.js');
|
|
10
|
+
var TableRow = require('./TableRow.js');
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Table component, used to display tabular data. Renders a native HTML table element.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* <Table>
|
|
17
|
+
* <Table.Head>
|
|
18
|
+
* <Table.Row>
|
|
19
|
+
* <Table.HeaderCell>Name</Table.HeaderCell>
|
|
20
|
+
* <Table.HeaderCell>Age</Table.HeaderCell>
|
|
21
|
+
* </Table.Row>
|
|
22
|
+
* </Table.Head>
|
|
23
|
+
* <Table.Body>
|
|
24
|
+
* <Table.Row>
|
|
25
|
+
* <Table.Cell>John</Table.Cell>
|
|
26
|
+
* <Table.Cell>25</Table.Cell>
|
|
27
|
+
* </Table.Row>
|
|
28
|
+
* </Table.Body>
|
|
29
|
+
* <Table.Foot>
|
|
30
|
+
* <Table.Row>
|
|
31
|
+
* <Table.Cell>Total</Table.Cell>
|
|
32
|
+
* <Table.Cell>2</Table.Cell>
|
|
33
|
+
* </Table.Row>
|
|
34
|
+
* </Table.Foot>
|
|
35
|
+
* </Table>
|
|
36
|
+
*/
|
|
37
|
+
const Table = Object.assign(Table$1.Table, {
|
|
38
|
+
Head: TableHead.TableHead,
|
|
39
|
+
Body: TableBody.TableBody,
|
|
40
|
+
Row: TableRow.TableRow,
|
|
41
|
+
Cell: TableCell.TableCell,
|
|
42
|
+
HeaderCell: TableHeaderCell.TableHeaderCell,
|
|
43
|
+
Foot: TableFoot.TableFoot,
|
|
44
|
+
});
|
|
45
|
+
Table.displayName = 'Table';
|
|
46
|
+
Table.Head.displayName = 'Table.Head';
|
|
47
|
+
Table.Body.displayName = 'Table.Body';
|
|
48
|
+
Table.Row.displayName = 'Table.Row';
|
|
49
|
+
Table.Cell.displayName = 'Table.Cell';
|
|
50
|
+
Table.HeaderCell.displayName = 'Table.HeaderCell';
|
|
51
|
+
Table.Foot.displayName = 'Table.Foot';
|
|
52
|
+
|
|
53
|
+
exports.TableBody = TableBody.TableBody;
|
|
54
|
+
exports.TableCell = TableCell.TableCell;
|
|
55
|
+
exports.TableFoot = TableFoot.TableFoot;
|
|
56
|
+
exports.TableHead = TableHead.TableHead;
|
|
57
|
+
exports.TableHeaderCell = TableHeaderCell.TableHeaderCell;
|
|
58
|
+
exports.TableRow = TableRow.TableRow;
|
|
59
|
+
exports.Table = Table;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var cl = require('clsx/lite');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
|
|
8
|
+
const Context = react.createContext({});
|
|
9
|
+
/**
|
|
10
|
+
* Display a group of tabs that can be toggled between.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* <Tabs onChange={(value) => console.log(value)}>
|
|
14
|
+
* <Tabs.List>
|
|
15
|
+
* <Tabs.Tab value='1'>Tab 1</Tabs.Tab>
|
|
16
|
+
* <Tabs.Tab value='2'>Tab 2</Tabs.Tab>
|
|
17
|
+
* <Tabs.Tab value='3'>Tab 3</Tabs.Tab>
|
|
18
|
+
* </Tabs.List>
|
|
19
|
+
* <Tabs.Panel value='1'>content 1</Tabs.Panel>
|
|
20
|
+
* <Tabs.Panel value='2'>content 2</Tabs.Panel>
|
|
21
|
+
* <Tabs.Panel value='3'>content 3</Tabs.Panel>
|
|
22
|
+
* </Tabs>
|
|
23
|
+
*/
|
|
24
|
+
const Tabs = react.forwardRef(function Tabs({ value, defaultValue, className, onChange, ...rest }, ref) {
|
|
25
|
+
const isControlled = value !== undefined;
|
|
26
|
+
const [uncontrolledValue, setUncontrolledValue] = react.useState(defaultValue);
|
|
27
|
+
let onValueChange = onChange;
|
|
28
|
+
if (!isControlled) {
|
|
29
|
+
onValueChange = (newValue) => {
|
|
30
|
+
setUncontrolledValue(newValue);
|
|
31
|
+
onChange?.(newValue);
|
|
32
|
+
};
|
|
33
|
+
value = uncontrolledValue;
|
|
34
|
+
}
|
|
35
|
+
return (jsxRuntime.jsx(Context.Provider, { value: {
|
|
36
|
+
value,
|
|
37
|
+
defaultValue,
|
|
38
|
+
onChange: onValueChange,
|
|
39
|
+
}, children: jsxRuntime.jsx("div", { className: cl('ds-tabs', className), ref: ref, ...rest }) }));
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
exports.Context = Context;
|
|
43
|
+
exports.Tabs = Tabs;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var Tabs = require('./Tabs.js');
|
|
7
|
+
var RovingFocusRoot = require('../../utilities/RovingFocus/RovingFocusRoot.js');
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* The container for all `Tab` components.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* <Tabs.List>
|
|
14
|
+
* <Tabs.Tab value='1'>Tab 1</Tabs.Tab>
|
|
15
|
+
* <Tabs.Tab value='2'>Tab 2</Tabs.Tab>
|
|
16
|
+
* </Tabs.List>
|
|
17
|
+
*/
|
|
18
|
+
const TabsList = react.forwardRef(function TabsList({ children, ...rest }, ref) {
|
|
19
|
+
const { value } = react.useContext(Tabs.Context);
|
|
20
|
+
return (jsxRuntime.jsx(RovingFocusRoot.RovingFocusRoot, { role: 'tablist', activeValue: value, orientation: 'ambiguous', ref: ref, ...rest, children: children }));
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
exports.TabsList = TabsList;
|