@strapi/design-system 1.5.0-alpha.0 → 1.6.0-alpha.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 (181) hide show
  1. package/dist/Accordion/Accordion.cjs +8 -8
  2. package/dist/Accordion/Accordion.js +73 -67
  3. package/dist/Accordion/AccordionContent.cjs +1 -1
  4. package/dist/Accordion/AccordionContent.js +20 -17
  5. package/dist/Accordion/AccordionContext.cjs +1 -1
  6. package/dist/Accordion/AccordionContext.js +10 -4
  7. package/dist/Accordion/AccordionGroup.cjs +20 -20
  8. package/dist/Accordion/AccordionGroup.js +98 -59
  9. package/dist/Accordion/AccordionToggle.cjs +3 -3
  10. package/dist/Accordion/AccordionToggle.js +108 -89
  11. package/dist/Accordion/utils.cjs +1 -1
  12. package/dist/Accordion/utils.js +4 -4
  13. package/dist/Alert/Alert.cjs +7 -7
  14. package/dist/Alert/Alert.js +92 -85
  15. package/dist/Avatar/Avatar.cjs +6 -6
  16. package/dist/Avatar/Avatar.js +68 -67
  17. package/dist/Avatar/constants.cjs +1 -1
  18. package/dist/Avatar/constants.js +1 -1
  19. package/dist/Badge/Badge.cjs +4 -4
  20. package/dist/Badge/Badge.js +37 -37
  21. package/dist/BaseButton/BaseButton.cjs +3 -3
  22. package/dist/BaseButton/BaseButton.js +39 -27
  23. package/dist/BaseCheckbox/BaseCheckbox.cjs +6 -6
  24. package/dist/BaseCheckbox/BaseCheckbox.js +77 -59
  25. package/dist/BaseLink/BaseLink.cjs +2 -2
  26. package/dist/BaseLink/BaseLink.js +20 -27
  27. package/dist/BaseRadio/BaseRadio.cjs +7 -7
  28. package/dist/BaseRadio/BaseRadio.js +55 -35
  29. package/dist/BaseRadio/RadioGroup.cjs +1 -1
  30. package/dist/BaseRadio/RadioGroup.js +31 -28
  31. package/dist/BaseRadio/context.cjs +1 -1
  32. package/dist/BaseRadio/context.js +8 -4
  33. package/dist/BaseRadio/utils.cjs +1 -1
  34. package/dist/BaseRadio/utils.js +1 -1
  35. package/dist/Box/Box.cjs +31 -32
  36. package/dist/Box/Box.js +182 -59
  37. package/dist/Breadcrumbs/Breadcrumbs.cjs +3 -3
  38. package/dist/Breadcrumbs/Breadcrumbs.js +50 -39
  39. package/dist/Button/Button.cjs +20 -20
  40. package/dist/Button/Button.js +83 -74
  41. package/dist/Button/utils.cjs +23 -23
  42. package/dist/Button/utils.js +15 -15
  43. package/dist/Card/Card.cjs +1 -1
  44. package/dist/Card/Card.js +28 -29
  45. package/dist/Card/CardAction.cjs +4 -4
  46. package/dist/Card/CardAction.js +12 -6
  47. package/dist/Card/CardAsset.cjs +4 -4
  48. package/dist/Card/CardAsset.js +32 -26
  49. package/dist/Card/CardBadge.cjs +3 -3
  50. package/dist/Card/CardBadge.js +14 -10
  51. package/dist/Card/CardBody.cjs +1 -1
  52. package/dist/Card/CardBody.js +11 -10
  53. package/dist/Card/CardCheckbox.cjs +1 -1
  54. package/dist/Card/CardCheckbox.js +16 -13
  55. package/dist/Card/CardContent.cjs +2 -2
  56. package/dist/Card/CardContent.js +11 -11
  57. package/dist/Card/CardContext.cjs +1 -1
  58. package/dist/Card/CardContext.js +3 -1
  59. package/dist/Card/CardHeader.cjs +2 -2
  60. package/dist/Card/CardHeader.js +9 -7
  61. package/dist/Card/CardTimer.cjs +2 -2
  62. package/dist/Card/CardTimer.js +21 -16
  63. package/dist/Card/CardTitle.cjs +1 -1
  64. package/dist/Card/CardTitle.js +11 -9
  65. package/dist/CarouselInput/Carousel.cjs +4 -4
  66. package/dist/CarouselInput/Carousel.js +8 -9
  67. package/dist/Combobox/Combobox.cjs +1 -1
  68. package/dist/Combobox/Combobox.js +32 -33
  69. package/dist/DatePicker/DatePicker.cjs +1 -1
  70. package/dist/DatePicker/DatePicker.js +26 -29
  71. package/dist/Flex/Flex.cjs +5 -5
  72. package/dist/Flex/Flex.js +29 -17
  73. package/dist/Icon/Icon.cjs +3 -3
  74. package/dist/Icon/Icon.js +23 -19
  75. package/dist/JSONInput/JSONInput.cjs +1 -0
  76. package/dist/JSONInput/JSONInput.js +97 -0
  77. package/dist/JSONInput/JSONInputContainer.cjs +30 -0
  78. package/dist/JSONInput/JSONInputContainer.js +36 -0
  79. package/dist/JSONInput/index.cjs +1 -0
  80. package/dist/JSONInput/index.js +4 -0
  81. package/dist/JSONInput/utils/decorationExtension.cjs +1 -0
  82. package/dist/JSONInput/utils/decorationExtension.js +24 -0
  83. package/dist/KeyboardNavigable/KeyboardNavigable.cjs +1 -1
  84. package/dist/KeyboardNavigable/KeyboardNavigable.js +44 -49
  85. package/dist/Link/Link.cjs +5 -5
  86. package/dist/Link/Link.js +1 -1
  87. package/dist/LiveRegions/LiveRegions.cjs +1 -1
  88. package/dist/LiveRegions/LiveRegions.js +22 -20
  89. package/dist/LiveRegions/index.cjs +1 -1
  90. package/dist/LiveRegions/index.js +4 -2
  91. package/dist/MainNav/NavCondense.cjs +3 -3
  92. package/dist/MainNav/NavCondense.js +1 -2
  93. package/dist/MainNav/NavSections.cjs +3 -3
  94. package/dist/MainNav/NavSections.js +5 -5
  95. package/dist/ModalLayout/ModalHeader.cjs +2 -2
  96. package/dist/ModalLayout/ModalHeader.js +1 -1
  97. package/dist/NumberInput/NumberInput.cjs +2 -2
  98. package/dist/NumberInput/NumberInput.js +1 -1
  99. package/dist/Pagination/components.cjs +6 -6
  100. package/dist/Pagination/components.js +16 -17
  101. package/dist/Searchbar/Searchbar.cjs +7 -7
  102. package/dist/Searchbar/Searchbar.js +7 -8
  103. package/dist/Select/Select.cjs +2 -2
  104. package/dist/Select/Select.js +4 -5
  105. package/dist/Select/SelectTags.cjs +3 -3
  106. package/dist/Select/SelectTags.js +1 -1
  107. package/dist/SimpleMenu/SimpleMenu.cjs +9 -9
  108. package/dist/SimpleMenu/SimpleMenu.js +1 -1
  109. package/dist/Stack/Stack.cjs +5 -5
  110. package/dist/Stack/Stack.js +33 -33
  111. package/dist/SubNav/SubNavHeader.cjs +2 -2
  112. package/dist/SubNav/SubNavHeader.js +1 -1
  113. package/dist/SubNav/SubNavLink.cjs +4 -4
  114. package/dist/SubNav/SubNavLink.js +4 -4
  115. package/dist/SubNav/SubNavLinkSection.cjs +2 -2
  116. package/dist/SubNav/SubNavLinkSection.js +1 -1
  117. package/dist/SubNav/SubNavSectionLabel.cjs +3 -3
  118. package/dist/SubNav/SubNavSectionLabel.js +1 -1
  119. package/dist/TextButton/TextButton.cjs +6 -6
  120. package/dist/TextButton/TextButton.js +51 -50
  121. package/dist/ThemeProvider/ThemeProvider.cjs +2 -2
  122. package/dist/ThemeProvider/ThemeProvider.js +12 -11
  123. package/dist/TimePicker/TimePicker.cjs +2 -2
  124. package/dist/TimePicker/TimePicker.js +1 -1
  125. package/dist/Typography/Typography.cjs +7 -7
  126. package/dist/Typography/Typography.js +28 -17
  127. package/dist/Typography/utils.cjs +2 -2
  128. package/dist/Typography/utils.js +6 -6
  129. package/dist/helpers/arrays.cjs +1 -0
  130. package/dist/helpers/arrays.js +6 -0
  131. package/dist/helpers/handleResponsiveValues.cjs +1 -5
  132. package/dist/helpers/handleResponsiveValues.js +21 -15
  133. package/dist/helpers/objects.cjs +1 -0
  134. package/dist/helpers/objects.js +26 -0
  135. package/dist/helpers/setOpacity.cjs +1 -1
  136. package/dist/helpers/setOpacity.js +1 -1
  137. package/dist/helpers/theme.cjs +1 -0
  138. package/dist/helpers/theme.js +7 -0
  139. package/dist/helpers/useIntersection.cjs +1 -1
  140. package/dist/helpers/useIntersection.js +8 -8
  141. package/dist/hooks/useControllableState.cjs +1 -1
  142. package/dist/hooks/useControllableState.js +13 -16
  143. package/dist/index.cjs +1 -1
  144. package/dist/index.js +205 -201
  145. package/dist/themes/extendTheme.cjs +4 -4
  146. package/dist/themes/extendTheme.js +13 -21
  147. package/dist/v2/Breadcrumbs/CrumbSimpleMenu.cjs +2 -2
  148. package/dist/v2/Breadcrumbs/CrumbSimpleMenu.js +1 -1
  149. package/dist/v2/Link/Link.cjs +4 -4
  150. package/dist/v2/Link/Link.js +1 -1
  151. package/dist/v2/MainNav/NavCondense.cjs +3 -3
  152. package/dist/v2/MainNav/NavCondense.js +1 -2
  153. package/dist/v2/MainNav/NavSections.cjs +3 -3
  154. package/dist/v2/MainNav/NavSections.js +5 -5
  155. package/dist/v2/Pagination/components.cjs +7 -7
  156. package/dist/v2/Pagination/components.js +18 -19
  157. package/dist/v2/SimpleMenu/SimpleMenu.cjs +9 -9
  158. package/dist/v2/SimpleMenu/SimpleMenu.js +96 -89
  159. package/dist/v2/SubNav/SubNavHeader.cjs +2 -2
  160. package/dist/v2/SubNav/SubNavHeader.js +1 -1
  161. package/dist/v2/SubNav/SubNavLink.cjs +4 -4
  162. package/dist/v2/SubNav/SubNavLink.js +1 -1
  163. package/dist/v2/SubNav/SubNavLinkSection.cjs +4 -4
  164. package/dist/v2/SubNav/SubNavLinkSection.js +1 -1
  165. package/dist/v2/SubNav/SubNavSectionLabel.cjs +3 -3
  166. package/dist/v2/SubNav/SubNavSectionLabel.js +1 -1
  167. package/package.json +18 -15
  168. package/dist/Box/BoxProps.cjs +0 -1
  169. package/dist/Box/BoxProps.js +0 -51
  170. package/dist/Flex/FlexProps.cjs +0 -1
  171. package/dist/Flex/FlexProps.js +0 -41
  172. package/dist/FocusTrap/ExampleComponent.cjs +0 -1
  173. package/dist/FocusTrap/ExampleComponent.js +0 -71
  174. package/dist/LiveRegions/StoryComponent.cjs +0 -1
  175. package/dist/LiveRegions/StoryComponent.js +0 -18
  176. package/dist/Typography/TypographyProps.cjs +0 -1
  177. package/dist/Typography/TypographyProps.js +0 -31
  178. package/dist/themes/ColorButton.cjs +0 -3
  179. package/dist/themes/ColorButton.js +0 -25
  180. package/dist/themes/colors.cjs +0 -1
  181. package/dist/themes/colors.js +0 -49
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react"),i=require("prop-types"),d=require("styled-components"),l=require("@strapi/icons/ChevronRight"),u=require("@strapi/icons/ChevronLeft"),c=require("../../Icon/Icon.cjs"),f=require("../../VisuallyHidden/VisuallyHidden.cjs"),h=require("./MainNavContext.cjs"),t=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},o=t(a),p=t(i),v=t(d),g=t(l),y=t(u),m=v.default.button`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("react"),d=require("prop-types"),l=require("styled-components"),s=require("@strapi/icons"),c=require("../../Icon/Icon.cjs"),u=require("../../VisuallyHidden/VisuallyHidden.cjs"),p=require("./MainNavContext.cjs"),o=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},n=o(i),f=o(d),h=o(l),y=h.default.button`
2
2
  background: ${({theme:e})=>e.colors.neutral0};
