@strapi/design-system 1.6.4 → 1.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/dist/Accordion/Accordion.cjs +1 -1
  2. package/dist/Accordion/Accordion.js +1 -1
  3. package/dist/Accordion/AccordionToggle.cjs +6 -6
  4. package/dist/Accordion/AccordionToggle.js +48 -51
  5. package/dist/BaseRadio/BaseRadio.cjs +1 -1
  6. package/dist/BaseRadio/BaseRadio.js +1 -1
  7. package/dist/Box/Box.cjs +3 -3
  8. package/dist/Box/Box.js +26 -26
  9. package/dist/Card/Card.cjs +1 -1
  10. package/dist/Card/Card.js +1 -1
  11. package/dist/CarouselInput/CarouselActions.cjs +1 -1
  12. package/dist/CarouselInput/CarouselActions.js +16 -4
  13. package/dist/CarouselInput/CarouselInput.cjs +1 -1
  14. package/dist/CarouselInput/CarouselInput.js +13 -13
  15. package/dist/Checkbox/Checkbox.cjs +2 -2
  16. package/dist/Checkbox/Checkbox.js +13 -13
  17. package/dist/Combobox/Combobox.cjs +1 -1
  18. package/dist/Combobox/Combobox.js +62 -63
  19. package/dist/DatePicker/DatePickerCalendar.cjs +1 -1
  20. package/dist/DatePicker/DatePickerCalendar.js +2 -1
  21. package/dist/DatePicker/DatePickerTd.cjs +3 -3
  22. package/dist/DatePicker/DatePickerTd.js +8 -9
  23. package/dist/DatePicker/DatePickerTh.cjs +2 -2
  24. package/dist/DatePicker/DatePickerTh.js +3 -4
  25. package/dist/DateTimePicker/DateTimePicker.cjs +1 -1
  26. package/dist/DateTimePicker/DateTimePicker.js +28 -28
  27. package/dist/Dialog/Dialog.cjs +4 -4
  28. package/dist/Dialog/Dialog.js +2 -2
  29. package/dist/Dialog/DialogFooter.cjs +3 -3
  30. package/dist/Dialog/DialogFooter.js +2 -2
  31. package/dist/Field/Field.cjs +1 -1
  32. package/dist/Field/Field.js +31 -27
  33. package/dist/Field/FieldAction.cjs +2 -8
  34. package/dist/Field/FieldAction.js +27 -16
  35. package/dist/Field/FieldContext.cjs +1 -1
  36. package/dist/Field/FieldContext.js +2 -2
  37. package/dist/Field/FieldError.cjs +1 -1
  38. package/dist/Field/FieldError.js +14 -4
  39. package/dist/Field/FieldHint.cjs +1 -1
  40. package/dist/Field/FieldHint.js +17 -7
  41. package/dist/Field/FieldInput.cjs +14 -16
  42. package/dist/Field/FieldInput.js +104 -72
  43. package/dist/Field/FieldLabel.cjs +3 -3
  44. package/dist/Field/FieldLabel.js +43 -25
  45. package/dist/FocusTrap/FocusTrap.cjs +1 -1
  46. package/dist/FocusTrap/FocusTrap.js +34 -38
  47. package/dist/JSONInput/JSONInput.cjs +1 -1
  48. package/dist/JSONInput/JSONInput.js +29 -27
  49. package/dist/Layout/HeaderLayout.cjs +2 -2
  50. package/dist/Layout/HeaderLayout.js +3 -3
  51. package/dist/MainNav/NavSection.cjs +1 -1
  52. package/dist/MainNav/NavSection.js +33 -13
  53. package/dist/MainNav/NavSections.cjs +2 -2
  54. package/dist/MainNav/NavSections.js +20 -10
  55. package/dist/ModalLayout/ModalLayout.cjs +1 -1
  56. package/dist/ModalLayout/ModalLayout.js +1 -1
  57. package/dist/NumberInput/NumberInput.cjs +2 -2
  58. package/dist/NumberInput/NumberInput.js +32 -32
  59. package/dist/Popover/Popover.cjs +3 -3
  60. package/dist/Popover/Popover.js +1 -1
  61. package/dist/RawTable/RawCell.cjs +1 -1
  62. package/dist/RawTable/RawCell.js +61 -67
  63. package/dist/RawTable/RawTable.cjs +1 -1
  64. package/dist/RawTable/RawTable.js +39 -37
  65. package/dist/RawTable/RawTbody.cjs +1 -1
  66. package/dist/RawTable/RawTbody.js +14 -11
  67. package/dist/RawTable/RawThead.cjs +1 -1
  68. package/dist/RawTable/RawThead.js +13 -8
  69. package/dist/RawTable/RawTr.cjs +1 -1
  70. package/dist/RawTable/RawTr.js +20 -13
  71. package/dist/Searchbar/Searchbar.cjs +2 -2
  72. package/dist/Searchbar/Searchbar.js +7 -6
  73. package/dist/Select/Select.cjs +2 -2
  74. package/dist/Select/Select.js +24 -25
  75. package/dist/Select/SelectList.cjs +1 -1
  76. package/dist/Select/SelectList.js +10 -8
  77. package/dist/SimpleMenu/SimpleMenu.cjs +1 -1
  78. package/dist/SimpleMenu/SimpleMenu.js +1 -1
  79. package/dist/SubNav/SubNavHeader.cjs +2 -2
  80. package/dist/SubNav/SubNavHeader.js +2 -2
  81. package/dist/SubNav/SubNavLinkSection.cjs +3 -3
  82. package/dist/SubNav/SubNavLinkSection.js +1 -1
  83. package/dist/SubNav/SubNavSection.cjs +2 -2
  84. package/dist/SubNav/SubNavSection.js +7 -7
  85. package/dist/SubNav/SubNavSections.cjs +1 -1
  86. package/dist/SubNav/SubNavSections.js +17 -7
  87. package/dist/Tabs/TabGroup.cjs +1 -1
  88. package/dist/Tabs/TabGroup.js +1 -1
  89. package/dist/Tag/Tag.cjs +8 -8
  90. package/dist/Tag/Tag.js +52 -49
  91. package/dist/TextInput/TextInput.cjs +1 -1
  92. package/dist/TextInput/TextInput.js +13 -13
  93. package/dist/Textarea/Textarea.cjs +2 -2
  94. package/dist/Textarea/Textarea.js +12 -13
  95. package/dist/Textarea/TextareaInput.cjs +4 -4
  96. package/dist/Textarea/TextareaInput.js +13 -12
  97. package/dist/TimePicker/TimePicker.cjs +2 -2
  98. package/dist/TimePicker/TimePicker.js +1 -1
  99. package/dist/ToggleCheckbox/ToggleCheckbox.cjs +2 -2
  100. package/dist/ToggleCheckbox/ToggleCheckbox.js +1 -0
  101. package/dist/ToggleInput/ToggleInput.cjs +3 -3
  102. package/dist/ToggleInput/ToggleInput.js +28 -29
  103. package/dist/Tooltip/Tooltip.cjs +1 -1
  104. package/dist/Tooltip/Tooltip.js +1 -1
  105. package/dist/helpers/deprecations.cjs +1 -1
  106. package/dist/helpers/deprecations.js +7 -7
  107. package/dist/helpers/useElementOnScreen.cjs +1 -1
  108. package/dist/helpers/useElementOnScreen.js +4 -13
  109. package/dist/helpers/useId.cjs +1 -1
  110. package/dist/helpers/useId.js +4 -11
  111. package/dist/helpers/useIntersection.cjs +1 -1
  112. package/dist/helpers/useIntersection.js +4 -21
  113. package/dist/helpers/useLockScroll.cjs +1 -1
  114. package/dist/helpers/useLockScroll.js +4 -7
  115. package/dist/helpers/usePrevious.cjs +1 -1
  116. package/dist/helpers/usePrevious.js +4 -8
  117. package/dist/helpers/useResizeObserver.cjs +1 -1
  118. package/dist/helpers/useResizeObserver.js +4 -14
  119. package/dist/hooks/useElementOnScreen.cjs +1 -0
  120. package/dist/hooks/useElementOnScreen.js +15 -0
  121. package/dist/hooks/useIntersection.cjs +1 -1
  122. package/dist/hooks/useIntersection.js +3 -3
  123. package/dist/hooks/useLockScroll.cjs +1 -0
  124. package/dist/hooks/useLockScroll.js +9 -0
  125. package/dist/hooks/usePrevious.cjs +1 -0
  126. package/dist/hooks/usePrevious.js +10 -0
  127. package/dist/hooks/useResizeObserver.cjs +1 -0
  128. package/dist/hooks/useResizeObserver.js +16 -0
  129. package/dist/v2/MainNav/NavSection.cjs +1 -1
  130. package/dist/v2/MainNav/NavSection.js +33 -13
  131. package/dist/v2/MainNav/NavSections.cjs +2 -2
  132. package/dist/v2/MainNav/NavSections.js +20 -10
  133. package/dist/v2/SimpleMenu/SimpleMenu.cjs +1 -1
  134. package/dist/v2/SimpleMenu/SimpleMenu.js +1 -1
  135. package/dist/v2/SubNav/SubNavHeader.cjs +2 -2
  136. package/dist/v2/SubNav/SubNavHeader.js +2 -2
  137. package/dist/v2/SubNav/SubNavLinkSection.cjs +3 -3
  138. package/dist/v2/SubNav/SubNavLinkSection.js +1 -1
  139. package/dist/v2/SubNav/SubNavSection.cjs +2 -2
  140. package/dist/v2/SubNav/SubNavSection.js +10 -10
  141. package/dist/v2/SubNav/SubNavSections.cjs +1 -1
  142. package/dist/v2/SubNav/SubNavSections.js +17 -7
  143. package/package.json +4 -3
  144. package/dist/Select/SingleSelect.cjs +0 -82
  145. package/dist/Select/SingleSelect.js +0 -285
