@strapi/design-system 1.3.1 → 1.4.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/dist/Accordion/Accordion.cjs +8 -8
  2. package/dist/Accordion/Accordion.js +6 -7
  3. package/dist/Alert/Alert.cjs +3 -3
  4. package/dist/Alert/Alert.js +10 -10
  5. package/dist/Badge/Badge.cjs +4 -1
  6. package/dist/Badge/Badge.js +46 -38
  7. package/dist/BaseCheckbox/BaseCheckbox.cjs +1 -1
  8. package/dist/BaseCheckbox/BaseCheckbox.js +1 -1
  9. package/dist/BaseRadio/RadioGroup.cjs +1 -1
  10. package/dist/BaseRadio/RadioGroup.js +5 -5
  11. package/dist/Card/CardContent.cjs +1 -1
  12. package/dist/Card/CardContent.js +3 -3
  13. package/dist/CarouselInput/CarouselImage.cjs +1 -1
  14. package/dist/CarouselInput/CarouselImage.js +3 -3
  15. package/dist/CarouselInput/CarouselInput.cjs +1 -1
  16. package/dist/CarouselInput/CarouselInput.js +27 -26
  17. package/dist/CarouselInput/CarouselSlide.cjs +1 -1
  18. package/dist/CarouselInput/CarouselSlide.js +3 -3
  19. package/dist/Combobox/Combobox.cjs +1 -1
  20. package/dist/Combobox/Combobox.js +137 -119
  21. package/dist/Combobox/ComboboxList.cjs +1 -1
  22. package/dist/Combobox/ComboboxList.js +5 -5
  23. package/dist/Combobox/components.cjs +2 -2
  24. package/dist/Combobox/components.js +1 -1
  25. package/dist/Combobox/utils.cjs +1 -1
  26. package/dist/Combobox/utils.js +18 -18
  27. package/dist/DatePicker/DatePicker.cjs +1 -1
  28. package/dist/DatePicker/DatePicker.js +53 -54
  29. package/dist/DatePicker/DatePickerCalendar.cjs +1 -1
  30. package/dist/DatePicker/DatePickerCalendar.js +17 -12
  31. package/dist/DatePicker/DatePickerTd.cjs +3 -3
  32. package/dist/DatePicker/DatePickerTd.js +24 -24
  33. package/dist/DateTimePicker/DateTimePicker.cjs +1 -0
  34. package/dist/DateTimePicker/DateTimePicker.js +143 -0
  35. package/dist/DateTimePicker/DateTimePickerProps.cjs +1 -0
  36. package/dist/DateTimePicker/DateTimePickerProps.js +51 -0
  37. package/dist/DateTimePicker/__tests__/parseDate.test.cjs +1 -0
  38. package/dist/DateTimePicker/__tests__/parseDate.test.js +8 -0
  39. package/dist/DateTimePicker/index.cjs +1 -0
  40. package/dist/DateTimePicker/index.js +4 -0
  41. package/dist/DateTimePicker/parseDate.cjs +1 -0
  42. package/dist/DateTimePicker/parseDate.js +7 -0
  43. package/dist/Dialog/DialogBody.cjs +2 -2
  44. package/dist/Dialog/DialogBody.js +14 -11
  45. package/dist/DismissibleLayer/DismissibleLayer.cjs +1 -1
  46. package/dist/DismissibleLayer/DismissibleLayer.js +26 -34
  47. package/dist/Divider/Divider.cjs +1 -1
  48. package/dist/Divider/Divider.js +3 -3
  49. package/dist/Field/Field.cjs +1 -1
  50. package/dist/Field/Field.js +26 -26
  51. package/dist/Field/FieldError.cjs +1 -1
  52. package/dist/Field/FieldError.js +4 -4
  53. package/dist/Field/FieldInput.cjs +1 -1
  54. package/dist/Field/FieldInput.js +1 -1
  55. package/dist/Flex/FlexProps.cjs +1 -1
  56. package/dist/Flex/FlexProps.js +9 -8
  57. package/dist/FocusTrap/ExampleComponent.cjs +1 -1
  58. package/dist/FocusTrap/ExampleComponent.js +3 -2
  59. package/dist/FocusTrap/FocusTrap.cjs +1 -1
  60. package/dist/FocusTrap/FocusTrap.js +27 -26
  61. package/dist/Icon/Icon.cjs +1 -1
  62. package/dist/Icon/Icon.js +3 -3
  63. package/dist/IconButton/IconButton.cjs +2 -2
  64. package/dist/IconButton/IconButton.js +13 -14
  65. package/dist/Link/Link.cjs +3 -3
  66. package/dist/Link/Link.js +19 -17
  67. package/dist/LinkButton/LinkButton.cjs +2 -2
  68. package/dist/LinkButton/LinkButton.js +2 -2
  69. package/dist/NumberInput/NumberInput.cjs +2 -2
  70. package/dist/NumberInput/NumberInput.js +134 -136
  71. package/dist/Popover/Popover.cjs +2 -2
  72. package/dist/Popover/Popover.js +10 -9
  73. package/dist/RawTable/RawCell.cjs +1 -1
  74. package/dist/RawTable/RawCell.js +91 -76
  75. package/dist/RawTable/RawTable.cjs +1 -1
  76. package/dist/RawTable/RawTable.js +24 -23
  77. package/dist/RawTable/RawTableContext.cjs +1 -1
  78. package/dist/RawTable/RawTableContext.js +1 -1
  79. package/dist/RawTable/RawTr.cjs +1 -1
  80. package/dist/RawTable/RawTr.js +1 -1
  81. package/dist/Select/Select.cjs +2 -2
  82. package/dist/Select/Select.js +147 -142
  83. package/dist/SimpleMenu/SimpleMenu.cjs +7 -7
  84. package/dist/SimpleMenu/SimpleMenu.js +128 -113
  85. package/dist/Status/Status.cjs +4 -4
  86. package/dist/Status/Status.js +1 -1
  87. package/dist/SubNav/SubNavHeader.cjs +2 -2
  88. package/dist/SubNav/SubNavHeader.js +21 -21
  89. package/dist/SubNav/SubNavLink.cjs +4 -4
  90. package/dist/SubNav/SubNavLink.js +22 -23
  91. package/dist/SubNav/SubNavLinkSection.cjs +4 -4
  92. package/dist/SubNav/SubNavLinkSection.js +8 -7
  93. package/dist/SubNav/SubNavSection.cjs +2 -2
  94. package/dist/SubNav/SubNavSection.js +11 -10
  95. package/dist/SubNav/SubNavSectionLabel.cjs +1 -1
  96. package/dist/SubNav/SubNavSectionLabel.js +1 -1
  97. package/dist/Table/TFooter.cjs +2 -2
  98. package/dist/Table/TFooter.js +1 -1
  99. package/dist/Table/Table.cjs +3 -3
  100. package/dist/Table/Table.js +20 -17
  101. package/dist/Tabs/TabGroup.cjs +1 -1
  102. package/dist/Tabs/TabGroup.js +1 -1
  103. package/dist/Tabs/useTabsFocus.cjs +1 -1
  104. package/dist/Tabs/useTabsFocus.js +12 -11
  105. package/dist/TextInput/TextInput.cjs +1 -1
  106. package/dist/TextInput/TextInput.js +36 -36
  107. package/dist/Textarea/Textarea.cjs +2 -2
  108. package/dist/Textarea/Textarea.js +14 -14
  109. package/dist/TimePicker/TimePicker.cjs +3 -3
  110. package/dist/TimePicker/TimePicker.js +47 -42
  111. package/dist/ToggleCheckbox/ToggleCheckbox.cjs +2 -2
  112. package/dist/Tooltip/hooks/useTooltipLayout.cjs +1 -1
  113. package/dist/Tooltip/hooks/useTooltipLayout.js +9 -9
  114. package/dist/helpers/useIntersection.cjs +1 -1
  115. package/dist/helpers/useIntersection.js +13 -11
  116. package/dist/helpers/useResizeObserver.cjs +1 -1
  117. package/dist/helpers/useResizeObserver.js +10 -8
  118. package/dist/hooks/useControllableState.cjs +1 -0
  119. package/dist/hooks/useControllableState.js +25 -0
  120. package/dist/index.cjs +1 -1
  121. package/dist/index.js +289 -286
  122. package/dist/themes/ColorButton.cjs +2 -2
  123. package/dist/themes/ColorButton.js +4 -4
  124. package/dist/themes/extendTheme.cjs +3 -3
  125. package/dist/themes/extendTheme.js +6 -6
  126. package/dist/themes/sizes.cjs +1 -1
  127. package/dist/themes/sizes.js +4 -0
  128. package/dist/v2/Breadcrumbs/CrumbSimpleMenu.cjs +2 -2
  129. package/dist/v2/Breadcrumbs/CrumbSimpleMenu.js +6 -6
  130. package/dist/v2/LinkButton/LinkButton.cjs +1 -1
  131. package/dist/v2/LinkButton/LinkButton.js +19 -19
  132. package/dist/v2/SimpleMenu/SimpleMenu.cjs +7 -7
  133. package/dist/v2/SimpleMenu/SimpleMenu.js +101 -92
  134. package/dist/v2/SubNav/SubNavHeader.cjs +2 -2
  135. package/dist/v2/SubNav/SubNavHeader.js +21 -21
  136. package/dist/v2/SubNav/SubNavLink.cjs +2 -2
  137. package/dist/v2/SubNav/SubNavLink.js +16 -17
  138. package/dist/v2/SubNav/SubNavLinkSection.cjs +4 -4
  139. package/dist/v2/SubNav/SubNavLinkSection.js +8 -8
  140. package/dist/v2/SubNav/SubNavSection.cjs +2 -2
  141. package/dist/v2/SubNav/SubNavSection.js +1 -1
  142. package/dist/v2/SubNav/SubNavSectionLabel.cjs +1 -1
  143. package/dist/v2/SubNav/SubNavSectionLabel.js +1 -1
  144. package/package.json +6 -13
