@strapi/design-system 1.6.1 → 1.6.2

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 (99) hide show
  1. package/dist/Accordion/Accordion.cjs +5 -5
  2. package/dist/Accordion/Accordion.js +24 -22
  3. package/dist/Avatar/Avatar.cjs +5 -16
  4. package/dist/Avatar/Avatar.js +44 -48
  5. package/dist/BaseRadio/BaseRadio.cjs +2 -2
  6. package/dist/BaseRadio/BaseRadio.js +25 -23
  7. package/dist/Card/Card.cjs +1 -1
  8. package/dist/Card/Card.js +1 -1
  9. package/dist/Card/CardHeader.cjs +1 -2
  10. package/dist/Card/CardHeader.js +1 -1
  11. package/dist/Card/CardTimer.cjs +1 -5
  12. package/dist/Card/CardTimer.js +14 -20
  13. package/dist/CarouselInput/CarouselInput.cjs +1 -1
  14. package/dist/CarouselInput/CarouselInput.js +9 -9
  15. package/dist/Checkbox/Checkbox.cjs +2 -2
  16. package/dist/Checkbox/Checkbox.js +16 -16
  17. package/dist/Combobox/Combobox.cjs +1 -1
  18. package/dist/Combobox/Combobox.js +139 -139
  19. package/dist/Combobox/ComboboxList.cjs +1 -1
  20. package/dist/Combobox/ComboboxList.js +5 -12
  21. package/dist/DateTimePicker/DateTimePicker.cjs +1 -1
  22. package/dist/DateTimePicker/DateTimePicker.js +71 -71
  23. package/dist/Dialog/Dialog.cjs +4 -7
  24. package/dist/Dialog/Dialog.js +30 -29
  25. package/dist/Field/Field.cjs +1 -1
  26. package/dist/Field/Field.js +6 -6
  27. package/dist/Field/FieldHint.cjs +1 -1
  28. package/dist/Field/FieldHint.js +4 -4
  29. package/dist/JSONInput/JSONInput.cjs +1 -1
  30. package/dist/JSONInput/JSONInput.js +45 -42
  31. package/dist/JSONInput/JSONInputContainer.cjs +5 -2
  32. package/dist/JSONInput/JSONInputContainer.js +6 -3
  33. package/dist/Layout/HeaderLayout.cjs +3 -8
  34. package/dist/Layout/HeaderLayout.js +38 -38
  35. package/dist/Main/SkipToContent.cjs +1 -2
  36. package/dist/Main/SkipToContent.js +1 -1
  37. package/dist/MainNav/MainNav.cjs +1 -6
  38. package/dist/MainNav/MainNav.js +15 -15
  39. package/dist/MainNav/NavFooter.cjs +1 -3
  40. package/dist/MainNav/NavFooter.js +3 -4
  41. package/dist/ModalLayout/ModalLayout.cjs +3 -9
  42. package/dist/ModalLayout/ModalLayout.js +24 -23
  43. package/dist/NumberInput/NumberInput.cjs +1 -1
  44. package/dist/NumberInput/NumberInput.js +18 -18
  45. package/dist/Select/Option.cjs +3 -7
  46. package/dist/Select/Option.js +6 -6
  47. package/dist/Select/Select.cjs +2 -2
  48. package/dist/Select/Select.js +57 -57
  49. package/dist/Select/SelectTags.cjs +1 -3
  50. package/dist/Select/SelectTags.js +4 -4
  51. package/dist/Select/SingleSelect.cjs +82 -0
  52. package/dist/Select/SingleSelect.js +285 -0
  53. package/dist/SimpleMenu/SimpleMenu.cjs +1 -1
  54. package/dist/SimpleMenu/SimpleMenu.js +10 -10
  55. package/dist/Stack/Stack.cjs +5 -5
  56. package/dist/Stack/Stack.js +7 -6
  57. package/dist/SubNav/SubNavHeader.cjs +1 -1
  58. package/dist/SubNav/SubNavHeader.js +15 -15
  59. package/dist/SubNav/SubNavLinkSection.cjs +2 -2
  60. package/dist/SubNav/SubNavLinkSection.js +6 -6
  61. package/dist/SubNav/SubNavSection.cjs +1 -1
  62. package/dist/SubNav/SubNavSection.js +12 -12
  63. package/dist/Table/Table.cjs +1 -3
  64. package/dist/Table/Table.js +2 -3
  65. package/dist/Tabs/TabGroup.cjs +1 -1
  66. package/dist/Tabs/TabGroup.js +11 -11
  67. package/dist/TextInput/TextInput.cjs +1 -1
  68. package/dist/TextInput/TextInput.js +18 -18
  69. package/dist/Textarea/Textarea.cjs +1 -1
  70. package/dist/Textarea/Textarea.js +1 -1
  71. package/dist/TimePicker/TimePicker.cjs +2 -2
  72. package/dist/TimePicker/TimePicker.js +1 -1
  73. package/dist/ToggleCheckbox/ToggleCheckbox.cjs +6 -6
  74. package/dist/ToggleCheckbox/ToggleCheckbox.js +45 -43
  75. package/dist/ToggleInput/ToggleInput.cjs +1 -1
  76. package/dist/ToggleInput/ToggleInput.js +10 -10
  77. package/dist/Tooltip/Tooltip.cjs +2 -3
  78. package/dist/Tooltip/Tooltip.js +18 -18
  79. package/dist/helpers/deprecations.cjs +1 -0
  80. package/dist/helpers/deprecations.js +13 -0
  81. package/dist/helpers/useId.cjs +1 -1
  82. package/dist/helpers/useId.js +11 -4
  83. package/dist/hooks/useIntersection.cjs +1 -0
  84. package/dist/hooks/useIntersection.js +23 -0
  85. package/dist/v2/MainNav/MainNav.cjs +1 -6
  86. package/dist/v2/MainNav/MainNav.js +15 -15
  87. package/dist/v2/MainNav/NavFooter.cjs +1 -3
  88. package/dist/v2/MainNav/NavFooter.js +3 -4
  89. package/dist/v2/SimpleMenu/SimpleMenu.cjs +1 -1
  90. package/dist/v2/SimpleMenu/SimpleMenu.js +12 -12
  91. package/dist/v2/SubNav/SubNavHeader.cjs +1 -1
  92. package/dist/v2/SubNav/SubNavHeader.js +15 -15
  93. package/dist/v2/SubNav/SubNavLinkSection.cjs +4 -4
  94. package/dist/v2/SubNav/SubNavLinkSection.js +8 -8
  95. package/dist/v2/SubNav/SubNavSection.cjs +1 -1
  96. package/dist/v2/SubNav/SubNavSection.js +4 -4
  97. package/package.json +3 -4
  98. package/dist/helpers/genId.cjs +0 -1
  99. package/dist/helpers/genId.js +0 -5
