@strapi/design-system 1.6.3 → 1.6.5

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 (317) hide show
  1. package/dist/Accordion/Accordion.cjs +5 -5
  2. package/dist/Accordion/Accordion.js +45 -44
  3. package/dist/Accordion/AccordionContent.cjs +1 -1
  4. package/dist/Accordion/AccordionContent.js +4 -4
  5. package/dist/Accordion/AccordionGroup.cjs +4 -4
  6. package/dist/Accordion/AccordionGroup.js +18 -18
  7. package/dist/Accordion/AccordionToggle.cjs +6 -6
  8. package/dist/Accordion/AccordionToggle.js +50 -53
  9. package/dist/Alert/Alert.cjs +1 -1
  10. package/dist/Alert/Alert.js +8 -8
  11. package/dist/Avatar/Avatar.cjs +5 -5
  12. package/dist/Avatar/Avatar.js +11 -11
  13. package/dist/Avatar/AvatarGroup.cjs +2 -2
  14. package/dist/Avatar/AvatarGroup.js +4 -4
  15. package/dist/BaseButton/BaseButton.cjs +5 -11
  16. package/dist/BaseButton/BaseButton.js +31 -38
  17. package/dist/BaseCheckbox/BaseCheckbox.cjs +3 -3
  18. package/dist/BaseCheckbox/BaseCheckbox.js +22 -22
  19. package/dist/BaseRadio/BaseRadio.cjs +2 -2
  20. package/dist/BaseRadio/BaseRadio.js +4 -4
  21. package/dist/BaseRadio/RadioGroup.cjs +1 -1
  22. package/dist/BaseRadio/RadioGroup.js +28 -26
  23. package/dist/Box/Box.cjs +3 -3
  24. package/dist/Box/Box.js +27 -27
  25. package/dist/Breadcrumbs/Breadcrumbs.cjs +4 -4
  26. package/dist/Breadcrumbs/Breadcrumbs.js +12 -12
  27. package/dist/Button/Button.cjs +10 -27
  28. package/dist/Button/Button.js +65 -85
  29. package/dist/Button/utils.cjs +22 -22
  30. package/dist/Button/utils.js +2 -2
  31. package/dist/Card/Card.cjs +1 -1
  32. package/dist/Card/Card.js +15 -14
  33. package/dist/Card/CardAsset.js +4 -4
  34. package/dist/Card/CardBody.cjs +1 -1
  35. package/dist/Card/CardBody.js +4 -4
  36. package/dist/Card/CardCheckbox.cjs +1 -1
  37. package/dist/Card/CardCheckbox.js +6 -6
  38. package/dist/Card/CardTitle.cjs +1 -1
  39. package/dist/Card/CardTitle.js +1 -1
  40. package/dist/CarouselInput/Carousel.cjs +2 -2
  41. package/dist/CarouselInput/Carousel.js +19 -64
  42. package/dist/CarouselInput/CarouselActions.cjs +1 -1
  43. package/dist/CarouselInput/CarouselActions.js +16 -12
  44. package/dist/CarouselInput/CarouselImage.js +1 -10
  45. package/dist/CarouselInput/CarouselInput.cjs +1 -1
  46. package/dist/CarouselInput/CarouselInput.js +23 -28
  47. package/dist/CarouselInput/CarouselSlide.js +13 -9
  48. package/dist/Checkbox/Checkbox.cjs +2 -2
  49. package/dist/Checkbox/Checkbox.js +15 -34
  50. package/dist/Combobox/Combobox.cjs +1 -1
  51. package/dist/Combobox/Combobox.js +144 -159
  52. package/dist/Combobox/ComboboxOption.cjs +1 -1
  53. package/dist/Combobox/ComboboxOption.js +18 -17
  54. package/dist/DatePicker/DatePicker.cjs +1 -1
  55. package/dist/DatePicker/DatePicker.js +47 -46
  56. package/dist/DatePicker/DatePickerCalendar.cjs +1 -1
  57. package/dist/DatePicker/DatePickerCalendar.js +30 -62
  58. package/dist/DatePicker/DatePickerTd.cjs +3 -3
  59. package/dist/DatePicker/DatePickerTd.js +8 -20
  60. package/dist/DatePicker/DatePickerTh.cjs +3 -3
  61. package/dist/DatePicker/DatePickerTh.js +10 -20
  62. package/dist/DatePicker/components.cjs +3 -3
  63. package/dist/DatePicker/components.js +6 -6
  64. package/dist/DateTimePicker/DateTimePicker.cjs +1 -1
  65. package/dist/DateTimePicker/DateTimePicker.js +70 -67
  66. package/dist/DateTimePicker/DateTimePickerProps.js +1 -3
  67. package/dist/Dialog/Dialog.cjs +5 -5
  68. package/dist/Dialog/Dialog.js +26 -37
  69. package/dist/Dialog/DialogBody.cjs +1 -1
  70. package/dist/Dialog/DialogBody.js +2 -11
  71. package/dist/Dialog/DialogFooter.cjs +3 -3
  72. package/dist/Dialog/DialogFooter.js +3 -8
  73. package/dist/DismissibleLayer/DismissibleLayer.js +1 -4
  74. package/dist/Divider/Divider.js +1 -5
  75. package/dist/EmptyStateLayout/EmptyStateLayout.cjs +1 -1
  76. package/dist/EmptyStateLayout/EmptyStateLayout.js +2 -16
  77. package/dist/EmptyStateLayout/story-assets/Illo.js +60 -45
  78. package/dist/Field/Field.cjs +1 -1
  79. package/dist/Field/Field.js +31 -28
  80. package/dist/Field/FieldAction.cjs +2 -8
  81. package/dist/Field/FieldAction.js +26 -19
  82. package/dist/Field/FieldContext.cjs +1 -1
  83. package/dist/Field/FieldContext.js +2 -2
  84. package/dist/Field/FieldError.cjs +1 -1
  85. package/dist/Field/FieldError.js +11 -7
  86. package/dist/Field/FieldHint.cjs +1 -1
  87. package/dist/Field/FieldHint.js +15 -10
  88. package/dist/Field/FieldInput.cjs +14 -16
  89. package/dist/Field/FieldInput.js +105 -81
  90. package/dist/Field/FieldLabel.cjs +3 -3
  91. package/dist/Field/FieldLabel.js +43 -38
  92. package/dist/FocusTrap/FocusTrap.cjs +1 -1
  93. package/dist/FocusTrap/FocusTrap.js +33 -41
  94. package/dist/Grid/Grid.cjs +3 -3
  95. package/dist/Grid/Grid.js +12 -15
  96. package/dist/Grid/GridItem.cjs +2 -2
  97. package/dist/Grid/GridItem.js +5 -13
  98. package/dist/IconButton/IconButton.cjs +7 -12
  99. package/dist/IconButton/IconButton.js +88 -84
  100. package/dist/JSONInput/JSONInput.cjs +1 -1
  101. package/dist/JSONInput/JSONInput.js +88 -79
  102. package/dist/JSONInput/JSONInputContainer.cjs +10 -10
  103. package/dist/JSONInput/JSONInputContainer.js +22 -15
  104. package/dist/Layout/ActionLayout.js +1 -13
  105. package/dist/Layout/ContentLayout.js +1 -4
  106. package/dist/Layout/HeaderLayout.cjs +2 -2
  107. package/dist/Layout/HeaderLayout.js +37 -66
  108. package/dist/Layout/Layout.js +1 -5
  109. package/dist/Layout/TwoColsLayout.js +1 -17
  110. package/dist/Link/Link.cjs +5 -5
  111. package/dist/Link/Link.js +55 -57
  112. package/dist/LinkButton/LinkButton.cjs +7 -24
  113. package/dist/LinkButton/LinkButton.js +60 -87
  114. package/dist/LiveRegions/LiveRegions.cjs +1 -1
  115. package/dist/LiveRegions/LiveRegions.js +1 -1
  116. package/dist/Loader/Loader.cjs +4 -4
  117. package/dist/Loader/Loader.js +26 -24
  118. package/dist/Main/Main.js +1 -6
  119. package/dist/Main/SkipToContent.cjs +2 -2
  120. package/dist/Main/SkipToContent.js +17 -13
  121. package/dist/MainNav/MainNav.cjs +2 -2
  122. package/dist/MainNav/MainNav.js +21 -20
  123. package/dist/MainNav/NavBrand.cjs +2 -2
  124. package/dist/MainNav/NavBrand.js +4 -38
  125. package/dist/MainNav/NavCondense.cjs +2 -2
  126. package/dist/MainNav/NavCondense.js +10 -18
  127. package/dist/MainNav/NavFooter.js +1 -3
  128. package/dist/MainNav/NavLink.cjs +4 -4
  129. package/dist/MainNav/NavLink.js +8 -34
  130. package/dist/MainNav/NavSection.cjs +1 -1
  131. package/dist/MainNav/NavSection.js +31 -44
  132. package/dist/MainNav/NavSections.cjs +2 -2
  133. package/dist/MainNav/NavSections.js +20 -21
  134. package/dist/MainNav/NavUser.cjs +2 -2
  135. package/dist/MainNav/NavUser.js +6 -27
  136. package/dist/ModalLayout/ModalBody.js +1 -4
  137. package/dist/ModalLayout/ModalFooter.cjs +1 -1
  138. package/dist/ModalLayout/ModalFooter.js +2 -10
  139. package/dist/ModalLayout/ModalHeader.cjs +2 -2
  140. package/dist/ModalLayout/ModalHeader.js +8 -20
  141. package/dist/ModalLayout/ModalLayout.cjs +3 -3
  142. package/dist/ModalLayout/ModalLayout.js +23 -31
  143. package/dist/NumberInput/NumberInput.cjs +2 -2
  144. package/dist/NumberInput/NumberInput.js +75 -80
  145. package/dist/Pagination/Pagination.cjs +2 -2
  146. package/dist/Pagination/Pagination.js +11 -16
  147. package/dist/Pagination/components.cjs +3 -3
  148. package/dist/Pagination/components.js +31 -38
  149. package/dist/Popover/Popover.cjs +1 -1
  150. package/dist/Popover/Popover.js +5 -5
  151. package/dist/Portal/Portal.cjs +1 -1
  152. package/dist/Portal/Portal.js +10 -12
  153. package/dist/ProgressBar/ProgressBar.js +17 -14
  154. package/dist/Radio/Radio.cjs +2 -2
  155. package/dist/Radio/Radio.js +4 -11
  156. package/dist/RawTable/RawCell.cjs +1 -1
  157. package/dist/RawTable/RawCell.js +57 -72
  158. package/dist/RawTable/RawTable.cjs +1 -1
  159. package/dist/RawTable/RawTable.js +45 -42
  160. package/dist/RawTable/RawTbody.cjs +1 -1
  161. package/dist/RawTable/RawTbody.js +14 -13
  162. package/dist/RawTable/RawThead.cjs +1 -1
  163. package/dist/RawTable/RawThead.js +13 -10
  164. package/dist/RawTable/RawTr.cjs +1 -1
  165. package/dist/RawTable/RawTr.js +19 -15
  166. package/dist/Searchbar/SearchForm.js +1 -4
  167. package/dist/Searchbar/Searchbar.cjs +3 -3
  168. package/dist/Searchbar/Searchbar.js +25 -28
  169. package/dist/Select/MultiSelectNested.js +2 -14
  170. package/dist/Select/OptGroup.cjs +1 -1
  171. package/dist/Select/OptGroup.js +14 -10
  172. package/dist/Select/Option.cjs +3 -3
  173. package/dist/Select/Option.js +31 -33
  174. package/dist/Select/Select.cjs +2 -2
  175. package/dist/Select/Select.js +98 -119
  176. package/dist/Select/SelectButton.cjs +1 -1
  177. package/dist/Select/SelectButton.js +14 -11
  178. package/dist/Select/SelectList.cjs +1 -1
  179. package/dist/Select/SelectList.js +24 -18
  180. package/dist/Select/SelectTags.cjs +3 -3
  181. package/dist/Select/SelectTags.js +17 -15
  182. package/dist/SimpleMenu/SimpleMenu.cjs +3 -3
  183. package/dist/SimpleMenu/SimpleMenu.js +43 -67
  184. package/dist/Status/Status.js +15 -13
  185. package/dist/SubNav/SubNav.cjs +2 -2
  186. package/dist/SubNav/SubNav.js +5 -9
  187. package/dist/SubNav/SubNavHeader.cjs +2 -2
  188. package/dist/SubNav/SubNavHeader.js +31 -53
  189. package/dist/SubNav/SubNavLink.cjs +3 -3
  190. package/dist/SubNav/SubNavLink.js +18 -22
  191. package/dist/SubNav/SubNavLinkSection.cjs +3 -3
  192. package/dist/SubNav/SubNavLinkSection.js +5 -30
  193. package/dist/SubNav/SubNavSection.cjs +2 -2
  194. package/dist/SubNav/SubNavSection.js +27 -34
  195. package/dist/SubNav/SubNavSectionLabel.cjs +2 -2
  196. package/dist/SubNav/SubNavSectionLabel.js +15 -24
  197. package/dist/SubNav/SubNavSections.cjs +1 -1
  198. package/dist/SubNav/SubNavSections.js +17 -16
  199. package/dist/Switch/Switch.cjs +2 -2
  200. package/dist/Switch/Switch.js +16 -17
  201. package/dist/Table/Cell.cjs +1 -1
  202. package/dist/Table/Cell.js +3 -8
  203. package/dist/Table/TFooter.cjs +2 -2
  204. package/dist/Table/TFooter.js +3 -17
  205. package/dist/Table/Table.cjs +1 -1
  206. package/dist/Table/Table.js +2 -18
  207. package/dist/Table/Tbody.js +1 -3
  208. package/dist/Table/Thead.js +1 -3
  209. package/dist/Table/Tr.js +1 -3
  210. package/dist/Tabs/TabGroup.cjs +1 -1
  211. package/dist/Tabs/TabGroup.js +30 -27
  212. package/dist/Tabs/TabPanels.js +2 -10
  213. package/dist/Tabs/Tabs.cjs +1 -1
  214. package/dist/Tabs/Tabs.js +43 -51
  215. package/dist/Tag/Tag.cjs +8 -8
  216. package/dist/Tag/Tag.js +52 -52
  217. package/dist/TextButton/TextButton.cjs +6 -6
  218. package/dist/TextButton/TextButton.js +15 -15
  219. package/dist/TextInput/TextInput.cjs +1 -1
  220. package/dist/TextInput/TextInput.js +13 -31
  221. package/dist/Textarea/Textarea.cjs +2 -2
  222. package/dist/Textarea/Textarea.js +12 -28
  223. package/dist/Textarea/TextareaInput.cjs +4 -4
  224. package/dist/Textarea/TextareaInput.js +22 -21
  225. package/dist/TimePicker/TimePicker.cjs +2 -2
  226. package/dist/TimePicker/TimePicker.js +26 -25
  227. package/dist/ToggleCheckbox/ToggleCheckbox.cjs +5 -5
  228. package/dist/ToggleCheckbox/ToggleCheckbox.js +86 -60
  229. package/dist/ToggleInput/ToggleInput.cjs +3 -3
  230. package/dist/ToggleInput/ToggleInput.js +28 -47
  231. package/dist/Tooltip/Tooltip.cjs +2 -2
  232. package/dist/Tooltip/Tooltip.js +62 -53
  233. package/dist/Tooltip/hooks/useTooltipHandlers.cjs +1 -1
  234. package/dist/Tooltip/hooks/useTooltipHandlers.js +7 -7
  235. package/dist/Tooltip/hooks/useTooltipLayout.cjs +1 -1
  236. package/dist/Tooltip/hooks/useTooltipLayout.js +8 -5
  237. package/dist/Typography/Typography.cjs +3 -2
  238. package/dist/Typography/Typography.js +17 -14
  239. package/dist/helpers/deprecations.cjs +1 -1
  240. package/dist/helpers/deprecations.js +7 -7
  241. package/dist/helpers/objects.cjs +1 -1
  242. package/dist/helpers/objects.js +1 -1
  243. package/dist/helpers/useElementOnScreen.cjs +1 -1
  244. package/dist/helpers/useElementOnScreen.js +4 -13
  245. package/dist/helpers/useId.cjs +1 -1
  246. package/dist/helpers/useId.js +4 -11
  247. package/dist/helpers/useIntersection.cjs +1 -1
  248. package/dist/helpers/useIntersection.js +4 -21
  249. package/dist/helpers/useLockScroll.cjs +1 -1
  250. package/dist/helpers/useLockScroll.js +4 -7
  251. package/dist/helpers/usePrevious.cjs +1 -1
  252. package/dist/helpers/usePrevious.js +4 -8
  253. package/dist/helpers/useResizeObserver.cjs +1 -1
  254. package/dist/helpers/useResizeObserver.js +4 -14
  255. package/dist/hooks/useElementOnScreen.cjs +1 -0
  256. package/dist/hooks/useElementOnScreen.js +15 -0
  257. package/dist/hooks/useId.cjs +1 -0
  258. package/dist/hooks/useId.js +13 -0
  259. package/dist/hooks/useIntersection.cjs +1 -1
  260. package/dist/hooks/useIntersection.js +3 -3
  261. package/dist/hooks/useLockScroll.cjs +1 -0
  262. package/dist/hooks/useLockScroll.js +9 -0
  263. package/dist/hooks/usePrevious.cjs +1 -0
  264. package/dist/hooks/usePrevious.js +10 -0
  265. package/dist/hooks/useResizeObserver.cjs +1 -0
  266. package/dist/hooks/useResizeObserver.js +16 -0
  267. package/dist/themes/extendTheme.cjs +1 -1
  268. package/dist/themes/extendTheme.js +4 -4
  269. package/dist/v2/Breadcrumbs/Breadcrumbs.cjs +2 -2
  270. package/dist/v2/Breadcrumbs/Breadcrumbs.js +4 -13
  271. package/dist/v2/Breadcrumbs/Crumb.js +11 -12
  272. package/dist/v2/Breadcrumbs/CrumbLink.js +1 -3
  273. package/dist/v2/Breadcrumbs/CrumbSimpleMenu.cjs +2 -2
  274. package/dist/v2/Breadcrumbs/CrumbSimpleMenu.js +5 -11
  275. package/dist/v2/Breadcrumbs/Divider.js +1 -8
  276. package/dist/v2/Link/Link.cjs +2 -2
  277. package/dist/v2/Link/Link.js +5 -24
  278. package/dist/v2/LinkButton/LinkButton.cjs +11 -24
  279. package/dist/v2/LinkButton/LinkButton.js +62 -84
  280. package/dist/v2/MainNav/MainNav.cjs +2 -2
  281. package/dist/v2/MainNav/MainNav.js +21 -20
  282. package/dist/v2/MainNav/NavBrand.cjs +2 -2
  283. package/dist/v2/MainNav/NavBrand.js +4 -38
  284. package/dist/v2/MainNav/NavCondense.cjs +2 -2
  285. package/dist/v2/MainNav/NavCondense.js +10 -18
  286. package/dist/v2/MainNav/NavFooter.js +1 -3
  287. package/dist/v2/MainNav/NavLink.cjs +4 -4
  288. package/dist/v2/MainNav/NavLink.js +10 -39
  289. package/dist/v2/MainNav/NavSection.cjs +1 -1
  290. package/dist/v2/MainNav/NavSection.js +31 -44
  291. package/dist/v2/MainNav/NavSections.cjs +2 -2
  292. package/dist/v2/MainNav/NavSections.js +20 -21
  293. package/dist/v2/MainNav/NavUser.cjs +2 -2
  294. package/dist/v2/MainNav/NavUser.js +6 -27
  295. package/dist/v2/Pagination/Pagination.cjs +2 -2
  296. package/dist/v2/Pagination/Pagination.js +11 -16
  297. package/dist/v2/Pagination/components.cjs +2 -2
  298. package/dist/v2/Pagination/components.js +11 -39
  299. package/dist/v2/SimpleMenu/SimpleMenu.cjs +4 -4
  300. package/dist/v2/SimpleMenu/SimpleMenu.js +42 -65
  301. package/dist/v2/SubNav/SubNav.cjs +2 -2
  302. package/dist/v2/SubNav/SubNav.js +5 -9
  303. package/dist/v2/SubNav/SubNavHeader.cjs +2 -2
  304. package/dist/v2/SubNav/SubNavHeader.js +31 -53
  305. package/dist/v2/SubNav/SubNavLink.cjs +2 -2
  306. package/dist/v2/SubNav/SubNavLink.js +18 -22
  307. package/dist/v2/SubNav/SubNavLinkSection.cjs +3 -3
  308. package/dist/v2/SubNav/SubNavLinkSection.js +5 -30
  309. package/dist/v2/SubNav/SubNavSection.cjs +2 -2
  310. package/dist/v2/SubNav/SubNavSection.js +29 -36
  311. package/dist/v2/SubNav/SubNavSectionLabel.cjs +2 -2
  312. package/dist/v2/SubNav/SubNavSectionLabel.js +15 -24
  313. package/dist/v2/SubNav/SubNavSections.cjs +1 -1
  314. package/dist/v2/SubNav/SubNavSections.js +17 -16
  315. package/package.json +8 -4
  316. package/dist/Select/SingleSelect.cjs +0 -82
  317. package/dist/Select/SingleSelect.js +0 -285