3
3
  border: 1px solid ${({theme:e})=>e.colors.neutral150};
4
4
  border-radius: ${({theme:e})=>e.borderRadius};
@@ -7,7 +7,7 @@
7
7
  justify-content: center;
8
8
  position: absolute;
9
9
  bottom: ${(9+4)/16}rem; // 9 is the height of the svg and 4 is the padding below
10
- right: ${({theme:e,condensed:n})=>n?0:e.spaces[5]};
10
+ right: ${({theme:e,condensed:t})=>t?0:e.spaces[5]};
11
11
  transform: ${({condensed:e})=>e?"translateX(50%)":void 0};
12
12
  z-index: 2;
13
13
  width: ${18/16}rem;
@@ -17,4 +17,4 @@
17
17
  width: ${6/16}rem;
18
18
  height: ${9/16}rem;
19
19
  }
20
- `,s=({children:e,...n})=>{const r=h.useMainNav();return o.default.createElement(m,{as:"button",condensed:r,...n},o.default.createElement(c.Icon,{as:r?g.default:y.default,"aria-hidden":!0,color:"neutral600"}),o.default.createElement(f.VisuallyHidden,null,e))};s.propTypes={children:p.default.string.isRequired};exports.NavCondense=s;
20
+ `,a=({children:e,...t})=>{const r=p.useMainNav();return n.default.createElement(y,{as:"button",condensed:r,...t},n.default.createElement(c.Icon,{as:r?s.ChevronRight:s.ChevronLeft,"aria-hidden":!0,color:"neutral600"}),n.default.createElement(u.VisuallyHidden,null,e))};a.propTypes={children:f.default.string.isRequired};exports.NavCondense=a;
@@ -1,8 +1,7 @@
1
1
  import t from "react";
2
2
  import n from "prop-types";
3
3
  import i from "styled-components";
4
- import s from "@strapi/icons/ChevronRight";
5
- import a from "@strapi/icons/ChevronLeft";
4
+ import { ChevronRight as s, ChevronLeft as a } from "@strapi/icons";
6
5
  import { Icon as d } from "../../Icon/Icon.js";
7
6
  import { VisuallyHidden as m } from "../../VisuallyHidden/VisuallyHidden.js";