@@ -1,35 +1,35 @@
1
- import r from "react";
1
+ import t from "react";
2
2
  import n from "prop-types";
3
- import i from "styled-components";
4
- import { sizes as v } from "../themes/sizes.js";
5
- import { inputFocusStyle as k } from "../themes/utils.js";
6
- import { Typography as d } from "../Typography/Typography.js";
7
- import { VisuallyHidden as R } from "../VisuallyHidden/VisuallyHidden.js";
8
- import { Box as E } from "../Box/Box.js";
3
+ import l from "styled-components";
4
+ import { sizes as E } from "../themes/sizes.js";
5
+ import { inputFocusStyle as T } from "../themes/utils.js";
6
+ import { Typography as c } from "../Typography/Typography.js";
7
+ import { VisuallyHidden as L } from "../VisuallyHidden/VisuallyHidden.js";
8
+ import { Box as q } from "../Box/Box.js";
9
9
  import "../Field/Field.js";
10
10
  import "../Field/FieldLabel.js";
11
11
  import "../Field/FieldInput.js";
12
- import { useField as T } from "../Field/FieldContext.js";
12
+ import { useField as z } from "../Field/FieldContext.js";
13
13
  import "../Field/FieldAction.js";
14
- import { Flex as $ } from "../Flex/Flex.js";
15
- const L = i.label`
14
+ import { Flex as W } from "../Flex/Flex.js";
15
+ const S = l.label`
16
16
  position: relative;
17
17
  display: inline-block;
18
18
  z-index: 0;
19
19
  width: 100%;
20
- `, q = i(E)`
20
+ `, j = l(q)`
21
21
  cursor: ${({ disabled: e }) => e ? "not-allowed" : void 0};
22
22
  // Masks the background of each value
23
23
  overflow: hidden;
24
24
  flex-wrap: wrap;
25
25
 
26
- ${k()}
27
- `, f = i($).attrs({
26
+ ${T()}
27
+ `, m = l(W).attrs({
28
28
  hasRadius: !0
29
29
  })`
30
- background-color: ${({ theme: e, checked: l, disabled: a }) => l ? a ? e.colors.neutral200 : e.colors.neutral0 : "transparent"};
30
+ background-color: ${({ theme: e, checked: a, disabled: i }) => a ? i ? e.colors.neutral200 : e.colors.neutral0 : "transparent"};
31
31
  border: 1px solid
32
- ${({ theme: e, checked: l, disabled: a }) => l && l !== null ? a ? e.colors.neutral300 : e.colors.neutral200 : a ? e.colors.neutral150 : e.colors.neutral100};
32
+ ${({ theme: e, checked: a, disabled: i }) => a && a !== null ? i ? e.colors.neutral300 : e.colors.neutral200 : i ? e.colors.neutral150 : e.colors.neutral100};
33
33
  position: relative;
34
34
  user-select: none;
35
35
  z-index: 2;
@@ -41,7 +41,7 @@ const L = i.label`
41
41
  */
42
42
  padding-top: ${({ size: e }) => `${e === "S" ? "2px" : "6px"}`};
43
43
  padding-bottom: ${({ size: e }) => `${e === "S" ? "2px" : "6px"}`};
