@strapi/design-system 1.4.2 → 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.
Files changed (277) hide show
  1. package/dist/Accordion/AccordionContent.cjs +1 -1
  2. package/dist/Accordion/AccordionContent.js +17 -37
  3. package/dist/Accordion/AccordionToggle.cjs +6 -6
  4. package/dist/Accordion/AccordionToggle.js +75 -96
  5. package/dist/Alert/Alert.cjs +12 -12
  6. package/dist/Alert/Alert.js +83 -102
  7. package/dist/Badge/Badge.cjs +4 -4
  8. package/dist/Badge/Badge.js +29 -49
  9. package/dist/BaseButton/BaseButton.cjs +3 -3
  10. package/dist/BaseButton/BaseButton.js +20 -42
  11. package/dist/BaseCheckbox/BaseCheckbox.cjs +6 -6
  12. package/dist/BaseCheckbox/BaseCheckbox.js +35 -55
  13. package/dist/BaseLink/BaseLink.cjs +2 -2
  14. package/dist/BaseLink/BaseLink.js +21 -43
  15. package/dist/BaseRadio/BaseRadio.cjs +8 -8
  16. package/dist/BaseRadio/BaseRadio.js +31 -51
  17. package/dist/BaseRadio/RadioGroup.cjs +1 -1
  18. package/dist/BaseRadio/RadioGroup.js +24 -44
  19. package/dist/Box/BoxProps.cjs +1 -1
  20. package/dist/Box/BoxProps.js +10 -19
  21. package/dist/Breadcrumbs/Breadcrumbs.cjs +4 -4
  22. package/dist/Breadcrumbs/Breadcrumbs.js +29 -50
  23. package/dist/Button/Button.cjs +14 -14
  24. package/dist/Button/Button.js +53 -73
  25. package/dist/Card/Card.cjs +1 -1
  26. package/dist/Card/Card.js +17 -37
  27. package/dist/Card/CardAsset.cjs +4 -4
  28. package/dist/Card/CardAsset.js +19 -42
  29. package/dist/Card/CardBadge.cjs +3 -3
  30. package/dist/Card/CardBadge.js +9 -18
  31. package/dist/Card/CardBody.cjs +1 -1
  32. package/dist/Card/CardBody.js +8 -19
  33. package/dist/Card/CardCheckbox.cjs +1 -1
  34. package/dist/Card/CardCheckbox.js +12 -22
  35. package/dist/Card/CardContent.cjs +2 -2
  36. package/dist/Card/CardContent.js +11 -32
  37. package/dist/Card/CardHeader.cjs +2 -2
  38. package/dist/Card/CardHeader.js +9 -19
  39. package/dist/Card/CardTimer.cjs +2 -2
  40. package/dist/Card/CardTimer.js +20 -42
  41. package/dist/Card/CardTitle.cjs +1 -1
  42. package/dist/Card/CardTitle.js +16 -27
  43. package/dist/CarouselInput/Carousel.cjs +6 -6
  44. package/dist/CarouselInput/Carousel.js +77 -107
  45. package/dist/CarouselInput/CarouselActions.cjs +1 -1
  46. package/dist/CarouselInput/CarouselActions.js +7 -17
  47. package/dist/CarouselInput/CarouselImage.cjs +3 -3
  48. package/dist/CarouselInput/CarouselImage.js +26 -38
  49. package/dist/CarouselInput/CarouselInput.cjs +1 -1
  50. package/dist/CarouselInput/CarouselInput.js +49 -83
  51. package/dist/CarouselInput/CarouselSlide.cjs +2 -2
  52. package/dist/CarouselInput/CarouselSlide.js +20 -42
  53. package/dist/Checkbox/Checkbox.cjs +2 -2
  54. package/dist/Checkbox/Checkbox.js +44 -63
  55. package/dist/Combobox/Combobox.cjs +1 -1
  56. package/dist/Combobox/Combobox.js +196 -246
  57. package/dist/Combobox/ComboboxOption.cjs +1 -1
  58. package/dist/Combobox/ComboboxOption.js +25 -47
  59. package/dist/Combobox/utils.cjs +1 -1
  60. package/dist/Combobox/utils.js +21 -21
  61. package/dist/DatePicker/DatePicker.cjs +1 -1
  62. package/dist/DatePicker/DatePicker.js +85 -117
  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 +23 -42
  67. package/dist/DatePicker/DatePickerTh.cjs +3 -3
  68. package/dist/DatePicker/DatePickerTh.js +23 -44
  69. package/dist/DatePicker/utils/getYears.cjs +1 -1
  70. package/dist/DatePicker/utils/getYears.js +6 -7
  71. package/dist/DateTimePicker/DateTimePicker.cjs +1 -1
  72. package/dist/DateTimePicker/DateTimePicker.js +92 -126
  73. package/dist/DateTimePicker/DateTimePickerProps.cjs +1 -1
  74. package/dist/DateTimePicker/DateTimePickerProps.js +10 -19
  75. package/dist/Dialog/Dialog.cjs +5 -5
  76. package/dist/Dialog/Dialog.js +39 -58
  77. package/dist/Divider/Divider.cjs +4 -2
  78. package/dist/Divider/Divider.js +17 -38
  79. package/dist/Field/Field.cjs +1 -1
  80. package/dist/Field/Field.js +20 -39
  81. package/dist/Field/FieldAction.cjs +2 -2
  82. package/dist/Field/FieldAction.js +13 -35
  83. package/dist/Field/FieldInput.cjs +6 -6
  84. package/dist/Field/FieldInput.js +47 -67
  85. package/dist/Field/FieldLabel.cjs +3 -3
  86. package/dist/Field/FieldLabel.js +26 -46
  87. package/dist/Flex/FlexProps.cjs +1 -1
  88. package/dist/Flex/FlexProps.js +10 -19
  89. package/dist/FocusTrap/FocusTrap.cjs +1 -1
  90. package/dist/FocusTrap/FocusTrap.js +32 -52
  91. package/dist/Grid/Grid.cjs +3 -3
  92. package/dist/Grid/Grid.js +20 -42
  93. package/dist/Grid/GridItem.cjs +2 -2
  94. package/dist/Grid/GridItem.js +22 -41
  95. package/dist/Icon/Icon.cjs +2 -2
  96. package/dist/Icon/Icon.js +17 -27
  97. package/dist/IconButton/IconButton.cjs +4 -4
  98. package/dist/IconButton/IconButton.js +44 -64
  99. package/dist/KeyboardNavigable/KeyboardNavigable.cjs +1 -1
  100. package/dist/KeyboardNavigable/KeyboardNavigable.js +38 -58
  101. package/dist/Layout/HeaderLayout.cjs +2 -2
  102. package/dist/Layout/HeaderLayout.js +78 -96
  103. package/dist/Link/Link.cjs +6 -6
  104. package/dist/Link/Link.js +34 -54
  105. package/dist/LinkButton/LinkButton.cjs +10 -10
  106. package/dist/LinkButton/LinkButton.js +47 -69
  107. package/dist/Loader/Loader.cjs +4 -4
  108. package/dist/Loader/Loader.js +25 -47
  109. package/dist/Main/Main.cjs +2 -2
  110. package/dist/Main/Main.js +15 -35
  111. package/dist/MainNav/MainNav.cjs +2 -2
  112. package/dist/MainNav/MainNav.js +19 -40
  113. package/dist/MainNav/NavCondense.cjs +3 -3
  114. package/dist/MainNav/NavCondense.js +20 -40
  115. package/dist/MainNav/NavFooter.cjs +3 -0
  116. package/dist/MainNav/NavFooter.js +14 -0
  117. package/dist/MainNav/NavLink.cjs +13 -13
  118. package/dist/MainNav/NavLink.js +57 -76
  119. package/dist/MainNav/NavSection.cjs +1 -1
  120. package/dist/MainNav/NavSection.js +46 -67
  121. package/dist/MainNav/NavSections.cjs +4 -1
  122. package/dist/MainNav/NavSections.js +23 -40
  123. package/dist/MainNav/NavUser.cjs +2 -6
  124. package/dist/MainNav/NavUser.js +31 -55
  125. package/dist/MainNav/index.cjs +1 -1
  126. package/dist/MainNav/index.js +14 -12
  127. package/dist/ModalLayout/ModalBody.cjs +2 -2
  128. package/dist/ModalLayout/ModalBody.js +9 -19
  129. package/dist/ModalLayout/ModalLayout.cjs +3 -3
  130. package/dist/ModalLayout/ModalLayout.js +30 -52
  131. package/dist/NumberInput/NumberInput.cjs +6 -6
  132. package/dist/NumberInput/NumberInput.js +123 -157
  133. package/dist/Pagination/components.cjs +7 -7
  134. package/dist/Pagination/components.js +65 -88
  135. package/dist/Popover/Popover.cjs +3 -3
  136. package/dist/Popover/Popover.js +65 -91
  137. package/dist/Portal/Portal.cjs +1 -1
  138. package/dist/Portal/Portal.js +11 -12
  139. package/dist/ProgressBar/ProgressBar.cjs +2 -2
  140. package/dist/ProgressBar/ProgressBar.js +27 -49
  141. package/dist/Radio/Radio.cjs +2 -2
  142. package/dist/Radio/Radio.js +19 -40
  143. package/dist/RawTable/RawCell.cjs +1 -1
  144. package/dist/RawTable/RawCell.js +69 -89
  145. package/dist/RawTable/RawTable.cjs +1 -1
  146. package/dist/RawTable/RawTable.js +46 -66
  147. package/dist/RawTable/RawTbody.cjs +1 -1
  148. package/dist/RawTable/RawTbody.js +11 -30
  149. package/dist/RawTable/RawThead.cjs +1 -1
  150. package/dist/RawTable/RawThead.js +10 -29
  151. package/dist/RawTable/RawTr.cjs +1 -1
  152. package/dist/RawTable/RawTr.js +14 -34
  153. package/dist/Searchbar/SearchForm.cjs +1 -1
  154. package/dist/Searchbar/SearchForm.js +5 -16
  155. package/dist/Searchbar/Searchbar.cjs +7 -7
  156. package/dist/Searchbar/Searchbar.js +45 -65
  157. package/dist/Select/MultiSelectNested.cjs +1 -1
  158. package/dist/Select/MultiSelectNested.js +23 -45
  159. package/dist/Select/OptGroup.cjs +1 -1
  160. package/dist/Select/OptGroup.js +15 -35
  161. package/dist/Select/Option.cjs +7 -7
  162. package/dist/Select/Option.js +37 -57
  163. package/dist/Select/Select.cjs +2 -2
  164. package/dist/Select/Select.js +145 -186
  165. package/dist/Select/SelectButton.cjs +2 -2
  166. package/dist/Select/SelectButton.js +33 -53
  167. package/dist/SimpleMenu/SimpleMenu.cjs +9 -9
  168. package/dist/SimpleMenu/SimpleMenu.js +137 -163
  169. package/dist/Stack/Stack.cjs +3 -3
  170. package/dist/Stack/Stack.js +29 -50
  171. package/dist/Status/Status.cjs +4 -4
  172. package/dist/Status/Status.js +30 -50
  173. package/dist/SubNav/SubNav.cjs +3 -3
  174. package/dist/SubNav/SubNav.js +15 -37
  175. package/dist/SubNav/SubNavHeader.cjs +2 -2
  176. package/dist/SubNav/SubNavHeader.js +38 -39
  177. package/dist/SubNav/SubNavLink.cjs +6 -6
  178. package/dist/SubNav/SubNavLink.js +39 -61
  179. package/dist/SubNav/SubNavSections.cjs +1 -1
  180. package/dist/SubNav/SubNavSections.js +17 -39
  181. package/dist/Switch/Switch.cjs +5 -5
  182. package/dist/Switch/Switch.js +35 -57
  183. package/dist/Table/Cell.cjs +3 -3
  184. package/dist/Table/Cell.js +20 -40
  185. package/dist/Table/TFooter.cjs +3 -3
  186. package/dist/Table/TFooter.js +28 -50
  187. package/dist/Table/Table.cjs +5 -5
  188. package/dist/Table/Table.js +35 -55
  189. package/dist/Table/Tbody.cjs +2 -2
  190. package/dist/Table/Tbody.js +8 -17
  191. package/dist/Table/Thead.cjs +2 -2
  192. package/dist/Table/Thead.js +8 -17
  193. package/dist/Table/Tr.cjs +2 -2
  194. package/dist/Table/Tr.js +8 -17
  195. package/dist/Tabs/TabGroup.cjs +1 -1
  196. package/dist/Tabs/TabGroup.js +26 -45
  197. package/dist/Tabs/TabPanels.cjs +1 -1
  198. package/dist/Tabs/TabPanels.js +24 -43
  199. package/dist/Tabs/Tabs.cjs +2 -2
  200. package/dist/Tabs/Tabs.js +94 -112
  201. package/dist/Tag/Tag.cjs +4 -4
  202. package/dist/Tag/Tag.js +27 -50
  203. package/dist/TextButton/TextButton.cjs +6 -6
  204. package/dist/TextButton/TextButton.js +39 -59
  205. package/dist/TextInput/TextInput.cjs +1 -1
  206. package/dist/TextInput/TextInput.js +49 -69
  207. package/dist/Textarea/Textarea.cjs +3 -3
  208. package/dist/Textarea/Textarea.js +43 -63
  209. package/dist/Textarea/TextareaInput.cjs +4 -4
  210. package/dist/Textarea/TextareaInput.js +30 -50
  211. package/dist/TimePicker/TimePicker.cjs +3 -3
  212. package/dist/TimePicker/TimePicker.js +62 -95
  213. package/dist/ToggleCheckbox/ToggleCheckbox.cjs +8 -8
  214. package/dist/ToggleCheckbox/ToggleCheckbox.js +56 -78
  215. package/dist/ToggleInput/ToggleInput.cjs +3 -3
  216. package/dist/ToggleInput/ToggleInput.js +65 -97
  217. package/dist/Tooltip/Tooltip.cjs +2 -2
  218. package/dist/Tooltip/Tooltip.js +38 -57
  219. package/dist/Typography/TypographyProps.cjs +1 -1
  220. package/dist/Typography/TypographyProps.js +13 -22
  221. package/dist/helpers/getDefaultLocale.cjs +1 -1
  222. package/dist/helpers/getDefaultLocale.js +1 -1
  223. package/dist/helpers/handleResponsiveValues.cjs +5 -5
  224. package/dist/helpers/handleResponsiveValues.js +14 -14
  225. package/dist/index.cjs +1 -1
  226. package/dist/index.js +150 -148
  227. package/dist/themes/darkTheme/index.cjs +1 -1
  228. package/dist/themes/darkTheme/index.js +8 -18
  229. package/dist/themes/extendTheme.cjs +4 -4
  230. package/dist/themes/extendTheme.js +18 -29
  231. package/dist/themes/lightTheme/index.cjs +1 -1
  232. package/dist/themes/lightTheme/index.js +8 -18
  233. package/dist/v2/Breadcrumbs/Breadcrumbs.cjs +2 -2
  234. package/dist/v2/Breadcrumbs/Breadcrumbs.js +23 -43
  235. package/dist/v2/Breadcrumbs/Crumb.cjs +1 -1
  236. package/dist/v2/Breadcrumbs/Crumb.js +22 -44
  237. package/dist/v2/Breadcrumbs/CrumbLink.cjs +2 -2
  238. package/dist/v2/Breadcrumbs/CrumbLink.js +14 -35
  239. package/dist/v2/Breadcrumbs/CrumbSimpleMenu.cjs +2 -2
  240. package/dist/v2/Breadcrumbs/CrumbSimpleMenu.js +19 -41
  241. package/dist/v2/Link/Link.cjs +5 -5
  242. package/dist/v2/Link/Link.js +42 -64
  243. package/dist/v2/LinkButton/LinkButton.cjs +10 -10
  244. package/dist/v2/LinkButton/LinkButton.js +51 -75
  245. package/dist/v2/MainNav/MainNav.cjs +2 -2
  246. package/dist/v2/MainNav/MainNav.js +19 -40
  247. package/dist/v2/MainNav/NavBrand.cjs +3 -3
  248. package/dist/v2/MainNav/NavBrand.js +57 -78
  249. package/dist/v2/MainNav/NavCondense.cjs +3 -3
  250. package/dist/v2/MainNav/NavCondense.js +20 -40
  251. package/dist/v2/MainNav/NavFooter.cjs +3 -0
  252. package/dist/v2/MainNav/NavFooter.js +14 -0
  253. package/dist/v2/MainNav/NavLink.cjs +13 -13
  254. package/dist/v2/MainNav/NavLink.js +60 -81
  255. package/dist/v2/MainNav/NavSection.cjs +1 -1
  256. package/dist/v2/MainNav/NavSection.js +46 -67
  257. package/dist/v2/MainNav/NavSections.cjs +4 -1
  258. package/dist/v2/MainNav/NavSections.js +23 -40
  259. package/dist/v2/MainNav/NavUser.cjs +2 -6
  260. package/dist/v2/MainNav/NavUser.js +31 -55
  261. package/dist/v2/MainNav/index.cjs +1 -1
  262. package/dist/v2/MainNav/index.js +14 -12
  263. package/dist/v2/Pagination/components.cjs +7 -7
  264. package/dist/v2/Pagination/components.js +65 -89
  265. package/dist/v2/SimpleMenu/SimpleMenu.cjs +9 -9
  266. package/dist/v2/SimpleMenu/SimpleMenu.js +131 -156
  267. package/dist/v2/SubNav/SubNav.cjs +3 -3
  268. package/dist/v2/SubNav/SubNav.js +15 -37
  269. package/dist/v2/SubNav/SubNavHeader.cjs +2 -2
  270. package/dist/v2/SubNav/SubNavHeader.js +38 -39
  271. package/dist/v2/SubNav/SubNavLink.cjs +6 -6
  272. package/dist/v2/SubNav/SubNavLink.js +42 -64
  273. package/dist/v2/SubNav/SubNavSections.cjs +1 -1
  274. package/dist/v2/SubNav/SubNavSections.js +17 -39
  275. package/dist/v2/index.cjs +1 -1
  276. package/dist/v2/index.js +37 -35
  277. package/package.json +3 -3