@@ -1,13 +1,13 @@
1
1
  import r, { useRef as m, Children as T, cloneElement as w } from "react";
2
+ import { ChevronLeft as k, ChevronRight as L } from "@strapi/icons";
2
3
  import e from "prop-types";
3
4
  import a from "styled-components";
4
- import { ChevronLeft as k, ChevronRight as L } from "@strapi/icons";
5
- import { Icon as f } from "../Icon/Icon.js";
6
5
  import { Box as i } from "../Box/Box.js";
7
- import { Typography as D } from "../Typography/Typography.js";
8
- import { Flex as K } from "../Flex/Flex.js";
9
- import { Tooltip as F } from "../Tooltip/Tooltip.js";
10
- import { KeyboardKeys as h } from "../helpers/keyboardKeys.js";
6
+ import { Flex as D } from "../Flex/Flex.js";
7
+ import { KeyboardKeys as f } from "../helpers/keyboardKeys.js";
8
+ import { Icon as h } from "../Icon/Icon.js";
9
+ import { Tooltip as K } from "../Tooltip/Tooltip.js";
10
+ import { Typography as F } from "../Typography/Typography.js";
11
11
  const G = a(i)`
12
12
  display: grid;
13
13
  grid-template-columns: auto 1fr auto;
@@ -37,72 +37,27 @@ const G = a(i)`
37
37
  (o, A) => w(o, { selected: A === C })
