@strapi/design-system 1.3.1-alpha.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. package/dist/Accordion/AccordionContent.cjs +1 -1
  2. package/dist/Accordion/AccordionContent.js +37 -17
  3. package/dist/Accordion/AccordionToggle.cjs +6 -6
  4. package/dist/Accordion/AccordionToggle.js +96 -75
  5. package/dist/Alert/Alert.cjs +12 -12
  6. package/dist/Alert/Alert.js +102 -83
  7. package/dist/Badge/Badge.cjs +1 -1
  8. package/dist/Badge/Badge.js +47 -25
  9. package/dist/BaseButton/BaseButton.cjs +3 -3
  10. package/dist/BaseButton/BaseButton.js +42 -20
  11. package/dist/BaseCheckbox/BaseCheckbox.cjs +6 -6
  12. package/dist/BaseCheckbox/BaseCheckbox.js +55 -35
  13. package/dist/BaseLink/BaseLink.cjs +2 -2
  14. package/dist/BaseLink/BaseLink.js +43 -21
  15. package/dist/BaseRadio/BaseRadio.cjs +8 -8
  16. package/dist/BaseRadio/BaseRadio.js +51 -31
  17. package/dist/BaseRadio/RadioGroup.cjs +1 -1
  18. package/dist/BaseRadio/RadioGroup.js +44 -24
  19. package/dist/Box/BoxProps.cjs +1 -1
  20. package/dist/Box/BoxProps.js +19 -10
  21. package/dist/Breadcrumbs/Breadcrumbs.cjs +4 -4
  22. package/dist/Breadcrumbs/Breadcrumbs.js +50 -29
  23. package/dist/Button/Button.cjs +14 -14
  24. package/dist/Button/Button.js +73 -53
  25. package/dist/Card/Card.cjs +1 -1
  26. package/dist/Card/Card.js +37 -17
  27. package/dist/Card/CardAsset.cjs +4 -4
  28. package/dist/Card/CardAsset.js +42 -19
  29. package/dist/Card/CardBadge.cjs +3 -3
  30. package/dist/Card/CardBadge.js +18 -9
  31. package/dist/Card/CardBody.cjs +1 -1
  32. package/dist/Card/CardBody.js +19 -8
  33. package/dist/Card/CardCheckbox.cjs +1 -1
  34. package/dist/Card/CardCheckbox.js +22 -12
  35. package/dist/Card/CardContent.cjs +2 -2
  36. package/dist/Card/CardContent.js +32 -11
  37. package/dist/Card/CardHeader.cjs +2 -2
  38. package/dist/Card/CardHeader.js +19 -9
  39. package/dist/Card/CardTimer.cjs +2 -2
  40. package/dist/Card/CardTimer.js +42 -20
  41. package/dist/Card/CardTitle.cjs +1 -1
  42. package/dist/Card/CardTitle.js +27 -16
  43. package/dist/CarouselInput/Carousel.cjs +6 -6
  44. package/dist/CarouselInput/Carousel.js +107 -77
  45. package/dist/CarouselInput/CarouselActions.cjs +1 -1
  46. package/dist/CarouselInput/CarouselActions.js +17 -7
  47. package/dist/CarouselInput/CarouselImage.cjs +3 -3
  48. package/dist/CarouselInput/CarouselImage.js +38 -26
  49. package/dist/CarouselInput/CarouselInput.cjs +1 -1
  50. package/dist/CarouselInput/CarouselInput.js +83 -49
  51. package/dist/CarouselInput/CarouselSlide.cjs +2 -2
  52. package/dist/CarouselInput/CarouselSlide.js +42 -20
  53. package/dist/Checkbox/Checkbox.cjs +2 -2
  54. package/dist/Checkbox/Checkbox.js +63 -44
  55. package/dist/Combobox/Combobox.cjs +1 -1
  56. package/dist/Combobox/Combobox.js +240 -190
  57. package/dist/Combobox/ComboboxOption.cjs +1 -1
  58. package/dist/Combobox/ComboboxOption.js +47 -25
  59. package/dist/Combobox/utils.cjs +1 -1
  60. package/dist/Combobox/utils.js +18 -18
  61. package/dist/DatePicker/DatePicker.cjs +1 -1
  62. package/dist/DatePicker/DatePicker.js +111 -80
  63. package/dist/DatePicker/DatePickerCalendar.cjs +1 -1
  64. package/dist/DatePicker/DatePickerCalendar.js +1 -1
  65. package/dist/DatePicker/DatePickerTd.cjs +4 -4
  66. package/dist/DatePicker/DatePickerTd.js +42 -23
  67. package/dist/DatePicker/DatePickerTh.cjs +3 -3
  68. package/dist/DatePicker/DatePickerTh.js +44 -23
  69. package/dist/DatePicker/utils/getYears.cjs +1 -1
  70. package/dist/DatePicker/utils/getYears.js +7 -6
  71. package/dist/Dialog/Dialog.cjs +5 -5
  72. package/dist/Dialog/Dialog.js +58 -39
  73. package/dist/DismissibleLayer/DismissibleLayer.cjs +1 -1
  74. package/dist/DismissibleLayer/DismissibleLayer.js +29 -26
  75. package/dist/Divider/Divider.cjs +2 -2
  76. package/dist/Divider/Divider.js +38 -15
  77. package/dist/Field/Field.cjs +1 -1
  78. package/dist/Field/Field.js +38 -19
  79. package/dist/Field/FieldAction.cjs +2 -2
  80. package/dist/Field/FieldAction.js +35 -13
  81. package/dist/Field/FieldInput.cjs +6 -6
  82. package/dist/Field/FieldInput.js +66 -46
  83. package/dist/Field/FieldLabel.cjs +3 -3
  84. package/dist/Field/FieldLabel.js +45 -25
  85. package/dist/Flex/FlexProps.cjs +1 -1
  86. package/dist/Flex/FlexProps.js +19 -10
  87. package/dist/FocusTrap/FocusTrap.cjs +1 -1
  88. package/dist/FocusTrap/FocusTrap.js +52 -32
  89. package/dist/Grid/Grid.cjs +3 -3
  90. package/dist/Grid/Grid.js +42 -20
  91. package/dist/Grid/GridItem.cjs +2 -2
  92. package/dist/Grid/GridItem.js +41 -22
  93. package/dist/Icon/Icon.cjs +2 -2
  94. package/dist/Icon/Icon.js +27 -17
  95. package/dist/IconButton/IconButton.cjs +4 -4
  96. package/dist/IconButton/IconButton.js +67 -47
  97. package/dist/KeyboardNavigable/KeyboardNavigable.cjs +1 -1
  98. package/dist/KeyboardNavigable/KeyboardNavigable.js +58 -38
  99. package/dist/Layout/HeaderLayout.cjs +2 -2
  100. package/dist/Layout/HeaderLayout.js +96 -78
  101. package/dist/Link/Link.cjs +6 -6
  102. package/dist/Link/Link.js +54 -34
  103. package/dist/LinkButton/LinkButton.cjs +10 -10
  104. package/dist/LinkButton/LinkButton.js +69 -47
  105. package/dist/Loader/Loader.cjs +4 -4
  106. package/dist/Loader/Loader.js +47 -25
  107. package/dist/Main/Main.cjs +2 -2
  108. package/dist/Main/Main.js +35 -15
  109. package/dist/MainNav/MainNav.cjs +2 -2
  110. package/dist/MainNav/MainNav.js +39 -17
  111. package/dist/MainNav/NavCondense.cjs +3 -3
  112. package/dist/MainNav/NavCondense.js +40 -20
  113. package/dist/MainNav/NavLink.cjs +9 -9
  114. package/dist/MainNav/NavLink.js +72 -53
  115. package/dist/MainNav/NavSection.cjs +1 -1
  116. package/dist/MainNav/NavSection.js +67 -46
  117. package/dist/MainNav/NavSections.cjs +1 -1
  118. package/dist/MainNav/NavSections.js +40 -18
  119. package/dist/MainNav/NavUser.cjs +2 -2
  120. package/dist/MainNav/NavUser.js +51 -31
  121. package/dist/ModalLayout/ModalBody.cjs +2 -2
  122. package/dist/ModalLayout/ModalBody.js +19 -9
  123. package/dist/ModalLayout/ModalLayout.cjs +3 -3
  124. package/dist/ModalLayout/ModalLayout.js +52 -30
  125. package/dist/NumberInput/NumberInput.cjs +6 -6
  126. package/dist/NumberInput/NumberInput.js +154 -120
  127. package/dist/Pagination/components.cjs +7 -7
  128. package/dist/Pagination/components.js +88 -65
  129. package/dist/Popover/Popover.cjs +3 -3
  130. package/dist/Popover/Popover.js +91 -65
  131. package/dist/Portal/Portal.cjs +1 -1
  132. package/dist/Portal/Portal.js +12 -11
  133. package/dist/ProgressBar/ProgressBar.cjs +2 -2
  134. package/dist/ProgressBar/ProgressBar.js +49 -27
  135. package/dist/Radio/Radio.cjs +2 -2
  136. package/dist/Radio/Radio.js +40 -19
  137. package/dist/RawTable/RawCell.cjs +1 -1
  138. package/dist/RawTable/RawCell.js +79 -59
  139. package/dist/RawTable/RawTable.cjs +1 -1
  140. package/dist/RawTable/RawTable.js +66 -46
  141. package/dist/RawTable/RawTbody.cjs +1 -1
  142. package/dist/RawTable/RawTbody.js +30 -11
  143. package/dist/RawTable/RawThead.cjs +1 -1
  144. package/dist/RawTable/RawThead.js +29 -10
  145. package/dist/RawTable/RawTr.cjs +1 -1
  146. package/dist/RawTable/RawTr.js +34 -14
  147. package/dist/Searchbar/SearchForm.cjs +1 -1
  148. package/dist/Searchbar/SearchForm.js +16 -5
  149. package/dist/Searchbar/Searchbar.cjs +7 -7
  150. package/dist/Searchbar/Searchbar.js +65 -45
  151. package/dist/Select/MultiSelectNested.cjs +1 -1
  152. package/dist/Select/MultiSelectNested.js +45 -23
  153. package/dist/Select/OptGroup.cjs +1 -1
  154. package/dist/Select/OptGroup.js +35 -15
  155. package/dist/Select/Option.cjs +7 -7
  156. package/dist/Select/Option.js +57 -37
  157. package/dist/Select/Select.cjs +2 -2
  158. package/dist/Select/Select.js +183 -144
  159. package/dist/Select/SelectButton.cjs +2 -2
  160. package/dist/Select/SelectButton.js +53 -33
  161. package/dist/SimpleMenu/SimpleMenu.cjs +7 -7
  162. package/dist/SimpleMenu/SimpleMenu.js +145 -119
  163. package/dist/Stack/Stack.cjs +3 -3
  164. package/dist/Stack/Stack.js +50 -29
  165. package/dist/Status/Status.cjs +4 -4
  166. package/dist/Status/Status.js +50 -30
  167. package/dist/SubNav/SubNav.cjs +3 -3
  168. package/dist/SubNav/SubNav.js +37 -15
  169. package/dist/SubNav/SubNavHeader.cjs +2 -2
  170. package/dist/SubNav/SubNavHeader.js +40 -39
  171. package/dist/SubNav/SubNavLink.cjs +6 -6
  172. package/dist/SubNav/SubNavLink.js +62 -40
  173. package/dist/SubNav/SubNavSections.cjs +1 -1
  174. package/dist/SubNav/SubNavSections.js +39 -17
  175. package/dist/Switch/Switch.cjs +5 -5
  176. package/dist/Switch/Switch.js +57 -35
  177. package/dist/Table/Cell.cjs +3 -3
  178. package/dist/Table/Cell.js +40 -20
  179. package/dist/Table/TFooter.cjs +3 -3
  180. package/dist/Table/TFooter.js +50 -28
  181. package/dist/Table/Table.cjs +5 -5
  182. package/dist/Table/Table.js +56 -36
  183. package/dist/Table/Tbody.cjs +2 -2
  184. package/dist/Table/Tbody.js +17 -8
  185. package/dist/Table/Thead.cjs +2 -2
  186. package/dist/Table/Thead.js +17 -8
  187. package/dist/Table/Tr.cjs +2 -2
  188. package/dist/Table/Tr.js +17 -8
  189. package/dist/Tabs/TabGroup.cjs +1 -1
  190. package/dist/Tabs/TabGroup.js +45 -26
  191. package/dist/Tabs/TabPanels.cjs +1 -1
  192. package/dist/Tabs/TabPanels.js +43 -24
  193. package/dist/Tabs/Tabs.cjs +2 -2
  194. package/dist/Tabs/Tabs.js +112 -94
  195. package/dist/Tag/Tag.cjs +4 -4
  196. package/dist/Tag/Tag.js +50 -27
  197. package/dist/TextButton/TextButton.cjs +6 -6
  198. package/dist/TextButton/TextButton.js +59 -39
  199. package/dist/TextInput/TextInput.cjs +1 -1
  200. package/dist/TextInput/TextInput.js +69 -49
  201. package/dist/Textarea/Textarea.cjs +3 -3
  202. package/dist/Textarea/Textarea.js +63 -43
  203. package/dist/Textarea/TextareaInput.cjs +4 -4
  204. package/dist/Textarea/TextareaInput.js +49 -29
  205. package/dist/TimePicker/TimePicker.cjs +3 -3
  206. package/dist/TimePicker/TimePicker.js +89 -58
  207. package/dist/ToggleCheckbox/ToggleCheckbox.cjs +8 -8
  208. package/dist/ToggleCheckbox/ToggleCheckbox.js +75 -53
  209. package/dist/ToggleInput/ToggleInput.cjs +3 -3
  210. package/dist/ToggleInput/ToggleInput.js +98 -66
  211. package/dist/Tooltip/Tooltip.cjs +2 -2
  212. package/dist/Tooltip/Tooltip.js +57 -38
  213. package/dist/Typography/TypographyProps.cjs +1 -1
  214. package/dist/Typography/TypographyProps.js +22 -13
  215. package/dist/helpers/getDefaultLocale.cjs +1 -1
  216. package/dist/helpers/getDefaultLocale.js +1 -1
  217. package/dist/helpers/handleResponsiveValues.cjs +5 -5
  218. package/dist/helpers/handleResponsiveValues.js +14 -14
  219. package/dist/themes/darkTheme/index.cjs +1 -1
  220. package/dist/themes/darkTheme/index.js +18 -8
  221. package/dist/themes/extendTheme.cjs +4 -4
  222. package/dist/themes/extendTheme.js +29 -18
  223. package/dist/themes/lightTheme/index.cjs +1 -1
  224. package/dist/themes/lightTheme/index.js +18 -8
  225. package/dist/v2/Breadcrumbs/Breadcrumbs.cjs +2 -2
  226. package/dist/v2/Breadcrumbs/Breadcrumbs.js +43 -23
  227. package/dist/v2/Breadcrumbs/Crumb.cjs +1 -1
  228. package/dist/v2/Breadcrumbs/Crumb.js +44 -22
  229. package/dist/v2/Breadcrumbs/CrumbLink.cjs +2 -2
  230. package/dist/v2/Breadcrumbs/CrumbLink.js +35 -14
  231. package/dist/v2/Breadcrumbs/CrumbSimpleMenu.cjs +2 -2
  232. package/dist/v2/Breadcrumbs/CrumbSimpleMenu.js +41 -19
  233. package/dist/v2/Link/Link.cjs +5 -5
  234. package/dist/v2/Link/Link.js +64 -42
  235. package/dist/v2/LinkButton/LinkButton.cjs +10 -10
  236. package/dist/v2/LinkButton/LinkButton.js +75 -51
  237. package/dist/v2/MainNav/MainNav.cjs +2 -2
  238. package/dist/v2/MainNav/MainNav.js +39 -17
  239. package/dist/v2/MainNav/NavBrand.cjs +3 -3
  240. package/dist/v2/MainNav/NavBrand.js +78 -57
  241. package/dist/v2/MainNav/NavCondense.cjs +3 -3
  242. package/dist/v2/MainNav/NavCondense.js +40 -20
  243. package/dist/v2/MainNav/NavLink.cjs +9 -9
  244. package/dist/v2/MainNav/NavLink.js +77 -56
  245. package/dist/v2/MainNav/NavSection.cjs +1 -1
  246. package/dist/v2/MainNav/NavSection.js +67 -46
  247. package/dist/v2/MainNav/NavSections.cjs +1 -1
  248. package/dist/v2/MainNav/NavSections.js +40 -18
  249. package/dist/v2/MainNav/NavUser.cjs +2 -2
  250. package/dist/v2/MainNav/NavUser.js +51 -31
  251. package/dist/v2/Pagination/components.cjs +7 -7
  252. package/dist/v2/Pagination/components.js +89 -65
  253. package/dist/v2/SimpleMenu/SimpleMenu.cjs +7 -7
  254. package/dist/v2/SimpleMenu/SimpleMenu.js +145 -119
  255. package/dist/v2/SubNav/SubNav.cjs +3 -3
  256. package/dist/v2/SubNav/SubNav.js +37 -15
  257. package/dist/v2/SubNav/SubNavHeader.cjs +2 -2
  258. package/dist/v2/SubNav/SubNavHeader.js +40 -39
  259. package/dist/v2/SubNav/SubNavLink.cjs +6 -6
  260. package/dist/v2/SubNav/SubNavLink.js +65 -43
  261. package/dist/v2/SubNav/SubNavSections.cjs +1 -1
  262. package/dist/v2/SubNav/SubNavSections.js +39 -17
  263. package/package.json +5 -4