44
- `, z = i.input`
44
+ `, B = l.input`
45
45
  height: 100%;
46
46
  left: 0;
47
47
  opacity: 0;
@@ -49,14 +49,15 @@ const L = i.label`
49
49
  top: 0;
50
50
  z-index: 1;
51
51
  width: 100%;
52
- `, u = r.forwardRef(
53
- ({ size: e, onLabel: l, offLabel: a, children: c, checked: t, disabled: o, onChange: m, ...g }, h) => {
54
- const { name: b, required: x } = T(), s = "neutral600";
55
- let y = !t && t !== null ? "danger700" : s, C = t ? "primary600" : s;
56
- const w = (p) => {
57
- o || m(p);
52
+ `, s = t.forwardRef(
53
+ ({ size: e, onLabel: a, offLabel: i, children: g, checked: r, disabled: o, onChange: h, ...b }, x) => {
54
+ const { error: y, hint: C, id: d, name: w, required: v } = z(), f = "neutral600";
55
+ let $ = !r && r !== null ? "danger700" : f, k = r ? "primary600" : f;
56
+ const R = (u) => {
57
+ o || h(u);
58
58
  };
59
- return /* @__PURE__ */ r.createElement(L, null, /* @__PURE__ */ r.createElement(R, null, c), /* @__PURE__ */ r.createElement(q, {
59
+ let p;
60
+ return y ? p = `${d}-error` : C && (p = `${d}-hint`), /* @__PURE__ */ t.createElement(S, null, /* @__PURE__ */ t.createElement(L, null, g), /* @__PURE__ */ t.createElement(j, {
60
61
  hasRadius: !0,
61
62
  disabled: o,
62
63
  padding: 1,
@@ -65,62 +66,63 @@ const L = i.label`
65
66
  borderStyle: "solid",
66
67
  borderWidth: "1px",
67
68
  borderColor: "neutral200"
68
- }, /* @__PURE__ */ r.createElement(f, {
69
+ }, /* @__PURE__ */ t.createElement(m, {
69
70
  size: e,
70
71
  paddingLeft: 3,
71
72
  paddingRight: 3,
72
73
  justifyContent: "center",
73
74
  alignItems: "center",
74
75
  "aria-hidden": !0,
75
- checked: t === null ? !1 : !t,
76
+ checked: r === null ? !1 : !r,
76
77
  disabled: o
77
- }, /* @__PURE__ */ r.createElement(d, {
78
+ }, /* @__PURE__ */ t.createElement(c, {
78
79
  variant: "pi",
79
80
  fontWeight: "bold",
80
81
  textTransform: "uppercase",
81
- textColor: o ? "neutral700" : y
82
- }, a)), /* @__PURE__ */ r.createElement(f, {
82
+ textColor: o ? "neutral700" : $
83
+ }, i)), /* @__PURE__ */ t.createElement(m, {
83
84
  size: e,
84
85
  paddingLeft: 3,
85
86
  paddingRight: 3,
86
87
  justifyContent: "center",
87
88
  alignItems: "center",
88
89
  "aria-hidden": !0,
89
- checked: t === null ? !1 : t,
90
+ checked: r === null ? !1 : r,
90
91
  disabled: o
91
- }, /* @__PURE__ */ r.createElement(d, {
92
+ }, /* @__PURE__ */ t.createElement(c, {
92
93
  variant: "pi",
93
94
  fontWeight: "bold",
94
95
  textTransform: "uppercase",
95
- textColor: o ? "neutral700" : C
96
- }, l)), /* @__PURE__ */ r.createElement(z, {
96
+ textColor: o ? "neutral700" : k
97
+ }, a)), /* @__PURE__ */ t.createElement(B, {
97
98
  type: "checkbox",
98
99
  "aria-disabled": o,
99
- onChange: (p) => w(p),
100
- name: b,
101
- ref: h,
102
- "aria-required": x,
103
- ...g,
104
- checked: !(t === null || !t)
100
+ "aria-describedby": p,
101
+ onChange: (u) => R(u),
102
+ name: w,
103
+ ref: x,
104
+ "aria-required": v,
105
+ ...b,
106
+ checked: !(r === null || !r)
105
107
  })));
106
108
  }
107
109
  );