@@ -1,86 +1,80 @@
1
- import g, { useRef as w, useState as R, useLayoutEffect as N, useCallback as A } from "react";
2
- import o from "prop-types";
3
- import { useTable as P } from "./RawTableContext.js";
4
- import { Box as B } from "../Box/Box.js";
5
- import { getFocusableNodes as l, getFocusableNodesWithKeyboardNav as b } from "../helpers/getFocusableNodes.js";
6
- import { KeyboardKeys as d } from "../helpers/keyboardKeys.js";
7
- const E = (r) => /* @__PURE__ */ g.createElement(h, { ...r, as: "th" }), h = ({ coords: r, as: T, ...x }) => {
8
- const s = w(null), { rowIndex: y, colIndex: v, setTableValues: p } = P(), [c, i] = R(!1), I = (e) => {
9
- const t = l(s.current, !0);
1
+ import { jsx as g } from "react/jsx-runtime";
2
+ import { useRef as y, useState as I, useLayoutEffect as N, useCallback as v } from "react";
3
+ import { useTable as w } from "./RawTableContext.js";
4
+ import { Box as A } from "../Box/Box.js";
5
+ import { getFocusableNodes as u, getFocusableNodesWithKeyboardNav as b } from "../helpers/getFocusableNodes.js";
6
+ import { KeyboardKeys as f } from "../helpers/keyboardKeys.js";
7
+ const D = (n) => g(B, {
8
+ ...n,
9
+ as: "th"
10
+ }), B = ({
11
+ coords: n,
12
+ as: h = "td",
13
+ ...E
14
+ }) => {
15
+ const s = y(null), {
16
+ rowIndex: p,
17
+ colIndex: x,
18
+ setTableValues: m
19
+ } = w(), [r, l] = I(!1), T = (e) => {
20
+ const t = u(s.current, !0);
10
21
  if (t.length === 0 || t.length === 1 && b(t).length === 0)
11
22
  return;
12
- if (t.length > 1 && !t.find((u) => u.tagName !== "BUTTON")) {
23
+ if (t.length > 1 && !t.find((a) => a.tagName !== "BUTTON")) {
13
24
  e.preventDefault();
14
- const u = t.findIndex((a) => a === document.activeElement);
15
- if (e.key === d.RIGHT) {
16
- const a = t[u + 1];
17
- a && (e.stopPropagation(), a.focus());
18
- } else if (e.key === d.LEFT) {
19
- const a = t[u - 1];
20
- a && (e.stopPropagation(), a.focus());
25
+ const a = t.findIndex((c) => c === document.activeElement);
26
+ if (e.key === f.RIGHT) {
27
+ const c = t[a + 1];
28
+ c && (e.stopPropagation(), c.focus());
29
+ } else if (e.key === f.LEFT) {
30
+ const c = t[a - 1];
31
+ c && (e.stopPropagation(), c.focus());
21
32
  }
22
33
  return;
23
34
  }
24
- const n = e.key === d.ENTER;
25
- if (n && !c)
26
- i(!0);
27
- else if ((e.key === d.ESCAPE || n) && c) {
28
- if (n && document.activeElement.tagName === "A")
35
+ const o = e.key === f.ENTER;
36
+ if (o && !r)
37
+ l(!0);
38
+ else if ((e.key === f.ESCAPE || o) && r) {
39
+ if (o && document.activeElement?.tagName === "A")
29
40
  return;
30
- i(!1), s.current.focus();
41
+ l(!1), s.current.focus();
31
42
  } else
32
- c && e.stopPropagation();
33
- }, f = y === r.row - 1 && v === r.col - 1;
43
+ r && e.stopPropagation();
44
+ }, i = p === n.row - 1 && x === n.col - 1;
34
45
  N(() => {
35
- const e = l(s.current, !0);
36
- e.length === 0 || e.length === 1 && b(e).length !== 0 || e.length > 1 && Boolean(e.find((t) => t.tagName !== "BUTTON")) ? (s.current.setAttribute("tabIndex", !c && f ? 0 : -1), e.forEach((t, n) => {
37
- t.setAttribute("tabIndex", c ? 0 : -1), c && n === 0 && t.focus();
46
+ const e = u(s.current, !0);
47
+ e.length === 0 || e.length === 1 && b(e).length !== 0 || e.length > 1 && Boolean(e.find((t) => t.tagName !== "BUTTON")) ? (s.current.setAttribute("tabIndex", !r && i ? "0" : "-1"), e.forEach((t, o) => {
48
+ t.setAttribute("tabIndex", r ? "0" : "-1"), r && o === 0 && t.focus();
38
49
  })) : e.forEach((t) => {
39
- t.setAttribute("tabIndex", f ? 0 : -1);
50
+ t.setAttribute("tabIndex", i ? "0" : "-1");
40
51
  });
41
- }, [c, f]);
42
- const m = A(() => {
43
- const e = l(s.current, !0);
44
- e.length >= 1 && (b(e).length !== 0 || !e.find((t) => t.tagName !== "BUTTON")) && i(!0), p({ rowIndex: r.row - 1, colIndex: r.col - 1 });
45
- }, [r, p]);
52
+ }, [r, i]);
53
+ const d = v(() => {
54
+ const e = u(s.current, !0);
55
+ e.length >= 1 && (b(e).length !== 0 || !e.find((t) => t.tagName !== "BUTTON")) && l(!0), m({
56
+ rowIndex: n.row - 1,
57
+ colIndex: n.col - 1
58
+ });
59
+ }, [n, m]);
46
60
  return N(() => {
47
61
  const e = s.current;
48
- return l(e, !0).forEach((n) => {
49
- n.addEventListener("focus", m);
62
+ return u(e, !0).forEach((o) => {
63
+ o.addEventListener("focus", d);
50
64
  }), () => {
51
- l(e, !0).forEach((u) => {
52
- u.removeEventListener("focus", m);
65
+ u(e, !0).forEach((a) => {
66
+ a.removeEventListener("focus", d);
53
67
  });
54
68
  };
55
- }, [m]), /* @__PURE__ */ g.createElement(B, { role: "gridcell", as: T, ref: s, onKeyDown: I, ...x });
56
- };
57
- E.defaultProps = {
58
- children: void 0,
59
- coords: {}
60
- };
61
- E.propTypes = {
62
- "aria-colindex": o.number.isRequired,
63
- children: o.node,
64
- coords: o.shape({
65
- col: o.number,
66
- row: o.number
67
- })
68
- };
69
- h.defaultProps = {
70
- as: "td",
71
- children: void 0,
72
- coords: {}
73
- };
74
- h.propTypes = {
75
- "aria-colindex": o.number.isRequired,
76
- as: o.oneOf(["td", "th"]),
77
- children: o.node,
78
- coords: o.shape({
79
- col: o.number,
80
- row: o.number
81
- })
69
+ }, [d]), g(A, {
70
+ role: "gridcell",
71
+ as: h,
72
+ ref: s,
73
+ onKeyDown: T,
74
+ ...E
75
+ });
82
76
  };
83
77
  export {
84
- h as RawTd,
85
- E as RawTh
78
+ B as RawTd,
79
+ D as RawTh
86
80
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("react"),_=require("prop-types"),E=require("./focusFocusable.cjs"),q=require("./RawTableContext.cjs"),r=require("../helpers/keyboardKeys.cjs"),k=a=>a&&typeof a=="object"&&"default"in a?a:{default:a},y=k(u),o=k(_),d=({colCount:a,rowCount:l,jumpStep:n,initialCol:T,initialRow:p,...R})=>{const K=u.useRef(null),f=u.useRef(!1),[b,s]=u.useState(p),[i,c]=u.useState(T),D=u.useCallback(({colIndex:t,rowIndex:e})=>{c(t),s(e)},[]);u.useEffect(()=>{f.current&&E.focusFocusable(K.current),f.current||(f.current=!0)},[i,b]);const m=t=>{switch(t.key){case r.KeyboardKeys.RIGHT:{t.preventDefault(),c(e=>e<a-1?e+1:e);break}case r.KeyboardKeys.LEFT:{t.preventDefault(),c(e=>e>0?e-1:e);break}case r.KeyboardKeys.UP:{t.preventDefault(),s(e=>e>0?e-1:e);break}case r.KeyboardKeys.DOWN:{t.preventDefault(),s(e=>e<l-1?e+1:e);break}case r.KeyboardKeys.HOME:{t.preventDefault(),t.ctrlKey&&s(0),c(0);break}case r.KeyboardKeys.END:{t.preventDefault(),t.ctrlKey&&s(l-1),c(a-1);break}case r.KeyboardKeys.PAGE_DOWN:{t.preventDefault(),s(e=>e+n<l?e+n:l-1);break}case r.KeyboardKeys.PAGE_UP:{t.preventDefault(),s(e=>e-n>0?e-n:0);break}}},P=y.default.useMemo(()=>({rowIndex:b,colIndex:i,setTableValues:D}),[i,b,D]);return y.default.createElement(q.RawTableContext.Provider,{value:P},y.default.createElement("table",{role:"grid",ref:K,"aria-rowcount":l,"aria-colcount":a,onKeyDown:m,...R}))};d.defaultProps={jumpStep:3,initialCol:0,initialRow:0};d.propTypes={colCount:o.default.number.isRequired,initialCol:o.default.number,initialRow:o.default.number,jumpStep:o.default.number,rowCount:o.default.number.isRequired};exports.RawTable=d;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("react/jsx-runtime"),r=require("react"),E=require("./focusFocusable.cjs"),P=require("./RawTableContext.cjs"),s=require("../helpers/keyboardKeys.cjs"),j=({colCount:b,rowCount:c,jumpStep:l=3,initialCol:D=0,initialRow:d=0,...k})=>{const f=r.useRef(null),n=r.useRef(!1),[o,t]=r.useState(d),[y,u]=r.useState(D),K=r.useCallback(({colIndex:a,rowIndex:e})=>{u(a),t(e)},[]);r.useEffect(()=>{n.current&&E.focusFocusable(f.current),n.current||(n.current=!0)},[y,o]);const T=a=>{switch(a.key){case s.KeyboardKeys.RIGHT:{a.preventDefault(),u(e=>e<b-1?e+1:e);break}case s.KeyboardKeys.LEFT:{a.preventDefault(),u(e=>e>0?e-1:e);break}case s.KeyboardKeys.UP:{a.preventDefault(),t(e=>e>0?e-1:e);break}case s.KeyboardKeys.DOWN:{a.preventDefault(),t(e=>e<c-1?e+1:e);break}case s.KeyboardKeys.HOME:{a.preventDefault(),a.ctrlKey&&t(0),u(0);break}case s.KeyboardKeys.END:{a.preventDefault(),a.ctrlKey&&t(c-1),u(b-1);break}case s.KeyboardKeys.PAGE_DOWN:{a.preventDefault(),t(e=>e+l<c?e+l:c-1);break}case s.KeyboardKeys.PAGE_UP:{a.preventDefault(),t(e=>e-l>0?e-l:0);break}}},R=r.useMemo(()=>({rowIndex:o,colIndex:y,setTableValues:K}),[y,o,K]);return i.jsx(P.RawTableContext.Provider,{value:R,children:i.jsx("table",{role:"grid",ref:f,"aria-rowcount":c,"aria-colcount":b,onKeyDown:T,...k})})};exports.RawTable=j;
@@ -1,19 +1,29 @@
1
- import b, { useRef as k, useState as y, useCallback as d, useEffect as _ } from "react";
2
- import l from "prop-types";
3
- import { focusFocusable as G } from "./focusFocusable.js";
4
- import { RawTableContext as N } from "./RawTableContext.js";
1
+ import { jsx as D } from "react/jsx-runtime";
2
+ import { useRef as k, useState as m, useCallback as h, useEffect as G, useMemo as N } from "react";
3
+ import { focusFocusable as O } from "./focusFocusable.js";
4
+ import { RawTableContext as A } from "./RawTableContext.js";
5
5
  import { KeyboardKeys as a } from "../helpers/keyboardKeys.js";
6
- const p = ({ colCount: u, rowCount: c, jumpStep: n, initialCol: E, initialRow: P, ...T }) => {
7
- const m = k(null), i = k(!1), [o, r] = y(P), [f, s] = y(E), D = d(({ colIndex: t, rowIndex: e }) => {
6
+ const _ = ({
7
+ colCount: l,
8
+ rowCount: c,
9
+ jumpStep: f = 3,
10
+ initialCol: y = 0,
11
+ initialRow: E = 0,
12
+ ...K
13
+ }) => {
14
+ const b = k(null), n = k(!1), [u, r] = m(E), [o, s] = m(y), i = h(({
15
+ colIndex: t,
16
+ rowIndex: e
17
+ }) => {
8
18
  s(t), r(e);
9
19
  }, []);
10
- _(() => {
11
- i.current && G(m.current), i.current || (i.current = !0);
12
- }, [f, o]);
13
- const K = (t) => {
20
+ G(() => {
21
+ n.current && O(b.current), n.current || (n.current = !0);
22
+ }, [o, u]);
23
+ const P = (t) => {
14
24
  switch (t.key) {
15
25
  case a.RIGHT: {
16
- t.preventDefault(), s((e) => e < u - 1 ? e + 1 : e);
26
+ t.preventDefault(), s((e) => e < l - 1 ? e + 1 : e);
17
27
  break;
18
28
  }
19
29
  case a.LEFT: {
@@ -33,43 +43,35 @@ const p = ({ colCount: u, rowCount: c, jumpStep: n, initialCol: E, initialRow: P
33
43
  break;
34
44
  }
35
45
  case a.END: {
36
- t.preventDefault(), t.ctrlKey && r(c - 1), s(u - 1);
46
+ t.preventDefault(), t.ctrlKey && r(c - 1), s(l - 1);
37
47
  break;
38
48
  }
39
49
  case a.PAGE_DOWN: {
40
- t.preventDefault(), r((e) => e + n < c ? e + n : c - 1);
50
+ t.preventDefault(), r((e) => e + f < c ? e + f : c - 1);
41
51
  break;
42
52
  }
43
53
  case a.PAGE_UP: {
44
- t.preventDefault(), r((e) => e - n > 0 ? e - n : 0);
54
+ t.preventDefault(), r((e) => e - f > 0 ? e - f : 0);
45
55
  break;
46
56
  }
47
57
  }
48
- }, R = b.useMemo(() => ({ rowIndex: o, colIndex: f, setTableValues: D }), [f, o, D]);
49
- return /* @__PURE__ */ b.createElement(N.Provider, { value: R }, /* @__PURE__ */ b.createElement(
50
- "table",
51
- {
58
+ }, T = N(() => ({
59
+ rowIndex: u,
60
+ colIndex: o,
61
+ setTableValues: i
62
+ }), [o, u, i]);
63
+ return D(A.Provider, {
64
+ value: T,
65
+ children: D("table", {
52
66
  role: "grid",
53
- ref: m,
67
+ ref: b,
54
68
  "aria-rowcount": c,
55
- "aria-colcount": u,
56
- onKeyDown: K,
57
- ...T
58
- }
59
- ));
60
- };
61
- p.defaultProps = {
62
- jumpStep: 3,
63
- initialCol: 0,
64
- initialRow: 0
65
- };
66
- p.propTypes = {
67
- colCount: l.number.isRequired,
68
- initialCol: l.number,
69
- initialRow: l.number,
70
- jumpStep: l.number,
71
- rowCount: l.number.isRequired
69
+ "aria-colcount": l,
70
+ onKeyDown: P,
71
+ ...K
72
+ })
73
+ });
72
74
  };
73
75
  export {
74
- p as RawTable
76
+ _ as RawTable
75
77
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react"),d=require("prop-types"),o=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},u=o(t),s=o(d),r=({children:e,...a})=>{const n=t.Children.toArray(e).map((l,c)=>t.cloneElement(l,{"aria-rowindex":c+2}));return u.default.createElement("tbody",{...a},n)};r.propTypes={children:s.default.node.isRequired};exports.RawTbody=r;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react/jsx-runtime"),r=require("react"),u=({children:t,...n})=>{const o=r.Children.toArray(t).map((e,i)=>r.isValidElement(e)?r.cloneElement(e,{"aria-rowindex":i+2}):e);return a.jsx("tbody",{...n,children:o})};exports.RawTbody=u;
@@ -1,14 +1,17 @@
1
- import d, { Children as i, cloneElement as p } from "react";
2
- import a from "prop-types";
3
- const l = ({ children: e, ...r }) => {
4
- const o = i.toArray(e).map(
5
- (t, n) => p(t, { "aria-rowindex": n + 2 })
6
- );
7
- return /* @__PURE__ */ d.createElement("tbody", { ...r }, o);
8
- };
9
- l.propTypes = {
10
- children: a.node.isRequired
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { Children as m, isValidElement as a, cloneElement as l } from "react";
3
+ const s = ({
4
+ children: e,
5
+ ...n
6
+ }) => {
7
+ const o = m.toArray(e).map((r, t) => a(r) ? l(r, {
8
+ "aria-rowindex": t + 2
9
+ }) : r);
10
+ return i("tbody", {
11
+ ...n,
12
+ children: o
13
+ });
11
14
  };
12
15
  export {
13
- l as RawTbody
16
+ s as RawTbody
14
17
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react"),c=require("prop-types"),r=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},d=r(t),u=r(c),a=({children:e,...o})=>{const n=t.Children.toArray(e).map(l=>t.cloneElement(l,{"aria-rowindex":1}));return d.default.createElement("thead",{...o},n)};a.propTypes={children:u.default.node.isRequired};exports.RawThead=a;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("react/jsx-runtime"),r=require("react"),o=({children:t,...n})=>{const a=r.Children.toArray(t).map(e=>r.isValidElement(e)?r.cloneElement(e,{"aria-rowindex":1}):e);return i.jsx("thead",{...n,children:a})};exports.RawThead=o;
@@ -1,11 +1,16 @@
1
- import n, { Children as a, cloneElement as d } from "react";
2
- import i from "prop-types";
3
- const p = ({ children: e, ...r }) => {
4
- const o = a.toArray(e).map((t) => d(t, { "aria-rowindex": 1 }));
5
- return /* @__PURE__ */ n.createElement("thead", { ...r }, o);
6
- };
7
- p.propTypes = {
8
- children: i.node.isRequired
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import { Children as a, isValidElement as i, cloneElement as m } from "react";
3
+ const p = ({
4
+ children: e,
5
+ ...n
6
+ }) => {
7
+ const t = a.toArray(e).map((r) => i(r) ? m(r, {
8
+ "aria-rowindex": 1
9
+ }) : r);
10
+ return o("thead", {
11
+ ...n,
12
+ children: t
13
+ });
9
14
  };
10
15
  export {
11
16
  p as RawThead
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react"),u=require("prop-types"),s=require("../Box/Box.cjs"),n=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},d=n(r),a=n(u),c=({children:e,...t})=>{const l=r.Children.toArray(e).map((i,o)=>r.cloneElement(i,{"aria-colindex":o+1,coords:{col:o+1,row:t["aria-rowindex"]}}));return d.default.createElement(s.Box,{as:"tr",...t},l)};c.propTypes={"aria-rowindex":a.default.number.isRequired,children:a.default.node.isRequired};exports.RawTr=c;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("react/jsx-runtime"),r=require("react"),c=require("../Box/Box.cjs"),s=({children:n,...t})=>{const a=r.Children.toArray(n).map((e,o)=>r.isValidElement(e)?r.cloneElement(e,{"aria-colindex":o+1,coords:{col:o+1,row:t["aria-rowindex"]}}):e);return i.jsx(c.Box,{as:"tr",...t,children:a})};exports.RawTr=s;
@@ -1,16 +1,23 @@
1
- import a, { Children as c, cloneElement as d } from "react";
2
- import o from "prop-types";
3
- import { Box as l } from "../Box/Box.js";
4
- const m = ({ children: i, ...r }) => {
5
- const n = c.toArray(i).map(
6
- (t, e) => d(t, { "aria-colindex": e + 1, coords: { col: e + 1, row: r["aria-rowindex"] } })
7
- );
8
- return /* @__PURE__ */ a.createElement(l, { as: "tr", ...r }, n);
9
- };
10
- m.propTypes = {
11
- "aria-rowindex": o.number.isRequired,
12
- children: o.node.isRequired
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { Children as a, isValidElement as m, cloneElement as l } from "react";
3
+ import { Box as c } from "../Box/Box.js";
4
+ const x = ({
5
+ children: n,
6
+ ...o
7
+ }) => {
8
+ const t = a.toArray(n).map((r, e) => m(r) ? l(r, {
9
+ "aria-colindex": e + 1,
10
+ coords: {
11
+ col: e + 1,
12
+ row: o["aria-rowindex"]
13
+ }
14
+ }) : r);
15
+ return i(c, {
16
+ as: "tr",
17
+ ...o,
18
+ children: t
19
+ });
13
20
  };
14
21
  export {
15
- m as RawTr
22
+ x as RawTr
16
23
  };
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react"),d=require("@strapi/icons"),E=require("prop-types"),S=require("styled-components"),_=require("../Field/Field.cjs"),v=require("../Field/FieldLabel.cjs"),a=require("../Field/FieldInput.cjs");require("../Field/FieldContext.cjs");require("../Typography/Typography.cjs");const x=require("../Field/FieldAction.cjs"),o=require("../Flex/Flex.cjs"),$=require("../themes/sizes.cjs"),z=require("../themes/utils.cjs"),C=require("../VisuallyHidden/VisuallyHidden.cjs"),i=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},t=i(s),l=i(E),n=i(S),I=n.default(o.Flex)`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react"),d=require("@strapi/icons"),E=require("prop-types"),S=require("styled-components"),x=require("../Field/Field.cjs"),_=require("../Field/FieldLabel.cjs"),a=require("../Field/FieldInput.cjs");require("react/jsx-runtime");require("../Field/FieldContext.cjs");require("../Typography/Typography.cjs");const v=require("../Field/FieldAction.cjs"),o=require("../Flex/Flex.cjs"),$=require("../themes/sizes.cjs"),z=require("../themes/utils.cjs"),C=require("../VisuallyHidden/VisuallyHidden.cjs"),i=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},t=i(s),l=i(E),n=i(S),I=n.default(o.Flex)`
2
2
  font-size: 0.5rem;
3
3
  svg path {
4
4
  fill: ${({theme:e})=>e.colors.neutral400};
@@ -26,4 +26,4 @@
26
26
  }
27
27
 
28
28
  ${z.inputFocusStyle(a.InputWrapper)}
29
- `,r=s.forwardRef(({name:e,size:f,children:F,value:u,onClear:y,clearLabel:h,...m},q)=>{const c=s.useRef(null),b=u.length>0,g=R=>{y(R),c.current.focus()},j=q||c;return t.default.createElement(T,null,t.default.createElement(_.Field,{name:e},t.default.createElement(C.VisuallyHidden,null,t.default.createElement(v.FieldLabel,null,F)),t.default.createElement(a.FieldInput,{ref:j,value:u,startAction:t.default.createElement(p,null,t.default.createElement(d.Search,{"aria-hidden":!0})),size:f,endAction:b?t.default.createElement(x.FieldAction,{label:h,onClick:g},t.default.createElement(I,null,t.default.createElement(d.Cross,null))):void 0,...m})))});r.displayName="Searchbar";r.defaultProps={value:"",size:"M"};r.propTypes={children:l.default.node.isRequired,clearLabel:l.default.string.isRequired,name:l.default.string.isRequired,onClear:l.default.func.isRequired,size:l.default.oneOf(Object.keys($.sizes.input)),value:l.default.string};exports.Searchbar=r;
29
+ `,r=s.forwardRef(({name:e,size:f,children:F,value:u,onClear:y,clearLabel:h,...m},q)=>{const c=s.useRef(null),b=u.length>0,j=R=>{y(R),c.current.focus()},g=q||c;return t.default.createElement(T,null,t.default.createElement(x.Field,{name:e},t.default.createElement(C.VisuallyHidden,null,t.default.createElement(_.FieldLabel,null,F)),t.default.createElement(a.FieldInput,{ref:g,value:u,startAction:t.default.createElement(p,null,t.default.createElement(d.Search,{"aria-hidden":!0})),size:f,endAction:b?t.default.createElement(v.FieldAction,{label:h,onClick:j},t.default.createElement(I,null,t.default.createElement(d.Cross,null))):void 0,...m})))});r.displayName="Searchbar";r.defaultProps={value:"",size:"M"};r.propTypes={children:l.default.node.isRequired,clearLabel:l.default.string.isRequired,name:l.default.string.isRequired,onClear:l.default.func.isRequired,size:l.default.oneOf(Object.keys($.sizes.input)),value:l.default.string};exports.Searchbar=r;
@@ -5,6 +5,7 @@ import o from "styled-components";
5
5
  import { Field as C } from "../Field/Field.js";
6
6
  import { FieldLabel as F } from "../Field/FieldLabel.js";
7
7
  import { InputWrapper as a, FieldInput as w } from "../Field/FieldInput.js";
8
+ import "react/jsx-runtime";
8
9
  import "../Field/FieldContext.js";
9
10
  import "../Typography/Typography.js";
10
11
  import { FieldAction as z } from "../Field/FieldAction.js";
@@ -17,7 +18,7 @@ const W = o(s)`
17
18
  svg path {
18
19
  fill: ${({ theme: e }) => e.colors.neutral400};
19
20
  }
20
- `, c = o(s)`
21
+ `, m = o(s)`
21
22
  font-size: 0.8rem;
22
23
 
23
24
  svg path {
@@ -28,7 +29,7 @@ const W = o(s)`
28
29
  box-shadow: ${({ theme: e }) => e.shadows.filterShadow};
29
30
 
30
31
  &:focus-within {
31
- ${c} {
32
+ ${m} {
32
33
  svg path {
33
34
  fill: ${({ theme: e }) => e.colors.primary600};
34
35
  }
@@ -40,17 +41,17 @@ const W = o(s)`
40
41
  }
41
42
 
42
43
  ${x(a)}
43
- `, l = y(({ name: e, size: m, children: p, value: i, onClear: u, clearLabel: d, ...f }, h) => {
44
+ `, l = y(({ name: e, size: p, children: c, value: i, onClear: u, clearLabel: d, ...f }, h) => {
44
45
  const n = $(null), b = i.length > 0, E = (g) => {
45
46
  u(g), n.current.focus();
46
47
  }, R = h || n;
47
- return /* @__PURE__ */ r.createElement(A, null, /* @__PURE__ */ r.createElement(C, { name: e }, /* @__PURE__ */ r.createElement(I, null, /* @__PURE__ */ r.createElement(F, null, p)), /* @__PURE__ */ r.createElement(
48
+ return /* @__PURE__ */ r.createElement(A, null, /* @__PURE__ */ r.createElement(C, { name: e }, /* @__PURE__ */ r.createElement(I, null, /* @__PURE__ */ r.createElement(F, null, c)), /* @__PURE__ */ r.createElement(
48
49
  w,
49
50
  {
50
51
  ref: R,
51
52
  value: i,
52
- startAction: /* @__PURE__ */ r.createElement(c, null, /* @__PURE__ */ r.createElement(S, { "aria-hidden": !0 })),
53
- size: m,
53
+ startAction: /* @__PURE__ */ r.createElement(m, null, /* @__PURE__ */ r.createElement(S, { "aria-hidden": !0 })),
54
+ size: p,
54
55
  endAction: b ? /* @__PURE__ */ r.createElement(z, { label: d, onClick: E }, /* @__PURE__ */ r.createElement(W, null, /* @__PURE__ */ r.createElement(v, null))) : void 0,
55
56
  ...f
56
57
  }
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("react"),M=require("@strapi/icons"),le=require("prop-types"),ne=require("styled-components"),T=require("./components.cjs"),re=require("./constants.cjs"),oe=require("./hooks/useButtonRef.cjs"),ae=require("./SelectButton.cjs"),se=require("./SelectList.cjs"),ie=require("./SelectTags.cjs"),P=require("../Box/Box.cjs"),ce=require("../Field/Field.cjs"),de=require("../Field/FieldLabel.cjs");require("../Field/FieldInput.cjs");const ue=require("../Field/FieldHint.cjs"),fe=require("../Field/FieldError.cjs");require("../Field/FieldContext.cjs");require("../Field/FieldAction.cjs");const x=require("../Flex/Flex.cjs"),A=require("../helpers/escapeSelector.cjs"),pe=require("../helpers/useId.cjs"),ye=require("../Popover/Popover.cjs"),he=require("../Stack/Stack.cjs"),me=require("../themes/sizes.cjs"),z=require("../Typography/Typography.cjs"),G=require("../VisuallyHidden/VisuallyHidden.cjs"),v=o=>o&&typeof o=="object"&&"default"in o?o:{default:o},l=v(u),e=v(le),Ee=v(ne),be=Ee.default(x.Flex)`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("react"),P=require("@strapi/icons"),le=require("prop-types"),ne=require("styled-components"),x=require("./components.cjs"),re=require("./constants.cjs"),oe=require("./hooks/useButtonRef.cjs"),ae=require("./SelectButton.cjs"),se=require("./SelectList.cjs"),ie=require("./SelectTags.cjs"),k=require("../Box/Box.cjs"),ce=require("../Field/Field.cjs"),de=require("../Field/FieldLabel.cjs");require("../Field/FieldInput.cjs");const ue=require("../Field/FieldHint.cjs"),fe=require("../Field/FieldError.cjs");require("../Field/FieldContext.cjs");require("../Field/FieldAction.cjs");const b=require("../Flex/Flex.cjs"),A=require("../helpers/escapeSelector.cjs"),pe=require("../hooks/useId.cjs"),ye=require("../Popover/Popover.cjs"),he=require("../themes/sizes.cjs"),z=require("../Typography/Typography.cjs"),G=require("../VisuallyHidden/VisuallyHidden.cjs"),v=o=>o&&typeof o=="object"&&"default"in o?o:{default:o},l=v(u),e=v(le),me=v(ne),Ee=me.default(b.Flex)`
2
2
  width: 100%;
3
- `,I=({label:o,labelAction:W,id:N,children:J,customizeContent:y,placeholder:g,onChange:F,value:n,hint:S,error:p,disabled:i,clearLabel:C,onClear:O,onReachEnd:K,multi:a,required:Q,selectButtonTitle:U,size:V,startIcon:R,withTags:h,...X})=>{const r=pe.useId(N),[m,E]=u.useState(void 0),L=oe.useButtonRef(m),$=u.useRef(null),_=`${r}-label`,b=`${r}-content`,Y=typeof p=="string";let j;if(p?j=`${r}-error`:S&&(j=`${r}-hint`),h&&!a)throw new Error('The "withTags" props can only be used when the "multi" prop is present');const Z=()=>{E(void 0)},ee=()=>{i||(O(),L.current.focus())},k=t=>{t.preventDefault(),!i&&(t.nativeEvent.which===3||t.nativeEvent.button===2||E(re.DownState.Mouse))},q=(t,s=!0)=>{a?F(n.includes(t)?n.filter(c=>c!==t):[...n,t]):(F(t),s&&E(void 0))},D=t=>{F(n.includes(t[0])?n.filter((s,c,f)=>f.indexOf(s)<0,t):[...n,...t])};let B,w=[];const H=(t,s)=>{const c=`${r}-option-${t.props.value}`,f=a?n.includes(t.props.value):t.props.value===n;return f&&(h?w.push({label:t.props.children,value:t.props.value}):B=t.props.children),u.cloneElement(t,{id:A.escapeSelector(c),onClick:()=>q(t.props.value),selected:f,multi:a,isChild:s})},te=u.Children.toArray(J).map(t=>{if(t.type.displayName==="OptGroup"){const s=`${r}-option-${t.props.label}`,c=t.props.children.every(d=>n.includes(d.props.value)),f=!c&&t.props.children.some(d=>n.includes(d.props.value));return u.cloneElement(t,{id:A.escapeSelector(s),onClick:()=>D(t.props.children.map(d=>d.props.value)),selected:c,indeterminate:f,multi:a,children:u.Children.toArray(t.props.children).map(d=>H(d,!0)),value:t.props.label})}return H(t)});return l.default.createElement(ce.Field,{hint:S,error:p,id:r,required:Q},l.default.createElement(he.Stack,{spacing:o||S||Y?1:0},o&&l.default.createElement(de.FieldLabel,{action:W},o),l.default.createElement(T.SelectButtonWrapper,{size:V,hasError:Boolean(p),disabled:i,ref:$},l.default.createElement(ae.SelectButton,{ref:L,labelledBy:`${r} ${_} ${b}`,"aria-describedby":j,expanded:Boolean(m),onTrigger:E,id:r,hasError:Boolean(p),disabled:i,onMouseDown:k,...X}),l.default.createElement(be,{justifyContent:"space-between"},l.default.createElement(x.Flex,null,R&&l.default.createElement(P.Box,{paddingLeft:3,"aria-hidden":!0},R),h&&l.default.createElement(ie.SelectTags,{tags:w,onRemoveTag:q,disabled:i}),l.default.createElement(P.Box,{paddingLeft:4,paddingRight:4},h?l.default.createElement(l.default.Fragment,null,!n||n.length===0?l.default.createElement(z.Typography,{ellipsis:!0,id:b,textColor:"neutral600"},g):null,l.default.createElement(G.VisuallyHidden,{as:"span",id:b},y?y(n):B||g,n.join(", "))):l.default.createElement(z.Typography,{ellipsis:!0,id:b,textColor:n?"neutral800":"neutral600"},y?y(n):B||g,a&&l.default.createElement(G.VisuallyHidden,{as:"span"},n.join(", "))))),l.default.createElement(x.Flex,null,(a&&n&&n.length||!a&&n)&&O&&l.default.createElement(T.IconBox,{as:"button",type:"button",onClick:ee,"aria-label":C,"aria-disabled":i,title:C},l.default.createElement(M.Cross,null)),l.default.createElement(T.CaretBox,{paddingLeft:3,"aria-hidden":!0,as:"button",type:"button",onMouseDown:k,tabIndex:-1,disabled:i,title:U},l.default.createElement(M.CarretDown,null))))),l.default.createElement(ue.FieldHint,null),l.default.createElement(fe.FieldError,null)),m&&l.default.createElement(ye.Popover,{source:$,spacing:4,fullWidth:!0,intersectionId:`select-list-intersection-${r}`,onReachEnd:K},l.default.createElement(se.SelectList,{selectId:r,labelledBy:o?_:void 0,onEscape:Z,expanded:m,onSelectItem:(t,s)=>s?D(t):q(t,!1),multi:a},te)))};I.defaultProps={"aria-label":void 0,children:[],clearLabel:"Clear",customizeContent:void 0,disabled:!1,id:void 0,label:void 0,labelAction:void 0,multi:!1,onChange(){},onClear:void 0,onReachEnd:void 0,value:void 0,hint:void 0,error:void 0,placeholder:"Select...",required:!1,selectButtonTitle:"Carret Down Button",size:"M",startIcon:void 0,withTags:!1};I.propTypes={"aria-label":e.default.string,children:e.default.oneOfType([e.default.arrayOf(e.default.node),e.default.node]),clearLabel:e.default.string,customizeContent:e.default.func,disabled:e.default.bool,error:e.default.oneOfType([e.default.string,e.default.bool]),hint:e.default.oneOfType([e.default.string,e.default.bool,e.default.node,e.default.arrayOf(e.default.node)]),id:e.default.oneOfType([e.default.string,e.default.number]),label:e.default.string,labelAction:e.default.element,multi:e.default.bool,onChange:e.default.func,onClear:e.default.func,onReachEnd:e.default.func,placeholder:e.default.string,required:e.default.bool,selectButtonTitle:e.default.string,size:e.default.oneOf(Object.keys(me.sizes.input)),startIcon:e.default.element,value:e.default.oneOfType([e.default.arrayOf(e.default.oneOfType([e.default.string,e.default.number])),e.default.string,e.default.number]),withTags:e.default.bool};exports.Select=I;
3
+ `,I=({label:o,labelAction:W,id:N,children:J,customizeContent:y,placeholder:F,onChange:j,value:n,hint:q,error:p,disabled:i,clearLabel:C,onClear:O,onReachEnd:K,multi:a,required:Q,selectButtonTitle:U,size:V,startIcon:R,withTags:h,...X})=>{const r=pe.useId(N),[m,E]=u.useState(void 0),L=oe.useButtonRef(m),$=u.useRef(null),_=`${r}-label`,g=`${r}-content`,Y=typeof p=="string";let S;if(p?S=`${r}-error`:q&&(S=`${r}-hint`),h&&!a)throw new Error('The "withTags" props can only be used when the "multi" prop is present');const Z=()=>{E(void 0)},ee=()=>{i||(O(),L.current.focus())},D=t=>{t.preventDefault(),!i&&(t.nativeEvent.which===3||t.nativeEvent.button===2||E(re.DownState.Mouse))},B=(t,s=!0)=>{a?j(n.includes(t)?n.filter(c=>c!==t):[...n,t]):(j(t),s&&E(void 0))},w=t=>{j(n.includes(t[0])?n.filter((s,c,f)=>f.indexOf(s)<0,t):[...n,...t])};let T,H=[];const M=(t,s)=>{const c=`${r}-option-${t.props.value}`,f=a?n.includes(t.props.value):t.props.value===n;return f&&(h?H.push({label:t.props.children,value:t.props.value}):T=t.props.children),u.cloneElement(t,{id:A.escapeSelector(c),onClick:()=>B(t.props.value),selected:f,multi:a,isChild:s})},te=u.Children.toArray(J).map(t=>{if(t.type.displayName==="OptGroup"){const s=`${r}-option-${t.props.label}`,c=t.props.children.every(d=>n.includes(d.props.value)),f=!c&&t.props.children.some(d=>n.includes(d.props.value));return u.cloneElement(t,{id:A.escapeSelector(s),onClick:()=>w(t.props.children.map(d=>d.props.value)),selected:c,indeterminate:f,multi:a,children:u.Children.toArray(t.props.children).map(d=>M(d,!0)),value:t.props.label})}return M(t)});return l.default.createElement(ce.Field,{hint:q,error:p,id:r,required:Q},l.default.createElement(b.Flex,{direction:"column",alignItems:"stretch",gap:o||q||Y?1:0},o&&l.default.createElement(de.FieldLabel,{action:W},o),l.default.createElement(x.SelectButtonWrapper,{size:V,hasError:Boolean(p),disabled:i,ref:$},l.default.createElement(ae.SelectButton,{ref:L,labelledBy:`${r} ${_} ${g}`,"aria-describedby":S,expanded:Boolean(m),onTrigger:E,id:r,hasError:Boolean(p),disabled:i,onMouseDown:D,...X}),l.default.createElement(Ee,{justifyContent:"space-between"},l.default.createElement(b.Flex,null,R&&l.default.createElement(k.Box,{paddingLeft:3,"aria-hidden":!0},R),h&&l.default.createElement(ie.SelectTags,{tags:H,onRemoveTag:B,disabled:i}),l.default.createElement(k.Box,{paddingLeft:4,paddingRight:4},h?l.default.createElement(l.default.Fragment,null,!n||n.length===0?l.default.createElement(z.Typography,{ellipsis:!0,id:g,textColor:"neutral600"},F):null,l.default.createElement(G.VisuallyHidden,{as:"span",id:g},y?y(n):T||F,n.join(", "))):l.default.createElement(z.Typography,{ellipsis:!0,id:g,textColor:n?"neutral800":"neutral600"},y?y(n):T||F,a&&l.default.createElement(G.VisuallyHidden,{as:"span"},n.join(", "))))),l.default.createElement(b.Flex,null,(a&&n&&n.length||!a&&n)&&O&&l.default.createElement(x.IconBox,{as:"button",type:"button",onClick:ee,"aria-label":C,"aria-disabled":i,title:C},l.default.createElement(P.Cross,null)),l.default.createElement(x.CaretBox,{paddingLeft:3,"aria-hidden":!0,as:"button",type:"button",onMouseDown:D,tabIndex:-1,disabled:i,title:U},l.default.createElement(P.CarretDown,null))))),l.default.createElement(ue.FieldHint,null),l.default.createElement(fe.FieldError,null)),m&&l.default.createElement(ye.Popover,{source:$,spacing:4,fullWidth:!0,intersectionId:`select-list-intersection-${r}`,onReachEnd:K},l.default.createElement(se.SelectList,{selectId:r,labelledBy:o?_:void 0,onEscape:Z,expanded:m,onSelectItem:(t,s)=>s?w(t):B(t,!1),multi:a},te)))};I.defaultProps={"aria-label":void 0,children:[],clearLabel:"Clear",customizeContent:void 0,disabled:!1,id:void 0,label:void 0,labelAction:void 0,multi:!1,onChange(){},onClear:void 0,onReachEnd:void 0,value:void 0,hint:void 0,error:void 0,placeholder:"Select...",required:!1,selectButtonTitle:"Carret Down Button",size:"M",startIcon:void 0,withTags:!1};I.propTypes={"aria-label":e.default.string,children:e.default.oneOfType([e.default.arrayOf(e.default.node),e.default.node]),clearLabel:e.default.string,customizeContent:e.default.func,disabled:e.default.bool,error:e.default.oneOfType([e.default.string,e.default.bool]),hint:e.default.oneOfType([e.default.string,e.default.bool,e.default.node,e.default.arrayOf(e.default.node)]),id:e.default.oneOfType([e.default.string,e.default.number]),label:e.default.string,labelAction:e.default.element,multi:e.default.bool,onChange:e.default.func,onClear:e.default.func,onReachEnd:e.default.func,placeholder:e.default.string,required:e.default.bool,selectButtonTitle:e.default.string,size:e.default.oneOf(Object.keys(he.sizes.input)),startIcon:e.default.element,value:e.default.oneOfType([e.default.arrayOf(e.default.oneOfType([e.default.string,e.default.number])),e.default.string,e.default.number]),withTags:e.default.bool};exports.Select=I;
@@ -1,4 +1,4 @@
1
- import r, { useState as ee, useRef as te, Children as k, cloneElement as j } from "react";
1
+ import r, { useState as ee, useRef as te, Children as j, cloneElement as k } from "react";
2
2
  import { Cross as re, CarretDown as oe } from "@strapi/icons";
3
3
  import e from "prop-types";
4
4
  import ne from "styled-components";
@@ -16,15 +16,14 @@ import { FieldHint as he } from "../Field/FieldHint.js";
16
16
  import { FieldError as Ee } from "../Field/FieldError.js";
17
17
  import "../Field/FieldContext.js";
18
18
  import "../Field/FieldAction.js";
19
- import { Flex as C } from "../Flex/Flex.js";
19
+ import { Flex as g } from "../Flex/Flex.js";
20
20
  import { escapeSelector as P } from "../helpers/escapeSelector.js";
21
- import { useId as be } from "../helpers/useId.js";
22
- import { Popover as ye } from "../Popover/Popover.js";
23
- import { Stack as ge } from "../Stack/Stack.js";
24
- import { sizes as ve } from "../themes/sizes.js";
21
+ import { useId as be } from "../hooks/useId.js";
22
+ import { Popover as ge } from "../Popover/Popover.js";
23
+ import { sizes as ye } from "../themes/sizes.js";
25
24
  import { Typography as _ } from "../Typography/Typography.js";
26
25
  import { VisuallyHidden as q } from "../VisuallyHidden/VisuallyHidden.js";
27
- const Be = ne(C)`
26
+ const ve = ne(g)`
28
27
  width: 100%;
29
28
  `, z = ({
30
29
  label: d,
@@ -33,12 +32,12 @@ const Be = ne(C)`
33
32
  children: W,
34
33
  customizeContent: f,
35
34
  placeholder: y,
36
- onChange: g,
35
+ onChange: v,
37
36
  value: o,
38
- hint: v,
37
+ hint: B,
39
38
  error: m,
40
39
  disabled: s,
41
- clearLabel: I,
40
+ clearLabel: C,
42
41
  onClear: S,
43
42
  onReachEnd: N,
44
43
  multi: i,
@@ -50,8 +49,8 @@ const Be = ne(C)`
50
49
  ...U
51
50
  }) => {
52
51
  const n = be(H), [h, E] = ee(void 0), $ = pe(h), R = te(null), w = `${n}-label`, b = `${n}-content`, X = typeof m == "string";
53
- let B;
54
- if (m ? B = `${n}-error` : v && (B = `${n}-hint`), u && !i)
52
+ let I;
53
+ if (m ? I = `${n}-error` : B && (I = `${n}-hint`), u && !i)
55
54
  throw new Error('The "withTags" props can only be used when the "multi" prop is present');
56
55
  const Y = () => {
57
56
  E(void 0);
@@ -60,43 +59,43 @@ const Be = ne(C)`
60
59
  }, D = (t) => {
61
60
  t.preventDefault(), !s && (t.nativeEvent.which === 3 || t.nativeEvent.button === 2 || E(ae.Mouse));
62
61
  }, O = (t, l = !0) => {
63
- i ? g(o.includes(t) ? o.filter((a) => a !== t) : [...o, t]) : (g(t), l && E(void 0));
62
+ i ? v(o.includes(t) ? o.filter((a) => a !== t) : [...o, t]) : (v(t), l && E(void 0));
64
63
  }, L = (t) => {
65
- g(
64
+ v(
66
65
  o.includes(t[0]) ? o.filter((l, a, c) => c.indexOf(l) < 0, t) : [...o, ...t]
67
66
  );
68
67
  };
69
68
  let T, F = [];
70
69
  const M = (t, l) => {
71
70
  const a = `${n}-option-${t.props.value}`, c = i ? o.includes(t.props.value) : t.props.value === o;
72
- return c && (u ? F.push({ label: t.props.children, value: t.props.value }) : T = t.props.children), j(t, {
71
+ return c && (u ? F.push({ label: t.props.children, value: t.props.value }) : T = t.props.children), k(t, {
73
72
  id: P(a),
74
73
  onClick: () => O(t.props.value),
75
74
  selected: c,
76
75
  multi: i,
77
76
  isChild: l
78
77
  });
79
- }, V = k.toArray(W).map((t) => {
78
+ }, V = j.toArray(W).map((t) => {
80
79
  if (t.type.displayName === "OptGroup") {
81
80
  const l = `${n}-option-${t.props.label}`, a = t.props.children.every((p) => o.includes(p.props.value)), c = !a && t.props.children.some((p) => o.includes(p.props.value));
82
- return j(t, {
81
+ return k(t, {
83
82
  id: P(l),
84
83
  onClick: () => L(t.props.children.map((p) => p.props.value)),
85
84
  selected: a,
86
85
  indeterminate: c,
87
86
  multi: i,
88
- children: k.toArray(t.props.children).map((p) => M(p, !0)),
87
+ children: j.toArray(t.props.children).map((p) => M(p, !0)),
89
88
  value: t.props.label
90
89
  });
91
90
  }
92
91
  return M(t);
93
92
  });
94
- return /* @__PURE__ */ r.createElement(fe, { hint: v, error: m, id: n, required: J }, /* @__PURE__ */ r.createElement(ge, { spacing: d || v || X ? 1 : 0 }, d && /* @__PURE__ */ r.createElement(ue, { action: G }, d), /* @__PURE__ */ r.createElement(ie, { size: Q, hasError: Boolean(m), disabled: s, ref: R }, /* @__PURE__ */ r.createElement(
93
+ return /* @__PURE__ */ r.createElement(fe, { hint: B, error: m, id: n, required: J }, /* @__PURE__ */ r.createElement(g, { direction: "column", alignItems: "stretch", gap: d || B || X ? 1 : 0 }, d && /* @__PURE__ */ r.createElement(ue, { action: G }, d), /* @__PURE__ */ r.createElement(ie, { size: Q, hasError: Boolean(m), disabled: s, ref: R }, /* @__PURE__ */ r.createElement(
95
94
  ce,
96
95
  {
97
96
  ref: $,
98
97
  labelledBy: `${n} ${w} ${b}`,
99
- "aria-describedby": B,
98
+ "aria-describedby": I,
100
99
  expanded: Boolean(h),
101
100
  onTrigger: E,
102
101
  id: n,
@@ -105,15 +104,15 @@ const Be = ne(C)`
105
104
  onMouseDown: D,
106
105
  ...U
107
106
  }
108
- ), /* @__PURE__ */ r.createElement(Be, { justifyContent: "space-between" }, /* @__PURE__ */ r.createElement(C, null, x && /* @__PURE__ */ r.createElement(A, { paddingLeft: 3, "aria-hidden": !0 }, x), u && /* @__PURE__ */ r.createElement(de, { tags: F, onRemoveTag: O, disabled: s }), /* @__PURE__ */ r.createElement(A, { paddingLeft: 4, paddingRight: 4 }, u ? /* @__PURE__ */ r.createElement(r.Fragment, null, !o || o.length === 0 ? /* @__PURE__ */ r.createElement(_, { ellipsis: !0, id: b, textColor: "neutral600" }, y) : null, /* @__PURE__ */ r.createElement(q, { as: "span", id: b }, f ? f(o) : T || y, o.join(", "))) : /* @__PURE__ */ r.createElement(_, { ellipsis: !0, id: b, textColor: o ? "neutral800" : "neutral600" }, f ? f(o) : T || y, i && /* @__PURE__ */ r.createElement(q, { as: "span" }, o.join(", "))))), /* @__PURE__ */ r.createElement(C, null, (i && o && o.length || !i && o) && S && /* @__PURE__ */ r.createElement(
107
+ ), /* @__PURE__ */ r.createElement(ve, { justifyContent: "space-between" }, /* @__PURE__ */ r.createElement(g, null, x && /* @__PURE__ */ r.createElement(A, { paddingLeft: 3, "aria-hidden": !0 }, x), u && /* @__PURE__ */ r.createElement(de, { tags: F, onRemoveTag: O, disabled: s }), /* @__PURE__ */ r.createElement(A, { paddingLeft: 4, paddingRight: 4 }, u ? /* @__PURE__ */ r.createElement(r.Fragment, null, !o || o.length === 0 ? /* @__PURE__ */ r.createElement(_, { ellipsis: !0, id: b, textColor: "neutral600" }, y) : null, /* @__PURE__ */ r.createElement(q, { as: "span", id: b }, f ? f(o) : T || y, o.join(", "))) : /* @__PURE__ */ r.createElement(_, { ellipsis: !0, id: b, textColor: o ? "neutral800" : "neutral600" }, f ? f(o) : T || y, i && /* @__PURE__ */ r.createElement(q, { as: "span" }, o.join(", "))))), /* @__PURE__ */ r.createElement(g, null, (i && o && o.length || !i && o) && S && /* @__PURE__ */ r.createElement(
109
108
  le,
110
109
  {
111
110
  as: "button",
112
111
  type: "button",
113
112
  onClick: Z,
114
- "aria-label": I,
113
+ "aria-label": C,
115
114
  "aria-disabled": s,
116
- title: I
115
+ title: C
117
116
  },
118
117
  /* @__PURE__ */ r.createElement(re, null)
119
118
  ), /* @__PURE__ */ r.createElement(
@@ -130,7 +129,7 @@ const Be = ne(C)`
130
129
  },
131
130
  /* @__PURE__ */ r.createElement(oe, null)
132
131
  )))), /* @__PURE__ */ r.createElement(he, null), /* @__PURE__ */ r.createElement(Ee, null)), h && /* @__PURE__ */ r.createElement(
133
- ye,
132
+ ge,
134
133
  {
135
134
  source: R,
136
135
  spacing: 4,
@@ -194,7 +193,7 @@ z.propTypes = {
194
193
  placeholder: e.string,
195
194
  required: e.bool,
196
195
  selectButtonTitle: e.string,
197
- size: e.oneOf(Object.keys(ve.input)),
196
+ size: e.oneOf(Object.keys(ye.input)),
198
197
  startIcon: e.element,
199
198
  value: e.oneOfType([
200
199
  e.arrayOf(e.oneOfType([e.string, e.number])),