@@ -1,179 +1,218 @@
1
- import r, { useState as Z, useRef as V, Children as F, cloneElement as M } from "react";
1
+ var ie = Object.defineProperty;
2
+ var I = Object.getOwnPropertySymbols;
3
+ var q = Object.prototype.hasOwnProperty, z = Object.prototype.propertyIsEnumerable;
4
+ var P = (o, l, i) => l in o ? ie(o, l, { enumerable: !0, configurable: !0, writable: !0, value: i }) : o[l] = i, G = (o, l) => {
5
+ for (var i in l || (l = {}))
6
+ q.call(l, i) && P(o, i, l[i]);
7
+ if (I)
8
+ for (var i of I(l))
9
+ z.call(l, i) && P(o, i, l[i]);
10
+ return o;
11
+ };
12
+ var H = (o, l) => {
13
+ var i = {};
14
+ for (var a in o)
15
+ q.call(o, a) && l.indexOf(a) < 0 && (i[a] = o[a]);
16
+ if (o != null && I)
17
+ for (var a of I(o))
18
+ l.indexOf(a) < 0 && z.call(o, a) && (i[a] = o[a]);
19
+ return i;
20
+ };
21
+ import r, { useState as le, useRef as ae, Children as W, cloneElement as _ } from "react";
2
22
  import e from "prop-types";