@@ -1,83 +1,64 @@
1
- var h = Object.defineProperty;
2
- var m = Object.getOwnPropertySymbols;
3
- var f = Object.prototype.hasOwnProperty, b = Object.prototype.propertyIsEnumerable;
4
- var s = (e, r, o) => r in e ? h(e, r, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[r] = o, p = (e, r) => {
5
- for (var o in r || (r = {}))
6
- f.call(r, o) && s(e, o, r[o]);
7
- if (m)
8
- for (var o of m(r))
9
- b.call(r, o) && s(e, o, r[o]);
10
- return e;
11
- };
12
- var u = (e, r) => {
13
- var o = {};
14
- for (var t in e)
15
- f.call(e, t) && r.indexOf(t) < 0 && (o[t] = e[t]);
16
- if (e != null && m)
17
- for (var t of m(e))
18
- r.indexOf(t) < 0 && b.call(e, t) && (o[t] = e[t]);
19
- return o;
20
- };
21
- import n from "react";
22
- import E from "styled-components";
23
- import i from "prop-types";
24
- import { BaseCheckbox as g } from "../BaseCheckbox/BaseCheckbox.js";
25
- import { Stack as k } from "../Stack/Stack.js";
26
- import { Field as T } from "../Field/Field.js";
1
+ import r from "react";
2
+ import c from "styled-components";
3
+ import e from "prop-types";
4
+ import { BaseCheckbox as s } from "../BaseCheckbox/BaseCheckbox.js";
5
+ import { Stack as f } from "../Stack/Stack.js";
6
+ import { Field as b } from "../Field/Field.js";
27
7
  import "../Field/FieldLabel.js";
28
8
  import "../Field/FieldInput.js";
29
- import { FieldHint as C } from "../Field/FieldHint.js";
30
- import { FieldError as F } from "../Field/FieldError.js";
31
- import { useField as v } from "../Field/FieldContext.js";
9
+ import { FieldHint as u } from "../Field/FieldHint.js";
10
+ import { FieldError as x } from "../Field/FieldError.js";
11
+ import { useField as y } from "../Field/FieldContext.js";
32
12
  import "../Field/FieldAction.js";
33
- import { Box as O } from "../Box/Box.js";
34
- import { useId as $ } from "../helpers/useId.js";
35
- import { Typography as B } from "../Typography/Typography.js";
36
- const I = E(B)`
13
+ import { Box as h } from "../Box/Box.js";
14
+ import { useId as E } from "../helpers/useId.js";
15
+ import { Typography as g } from "../Typography/Typography.js";
16
+ const k = c(g)`
37
17
  display: flex;
38
18
  align-items: flex-start;
39
19
  * {
40
- cursor: ${({ disabled: e }) => e ? "not-allowed" : "pointer"};
20
+ cursor: ${({ disabled: o }) => o ? "not-allowed" : "pointer"};
41
21
  }
42
- `, L = (e) => {
43
- const { id: r } = v();
44
- return /* @__PURE__ */ n.createElement(g, p({
45
- id: r
46
- }, e));
47
- }, x = (P) => {
48
- var c = P, { children: e, disabled: r, id: o, hint: t, error: d } = c, y = u(c, ["children", "disabled", "id", "hint", "error"]);
49
- const l = $("checkbox", o);
50
- let a;
51
- return d ? a = `${l}-error` : t && (a = `${l}-hint`), /* @__PURE__ */ n.createElement(T, {
52
- id: l,
53
- hint: t,
54
- error: d
55
- }, /* @__PURE__ */ n.createElement(k, {
22
+ `, T = (o) => {
23
+ const { id: t } = y();
24
+ return /* @__PURE__ */ r.createElement(s, {
25
+ id: t,
26
+ ...o
27
+ });
28
+ }, a = ({ children: o, disabled: t, id: p, hint: m, error: l, ...d }) => {
29
+ const i = E("checkbox", p);
30
+ let n;
31
+ return l ? n = `${i}-error` : m && (n = `${i}-hint`), /* @__PURE__ */ r.createElement(b, {
32
+ id: i,
33
+ hint: m,
34
+ error: l
35
+ }, /* @__PURE__ */ r.createElement(f, {
56
36
  spacing: 1
57
- }, /* @__PURE__ */ n.createElement(I, {
37
+ }, /* @__PURE__ */ r.createElement(k, {
58
38
  as: "label",
59
39
  textColor: "neutral800",
60
- disabled: r
61
- }, /* @__PURE__ */ n.createElement(L, p({
62
- disabled: r,
63
- "aria-describedby": a
64
- }, y)), /* @__PURE__ */ n.createElement(O, {
40
+ disabled: t
41
+ }, /* @__PURE__ */ r.createElement(T, {
42
+ disabled: t,
43
+ "aria-describedby": n,
44
+ ...d
45
+ }), /* @__PURE__ */ r.createElement(h, {
65
46
  paddingLeft: 2
66
- }, e)), /* @__PURE__ */ n.createElement(C, null), /* @__PURE__ */ n.createElement(F, null)));
47
+ }, o)), /* @__PURE__ */ r.createElement(u, null), /* @__PURE__ */ r.createElement(x, null)));
67
48
  };