108
- u.displayName = "ToggleCheckbox";
109
- u.defaultProps = {
110
+ s.displayName = "ToggleCheckbox";
111
+ s.defaultProps = {
110
112
  disabled: !1,
111
113
  checked: !1,
112
114
  onChange: void 0,
113
115
  size: "M"
114
116
  };
115
- u.propTypes = {
117
+ s.propTypes = {
116
118
  checked: n.bool,
117
119
  children: n.string.isRequired,
118
120
  disabled: n.bool,
119
121
  offLabel: n.string.isRequired,
120
122
  onChange: n.func,
121
123
  onLabel: n.string.isRequired,
122
- size: n.oneOf(Object.keys(v.input))
124
+ size: n.oneOf(Object.keys(E.input))
123
125
  };
124
126
  export {
125
- u as ToggleCheckbox
127
+ s as ToggleCheckbox
126
128
  };
@@ -3,4 +3,4 @@
3
3
  `,L=s.default(S.TextButton)`
4
4
  align-self: flex-end;
5
5
  margin-left: auto;
6
- `,r=({disabled:t,size:c,error:f,hint:g,label:i,name:p,labelAction:F,required:b,id:q,onClear:o,clearLabel:n,checked:a,...j})=>{const u=k.useId("toggleinput",q);return l.default.createElement(B,{name:p,hint:g,error:f,id:u,required:b},l.default.createElement(C.Stack,{spacing:1},l.default.createElement(I.Flex,null,l.default.createElement(h.FieldLabel,{action:F},i),n&&o&&a!==null&&!t&&l.default.createElement(L,{onClick:o},n)),l.default.createElement(z.ToggleCheckbox,{id:u,size:c,checked:a,disabled:t,...j},i),l.default.createElement(_.FieldHint,null),l.default.createElement(v.FieldError,null)))};r.displayName="ToggleInput";r.defaultProps={checked:!1,clearLabel:void 0,disabled:!1,error:void 0,hint:void 0,id:void 0,label:"",labelAction:void 0,name:"",onClear:void 0,required:!1,size:"M"};r.propTypes={checked:e.default.bool,clearLabel:e.default.string,disabled:e.default.bool,error:e.default.string,hint:e.default.oneOfType([e.default.string,e.default.node,e.default.arrayOf(e.default.node)]),id:e.default.string,label:e.default.string,labelAction:e.default.node,name:e.default.string,onClear:e.default.func,required:e.default.bool,size:e.default.oneOf(Object.keys(y.sizes.input))};exports.ToggleInput=r;
6
+ `,r=({disabled:t,size:c,error:f,hint:g,label:i,name:p,labelAction:F,required:b,id:q,onClear:o,clearLabel:n,checked:a,...j})=>{const u=k.useId(q);return l.default.createElement(B,{name:p,hint:g,error:f,id:u,required:b},l.default.createElement(C.Stack,{spacing:1},l.default.createElement(I.Flex,null,l.default.createElement(h.FieldLabel,{action:F},i),n&&o&&a!==null&&!t&&l.default.createElement(L,{onClick:o},n)),l.default.createElement(z.ToggleCheckbox,{id:u,size:c,checked:a,disabled:t,...j},i),l.default.createElement(_.FieldHint,null),l.default.createElement(v.FieldError,null)))};r.displayName="ToggleInput";r.defaultProps={checked:!1,clearLabel:void 0,disabled:!1,error:void 0,hint:void 0,id:void 0,label:"",labelAction:void 0,name:"",onClear:void 0,required:!1,size:"M"};r.propTypes={checked:e.default.bool,clearLabel:e.default.string,disabled:e.default.bool,error:e.default.string,hint:e.default.oneOfType([e.default.string,e.default.node,e.default.arrayOf(e.default.node)]),id:e.default.string,label:e.default.string,labelAction:e.default.node,name:e.default.string,onClear:e.default.func,required:e.default.bool,size:e.default.oneOf(Object.keys(y.sizes.input))};exports.ToggleInput=r;
@@ -1,5 +1,5 @@
1
1
  import r from "react";
2
- import p from "styled-components";
2
+ import d from "styled-components";
3
3
  import e from "prop-types";
4
4
  import { sizes as x } from "../themes/sizes.js";
5
5
  import { useId as y } from "../helpers/useId.js";
@@ -14,42 +14,42 @@ import { Stack as k } from "../Stack/Stack.js";
14
14
  import { Flex as C } from "../Flex/Flex.js";
15
15
  import { TextButton as I } from "../TextButton/TextButton.js";
16
16
  import { ToggleCheckbox as O } from "../ToggleCheckbox/ToggleCheckbox.js";
17
- const z = p(T)`
17
+ const z = d(T)`
18
18
  max-width: 320px;
19
- `, q = p(I)`
19
+ `, q = d(I)`
20
20
  align-self: flex-end;
21
21
  margin-left: auto;
22
22
  `, o = ({
23
23
  disabled: t,
24
- size: d,
24
+ size: p,
25
25
  error: s,
26
26
  hint: c,
27
27
  label: i,
28
28
  name: f,
29
- labelAction: g,
30
- required: u,
29
+ labelAction: u,
30
+ required: g,
31
31
  id: b,
32
32
  onClear: l,
33
33
  clearLabel: n,
34
34
  checked: m,
35
35
  ...E
36
36
  }) => {
37
- const a = y("toggleinput", b);
37
+ const a = y(b);
38
38
  return /* @__PURE__ */ r.createElement(z, {
39
39
  name: f,
40
40
  hint: c,
41
41
  error: s,
42
42
  id: a,
43
- required: u
43
+ required: g
44
44
  }, /* @__PURE__ */ r.createElement(k, {
45
45
  spacing: 1
46
46
  }, /* @__PURE__ */ r.createElement(C, null, /* @__PURE__ */ r.createElement(v, {
47
- action: g
47
+ action: u
48
48
  }, i), n && l && m !== null && !t && /* @__PURE__ */ r.createElement(q, {
49
49
  onClick: l
50
50
  }, n)), /* @__PURE__ */ r.createElement(O, {
51
51
  id: a,
52
- size: d,
52
+ size: p,
53
53
  checked: m,
54
54
  disabled: t,
55
55
  ...E
@@ -1,6 +1,5 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const m=require("react"),q=require("prop-types"),v=require("styled-components"),j=require("../Box/Box.cjs"),x=require("../Typography/Typography.cjs"),_=require("../Portal/Portal.cjs"),H=require("./hooks/useTooltipHandlers.cjs"),P=require("./hooks/useTooltipLayout.cjs"),n=require("../helpers/useId.cjs"),E=require("../VisuallyHidden/VisuallyHidden.cjs"),r=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},t=r(m),o=r(q),I=r(v),R=I.default(j.Box)`
2
- position: absolute;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const m=require("react"),q=require("prop-types"),v=require("styled-components"),j=require("../Box/Box.cjs"),x=require("../Typography/Typography.cjs"),_=require("../Portal/Portal.cjs"),H=require("./hooks/useTooltipHandlers.cjs"),P=require("./hooks/useTooltipLayout.cjs"),n=require("../helpers/useId.cjs"),E=require("../VisuallyHidden/VisuallyHidden.cjs"),i=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},t=i(m),o=i(q),I=i(v),R=I.default(j.Box)`
3
2
  /* z-index exist because of its position inside Modals */
4
3
  z-index: 4;
5
4
  display: ${({visible:e})=>e?"revert":"none"};
6
- `,a=({children:e,label:d,description:l,delay:u,position:p,id:c,...f})=>{const s=n.useId("tooltip",c),y=n.useId("description"),{visible:i,...g}=H.useTooltipHandlers(u),{tooltipWrapperRef:T,toggleSourceRef:b}=P.useTooltipLayout(i,p),h=t.default.cloneElement(e,{tabIndex:0,"aria-labelledby":d?s:void 0,"aria-describedby":l?s:void 0,...g});return t.default.createElement(t.default.Fragment,null,t.default.createElement(_.Portal,null,t.default.createElement(R,{id:s,background:"neutral900",hasRadius:!0,padding:2,role:"tooltip",ref:T,visible:i,...f},i&&t.default.createElement(E.VisuallyHidden,{id:y},l),t.default.createElement(x.Typography,{as:"p",variant:"pi",fontWeight:"bold",textColor:"neutral0"},d||l))),t.default.createElement("span",{ref:b},h))};a.defaultProps={delay:500,id:void 0,position:"top",label:void 0,description:void 0};a.propTypes={children:o.default.node.isRequired,delay:o.default.number,description:o.default.string,id:o.default.string,label:o.default.string,position:o.default.oneOf(["top","left","bottom","right"])};exports.Tooltip=a;
5
+ `,a=({children:e,label:d,description:l,delay:u,position:p,id:c,...f})=>{const s=n.useId(c),y=n.useId(),{visible:r,...g}=H.useTooltipHandlers(u),{tooltipWrapperRef:T,toggleSourceRef:b}=P.useTooltipLayout(r,p),h=t.default.cloneElement(e,{tabIndex:0,"aria-labelledby":d?s:void 0,"aria-describedby":l?s:void 0,...g});return t.default.createElement(t.default.Fragment,null,t.default.createElement(_.Portal,null,t.default.createElement(R,{id:s,background:"neutral900",hasRadius:!0,padding:2,role:"tooltip",ref:T,visible:r,position:"absolute",...f},r&&t.default.createElement(E.VisuallyHidden,{id:y},l),t.default.createElement(x.Typography,{as:"p",variant:"pi",fontWeight:"bold",textColor:"neutral0"},d||l))),t.default.createElement("span",{ref:b},h))};a.defaultProps={delay:500,id:void 0,position:"top",label:void 0,description:void 0};a.propTypes={children:o.default.node.isRequired,delay:o.default.number,description:o.default.string,id:o.default.string,label:o.default.string,position:o.default.oneOf(["top","left","bottom","right"])};exports.Tooltip=a;
@@ -1,5 +1,5 @@
1
- import o from "react";
2
- import e from "prop-types";
1
+ import e from "react";
2
+ import o from "prop-types";
3
3
  import v from "styled-components";
4
4
  import { Box as x } from "../Box/Box.js";
5
5
  import { Typography as E } from "../Typography/Typography.js";
@@ -9,34 +9,34 @@ import { useTooltipLayout as R } from "./hooks/useTooltipLayout.js";
9
9
  import { useId as p } from "../helpers/useId.js";
10
10
  import { VisuallyHidden as I } from "../VisuallyHidden/VisuallyHidden.js";
11
11
  const H = v(x)`
12
- position: absolute;
13
12
  /* z-index exist because of its position inside Modals */
14
13
  z-index: 4;
15
14
  display: ${({ visible: t }) => t ? "revert" : "none"};
16
- `, a = ({ children: t, label: n, description: i, delay: d, position: s, id: m, ...c }) => {
17
- const r = p("tooltip", m), f = p("description"), { visible: l, ...u } = h(d), { tooltipWrapperRef: b, toggleSourceRef: y } = R(l, s), g = o.cloneElement(t, {
15
+ `, a = ({ children: t, label: n, description: r, delay: d, position: s, id: m, ...c }) => {
16
+ const i = p(m), f = p(), { visible: l, ...u } = h(d), { tooltipWrapperRef: b, toggleSourceRef: y } = R(l, s), g = e.cloneElement(t, {
18
17
  tabIndex: 0,
19
- "aria-labelledby": n ? r : void 0,
20
- "aria-describedby": i ? r : void 0,
18
+ "aria-labelledby": n ? i : void 0,
19
+ "aria-describedby": r ? i : void 0,
21
20
  ...u
22
21
  });
23
- return /* @__PURE__ */ o.createElement(o.Fragment, null, /* @__PURE__ */ o.createElement(T, null, /* @__PURE__ */ o.createElement(H, {
24
- id: r,
22
+ return /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(T, null, /* @__PURE__ */ e.createElement(H, {
23
+ id: i,
25
24
  background: "neutral900",
26
25
  hasRadius: !0,
27
26
  padding: 2,
28
27
  role: "tooltip",
29
28
  ref: b,
30
29
  visible: l,
30
+ position: "absolute",
31
31
  ...c
32
- }, l && /* @__PURE__ */ o.createElement(I, {
32
+ }, l && /* @__PURE__ */ e.createElement(I, {
33
33
  id: f
34
- }, i), /* @__PURE__ */ o.createElement(E, {
34
+ }, r), /* @__PURE__ */ e.createElement(E, {
35
35
  as: "p",
36
36
  variant: "pi",
37
37
  fontWeight: "bold",
38
38
  textColor: "neutral0"
39
- }, n || i))), /* @__PURE__ */ o.createElement("span", {
39
+ }, n || r))), /* @__PURE__ */ e.createElement("span", {
40
40
  ref: y
41
41
  }, g));
42
42
  };
@@ -48,12 +48,12 @@ a.defaultProps = {
48
48
  description: void 0
49
49
  };
50
50
  a.propTypes = {
51
- children: e.node.isRequired,
52
- delay: e.number,
53
- description: e.string,
54
- id: e.string,
55
- label: e.string,
56
- position: e.oneOf(["top", "left", "bottom", "right"])
51
+ children: o.node.isRequired,
52
+ delay: o.number,
53
+ description: o.string,
54
+ id: o.string,
55
+ label: o.string,
56
+ position: o.oneOf(["top", "left", "bottom", "right"])
57
57
  };
58
58
  export {
59
59
  a as Tooltip
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r="[@strapi/design-system]:",i=n=>{const e=n;let t=!1;if(typeof e!="function")throw new TypeError(`${r} once requires a function parameter`);return(...o)=>{t||(e(...o),t=!0)}};exports.once=i;exports.prefix=r;
@@ -0,0 +1,13 @@
1
+ const o = "[@strapi/design-system]:", c = (t) => {
2
+ const e = t;
3
+ let r = !1;
4
+ if (typeof e != "function")
5
+ throw new TypeError(`${o} once requires a function parameter`);
6
+ return (...n) => {
7
+ r || (e(...n), r = !0);
8
+ };
9
+ };
10
+ export {
11
+ c as once,
12
+ o as prefix
13
+ };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react"),u=require("./genId.cjs"),s=(e,t)=>r.useRef(t||`${e}-${u.genId()}`).current;exports.useId=s;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react"),c=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},n=c(t),r=n.default["useId".toString()]||(()=>{});let a=0;const d=e=>{const[u,o]=t.useState(r());return t.useLayoutEffect(()=>{e||o(s=>s??String(a++))},[e]),e?.toString()??(u||"")};exports.useId=d;
@@ -1,6 +1,13 @@
1
- import { useRef as o } from "react";
2
- import { genId as t } from "./genId.js";
3
- const i = (e, r) => o(r || `${e}-${t()}`).current;
1
+ import s, { useState as n, useLayoutEffect as r } from "react";
2
+ const c = s["useId".toString()] || (() => {
3
+ });
4
+ let d = 0;
5
+ const S = (t) => {
6
+ const [e, o] = n(c());
7
+ return r(() => {
8
+ t || o((u) => u ?? String(d++));
9
+ }, [t]), t?.toString() ?? (e || "");
10
+ };
4
11
  export {
5
- i as useId
12
+ S as useId
6
13
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const g=require("react"),d=require("@radix-ui/react-use-callback-ref"),v=(e,i,{selectorToWatch:t,skipWhen:r=!1})=>{const n=d.useCallbackRef(i);g.useEffect(()=>{if(r||!e.current)return;const u={root:e.current,rootMargin:"0px"},a=f=>{f.forEach(s=>{s.isIntersecting&&e.current&&e.current.scrollHeight>e.current.clientHeight&&n(s)})},c=new IntersectionObserver(a,u),o=e.current.querySelector(t);return o&&c.observe(o),()=>{c.disconnect()}},[r,n,t])};exports.useIntersection=v;
@@ -0,0 +1,23 @@
1
+ import { useEffect as m } from "react";
2
+ import { useCallbackRef as p } from "@radix-ui/react-use-callback-ref";
3
+ const E = (t, s, { selectorToWatch: n, skipWhen: r = !1 }) => {
4
+ const e = p(s);
5
+ m(() => {
6
+ if (r || !t.current)
7
+ return;
8
+ const u = {
9
+ root: t.current,
10
+ rootMargin: "0px"
11
+ }, f = (g) => {
12
+ g.forEach((i) => {
13
+ i.isIntersecting && t.current && t.current.scrollHeight > t.current.clientHeight && e(i);
14
+ });
15
+ }, o = new IntersectionObserver(f, u), c = t.current.querySelector(n);
16
+ return c && o.observe(c), () => {
17
+ o.disconnect();
18
+ };
19
+ }, [r, e, n]);
20
+ };
21
+ export {
22
+ E as useIntersection
23
+ };
@@ -1,9 +1,4 @@
1
1
  "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react"),l=require("styled-components"),s=require("prop-types"),c=require("../../Flex/Flex.cjs"),i=require("./MainNavContext.cjs"),t=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},a=t(r),u=t(l),d=t(s),p=u.default(c.Flex)`
2
2
  width: ${({condensed:e})=>e?"max-content":`${224/16}rem`};
3
- background: ${({theme:e})=>e.colors.neutral0};
4
- position: sticky;
5
- top: 0;
6
- height: 100vh;
7
- z-index: 2;
8
3
  border-right: 1px solid ${({theme:e})=>e.colors.neutral150};
9
- `,o=({condensed:e,...n})=>a.default.createElement(i.MainNavContext.Provider,{value:e},a.default.createElement(p,{as:"nav",alignItems:"normal",direction:"column",condensed:e,...n}));o.defaultProps={condensed:!1};o.propTypes={condensed:d.default.bool};exports.MainNav=o;
4
+ `,o=({condensed:e,...n})=>a.default.createElement(i.MainNavContext.Provider,{value:e},a.default.createElement(p,{alignItems:"normal",as:"nav",background:"neutral0",condensed:e,direction:"column",height:"100vh",position:"sticky",top:0,zIndex:2,...n}));o.defaultProps={condensed:!1};o.propTypes={condensed:d.default.bool};exports.MainNav=o;
@@ -1,23 +1,23 @@
1
- import e from "react";
1
+ import o from "react";
2
2
  import n from "styled-components";
3
3
  import a from "prop-types";
4
4
  import { Flex as i } from "../../Flex/Flex.js";
5
- import { MainNavContext as l } from "./MainNavContext.js";
6
- const m = n(i)`
7
- width: ${({ condensed: o }) => o ? "max-content" : `${224 / 16}rem`};
8
- background: ${({ theme: o }) => o.colors.neutral0};
9
- position: sticky;
10
- top: 0;
11
- height: 100vh;
12
- z-index: 2;
13
- border-right: 1px solid ${({ theme: o }) => o.colors.neutral150};
14
- `, r = ({ condensed: o, ...t }) => /* @__PURE__ */ e.createElement(l.Provider, {
15
- value: o
16
- }, /* @__PURE__ */ e.createElement(m, {
17
- as: "nav",
5
+ import { MainNavContext as m } from "./MainNavContext.js";
6
+ const p = n(i)`
7
+ width: ${({ condensed: e }) => e ? "max-content" : `${224 / 16}rem`};
8
+ border-right: 1px solid ${({ theme: e }) => e.colors.neutral150};
9
+ `, r = ({ condensed: e, ...t }) => /* @__PURE__ */ o.createElement(m.Provider, {
10
+ value: e
11
+ }, /* @__PURE__ */ o.createElement(p, {
18
12
  alignItems: "normal",
13
+ as: "nav",
14
+ background: "neutral0",
15
+ condensed: e,
19
16
  direction: "column",
20
- condensed: o,
17
+ height: "100vh",
18
+ position: "sticky",
19
+ top: 0,
20
+ zIndex: 2,
21
21
  ...t
22
22
  }));
23
23
  r.defaultProps = {
@@ -1,3 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react"),s=require("prop-types"),a=require("styled-components"),l=require("../../Box/Box.cjs"),t=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},n=t(r),u=t(s),c=t(a),d=c.default(l.Box)`
2
- position: relative;
3
- `,o=({children:e})=>n.default.createElement(d,null,e);o.displayName="NavFooter";o.propTypes={children:u.default.node.isRequired};exports.NavFooter=o;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react"),a=require("prop-types"),s=require("../../Box/Box.cjs"),o=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},u=o(r),c=o(a),t=({children:e})=>u.default.createElement(s.Box,{position:"relative"},e);t.displayName="NavFooter";t.propTypes={children:c.default.node.isRequired};exports.NavFooter=t;
@@ -1,10 +1,9 @@
1
1
  import r from "react";
2
2
  import t from "prop-types";
3
- import i from "styled-components";
4
3
  import { Box as p } from "../../Box/Box.js";
5
- const m = i(p)`
6
- position: relative;
7
- `, e = ({ children: o }) => /* @__PURE__ */ r.createElement(m, null, o);
4
+ const e = ({ children: o }) => /* @__PURE__ */ r.createElement(p, {
5
+ position: "relative"
6
+ }, o);
8
7
  e.displayName = "NavFooter";
9
8
  e.propTypes = {
10
9
  children: t.node.isRequired
@@ -30,4 +30,4 @@
30
30
  }
31
31
  `,ne=y.default(M.Button)`
32
32
  padding: ${({theme:e})=>`${e.spaces[1]} ${e.spaces[3]}`};
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;
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(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,6 +1,6 @@
1
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 f from "styled-components";
3
+ import m from "styled-components";
4
4
  import { useCallbackRef as L } from "@radix-ui/react-use-callback-ref";
5
5
  import { CarretDown as H } from "@strapi/icons";
6
6
  import { Link as U } from "../Link/Link.js";
@@ -13,16 +13,16 @@ import { POPOVER_PLACEMENTS as Q, Popover as X } from "../../Popover/Popover.js"
13
13
  import { getOptionStyle as T } from "./utils.js";
14
14
  import { useId as Y } from "../../helpers/useId.js";
15
15
  import { KeyboardKeys as a } from "../../helpers/keyboardKeys.js";
16
- const Z = f.button`
16
+ const Z = m.button`
17
17
  border: none;
18
18
  padding: 0;
19
19
  background: transparent;
20
20
  cursor: pointer;
21
21
  ${T}
22
- `, ee = f(J)`
22
+ `, ee = m(J)`
23
23
  text-decoration: none;
24
24
  ${T}
25
- `, ne = f(U)`
25
+ `, ne = m(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};
@@ -36,14 +36,14 @@ const Z = f.button`
36
36
  fill: currentColor;
37
37
  }
38
38
  ${T}
39
- `, te = f.span`
39
+ `, te = m.span`
40
40
  display: flex;
41
41
  align-items: center;
42
42
  svg {
43
43
  height: 4px;
44
44
  width: 6px;
45
45
  }
46
- `, oe = f(K)`
46
+ `, oe = m(K)`
47
47
  padding: ${({ theme: o }) => `${o.spaces[1]} ${o.spaces[3]}`};
48
48
  `, $ = ({ as: o, children: l, onClick: d, isFocused: c, isLink: k, isExternal: v, ...C }) => {
49
49
  const p = b();
@@ -107,7 +107,7 @@ const h = ({
107
107
  onReachEnd: i,
108
108
  ...x
109
109
  }) => {
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";
110
+ const s = b(), P = Y(d), R = b(!1), [u, f] = B(!1), [D, I] = B(0), y = z.toArray(l), A = c || (C === "S" ? oe : K), S = !!i && typeof i == "function";
111
111
  E(() => {
112
112
  if (["string", "number"].includes(typeof o)) {
113
113
  const n = y.findIndex((r) => r.props.children === o);
@@ -121,13 +121,13 @@ const h = ({
121
121
  t.isValidElement(o) && D === -1 && s.current.focus();
122
122
  }, [o, D]);
123
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));
124
+ u && (n.key === a.ESCAPE && (n.stopPropagation(), f(!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));
125
125
  }, F = (n) => {
126
- (n.key === a.ENTER || n.key === a.SPACE) && m((r) => !r);
126
+ (n.key === a.ENTER || n.key === a.SPACE) && f((r) => !r);
127
127
  }, V = (n) => {
128
- n.preventDefault(), n.currentTarget.contains(n.relatedTarget) || m(!1);
128
+ n.preventDefault(), n.currentTarget.contains(n.relatedTarget) || f(!1);
129
129
  }, q = (n) => {
130
- n.preventDefault(), m((r) => !r);
130
+ n.preventDefault(), f((r) => !r);
131
131
  }, W = () => {
132
132
  S && i();
133
133
  }, _ = y.map((n, r) => /* @__PURE__ */ t.createElement(G, {
@@ -137,7 +137,7 @@ const h = ({
137
137
  role: "menuitem"
138
138
  }, j(n, {
139
139
  onClick() {
140
- n.props.onClick(), m(!1), s.current.focus();
140
+ n.props.onClick(), f(!1), s.current.focus();
141
141
  },
142
142
  isFocused: D === r
143
143
  })));
@@ -1,4 +1,4 @@
1
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,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;
4
+ `,i=({as:t,label:g,searchLabel:f,searchable:y,onChange:b,value:m,onClear:S,onSubmit:v,id:B})=>{const[n,l]=o.useState(!1),p=w.usePrevious(n),q=k.useId(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:b,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),y&&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;