8
7
  import { useMainNav as l } from "./MainNavContext.js";
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react"),l=require("prop-types"),d=require("styled-components"),u=require("../../Stack/Stack.cjs"),i=require("../../Box/Box.cjs"),o=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},t=o(r),p=o(l),f=o(d),y=f.default(i.Box)`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react"),d=require("prop-types"),l=require("styled-components"),u=require("../../Stack/Stack.cjs"),i=require("../../Box/Box.cjs"),o=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},t=o(a),p=o(d),f=o(l),y=f.default(i.Box)`
2
2
  flex-grow: 1;
3
- overflow-y: scroll;
4
- `,a=({children:e,...c})=>t.default.createElement(y,{paddingLeft:3,paddingRight:2,paddingTop:3,paddingBottom:8},t.default.createElement(u.Stack,{as:"ul",spacing:4,...c},r.Children.map(e,(n,s)=>t.default.createElement("li",{key:s},n))));a.propTypes={children:p.default.node.isRequired};exports.NavSections=a;
3
+ overflow-y: auto;
4
+ `,r=({children:e,...c})=>t.default.createElement(y,{paddingLeft:3,paddingRight:2,paddingTop:3,paddingBottom:8},t.default.createElement(u.Stack,{as:"ul",spacing:4,...c},a.Children.map(e,(n,s)=>t.default.createElement("li",{key:s},n))));r.propTypes={children:p.default.node.isRequired};exports.NavSections=r;
@@ -1,17 +1,17 @@
1
1
  import e, { Children as i } from "react";
2
2
  import n from "prop-types";
3
- import m from "styled-components";
4
- import { Stack as a } from "../../Stack/Stack.js";
3
+ import a from "styled-components";
4
+ import { Stack as m } from "../../Stack/Stack.js";
5
5
  import { Box as d } from "../../Box/Box.js";
6
- const l = m(d)`
6
+ const l = a(d)`
7
7
  flex-grow: 1;
8
- overflow-y: scroll;
8
+ overflow-y: auto;
9
9
  `, c = ({ children: o, ...r }) => /* @__PURE__ */ e.createElement(l, {
10
10
  paddingLeft: 3,
11
11
  paddingRight: 2,
12
12
  paddingTop: 3,
13
13
  paddingBottom: 8
14
- }, /* @__PURE__ */ e.createElement(a, {
14
+ }, /* @__PURE__ */ e.createElement(m, {
15
15
  as: "ul",
16
16
  spacing: 4,
17
17
  ...r
@@ -1,21 +1,21 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const b=require("react"),L=require("styled-components"),k=require("prop-types"),q=require("@strapi/icons/ChevronLeft"),R=require("@strapi/icons/ChevronRight"),u=require("../../VisuallyHidden/VisuallyHidden.cjs"),c=require("./PaginationContext.cjs"),T=require("../../Typography/Typography.cjs"),_=require("../../themes/utils.cjs"),x=require("../../BaseLink/BaseLink.cjs"),s=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},a=s(b),l=s(L),d=s(k),E=s(q),w=s(R),g=l.default(T.Typography)`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const L=require("react"),k=require("styled-components"),q=require("prop-types"),g=require("@strapi/icons"),d=require("../../VisuallyHidden/VisuallyHidden.cjs"),u=require("./PaginationContext.cjs"),T=require("../../Typography/Typography.cjs"),x=require("../../themes/utils.cjs"),E=require("../../BaseLink/BaseLink.cjs"),c=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},a=c(L),s=c(k),l=c(q),v=s.default(T.Typography)`
2
2
  line-height: revert;
3
- `,$={active:!0},f=l.default(x.BaseLink).withConfig({shouldForwardProp:(e,t)=>!$[e]&&t(e)})`
3
+ `,w={active:!0},p=s.default(E.BaseLink).withConfig({shouldForwardProp:(e,t)=>!w[e]&&t(e)})`
4
4
  padding: ${({theme:e})=>e.spaces[3]};
5
5
  border-radius: ${({theme:e})=>e.borderRadius};
6
6
  box-shadow: ${({active:e,theme:t})=>e?t.shadows.filterShadow:void 0};
7
7
  text-decoration: none;
8
8
  display: flex;
9
9
 
10
- ${_.buttonFocusStyle}
11
- `,C=l.default(f)`
10
+ ${x.buttonFocusStyle}
11
+ `,R=s.default(p)`
12
12
  color: ${({theme:e,active:t})=>t?e.colors.primary700:e.colors.neutral800};
13
13
  background: ${({theme:e,active:t})=>t?e.colors.neutral0:void 0};
14
14
 
15
15
  &:hover {
16
16
  box-shadow: ${({theme:e})=>e.shadows.filterShadow};
17
17
  }
18
- `,v=l.default(f)`
18
+ `,m=s.default(p)`
19
19
  font-size: 0.7rem;
20
20
  svg path {
21
21
  fill: ${e=>e["aria-disabled"]?e.theme.colors.neutral300:e.theme.colors.neutral600};
@@ -31,6 +31,6 @@
31
31
  ${e=>e["aria-disabled"]?`
32
32
  pointer-events: none;
33
33
  `:void 0}
34
- `,j=l.default(f)`
34
+ `,$=s.default(p)`
35
35
  color: ${({theme:e})=>e.colors.neutral800};
36
- `,p=a.default.forwardRef(({children:e,...t},n)=>{const{activePage:i}=c.usePagination(),r=i===1;return a.default.createElement(v,{ref:n,"aria-disabled":r,tabIndex:r?-1:void 0,...t},a.default.createElement(u.VisuallyHidden,null,e),a.default.createElement(E.default,{"aria-hidden":!0}))});p.displayName="PreviousLink";const h=a.default.forwardRef(({children:e,...t},n)=>{const{activePage:i,pageCount:r}=c.usePagination(),o=i===r;return a.default.createElement(v,{ref:n,"aria-disabled":o,tabIndex:o?-1:void 0,...t},a.default.createElement(u.VisuallyHidden,null,e),a.default.createElement(w.default,{"aria-hidden":!0}))});h.displayName="NextLink";const y=a.default.forwardRef(({number:e,children:t,...n},i)=>{const{activePage:r}=c.usePagination(),o=r===e;return a.default.createElement(C,{ref:i,...n,active:o},a.default.createElement(u.VisuallyHidden,null,t),a.default.createElement(g,{"aria-hidden":!0,variant:"pi",fontWeight:o?"bold":null},e))});y.displayName="PageLink";const m=({children:e,...t})=>a.default.createElement(j,{...t,as:"div"},a.default.createElement(u.VisuallyHidden,null,e),a.default.createElement(g,{"aria-hidden":!0,variant:"pi"},"\u2026"));y.propTypes={children:d.default.node.isRequired,number:d.default.number.isRequired};const P={children:d.default.node.isRequired};h.propTypes=P;p.propTypes=P;m.propTypes={children:d.default.node.isRequired};exports.Dots=m;exports.NextLink=h;exports.PageLink=y;exports.PreviousLink=p;
36
+ `,f=a.default.forwardRef(({children:e,...t},n)=>{const{activePage:i}=u.usePagination(),r=i===1;return a.default.createElement(m,{ref:n,"aria-disabled":r,tabIndex:r?-1:void 0,...t},a.default.createElement(d.VisuallyHidden,null,e),a.default.createElement(g.ChevronLeft,{"aria-hidden":!0}))});f.displayName="PreviousLink";const y=a.default.forwardRef(({children:e,...t},n)=>{const{activePage:i,pageCount:r}=u.usePagination(),o=i===r;return a.default.createElement(m,{ref:n,"aria-disabled":o,tabIndex:o?-1:void 0,...t},a.default.createElement(d.VisuallyHidden,null,e),a.default.createElement(g.ChevronRight,{"aria-hidden":!0}))});y.displayName="NextLink";const h=a.default.forwardRef(({number:e,children:t,...n},i)=>{const{activePage:r}=u.usePagination(),o=r===e;return a.default.createElement(R,{ref:i,...n,active:o},a.default.createElement(d.VisuallyHidden,null,t),a.default.createElement(v,{"aria-hidden":!0,variant:"pi",fontWeight:o?"bold":null},e))});h.displayName="PageLink";const P=({children:e,...t})=>a.default.createElement($,{...t,as:"div"},a.default.createElement(d.VisuallyHidden,null,e),a.default.createElement(v,{"aria-hidden":!0,variant:"pi"},"\u2026"));h.propTypes={children:l.default.node.isRequired,number:l.default.number.isRequired};const b={children:l.default.node.isRequired};y.propTypes=b;f.propTypes=b;P.propTypes={children:l.default.node.isRequired};exports.Dots=P;exports.NextLink=y;exports.PageLink=h;exports.PreviousLink=f;
@@ -1,8 +1,7 @@
1
- import o from "react";
1
+ import t from "react";
2
2
  import s from "styled-components";
3
3
  import d from "prop-types";
4
- import b from "@strapi/icons/ChevronLeft";
5
- import y from "@strapi/icons/ChevronRight";
4
+ import { ChevronLeft as b, ChevronRight as y } from "@strapi/icons";
6
5
  import { VisuallyHidden as l } from "../../VisuallyHidden/VisuallyHidden.js";
7
6
  import { usePagination as c } from "./PaginationContext.js";
8
7
  import { Typography as P } from "../../Typography/Typography.js";
@@ -47,47 +46,47 @@ const m = s(P)`
47
46
  ` : void 0}
48
47
  `, $ = s(p)`
49
48
  color: ${({ theme: e }) => e.colors.neutral800};
50
- `, h = o.forwardRef(({ children: e, ...r }, a) => {
51
- const { activePage: i } = c(), t = i === 1;
52
- return /* @__PURE__ */ o.createElement(u, {
49
+ `, h = t.forwardRef(({ children: e, ...r }, a) => {
50
+ const { activePage: i } = c(), o = i === 1;
51
+ return /* @__PURE__ */ t.createElement(u, {
53
52
  ref: a,
54
- "aria-disabled": t,
55
- tabIndex: t ? -1 : void 0,
53
+ "aria-disabled": o,
54
+ tabIndex: o ? -1 : void 0,
56
55
  ...r
57
- }, /* @__PURE__ */ o.createElement(l, null, e), /* @__PURE__ */ o.createElement(b, {
56
+ }, /* @__PURE__ */ t.createElement(l, null, e), /* @__PURE__ */ t.createElement(b, {
58
57
  "aria-hidden": !0
59
58
  }));
60
59
  });
61
60
  h.displayName = "PreviousLink";
62
- const f = o.forwardRef(({ children: e, ...r }, a) => {
63
- const { activePage: i, pageCount: t } = c(), n = i === t;
64
- return /* @__PURE__ */ o.createElement(u, {
61
+ const f = t.forwardRef(({ children: e, ...r }, a) => {
62
+ const { activePage: i, pageCount: o } = c(), n = i === o;
63
+ return /* @__PURE__ */ t.createElement(u, {
65
64
  ref: a,
66
65
  "aria-disabled": n,
67
66
  tabIndex: n ? -1 : void 0,
68
67
  ...r
69
- }, /* @__PURE__ */ o.createElement(l, null, e), /* @__PURE__ */ o.createElement(y, {
68
+ }, /* @__PURE__ */ t.createElement(l, null, e), /* @__PURE__ */ t.createElement(y, {
70
69
  "aria-hidden": !0
71
70
  }));
72
71
  });
73
72
  f.displayName = "NextLink";
74
- const v = o.forwardRef(({ number: e, children: r, ...a }, i) => {
75
- const { activePage: t } = c(), n = t === e;
76
- return /* @__PURE__ */ o.createElement(L, {
73
+ const v = t.forwardRef(({ number: e, children: r, ...a }, i) => {
74
+ const { activePage: o } = c(), n = o === e;
75
+ return /* @__PURE__ */ t.createElement(L, {
77
76
  ref: i,
78
77
  ...a,
79
78
  active: n
80
- }, /* @__PURE__ */ o.createElement(l, null, r), /* @__PURE__ */ o.createElement(m, {
79
+ }, /* @__PURE__ */ t.createElement(l, null, r), /* @__PURE__ */ t.createElement(m, {
81
80
  "aria-hidden": !0,
82
81
  variant: "pi",
83
82
  fontWeight: n ? "bold" : null
84
83
  }, e));
85
84
  });
86
85
  v.displayName = "PageLink";
87
- const x = ({ children: e, ...r }) => /* @__PURE__ */ o.createElement($, {
86
+ const x = ({ children: e, ...r }) => /* @__PURE__ */ t.createElement($, {
88
87
  ...r,
89
88
  as: "div"
90
- }, /* @__PURE__ */ o.createElement(l, null, e), /* @__PURE__ */ o.createElement(m, {
89
+ }, /* @__PURE__ */ t.createElement(l, null, e), /* @__PURE__ */ t.createElement(m, {
91
90
  "aria-hidden": !0,
92
91
  variant: "pi"
93
92
  }, "\u2026"));
@@ -1,13 +1,13 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react"),N=require("prop-types"),V=require("styled-components"),D=require("@radix-ui/react-use-callback-ref"),W=require("@strapi/icons/CarretDown"),z=require("../Link/Link.cjs"),T=require("../../Typography/Typography.cjs"),b=require("../../Box/Box.cjs"),U=require("../../Flex/Flex.cjs"),I=require("../../Button/Button.cjs"),G=require("../../BaseLink/BaseLink.cjs"),L=require("../../Popover/Popover.cjs"),q=require("./utils.cjs"),H=require("../../helpers/useId.cjs"),l=require("../../helpers/keyboardKeys.cjs"),h=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},o=h(s),t=h(N),m=h(V),J=h(W),Q=m.default.button`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react"),z=require("prop-types"),U=require("styled-components"),D=require("@radix-ui/react-use-callback-ref"),H=require("@strapi/icons"),G=require("../Link/Link.cjs"),C=require("../../Typography/Typography.cjs"),k=require("../../Box/Box.cjs"),J=require("../../Flex/Flex.cjs"),M=require("../../Button/Button.cjs"),Q=require("../../BaseLink/BaseLink.cjs"),j=require("../../Popover/Popover.cjs"),T=require("./utils.cjs"),X=require("../../helpers/useId.cjs"),u=require("../../helpers/keyboardKeys.cjs"),q=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},o=q(a),t=q(z),y=q(U),Y=y.default.button`
2
2
  border: none;
3
3
  padding: 0;
4
4
  background: transparent;
5
5
  cursor: pointer;
6
- ${q.getOptionStyle}
7
- `,X=m.default(G.BaseLink)`
6
+ ${T.getOptionStyle}
7
+ `,Z=y.default(Q.BaseLink)`
8
8
  text-decoration: none;
9
- ${q.getOptionStyle}
10
- `,Y=m.default(z.Link)`
9
+ ${T.getOptionStyle}
10
+ `,ee=y.default(G.Link)`
11
11
  &:focus-visible {
12
12
  /* Removes Link focus-visible after properties and reset to global outline */
13
13
  outline: 2px solid ${({theme:e})=>e.colors.primary600};
@@ -20,14 +20,14 @@
20
20
  svg path {
21
21
  fill: currentColor;
22
22
  }
23
- ${q.getOptionStyle}
24
- `,Z=m.default.span`
23
+ ${T.getOptionStyle}
24
+ `,te=y.default.span`
25
25
  display: flex;
26
26
  align-items: center;
27
27
  svg {
28
28
  height: 4px;
29
29
  width: 6px;
30
30
  }
31
- `,ee=m.default(I.Button)`
31
+ `,ne=y.default(M.Button)`
32
32
  padding: ${({theme:e})=>`${e.spaces[1]} ${e.spaces[3]}`};
33
- `,O=({as:e,children:u,onClick:g,isFocused:i,isLink:x,isExternal:B,...C})=>{const c=s.useRef();s.useEffect(()=>{i&&c.current&&c.current.focus()},[i]);const d={tabIndex:i?0:-1,ref:c,role:"menuitem",...C},r=f=>{(f.key===l.KeyboardKeys.SPACE||f.key===l.KeyboardKeys.ENTER)&&g()};return x?o.default.createElement(X,{as:e,...d},o.default.createElement(b.Box,{padding:2},o.default.createElement(T.Typography,null,u))):B?o.default.createElement(Y,{isExternal:!0,...d},o.default.createElement(b.Box,{padding:2},o.default.createElement(T.Typography,null,u))):o.default.createElement(Q,{onKeyDown:r,onMouseDown:g,type:"button",...d},o.default.createElement(b.Box,{padding:2},o.default.createElement(T.Typography,null,u)))};O.defaultProps={as:void 0,onClick(){},isExternal:!1,isFocused:!1,isLink:!1};O.propTypes={as:t.default.elementType,children:t.default.node.isRequired,isExternal:t.default.bool,isFocused:t.default.bool,isLink:t.default.bool,onClick:t.default.func};const E=({label:e,children:u,id:g,as:i,onOpen:x=()=>{},onClose:B=()=>{},size:C,popoverPlacement:c,...d})=>{const r=s.useRef(),f=H.useId("simplemenu",g),K=s.useRef(!1),[p,y]=s.useState(!1),[v,P]=s.useState(0),k=s.Children.toArray(u),M=C==="S"?ee:I.Button,j=i||M;s.useEffect(()=>{if(["string","number"].includes(typeof e)){const n=k.findIndex(a=>a.props.children===e);n!==-1&&P(n)}},[e]);const R=D.useCallbackRef(x),S=D.useCallbackRef(B);s.useEffect(()=>{K?.current?p?R():S():K.current=!0},[K,p,R,S]),s.useEffect(()=>{o.default.isValidElement(e)&&v===-1&&r.current.focus()},[e,v]);const w=n=>{p&&(n.key===l.KeyboardKeys.ESCAPE&&(n.stopPropagation(),y(!1),r.current.focus()),n.key===l.KeyboardKeys.DOWN&&P(a=>a===k.length-1?0:a+1),n.key===l.KeyboardKeys.UP&&P(a=>a===0?k.length-1:a-1))},_=n=>{(n.key===l.KeyboardKeys.ENTER||n.key===l.KeyboardKeys.SPACE)&&y(a=>!a)},F=n=>{n.preventDefault(),n.currentTarget.contains(n.relatedTarget)||y(!1)},$=n=>{n.preventDefault(),y(a=>!a)},A=k.map((n,a)=>o.default.createElement(U.Flex,{as:"li",key:a,justifyContent:"center",role:"menuitem"},s.cloneElement(n,{onClick(){n.props.onClick(),y(!1),r.current.focus()},isFocused:v===a})));return o.default.createElement("div",{onKeyDown:w},o.default.createElement(j,{label:o.default.isValidElement(e)?null:e,"aria-haspopup":!0,"aria-expanded":p,"aria-controls":f,onKeyDown:_,onMouseDown:$,ref:r,type:"button",variant:"ghost",endIcon:o.default.createElement(Z,null,o.default.createElement(J.default,{"aria-hidden":!0})),...d},e),p&&o.default.createElement(L.Popover,{onBlur:F,placement:c,source:r,spacing:4},o.default.createElement(b.Box,{role:"menu",as:"ul",padding:1,id:f},A)))};E.defaultProps={as:void 0};E.displayName="SimpleMenu";E.defaultProps={id:void 0,onClose(){},onOpen(){},popoverPlacement:"bottom-start",size:"M"};E.propTypes={as:t.default.any,children:t.default.oneOfType([t.default.arrayOf(t.default.node),t.default.node]).isRequired,id:t.default.string,label:t.default.oneOfType([t.default.string,t.default.number,t.default.element]).isRequired,onClose:t.default.func,onOpen:t.default.func,popoverPlacement:t.default.oneOf(L.POPOVER_PLACEMENTS),size:t.default.oneOf(["S","M"])};exports.MenuItem=O;exports.SimpleMenu=E;
33
+ `,I=({as:e,children:i,onClick:E,isFocused:c,isLink:h,isExternal:b,...x})=>{const d=a.useRef();a.useEffect(()=>{c&&d.current&&d.current.focus()},[c]);const l={tabIndex:c?0:-1,ref:d,role:"menuitem",...x},v=r=>{(r.key===u.KeyboardKeys.SPACE||r.key===u.KeyboardKeys.ENTER)&&E()};return h?o.default.createElement(Z,{as:e,...l},o.default.createElement(k.Box,{padding:2},o.default.createElement(C.Typography,null,i))):b?o.default.createElement(ee,{isExternal:!0,...l},o.default.createElement(k.Box,{padding:2},o.default.createElement(C.Typography,null,i))):o.default.createElement(Y,{onKeyDown:v,onMouseDown:E,type:"button",...l},o.default.createElement(k.Box,{padding:2},o.default.createElement(C.Typography,null,i)))};I.defaultProps={as:void 0,onClick(){},isExternal:!1,isFocused:!1,isLink:!1};I.propTypes={as:t.default.elementType,children:t.default.node.isRequired,isExternal:t.default.bool,isFocused:t.default.bool,isLink:t.default.bool,onClick:t.default.func};const m=({label:e,children:i,id:E,as:c,onOpen:h=()=>{},onClose:b=()=>{},size:x,popoverPlacement:d,onReachEnd:l,...v})=>{const r=a.useRef(),B=X.useId("simplemenu",E),K=a.useRef(!1),[f,p]=a.useState(!1),[P,R]=a.useState(0),g=a.Children.toArray(i),w=x==="S"?ne:M.Button,_=c||w,O=!!l&&typeof l=="function";a.useEffect(()=>{if(["string","number"].includes(typeof e)){const n=g.findIndex(s=>s.props.children===e);n!==-1&&R(n)}},[e]);const S=D.useCallbackRef(h),L=D.useCallbackRef(b);a.useEffect(()=>{K?.current?f?S():L():K.current=!0},[K,f,S,L]),a.useEffect(()=>{o.default.isValidElement(e)&&P===-1&&r.current.focus()},[e,P]);const $=n=>{f&&(n.key===u.KeyboardKeys.ESCAPE&&(n.stopPropagation(),p(!1),r.current.focus()),n.key===u.KeyboardKeys.DOWN&&R(s=>s===g.length-1?0:s+1),n.key===u.KeyboardKeys.UP&&R(s=>s===0?g.length-1:s-1))},F=n=>{(n.key===u.KeyboardKeys.ENTER||n.key===u.KeyboardKeys.SPACE)&&p(s=>!s)},A=n=>{n.preventDefault(),n.currentTarget.contains(n.relatedTarget)||p(!1)},N=n=>{n.preventDefault(),p(s=>!s)},V=()=>{O&&l()},W=g.map((n,s)=>o.default.createElement(J.Flex,{as:"li",key:s,justifyContent:"center",role:"menuitem"},a.cloneElement(n,{onClick(){n.props.onClick(),p(!1),r.current.focus()},isFocused:P===s})));return o.default.createElement("div",{onKeyDown:$},o.default.createElement(_,{label:o.default.isValidElement(e)?null:e,"aria-haspopup":!0,"aria-expanded":f,"aria-controls":B,onKeyDown:F,onMouseDown:N,ref:r,type:"button",variant:"ghost",endIcon:o.default.createElement(te,null,o.default.createElement(H.CarretDown,{"aria-hidden":!0})),...v},e),f&&o.default.createElement(j.Popover,{onBlur:A,placement:d,source:r,onReachEnd:V,intersectionId:O?`popover-${B}`:void 0,spacing:4},o.default.createElement(k.Box,{role:"menu",as:"ul",padding:1,id:B},W)))};m.defaultProps={as:void 0};m.displayName="SimpleMenu";m.defaultProps={id:void 0,onClose(){},onOpen(){},onReachEnd:void 0,popoverPlacement:"bottom-start",size:"M"};m.propTypes={as:t.default.any,children:t.default.oneOfType([t.default.arrayOf(t.default.node),t.default.node]).isRequired,id:t.default.string,label:t.default.oneOfType([t.default.string,t.default.number,t.default.element]).isRequired,onClose:t.default.func,onOpen:t.default.func,onReachEnd:t.default.func,popoverPlacement:t.default.oneOf(j.POPOVER_PLACEMENTS),size:t.default.oneOf(["S","M"])};exports.MenuItem=I;exports.SimpleMenu=m;
@@ -1,28 +1,28 @@
1
- import t, { useRef as I, useEffect as g, useState as w, Children as q, cloneElement as W } from "react";
1
+ import t, { useRef as b, useEffect as E, useState as B, Children as z, cloneElement as j } from "react";
2
2
  import e from "prop-types";
3
- import d from "styled-components";
4
- import { useCallbackRef as M } from "@radix-ui/react-use-callback-ref";
5
- import _ from "@strapi/icons/CarretDown";
6
- import { Link as z } from "../Link/Link.js";
7
- import { Typography as b } from "../../Typography/Typography.js";
8
- import { Box as k } from "../../Box/Box.js";
9
- import { Flex as j } from "../../Flex/Flex.js";
10
- import { Button as B } from "../../Button/Button.js";
11
- import { BaseLink as U } from "../../BaseLink/BaseLink.js";
12
- import { POPOVER_PLACEMENTS as G, Popover as H } from "../../Popover/Popover.js";
13
- import { getOptionStyle as R } from "./utils.js";
14
- import { useId as J } from "../../helpers/useId.js";
15
- import { KeyboardKeys as i } from "../../helpers/keyboardKeys.js";
16
- const Q = d.button`
3
+ import f from "styled-components";
4
+ import { useCallbackRef as L } from "@radix-ui/react-use-callback-ref";
5
+ import { CarretDown as H } from "@strapi/icons";
6
+ import { Link as U } from "../Link/Link.js";
7
+ import { Typography as O } from "../../Typography/Typography.js";
8
+ import { Box as g } from "../../Box/Box.js";
9
+ import { Flex as G } from "../../Flex/Flex.js";
10
+ import { Button as K } from "../../Button/Button.js";
11
+ import { BaseLink as J } from "../../BaseLink/BaseLink.js";
12
+ import { POPOVER_PLACEMENTS as Q, Popover as X } from "../../Popover/Popover.js";
13
+ import { getOptionStyle as T } from "./utils.js";
14
+ import { useId as Y } from "../../helpers/useId.js";
15
+ import { KeyboardKeys as a } from "../../helpers/keyboardKeys.js";
16
+ const Z = f.button`
17
17
  border: none;
18
18
  padding: 0;
19
19
  background: transparent;
20
20
  cursor: pointer;
21
- ${R}
22
- `, X = d(U)`
21
+ ${T}
22
+ `, ee = f(J)`
23
23
  text-decoration: none;
24
- ${R}
25
- `, Y = d(z)`
24
+ ${T}
25
+ `, ne = f(U)`
26
26
  &:focus-visible {
27
27
  /* Removes Link focus-visible after properties and reset to global outline */
28
28
  outline: 2px solid ${({ theme: o }) => o.colors.primary600};
@@ -35,49 +35,49 @@ const Q = d.button`
35
35
  svg path {
36
36
  fill: currentColor;
37
37
  }
38
- ${R}
39
- `, Z = d.span`
38
+ ${T}
39
+ `, te = f.span`
40
40
  display: flex;
41
41
  align-items: center;
42
42
  svg {
43
43
  height: 4px;
44
44
  width: 6px;
45
45
  }
46
- `, ee = d(B)`
46
+ `, oe = f(K)`
47
47
  padding: ${({ theme: o }) => `${o.spaces[1]} ${o.spaces[3]}`};
48
- `, L = ({ as: o, children: a, onClick: y, isFocused: l, isLink: C, isExternal: x, ...v }) => {
49
- const c = I();
50
- g(() => {
51
- l && c.current && c.current.focus();
52
- }, [l]);
53
- const p = {
54
- tabIndex: l ? 0 : -1,
55
- ref: c,
48
+ `, $ = ({ as: o, children: l, onClick: d, isFocused: c, isLink: k, isExternal: v, ...C }) => {
49
+ const p = b();
50
+ E(() => {
51
+ c && p.current && p.current.focus();
52
+ }, [c]);
53
+ const i = {
54
+ tabIndex: c ? 0 : -1,
55
+ ref: p,
56
56
  role: "menuitem",
57
- ...v
58
- }, s = (u) => {
59
- (u.key === i.SPACE || u.key === i.ENTER) && y();
57
+ ...C
58
+ }, x = (s) => {
59
+ (s.key === a.SPACE || s.key === a.ENTER) && d();
60
60
  };
61
- return C ? /* @__PURE__ */ t.createElement(X, {
61
+ return k ? /* @__PURE__ */ t.createElement(ee, {
62
62
  as: o,
63
- ...p
64
- }, /* @__PURE__ */ t.createElement(k, {
63
+ ...i
64
+ }, /* @__PURE__ */ t.createElement(g, {
65
65
  padding: 2
66
- }, /* @__PURE__ */ t.createElement(b, null, a))) : x ? /* @__PURE__ */ t.createElement(Y, {
66
+ }, /* @__PURE__ */ t.createElement(O, null, l))) : v ? /* @__PURE__ */ t.createElement(ne, {
67
67
  isExternal: !0,
68
- ...p
69
- }, /* @__PURE__ */ t.createElement(k, {
68
+ ...i
69
+ }, /* @__PURE__ */ t.createElement(g, {
70
70
  padding: 2
71
- }, /* @__PURE__ */ t.createElement(b, null, a))) : /* @__PURE__ */ t.createElement(Q, {
72
- onKeyDown: s,
73
- onMouseDown: y,
71
+ }, /* @__PURE__ */ t.createElement(O, null, l))) : /* @__PURE__ */ t.createElement(Z, {
72
+ onKeyDown: x,
73
+ onMouseDown: d,
74
74
  type: "button",
75
- ...p
76
- }, /* @__PURE__ */ t.createElement(k, {
75
+ ...i
76
+ }, /* @__PURE__ */ t.createElement(g, {
77
77
  padding: 2
78
- }, /* @__PURE__ */ t.createElement(b, null, a)));
78
+ }, /* @__PURE__ */ t.createElement(O, null, l)));
79
79
  };
80
- L.defaultProps = {
80
+ $.defaultProps = {
81
81
  as: void 0,
82
82
  onClick() {
83
83
  },
@@ -85,7 +85,7 @@ L.defaultProps = {
85
85
  isFocused: !1,
86
86
  isLink: !1
87
87
  };
88
- L.propTypes = {
88
+ $.propTypes = {
89
89
  as: e.elementType,
90
90
  children: e.node.isRequired,
91
91
  isExternal: e.bool,
@@ -95,76 +95,81 @@ L.propTypes = {
95
95
  };
96
96
  const h = ({
97
97
  label: o,
98
- children: a,
99
- id: y,
100
- as: l,
101
- onOpen: C = () => {
98
+ children: l,
99
+ id: d,
100
+ as: c,
101
+ onOpen: k = () => {
102
102
  },
103
- onClose: x = () => {
103
+ onClose: v = () => {
104
104
  },
105
- size: v,
106
- popoverPlacement: c,
107
- ...p
105
+ size: C,
106
+ popoverPlacement: p,
107
+ onReachEnd: i,
108
+ ...x
108
109
  }) => {
109
- const s = I(), u = J("simplemenu", y), P = I(!1), [m, f] = w(!1), [D, O] = w(0), E = q.toArray(a), K = l || (v === "S" ? ee : B);
110
- g(() => {
110
+ const s = b(), P = Y("simplemenu", d), R = b(!1), [u, m] = B(!1), [D, I] = B(0), y = z.toArray(l), A = c || (C === "S" ? oe : K), S = !!i && typeof i == "function";
111
+ E(() => {
111
112
  if (["string", "number"].includes(typeof o)) {
112
- const n = E.findIndex((r) => r.props.children === o);
113
- n !== -1 && O(n);
113
+ const n = y.findIndex((r) => r.props.children === o);
114
+ n !== -1 && I(n);
114
115
  }
115
116
  }, [o]);
116
- const T = M(C), S = M(x);
117
- g(() => {
118
- P?.current ? m ? T() : S() : P.current = !0;
119
- }, [P, m, T, S]), g(() => {
117
+ const w = L(k), M = L(v);
118
+ E(() => {
119
+ R?.current ? u ? w() : M() : R.current = !0;
120
+ }, [R, u, w, M]), E(() => {
120
121
  t.isValidElement(o) && D === -1 && s.current.focus();
121
122
  }, [o, D]);
122
- const $ = (n) => {
123
- m && (n.key === i.ESCAPE && (n.stopPropagation(), f(!1), s.current.focus()), n.key === i.DOWN && O((r) => r === E.length - 1 ? 0 : r + 1), n.key === i.UP && O((r) => r === 0 ? E.length - 1 : r - 1));
124
- }, A = (n) => {
125
- (n.key === i.ENTER || n.key === i.SPACE) && f((r) => !r);
126
- }, N = (n) => {
127
- n.preventDefault(), n.currentTarget.contains(n.relatedTarget) || f(!1);
123
+ const N = (n) => {
124
+ u && (n.key === a.ESCAPE && (n.stopPropagation(), m(!1), s.current.focus()), n.key === a.DOWN && I((r) => r === y.length - 1 ? 0 : r + 1), n.key === a.UP && I((r) => r === 0 ? y.length - 1 : r - 1));
128
125
  }, F = (n) => {
129
- n.preventDefault(), f((r) => !r);
130
- }, V = E.map((n, r) => /* @__PURE__ */ t.createElement(j, {
126
+ (n.key === a.ENTER || n.key === a.SPACE) && m((r) => !r);
127
+ }, V = (n) => {
128
+ n.preventDefault(), n.currentTarget.contains(n.relatedTarget) || m(!1);
129
+ }, q = (n) => {
130
+ n.preventDefault(), m((r) => !r);
131
+ }, W = () => {
132
+ S && i();
133
+ }, _ = y.map((n, r) => /* @__PURE__ */ t.createElement(G, {
131
134
  as: "li",
132
135
  key: r,
133
136
  justifyContent: "center",
134
137
  role: "menuitem"
135
- }, W(n, {
138
+ }, j(n, {
136
139
  onClick() {
137
- n.props.onClick(), f(!1), s.current.focus();
140
+ n.props.onClick(), m(!1), s.current.focus();
138
141
  },
139
142
  isFocused: D === r
140
143
  })));
141
144
  return /* @__PURE__ */ t.createElement("div", {
142
- onKeyDown: $
143
- }, /* @__PURE__ */ t.createElement(K, {
145
+ onKeyDown: N
146
+ }, /* @__PURE__ */ t.createElement(A, {
144
147
  label: t.isValidElement(o) ? null : o,
145
148
  "aria-haspopup": !0,
146
- "aria-expanded": m,
147
- "aria-controls": u,
148
- onKeyDown: A,
149
- onMouseDown: F,
149
+ "aria-expanded": u,
150
+ "aria-controls": P,
151
+ onKeyDown: F,
152
+ onMouseDown: q,
150
153
  ref: s,
151
154
  type: "button",
152
155
  variant: "ghost",
153
- endIcon: /* @__PURE__ */ t.createElement(Z, null, /* @__PURE__ */ t.createElement(_, {
156
+ endIcon: /* @__PURE__ */ t.createElement(te, null, /* @__PURE__ */ t.createElement(H, {
154
157
  "aria-hidden": !0
155
158
  })),
156
- ...p
157
- }, o), m && /* @__PURE__ */ t.createElement(H, {
158
- onBlur: N,
159
- placement: c,
159
+ ...x
160
+ }, o), u && /* @__PURE__ */ t.createElement(X, {
161
+ onBlur: V,
162
+ placement: p,
160
163
  source: s,
164
+ onReachEnd: W,
165
+ intersectionId: S ? `popover-${P}` : void 0,
161
166
  spacing: 4
162
- }, /* @__PURE__ */ t.createElement(k, {
167
+ }, /* @__PURE__ */ t.createElement(g, {
163
168
  role: "menu",
164
169
  as: "ul",
165
170
  padding: 1,
166
- id: u
167
- }, V)));
171
+ id: P
172
+ }, _)));
168
173
  };
169
174
  h.defaultProps = {
170
175
  as: void 0
@@ -176,6 +181,7 @@ h.defaultProps = {
176
181
  },
177
182
  onOpen() {
178
183
  },
184
+ onReachEnd: void 0,
179
185
  popoverPlacement: "bottom-start",
180
186
  size: "M"
181
187
  };
@@ -186,10 +192,11 @@ h.propTypes = {
186
192
  label: e.oneOfType([e.string, e.number, e.element]).isRequired,
187
193
  onClose: e.func,
188
194
  onOpen: e.func,
189
- popoverPlacement: e.oneOf(G),
195
+ onReachEnd: e.func,
196
+ popoverPlacement: e.oneOf(Q),
190
197
  size: e.oneOf(["S", "M"])
191
198
  };
192
199
  export {
193
- L as MenuItem,
200
+ $ as MenuItem,
194
201
  h as SimpleMenu
195
202
  };
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react"),C=require("prop-types"),_=require("styled-components"),I=require("@strapi/icons/Search"),R=require("../../Flex/Flex.cjs"),D=require("../../Typography/Typography.cjs"),P=require("../../IconButton/IconButton.cjs"),s=require("../../Box/Box.cjs"),F=require("../../Divider/Divider.cjs"),K=require("../../Searchbar/Searchbar.cjs"),L=require("../../Searchbar/SearchForm.cjs"),k=require("../../helpers/useId.cjs"),w=require("../../helpers/usePrevious.cjs"),O=require("../../helpers/keyboardKeys.cjs"),l=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},e=l(o),r=l(C),H=l(_),M=l(I),h=H.default(F.Divider)`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react"),C=require("prop-types"),I=require("styled-components"),R=require("@strapi/icons"),_=require("../../Flex/Flex.cjs"),D=require("../../Typography/Typography.cjs"),P=require("../../IconButton/IconButton.cjs"),s=require("../../Box/Box.cjs"),F=require("../../Divider/Divider.cjs"),K=require("../../Searchbar/Searchbar.cjs"),L=require("../../Searchbar/SearchForm.cjs"),k=require("../../helpers/useId.cjs"),w=require("../../helpers/usePrevious.cjs"),O=require("../../helpers/keyboardKeys.cjs"),d=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},e=d(o),r=d(C),H=d(I),h=H.default(F.Divider)`
2
2
  width: ${24/16}rem;
3
3
  background-color: ${({theme:t})=>t.colors.neutral200};
4
- `,i=({as:t,label:g,searchLabel:f,searchable:b,onChange:y,value:m,onClear:S,onSubmit:v,id:B})=>{const[n,u]=o.useState(!1),p=w.usePrevious(n),q=k.useId("subnav-searchbar-clear",B),c=o.useRef(),d=o.useRef();o.useEffect(()=>{n&&c.current&&c.current.focus(),p&&!n&&d.current&&d.current.focus()},[n,p]);const E=()=>{u(a=>!a)},j=a=>{S(a),c.current.focus()},T=a=>{a.relatedTarget?.id!==q&&u(!1)},x=a=>{a.key===O.KeyboardKeys.ESCAPE&&u(!1)};return n?e.default.createElement(s.Box,{paddingLeft:4,paddingTop:5,paddingBottom:2,paddingRight:4},e.default.createElement(L.SearchForm,null,e.default.createElement(K.Searchbar,{name:"searchbar",value:m,onChange:y,placeholder:"e.g: strapi-plugin-abcd",onKeyDown:x,ref:c,onBlur:T,onClear:j,onSubmit:v,clearLabel:"Clear",size:"S"},f)),e.default.createElement(s.Box,{paddingLeft:2,paddingTop:4},e.default.createElement(h,null))):e.default.createElement(s.Box,{paddingLeft:6,paddingTop:6,paddingBottom:2,paddingRight:4},e.default.createElement(R.Flex,{justifyContent:"space-between",alignItems:"flex-start"},e.default.createElement(D.Typography,{variant:"beta",as:t},g),b&&e.default.createElement(P.IconButton,{ref:d,onClick:E,label:f,icon:e.default.createElement(M.default,null)})),e.default.createElement(s.Box,{paddingTop:4},e.default.createElement(h,null)))};i.defaultProps={as:"h2",searchable:!1,onChange(){},onClear(){},onSubmit(){},value:"",searchLabel:"",id:void 0};i.propTypes={as:r.default.string,id:r.default.string,label:r.default.string.isRequired,onChange:r.default.func,onClear:r.default.func,onSubmit:r.default.func,searchLabel:r.default.string,searchable:r.default.bool,value:r.default.string};exports.SubNavHeader=i;
4
+ `,i=({as:t,label:g,searchLabel:f,searchable:b,onChange:y,value:m,onClear:S,onSubmit:v,id:B})=>{const[n,l]=o.useState(!1),p=w.usePrevious(n),q=k.useId("subnav-searchbar-clear",B),c=o.useRef(),u=o.useRef();o.useEffect(()=>{n&&c.current&&c.current.focus(),p&&!n&&u.current&&u.current.focus()},[n,p]);const E=()=>{l(a=>!a)},j=a=>{S(a),c.current.focus()},T=a=>{a.relatedTarget?.id!==q&&l(!1)},x=a=>{a.key===O.KeyboardKeys.ESCAPE&&l(!1)};return n?e.default.createElement(s.Box,{paddingLeft:4,paddingTop:5,paddingBottom:2,paddingRight:4},e.default.createElement(L.SearchForm,null,e.default.createElement(K.Searchbar,{name:"searchbar",value:m,onChange:y,placeholder:"e.g: strapi-plugin-abcd",onKeyDown:x,ref:c,onBlur:T,onClear:j,onSubmit:v,clearLabel:"Clear",size:"S"},f)),e.default.createElement(s.Box,{paddingLeft:2,paddingTop:4},e.default.createElement(h,null))):e.default.createElement(s.Box,{paddingLeft:6,paddingTop:6,paddingBottom:2,paddingRight:4},e.default.createElement(_.Flex,{justifyContent:"space-between",alignItems:"flex-start"},e.default.createElement(D.Typography,{variant:"beta",as:t},g),b&&e.default.createElement(P.IconButton,{ref:u,onClick:E,label:f,icon:e.default.createElement(R.Search,null)})),e.default.createElement(s.Box,{paddingTop:4},e.default.createElement(h,null)))};i.defaultProps={as:"h2",searchable:!1,onChange(){},onClear(){},onSubmit(){},value:"",searchLabel:"",id:void 0};i.propTypes={as:r.default.string,id:r.default.string,label:r.default.string.isRequired,onChange:r.default.func,onClear:r.default.func,onSubmit:r.default.func,searchLabel:r.default.string,searchable:r.default.bool,value:r.default.string};exports.SubNavHeader=i;
@@ -1,7 +1,7 @@
1
1
  import e, { useState as L, useRef as p, useEffect as w } from "react";
2
2
  import r from "prop-types";
3
3
  import x from "styled-components";
4
- import D from "@strapi/icons/Search";
4
+ import { Search as D } from "@strapi/icons";
5
5
  import { Flex as I } from "../../Flex/Flex.js";
6
6
  import { Typography as K } from "../../Typography/Typography.js";
7
7
  import { IconButton as P } from "../../IconButton/IconButton.js";
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const m=require("react"),b=require("prop-types"),h=require("styled-components"),x=require("@strapi/icons/Dot"),n=require("../../Box/Box.cjs"),c=require("../../Typography/Typography.cjs"),i=require("../../Flex/Flex.cjs"),B=require("../../BaseLink/BaseLink.cjs"),r=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},t=r(m),o=r(b),s=r(h),$=r(x),v=s.default(n.Box)`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const m=require("react"),b=require("prop-types"),h=require("styled-components"),x=require("@strapi/icons"),a=require("../../Box/Box.cjs"),c=require("../../Typography/Typography.cjs"),i=require("../../Flex/Flex.cjs"),B=require("../../BaseLink/BaseLink.cjs"),n=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},t=n(m),o=n(b),s=n(h),$=s.default(a.Box)`
2
2
  display: flex;
3
3
  align-items: center;
4
4
  justify-content: space-between;
@@ -25,15 +25,15 @@
25
25
  &:focus-visible {
26
26
  outline-offset: -2px;
27
27
  }
28
- `,u=s.default($.default)`
28
+ `,u=s.default(x.Dot)`
29
29
  width: ${12/16}rem;
30
30
  height: ${4/16}rem;
31
31
  * {
32
32
  fill: ${({theme:e,$active:l})=>l?e.colors.primary600:e.colors.neutral600};
33
33
  }
34
- `,L=s.default.div`
34
+ `,v=s.default.div`
35
35
  svg {
36
36
  height: ${12/16}rem;
37
37
  width: ${12/16}rem;
38
38
  }
39
- `,a=t.default.forwardRef(({children:e,icon:l,withBullet:d,as:p,isSubSectionChild:f,...y},g)=>t.default.createElement(v,{as:p,icon:l,background:"neutral100",paddingLeft:f?9:7,paddingBottom:2,paddingTop:2,ref:g,...y},t.default.createElement(i.Flex,null,l?t.default.createElement(L,null,l):t.default.createElement(u,null),t.default.createElement(n.Box,{paddingLeft:2},t.default.createElement(c.Typography,{as:"span"},e))),d&&t.default.createElement(n.Box,{as:i.Flex,paddingRight:4},t.default.createElement(u,{$active:!0}))));a.displayName="SubNavLink";a.defaultProps={as:B.BaseLink,icon:null,isSubSectionChild:!1,withBullet:!1};a.propTypes={as:o.default.elementType,children:o.default.node.isRequired,icon:o.default.element,isSubSectionChild:o.default.bool,withBullet:o.default.bool};exports.SubNavLink=a;
39
+ `,r=t.default.forwardRef(({children:e,icon:l,withBullet:d,as:p,isSubSectionChild:f,...y},g)=>t.default.createElement($,{as:p,icon:l,background:"neutral100",paddingLeft:f?9:7,paddingBottom:2,paddingTop:2,ref:g,...y},t.default.createElement(i.Flex,null,l?t.default.createElement(v,null,l):t.default.createElement(u,null),t.default.createElement(a.Box,{paddingLeft:2},t.default.createElement(c.Typography,{as:"span"},e))),d&&t.default.createElement(a.Box,{as:i.Flex,paddingRight:4},t.default.createElement(u,{$active:!0}))));r.displayName="SubNavLink";r.defaultProps={as:B.BaseLink,icon:null,isSubSectionChild:!1,withBullet:!1};r.propTypes={as:o.default.elementType,children:o.default.node.isRequired,icon:o.default.element,isSubSectionChild:o.default.bool,withBullet:o.default.bool};exports.SubNavLink=r;
@@ -1,7 +1,7 @@
1
1
  import r from "react";
2
2
  import t from "prop-types";
3
3
  import i from "styled-components";
4
- import g from "@strapi/icons/Dot";
4
+ import { Dot as g } from "@strapi/icons";
5
5
  import { Box as l } from "../../Box/Box.js";
6
6
  import { Typography as p } from "../../Typography/Typography.js";
7
7
  import { Flex as a } from "../../Flex/Flex.js";