38
38
  ), q = (o) => {
39
39
  switch (o.key) {
40
- case h.RIGHT: {
40
+ case f.RIGHT: {
41
41
  o.preventDefault(), c.current.focus(), l();
42
42
  break;
43
43
  }
44
- case h.LEFT: {
44
+ case f.LEFT: {
45
45
  o.preventDefault(), d.current.focus(), s();
46
46
  break;
47
47
  }
48
48
  }
49
49
  }, p = u.length > 1;
50
- return /* @__PURE__ */ r.createElement(i, {
51
- ...x,
52
- onKeyDown: q
53
- }, /* @__PURE__ */ r.createElement(i, {
54
- padding: 2,
55
- borderColor: "neutral200",
56
- hasRadius: !0,
57
- background: "neutral100"
58
- }, /* @__PURE__ */ r.createElement(G, {
59
- as: "section",
60
- "aria-roledescription": "carousel",
61
- "aria-label": v,
62
- position: "relative"
63
- }, p && /* @__PURE__ */ r.createElement(g, {
64
- onClick: s,
65
- area: "startAction",
66
- ref: d,
67
- "aria-label": E,
68
- type: "button"
69
- }, /* @__PURE__ */ r.createElement(f, {
70
- as: k,
71
- "aria-hidden": !0,
72
- width: "6px",
73
- height: "10px",
74
- color: "neutral600"
75
- })), p && /* @__PURE__ */ r.createElement(g, {
76
- onClick: l,
77
- area: "endAction",
78
- ref: c,
79
- "aria-label": R,
80
- type: "button"
81
- }, /* @__PURE__ */ r.createElement(f, {
82
- as: L,
83
- "aria-hidden": !0,
84
- width: "6px",
85
- height: "10px",
86
- color: "neutral600"
87
- })), /* @__PURE__ */ r.createElement(I, {
88
- "aria-live": "polite",
89
- paddingLeft: 2,
90
- paddingRight: 2,
91
- width: "100%",
92
- overflow: "hidden"
93
- }, u), t), n && /* @__PURE__ */ r.createElement(i, {
94
- paddingTop: 2,
95
- paddingLeft: 4,
96
- paddingRight: 4
97
- }, /* @__PURE__ */ r.createElement(F, {
98
- label: n
99
- }, /* @__PURE__ */ r.createElement(K, {
100
- justifyContent: "center"
101
- }, /* @__PURE__ */ r.createElement(D, {
102
- variant: "pi",
103
- textColor: "neutral600",
104
- ellipsis: !0
105
- }, n))))));
50
+ return /* @__PURE__ */ r.createElement(i, { ...x, onKeyDown: q }, /* @__PURE__ */ r.createElement(i, { padding: 2, borderColor: "neutral200", hasRadius: !0, background: "neutral100" }, /* @__PURE__ */ r.createElement(G, { as: "section", "aria-roledescription": "carousel", "aria-label": v, position: "relative" }, p && /* @__PURE__ */ r.createElement(
51
+ g,
52
+ {
53
+ onClick: s,
54
+ area: "startAction",
55
+ ref: d,
56
+ "aria-label": E,
57
+ type: "button"
58
+ },
59
+ /* @__PURE__ */ r.createElement(h, { as: k, "aria-hidden": !0, width: "6px", height: "10px", color: "neutral600" })
60
+ ), p && /* @__PURE__ */ r.createElement(g, { onClick: l, area: "endAction", ref: c, "aria-label": R, type: "button" }, /* @__PURE__ */ r.createElement(h, { as: L, "aria-hidden": !0, width: "6px", height: "10px", color: "neutral600" })), /* @__PURE__ */ r.createElement(I, { "aria-live": "polite", paddingLeft: 2, paddingRight: 2, width: "100%", overflow: "hidden" }, u), t), n && /* @__PURE__ */ r.createElement(i, { paddingTop: 2, paddingLeft: 4, paddingRight: 4 }, /* @__PURE__ */ r.createElement(K, { label: n }, /* @__PURE__ */ r.createElement(D, { justifyContent: "center" }, /* @__PURE__ */ r.createElement(F, { variant: "pi", textColor: "neutral600", ellipsis: !0 }, n))))));
106
61
  };
107
62
  y.defaultProps = {
108
63
  actions: void 0,
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react"),o=require("../Stack/Stack.cjs"),a=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},c=a(e),n=t=>c.default.createElement(o.Stack,{justifyContent:"center",horizontal:!0,spacing:1,position:"absolute",width:"100%",bottom:1,...t});exports.CarouselActions=n;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("react"),l=require("../Flex/Flex.cjs"),n=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},r=n(c),s=({horizontal:e=!0,spacing:t=1,...o})=>r.default.createElement(l.Flex,{justifyContent:"center",gap:t,direction:e?"row":"column",alignItems:e?"center":"stretch",position:"absolute",width:"100%",bottom:1,...o});exports.CarouselActions=s;
@@ -1,14 +1,18 @@
1
- import o from "react";
2
- import { Stack as e } from "../Stack/Stack.js";
3
- const n = (t) => /* @__PURE__ */ o.createElement(e, {
4
- justifyContent: "center",
5
- horizontal: !0,
6
- spacing: 1,
7
- position: "absolute",
8
- width: "100%",
9
- bottom: 1,
10
- ...t
11
- });
1
+ import r from "react";
2
+ import { Flex as n } from "../Flex/Flex.js";
3
+ const m = ({ horizontal: t = !0, spacing: e = 1, ...o }) => /* @__PURE__ */ r.createElement(
4
+ n,
5
+ {
6
+ justifyContent: "center",
7
+ gap: e,
8
+ direction: t ? "row" : "column",
9
+ alignItems: t ? "center" : "stretch",
10
+ position: "absolute",
11
+ width: "100%",
12
+ bottom: 1,
13
+ ...o
14
+ }
15
+ );
12
16
  export {
13
- n as CarouselActions
17
+ m as CarouselActions
14
18
  };
@@ -11,16 +11,7 @@ const o = n(p)`
11
11
  const [i, m] = a(!1), l = () => {
12
12
  m(!0);
13
13
  };
14
- return i ? /* @__PURE__ */ e.createElement(c, {
15
- description: r.alt ?? ""
16
- }, /* @__PURE__ */ e.createElement(o, {
17
- as: "img",
18
- ...r
19
- })) : /* @__PURE__ */ e.createElement(o, {
20
- as: "img",
21
- ...r,
22
- onError: l
23
- });
14
+ return i ? /* @__PURE__ */ e.createElement(c, { description: r.alt ?? "" }, /* @__PURE__ */ e.createElement(o, { as: "img", ...r })) : /* @__PURE__ */ e.createElement(o, { as: "img", ...r, onError: l });
24
15
  };
25
16
  s.defaultProps = {
26
17
  src: void 0,
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const v=require("react"),m=require("prop-types"),E=require("./Carousel.cjs"),R=require("../Field/Field.cjs"),L=require("../Field/FieldLabel.cjs");require("../Field/FieldInput.cjs");const I=require("../Field/FieldHint.cjs"),S=require("../Field/FieldError.cjs");require("../Field/FieldContext.cjs");require("../Field/FieldAction.cjs");const _=require("../Stack/Stack.cjs"),C=require("../helpers/useId.cjs"),u=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},r=u(v),e=u(m),l=({actions:t,children:a,error:n,hint:s,label:i,labelAction:o,nextLabel:c,onNext:f,onPrevious:F,previousLabel:p,required:q,secondaryLabel:b,selectedSlide:g,id:j,...y})=>{const d=C.useId(j);return r.default.createElement(R.Field,{hint:s,error:n,id:d,required:q},r.default.createElement(_.Stack,{spacing:1},i&&r.default.createElement(L.FieldLabel,{action:o},i),r.default.createElement(E.Carousel,{actions:t,label:i,nextLabel:c,onNext:f,onPrevious:F,previousLabel:p,secondaryLabel:b,selectedSlide:g,id:d,...y},a),r.default.createElement(I.FieldHint,null),r.default.createElement(S.FieldError,null)))};l.defaultProps={actions:void 0,error:void 0,hint:void 0,id:void 0,labelAction:void 0,required:!1,secondaryLabel:void 0};l.propTypes={actions:e.default.node,children:e.default.node.isRequired,error:e.default.string,hint:e.default.oneOfType([e.default.string,e.default.node,e.default.arrayOf(e.default.node)]),id:e.default.string,label:e.default.string.isRequired,labelAction:e.default.element,nextLabel:e.default.string.isRequired,onNext:e.default.func.isRequired,onPrevious:e.default.func.isRequired,previousLabel:e.default.string.isRequired,required:e.default.bool,secondaryLabel:e.default.string,selectedSlide:e.default.number.isRequired};exports.CarouselInput=l;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const y=require("react"),v=require("prop-types"),E=require("./Carousel.cjs"),R=require("../Field/Field.cjs"),I=require("../Field/FieldLabel.cjs");require("../Field/FieldInput.cjs");const L=require("../Field/FieldHint.cjs"),x=require("../Field/FieldError.cjs");require("../Field/FieldContext.cjs");require("../Field/FieldAction.cjs");const _=require("../Flex/Flex.cjs"),C=require("../hooks/useId.cjs"),u=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},l=u(y),e=u(v),i=({actions:t,children:n,error:a,hint:o,label:r,labelAction:s,nextLabel:c,onNext:f,onPrevious:F,previousLabel:q,required:p,secondaryLabel:b,selectedSlide:g,id:j,...m})=>{const d=C.useId(j);return l.default.createElement(R.Field,{hint:o,error:a,id:d,required:p},l.default.createElement(_.Flex,{direction:"column",alignItems:"stretch",gap:1},r&&l.default.createElement(I.FieldLabel,{action:s},r),l.default.createElement(E.Carousel,{actions:t,label:r,nextLabel:c,onNext:f,onPrevious:F,previousLabel:q,secondaryLabel:b,selectedSlide:g,id:d,...m},n),l.default.createElement(L.FieldHint,null),l.default.createElement(x.FieldError,null)))};i.defaultProps={actions:void 0,error:void 0,hint:void 0,id:void 0,labelAction:void 0,required:!1,secondaryLabel:void 0};i.propTypes={actions:e.default.node,children:e.default.node.isRequired,error:e.default.string,hint:e.default.oneOfType([e.default.string,e.default.node,e.default.arrayOf(e.default.node)]),id:e.default.string,label:e.default.string.isRequired,labelAction:e.default.element,nextLabel:e.default.string.isRequired,onNext:e.default.func.isRequired,onPrevious:e.default.func.isRequired,previousLabel:e.default.string.isRequired,required:e.default.bool,secondaryLabel:e.default.string,selectedSlide:e.default.number.isRequired};exports.CarouselInput=i;
@@ -4,12 +4,12 @@ import { Carousel as R } from "./Carousel.js";
4
4
  import { Field as E } from "../Field/Field.js";
5
5
  import { FieldLabel as y } from "../Field/FieldLabel.js";
6
6
  import "../Field/FieldInput.js";
7
- import { FieldHint as L } from "../Field/FieldHint.js";
8
- import { FieldError as F } from "../Field/FieldError.js";
7
+ import { FieldHint as F } from "../Field/FieldHint.js";
8
+ import { FieldError as L } from "../Field/FieldError.js";
9
9
  import "../Field/FieldContext.js";
10
10
  import "../Field/FieldAction.js";
11
- import { Stack as h } from "../Stack/Stack.js";
12
- import { useId as x } from "../helpers/useId.js";
11
+ import { Flex as h } from "../Flex/Flex.js";
12
+ import { useId as x } from "../hooks/useId.js";
13
13
  const t = ({
14
14
  actions: n,
15
15
  children: d,
@@ -18,9 +18,9 @@ const t = ({
18
18
  label: i,
19
19
  labelAction: m,
20
20
  nextLabel: a,
21
- onNext: p,
22
- onPrevious: u,
23
- previousLabel: c,
21
+ onNext: u,
22
+ onPrevious: c,
23
+ previousLabel: p,
24
24
  required: f,
25
25
  secondaryLabel: g,
26
26
  selectedSlide: q,
@@ -28,27 +28,22 @@ const t = ({
28
28
  ...v
29
29
  }) => {
30
30
  const o = x(b);
31
- return /* @__PURE__ */ r.createElement(E, {
32
- hint: s,
33
- error: l,
34
- id: o,
35
- required: f
36
- }, /* @__PURE__ */ r.createElement(h, {
37
- spacing: 1
38
- }, i && /* @__PURE__ */ r.createElement(y, {
39
- action: m
40
- }, i), /* @__PURE__ */ r.createElement(R, {
41
- actions: n,
42
- label: i,
43
- nextLabel: a,
44
- onNext: p,
45
- onPrevious: u,
46
- previousLabel: c,
47
- secondaryLabel: g,
48
- selectedSlide: q,
49
- id: o,
50
- ...v
51
- }, d), /* @__PURE__ */ r.createElement(L, null), /* @__PURE__ */ r.createElement(F, null)));
31
+ return /* @__PURE__ */ r.createElement(E, { hint: s, error: l, id: o, required: f }, /* @__PURE__ */ r.createElement(h, { direction: "column", alignItems: "stretch", gap: 1 }, i && /* @__PURE__ */ r.createElement(y, { action: m }, i), /* @__PURE__ */ r.createElement(
32
+ R,
33
+ {
34
+ actions: n,
35
+ label: i,
36
+ nextLabel: a,
37
+ onNext: u,
38
+ onPrevious: c,
39
+ previousLabel: p,
40
+ secondaryLabel: g,
41
+ selectedSlide: q,
42
+ id: o,
43
+ ...v
44
+ },
45
+ d
46
+ ), /* @__PURE__ */ r.createElement(F, null), /* @__PURE__ */ r.createElement(L, null)));
52
47
  };
53
48
  t.defaultProps = {
54
49
  actions: void 0,
@@ -4,15 +4,19 @@ import p from "styled-components";
4
4
  import { Flex as a } from "../Flex/Flex.js";
5
5
  const d = p(a)`
6
6
  display: ${({ selected: e }) => e ? "flex" : "none"};
7
- `, o = ({ label: e, children: l, selected: t, ...i }) => /* @__PURE__ */ s.createElement(d, {
8
- selected: t,
9
- role: "group",
10
- "aria-roledescription": "slide",
11
- "aria-label": e,
12
- justifyContent: "center",
13
- height: "124px",
14
- ...i
15
- }, l);
7
+ `, o = ({ label: e, children: l, selected: t, ...i }) => /* @__PURE__ */ s.createElement(
8
+ d,
9
+ {
10
+ selected: t,
11
+ role: "group",
12
+ "aria-roledescription": "slide",
13
+ "aria-label": e,
14
+ justifyContent: "center",
15
+ height: "124px",
16
+ ...i
17
+ },
18
+ l
19
+ );
16
20
  o.defaultProps = {
17
21
  selected: !1
18
22
  };
@@ -1,7 +1,7 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("react"),p=require("styled-components"),y=require("prop-types"),F=require("../BaseCheckbox/BaseCheckbox.cjs"),b=require("../Stack/Stack.cjs"),x=require("../Field/Field.cjs");require("../Field/FieldLabel.cjs");require("../Field/FieldInput.cjs");const h=require("../Field/FieldHint.cjs"),q=require("../Field/FieldError.cjs"),g=require("../Field/FieldContext.cjs");require("../Field/FieldAction.cjs");const j=require("../Box/Box.cjs"),k=require("../helpers/useId.cjs"),m=require("../Typography/Typography.cjs"),o=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},r=o(f),C=o(p),t=o(y),E=C.default(m.Typography)`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("react"),p=require("prop-types"),F=require("styled-components"),y=require("../BaseCheckbox/BaseCheckbox.cjs"),x=require("../Box/Box.cjs"),b=require("../Field/Field.cjs");require("../Field/FieldLabel.cjs");require("../Field/FieldInput.cjs");const h=require("../Field/FieldHint.cjs"),q=require("../Field/FieldError.cjs"),g=require("../Field/FieldContext.cjs");require("../Field/FieldAction.cjs");const j=require("../Flex/Flex.cjs"),m=require("../hooks/useId.cjs"),C=require("../Typography/Typography.cjs"),i=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},r=i(f),t=i(p),E=i(F),T=E.default(C.Typography)`
2
2
  display: flex;
3
3
  align-items: flex-start;
4
4
  * {
5
5
  cursor: ${({disabled:e})=>e?"not-allowed":"pointer"};
6
6
  }
7
- `,T=e=>{const{id:l}=g.useField();return r.default.createElement(F.BaseCheckbox,{id:l,...e})},a=({children:e,disabled:l,id:n,hint:s,error:c,...u})=>{const d=k.useId(n);let i;return c?i=`${d}-error`:s&&(i=`${d}-hint`),r.default.createElement(x.Field,{id:d,hint:s,error:c},r.default.createElement(b.Stack,{spacing:1},r.default.createElement(E,{as:"label",textColor:"neutral800",disabled:l},r.default.createElement(T,{disabled:l,"aria-describedby":i,...u}),r.default.createElement(j.Box,{paddingLeft:2},e)),r.default.createElement(h.FieldHint,null),r.default.createElement(q.FieldError,null)))};a.defaultProps={disabled:!1,id:void 0,error:void 0,hint:void 0};a.propTypes={children:t.default.node.isRequired,disabled:t.default.bool,error:t.default.string,hint:t.default.oneOfType([t.default.string,t.default.node,t.default.arrayOf(t.default.node)]),id:t.default.oneOfType([t.default.string,t.default.number])};exports.Checkbox=a;
7
+ `,k=e=>{const{id:l}=g.useField();return r.default.createElement(y.BaseCheckbox,{id:l,...e})},a=({children:e,disabled:l,id:c,hint:s,error:n,...u})=>{const o=m.useId(c);let d;return n?d=`${o}-error`:s&&(d=`${o}-hint`),r.default.createElement(b.Field,{id:o,hint:s,error:n},r.default.createElement(j.Flex,{direction:"column",alignItems:"stretch",gap:1},r.default.createElement(T,{as:"label",textColor:"neutral800",disabled:l},r.default.createElement(k,{disabled:l,"aria-describedby":d,...u}),r.default.createElement(x.Box,{paddingLeft:2},e)),r.default.createElement(h.FieldHint,null),r.default.createElement(q.FieldError,null)))};a.defaultProps={disabled:!1,id:void 0,error:void 0,hint:void 0};a.propTypes={children:t.default.node.isRequired,disabled:t.default.bool,error:t.default.string,hint:t.default.oneOfType([t.default.string,t.default.node,t.default.arrayOf(t.default.node)]),id:t.default.oneOfType([t.default.string,t.default.number])};exports.Checkbox=a;
@@ -1,50 +1,31 @@
1
1
  import r from "react";
2
- import s from "styled-components";
3
2
  import e from "prop-types";
3
+ import s from "styled-components";
4
4
  import { BaseCheckbox as c } from "../BaseCheckbox/BaseCheckbox.js";
5
- import { Stack as f } from "../Stack/Stack.js";
5
+ import { Box as f } from "../Box/Box.js";
6
6
  import { Field as u } from "../Field/Field.js";
7
7
  import "../Field/FieldLabel.js";
8
8
  import "../Field/FieldInput.js";
9
9
  import { FieldHint as b } from "../Field/FieldHint.js";
10
- import { FieldError as y } from "../Field/FieldError.js";
11
- import { useField as x } from "../Field/FieldContext.js";
10
+ import { FieldError as x } from "../Field/FieldError.js";
11
+ import { useField as y } from "../Field/FieldContext.js";
12
12
  import "../Field/FieldAction.js";
13
- import { Box as E } from "../Box/Box.js";
14
- import { useId as g } from "../helpers/useId.js";
15
- import { Typography as h } from "../Typography/Typography.js";
16
- const k = s(h)`
13
+ import { Flex as g } from "../Flex/Flex.js";
14
+ import { useId as h } from "../hooks/useId.js";
15
+ import { Typography as E } from "../Typography/Typography.js";
16
+ const T = s(E)`
17
17
  display: flex;
18
18
  align-items: flex-start;
19
19
  * {
20
- cursor: ${({ disabled: o }) => o ? "not-allowed" : "pointer"};
20
+ cursor: ${({ disabled: t }) => t ? "not-allowed" : "pointer"};
21
21
  }
22
- `, T = (o) => {
23
- const { id: t } = x();
24
- return /* @__PURE__ */ r.createElement(c, {
25
- id: t,
26
- ...o
27
- });
28
- }, a = ({ children: o, disabled: t, id: p, hint: m, error: l, ...d }) => {
29
- const i = g(p);
22
+ `, k = (t) => {
23
+ const { id: o } = y();
24
+ return /* @__PURE__ */ r.createElement(c, { id: o, ...t });
25
+ }, a = ({ children: t, disabled: o, id: d, hint: l, error: m, ...p }) => {
26
+ const i = h(d);
30
27
  let n;
31
- return l ? n = `${i}-error` : m && (n = `${i}-hint`), /* @__PURE__ */ r.createElement(u, {
32
- id: i,
33
- hint: m,
34
- error: l
35
- }, /* @__PURE__ */ r.createElement(f, {
36
- spacing: 1
37
- }, /* @__PURE__ */ r.createElement(k, {
38
- as: "label",
39
- textColor: "neutral800",
40
- disabled: t
41
- }, /* @__PURE__ */ r.createElement(T, {
42
- disabled: t,
43
- "aria-describedby": n,
44
- ...d
45
- }), /* @__PURE__ */ r.createElement(E, {
46
- paddingLeft: 2
47
- }, o)), /* @__PURE__ */ r.createElement(b, null), /* @__PURE__ */ r.createElement(y, null)));
28
+ return m ? n = `${i}-error` : l && (n = `${i}-hint`), /* @__PURE__ */ r.createElement(u, { id: i, hint: l, error: m }, /* @__PURE__ */ r.createElement(g, { direction: "column", alignItems: "stretch", gap: 1 }, /* @__PURE__ */ r.createElement(T, { as: "label", textColor: "neutral800", disabled: o }, /* @__PURE__ */ r.createElement(k, { disabled: o, "aria-describedby": n, ...p }), /* @__PURE__ */ r.createElement(f, { paddingLeft: 2 }, t)), /* @__PURE__ */ r.createElement(b, null), /* @__PURE__ */ r.createElement(x, null)));
48
29
  };
49
30
  a.defaultProps = {
50
31
  disabled: !1,
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react"),he=require("prop-types"),H=require("@strapi/icons"),ve=require("../helpers/useId.cjs"),l=require("./utils.cjs"),_=require("../Flex/Flex.cjs"),N=require("../Select/components.cjs"),Ee=require("../Popover/Popover.cjs"),Fe=require("../Box/Box.cjs"),U=require("../Typography/Typography.cjs"),Ie=require("../Loader/Loader.cjs"),q=require("./components.cjs"),ke=require("./ComboboxOption.cjs"),qe=require("../Field/Field.cjs"),Me=require("../Field/FieldLabel.cjs");require("../Field/FieldInput.cjs");const Oe=require("../Field/FieldHint.cjs"),je=require("../Field/FieldError.cjs");require("../Field/FieldContext.cjs");require("../Field/FieldAction.cjs");const Se=require("../Stack/Stack.cjs"),Le=require("../helpers/keyboardKeys.cjs"),Re=require("../VisuallyHidden/VisuallyHidden.cjs"),z=r=>r&&typeof r=="object"&&"default"in r?r:{default:r},o=z(a),e=z(he),C=({children:r,clearLabel:W,creatable:x,createMessage:G,disabled:d,error:F,hasMoreItems:J,hint:M,id:Q,label:h,labelAction:X,loading:O,loadingMessage:Y,noOptionsMessage:Z,onChange:R,onClear:A,onCreateOption:ee,onInputChange:T,onLoadMore:te,placeholder:oe,required:$,value:p,...ne})=>{const ae=()=>r.find(t=>t.props?.value.toLowerCase()===p.toLowerCase()).props?.children,[c,w]=a.useState(0),[re,le]=a.useState(null),[u,B]=a.useState(r),[m,se]=a.useState(!1),[s,I]=a.useState(""),v=a.useRef(),k=a.useRef(!1),E=a.useRef(),D=a.useRef(),ie=a.useRef(),P=a.useRef(!0),i=ve.useId(Q),ce=`${i}-label`;if(!h&&!ne["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&&v.current&&l.maintainScrollVisibility(v.current)},[c,m]),a.useLayoutEffect(()=>{P.current&&(P.current=!1)},[p]);const ue=m?`${i}-${c}`:"",V=()=>{R(null),I("")},de=t=>{T&&T(t);const n=E.current.value;B(l.filterOptions(r,n)),w(0),le(null),s!==n&&I(n),m||b(!0,!1)},fe=t=>{const{key:n}=t,f=x&&s?u.length:u.length-1,y=l.getActionFromKey(n,m);switch(p&&!s&&n===Le.KeyboardKeys.BACKSPACE&&V(),y){case l.MenuActions.Next:{if(c===f){g(0);break}g(l.getUpdatedIndex(c,f,y));break}case l.MenuActions.Previous:{if(c===0){g(f);break}g(l.getUpdatedIndex(c,f,y));break}case l.MenuActions.Last:case l.MenuActions.First:{if(c===f){g(0);break}g(l.getUpdatedIndex(c,f,y));break}case l.MenuActions.CloseSelect:t.preventDefault(),j(c);break;case l.MenuActions.Close:t.preventDefault(),b(!1);break;case l.MenuActions.Open:b(!0);break}},pe=t=>{if(t.preventDefault(),p&&!k.current&&I(""),k.current){k.current=!1;return}b(!1,!1)},g=t=>{w(t)},be=t=>{g(t),j(t)},K=()=>{k.current=!0},j=t=>{const n=u[t];if(I(""),n){R(n.props.value),b(!1);return}x&&(ee(s),b(!1))},b=(t,n=!0)=>{se(t),n&&E.current.focus()},me=a.Children.toArray(u).map((t,n)=>{const f=c===n;return a.cloneElement(t,{id:`${i}-${n}`,"aria-selected":re===n,"aria-posinset":n+1,"aria-setsize":a.Children.toArray(u).length,ref(y){f&&(v.current=y)},onClick:()=>be(n),onMouseDown:K,isSelected:f})}),ge=()=>{E.current.focus(),A&&A(),V()},ye=()=>{E.current.focus(),b(!0)},Ce=()=>{const t=u.findIndex(n=>n.props?.children===s);return s&&t===-1},xe=t=>{t.preventDefault(),b(t,!0)};let S;return F?S=`${i}-error`:M&&(S=`${i}-hint`),o.default.createElement(qe.Field,{hint:M,error:F,id:i,required:$},o.default.createElement(Re.VisuallyHidden,{"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text"},p),o.default.createElement(Se.Stack,{spacing:h||M||F?1:0},h&&o.default.createElement(Me.FieldLabel,{action:X},h),o.default.createElement(q.MainRow,{ref:D,$disabled:d,hasError:F},o.default.createElement(q.InputContainer,{wrap:"wrap"},!s&&p&&o.default.createElement(q.ValueContainer,{id:`${i}-selected-value`},o.default.createElement(U.Typography,null,ae())),o.default.createElement(q.Input,{"aria-activedescendant":ue,"aria-autocomplete":"list","aria-controls":`${i}-listbox`,"aria-disabled":d,"aria-expanded":m,"aria-haspopup":"listbox","aria-describedby":S,autoComplete:"off",autoCorrect:"off",id:i,onBlur:d?void 0:pe,onClick:d?void 0:xe,onInput:d?void 0:de,onKeyDown:d?void 0:fe,placeholder:p?"":oe,readOnly:d,ref:E,required:$,role:"combobox",spellCheck:"off",type:"text",value:s})),o.default.createElement(_.Flex,null,(p||s)&&o.default.createElement(N.IconBox,{id:`${i}-clear`,"aria-label":W,disabled:d,paddingLeft:3,as:"button",onClick:ge,type:"button"},o.default.createElement(H.Cross,null)),o.default.createElement(N.CaretBox,{disabled:d,paddingLeft:3,"aria-hidden":!0,as:"button",onClick:ye,tabIndex:-1,type:"button"},o.default.createElement(H.CarretDown,null)))),o.default.createElement(Oe.FieldHint,null),o.default.createElement(je.FieldError,null)),m&&o.default.createElement(Ee.Popover,{id:`${i}-popover`,source:D,spacing:4,fullWidth:!0,intersectionId:`${i}-listbox-popover-intersection`,onReachEnd:J&&!O?te:void 0},o.default.createElement("div",{role:"listbox",ref:ie,id:`${i}-listbox`,"aria-labelledby":h?ce:void 0},(Boolean(u.length)||x)&&o.default.createElement(o.default.Fragment,null,me,Ce()&&x&&o.default.createElement(ke.ComboboxOption,{isSelected:c===u.length,ref:t=>{c===u.length&&(v.current=t)},onMouseDown:K,onClick:()=>j(),taindex:0},G(s))),!u.length&&!x&&!O&&o.default.createElement(Fe.Box,{paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2,ref:v},o.default.createElement(U.Typography,{textColor:"neutral800"},Z(s))),O&&o.default.createElement(_.Flex,{justifyContent:"center",alignItems:"center",paddingTop:2,paddingBottom:2},o.default.createElement(Ie.Loader,{small:!0},Y)))))},L=r=>o.default.createElement(C,{...r,creatable:!0});C.defaultProps={"aria-label":void 0,clearLabel:"clear",creatable:!1,createMessage:r=>`Create "${r}"`,disabled:!1,error:void 0,hasMoreItems:!1,hint:void 0,id: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=C.defaultProps;C.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,id:e.default.string,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={...C.propTypes,onCreateOption:e.default.func.isRequired};exports.Combobox=C;exports.CreatableCombobox=L;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react"),_=require("@strapi/icons"),he=require("prop-types"),ve=require("./ComboboxOption.cjs"),O=require("./components.cjs"),l=require("./utils.cjs"),Ee=require("../Box/Box.cjs"),Fe=require("../Field/Field.cjs"),Ie=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 R=require("../Flex/Flex.cjs"),qe=require("../helpers/keyboardKeys.cjs"),je=require("../hooks/useId.cjs"),ke=require("../Loader/Loader.cjs"),Le=require("../Popover/Popover.cjs"),N=require("../Select/components.cjs"),U=require("../Typography/Typography.cjs"),Re=require("../VisuallyHidden/VisuallyHidden.cjs"),z=r=>r&&typeof r=="object"&&"default"in r?r:{default:r},o=z(a),e=z(he),C=({children:r,clearLabel:W,creatable:x,createMessage:G,disabled:d,error:F,hasMoreItems:J,hint:q,id:Q,label:h,labelAction:X,loading:j,loadingMessage:Y,noOptionsMessage:Z,onChange:A,onClear:T,onCreateOption:ee,onInputChange:$,onLoadMore:te,placeholder:oe,required:w,value:p,...ne})=>{const ae=()=>r.find(t=>t.props?.value.toLowerCase()===p.toLowerCase()).props?.children,[c,B]=a.useState(0),[re,le]=a.useState(null),[u,D]=a.useState(r),[m,ie]=a.useState(!1),[i,I]=a.useState(""),v=a.useRef(),M=a.useRef(!1),E=a.useRef(),P=a.useRef(),se=a.useRef(),V=a.useRef(!0),s=je.useId(Q),ce=`${s}-label`;if(!h&&!ne["aria-label"])throw new Error('The Combobox component needs a "label" or an "aria-label" props');a.useEffect(()=>{D(l.filterOptions(r,i))},[i,r]),a.useEffect(()=>{m&&v.current&&l.maintainScrollVisibility(v.current)},[c,m]),a.useLayoutEffect(()=>{V.current&&(V.current=!1)},[p]);const ue=m?`${s}-${c}`:"",K=()=>{A(null),I("")},de=t=>{$&&$(t);const n=E.current.value;D(l.filterOptions(r,n)),B(0),le(null),i!==n&&I(n),m||b(!0,!1)},fe=t=>{const{key:n}=t,f=x&&i?u.length:u.length-1,y=l.getActionFromKey(n,m);switch(p&&!i&&n===qe.KeyboardKeys.BACKSPACE&&K(),y){case l.MenuActions.Next:{if(c===f){g(0);break}g(l.getUpdatedIndex(c,f,y));break}case l.MenuActions.Previous:{if(c===0){g(f);break}g(l.getUpdatedIndex(c,f,y));break}case l.MenuActions.Last:case l.MenuActions.First:{if(c===f){g(0);break}g(l.getUpdatedIndex(c,f,y));break}case l.MenuActions.CloseSelect:t.preventDefault(),k(c);break;case l.MenuActions.Close:t.preventDefault(),b(!1);break;case l.MenuActions.Open:b(!0);break}},pe=t=>{if(t.preventDefault(),p&&!M.current&&I(""),M.current){M.current=!1;return}b(!1,!1)},g=t=>{B(t)},be=t=>{g(t),k(t)},H=()=>{M.current=!0},k=t=>{const n=u[t];if(I(""),n){A(n.props.value),b(!1);return}x&&(ee(i),b(!1))},b=(t,n=!0)=>{ie(t),n&&E.current.focus()},me=a.Children.toArray(u).map((t,n)=>{const f=c===n;return a.cloneElement(t,{id:`${s}-${n}`,"aria-selected":re===n,"aria-posinset":n+1,"aria-setsize":a.Children.toArray(u).length,ref(y){f&&(v.current=y)},onClick:()=>be(n),onMouseDown:H,isSelected:f})}),ge=()=>{E.current.focus(),T&&T(),K()},ye=()=>{E.current.focus(),b(!0)},Ce=()=>{const t=u.findIndex(n=>n.props?.children===i);return i&&t===-1},xe=t=>{t.preventDefault(),b(t,!0)};let L;return F?L=`${s}-error`:q&&(L=`${s}-hint`),o.default.createElement(Fe.Field,{hint:q,error:F,id:s,required:w},o.default.createElement(Re.VisuallyHidden,{"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text"},p),o.default.createElement(R.Flex,{direction:"column",alignItems:"stretch",gap:h||q||F?1:0},h&&o.default.createElement(Ie.FieldLabel,{action:X},h),o.default.createElement(O.MainRow,{ref:P,$disabled:d,hasError:F},o.default.createElement(O.InputContainer,{wrap:"wrap"},!i&&p&&o.default.createElement(O.ValueContainer,{id:`${s}-selected-value`},o.default.createElement(U.Typography,null,ae())),o.default.createElement(O.Input,{"aria-activedescendant":ue,"aria-autocomplete":"list","aria-controls":`${s}-listbox`,"aria-disabled":d,"aria-expanded":m,"aria-haspopup":"listbox","aria-describedby":L,autoComplete:"off",autoCorrect:"off",id:s,onBlur:d?void 0:pe,onClick:d?void 0:xe,onInput:d?void 0:de,onKeyDown:d?void 0:fe,placeholder:p?"":oe,readOnly:d,ref:E,required:w,role:"combobox",spellCheck:"off",type:"text",value:i})),o.default.createElement(R.Flex,null,(p||i)&&o.default.createElement(N.IconBox,{id:`${s}-clear`,"aria-label":W,disabled:d,paddingLeft:3,as:"button",onClick:ge,type:"button"},o.default.createElement(_.Cross,null)),o.default.createElement(N.CaretBox,{disabled:d,paddingLeft:3,"aria-hidden":!0,as:"button",onClick:ye,tabIndex:-1,type:"button"},o.default.createElement(_.CarretDown,null)))),o.default.createElement(Me.FieldHint,null),o.default.createElement(Oe.FieldError,null)),m&&o.default.createElement(Le.Popover,{id:`${s}-popover`,source:P,spacing:4,fullWidth:!0,intersectionId:`${s}-listbox-popover-intersection`,onReachEnd:J&&!j?te:void 0},o.default.createElement("div",{role:"listbox",ref:se,id:`${s}-listbox`,"aria-labelledby":h?ce:void 0},(Boolean(u.length)||x)&&o.default.createElement(o.default.Fragment,null,me,Ce()&&x&&o.default.createElement(ve.ComboboxOption,{isSelected:c===u.length,ref:t=>{c===u.length&&(v.current=t)},onMouseDown:H,onClick:()=>k(),taindex:0},G(i))),!u.length&&!x&&!j&&o.default.createElement(Ee.Box,{paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2,ref:v},o.default.createElement(U.Typography,{textColor:"neutral800"},Z(i))),j&&o.default.createElement(R.Flex,{justifyContent:"center",alignItems:"center",paddingTop:2,paddingBottom:2},o.default.createElement(ke.Loader,{small:!0},Y)))))},S=r=>o.default.createElement(C,{...r,creatable:!0});C.defaultProps={"aria-label":void 0,clearLabel:"clear",creatable:!1,createMessage:r=>`Create "${r}"`,disabled:!1,error:void 0,hasMoreItems:!1,hint:void 0,id: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};S.defaultProps=C.defaultProps;C.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,id:e.default.string,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};S.propTypes={...C.propTypes,onCreateOption:e.default.func.isRequired};exports.Combobox=C;exports.CreatableCombobox=S;