@strapi/design-system 1.6.2 → 1.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Accordion/Accordion.cjs +5 -5
- package/dist/Accordion/Accordion.js +45 -44
- package/dist/Accordion/AccordionContent.cjs +1 -1
- package/dist/Accordion/AccordionContent.js +4 -4
- package/dist/Accordion/AccordionGroup.cjs +4 -4
- package/dist/Accordion/AccordionGroup.js +18 -18
- package/dist/Accordion/AccordionToggle.cjs +2 -2
- package/dist/Accordion/AccordionToggle.js +11 -11
- package/dist/Alert/Alert.cjs +1 -1
- package/dist/Alert/Alert.js +8 -8
- package/dist/Avatar/Avatar.cjs +5 -5
- package/dist/Avatar/Avatar.js +11 -11
- package/dist/Avatar/AvatarGroup.cjs +2 -2
- package/dist/Avatar/AvatarGroup.js +4 -4
- package/dist/BaseButton/BaseButton.cjs +5 -11
- package/dist/BaseButton/BaseButton.js +31 -38
- package/dist/BaseCheckbox/BaseCheckbox.cjs +3 -3
- package/dist/BaseCheckbox/BaseCheckbox.js +22 -22
- package/dist/BaseRadio/BaseRadio.cjs +2 -2
- package/dist/BaseRadio/BaseRadio.js +4 -4
- package/dist/BaseRadio/RadioGroup.cjs +1 -1
- package/dist/BaseRadio/RadioGroup.js +28 -26
- package/dist/Box/Box.cjs +2 -2
- package/dist/Box/Box.js +36 -33
- package/dist/Breadcrumbs/Breadcrumbs.cjs +4 -4
- package/dist/Breadcrumbs/Breadcrumbs.js +12 -12
- package/dist/Button/Button.cjs +10 -27
- package/dist/Button/Button.js +65 -85
- package/dist/Button/utils.cjs +22 -22
- package/dist/Button/utils.js +2 -2
- package/dist/Card/Card.cjs +1 -1
- package/dist/Card/Card.js +15 -14
- package/dist/Card/CardAsset.js +4 -4
- package/dist/Card/CardBody.cjs +1 -1
- package/dist/Card/CardBody.js +4 -4
- package/dist/Card/CardCheckbox.cjs +1 -1
- package/dist/Card/CardCheckbox.js +6 -6
- package/dist/Card/CardTitle.cjs +1 -1
- package/dist/Card/CardTitle.js +1 -1
- package/dist/CarouselInput/Carousel.cjs +2 -2
- package/dist/CarouselInput/Carousel.js +19 -64
- package/dist/CarouselInput/CarouselActions.js +1 -9
- package/dist/CarouselInput/CarouselImage.js +1 -10
- package/dist/CarouselInput/CarouselInput.cjs +1 -1
- package/dist/CarouselInput/CarouselInput.js +19 -24
- package/dist/CarouselInput/CarouselSlide.js +13 -9
- package/dist/Checkbox/Checkbox.cjs +2 -2
- package/dist/Checkbox/Checkbox.js +7 -26
- package/dist/Combobox/Combobox.cjs +1 -1
- package/dist/Combobox/Combobox.js +106 -120
- package/dist/Combobox/ComboboxOption.cjs +1 -1
- package/dist/Combobox/ComboboxOption.js +18 -17
- package/dist/DatePicker/DatePicker.cjs +1 -1
- package/dist/DatePicker/DatePicker.js +47 -46
- package/dist/DatePicker/DatePickerCalendar.cjs +1 -1
- package/dist/DatePicker/DatePickerCalendar.js +28 -61
- package/dist/DatePicker/DatePickerTd.js +1 -12
- package/dist/DatePicker/DatePickerTh.cjs +3 -3
- package/dist/DatePicker/DatePickerTh.js +7 -16
- package/dist/DatePicker/components.cjs +3 -3
- package/dist/DatePicker/components.js +6 -6
- package/dist/DateTimePicker/DateTimePicker.cjs +1 -1
- package/dist/DateTimePicker/DateTimePicker.js +64 -61
- package/dist/DateTimePicker/DateTimePickerProps.js +1 -3
- package/dist/Dialog/Dialog.cjs +4 -4
- package/dist/Dialog/Dialog.js +26 -37
- package/dist/Dialog/DialogBody.cjs +1 -1
- package/dist/Dialog/DialogBody.js +2 -11
- package/dist/Dialog/DialogFooter.cjs +1 -1
- package/dist/Dialog/DialogFooter.js +2 -7
- package/dist/DismissibleLayer/DismissibleLayer.js +1 -4
- package/dist/Divider/Divider.js +1 -5
- package/dist/EmptyStateLayout/EmptyStateLayout.cjs +1 -1
- package/dist/EmptyStateLayout/EmptyStateLayout.js +2 -16
- package/dist/EmptyStateLayout/story-assets/Illo.js +60 -45
- package/dist/Field/Field.cjs +1 -1
- package/dist/Field/Field.js +12 -13
- package/dist/Field/FieldAction.cjs +1 -1
- package/dist/Field/FieldAction.js +2 -6
- package/dist/Field/FieldError.js +1 -7
- package/dist/Field/FieldHint.js +1 -6
- package/dist/Field/FieldInput.cjs +4 -4
- package/dist/Field/FieldInput.js +26 -34
- package/dist/Field/FieldLabel.cjs +1 -1
- package/dist/Field/FieldLabel.js +3 -16
- package/dist/FocusTrap/FocusTrap.js +1 -5
- package/dist/Grid/Grid.cjs +3 -3
- package/dist/Grid/Grid.js +12 -15
- package/dist/Grid/GridItem.cjs +2 -2
- package/dist/Grid/GridItem.js +5 -13
- package/dist/IconButton/IconButton.cjs +7 -12
- package/dist/IconButton/IconButton.js +88 -84
- package/dist/JSONInput/JSONInput.cjs +1 -1
- package/dist/JSONInput/JSONInput.js +85 -78
- package/dist/JSONInput/JSONInputContainer.cjs +10 -10
- package/dist/JSONInput/JSONInputContainer.js +22 -15
- package/dist/Layout/ActionLayout.js +1 -13
- package/dist/Layout/ContentLayout.js +1 -4
- package/dist/Layout/HeaderLayout.cjs +1 -1
- package/dist/Layout/HeaderLayout.js +35 -64
- package/dist/Layout/Layout.js +1 -5
- package/dist/Layout/TwoColsLayout.js +1 -17
- package/dist/Link/Link.cjs +5 -5
- package/dist/Link/Link.js +55 -57
- package/dist/LinkButton/LinkButton.cjs +7 -24
- package/dist/LinkButton/LinkButton.js +60 -87
- package/dist/LiveRegions/LiveRegions.cjs +1 -1
- package/dist/LiveRegions/LiveRegions.js +1 -1
- package/dist/Loader/Loader.cjs +4 -4
- package/dist/Loader/Loader.js +26 -24
- package/dist/Main/Main.js +1 -6
- package/dist/Main/SkipToContent.cjs +2 -2
- package/dist/Main/SkipToContent.js +17 -13
- package/dist/MainNav/MainNav.cjs +2 -2
- package/dist/MainNav/MainNav.js +21 -20
- package/dist/MainNav/NavBrand.cjs +2 -2
- package/dist/MainNav/NavBrand.js +4 -38
- package/dist/MainNav/NavCondense.cjs +2 -2
- package/dist/MainNav/NavCondense.js +10 -18
- package/dist/MainNav/NavFooter.js +1 -3
- package/dist/MainNav/NavLink.cjs +4 -4
- package/dist/MainNav/NavLink.js +8 -34
- package/dist/MainNav/NavSection.cjs +1 -1
- package/dist/MainNav/NavSection.js +5 -38
- package/dist/MainNav/NavSections.cjs +2 -2
- package/dist/MainNav/NavSections.js +4 -15
- package/dist/MainNav/NavUser.cjs +2 -2
- package/dist/MainNav/NavUser.js +6 -27
- package/dist/ModalLayout/ModalBody.js +1 -4
- package/dist/ModalLayout/ModalFooter.cjs +1 -1
- package/dist/ModalLayout/ModalFooter.js +2 -10
- package/dist/ModalLayout/ModalHeader.cjs +2 -2
- package/dist/ModalLayout/ModalHeader.js +8 -20
- package/dist/ModalLayout/ModalLayout.cjs +3 -3
- package/dist/ModalLayout/ModalLayout.js +23 -31
- package/dist/NumberInput/NumberInput.cjs +2 -2
- package/dist/NumberInput/NumberInput.js +54 -59
- package/dist/Pagination/Pagination.cjs +2 -2
- package/dist/Pagination/Pagination.js +11 -16
- package/dist/Pagination/components.cjs +3 -3
- package/dist/Pagination/components.js +31 -38
- package/dist/Popover/Popover.cjs +3 -3
- package/dist/Popover/Popover.js +111 -102
- package/dist/Popover/index.cjs +1 -1
- package/dist/Popover/index.js +9 -3
- package/dist/Portal/Portal.cjs +1 -1
- package/dist/Portal/Portal.js +10 -12
- package/dist/ProgressBar/ProgressBar.js +17 -14
- package/dist/Radio/Radio.cjs +2 -2
- package/dist/Radio/Radio.js +4 -11
- package/dist/RawTable/RawCell.cjs +1 -1
- package/dist/RawTable/RawCell.js +5 -14
- package/dist/RawTable/RawTable.cjs +1 -1
- package/dist/RawTable/RawTable.js +36 -35
- package/dist/RawTable/RawTbody.js +1 -3
- package/dist/RawTable/RawThead.js +1 -3
- package/dist/RawTable/RawTr.js +1 -4
- package/dist/Searchbar/SearchForm.js +1 -4
- package/dist/Searchbar/Searchbar.cjs +3 -3
- package/dist/Searchbar/Searchbar.js +21 -25
- package/dist/Select/MultiSelectNested.js +2 -14
- package/dist/Select/OptGroup.cjs +1 -1
- package/dist/Select/OptGroup.js +14 -10
- package/dist/Select/Option.cjs +3 -3
- package/dist/Select/Option.js +31 -33
- package/dist/Select/Select.cjs +2 -2
- package/dist/Select/Select.js +87 -107
- package/dist/Select/SelectButton.cjs +1 -1
- package/dist/Select/SelectButton.js +14 -11
- package/dist/Select/SelectList.cjs +1 -1
- package/dist/Select/SelectList.js +20 -16
- package/dist/Select/SelectTags.cjs +3 -3
- package/dist/Select/SelectTags.js +17 -15
- package/dist/Select/SingleSelect.cjs +1 -1
- package/dist/Select/SingleSelect.js +1 -1
- package/dist/SimpleMenu/SimpleMenu.cjs +3 -3
- package/dist/SimpleMenu/SimpleMenu.js +43 -67
- package/dist/Status/Status.js +15 -13
- package/dist/SubNav/SubNav.cjs +2 -2
- package/dist/SubNav/SubNav.js +5 -9
- package/dist/SubNav/SubNavHeader.cjs +2 -2
- package/dist/SubNav/SubNavHeader.js +31 -53
- package/dist/SubNav/SubNavLink.cjs +3 -3
- package/dist/SubNav/SubNavLink.js +18 -22
- package/dist/SubNav/SubNavLinkSection.cjs +2 -2
- package/dist/SubNav/SubNavLinkSection.js +5 -30
- package/dist/SubNav/SubNavSection.cjs +2 -2
- package/dist/SubNav/SubNavSection.js +23 -30
- package/dist/SubNav/SubNavSectionLabel.cjs +2 -2
- package/dist/SubNav/SubNavSectionLabel.js +15 -24
- package/dist/SubNav/SubNavSections.cjs +1 -1
- package/dist/SubNav/SubNavSections.js +3 -12
- package/dist/Switch/Switch.cjs +2 -2
- package/dist/Switch/Switch.js +16 -17
- package/dist/Table/Cell.cjs +1 -1
- package/dist/Table/Cell.js +3 -8
- package/dist/Table/TFooter.cjs +2 -2
- package/dist/Table/TFooter.js +3 -17
- package/dist/Table/Table.cjs +1 -1
- package/dist/Table/Table.js +2 -18
- package/dist/Table/Tbody.js +1 -3
- package/dist/Table/Thead.js +1 -3
- package/dist/Table/Tr.js +1 -3
- package/dist/Tabs/TabGroup.cjs +1 -1
- package/dist/Tabs/TabGroup.js +30 -27
- package/dist/Tabs/TabPanels.js +2 -10
- package/dist/Tabs/Tabs.cjs +1 -1
- package/dist/Tabs/Tabs.js +43 -51
- package/dist/Tag/Tag.cjs +1 -1
- package/dist/Tag/Tag.js +20 -23
- package/dist/TextButton/TextButton.cjs +6 -6
- package/dist/TextButton/TextButton.js +15 -15
- package/dist/TextInput/TextInput.cjs +1 -1
- package/dist/TextInput/TextInput.js +14 -32
- package/dist/Textarea/Textarea.cjs +2 -2
- package/dist/Textarea/Textarea.js +10 -25
- package/dist/Textarea/TextareaInput.cjs +1 -1
- package/dist/Textarea/TextareaInput.js +15 -15
- package/dist/TimePicker/TimePicker.cjs +2 -2
- package/dist/TimePicker/TimePicker.js +27 -26
- package/dist/ToggleCheckbox/ToggleCheckbox.cjs +5 -5
- package/dist/ToggleCheckbox/ToggleCheckbox.js +85 -60
- package/dist/ToggleInput/ToggleInput.cjs +3 -3
- package/dist/ToggleInput/ToggleInput.js +14 -32
- package/dist/Tooltip/Tooltip.cjs +2 -2
- package/dist/Tooltip/Tooltip.js +62 -53
- package/dist/Tooltip/hooks/useTooltipHandlers.cjs +1 -1
- package/dist/Tooltip/hooks/useTooltipHandlers.js +7 -7
- package/dist/Tooltip/hooks/useTooltipLayout.cjs +1 -1
- package/dist/Tooltip/hooks/useTooltipLayout.js +8 -5
- package/dist/Typography/Typography.cjs +3 -2
- package/dist/Typography/Typography.js +17 -14
- package/dist/helpers/objects.cjs +1 -1
- package/dist/helpers/objects.js +1 -1
- package/dist/hooks/useId.cjs +1 -0
- package/dist/hooks/useId.js +13 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +136 -134
- package/dist/themes/extendTheme.cjs +1 -1
- package/dist/themes/extendTheme.js +4 -4
- package/dist/v2/Breadcrumbs/Breadcrumbs.cjs +2 -2
- package/dist/v2/Breadcrumbs/Breadcrumbs.js +4 -13
- package/dist/v2/Breadcrumbs/Crumb.js +11 -12
- package/dist/v2/Breadcrumbs/CrumbLink.js +1 -3
- package/dist/v2/Breadcrumbs/CrumbSimpleMenu.cjs +2 -2
- package/dist/v2/Breadcrumbs/CrumbSimpleMenu.js +5 -11
- package/dist/v2/Breadcrumbs/Divider.js +1 -8
- package/dist/v2/Link/Link.cjs +2 -2
- package/dist/v2/Link/Link.js +5 -24
- package/dist/v2/LinkButton/LinkButton.cjs +11 -24
- package/dist/v2/LinkButton/LinkButton.js +62 -84
- package/dist/v2/MainNav/MainNav.cjs +2 -2
- package/dist/v2/MainNav/MainNav.js +21 -20
- package/dist/v2/MainNav/NavBrand.cjs +2 -2
- package/dist/v2/MainNav/NavBrand.js +4 -38
- package/dist/v2/MainNav/NavCondense.cjs +2 -2
- package/dist/v2/MainNav/NavCondense.js +10 -18
- package/dist/v2/MainNav/NavFooter.js +1 -3
- package/dist/v2/MainNav/NavLink.cjs +4 -4
- package/dist/v2/MainNav/NavLink.js +10 -39
- package/dist/v2/MainNav/NavSection.cjs +1 -1
- package/dist/v2/MainNav/NavSection.js +5 -38
- package/dist/v2/MainNav/NavSections.cjs +2 -2
- package/dist/v2/MainNav/NavSections.js +4 -15
- package/dist/v2/MainNav/NavUser.cjs +2 -2
- package/dist/v2/MainNav/NavUser.js +6 -27
- package/dist/v2/Pagination/Pagination.cjs +2 -2
- package/dist/v2/Pagination/Pagination.js +11 -16
- package/dist/v2/Pagination/components.cjs +2 -2
- package/dist/v2/Pagination/components.js +11 -39
- package/dist/v2/SimpleMenu/SimpleMenu.cjs +4 -4
- package/dist/v2/SimpleMenu/SimpleMenu.js +42 -65
- package/dist/v2/SubNav/SubNav.cjs +2 -2
- package/dist/v2/SubNav/SubNav.js +5 -9
- package/dist/v2/SubNav/SubNavHeader.cjs +2 -2
- package/dist/v2/SubNav/SubNavHeader.js +31 -53
- package/dist/v2/SubNav/SubNavLink.cjs +2 -2
- package/dist/v2/SubNav/SubNavLink.js +18 -22
- package/dist/v2/SubNav/SubNavLinkSection.cjs +2 -2
- package/dist/v2/SubNav/SubNavLinkSection.js +5 -30
- package/dist/v2/SubNav/SubNavSection.cjs +2 -2
- package/dist/v2/SubNav/SubNavSection.js +26 -33
- package/dist/v2/SubNav/SubNavSectionLabel.cjs +2 -2
- package/dist/v2/SubNav/SubNavSectionLabel.js +15 -24
- package/dist/v2/SubNav/SubNavSections.cjs +1 -1
- package/dist/v2/SubNav/SubNavSections.js +3 -12
- package/package.json +7 -4
package/dist/Select/Select.js
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
import r, { useState as ee, useRef as te, Children as k, cloneElement as j } from "react";
|
|
2
|
+
import { Cross as re, CarretDown as oe } from "@strapi/icons";
|
|
2
3
|
import e from "prop-types";
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
4
|
+
import ne from "styled-components";
|
|
5
|
+
import { SelectButtonWrapper as ie, IconBox as le, CaretBox as se } from "./components.js";
|
|
6
|
+
import { DownState as ae } from "./constants.js";
|
|
7
|
+
import { useButtonRef as pe } from "./hooks/useButtonRef.js";
|
|
8
|
+
import { SelectButton as ce } from "./SelectButton.js";
|
|
9
|
+
import { SelectList as me } from "./SelectList.js";
|
|
10
|
+
import { SelectTags as de } from "./SelectTags.js";
|
|
11
|
+
import { Box as A } from "../Box/Box.js";
|
|
12
|
+
import { Field as fe } from "../Field/Field.js";
|
|
13
|
+
import { FieldLabel as ue } from "../Field/FieldLabel.js";
|
|
9
14
|
import "../Field/FieldInput.js";
|
|
10
|
-
import { FieldHint as
|
|
11
|
-
import { FieldError as
|
|
15
|
+
import { FieldHint as he } from "../Field/FieldHint.js";
|
|
16
|
+
import { FieldError as Ee } from "../Field/FieldError.js";
|
|
12
17
|
import "../Field/FieldContext.js";
|
|
13
18
|
import "../Field/FieldAction.js";
|
|
14
|
-
import { Popover as me } from "../Popover/Popover.js";
|
|
15
|
-
import { Stack as de } from "../Stack/Stack.js";
|
|
16
|
-
import { Typography as A } from "../Typography/Typography.js";
|
|
17
19
|
import { Flex as C } from "../Flex/Flex.js";
|
|
18
|
-
import {
|
|
19
|
-
import { useId as
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
|
|
26
|
-
import { SelectTags as ve } from "./SelectTags.js";
|
|
27
|
-
const Be = re(C)`
|
|
20
|
+
import { escapeSelector as P } from "../helpers/escapeSelector.js";
|
|
21
|
+
import { useId as be } from "../helpers/useId.js";
|
|
22
|
+
import { Popover as ye } from "../Popover/Popover.js";
|
|
23
|
+
import { Stack as ge } from "../Stack/Stack.js";
|
|
24
|
+
import { sizes as ve } from "../themes/sizes.js";
|
|
25
|
+
import { Typography as _ } from "../Typography/Typography.js";
|
|
26
|
+
import { VisuallyHidden as q } from "../VisuallyHidden/VisuallyHidden.js";
|
|
27
|
+
const Be = ne(C)`
|
|
28
28
|
width: 100%;
|
|
29
29
|
`, z = ({
|
|
30
30
|
label: d,
|
|
@@ -49,7 +49,7 @@ const Be = re(C)`
|
|
|
49
49
|
withTags: u,
|
|
50
50
|
...U
|
|
51
51
|
}) => {
|
|
52
|
-
const n =
|
|
52
|
+
const n = be(H), [h, E] = ee(void 0), $ = pe(h), R = te(null), w = `${n}-label`, b = `${n}-content`, X = typeof m == "string";
|
|
53
53
|
let B;
|
|
54
54
|
if (m ? B = `${n}-error` : v && (B = `${n}-hint`), u && !i)
|
|
55
55
|
throw new Error('The "withTags" props can only be used when the "multi" prop is present');
|
|
@@ -58,7 +58,7 @@ const Be = re(C)`
|
|
|
58
58
|
}, Z = () => {
|
|
59
59
|
s || (S(), $.current.focus());
|
|
60
60
|
}, D = (t) => {
|
|
61
|
-
t.preventDefault(), !s && (t.nativeEvent.which === 3 || t.nativeEvent.button === 2 || E(
|
|
61
|
+
t.preventDefault(), !s && (t.nativeEvent.which === 3 || t.nativeEvent.button === 2 || E(ae.Mouse));
|
|
62
62
|
}, O = (t, l = !0) => {
|
|
63
63
|
i ? g(o.includes(t) ? o.filter((a) => a !== t) : [...o, t]) : (g(t), l && E(void 0));
|
|
64
64
|
}, L = (t) => {
|
|
@@ -70,7 +70,7 @@ const Be = re(C)`
|
|
|
70
70
|
const M = (t, l) => {
|
|
71
71
|
const a = `${n}-option-${t.props.value}`, c = i ? o.includes(t.props.value) : t.props.value === o;
|
|
72
72
|
return c && (u ? F.push({ label: t.props.children, value: t.props.value }) : T = t.props.children), j(t, {
|
|
73
|
-
id:
|
|
73
|
+
id: P(a),
|
|
74
74
|
onClick: () => O(t.props.value),
|
|
75
75
|
selected: c,
|
|
76
76
|
multi: i,
|
|
@@ -80,7 +80,7 @@ const Be = re(C)`
|
|
|
80
80
|
if (t.type.displayName === "OptGroup") {
|
|
81
81
|
const l = `${n}-option-${t.props.label}`, a = t.props.children.every((p) => o.includes(p.props.value)), c = !a && t.props.children.some((p) => o.includes(p.props.value));
|
|
82
82
|
return j(t, {
|
|
83
|
-
id:
|
|
83
|
+
id: P(l),
|
|
84
84
|
onClick: () => L(t.props.children.map((p) => p.props.value)),
|
|
85
85
|
selected: a,
|
|
86
86
|
indeterminate: c,
|
|
@@ -91,86 +91,66 @@ const Be = re(C)`
|
|
|
91
91
|
}
|
|
92
92
|
return M(t);
|
|
93
93
|
});
|
|
94
|
-
return /* @__PURE__ */ r.createElement(
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
}, /* @__PURE__ */ r.createElement(
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
as: "button",
|
|
155
|
-
type: "button",
|
|
156
|
-
onMouseDown: D,
|
|
157
|
-
tabIndex: -1,
|
|
158
|
-
disabled: s,
|
|
159
|
-
title: K
|
|
160
|
-
}, /* @__PURE__ */ r.createElement(ne, null))))), /* @__PURE__ */ r.createElement(pe, null), /* @__PURE__ */ r.createElement(ce, null)), h && /* @__PURE__ */ r.createElement(me, {
|
|
161
|
-
source: R,
|
|
162
|
-
spacing: 4,
|
|
163
|
-
fullWidth: !0,
|
|
164
|
-
intersectionId: `select-list-intersection-${n}`,
|
|
165
|
-
onReachEnd: N
|
|
166
|
-
}, /* @__PURE__ */ r.createElement(ue, {
|
|
167
|
-
selectId: n,
|
|
168
|
-
labelledBy: d ? w : void 0,
|
|
169
|
-
onEscape: Y,
|
|
170
|
-
expanded: h,
|
|
171
|
-
onSelectItem: (t, l) => l ? L(t) : O(t, !1),
|
|
172
|
-
multi: i
|
|
173
|
-
}, V)));
|
|
94
|
+
return /* @__PURE__ */ r.createElement(fe, { hint: v, error: m, id: n, required: J }, /* @__PURE__ */ r.createElement(ge, { spacing: d || v || X ? 1 : 0 }, d && /* @__PURE__ */ r.createElement(ue, { action: G }, d), /* @__PURE__ */ r.createElement(ie, { size: Q, hasError: Boolean(m), disabled: s, ref: R }, /* @__PURE__ */ r.createElement(
|
|
95
|
+
ce,
|
|
96
|
+
{
|
|
97
|
+
ref: $,
|
|
98
|
+
labelledBy: `${n} ${w} ${b}`,
|
|
99
|
+
"aria-describedby": B,
|
|
100
|
+
expanded: Boolean(h),
|
|
101
|
+
onTrigger: E,
|
|
102
|
+
id: n,
|
|
103
|
+
hasError: Boolean(m),
|
|
104
|
+
disabled: s,
|
|
105
|
+
onMouseDown: D,
|
|
106
|
+
...U
|
|
107
|
+
}
|
|
108
|
+
), /* @__PURE__ */ r.createElement(Be, { justifyContent: "space-between" }, /* @__PURE__ */ r.createElement(C, null, x && /* @__PURE__ */ r.createElement(A, { paddingLeft: 3, "aria-hidden": !0 }, x), u && /* @__PURE__ */ r.createElement(de, { tags: F, onRemoveTag: O, disabled: s }), /* @__PURE__ */ r.createElement(A, { paddingLeft: 4, paddingRight: 4 }, u ? /* @__PURE__ */ r.createElement(r.Fragment, null, !o || o.length === 0 ? /* @__PURE__ */ r.createElement(_, { ellipsis: !0, id: b, textColor: "neutral600" }, y) : null, /* @__PURE__ */ r.createElement(q, { as: "span", id: b }, f ? f(o) : T || y, o.join(", "))) : /* @__PURE__ */ r.createElement(_, { ellipsis: !0, id: b, textColor: o ? "neutral800" : "neutral600" }, f ? f(o) : T || y, i && /* @__PURE__ */ r.createElement(q, { as: "span" }, o.join(", "))))), /* @__PURE__ */ r.createElement(C, null, (i && o && o.length || !i && o) && S && /* @__PURE__ */ r.createElement(
|
|
109
|
+
le,
|
|
110
|
+
{
|
|
111
|
+
as: "button",
|
|
112
|
+
type: "button",
|
|
113
|
+
onClick: Z,
|
|
114
|
+
"aria-label": I,
|
|
115
|
+
"aria-disabled": s,
|
|
116
|
+
title: I
|
|
117
|
+
},
|
|
118
|
+
/* @__PURE__ */ r.createElement(re, null)
|
|
119
|
+
), /* @__PURE__ */ r.createElement(
|
|
120
|
+
se,
|
|
121
|
+
{
|
|
122
|
+
paddingLeft: 3,
|
|
123
|
+
"aria-hidden": !0,
|
|
124
|
+
as: "button",
|
|
125
|
+
type: "button",
|
|
126
|
+
onMouseDown: D,
|
|
127
|
+
tabIndex: -1,
|
|
128
|
+
disabled: s,
|
|
129
|
+
title: K
|
|
130
|
+
},
|
|
131
|
+
/* @__PURE__ */ r.createElement(oe, null)
|
|
132
|
+
)))), /* @__PURE__ */ r.createElement(he, null), /* @__PURE__ */ r.createElement(Ee, null)), h && /* @__PURE__ */ r.createElement(
|
|
133
|
+
ye,
|
|
134
|
+
{
|
|
135
|
+
source: R,
|
|
136
|
+
spacing: 4,
|
|
137
|
+
fullWidth: !0,
|
|
138
|
+
intersectionId: `select-list-intersection-${n}`,
|
|
139
|
+
onReachEnd: N
|
|
140
|
+
},
|
|
141
|
+
/* @__PURE__ */ r.createElement(
|
|
142
|
+
me,
|
|
143
|
+
{
|
|
144
|
+
selectId: n,
|
|
145
|
+
labelledBy: d ? w : void 0,
|
|
146
|
+
onEscape: Y,
|
|
147
|
+
expanded: h,
|
|
148
|
+
onSelectItem: (t, l) => l ? L(t) : O(t, !1),
|
|
149
|
+
multi: i
|
|
150
|
+
},
|
|
151
|
+
V
|
|
152
|
+
)
|
|
153
|
+
));
|
|
174
154
|
};
|
|
175
155
|
z.defaultProps = {
|
|
176
156
|
"aria-label": void 0,
|
|
@@ -203,7 +183,7 @@ z.propTypes = {
|
|
|
203
183
|
customizeContent: e.func,
|
|
204
184
|
disabled: e.bool,
|
|
205
185
|
error: e.oneOfType([e.string, e.bool]),
|
|
206
|
-
hint: e.oneOfType([e.string, e.node, e.arrayOf(e.node)]),
|
|
186
|
+
hint: e.oneOfType([e.string, e.bool, e.node, e.arrayOf(e.node)]),
|
|
207
187
|
id: e.oneOfType([e.string, e.number]),
|
|
208
188
|
label: e.string,
|
|
209
189
|
labelAction: e.element,
|
|
@@ -214,7 +194,7 @@ z.propTypes = {
|
|
|
214
194
|
placeholder: e.string,
|
|
215
195
|
required: e.bool,
|
|
216
196
|
selectButtonTitle: e.string,
|
|
217
|
-
size: e.oneOf(Object.keys(
|
|
197
|
+
size: e.oneOf(Object.keys(ve.input)),
|
|
218
198
|
startIcon: e.element,
|
|
219
199
|
value: e.oneOfType([
|
|
220
200
|
e.arrayOf(e.oneOfType([e.string, e.number])),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("react"),b=require("prop-types"),f=require("styled-components"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("react"),b=require("prop-types"),f=require("styled-components"),l=require("./constants.cjs"),t=require("../helpers/keyboardKeys.cjs"),r=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},K=r(u),a=r(b),h=r(f),S=h.default.button`
|
|
2
2
|
position: absolute;
|
|
3
3
|
left: 0;
|
|
4
4
|
right: 0;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import u, { forwardRef as b } from "react";
|
|
2
2
|
import e from "prop-types";
|
|
3
3
|
import c from "styled-components";
|
|
4
|
-
import { KeyboardKeys as t } from "../helpers/keyboardKeys.js";
|
|
5
4
|
import { UpState as f, DownState as y } from "./constants.js";
|
|
5
|
+
import { KeyboardKeys as t } from "../helpers/keyboardKeys.js";
|
|
6
6
|
const m = c.button`
|
|
7
7
|
position: absolute;
|
|
8
8
|
left: 0;
|
|
@@ -37,16 +37,19 @@ const m = c.button`
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
};
|
|
40
|
-
return /* @__PURE__ */ u.createElement(
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
40
|
+
return /* @__PURE__ */ u.createElement(
|
|
41
|
+
m,
|
|
42
|
+
{
|
|
43
|
+
ref: i,
|
|
44
|
+
"aria-labelledby": s,
|
|
45
|
+
"aria-haspopup": "listbox",
|
|
46
|
+
"aria-expanded": d,
|
|
47
|
+
onKeyDown: p,
|
|
48
|
+
"aria-disabled": n,
|
|
49
|
+
type: "button",
|
|
50
|
+
...l
|
|
51
|
+
}
|
|
52
|
+
);
|
|
50
53
|
});
|
|
51
54
|
a.displayName = "SelectButton";
|
|
52
55
|
a.defaultProps = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const K=require("react"),q=require("prop-types"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const K=require("react"),q=require("prop-types"),i=require("./constants.cjs"),k=require("./hooks/useListRef.cjs"),n=require("./utils.cjs"),c=require("../helpers/keyboardKeys.cjs"),v=require("../Stack/Stack.cjs"),b=r=>r&&typeof r=="object"&&"default"in r?r:{default:r},h=b(K),s=b(q),p=({labelledBy:r,onSelectItem:f,children:g,multi:y,onEscape:u,expanded:S})=>{const e=k.useListRef(S),D=o=>{switch(o.key){case c.KeyboardKeys.ESCAPE:{o.stopPropagation(),u();break}case c.KeyboardKeys.DOWN:{o.preventDefault();const t=n.getActiveDescendant(e.current);if(!t)return;const a=t.nextSibling;if(a)n.changeDescendant(e.current,a);else{const d=e.current.querySelectorAll('[role="option"]')[0];n.changeDescendant(e.current,d)}break}case c.KeyboardKeys.UP:{o.preventDefault();const t=n.getActiveDescendant(e.current);if(!t)return;const a=t.previousSibling;if(a)n.changeDescendant(e.current,a);else{const l=e.current.querySelectorAll('[role="option"]'),d=l[l.length-1];n.changeDescendant(e.current,d)}break}case c.KeyboardKeys.SPACE:case c.KeyboardKeys.ENTER:{o.preventDefault();const t=n.getActiveDescendant(e.current);t.getAttribute("data-opt-group")?f(t.getAttribute("data-opt-group-children").split(","),t.getAttribute("data-opt-group")):f(t.getAttribute("data-strapi-value")),y||u();break}}};return h.default.createElement(v.Stack,{as:"ul",spacing:1,role:"listbox","aria-labelledby":r,tabIndex:-1,ref:e,onKeyDown:D,onBlur:u,"aria-multiselectable":y},g)};p.defaultProps={labelledBy:void 0,multi:!1};p.propTypes={children:s.default.node.isRequired,expanded:s.default.oneOf([i.UpState.Keyboard,i.UpState.Mouse,i.DownState.Keyboard,i.DownState.Mouse]).isRequired,labelledBy:s.default.string,multi:s.default.bool,onEscape:s.default.func.isRequired,onSelectItem:s.default.func.isRequired};exports.SelectList=p;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import D from "react";
|
|
2
2
|
import r from "prop-types";
|
|
3
|
-
import { KeyboardKeys as i } from "../helpers/keyboardKeys.js";
|
|
4
|
-
import { Stack as O } from "../Stack/Stack.js";
|
|
5
|
-
import { getActiveDescendant as u, changeDescendant as s } from "./utils.js";
|
|
6
|
-
import { useListRef as v } from "./hooks/useListRef.js";
|
|
7
3
|
import { UpState as f, DownState as b } from "./constants.js";
|
|
4
|
+
import { useListRef as O } from "./hooks/useListRef.js";
|
|
5
|
+
import { getActiveDescendant as u, changeDescendant as s } from "./utils.js";
|
|
6
|
+
import { KeyboardKeys as i } from "../helpers/keyboardKeys.js";
|
|
7
|
+
import { Stack as v } from "../Stack/Stack.js";
|
|
8
8
|
const m = ({ labelledBy: g, onSelectItem: p, children: y, multi: d, onEscape: a, expanded: S }) => {
|
|
9
|
-
const e =
|
|
9
|
+
const e = O(S), A = (o) => {
|
|
10
10
|
switch (o.key) {
|
|
11
11
|
case i.ESCAPE: {
|
|
12
12
|
o.stopPropagation(), a();
|
|
@@ -52,17 +52,21 @@ const m = ({ labelledBy: g, onSelectItem: p, children: y, multi: d, onEscape: a,
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
};
|
|
55
|
-
return /* @__PURE__ */ D.createElement(
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
55
|
+
return /* @__PURE__ */ D.createElement(
|
|
56
|
+
v,
|
|
57
|
+
{
|
|
58
|
+
as: "ul",
|
|
59
|
+
spacing: 1,
|
|
60
|
+
role: "listbox",
|
|
61
|
+
"aria-labelledby": g,
|
|
62
|
+
tabIndex: -1,
|
|
63
|
+
ref: e,
|
|
64
|
+
onKeyDown: A,
|
|
65
|
+
onBlur: a,
|
|
66
|
+
"aria-multiselectable": d
|
|
67
|
+
},
|
|
68
|
+
y
|
|
69
|
+
);
|
|
66
70
|
};
|
|
67
71
|
m.defaultProps = {
|
|
68
72
|
labelledBy: void 0,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("react"),d=require("
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("react"),d=require("@strapi/icons"),i=require("prop-types"),f=require("styled-components"),p=require("../Flex/Flex.cjs"),g=require("../Tag/Tag.cjs"),s=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},a=s(c),t=s(i),o=s(f),T=o.default.div`
|
|
2
2
|
margin-bottom: ${({theme:e})=>e.spaces[1]};
|
|
3
|
-
`,m=o.default(
|
|
3
|
+
`,m=o.default(g.Tag)`
|
|
4
4
|
margin-left: ${({theme:e})=>e.spaces[1]};
|
|
5
5
|
margin-top: ${({theme:e})=>e.spaces[1]};
|
|
6
|
-
`,r=({tags:e,onRemoveTag:n,disabled:u})=>a.default.createElement(T,null,a.default.createElement(
|
|
6
|
+
`,r=({tags:e,onRemoveTag:n,disabled:u})=>a.default.createElement(T,null,a.default.createElement(p.Flex,{wrap:"wrap"},e.map(l=>a.default.createElement(m,{disabled:u,key:`tag-${l.value}`,icon:a.default.createElement(d.Cross,null),onClick:()=>n(l.value),position:"relative",tabIndex:-1,zIndex:1},l.label))));r.defaultProps={disabled:!1,tags:[]};r.propTypes={disabled:t.default.bool,onRemoveTag:t.default.func.isRequired,tags:t.default.arrayOf(t.default.shape({label:t.default.string,value:t.default.oneOfType([t.default.string,t.default.number])}))};exports.SelectTags=r;
|
|
@@ -1,25 +1,27 @@
|
|
|
1
1
|
import a from "react";
|
|
2
|
+
import { Cross as n } from "@strapi/icons";
|
|
2
3
|
import e from "prop-types";
|
|
3
4
|
import o from "styled-components";
|
|
4
|
-
import {
|
|
5
|
-
import { Tag as
|
|
6
|
-
import { Flex as i } from "../Flex/Flex.js";
|
|
5
|
+
import { Flex as m } from "../Flex/Flex.js";
|
|
6
|
+
import { Tag as i } from "../Tag/Tag.js";
|
|
7
7
|
const c = o.div`
|
|
8
8
|
margin-bottom: ${({ theme: r }) => r.spaces[1]};
|
|
9
|
-
`, f = o(
|
|
9
|
+
`, f = o(i)`
|
|
10
10
|
margin-left: ${({ theme: r }) => r.spaces[1]};
|
|
11
11
|
margin-top: ${({ theme: r }) => r.spaces[1]};
|
|
12
|
-
`, l = ({ tags: r, onRemoveTag: s, disabled: p }) => /* @__PURE__ */ a.createElement(c, null, /* @__PURE__ */ a.createElement(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
},
|
|
12
|
+
`, l = ({ tags: r, onRemoveTag: s, disabled: p }) => /* @__PURE__ */ a.createElement(c, null, /* @__PURE__ */ a.createElement(m, { wrap: "wrap" }, r.map((t) => /* @__PURE__ */ a.createElement(
|
|
13
|
+
f,
|
|
14
|
+
{
|
|
15
|
+
disabled: p,
|
|
16
|
+
key: `tag-${t.value}`,
|
|
17
|
+
icon: /* @__PURE__ */ a.createElement(n, null),
|
|
18
|
+
onClick: () => s(t.value),
|
|
19
|
+
position: "relative",
|
|
20
|
+
tabIndex: -1,
|
|
21
|
+
zIndex: 1
|
|
22
|
+
},
|
|
23
|
+
t.label
|
|
24
|
+
))));
|
|
23
25
|
l.defaultProps = {
|
|
24
26
|
disabled: !1,
|
|
25
27
|
tags: []
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),W=require("react"),U=require("@radix-ui/react-select"),w=require("@strapi/icons"),Y=require("styled-components"),G=require("../Field/Field.cjs"),J=require("../Field/FieldLabel.cjs");require("../Field/FieldInput.cjs");const Q=require("../Field/FieldHint.cjs"),X=require("../Field/FieldError.cjs");require("../Field/FieldContext.cjs");require("../Field/FieldAction.cjs");const Z=require("../Stack/Stack.cjs"),g=require("../Box/Box.cjs"),q=require("../Flex/Flex.cjs"),j=require("../Typography/Typography.cjs"),ee=require("../
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),W=require("react"),U=require("@radix-ui/react-select"),w=require("@strapi/icons"),Y=require("styled-components"),G=require("../Field/Field.cjs"),J=require("../Field/FieldLabel.cjs");require("../Field/FieldInput.cjs");const Q=require("../Field/FieldHint.cjs"),X=require("../Field/FieldError.cjs");require("../Field/FieldContext.cjs");require("../Field/FieldAction.cjs");const Z=require("../Stack/Stack.cjs"),g=require("../Box/Box.cjs"),q=require("../Flex/Flex.cjs"),j=require("../Typography/Typography.cjs"),ee=require("../hooks/useId.cjs"),te=require("../hooks/useIntersection.cjs"),I=require("../themes/utils.cjs"),re=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function k(e){if(e&&e.__esModule)return e;const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const s in e)if(s!=="default"){const i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(n,s,i.get?i:{enumerable:!0,get:()=>e[s]})}}return n.default=e,Object.freeze(n)}const h=k(W),o=k(U),c=re(Y),ne=[" ","Enter","ArrowUp","ArrowDown"],oe=({children:e,clearLabel:n="Clear",customizeContent:s=p=>p.toString(),disabled:i,error:b,hint:v,id:R,label:T,labelAction:O,onChange:$,onClear:a,onReachEnd:m,placeholder:_,required:y,selectButtonTitle:he,startIcon:S,size:B="M",value:f})=>{const p=h.useRef(null),x=h.useRef(null),d=h.useRef(null),[D,C]=h.useState(""),[E,P]=h.useState(!1),u=ee.useId(R),V=`${u}-hint`,M=`${u}-error`,N=r=>{$?$(typeof f=="number"?Number(r):r):C(r)},z=r=>{a&&!i&&(a(r),x.current.focus())},A=r=>{P(r)},H=r=>{d.current&&d.current===r.target.closest("div")&&r.preventDefault()},K=r=>{ne.includes(r.key)&&d.current&&d.current===r.target.closest("div")&&!i&&a&&(r.preventDefault(),a(r),x.current.focus())},F=`intersection-${u}`,L=r=>{m&&m(r)};te.useIntersection(p,L,{selectorToWatch:`#${F}`,skipWhen:!E});const l=typeof f<"u"?f.toString():D;return t.jsx(G.Field,{hint:v,error:b,id:u,required:y,children:t.jsxs(Z.Stack,{spacing:1,children:[t.jsx(J.FieldLabel,{action:O,children:T}),t.jsxs(o.Root,{onOpenChange:A,disabled:i,required:y,onValueChange:N,value:l,children:[t.jsxs(ie,{id:u,"aria-labelledby":`${V} ${M}`,"aria-disabled":i,$hasError:Boolean(b),$size:B,onPointerDown:H,onKeyDown:K,ref:x,children:[t.jsxs(q.Flex,{as:"span",gap:4,children:[S&&t.jsx(g.Box,{as:"span","aria-hidden":!0,children:S}),t.jsx(j.Typography,{ellipsis:!0,textColor:l?"neutral800":"neutral600",children:t.jsx(o.Value,{"aria-label":l,children:l?s(l):_})})]}),t.jsxs(q.Flex,{as:"span",gap:3,children:[l&&a?t.jsx(se,{hasRadius:!0,background:"transparent",role:"button",tabIndex:0,onClick:z,"aria-disabled":i,"aria-label":n,title:n,ref:d,children:t.jsx(w.Cross,{})}):null,t.jsx(le,{children:t.jsx(w.CarretDown,{})})]})]}),t.jsx(o.Portal,{children:t.jsx(ce,{position:"popper",sideOffset:4,children:t.jsxs(ae,{ref:p,children:[e,t.jsx(g.Box,{id:F,width:"100%",height:"1px"})]})})})]}),t.jsx(Q.FieldHint,{}),t.jsx(X.FieldError,{})]})})},se=c.default(g.Box)`
|
|
2
2
|
border: none;
|
|
3
3
|
|
|
4
4
|
svg {
|
|
@@ -14,7 +14,7 @@ import { Stack as J } from "../Stack/Stack.js";
|
|
|
14
14
|
import { Box as m } from "../Box/Box.js";
|
|
15
15
|
import { Flex as I } from "../Flex/Flex.js";
|
|
16
16
|
import { Typography as b } from "../Typography/Typography.js";
|
|
17
|
-
import { useId as L } from "../
|
|
17
|
+
import { useId as L } from "../hooks/useId.js";
|
|
18
18
|
import { useIntersection as Q } from "../hooks/useIntersection.js";
|
|
19
19
|
import { getThemeSize as X, inputFocusStyle as Z } from "../themes/utils.js";
|
|
20
20
|
const ee = [" ", "Enter", "ArrowUp", "ArrowDown"], Te = ({
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react"),M=require("@radix-ui/react-use-callback-ref"),z=require("@strapi/icons"),U=require("prop-types"),H=require("react-router-dom"),G=require("styled-components"),q=require("./utils.cjs"),b=require("../Box/Box.cjs"),j=require("../Button/Button.cjs"),J=require("../Flex/Flex.cjs"),s=require("../helpers/keyboardKeys.cjs"),Q=require("../helpers/useId.cjs"),X=require("../Link/Link.cjs"),w=require("../Popover/Popover.cjs"),T=require("../Typography/Typography.cjs"),B=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},o=B(a),t=B(U),E=B(G),Y=E.default.button`
|
|
2
2
|
border: none;
|
|
3
3
|
padding: 0;
|
|
4
4
|
background: transparent;
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
`,Z=E.default(H.NavLink)`
|
|
8
8
|
text-decoration: none;
|
|
9
9
|
${q.getOptionStyle}
|
|
10
|
-
`,ee=E.default(
|
|
10
|
+
`,ee=E.default(X.Link)`
|
|
11
11
|
/* Removing Link hover effect */
|
|
12
12
|
&:hover {
|
|
13
13
|
color: currentColor;
|
|
@@ -32,4 +32,4 @@
|
|
|
32
32
|
}
|
|
33
33
|
`,ne=E.default(j.Button)`
|
|
34
34
|
padding: ${({theme:e})=>`${e.spaces[1]} ${e.spaces[3]}`};
|
|
35
|
-
`,I=({children:e,onClick:h,to:u,isFocused:l,href:c,...x})=>{const d=a.useRef();a.useEffect(()=>{l&&d.current&&d.current.focus()},[l]);const i={tabIndex:l?0:-1,ref:d,role:"menuitem",...x},f=v=>{(v.key===s.KeyboardKeys.SPACE||v.key===s.KeyboardKeys.ENTER)&&h()};return u&&!c?o.default.createElement(Z,{to:u,...i},o.default.createElement(b.Box,{padding:2},o.default.createElement(T.Typography,null,e))):c&&!u?o.default.createElement(ee,{isExternal:!0,href:c,...i},o.default.createElement(b.Box,{padding:2},o.default.createElement(T.Typography,null,e))):o.default.createElement(Y,{onKeyDown:f,onMouseDown:h,type:"button",...i},o.default.createElement(b.Box,{padding:2},o.default.createElement(T.Typography,null,e)))};I.defaultProps={as:void 0,href:void 0,isFocused:!1,onClick(){},to:void 0};I.propTypes={as:t.default.elementType,children:t.default.node.isRequired,href:t.default.string,isFocused:t.default.bool,onClick:t.default.func,to:t.default.string};const g=({label:e,children:h,id:u,as:l,onOpen:c=()=>{},onClose:x=()=>{},size:d,popoverPlacement:i,onReachEnd:f,...v})=>{const p=a.useRef(),K=
|
|
35
|
+
`,I=({children:e,onClick:h,to:u,isFocused:l,href:c,...x})=>{const d=a.useRef();a.useEffect(()=>{l&&d.current&&d.current.focus()},[l]);const i={tabIndex:l?0:-1,ref:d,role:"menuitem",...x},f=v=>{(v.key===s.KeyboardKeys.SPACE||v.key===s.KeyboardKeys.ENTER)&&h()};return u&&!c?o.default.createElement(Z,{to:u,...i},o.default.createElement(b.Box,{padding:2},o.default.createElement(T.Typography,null,e))):c&&!u?o.default.createElement(ee,{isExternal:!0,href:c,...i},o.default.createElement(b.Box,{padding:2},o.default.createElement(T.Typography,null,e))):o.default.createElement(Y,{onKeyDown:f,onMouseDown:h,type:"button",...i},o.default.createElement(b.Box,{padding:2},o.default.createElement(T.Typography,null,e)))};I.defaultProps={as:void 0,href:void 0,isFocused:!1,onClick(){},to:void 0};I.propTypes={as:t.default.elementType,children:t.default.node.isRequired,href:t.default.string,isFocused:t.default.bool,onClick:t.default.func,to:t.default.string};const g=({label:e,children:h,id:u,as:l,onOpen:c=()=>{},onClose:x=()=>{},size:d,popoverPlacement:i,onReachEnd:f,...v})=>{const p=a.useRef(),K=Q.useId(u),R=a.useRef(!1),[y,m]=a.useState(!1),[P,C]=a.useState(0),k=a.Children.toArray(h),L=d==="S"?ne:j.Button,_=l||L,O=!!f&&typeof f=="function";a.useEffect(()=>{if(["string","number"].includes(typeof e)){const n=k.findIndex(r=>r.props.children===e);n!==-1&&C(n)}},[e]);const S=M.useCallbackRef(c),D=M.useCallbackRef(x);a.useEffect(()=>{R?.current?y?S():D():R.current=!0},[R,D,S,y]),a.useEffect(()=>{o.default.isValidElement(e)&&P===-1&&p.current.focus()},[e,P]);const $=n=>{y&&(n.key===s.KeyboardKeys.ESCAPE&&(n.stopPropagation(),m(!1),p.current.focus()),n.key===s.KeyboardKeys.DOWN&&C(r=>r===k.length-1?0:r+1),n.key===s.KeyboardKeys.UP&&C(r=>r===0?k.length-1:r-1))},F=n=>{(n.key===s.KeyboardKeys.ENTER||n.key===s.KeyboardKeys.SPACE)&&m(r=>!r)},A=n=>{n.preventDefault(),n.currentTarget.contains(n.relatedTarget)||m(!1)},N=n=>{n.preventDefault(),m(r=>!r)},V=()=>{O&&f()},W=k.map((n,r)=>o.default.createElement(J.Flex,{as:"li",key:r,justifyContent:"center",role:"menuitem"},a.cloneElement(n,{onClick(){n.props.onClick(),m(!1),p.current.focus()},isFocused:P===r})));return o.default.createElement("div",{onKeyDown:$},o.default.createElement(_,{label:o.default.isValidElement(e)?null:e,"aria-haspopup":!0,"aria-expanded":y,"aria-controls":K,onKeyDown:F,onMouseDown:N,ref:p,type:"button",variant:"ghost",endIcon:o.default.createElement(te,null,o.default.createElement(z.CarretDown,{"aria-hidden":!0})),...v},e),y&&o.default.createElement(w.Popover,{onBlur:A,placement:i,source:p,onReachEnd:V,intersectionId:O?`popover-${K}`:void 0,spacing:4},o.default.createElement(b.Box,{role:"menu",as:"ul",padding:1,id:K},W)))};g.defaultProps={as:void 0};g.displayName="SimpleMenu";g.defaultProps={id:void 0,onOpen:void 0,onClose:void 0,onReachEnd:void 0,popoverPlacement:"bottom-start",size:"M"};g.propTypes={as:t.default.any,children:t.default.oneOfType([t.default.arrayOf(t.default.node),t.default.node]).isRequired,id:t.default.string,label:t.default.oneOfType([t.default.string,t.default.number,t.default.element]).isRequired,onClose:t.default.func,onOpen:t.default.func,onReachEnd:t.default.func,popoverPlacement:t.default.oneOf(w.POPOVER_PLACEMENTS),size:t.default.oneOf(["S","M"])};exports.MenuItem=I;exports.SimpleMenu=g;
|