3
- import ee from "@strapi/icons/CarretDown";
4
- import te from "@strapi/icons/Cross";
5
- import { sizes as re } from "../themes/sizes.js";
6
- import { SelectButton as oe } from "./SelectButton.js";
7
- import { Field as ne } from "../Field/Field.js";
8
- import { FieldLabel as ie } from "../Field/FieldLabel.js";
23
+ import se from "@strapi/icons/CarretDown";
24
+ import pe from "@strapi/icons/Cross";
25
+ import { sizes as ce } from "../themes/sizes.js";
26
+ import { SelectButton as me } from "./SelectButton.js";
27
+ import { Field as de } from "../Field/Field.js";
28
+ import { FieldLabel as fe } from "../Field/FieldLabel.js";
9
29
  import "../Field/FieldInput.js";
10
- import { FieldHint as le } from "../Field/FieldHint.js";
11
- import { FieldError as ae } from "../Field/FieldError.js";
30
+ import { FieldHint as ue } from "../Field/FieldHint.js";
31
+ import { FieldError as he } from "../Field/FieldError.js";
12
32
  import "../Field/FieldContext.js";
13
33
  import "../Field/FieldAction.js";
14
- import { Popover as se } from "../Popover/Popover.js";
15
- import { Stack as pe } from "../Stack/Stack.js";
16
- import { Typography as k } from "../Typography/Typography.js";
17
- import { Flex as S } from "../Flex/Flex.js";
18
- import { Box as j } from "../Box/Box.js";
19
- import { useId as ce } from "../helpers/useId.js";
20
- import { SelectList as me } from "./SelectList.js";
21
- import { SelectButtonWrapper as de, IconBox as fe, CaretBox as ue } from "./components.js";
22
- import { useButtonRef as he } from "./hooks/useButtonRef.js";
23
- import { VisuallyHidden as A } from "../VisuallyHidden/VisuallyHidden.js";
24
- import { DownState as Ee } from "./constants.js";
25
- import { escapeSelector as P } from "../helpers/escapeSelector.js";
26
- import { SelectTags as be } from "./SelectTags.js";
27
- import ye from "styled-components";
28
- const ge = ye(S)`
34
+ import { Popover as Ee } from "../Popover/Popover.js";
35
+ import { Stack as be } from "../Stack/Stack.js";
36
+ import { Typography as N } from "../Typography/Typography.js";
37
+ import { Flex as $ } from "../Flex/Flex.js";
38
+ import { Box as J } from "../Box/Box.js";
39
+ import { useId as ye } from "../helpers/useId.js";
40
+ import { SelectList as ge } from "./SelectList.js";
41
+ import { SelectButtonWrapper as ve, IconBox as Ie, CaretBox as Oe } from "./components.js";
42
+ import { useButtonRef as Ce } from "./hooks/useButtonRef.js";
43
+ import { VisuallyHidden as K } from "../VisuallyHidden/VisuallyHidden.js";
44
+ import { DownState as Se } from "./constants.js";
45
+ import { escapeSelector as Q } from "../helpers/escapeSelector.js";
46
+ import { SelectTags as xe } from "./SelectTags.js";
47
+ import Be from "styled-components";
48
+ const Te = Be($)`
29
49
  width: 100%;