68
- x.defaultProps = {
49
+ a.defaultProps = {
69
50
  disabled: !1,
70
51
  id: void 0,
71
52
  error: void 0,
72
53
  hint: void 0
73
54
  };
74
- x.propTypes = {
75
- children: i.node.isRequired,
76
- disabled: i.bool,
77
- error: i.string,
78
- hint: i.oneOfType([i.string, i.node, i.arrayOf(i.node)]),
79
- id: i.oneOfType([i.string, i.number])
55
+ a.propTypes = {
56
+ children: e.node.isRequired,
57
+ disabled: e.bool,
58
+ error: e.string,
59
+ hint: e.oneOfType([e.string, e.node, e.arrayOf(e.node)]),
60
+ id: e.oneOfType([e.string, e.number])
80
61
  };
81
62
  export {
82
- x as Checkbox
63
+ a as Checkbox
83
64
  };
@@ -1 +1 @@
1
- "use strict";var qe=Object.defineProperty,ke=Object.defineProperties;var je=Object.getOwnPropertyDescriptors;var j=Object.getOwnPropertySymbols;var Q=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable;var J=(e,s,r)=>s in e?qe(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r,w=(e,s)=>{for(var r in s||(s={}))Q.call(s,r)&&J(e,r,s[r]);if(j)for(var r of j(s))X.call(s,r)&&J(e,r,s[r]);return e},A=(e,s)=>ke(e,je(s));var Y=(e,s)=>{var r={};for(var f in e)Q.call(e,f)&&s.indexOf(f)<0&&(r[f]=e[f]);if(e!=null&&j)for(var f of j(e))s.indexOf(f)<0&&X.call(e,f)&&(r[f]=e[f]);return r};Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("react"),Me=require("prop-types"),Oe=require("@strapi/icons/CarretDown"),Le=require("@strapi/icons/Cross"),Se=require("../helpers/useId.cjs"),c=require("./utils.cjs"),Z=require("../Flex/Flex.cjs"),ee=require("../Select/components.cjs"),Re=require("../Popover/Popover.cjs"),we=require("../Box/Box.cjs"),te=require("../Typography/Typography.cjs"),Ae=require("../Loader/Loader.cjs"),M=require("./components.cjs"),Te=require("./ComboboxOption.cjs"),$e=require("./ComboboxList.cjs"),Be=require("../Field/Field.cjs"),De=require("../Field/FieldLabel.cjs");require("../Field/FieldInput.cjs");const Pe=require("../Field/FieldHint.cjs"),_e=require("../Field/FieldError.cjs");require("../Field/FieldContext.cjs");require("../Field/FieldAction.cjs");const Ve=require("../Stack/Stack.cjs"),Ke=require("../helpers/keyboardKeys.cjs"),He=require("../VisuallyHidden/VisuallyHidden.cjs"),O=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},n=O(l),t=O(Me),Ne=O(Oe),Ue=O(Le),F=ze=>{var V=ze,{children:e,clearLabel:s,creatable:r,createMessage:f,disabled:m,error:L,hasMoreItems:oe,hint:$,label:h,labelAction:ne,loading:S,loadingMessage:ae,noOptionsMessage:re,onChange:B,onClear:D,onCreateOption:le,onInputChange:P,onLoadMore:se,placeholder:ie,required:_,value:C}=V,ce=Y(V,["children","clearLabel","creatable","createMessage","disabled","error","hasMoreItems","hint","label","labelAction","loading","loadingMessage","noOptionsMessage","onChange","onClear","onCreateOption","onInputChange","onLoadMore","placeholder","required","value"]);const ue=()=>{var o;return(o=e.find(a=>{var i;return((i=a.props)==null?void 0:i.value.toLowerCase())===C.toLowerCase()}).props)==null?void 0:o.children},[d,K]=l.useState(0),[de,fe]=l.useState(null),[b,H]=l.useState(e),[x,pe]=l.useState(!1),[u,q]=l.useState(""),v=l.useRef(),k=l.useRef(!1),I=l.useRef(),N=l.useRef(),be=l.useRef(),U=l.useRef(!0),p=Se.useId("combobox"),z=`${p}-label`;if(!h&&!ce["aria-label"])throw new Error('The Combobox component needs a "label" or an "aria-label" props');l.useEffect(()=>{H(c.filterOptions(e,u))},[u,e]),l.useEffect(()=>{x&&v.current&&c.maintainScrollVisibility(v.current)},[d,x]),l.useLayoutEffect(()=>{U.current&&(U.current=!1)},[C]);const me=x?`${p}-${d}`:"",W=()=>{B(null),q("")},Ce=o=>{P&&P(o);const a=I.current.value;H(c.filterOptions(e,a)),K(0),fe(null),u!==a&&q(a),x||g(!0,!1)},ge=o=>{const{key:a}=o,i=r&&u?b.length:b.length-1,E=c.getActionFromKey(a,x);switch(C&&!u&&a===Ke.KeyboardKeys.BACKSPACE&&W(),E){case c.MenuActions.Next:{if(d===i){y(0);break}y(c.getUpdatedIndex(d,i,E));break}case c.MenuActions.Previous:{if(d===0){y(i);break}y(c.getUpdatedIndex(d,i,E));break}case c.MenuActions.Last:case c.MenuActions.First:{if(d===i){y(0);break}y(c.getUpdatedIndex(d,i,E));break}case c.MenuActions.CloseSelect:o.preventDefault(),R(d);break;case c.MenuActions.Close:o.preventDefault(),g(!1);break;case c.MenuActions.Open:g(!0);break}},xe=o=>{if(o.preventDefault(),C&&!k.current&&q(""),k.current){k.current=!1;return}g(!1,!1)},y=o=>{K(o)},ye=o=>{y(o),R(o)},G=()=>{k.current=!0},R=o=>{const a=b[o];if(q(""),a){B(a.props.value),g(!1);return}r&&(le(u),g(!1))},g=(o,a=!0)=>{pe(o),a&&I.current.focus()},he=l.Children.toArray(b).map((o,a)=>{const i=d===a;return l.cloneElement(o,{id:`${p}-${a}`,"aria-selected":de===a,"aria-posinset":a+1,"aria-setsize":l.Children.toArray(b).length,ref(E){i&&(v.current=E)},onClick:()=>ye(a),onMouseDown:G,isSelected:i})}),ve=()=>{I.current.focus(),D&&D(),W()},Ee=()=>{I.current.focus(),g(!0)},Fe=()=>{const o=b.findIndex(a=>{var i;return((i=a.props)==null?void 0:i.children)===u});return u&&o===-1},Ie=o=>{o.preventDefault(),g(o,!0)};return n.default.createElement(Be.Field,{hint:$,error:L,id:p,required:_},n.default.createElement(He.VisuallyHidden,{"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text"},C),n.default.createElement(Ve.Stack,{spacing:h||$||L?1:0},h&&n.default.createElement(De.FieldLabel,{action:ne},h),n.default.createElement(M.MainRow,{ref:N,$disabled:m,hasError:L},n.default.createElement(M.InputContainer,{wrap:"wrap"},!u&&C&&n.default.createElement(M.ValueContainer,{id:`${p}-selected-value`},n.default.createElement(te.Typography,null,ue())),n.default.createElement(M.Input,{"aria-activedescendant":me,"aria-autocomplete":"list","aria-controls":`${p}-listbox`,"aria-disabled":m,"aria-expanded":x,"aria-haspopup":"listbox","aria-labelledby":h?z:void 0,autoComplete:"off",autoCorrect:"off",id:p,onBlur:m?void 0:xe,onClick:m?void 0:Ie,onInput:m?void 0:Ce,onKeyDown:m?void 0:ge,placeholder:C?"":ie,readOnly:m,ref:I,required:_,role:"combobox",spellCheck:"off",type:"text",value:u})),n.default.createElement(Z.Flex,null,(C||u)&&n.default.createElement(ee.IconBox,{id:`${p}-clear`,"aria-label":s,disabled:m,paddingLeft:3,as:"button",onClick:ve,type:"button"},n.default.createElement(Ue.default,null)),n.default.createElement(ee.CaretBox,{disabled:m,paddingLeft:3,"aria-hidden":!0,as:"button",onClick:Ee,tabIndex:-1,type:"button"},n.default.createElement(Ne.default,null)))),n.default.createElement(Pe.FieldHint,null),n.default.createElement(_e.FieldError,null)),x&&n.default.createElement(Re.Popover,{id:`${p}-popover`,source:N,spacing:4,fullWidth:!0,intersectionId:`${p}-listbox-popover-intersection`,onReachEnd:oe&&!S?se:void 0},n.default.createElement("div",{role:"listbox",ref:be,id:`${p}-listbox`,"aria-labelledby":h?z:void 0},(Boolean(b.length)||r)&&n.default.createElement(n.default.Fragment,null,n.default.createElement($e.ComboboxList,{activeOptionRef:v,options:he}),Fe()&&r&&n.default.createElement(Te.ComboboxOption,{isSelected:d===b.length,ref:o=>{d===b.length&&(v.current=o)},onMouseDown:G,onClick:()=>R(),taindex:0},f(u))),!b.length&&!r&&!S&&n.default.createElement(we.Box,{paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2,ref:v},n.default.createElement(te.Typography,{textColor:"neutral800"},re(u))),S&&n.default.createElement(Z.Flex,{justifyContent:"center",alignItems:"center",paddingTop:2,paddingBottom:2},n.default.createElement(Ae.Loader,{small:!0},ae)))))},T=e=>n.default.createElement(F,A(w({},e),{creatable:!0}));F.defaultProps={"aria-label":void 0,clearLabel:"clear",creatable:!1,createMessage:e=>`Create "${e}"`,disabled:!1,error:void 0,hasMoreItems:!1,hint:void 0,label:void 0,loading:!1,loadingMessage:"Loading content...",noOptionsMessage:()=>"No results found",onClear:void 0,onCreateOption:void 0,onInputChange:void 0,onLoadMore:void 0,placeholder:"Select or enter a value",value:void 0};T.defaultProps=F.defaultProps;F.propTypes={"aria-label":t.default.string,children:t.default.oneOfType([t.default.arrayOf(t.default.node),t.default.node]),clearLabel:t.default.string,creatable:t.default.bool,createMessage:t.default.func,disabled:t.default.bool,error:t.default.string,hasMoreItems:t.default.bool,hint:t.default.oneOfType([t.default.string,t.default.node,t.default.arrayOf(t.default.node)]),label:t.default.string,labelAction:t.default.element,loading:t.default.bool,loadingMessage:t.default.string,noOptionsMessage:t.default.func,onChange:t.default.func.isRequired,onClear:t.default.func,onCreateOption:t.default.func,onInputChange:t.default.func,onLoadMore:t.default.func,placeholder:t.default.string,value:t.default.string};T.propTypes=A(w({},F.propTypes),{onCreateOption:t.default.func.isRequired});exports.Combobox=F;exports.CreatableCombobox=T;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react"),ge=require("prop-types"),xe=require("@strapi/icons/CarretDown"),ye=require("@strapi/icons/Cross"),he=require("../helpers/useId.cjs"),l=require("./utils.cjs"),H=require("../Flex/Flex.cjs"),N=require("../Select/components.cjs"),ve=require("../Popover/Popover.cjs"),Ee=require("../Box/Box.cjs"),U=require("../Typography/Typography.cjs"),Fe=require("../Loader/Loader.cjs"),q=require("./components.cjs"),Ie=require("./ComboboxOption.cjs"),qe=require("./ComboboxList.cjs"),ke=require("../Field/Field.cjs"),je=require("../Field/FieldLabel.cjs");require("../Field/FieldInput.cjs");const Me=require("../Field/FieldHint.cjs"),Oe=require("../Field/FieldError.cjs");require("../Field/FieldContext.cjs");require("../Field/FieldAction.cjs");const Le=require("../Stack/Stack.cjs"),Se=require("../helpers/keyboardKeys.cjs"),Re=require("../VisuallyHidden/VisuallyHidden.cjs"),k=r=>r&&typeof r=="object"&&"default"in r?r:{default:r},o=k(a),e=k(ge),we=k(xe),Ae=k(ye),h=({children:r,clearLabel:z,creatable:v,createMessage:W,disabled:d,error:j,hasMoreItems:G,hint:S,label:g,labelAction:J,loading:M,loadingMessage:Q,noOptionsMessage:X,onChange:R,onClear:w,onCreateOption:Y,onInputChange:A,onLoadMore:Z,placeholder:ee,required:T,value:p,...te})=>{const oe=()=>r.find(t=>t.props?.value.toLowerCase()===p.toLowerCase()).props?.children,[i,$]=a.useState(0),[ne,ae]=a.useState(null),[u,B]=a.useState(r),[m,re]=a.useState(!1),[s,F]=a.useState(""),x=a.useRef(),I=a.useRef(!1),E=a.useRef(),D=a.useRef(),le=a.useRef(),P=a.useRef(!0),c=he.useId("combobox"),_=`${c}-label`;if(!g&&!te["aria-label"])throw new Error('The Combobox component needs a "label" or an "aria-label" props');a.useEffect(()=>{B(l.filterOptions(r,s))},[s,r]),a.useEffect(()=>{m&&x.current&&l.maintainScrollVisibility(x.current)},[i,m]),a.useLayoutEffect(()=>{P.current&&(P.current=!1)},[p]);const se=m?`${c}-${i}`:"",V=()=>{R(null),F("")},ie=t=>{A&&A(t);const n=E.current.value;B(l.filterOptions(r,n)),$(0),ae(null),s!==n&&F(n),m||b(!0,!1)},ce=t=>{const{key:n}=t,f=v&&s?u.length:u.length-1,y=l.getActionFromKey(n,m);switch(p&&!s&&n===Se.KeyboardKeys.BACKSPACE&&V(),y){case l.MenuActions.Next:{if(i===f){C(0);break}C(l.getUpdatedIndex(i,f,y));break}case l.MenuActions.Previous:{if(i===0){C(f);break}C(l.getUpdatedIndex(i,f,y));break}case l.MenuActions.Last:case l.MenuActions.First:{if(i===f){C(0);break}C(l.getUpdatedIndex(i,f,y));break}case l.MenuActions.CloseSelect:t.preventDefault(),O(i);break;case l.MenuActions.Close:t.preventDefault(),b(!1);break;case l.MenuActions.Open:b(!0);break}},ue=t=>{if(t.preventDefault(),p&&!I.current&&F(""),I.current){I.current=!1;return}b(!1,!1)},C=t=>{$(t)},de=t=>{C(t),O(t)},K=()=>{I.current=!0},O=t=>{const n=u[t];if(F(""),n){R(n.props.value),b(!1);return}v&&(Y(s),b(!1))},b=(t,n=!0)=>{re(t),n&&E.current.focus()},fe=a.Children.toArray(u).map((t,n)=>{const f=i===n;return a.cloneElement(t,{id:`${c}-${n}`,"aria-selected":ne===n,"aria-posinset":n+1,"aria-setsize":a.Children.toArray(u).length,ref(y){f&&(x.current=y)},onClick:()=>de(n),onMouseDown:K,isSelected:f})}),pe=()=>{E.current.focus(),w&&w(),V()},be=()=>{E.current.focus(),b(!0)},me=()=>{const t=u.findIndex(n=>n.props?.children===s);return s&&t===-1},Ce=t=>{t.preventDefault(),b(t,!0)};return o.default.createElement(ke.Field,{hint:S,error:j,id:c,required:T},o.default.createElement(Re.VisuallyHidden,{"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text"},p),o.default.createElement(Le.Stack,{spacing:g||S||j?1:0},g&&o.default.createElement(je.FieldLabel,{action:J},g),o.default.createElement(q.MainRow,{ref:D,$disabled:d,hasError:j},o.default.createElement(q.InputContainer,{wrap:"wrap"},!s&&p&&o.default.createElement(q.ValueContainer,{id:`${c}-selected-value`},o.default.createElement(U.Typography,null,oe())),o.default.createElement(q.Input,{"aria-activedescendant":se,"aria-autocomplete":"list","aria-controls":`${c}-listbox`,"aria-disabled":d,"aria-expanded":m,"aria-haspopup":"listbox","aria-labelledby":g?_:void 0,autoComplete:"off",autoCorrect:"off",id:c,onBlur:d?void 0:ue,onClick:d?void 0:Ce,onInput:d?void 0:ie,onKeyDown:d?void 0:ce,placeholder:p?"":ee,readOnly:d,ref:E,required:T,role:"combobox",spellCheck:"off",type:"text",value:s})),o.default.createElement(H.Flex,null,(p||s)&&o.default.createElement(N.IconBox,{id:`${c}-clear`,"aria-label":z,disabled:d,paddingLeft:3,as:"button",onClick:pe,type:"button"},o.default.createElement(Ae.default,null)),o.default.createElement(N.CaretBox,{disabled:d,paddingLeft:3,"aria-hidden":!0,as:"button",onClick:be,tabIndex:-1,type:"button"},o.default.createElement(we.default,null)))),o.default.createElement(Me.FieldHint,null),o.default.createElement(Oe.FieldError,null)),m&&o.default.createElement(ve.Popover,{id:`${c}-popover`,source:D,spacing:4,fullWidth:!0,intersectionId:`${c}-listbox-popover-intersection`,onReachEnd:G&&!M?Z:void 0},o.default.createElement("div",{role:"listbox",ref:le,id:`${c}-listbox`,"aria-labelledby":g?_:void 0},(Boolean(u.length)||v)&&o.default.createElement(o.default.Fragment,null,o.default.createElement(qe.ComboboxList,{activeOptionRef:x,options:fe}),me()&&v&&o.default.createElement(Ie.ComboboxOption,{isSelected:i===u.length,ref:t=>{i===u.length&&(x.current=t)},onMouseDown:K,onClick:()=>O(),taindex:0},W(s))),!u.length&&!v&&!M&&o.default.createElement(Ee.Box,{paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2,ref:x},o.default.createElement(U.Typography,{textColor:"neutral800"},X(s))),M&&o.default.createElement(H.Flex,{justifyContent:"center",alignItems:"center",paddingTop:2,paddingBottom:2},o.default.createElement(Fe.Loader,{small:!0},Q)))))},L=r=>o.default.createElement(h,{...r,creatable:!0});h.defaultProps={"aria-label":void 0,clearLabel:"clear",creatable:!1,createMessage:r=>`Create "${r}"`,disabled:!1,error:void 0,hasMoreItems:!1,hint:void 0,label:void 0,loading:!1,loadingMessage:"Loading content...",noOptionsMessage:()=>"No results found",onClear:void 0,onCreateOption:void 0,onInputChange:void 0,onLoadMore:void 0,placeholder:"Select or enter a value",value:void 0};L.defaultProps=h.defaultProps;h.propTypes={"aria-label":e.default.string,children:e.default.oneOfType([e.default.arrayOf(e.default.node),e.default.node]),clearLabel:e.default.string,creatable:e.default.bool,createMessage:e.default.func,disabled:e.default.bool,error:e.default.string,hasMoreItems:e.default.bool,hint:e.default.oneOfType([e.default.string,e.default.node,e.default.arrayOf(e.default.node)]),label:e.default.string,labelAction:e.default.element,loading:e.default.bool,loadingMessage:e.default.string,noOptionsMessage:e.default.func,onChange:e.default.func.isRequired,onClear:e.default.func,onCreateOption:e.default.func,onInputChange:e.default.func,onLoadMore:e.default.func,placeholder:e.default.string,value:e.default.string};L.propTypes={...h.propTypes,onCreateOption:e.default.func.isRequired};exports.Combobox=h;exports.CreatableCombobox=L;