@@ -1,13 +1,13 @@
1
- "use strict";var i=Object.defineProperty;var s=Object.getOwnPropertySymbols;var a=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable;var h=(t,e,o)=>e in t?i(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,c=(t,e)=>{for(var o in e||(e={}))a.call(e,o)&&h(t,o,e[o]);if(s)for(var o of s(e))l.call(e,o)&&h(t,o,e[o]);return t};Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("./lightTheme/index.cjs"),m=t=>`
1
+ "use strict";var m=Object.defineProperty;var s=Object.getOwnPropertySymbols;var a=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable;var h=(t,e,o)=>e in t?m(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,c=(t,e)=>{for(var o in e||(e={}))a.call(e,o)&&h(t,o,e[o]);if(s)for(var o of s(e))l.call(e,o)&&h(t,o,e[o]);return t};Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("./lightTheme/index.cjs"),u=t=>`
2
2
  ${t}
3
3
 
4
4
  The following is an example:
5
5
 
6
6
 
7
- import { lightTheme, extendTheme } from '@strapi/design-system/themes';
7
+ import { lightTheme, extendTheme } from '@strapi/design-system';
8
8
 
9
9
  const myCustomTheme = extendTheme(lightTheme, {
10
10
  ${Object.keys(d.lightTheme).map(e=>`${e}: /* put the overrides for the ${e} key */,`).join(`
11
11
  `)}
12
12
  })
13
- `,r=t=>t&&typeof t=="object"&&!Array.isArray(t),u=(t,e)=>{const o=c({},t);return r(t)&&r(e)&&Object.keys(e).forEach(n=>{r(e[n])&&t.hasOwnProperty(n)?o[n]=u(t[n],e[n]):o[n]=e[n]}),o},f=(t,e)=>{if(!r(t)){const o=m("The first argument should be an object and corresponds to the theme you want to extend.");throw new Error(o)}if(!r(e)){const o=m("The second argument should be an object and corresponds to the keys of the theme you want to override.");throw new Error(o)}return u(t,e)};exports.extendTheme=f;
13
+ `,r=t=>t&&typeof t=="object"&&!Array.isArray(t),i=(t,e)=>{const o=c({},t);return r(t)&&r(e)&&Object.keys(e).forEach(n=>{r(e[n])&&t.hasOwnProperty(n)?o[n]=i(t[n],e[n]):o[n]=e[n]}),o},f=(t,e)=>{if(!r(t)){const o=u("The first argument should be an object and corresponds to the theme you want to extend.");throw new Error(o)}if(!r(e)){const o=u("The second argument should be an object and corresponds to the keys of the theme you want to override.");throw new Error(o)}return i(t,e)};exports.extendTheme=f;
@@ -1,7 +1,7 @@
1
1
  var f = Object.defineProperty;
2
2
  var h = Object.getOwnPropertySymbols;
3
3
  var p = Object.prototype.hasOwnProperty, u = Object.prototype.propertyIsEnumerable;
4
- var s = (t, e, o) => e in t ? f(t, e, { enumerable: !0, configurable: !0, writable: !0, value: o }) : t[e] = o, m = (t, e) => {
4
+ var s = (t, e, o) => e in t ? f(t, e, { enumerable: !0, configurable: !0, writable: !0, value: o }) : t[e] = o, c = (t, e) => {
5
5
  for (var o in e || (e = {}))
6
6
  p.call(e, o) && s(t, o, e[o]);
7
7
  if (h)
@@ -10,32 +10,32 @@ var s = (t, e, o) => e in t ? f(t, e, { enumerable: !0, configurable: !0, writab
10
10
  return t;
11
11
  };
12
12
  import { lightTheme as i } from "./lightTheme/index.js";
13
- const c = (t) => `
13
+ const m = (t) => `
14
14
  ${t}
15
15
 
16
16
  The following is an example:
17
17
 
18
18
 
19
- import { lightTheme, extendTheme } from '@strapi/design-system/themes';
19
+ import { lightTheme, extendTheme } from '@strapi/design-system';
20
20
 
21
21
  const myCustomTheme = extendTheme(lightTheme, {
22
22
  ${Object.keys(i).map((e) => `${e}: /* put the overrides for the ${e} key */,`).join(`
23
23
  `)}
24
24
  })
25
25
  `, r = (t) => t && typeof t == "object" && !Array.isArray(t), a = (t, e) => {
26
- const o = m({}, t);
26
+ const o = c({}, t);
27
27
  return r(t) && r(e) && Object.keys(e).forEach((n) => {
28
28
  r(e[n]) && t.hasOwnProperty(n) ? o[n] = a(t[n], e[n]) : o[n] = e[n];
29
29
  }), o;
30
30
  }, b = (t, e) => {
31
31
  if (!r(t)) {
32
- const o = c(
32
+ const o = m(
33
33
  "The first argument should be an object and corresponds to the theme you want to extend."
34
34
  );
35
35
  throw new Error(o);
36
36
  }
37
37
  if (!r(e)) {
38
- const o = c(
38
+ const o = m(
39
39
  "The second argument should be an object and corresponds to the keys of the theme you want to override."
40
40
  );
41
41
  throw new Error(o);
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={input:{S:`${32/16}rem`,M:`${40/16}rem`},accordions:{S:`${48/16}rem`,M:`${88/16}rem`},button:{S:`${32/16}rem`,M:`${36/16}rem`,L:`${40/16}rem`}};exports.sizes=e;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={input:{S:`${32/16}rem`,M:`${40/16}rem`},accordions:{S:`${48/16}rem`,M:`${88/16}rem`},badge:{S:`${16/16}rem`,M:`${24/16}rem`},button:{S:`${32/16}rem`,M:`${36/16}rem`,L:`${40/16}rem`}};exports.sizes=e;
@@ -7,6 +7,10 @@ const e = {
7
7
  S: `${3}rem`,
8
8
  M: `${5.5}rem`
9
9
  },
10
+ badge: {
11
+ S: `${1}rem`,
12
+ M: `${1.5}rem`
13
+ },
10
14
  button: {
11
15
  S: `${2}rem`,
12
16
  M: `${2.25}rem`,
@@ -1,8 +1,8 @@
1
- "use strict";var m=Object.defineProperty;var n=Object.getOwnPropertySymbols;var c=Object.prototype.hasOwnProperty,d=Object.prototype.propertyIsEnumerable;var s=(e,t,r)=>t in e?m(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,i=(e,t)=>{for(var r in t||(t={}))c.call(t,r)&&s(e,r,t[r]);if(n)for(var r of n(t))d.call(t,r)&&s(e,r,t[r]);return e};var p=(e,t)=>{var r={};for(var u in e)c.call(e,u)&&t.indexOf(u)<0&&(r[u]=e[u]);if(e!=null&&n)for(var u of n(e))t.indexOf(u)<0&&d.call(e,u)&&(r[u]=e[u]);return r};Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const y=require("prop-types"),S=require("react"),_=require("styled-components"),M=require("../../Button/Button.cjs"),b=require("../SimpleMenu/SimpleMenu.cjs"),q=require("@strapi/icons/CarretDown"),l=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},o=l(y),f=l(S),g=l(_),B=l(q),C=g.default(M.Button)`
1
+ "use strict";var m=Object.defineProperty;var n=Object.getOwnPropertySymbols;var c=Object.prototype.hasOwnProperty,d=Object.prototype.propertyIsEnumerable;var s=(e,t,r)=>t in e?m(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,i=(e,t)=>{for(var r in t||(t={}))c.call(t,r)&&s(e,r,t[r]);if(n)for(var r of n(t))d.call(t,r)&&s(e,r,t[r]);return e};var p=(e,t)=>{var r={};for(var u in e)c.call(e,u)&&t.indexOf(u)<0&&(r[u]=e[u]);if(e!=null&&n)for(var u of n(e))t.indexOf(u)<0&&d.call(e,u)&&(r[u]=e[u]);return r};Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const y=require("prop-types"),S=require("react"),_=require("styled-components"),M=require("@strapi/icons/CarretDown"),b=require("../../Button/Button.cjs"),q=require("../SimpleMenu/SimpleMenu.cjs"),l=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},o=l(y),f=l(S),g=l(_),B=l(M),C=g.default(b.Button)`
2
2
  padding: ${({theme:e})=>`${e.spaces[1]} ${e.spaces[3]}`};
3
3
 
4
4
  :hover,
5
5
  :focus {
6
6
  background-color: ${({theme:e})=>e.colors.neutral200};
7
7
  }
8
- `,a=r=>{var u=r,{children:e}=u,t=p(u,["children"]);return f.default.createElement(b.SimpleMenu,i({noBorder:!0,icon:f.default.createElement(B.default,null),as:C,size:"S"},t),e)};a.displayName="CrumbSimpleMenu";a.propTypes={"aria-label":o.default.string.isRequired,children:o.default.oneOfType([o.default.arrayOf(o.default.node),o.default.node]).isRequired};exports.CrumbSimpleMenu=a;
8
+ `,a=r=>{var u=r,{children:e}=u,t=p(u,["children"]);return f.default.createElement(q.SimpleMenu,i({noBorder:!0,icon:f.default.createElement(B.default,null),as:C,size:"S"},t),e)};a.displayName="CrumbSimpleMenu";a.propTypes={"aria-label":o.default.string.isRequired,children:o.default.oneOfType([o.default.arrayOf(o.default.node),o.default.node]).isRequired};exports.CrumbSimpleMenu=a;
@@ -21,10 +21,10 @@ var s = (e, r) => {
21
21
  import n from "prop-types";
22
22
  import u from "react";
23
23
  import f from "styled-components";
24
- import { Button as y } from "../../Button/Button.js";
25
- import { SimpleMenu as S } from "../SimpleMenu/SimpleMenu.js";
26
- import b from "@strapi/icons/CarretDown";
27
- const $ = f(y)`
24
+ import y from "@strapi/icons/CarretDown";
25
+ import { Button as S } from "../../Button/Button.js";
26
+ import { SimpleMenu as b } from "../SimpleMenu/SimpleMenu.js";
27
+ const $ = f(S)`
28
28
  padding: ${({ theme: e }) => `${e.spaces[1]} ${e.spaces[3]}`};
29
29
 
30
30
  :hover,
@@ -33,9 +33,9 @@ const $ = f(y)`
33
33
  }
34
34
  `, c = (o) => {
35
35
  var t = o, { children: e } = t, r = s(t, ["children"]);
36
- return /* @__PURE__ */ u.createElement(S, l({
36
+ return /* @__PURE__ */ u.createElement(b, l({
37
37
  noBorder: !0,
38
- icon: /* @__PURE__ */ u.createElement(b, null),
38
+ icon: /* @__PURE__ */ u.createElement(y, null),
39
39
  as: $,
40
40
  size: "S"
41
41
  }, r), e);
@@ -30,4 +30,4 @@
30
30
  display: inline-flex;
31
31
  text-decoration: none;
32
32
  pointer-events: ${({disabled:e})=>e?"none":void 0};
33
- `,s=n.default.forwardRef((O,L)=>{var y=O,{variant:e,startIcon:t,endIcon:a,disabled:o,children:f,size:p,as:k}=y,S=m(y,["variant","startIcon","endIcon","disabled","children","size","as"]);return n.default.createElement(N,h(v({ref:L,"aria-disabled":o,size:p,variant:e},S),{as:k||T.BaseLink}),t&&n.default.createElement(u.Box,{"aria-hidden":!0,paddingRight:2},t),p==="S"?n.default.createElement(l.Typography,{variant:"pi",fontWeight:"bold"},f):n.default.createElement(l.Typography,{fontWeight:"bold"},f),a&&n.default.createElement(u.Box,{"aria-hidden":!0,paddingLeft:2},a))});s.displayName="LinkButton";s.defaultProps={as:T.BaseLink,disabled:!1,startIcon:void 0,endIcon:void 0,size:"S",variant:"default",onClick:void 0,href:void 0,to:void 0};s.propTypes={as:r.default.elementType,children:r.default.node.isRequired,disabled:r.default.bool,endIcon:r.default.element,href:e=>{if(!e.disabled&&!e.to&&!e.href)return new Error("href must be defined")},onClick:r.default.func,size:r.default.oneOf($.BUTTON_SIZES),startIcon:r.default.element,to:e=>{if(!e.disabled&&!e.href&&!e.to)return new Error("to must be defined")},variant:r.default.oneOf($.VARIANTS)};exports.LinkButton=s;
33
+ `,s=n.default.forwardRef((O,L)=>{var y=O,{variant:e,startIcon:t,endIcon:a,disabled:o,children:f,size:p,as:k}=y,S=m(y,["variant","startIcon","endIcon","disabled","children","size","as"]);return n.default.createElement(N,h(v({ref:L,"aria-disabled":o,size:p,variant:e},S),{as:k||T.BaseLink}),t&&n.default.createElement(u.Box,{"aria-hidden":!0,paddingRight:2},t),p==="S"?n.default.createElement(l.Typography,{variant:"pi",fontWeight:"bold"},f):n.default.createElement(l.Typography,{fontWeight:"bold"},f),a&&n.default.createElement(u.Box,{"aria-hidden":!0,paddingLeft:2},a))});s.displayName="LinkButton";s.defaultProps={as:T.BaseLink,disabled:!1,startIcon:void 0,endIcon:void 0,size:"S",variant:"default",onClick:void 0,href:void 0,to:void 0};s.propTypes={as:r.default.elementType,children:r.default.node.isRequired,disabled:r.default.bool,endIcon:r.default.element,href(e){if(!e.disabled&&!e.to&&!e.href)return new Error("href must be defined")},onClick:r.default.func,size:r.default.oneOf($.BUTTON_SIZES),startIcon:r.default.element,to(e){if(!e.disabled&&!e.href&&!e.to)return new Error("to must be defined")},variant:r.default.oneOf($.VARIANTS)};exports.LinkButton=s;
@@ -2,22 +2,22 @@ var x = Object.defineProperty, B = Object.defineProperties;
2
2
  var T = Object.getOwnPropertyDescriptors;
3
3
  var n = Object.getOwnPropertySymbols;
4
4
  var u = Object.prototype.hasOwnProperty, b = Object.prototype.propertyIsEnumerable;
5
- var c = (e, t, r) => t in e ? x(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, v = (e, t) => {
6
- for (var r in t || (t = {}))
7
- u.call(t, r) && c(e, r, t[r]);
5
+ var c = (e, r, t) => r in e ? x(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t, v = (e, r) => {
6
+ for (var t in r || (r = {}))
7
+ u.call(r, t) && c(e, t, r[t]);
8
8
  if (n)
9
- for (var r of n(t))
10
- b.call(t, r) && c(e, r, t[r]);
9
+ for (var t of n(r))
10
+ b.call(r, t) && c(e, t, r[t]);
11
11
  return e;
12
- }, y = (e, t) => B(e, T(t));
13
- var $ = (e, t) => {
14
- var r = {};
12
+ }, y = (e, r) => B(e, T(r));
13
+ var $ = (e, r) => {
14
+ var t = {};
15
15
  for (var o in e)
16
- u.call(e, o) && t.indexOf(o) < 0 && (r[o] = e[o]);
16
+ u.call(e, o) && r.indexOf(o) < 0 && (t[o] = e[o]);
17
17
  if (e != null && n)
18
18
  for (var o of n(e))
19
- t.indexOf(o) < 0 && b.call(e, o) && (r[o] = e[o]);
20
- return r;
19
+ r.indexOf(o) < 0 && b.call(e, o) && (t[o] = e[o]);
20
+ return t;
21
21
  };
22
22
  import a from "react";
23
23
  import L from "styled-components";
@@ -29,7 +29,7 @@ import { BUTTON_SIZES as P, VARIANTS as W } from "../../Button/constants.js";
29
29
  import { BaseButtonWrapper as w } from "../../BaseButton/BaseButton.js";
30
30
  import { BaseLink as h } from "../../BaseLink/BaseLink.js";
31
31
  const A = L(w)`
32
- padding: ${({ theme: e, size: t }) => `${t === "S" ? e.spaces[2] : "10px"} ${e.spaces[4]}`};
32
+ padding: ${({ theme: e, size: r }) => `${r === "S" ? e.spaces[2] : "10px"} ${e.spaces[4]}`};
33
33
  background: ${({ theme: e }) => e.colors.buttonPrimary600};
34
34
  border: 1px solid ${({ theme: e }) => e.colors.buttonPrimary600};
35
35
  border-radius: ${({ theme: e }) => e.borderRadius};
@@ -62,7 +62,7 @@ const A = L(w)`
62
62
  pointer-events: ${({ disabled: e }) => e ? "none" : void 0};
63
63
  `, s = a.forwardRef(
64
64
  (O, E) => {
65
- var p = O, { variant: e, startIcon: t, endIcon: r, disabled: o, children: f, size: m, as: S } = p, k = $(p, ["variant", "startIcon", "endIcon", "disabled", "children", "size", "as"]);
65
+ var p = O, { variant: e, startIcon: r, endIcon: t, disabled: o, children: f, size: m, as: S } = p, k = $(p, ["variant", "startIcon", "endIcon", "disabled", "children", "size", "as"]);
66
66
  return /* @__PURE__ */ a.createElement(A, y(v({
67
67
  ref: E,
68
68
  "aria-disabled": o,
@@ -70,18 +70,18 @@ const A = L(w)`
70
70
  variant: e
71
71
  }, k), {
72
72
  as: S || h
73
- }), t && /* @__PURE__ */ a.createElement(l, {
73
+ }), r && /* @__PURE__ */ a.createElement(l, {
74
74
  "aria-hidden": !0,
75
75
  paddingRight: 2
76
- }, t), m === "S" ? /* @__PURE__ */ a.createElement(d, {
76
+ }, r), m === "S" ? /* @__PURE__ */ a.createElement(d, {
77
77
  variant: "pi",
78
78
  fontWeight: "bold"
79
79
  }, f) : /* @__PURE__ */ a.createElement(d, {
80
80
  fontWeight: "bold"
81
- }, f), r && /* @__PURE__ */ a.createElement(l, {
81
+ }, f), t && /* @__PURE__ */ a.createElement(l, {
82
82
  "aria-hidden": !0,
83
83
  paddingLeft: 2
84
- }, r));
84
+ }, t));
85
85
  }
86
86
  );
87
87
  s.displayName = "LinkButton";
@@ -101,14 +101,14 @@ s.propTypes = {
101
101
  children: i.node.isRequired,
102
102
  disabled: i.bool,
103
103
  endIcon: i.element,
104
- href: (e) => {
104
+ href(e) {
105
105
  if (!e.disabled && !e.to && !e.href)
106
106
  return new Error("href must be defined");
107
107
  },
108
108
  onClick: i.func,
109
109
  size: i.oneOf(P),
110
110
  startIcon: i.element,
111
- to: (e) => {
111
+ to(e) {
112
112
  if (!e.disabled && !e.href && !e.to)
113
113
  return new Error("to must be defined");
114
114
  },
@@ -1,19 +1,19 @@
1
- "use strict";var G=Object.defineProperty;var P=Object.getOwnPropertySymbols;var O=Object.prototype.hasOwnProperty,R=Object.prototype.propertyIsEnumerable;var M=(e,s,t)=>s in e?G(e,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[s]=t,m=(e,s)=>{for(var t in s||(s={}))O.call(s,t)&&M(e,t,s[t]);if(P)for(var t of P(s))R.call(s,t)&&M(e,t,s[t]);return e};var S=(e,s)=>{var t={};for(var r in e)O.call(e,r)&&s.indexOf(r)<0&&(t[r]=e[r]);if(e!=null&&P)for(var r of P(e))s.indexOf(r)<0&&R.call(e,r)&&(t[r]=e[r]);return t};Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("react"),H=require("prop-types"),J=require("styled-components"),Q=require("@strapi/icons/CarretDown"),j=require("../../Typography/Typography.cjs"),q=require("../../Box/Box.cjs"),X=require("../../Flex/Flex.cjs"),_=require("../../Button/Button.cjs"),Y=require("../../BaseLink/BaseLink.cjs"),L=require("../../Popover/Popover.cjs"),F=require("./utils.cjs"),Z=require("../../helpers/useId.cjs"),d=require("../../helpers/keyboardKeys.cjs"),b=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},a=b(l),o=b(H),T=b(J),ee=b(Q),te=T.default.button`
1
+ "use strict";var Q=Object.defineProperty;var b=Object.getOwnPropertySymbols;var j=Object.prototype.hasOwnProperty,_=Object.prototype.propertyIsEnumerable;var M=(e,s,t)=>s in e?Q(e,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[s]=t,m=(e,s)=>{for(var t in s||(s={}))j.call(s,t)&&M(e,t,s[t]);if(b)for(var t of b(s))_.call(s,t)&&M(e,t,s[t]);return e};var D=(e,s)=>{var t={};for(var a in e)j.call(e,a)&&s.indexOf(a)<0&&(t[a]=e[a]);if(e!=null&&b)for(var a of b(e))s.indexOf(a)<0&&_.call(e,a)&&(t[a]=e[a]);return t};Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("react"),X=require("prop-types"),Y=require("styled-components"),L=require("@radix-ui/react-use-callback-ref"),Z=require("@strapi/icons/CarretDown"),F=require("../../Typography/Typography.cjs"),I=require("../../Box/Box.cjs"),ee=require("../../Flex/Flex.cjs"),A=require("../../Button/Button.cjs"),te=require("../../BaseLink/BaseLink.cjs"),N=require("../../Popover/Popover.cjs"),$=require("./utils.cjs"),ne=require("../../helpers/useId.cjs"),d=require("../../helpers/keyboardKeys.cjs"),K=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},r=K(l),o=K(X),B=K(Y),oe=K(Z),se=B.default.button`
2
2
  border: none;
3
3
  padding: 0;
4
4
  background: transparent;
5
5
  cursor: pointer;
6
- ${F.getOptionStyle}
7
- `,ne=T.default(Y.BaseLink)`
6
+ ${$.getOptionStyle}
7
+ `,ae=B.default(te.BaseLink)`
8
8
  text-decoration: none;
9
- ${F.getOptionStyle}
10
- `,oe=T.default.span`
9
+ ${$.getOptionStyle}
10
+ `,re=B.default.span`
11
11
  display: flex;
12
12
  align-items: center;
13
13
  svg {
14
14
  height: 4px;
15
15
  width: 6px;
16
16
  }
17
- `,se=T.default(_.Button)`
17
+ `,ue=B.default(A.Button)`
18
18
  padding: ${({theme:e})=>`${e.spaces[1]} ${e.spaces[3]}`};
19
- `,C=v=>{var K=v,{as:e,children:s,onClick:t,isFocused:r,isLink:g}=K,h=S(K,["as","children","onClick","isFocused","isLink"]);const i=l.useRef();l.useEffect(()=>{r&&i.current&&i.current.focus()},[r]);const x=m({tabIndex:r?0:-1,ref:i,role:"menuitem"},h),k=c=>{(c.key===d.KeyboardKeys.SPACE||c.key===d.KeyboardKeys.ENTER)&&t()};return g?a.default.createElement(ne,m({as:e},x),a.default.createElement(q.Box,{padding:2},a.default.createElement(j.Typography,null,s))):a.default.createElement(te,m({onKeyDown:k,onMouseDown:t,type:"button"},x),a.default.createElement(q.Box,{padding:2},a.default.createElement(j.Typography,null,s)))};C.defaultProps={onClick:()=>{},isFocused:!1,isLink:!1};C.propTypes={as:o.default.elementType,children:o.default.node.isRequired,isFocused:o.default.bool,isLink:o.default.bool,onClick:o.default.func};const E=x=>{var k=x,{label:e,children:s,id:t,as:r,onOpen:g=()=>{},onClose:h=()=>{},size:v,popoverPlacement:K}=k,i=S(k,["label","children","id","as","onOpen","onClose","size","popoverPlacement"]);const c=l.useRef(),w=Z.useId("simplemenu",t),f=l.useRef(!1),[p,y]=l.useState(!1),[D,I]=l.useState(0),B=l.Children.toArray(s),A=v==="S"?se:_.Button,N=r||A;l.useEffect(()=>{if(["string","number"].includes(typeof e)){const n=B.findIndex(u=>u.props.children===e);n!==-1&&I(n)}},[e]),l.useEffect(()=>{f!=null&&f.current?p&&typeof g=="function"?g():typeof h=="function"&&h():f.current=!0},[f,p]),l.useEffect(()=>{a.default.isValidElement(e)&&D==-1&&c.current.focus()},[e,D]);const $=n=>{p&&(n.key===d.KeyboardKeys.ESCAPE&&(n.stopPropagation(),y(!1),c.current.focus()),n.key===d.KeyboardKeys.DOWN&&I(u=>u===B.length-1?0:u+1),n.key===d.KeyboardKeys.UP&&I(u=>u===0?B.length-1:u-1))},V=n=>{(n.key===d.KeyboardKeys.ENTER||n.key===d.KeyboardKeys.SPACE)&&y(u=>!u)},W=n=>{n.preventDefault(),n.currentTarget.contains(n.relatedTarget)||y(!1)},z=n=>{n.preventDefault(),y(u=>!u)},U=B.map((n,u)=>a.default.createElement(X.Flex,{as:"li",key:u,justifyContent:"center",role:"menuitem"},l.cloneElement(n,{onClick:()=>{n.props.onClick(),y(!1),c.current.focus()},isFocused:D===u})));return a.default.createElement("div",{onKeyDown:$},a.default.createElement(N,m({label:a.default.isValidElement(e)?null:e,"aria-haspopup":!0,"aria-expanded":p,"aria-controls":w,onKeyDown:V,onMouseDown:z,ref:c,type:"button",variant:"ghost",endIcon:a.default.createElement(oe,null,a.default.createElement(ee.default,{"aria-hidden":!0}))},i),e),p&&a.default.createElement(L.Popover,{onBlur:W,placement:K,source:c,spacing:4},a.default.createElement(q.Box,{role:"menu",as:"ul",padding:1,id:w},U)))};E.defaultProps={as:void 0};E.displayName="SimpleMenu";E.defaultProps={popoverPlacement:"bottom-start",size:"M"};E.propTypes={as:o.default.any,children:o.default.oneOfType([o.default.arrayOf(o.default.node),o.default.node]).isRequired,id:o.default.string,label:o.default.oneOfType([o.default.string,o.default.number,o.default.element]).isRequired,onClose:o.default.func,onOpen:o.default.func,popoverPlacement:o.default.oneOf(L.POPOVER_PLACEMENTS),size:o.default.oneOf(["S","M"])};exports.MenuItem=C;exports.SimpleMenu=E;
19
+ `,S=O=>{var g=O,{as:e,children:s,onClick:t,isFocused:a,isLink:C}=g,P=D(g,["as","children","onClick","isFocused","isLink"]);const i=l.useRef();l.useEffect(()=>{a&&i.current&&i.current.focus()},[a]);const x=m({tabIndex:a?0:-1,ref:i,role:"menuitem"},P),h=c=>{(c.key===d.KeyboardKeys.SPACE||c.key===d.KeyboardKeys.ENTER)&&t()};return C?r.default.createElement(ae,m({as:e},x),r.default.createElement(I.Box,{padding:2},r.default.createElement(F.Typography,null,s))):r.default.createElement(se,m({onKeyDown:h,onMouseDown:t,type:"button"},x),r.default.createElement(I.Box,{padding:2},r.default.createElement(F.Typography,null,s)))};S.defaultProps={as:void 0,onClick(){},isFocused:!1,isLink:!1};S.propTypes={as:o.default.elementType,children:o.default.node.isRequired,isFocused:o.default.bool,isLink:o.default.bool,onClick:o.default.func};const E=x=>{var h=x,{label:e,children:s,id:t,as:a,onOpen:C=()=>{},onClose:P=()=>{},size:O,popoverPlacement:g}=h,i=D(h,["label","children","id","as","onOpen","onClose","size","popoverPlacement"]);const c=l.useRef(),R=ne.useId("simplemenu",t),f=l.useRef(!1),[p,y]=l.useState(!1),[T,q]=l.useState(0),k=l.Children.toArray(s),V=O==="S"?ue:A.Button,W=a||V;l.useEffect(()=>{if(["string","number"].includes(typeof e)){const n=k.findIndex(u=>u.props.children===e);n!==-1&&q(n)}},[e]);const v=L.useCallbackRef(C),w=L.useCallbackRef(P);l.useEffect(()=>{f!=null&&f.current?p?v():w():f.current=!0},[f,p,v,w]),l.useEffect(()=>{r.default.isValidElement(e)&&T===-1&&c.current.focus()},[e,T]);const z=n=>{p&&(n.key===d.KeyboardKeys.ESCAPE&&(n.stopPropagation(),y(!1),c.current.focus()),n.key===d.KeyboardKeys.DOWN&&q(u=>u===k.length-1?0:u+1),n.key===d.KeyboardKeys.UP&&q(u=>u===0?k.length-1:u-1))},U=n=>{(n.key===d.KeyboardKeys.ENTER||n.key===d.KeyboardKeys.SPACE)&&y(u=>!u)},G=n=>{n.preventDefault(),n.currentTarget.contains(n.relatedTarget)||y(!1)},H=n=>{n.preventDefault(),y(u=>!u)},J=k.map((n,u)=>r.default.createElement(ee.Flex,{as:"li",key:u,justifyContent:"center",role:"menuitem"},l.cloneElement(n,{onClick(){n.props.onClick(),y(!1),c.current.focus()},isFocused:T===u})));return r.default.createElement("div",{onKeyDown:z},r.default.createElement(W,m({label:r.default.isValidElement(e)?null:e,"aria-haspopup":!0,"aria-expanded":p,"aria-controls":R,onKeyDown:U,onMouseDown:H,ref:c,type:"button",variant:"ghost",endIcon:r.default.createElement(re,null,r.default.createElement(oe.default,{"aria-hidden":!0}))},i),e),p&&r.default.createElement(N.Popover,{onBlur:G,placement:g,source:c,spacing:4},r.default.createElement(I.Box,{role:"menu",as:"ul",padding:1,id:R},J)))};E.defaultProps={as:void 0};E.displayName="SimpleMenu";E.defaultProps={id:void 0,onClose(){},onOpen(){},popoverPlacement:"bottom-start",size:"M"};E.propTypes={as:o.default.any,children:o.default.oneOfType([o.default.arrayOf(o.default.node),o.default.node]).isRequired,id:o.default.string,label:o.default.oneOfType([o.default.string,o.default.number,o.default.element]).isRequired,onClose:o.default.func,onOpen:o.default.func,popoverPlacement:o.default.oneOf(N.POPOVER_PLACEMENTS),size:o.default.oneOf(["S","M"])};exports.MenuItem=S;exports.SimpleMenu=E;
@@ -1,105 +1,107 @@
1
- var U = Object.defineProperty;
2
- var P = Object.getOwnPropertySymbols;
3
- var v = Object.prototype.hasOwnProperty, K = Object.prototype.propertyIsEnumerable;
4
- var M = (e, r, n) => r in e ? U(e, r, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[r] = n, d = (e, r) => {
1
+ var J = Object.defineProperty;
2
+ var h = Object.getOwnPropertySymbols;
3
+ var A = Object.prototype.hasOwnProperty, L = Object.prototype.propertyIsEnumerable;
4
+ var K = (e, r, n) => r in e ? J(e, r, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[r] = n, d = (e, r) => {
5
5
  for (var n in r || (r = {}))
6
- v.call(r, n) && M(e, n, r[n]);
7
- if (P)
8
- for (var n of P(r))
9
- K.call(r, n) && M(e, n, r[n]);
6
+ A.call(r, n) && K(e, n, r[n]);
7
+ if (h)
8
+ for (var n of h(r))
9
+ L.call(r, n) && K(e, n, r[n]);
10
10
  return e;
11
11
  };
12
- var x = (e, r) => {
12
+ var w = (e, r) => {
13
13
  var n = {};
14
14
  for (var s in e)
15
- v.call(e, s) && r.indexOf(s) < 0 && (n[s] = e[s]);
16
- if (e != null && P)
17
- for (var s of P(e))
18
- r.indexOf(s) < 0 && K.call(e, s) && (n[s] = e[s]);
15
+ A.call(e, s) && r.indexOf(s) < 0 && (n[s] = e[s]);
16
+ if (e != null && h)
17
+ for (var s of h(e))
18
+ r.indexOf(s) < 0 && L.call(e, s) && (n[s] = e[s]);
19
19
  return n;
20
20
  };
21
- import i, { useRef as O, useEffect as D, useState as A, Children as G, cloneElement as H } from "react";
21
+ import i, { useRef as x, useEffect as C, useState as N, Children as Q, cloneElement as X } from "react";
22
22
  import o from "prop-types";
23
- import C from "styled-components";
24
- import J from "@strapi/icons/CarretDown";
25
- import { Typography as L } from "../../Typography/Typography.js";
23
+ import k from "styled-components";
24
+ import { useCallbackRef as $ } from "@radix-ui/react-use-callback-ref";
25
+ import Y from "@strapi/icons/CarretDown";
26
+ import { Typography as F } from "../../Typography/Typography.js";
26
27
  import { Box as R } from "../../Box/Box.js";
27
- import { Flex as Q } from "../../Flex/Flex.js";
28
- import { Button as N } from "../../Button/Button.js";
29
- import { BaseLink as X } from "../../BaseLink/BaseLink.js";
30
- import { POPOVER_PLACEMENTS as Y, Popover as Z } from "../../Popover/Popover.js";
31
- import { getOptionStyle as $ } from "./utils.js";
32
- import { useId as ee } from "../../helpers/useId.js";
33
- import { KeyboardKeys as l } from "../../helpers/keyboardKeys.js";
34
- const ne = C.button`
28
+ import { Flex as Z } from "../../Flex/Flex.js";
29
+ import { Button as V } from "../../Button/Button.js";
30
+ import { BaseLink as ee } from "../../BaseLink/BaseLink.js";
31
+ import { POPOVER_PLACEMENTS as ne, Popover as te } from "../../Popover/Popover.js";
32
+ import { getOptionStyle as q } from "./utils.js";
33
+ import { useId as oe } from "../../helpers/useId.js";
34
+ import { KeyboardKeys as c } from "../../helpers/keyboardKeys.js";
35
+ const re = k.button`
35
36
  border: none;
36
37
  padding: 0;
37
38
  background: transparent;
38
39
  cursor: pointer;
39
- ${$}
40
- `, te = C(X)`
40
+ ${q}
41
+ `, se = k(ee)`
41
42
  text-decoration: none;
42
- ${$}
43
- `, oe = C.span`
43
+ ${q}
44
+ `, ie = k.span`
44
45
  display: flex;
45
46
  align-items: center;
46
47
  svg {
47
48
  height: 4px;
48
49
  width: 6px;
49
50
  }
50
- `, re = C(N)`
51
+ `, ae = k(V)`
51
52
  padding: ${({ theme: e }) => `${e.spaces[1]} ${e.spaces[3]}`};
52
- `, F = (b) => {
53
- var g = b, { as: e, children: r, onClick: n, isFocused: s, isLink: y } = g, E = x(g, ["as", "children", "onClick", "isFocused", "isLink"]);
54
- const p = O();
55
- D(() => {
53
+ `, W = (b) => {
54
+ var y = b, { as: e, children: r, onClick: n, isFocused: s, isLink: D } = y, I = w(y, ["as", "children", "onClick", "isFocused", "isLink"]);
55
+ const p = x();
56
+ C(() => {
56
57
  s && p.current && p.current.focus();
57
58
  }, [s]);
58
- const T = d({
59
+ const O = d({
59
60
  tabIndex: s ? 0 : -1,
60
61
  ref: p,
61
62
  role: "menuitem"
62
- }, E), h = (c) => {
63
- (c.key === l.SPACE || c.key === l.ENTER) && n();
63
+ }, I), E = (l) => {
64
+ (l.key === c.SPACE || l.key === c.ENTER) && n();
64
65
  };
65
- return y ? /* @__PURE__ */ i.createElement(te, d({
66
+ return D ? /* @__PURE__ */ i.createElement(se, d({
66
67
  as: e
67
- }, T), /* @__PURE__ */ i.createElement(R, {
68
+ }, O), /* @__PURE__ */ i.createElement(R, {
68
69
  padding: 2
69
- }, /* @__PURE__ */ i.createElement(L, null, r))) : /* @__PURE__ */ i.createElement(ne, d({
70
- onKeyDown: h,
70
+ }, /* @__PURE__ */ i.createElement(F, null, r))) : /* @__PURE__ */ i.createElement(re, d({
71
+ onKeyDown: E,
71
72
  onMouseDown: n,
72
73
  type: "button"
73
- }, T), /* @__PURE__ */ i.createElement(R, {
74
+ }, O), /* @__PURE__ */ i.createElement(R, {
74
75
  padding: 2
75
- }, /* @__PURE__ */ i.createElement(L, null, r)));
76
+ }, /* @__PURE__ */ i.createElement(F, null, r)));
76
77
  };
77
- F.defaultProps = {
78
- onClick: () => {
78
+ W.defaultProps = {
79
+ as: void 0,
80
+ onClick() {
79
81
  },
80
82
  isFocused: !1,
81
83
  isLink: !1
82
84
  };
83
- F.propTypes = {
85
+ W.propTypes = {
84
86
  as: o.elementType,
85
87
  children: o.node.isRequired,
86
88
  isFocused: o.bool,
87
89
  isLink: o.bool,
88
90
  onClick: o.func
89
91
  };
90
- const I = (T) => {
91
- var h = T, {
92
+ const P = (O) => {
93
+ var E = O, {
92
94
  label: e,
93
95
  children: r,
94
96
  id: n,
95
97
  as: s,
96
- onOpen: y = () => {
98
+ onOpen: D = () => {
97
99
  },
98
- onClose: E = () => {
100
+ onClose: I = () => {
99
101
  },
100
102
  size: b,
101
- popoverPlacement: g
102
- } = h, p = x(h, [
103
+ popoverPlacement: y
104
+ } = E, p = w(E, [
103
105
  "label",
104
106
  "children",
105
107
  "id",
@@ -109,82 +111,89 @@ const I = (T) => {
109
111
  "size",
110
112
  "popoverPlacement"
111
113
  ]);
112
- const c = O(), B = ee("simplemenu", n), u = O(!1), [m, f] = A(!1), [S, w] = A(0), k = G.toArray(r), V = s || (b === "S" ? re : N);
113
- D(() => {
114
+ const l = x(), v = oe("simplemenu", n), u = x(!1), [m, f] = N(!1), [T, S] = N(0), g = Q.toArray(r), _ = s || (b === "S" ? ae : V);
115
+ C(() => {
114
116
  if (["string", "number"].includes(typeof e)) {
115
- const t = k.findIndex((a) => a.props.children === e);
116
- t !== -1 && w(t);
117
+ const t = g.findIndex((a) => a.props.children === e);
118
+ t !== -1 && S(t);
117
119
  }
118
- }, [e]), D(() => {
119
- u != null && u.current ? m && typeof y == "function" ? y() : typeof E == "function" && E() : u.current = !0;
120
- }, [u, m]), D(() => {
121
- i.isValidElement(e) && S == -1 && c.current.focus();
122
- }, [e, S]);
123
- const q = (t) => {
124
- m && (t.key === l.ESCAPE && (t.stopPropagation(), f(!1), c.current.focus()), t.key === l.DOWN && w((a) => a === k.length - 1 ? 0 : a + 1), t.key === l.UP && w((a) => a === 0 ? k.length - 1 : a - 1));
125
- }, W = (t) => {
126
- (t.key === l.ENTER || t.key === l.SPACE) && f((a) => !a);
127
- }, _ = (t) => {
120
+ }, [e]);
121
+ const B = $(D), M = $(I);
122
+ C(() => {
123
+ u != null && u.current ? m ? B() : M() : u.current = !0;
124
+ }, [u, m, B, M]), C(() => {
125
+ i.isValidElement(e) && T === -1 && l.current.focus();
126
+ }, [e, T]);
127
+ const z = (t) => {
128
+ m && (t.key === c.ESCAPE && (t.stopPropagation(), f(!1), l.current.focus()), t.key === c.DOWN && S((a) => a === g.length - 1 ? 0 : a + 1), t.key === c.UP && S((a) => a === 0 ? g.length - 1 : a - 1));
129
+ }, j = (t) => {
130
+ (t.key === c.ENTER || t.key === c.SPACE) && f((a) => !a);
131
+ }, U = (t) => {
128
132
  t.preventDefault(), t.currentTarget.contains(t.relatedTarget) || f(!1);
129
- }, z = (t) => {
133
+ }, G = (t) => {
130
134
  t.preventDefault(), f((a) => !a);
131
- }, j = k.map((t, a) => /* @__PURE__ */ i.createElement(Q, {
135
+ }, H = g.map((t, a) => /* @__PURE__ */ i.createElement(Z, {
132
136
  as: "li",
133
137
  key: a,
134
138
  justifyContent: "center",
135
139
  role: "menuitem"
136
- }, H(t, {
137
- onClick: () => {
138
- t.props.onClick(), f(!1), c.current.focus();
140
+ }, X(t, {
141
+ onClick() {
142
+ t.props.onClick(), f(!1), l.current.focus();
139
143
  },
140
- isFocused: S === a
144
+ isFocused: T === a
141
145
  })));
142
146
  return /* @__PURE__ */ i.createElement("div", {
143
- onKeyDown: q
144
- }, /* @__PURE__ */ i.createElement(V, d({
147
+ onKeyDown: z
148
+ }, /* @__PURE__ */ i.createElement(_, d({
145
149
  label: i.isValidElement(e) ? null : e,
146
150
  "aria-haspopup": !0,
147
151
  "aria-expanded": m,
148
- "aria-controls": B,
149
- onKeyDown: W,
150
- onMouseDown: z,
151
- ref: c,
152
+ "aria-controls": v,
153
+ onKeyDown: j,
154
+ onMouseDown: G,
155
+ ref: l,
152
156
  type: "button",
153
157
  variant: "ghost",
154
- endIcon: /* @__PURE__ */ i.createElement(oe, null, /* @__PURE__ */ i.createElement(J, {
158
+ endIcon: /* @__PURE__ */ i.createElement(ie, null, /* @__PURE__ */ i.createElement(Y, {
155
159
  "aria-hidden": !0
156
160
  }))
157
- }, p), e), m && /* @__PURE__ */ i.createElement(Z, {
158
- onBlur: _,
159
- placement: g,
160
- source: c,
161
+ }, p), e), m && /* @__PURE__ */ i.createElement(te, {
162
+ onBlur: U,
163
+ placement: y,
164
+ source: l,
161
165
  spacing: 4
162
166
  }, /* @__PURE__ */ i.createElement(R, {
163
167
  role: "menu",
164
168
  as: "ul",
165
169
  padding: 1,
166
- id: B
167
- }, j)));
170
+ id: v
171
+ }, H)));
168
172
  };
169
- I.defaultProps = {
173
+ P.defaultProps = {
170
174
  as: void 0
171
175
  };
172
- I.displayName = "SimpleMenu";
173
- I.defaultProps = {
176
+ P.displayName = "SimpleMenu";
177
+ P.defaultProps = {
178
+ id: void 0,
179
+ onClose() {
180
+ },
181
+ onOpen() {
182
+ },
174
183
  popoverPlacement: "bottom-start",
175
184
  size: "M"
176
185
  };
177
- I.propTypes = {
186
+ P.propTypes = {
178
187
  as: o.any,
179
188
  children: o.oneOfType([o.arrayOf(o.node), o.node]).isRequired,
180
189
  id: o.string,
181
190
  label: o.oneOfType([o.string, o.number, o.element]).isRequired,
182
191
  onClose: o.func,
183
192
  onOpen: o.func,
184
- popoverPlacement: o.oneOf(Y),
193
+ popoverPlacement: o.oneOf(ne),
185
194
  size: o.oneOf(["S", "M"])
186
195
  };
187
196
  export {
188
- F as MenuItem,
189
- I as SimpleMenu
197
+ W as MenuItem,
198
+ P as SimpleMenu
190
199
  };
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react"),_=require("prop-types"),I=require("styled-components"),R=require("@strapi/icons/Search"),D=require("../../Flex/Flex.cjs"),P=require("../../Typography/Typography.cjs"),F=require("../../IconButton/IconButton.cjs"),s=require("../../Box/Box.cjs"),K=require("../../Divider/Divider.cjs"),L=require("../../Searchbar/Searchbar.cjs"),k=require("../../Searchbar/SearchForm.cjs"),w=require("../../helpers/useId.cjs"),O=require("../../helpers/usePrevious.cjs"),H=require("../../helpers/keyboardKeys.cjs"),l=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},e=l(o),r=l(_),M=l(I),N=l(R),h=M.default(K.Divider)`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react"),_=require("prop-types"),I=require("styled-components"),R=require("@strapi/icons/Search"),D=require("../../Flex/Flex.cjs"),P=require("../../Typography/Typography.cjs"),F=require("../../IconButton/IconButton.cjs"),s=require("../../Box/Box.cjs"),K=require("../../Divider/Divider.cjs"),L=require("../../Searchbar/Searchbar.cjs"),k=require("../../Searchbar/SearchForm.cjs"),w=require("../../helpers/useId.cjs"),O=require("../../helpers/usePrevious.cjs"),H=require("../../helpers/keyboardKeys.cjs"),l=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},e=l(o),r=l(_),M=l(I),N=l(R),g=M.default(K.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),q=O.usePrevious(n),E=w.useId("subnav-searchbar-clear",B),c=o.useRef(),d=o.useRef();o.useEffect(()=>{n&&c.current&&c.current.focus(),q&&!n&&d.current&&d.current.focus()},[n]);const j=()=>{u(a=>!a)},T=a=>{S(a),c.current.focus()},x=a=>{var p;((p=a.relatedTarget)==null?void 0:p.id)!==E&&u(!1)},C=a=>{a.key===H.KeyboardKeys.ESCAPE&&u(!1)};return n?e.default.createElement(s.Box,{paddingLeft:4,paddingTop:5,paddingBottom:2,paddingRight:4},e.default.createElement(k.SearchForm,null,e.default.createElement(L.Searchbar,{name:"searchbar",value:m,onChange:y,placeholder:"e.g: strapi-plugin-abcd",onKeyDown:C,ref:c,onBlur:x,onClear:T,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(D.Flex,{justifyContent:"space-between",alignItems:"flex-start"},e.default.createElement(P.Typography,{variant:"beta",as:t},g),b&&e.default.createElement(F.IconButton,{ref:d,onClick:j,label:f,icon:e.default.createElement(N.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:b,searchLabel:f,searchable:y,onChange:m,value:S,onClear:v,onSubmit:B,id:q})=>{const[n,u]=o.useState(!1),p=O.usePrevious(n),E=w.useId("subnav-searchbar-clear",q),c=o.useRef(),d=o.useRef();o.useEffect(()=>{n&&c.current&&c.current.focus(),p&&!n&&d.current&&d.current.focus()},[n,p]);const j=()=>{u(a=>!a)},T=a=>{v(a),c.current.focus()},x=a=>{var h;((h=a.relatedTarget)==null?void 0:h.id)!==E&&u(!1)},C=a=>{a.key===H.KeyboardKeys.ESCAPE&&u(!1)};return n?e.default.createElement(s.Box,{paddingLeft:4,paddingTop:5,paddingBottom:2,paddingRight:4},e.default.createElement(k.SearchForm,null,e.default.createElement(L.Searchbar,{name:"searchbar",value:S,onChange:m,placeholder:"e.g: strapi-plugin-abcd",onKeyDown:C,ref:c,onBlur:x,onClear:T,onSubmit:B,clearLabel:"Clear",size:"S"},f)),e.default.createElement(s.Box,{paddingLeft:2,paddingTop:4},e.default.createElement(g,null))):e.default.createElement(s.Box,{paddingLeft:6,paddingTop:6,paddingBottom:2,paddingRight:4},e.default.createElement(D.Flex,{justifyContent:"space-between",alignItems:"flex-start"},e.default.createElement(P.Typography,{variant:"beta",as:t},b),y&&e.default.createElement(F.IconButton,{ref:d,onClick:j,label:f,icon:e.default.createElement(N.default,null)})),e.default.createElement(s.Box,{paddingTop:4},e.default.createElement(g,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;