30
- `, q = ({
31
- label: m,
32
- labelAction: z,
33
- id: G,
34
- children: H,
35
- customizeContent: d,
36
- placeholder: y,
37
- onChange: g,
38
- value: o,
39
- hint: v,
40
- error: c,
41
- disabled: a,
42
- clearLabel: W,
43
- onClear: x,
44
- onReachEnd: _,
45
- multi: i,
46
- required: N,
47
- size: J,
48
- startIcon: B,
49
- withTags: f,
50
- ...K
51
- }) => {
52
- const n = ce("select", G), [u, h] = Z(void 0), T = he(u), $ = V(null), I = `${n}-label`, E = `${n}-content`, Q = c ? `${n}-error` : v ? `${n}-hint` : void 0;
53
- if (f && !i)
50
+ `, U = ($e) => {
51
+ var w = $e, {
52
+ label: o,
53
+ labelAction: l,
54
+ id: i,
55
+ children: a,
56
+ customizeContent: h,
57
+ placeholder: O,
58
+ onChange: C,
59
+ value: n,
60
+ hint: S,
61
+ error: u,
62
+ disabled: m,
63
+ clearLabel: X,
64
+ onClear: R,
65
+ onReachEnd: Y,
66
+ multi: p,
67
+ required: Z,
68
+ size: V,
69
+ startIcon: L,
70
+ withTags: E
71
+ } = w, ee = H(w, [
72
+ "label",
73
+ "labelAction",
74
+ "id",
75
+ "children",
76
+ "customizeContent",
77
+ "placeholder",
78
+ "onChange",
79
+ "value",
80
+ "hint",
81
+ "error",
82
+ "disabled",
83
+ "clearLabel",
84
+ "onClear",
85
+ "onReachEnd",
86
+ "multi",
87
+ "required",
88
+ "size",
89
+ "startIcon",
90
+ "withTags"
91
+ ]);
92
+ const s = ye("select", i), [b, y] = le(void 0), D = Ce(b), F = ae(null), x = `${s}-label`, g = `${s}-content`, te = u ? `${s}-error` : S ? `${s}-hint` : void 0;
93
+ if (E && !p)
54
94
  throw new Error('The "withTags" props can only be used when the "multi" prop is present');
55
- const U = () => {
56
- h(void 0);
57
- }, X = () => {
58
- a || (x(), T.current.focus());
59
- }, R = (t) => {
60
- t.preventDefault(), !a && (t.nativeEvent.which === 3 || t.nativeEvent.button === 2 || h(Ee.Mouse));
61
- }, O = (t, l = !0) => {
62
- i ? g(o.includes(t) ? o.filter((p) => p !== t) : [...o, t]) : (g(t), l && h(void 0));
63
- }, L = (t) => {
64
- g(
65
- o.includes(t[0]) ? o.filter(function(l) {
66
- return this.indexOf(l) < 0;
67
- }, t) : [...o, ...t]
95
+ const re = () => {
96
+ y(void 0);
97
+ }, oe = () => {
98
+ m || (R(), D.current.focus());
99
+ }, M = (t) => {
100
+ t.preventDefault(), !m && (t.nativeEvent.which === 3 || t.nativeEvent.button === 2 || y(Se.Mouse));
101
+ }, B = (t, c = !0) => {
102
+ p ? C(n.includes(t) ? n.filter((f) => f !== t) : [...n, t]) : (C(t), c && y(void 0));
103
+ }, k = (t) => {
104
+ C(
105
+ n.includes(t[0]) ? n.filter(function(c) {
106
+ return this.indexOf(c) < 0;
107
+ }, t) : [...n, ...t]
68
108
  );
69
109
  };
70
- let C, w = [];
71
- const D = (t, l) => {
72
- const p = `${n}-option-${t.props.value}`, b = i ? o.includes(t.props.value) : t.props.value === o;
73
- return b && (f ? w.push({ label: t.props.children, value: t.props.value }) : C = t.props.children), M(t, {
74
- id: P(p),
75
- onClick: () => O(t.props.value),
76
- selected: b,
77
- multi: i,
78
- isChild: l
110
+ let T, j = [];
111
+ const A = (t, c) => {
112
+ const f = `${s}-option-${t.props.value}`, v = p ? n.includes(t.props.value) : t.props.value === n;
113
+ return v && (E ? j.push({ label: t.props.children, value: t.props.value }) : T = t.props.children), _(t, {
114
+ id: Q(f),
115
+ onClick: () => B(t.props.value),
116
+ selected: v,
117
+ multi: p,
118
+ isChild: c
79
119
  });
80
- }, Y = F.toArray(H).map((t) => {
120
+ }, ne = W.toArray(a).map((t) => {
81
121
  if (t.type.displayName === "OptGroup") {
82
- const l = `${n}-option-${t.props.label}`, p = t.props.children.every((s) => o.includes(s.props.value)), b = !p && t.props.children.some((s) => o.includes(s.props.value));
83
- return M(t, {
84
- id: P(l),
85
- onClick: () => L(t.props.children.map((s) => s.props.value)),
86
- selected: p,
87
- indeterminate: b,
88
- multi: i,
89
- children: F.toArray(t.props.children).map((s) => D(s, !0)),
122
+ const c = `${s}-option-${t.props.label}`, f = t.props.children.every((d) => n.includes(d.props.value)), v = !f && t.props.children.some((d) => n.includes(d.props.value));
123
+ return _(t, {
124
+ id: Q(c),
125
+ onClick: () => k(t.props.children.map((d) => d.props.value)),
126
+ selected: f,
127
+ indeterminate: v,
128
+ multi: p,
129
+ children: W.toArray(t.props.children).map((d) => A(d, !0)),
90
130
  value: t.props.label
91
131
  });
92
132
  } else
93
- return D(t);
133
+ return A(t);
94
134
  });
95
- return /* @__PURE__ */ r.createElement(ne, {
96
- hint: v,
97
- error: c,
98
- id: n
99
- }, /* @__PURE__ */ r.createElement(pe, {
100
- spacing: m || v || c ? 1 : 0
101
- }, m && /* @__PURE__ */ r.createElement(ie, {
102
- required: N,
135
+ return /* @__PURE__ */ r.createElement(de, {
136
+ hint: S,
137
+ error: u,
138
+ id: s
139
+ }, /* @__PURE__ */ r.createElement(be, {
140
+ spacing: o || S || u ? 1 : 0
141
+ }, o && /* @__PURE__ */ r.createElement(fe, {
142
+ required: Z,
103
143
  as: "span",
104
- id: I,
105
- action: z
106
- }, m), /* @__PURE__ */ r.createElement(de, {
107
- size: J,
108
- hasError: Boolean(c),
109
- disabled: a,
110
- ref: $
111
- }, /* @__PURE__ */ r.createElement(oe, {
112
- ref: T,
113
- labelledBy: `${I} ${E}`,
114
- "aria-describedby": Q,
115
- expanded: Boolean(u),
116
- onTrigger: h,
117
- id: n,
118
- hasError: Boolean(c),
119
- disabled: a,
120
- onMouseDown: R,
121
- ...K
122
- }), /* @__PURE__ */ r.createElement(ge, {
144
+ id: x,
145
+ action: l
146
+ }, o), /* @__PURE__ */ r.createElement(ve, {
147
+ size: V,
148
+ hasError: Boolean(u),
149
+ disabled: m,
150
+ ref: F
151
+ }, /* @__PURE__ */ r.createElement(me, G({
152
+ ref: D,
153
+ labelledBy: `${x} ${g}`,
154
+ "aria-describedby": te,
155
+ expanded: Boolean(b),
156
+ onTrigger: y,
157
+ id: s,
158
+ hasError: Boolean(u),
159
+ disabled: m,
160
+ onMouseDown: M
161
+ }, ee)), /* @__PURE__ */ r.createElement(Te, {
123
162
  justifyContent: "space-between"
124
- }, /* @__PURE__ */ r.createElement(S, null, B && /* @__PURE__ */ r.createElement(j, {
163
+ }, /* @__PURE__ */ r.createElement($, null, L && /* @__PURE__ */ r.createElement(J, {
125
164
  paddingLeft: 3,
126
165
  "aria-hidden": !0
127
- }, B), f && /* @__PURE__ */ r.createElement(be, {
128
- tags: w,
129
- onRemoveTag: O,
130
- disabled: a
131
- }), /* @__PURE__ */ r.createElement(j, {
166
+ }, L), E && /* @__PURE__ */ r.createElement(xe, {
167
+ tags: j,
168
+ onRemoveTag: B,
169
+ disabled: m
170
+ }), /* @__PURE__ */ r.createElement(J, {
132
171
  paddingLeft: 4,
133
172
  paddingRight: 4
134
- }, f ? /* @__PURE__ */ r.createElement(r.Fragment, null, !o || o.length === 0 ? /* @__PURE__ */ r.createElement(k, {
173
+ }, E ? /* @__PURE__ */ r.createElement(r.Fragment, null, !n || n.length === 0 ? /* @__PURE__ */ r.createElement(N, {
135
174
  ellipsis: !0,
136
- id: E,
175
+ id: g,
137
176
  textColor: "neutral600"
138
- }, y) : null, /* @__PURE__ */ r.createElement(A, {
177
+ }, O) : null, /* @__PURE__ */ r.createElement(K, {
139
178
  as: "span",
140
- id: E
141
- }, d ? d(o) : C || y, o.join(", "))) : /* @__PURE__ */ r.createElement(k, {
179
+ id: g
180
+ }, h ? h(n) : T || O, n.join(", "))) : /* @__PURE__ */ r.createElement(N, {
142
181
  ellipsis: !0,
143
- id: E,
144
- textColor: o ? "neutral800" : "neutral600"
145
- }, d ? d(o) : C || y, i && /* @__PURE__ */ r.createElement(A, {
182
+ id: g,
183
+ textColor: n ? "neutral800" : "neutral600"
184
+ }, h ? h(n) : T || O, p && /* @__PURE__ */ r.createElement(K, {
146
185
  as: "span"
147
- }, o.join(", "))))), /* @__PURE__ */ r.createElement(S, null, (i && o && o.length || !i && o) && x && /* @__PURE__ */ r.createElement(fe, {
186
+ }, n.join(", "))))), /* @__PURE__ */ r.createElement($, null, (p && n && n.length || !p && n) && R && /* @__PURE__ */ r.createElement(Ie, {
148
187
  as: "button",
149
188
  type: "button",
150
- onClick: X,
151
- "aria-label": W,
152
- "aria-disabled": a
153
- }, /* @__PURE__ */ r.createElement(te, null)), /* @__PURE__ */ r.createElement(ue, {
189
+ onClick: oe,
190
+ "aria-label": X,
191
+ "aria-disabled": m
192
+ }, /* @__PURE__ */ r.createElement(pe, null)), /* @__PURE__ */ r.createElement(Oe, {
154
193
  paddingLeft: 3,
155
194
  "aria-hidden": !0,
156
195
  as: "button",
157
196
  type: "button",
158
- onMouseDown: R,
197
+ onMouseDown: M,
159
198
  tabIndex: -1,
160
- disabled: a
161
- }, /* @__PURE__ */ r.createElement(ee, null))))), /* @__PURE__ */ r.createElement(le, null), /* @__PURE__ */ r.createElement(ae, null)), u && /* @__PURE__ */ r.createElement(se, {
162
- source: $,
199
+ disabled: m
200
+ }, /* @__PURE__ */ r.createElement(se, null))))), /* @__PURE__ */ r.createElement(ue, null), /* @__PURE__ */ r.createElement(he, null)), b && /* @__PURE__ */ r.createElement(Ee, {
201
+ source: F,
163
202
  spacing: 4,
164
203
  fullWidth: !0,
165
- intersectionId: `select-list-intersection-${n}`,
166
- onReachEnd: _
167
- }, /* @__PURE__ */ r.createElement(me, {
168
- selectId: n,
169
- labelledBy: m ? I : void 0,
170
- onEscape: U,
171
- expanded: u,
172
- onSelectItem: (t, l) => l ? L(t) : O(t, !1),
173
- multi: i
174
- }, Y)));
204
+ intersectionId: `select-list-intersection-${s}`,
205
+ onReachEnd: Y
206
+ }, /* @__PURE__ */ r.createElement(ge, {
207
+ selectId: s,
208
+ labelledBy: o ? x : void 0,
209
+ onEscape: re,
210
+ expanded: b,
211
+ onSelectItem: (t, c) => c ? k(t) : B(t, !1),
212
+ multi: p
213
+ }, ne)));
175
214
  };
176
- q.defaultProps = {
215
+ U.defaultProps = {
177
216
  "aria-label": void 0,
178
217
  children: [],
179
218
  clearLabel: "Clear",
@@ -196,7 +235,7 @@ q.defaultProps = {
196
235
  startIcon: void 0,
197
236
  withTags: !1
198
237
  };
199
- q.propTypes = {
238
+ U.propTypes = {
200
239
  "aria-label": e.string,
201
240
  children: e.oneOfType([e.arrayOf(e.node), e.node]),
202
241
  clearLabel: e.string,
@@ -213,7 +252,7 @@ q.propTypes = {
213
252
  onReachEnd: e.func,
214
253
  placeholder: e.string,
215
254
  required: e.bool,
216
- size: e.oneOf(Object.keys(re.input)),
255
+ size: e.oneOf(Object.keys(ce.input)),
217
256
  startIcon: e.element,
218
257
  value: e.oneOfType([
219
258
  e.arrayOf(e.oneOfType([e.string, e.number])),
@@ -223,5 +262,5 @@ q.propTypes = {
223
262
  withTags: e.bool
224
263
  };
225
264
  export {
226
- q as Select
265
+ U as Select
227
266
  };
@@ -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"),t=require("../helpers/keyboardKeys.cjs"),l=require("./constants.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`
1
+ "use strict";var k=Object.defineProperty;var s=Object.getOwnPropertySymbols;var y=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable;var i=(e,a,t)=>a in e?k(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t,b=(e,a)=>{for(var t in a||(a={}))y.call(a,t)&&i(e,t,a[t]);if(s)for(var t of s(a))p.call(a,t)&&i(e,t,a[t]);return e};var f=(e,a)=>{var t={};for(var o in e)y.call(e,o)&&a.indexOf(o)<0&&(t[o]=e[o]);if(e!=null&&s)for(var o of s(e))a.indexOf(o)<0&&p.call(e,o)&&(t[o]=e[o]);return t};Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const h=require("react"),q=require("prop-types"),D=require("styled-components"),r=require("../helpers/keyboardKeys.cjs"),K=require("./constants.cjs"),u=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},g=u(h),n=u(q),m=u(D),P=m.default.button`
2
2
  position: absolute;
3
3
  left: 0;
4
4
  right: 0;
@@ -16,4 +16,4 @@
16
16
  &[aria-disabled='true'] {
17
17
  cursor: not-allowed;
18
18
  }
19
- `,o=u.forwardRef(({labelledBy:e,expanded:c,onTrigger:n,disabled:d,...i},y)=>{const p=s=>{if(!d)switch(s.key){case t.KeyboardKeys.DOWN:case t.KeyboardKeys.SPACE:case t.KeyboardKeys.ENTER:{s.preventDefault(),n(l.DownState.Keyboard);break}case t.KeyboardKeys.UP:{s.preventDefault(),n(l.UpState.Keyboard);break}}};return K.default.createElement(S,{ref:y,"aria-labelledby":e,"aria-haspopup":"listbox","aria-expanded":c,onKeyDown:p,"aria-disabled":d,type:"button",...i})});o.displayName="SelectButton";o.defaultProps={expanded:!1,disabled:!1};o.propTypes={disabled:a.default.bool,expanded:a.default.bool,labelledBy:a.default.string.isRequired,onTrigger:a.default.func.isRequired};exports.SelectButton=o;
19
+ `,d=h.forwardRef((R,_)=>{var c=R,{labelledBy:e,expanded:a,onTrigger:t,disabled:o}=c,S=f(c,["labelledBy","expanded","onTrigger","disabled"]);const w=l=>{if(!o)switch(l.key){case r.KeyboardKeys.DOWN:case r.KeyboardKeys.SPACE:case r.KeyboardKeys.ENTER:{l.preventDefault(),t(K.DownState.Keyboard);break}case r.KeyboardKeys.UP:{l.preventDefault(),t(K.UpState.Keyboard);break}}};return g.default.createElement(P,b({ref:_,"aria-labelledby":e,"aria-haspopup":"listbox","aria-expanded":a,onKeyDown:w,"aria-disabled":o,type:"button"},S))});d.displayName="SelectButton";d.defaultProps={expanded:!1,disabled:!1};d.propTypes={disabled:n.default.bool,expanded:n.default.bool,labelledBy:n.default.string.isRequired,onTrigger:n.default.func.isRequired};exports.SelectButton=d;
@@ -1,9 +1,29 @@
1
- import u, { forwardRef as b } from "react";
2
- import e from "prop-types";
3
- import c from "styled-components";
4
- import { KeyboardKeys as t } from "../helpers/keyboardKeys.js";
5
- import { UpState as f, DownState as y } from "./constants.js";
6
- const m = c.button`
1
+ var w = Object.defineProperty;
2
+ var r = Object.getOwnPropertySymbols;
3
+ var u = Object.prototype.hasOwnProperty, b = Object.prototype.propertyIsEnumerable;
4
+ var p = (e, o, t) => o in e ? w(e, o, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[o] = t, c = (e, o) => {
5
+ for (var t in o || (o = {}))
6
+ u.call(o, t) && p(e, t, o[t]);
7
+ if (r)
8
+ for (var t of r(o))
9
+ b.call(o, t) && p(e, t, o[t]);
10
+ return e;
11
+ };
12
+ var f = (e, o) => {
13
+ var t = {};
14
+ for (var a in e)
15
+ u.call(e, a) && o.indexOf(a) < 0 && (t[a] = e[a]);
16
+ if (e != null && r)
17
+ for (var a of r(e))
18
+ o.indexOf(a) < 0 && b.call(e, a) && (t[a] = e[a]);
19
+ return t;
20
+ };
21
+ import S, { forwardRef as D } from "react";
22
+ import n from "prop-types";
23
+ import K from "styled-components";
24
+ import { KeyboardKeys as s } from "../helpers/keyboardKeys.js";
25
+ import { UpState as k, DownState as x } from "./constants.js";
26
+ const R = K.button`
7
27
  position: absolute;
8
28
  left: 0;
9
29
  right: 0;
@@ -21,44 +41,44 @@ const m = c.button`
21
41
  &[aria-disabled='true'] {
22
42
  cursor: not-allowed;
23
43
  }
24
- `, a = b(({ labelledBy: s, expanded: d, onTrigger: r, disabled: n, ...l }, i) => {
25
- const p = (o) => {
26
- if (!n)
27
- switch (o.key) {
28
- case t.DOWN:
29
- case t.SPACE:
30
- case t.ENTER: {
31
- o.preventDefault(), r(y.Keyboard);
44
+ `, l = D((B, m) => {
45
+ var i = B, { labelledBy: e, expanded: o, onTrigger: t, disabled: a } = i, y = f(i, ["labelledBy", "expanded", "onTrigger", "disabled"]);
46
+ const h = (d) => {
47
+ if (!a)
48
+ switch (d.key) {
49
+ case s.DOWN:
50
+ case s.SPACE:
51
+ case s.ENTER: {
52
+ d.preventDefault(), t(x.Keyboard);
32
53
  break;
33
54
  }
34
- case t.UP: {
35
- o.preventDefault(), r(f.Keyboard);
55
+ case s.UP: {
56
+ d.preventDefault(), t(k.Keyboard);
36
57
  break;
37
58
  }
38
59
  }
39
60
  };
40
- return /* @__PURE__ */ u.createElement(m, {
41
- ref: i,
42
- "aria-labelledby": s,
61
+ return /* @__PURE__ */ S.createElement(R, c({
62
+ ref: m,
63
+ "aria-labelledby": e,
43
64
  "aria-haspopup": "listbox",
44
- "aria-expanded": d,
45
- onKeyDown: p,
46
- "aria-disabled": n,
47
- type: "button",
48
- ...l
49
- });
65
+ "aria-expanded": o,
66
+ onKeyDown: h,
67
+ "aria-disabled": a,
68
+ type: "button"
69
+ }, y));
50
70
  });
51
- a.displayName = "SelectButton";
52
- a.defaultProps = {
71
+ l.displayName = "SelectButton";
72
+ l.defaultProps = {
53
73
  expanded: !1,
54
74
  disabled: !1
55
75
  };
56
- a.propTypes = {
57
- disabled: e.bool,
58
- expanded: e.bool,
59
- labelledBy: e.string.isRequired,
60
- onTrigger: e.func.isRequired
76
+ l.propTypes = {
77
+ disabled: n.bool,
78
+ expanded: n.bool,
79
+ labelledBy: n.string.isRequired,
80
+ onTrigger: n.func.isRequired
61
81
  };
62
82
  export {
63
- a as SelectButton
83
+ l as SelectButton
64
84
  };
@@ -1,19 +1,19 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("react"),A=require("prop-types"),N=require("styled-components"),$=require("@strapi/icons/CarretDown"),L=require("react-router-dom"),k=require("../Typography/Typography.cjs"),B=require("../Box/Box.cjs"),V=require("../Flex/Flex.cjs"),q=require("../Button/Button.cjs"),v=require("../Popover/Popover.cjs"),C=require("./utils.cjs"),W=require("../helpers/useId.cjs"),a=require("../helpers/keyboardKeys.cjs"),K=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},o=K(u),n=K(A),P=K(N),z=K($),U=P.default.button`
1
+ "use strict";var G=Object.defineProperty;var T=Object.getOwnPropertySymbols;var M=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable;var w=(e,r,t)=>r in e?G(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,E=(e,r)=>{for(var t in r||(r={}))M.call(r,t)&&w(e,t,r[t]);if(T)for(var t of T(r))O.call(r,t)&&w(e,t,r[t]);return e};var k=(e,r)=>{var t={};for(var u in e)M.call(e,u)&&r.indexOf(u)<0&&(t[u]=e[u]);if(e!=null&&T)for(var u of T(e))r.indexOf(u)<0&&O.call(e,u)&&(t[u]=e[u]);return t};Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("react"),H=require("prop-types"),J=require("styled-components"),Q=require("@strapi/icons/CarretDown"),X=require("react-router-dom"),_=require("../Typography/Typography.cjs"),q=require("../Box/Box.cjs"),Y=require("../Flex/Flex.cjs"),j=require("../Button/Button.cjs"),F=require("../Popover/Popover.cjs"),A=require("./utils.cjs"),Z=require("../helpers/useId.cjs"),c=require("../helpers/keyboardKeys.cjs"),x=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},a=x(l),o=x(H),D=x(J),ee=x(Q),te=D.default.button`
2
2
  border: none;
3
3
  padding: 0;
4
4
  background: transparent;
5
5
  cursor: pointer;
6
- ${C.getOptionStyle}
7
- `,G=P.default(L.NavLink)`
6
+ ${A.getOptionStyle}
7
+ `,ne=D.default(X.NavLink)`
8
8
  text-decoration: none;
9
- ${C.getOptionStyle}
10
- `,H=P.default.span`
9
+ ${A.getOptionStyle}
10
+ `,oe=D.default.span`
11
11
  display: flex;
12
12
  align-items: center;
13
13
  svg {
14
14
  height: 4px;
15
15
  width: 6px;
16
16
  }
17
- `,J=P.default(q.Button)`
17
+ `,re=D.default(j.Button)`
18
18
  padding: ${({theme:e})=>`${e.spaces[1]} ${e.spaces[3]}`};
19
- `,I=({children:e,onClick:p,to:y,isFocused:l,...m})=>{const s=u.useRef();u.useEffect(()=>{l&&s.current&&s.current.focus()},[l]);const E={tabIndex:l?0:-1,ref:s,role:"menuitem",...m},b=g=>{(g.key===a.KeyboardKeys.SPACE||g.key===a.KeyboardKeys.ENTER)&&p()};return y?o.default.createElement(G,{to:y,...E},o.default.createElement(B.Box,{padding:2},o.default.createElement(k.Typography,null,e))):o.default.createElement(U,{onKeyDown:b,onMouseDown:p,type:"button",...E},o.default.createElement(B.Box,{padding:2},o.default.createElement(k.Typography,null,e)))};I.defaultProps={onClick:()=>{},isFocused:!1,to:void 0};I.propTypes={as:n.default.elementType,children:n.default.node.isRequired,isFocused:n.default.bool,onClick:n.default.func,to:n.default.string};const i=({label:e,children:p,id:y,as:l,onOpen:m=()=>{},onClose:s=()=>{},size:E,popoverPlacement:b,...g})=>{const d=u.useRef(),S=W.useId("simplemenu",y),T=u.useRef(!1),[c,f]=u.useState(!1),[x,D]=u.useState(0),h=u.Children.toArray(p),M=E==="S"?J:q.Button,R=l||M;u.useEffect(()=>{if(["string","number"].includes(typeof e)){const t=h.findIndex(r=>r.props.children===e);t!==-1&&D(t)}},[e]),u.useEffect(()=>{T?.current?c&&typeof m=="function"?m():typeof s=="function"&&s():T.current=!0},[T,c]),u.useEffect(()=>{o.default.isValidElement(e)&&x==-1&&d.current.focus()},[e,x]);const w=t=>{c&&(t.key===a.KeyboardKeys.ESCAPE&&(t.stopPropagation(),f(!1),d.current.focus()),t.key===a.KeyboardKeys.DOWN&&D(r=>r===h.length-1?0:r+1),t.key===a.KeyboardKeys.UP&&D(r=>r===0?h.length-1:r-1))},O=t=>{(t.key===a.KeyboardKeys.ENTER||t.key===a.KeyboardKeys.SPACE)&&f(r=>!r)},_=t=>{t.preventDefault(),t.currentTarget.contains(t.relatedTarget)||f(!1)},j=t=>{t.preventDefault(),f(r=>!r)},F=h.map((t,r)=>o.default.createElement(V.Flex,{as:"li",key:r,justifyContent:"center",role:"menuitem"},u.cloneElement(t,{onClick:()=>{t.props.onClick(),f(!1),d.current.focus()},isFocused:x===r})));return o.default.createElement("div",{onKeyDown:w},o.default.createElement(R,{label:o.default.isValidElement(e)?null:e,"aria-haspopup":!0,"aria-expanded":c,"aria-controls":S,onKeyDown:O,onMouseDown:j,ref:d,type:"button",variant:"ghost",endIcon:o.default.createElement(H,null,o.default.createElement(z.default,{"aria-hidden":!0})),...g},e),c&&o.default.createElement(v.Popover,{onBlur:_,placement:b,source:d,spacing:4},o.default.createElement(B.Box,{role:"menu",as:"ul",padding:1,id:S},F)))};i.defaultProps={as:void 0};i.displayName="SimpleMenu";i.defaultProps={popoverPlacement:"bottom-start",size:"M"};i.propTypes={as:n.default.any,children:n.default.oneOfType([n.default.arrayOf(n.default.node),n.default.node]).isRequired,id:n.default.string,label:n.default.oneOfType([n.default.string,n.default.number,n.default.element]).isRequired,onClose:n.default.func,onOpen:n.default.func,popoverPlacement:n.default.oneOf(v.POPOVER_PLACEMENTS),size:n.default.oneOf(["S","M"])};exports.MenuItem=I;exports.SimpleMenu=i;
19
+ `,v=B=>{var K=B,{children:e,onClick:r,to:t,isFocused:u}=K,h=k(K,["children","onClick","to","isFocused"]);const d=l.useRef();l.useEffect(()=>{u&&d.current&&d.current.focus()},[u]);const P=E({tabIndex:u?0:-1,ref:d,role:"menuitem"},h),C=f=>{(f.key===c.KeyboardKeys.SPACE||f.key===c.KeyboardKeys.ENTER)&&r()};return t?a.default.createElement(ne,E({to:t},P),a.default.createElement(q.Box,{padding:2},a.default.createElement(_.Typography,null,e))):a.default.createElement(te,E({onKeyDown:C,onMouseDown:r,type:"button"},P),a.default.createElement(q.Box,{padding:2},a.default.createElement(_.Typography,null,e)))};v.defaultProps={onClick:()=>{},isFocused:!1,to:void 0};v.propTypes={as:o.default.elementType,children:o.default.node.isRequired,isFocused:o.default.bool,onClick:o.default.func,to:o.default.string};const g=C=>{var f=C,{label:e,children:r,id:t,as:u,onOpen:h=()=>{},onClose:B=()=>{},size:K,popoverPlacement:d}=f,P=k(f,["label","children","id","as","onOpen","onClose","size","popoverPlacement"]);const i=l.useRef(),R=Z.useId("simplemenu",t),p=l.useRef(!1),[y,m]=l.useState(!1),[I,S]=l.useState(0),b=l.Children.toArray(r),N=K==="S"?re:j.Button,$=u||N;l.useEffect(()=>{if(["string","number"].includes(typeof e)){const n=b.findIndex(s=>s.props.children===e);n!==-1&&S(n)}},[e]),l.useEffect(()=>{p!=null&&p.current?y&&typeof h=="function"?h():typeof B=="function"&&B():p.current=!0},[p,y]),l.useEffect(()=>{a.default.isValidElement(e)&&I==-1&&i.current.focus()},[e,I]);const L=n=>{y&&(n.key===c.KeyboardKeys.ESCAPE&&(n.stopPropagation(),m(!1),i.current.focus()),n.key===c.KeyboardKeys.DOWN&&S(s=>s===b.length-1?0:s+1),n.key===c.KeyboardKeys.UP&&S(s=>s===0?b.length-1:s-1))},V=n=>{(n.key===c.KeyboardKeys.ENTER||n.key===c.KeyboardKeys.SPACE)&&m(s=>!s)},W=n=>{n.preventDefault(),n.currentTarget.contains(n.relatedTarget)||m(!1)},z=n=>{n.preventDefault(),m(s=>!s)},U=b.map((n,s)=>a.default.createElement(Y.Flex,{as:"li",key:s,justifyContent:"center",role:"menuitem"},l.cloneElement(n,{onClick:()=>{n.props.onClick(),m(!1),i.current.focus()},isFocused:I===s})));return a.default.createElement("div",{onKeyDown:L},a.default.createElement($,E({label:a.default.isValidElement(e)?null:e,"aria-haspopup":!0,"aria-expanded":y,"aria-controls":R,onKeyDown:V,onMouseDown:z,ref:i,type:"button",variant:"ghost",endIcon:a.default.createElement(oe,null,a.default.createElement(ee.default,{"aria-hidden":!0}))},P),e),y&&a.default.createElement(F.Popover,{onBlur:W,placement:d,source:i,spacing:4},a.default.createElement(q.Box,{role:"menu",as:"ul",padding:1,id:R},U)))};g.defaultProps={as:void 0};g.displayName="SimpleMenu";g.defaultProps={popoverPlacement:"bottom-start",size:"M"};g.propTypes={as:o.default.any,children:o.default.oneOfType([o.default.arrayOf(o.default.node),o.default.node]).isRequired,id:o.default.string,label:o.default.oneOfType([o.default.string,o.default.number,o.default.element]).isRequired,onClose:o.default.func,onOpen:o.default.func,popoverPlacement:o.default.oneOf(F.POPOVER_PLACEMENTS),size:o.default.oneOf(["S","M"])};exports.MenuItem=v;exports.SimpleMenu=g;