@strapi/design-system 1.6.1 → 1.6.3

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 (107) 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/Box/Box.cjs +1 -1
  8. package/dist/Box/Box.js +36 -33
  9. package/dist/Card/Card.cjs +1 -1
  10. package/dist/Card/Card.js +1 -1
  11. package/dist/Card/CardHeader.cjs +1 -2
  12. package/dist/Card/CardHeader.js +1 -1
  13. package/dist/Card/CardTimer.cjs +1 -5
  14. package/dist/Card/CardTimer.js +14 -20
  15. package/dist/CarouselInput/CarouselInput.cjs +1 -1
  16. package/dist/CarouselInput/CarouselInput.js +9 -9
  17. package/dist/Checkbox/Checkbox.cjs +2 -2
  18. package/dist/Checkbox/Checkbox.js +16 -16
  19. package/dist/Combobox/Combobox.cjs +1 -1
  20. package/dist/Combobox/Combobox.js +139 -139
  21. package/dist/Combobox/ComboboxList.cjs +1 -1
  22. package/dist/Combobox/ComboboxList.js +5 -12
  23. package/dist/DateTimePicker/DateTimePicker.cjs +1 -1
  24. package/dist/DateTimePicker/DateTimePicker.js +71 -71
  25. package/dist/Dialog/Dialog.cjs +4 -7
  26. package/dist/Dialog/Dialog.js +30 -29
  27. package/dist/Field/Field.cjs +1 -1
  28. package/dist/Field/Field.js +7 -7
  29. package/dist/Field/FieldHint.cjs +1 -1
  30. package/dist/Field/FieldHint.js +4 -4
  31. package/dist/JSONInput/JSONInput.cjs +1 -1
  32. package/dist/JSONInput/JSONInput.js +45 -42
  33. package/dist/JSONInput/JSONInputContainer.cjs +5 -2
  34. package/dist/JSONInput/JSONInputContainer.js +6 -3
  35. package/dist/Layout/HeaderLayout.cjs +3 -8
  36. package/dist/Layout/HeaderLayout.js +38 -38
  37. package/dist/Main/SkipToContent.cjs +1 -2
  38. package/dist/Main/SkipToContent.js +1 -1
  39. package/dist/MainNav/MainNav.cjs +1 -6
  40. package/dist/MainNav/MainNav.js +15 -15
  41. package/dist/MainNav/NavFooter.cjs +1 -3
  42. package/dist/MainNav/NavFooter.js +3 -4
  43. package/dist/ModalLayout/ModalLayout.cjs +3 -9
  44. package/dist/ModalLayout/ModalLayout.js +24 -23
  45. package/dist/NumberInput/NumberInput.cjs +1 -1
  46. package/dist/NumberInput/NumberInput.js +18 -18
  47. package/dist/Popover/Popover.cjs +3 -3
  48. package/dist/Popover/Popover.js +112 -103
  49. package/dist/Popover/index.cjs +1 -1
  50. package/dist/Popover/index.js +9 -3
  51. package/dist/Select/Option.cjs +3 -7
  52. package/dist/Select/Option.js +6 -6
  53. package/dist/Select/Select.cjs +2 -2
  54. package/dist/Select/Select.js +58 -58
  55. package/dist/Select/SelectTags.cjs +1 -3
  56. package/dist/Select/SelectTags.js +4 -4
  57. package/dist/Select/SingleSelect.cjs +82 -0
  58. package/dist/Select/SingleSelect.js +285 -0
  59. package/dist/SimpleMenu/SimpleMenu.cjs +1 -1
  60. package/dist/SimpleMenu/SimpleMenu.js +10 -10
  61. package/dist/Stack/Stack.cjs +5 -5
  62. package/dist/Stack/Stack.js +7 -6
  63. package/dist/SubNav/SubNavHeader.cjs +1 -1
  64. package/dist/SubNav/SubNavHeader.js +15 -15
  65. package/dist/SubNav/SubNavLinkSection.cjs +2 -2
  66. package/dist/SubNav/SubNavLinkSection.js +6 -6
  67. package/dist/SubNav/SubNavSection.cjs +1 -1
  68. package/dist/SubNav/SubNavSection.js +12 -12
  69. package/dist/Table/Table.cjs +1 -3
  70. package/dist/Table/Table.js +2 -3
  71. package/dist/Tabs/TabGroup.cjs +1 -1
  72. package/dist/Tabs/TabGroup.js +11 -11
  73. package/dist/TextInput/TextInput.cjs +1 -1
  74. package/dist/TextInput/TextInput.js +24 -24
  75. package/dist/Textarea/Textarea.cjs +1 -1
  76. package/dist/Textarea/Textarea.js +1 -1
  77. package/dist/TimePicker/TimePicker.cjs +2 -2
  78. package/dist/TimePicker/TimePicker.js +2 -2
  79. package/dist/ToggleCheckbox/ToggleCheckbox.cjs +6 -6
  80. package/dist/ToggleCheckbox/ToggleCheckbox.js +45 -43
  81. package/dist/ToggleInput/ToggleInput.cjs +1 -1
  82. package/dist/ToggleInput/ToggleInput.js +10 -10
  83. package/dist/Tooltip/Tooltip.cjs +2 -3
  84. package/dist/Tooltip/Tooltip.js +18 -18
  85. package/dist/helpers/deprecations.cjs +1 -0
  86. package/dist/helpers/deprecations.js +13 -0
  87. package/dist/helpers/useId.cjs +1 -1
  88. package/dist/helpers/useId.js +11 -4
  89. package/dist/hooks/useIntersection.cjs +1 -0
  90. package/dist/hooks/useIntersection.js +23 -0
  91. package/dist/index.cjs +1 -1
  92. package/dist/index.js +136 -134
  93. package/dist/v2/MainNav/MainNav.cjs +1 -6
  94. package/dist/v2/MainNav/MainNav.js +15 -15
  95. package/dist/v2/MainNav/NavFooter.cjs +1 -3
  96. package/dist/v2/MainNav/NavFooter.js +3 -4
  97. package/dist/v2/SimpleMenu/SimpleMenu.cjs +1 -1
  98. package/dist/v2/SimpleMenu/SimpleMenu.js +12 -12
  99. package/dist/v2/SubNav/SubNavHeader.cjs +1 -1
  100. package/dist/v2/SubNav/SubNavHeader.js +15 -15
  101. package/dist/v2/SubNav/SubNavLinkSection.cjs +4 -4
  102. package/dist/v2/SubNav/SubNavLinkSection.js +8 -8
  103. package/dist/v2/SubNav/SubNavSection.cjs +1 -1
  104. package/dist/v2/SubNav/SubNavSection.js +4 -4
  105. package/package.json +3 -4
  106. package/dist/helpers/genId.cjs +0 -1
  107. package/dist/helpers/genId.js +0 -5
@@ -1,31 +1,25 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- import a from "styled-components";
3
- import { Box as e } from "../Box/Box.js";
4
- import { Typography as i } from "../Typography/Typography.js";
5
- const p = a(e)`
6
- position: absolute;
7
- bottom: ${({
8
- theme: r
9
- }) => r.spaces[1]};
10
- right: ${({
11
- theme: r
12
- }) => r.spaces[1]};
13
- `, l = ({
14
- children: r,
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { Box as i } from "../Box/Box.js";
3
+ import { Typography as a } from "../Typography/Typography.js";
4
+ const p = ({
5
+ children: o,
15
6
  ...t
16
- }) => o(p, {
17
- padding: 1,
7
+ }) => r(i, {
8
+ as: "time",
18
9
  background: "neutral800",
10
+ bottom: 1,
11
+ right: 1,
19
12
  color: "neutral0",
20
- as: "time",
21
13
  hasRadius: !0,
14
+ position: "absolute",
15
+ padding: 1,
22
16
  ...t,
23
- children: o(i, {
17
+ children: r(a, {
24
18
  variant: "pi",
25
19
  textColor: "neutral0",
26
- children: r
20
+ children: o
27
21
  })
28
22
  });
29
23
  export {
30
- l as CardTimer
24
+ p as CardTimer
31
25
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const v=require("react"),m=require("prop-types"),E=require("./Carousel.cjs"),R=require("../Field/Field.cjs"),L=require("../Field/FieldLabel.cjs");require("../Field/FieldInput.cjs");const I=require("../Field/FieldHint.cjs"),S=require("../Field/FieldError.cjs");require("../Field/FieldContext.cjs");require("../Field/FieldAction.cjs");const _=require("../Stack/Stack.cjs"),C=require("../helpers/useId.cjs"),u=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},r=u(v),e=u(m),l=({actions:t,children:a,error:n,hint:s,label:i,labelAction:o,nextLabel:c,onNext:f,onPrevious:p,previousLabel:F,required:q,secondaryLabel:b,selectedSlide:g,id:j,...y})=>{const d=C.useId("carouselinput",j);return r.default.createElement(R.Field,{hint:s,error:n,id:d,required:q},r.default.createElement(_.Stack,{spacing:1},i&&r.default.createElement(L.FieldLabel,{action:o},i),r.default.createElement(E.Carousel,{actions:t,label:i,nextLabel:c,onNext:f,onPrevious:p,previousLabel:F,secondaryLabel:b,selectedSlide:g,id:d,...y},a),r.default.createElement(I.FieldHint,null),r.default.createElement(S.FieldError,null)))};l.defaultProps={actions:void 0,error:void 0,hint:void 0,id:void 0,labelAction:void 0,required:!1,secondaryLabel:void 0};l.propTypes={actions:e.default.node,children:e.default.node.isRequired,error:e.default.string,hint:e.default.oneOfType([e.default.string,e.default.node,e.default.arrayOf(e.default.node)]),id:e.default.string,label:e.default.string.isRequired,labelAction:e.default.element,nextLabel:e.default.string.isRequired,onNext:e.default.func.isRequired,onPrevious:e.default.func.isRequired,previousLabel:e.default.string.isRequired,required:e.default.bool,secondaryLabel:e.default.string,selectedSlide:e.default.number.isRequired};exports.CarouselInput=l;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const v=require("react"),m=require("prop-types"),E=require("./Carousel.cjs"),R=require("../Field/Field.cjs"),L=require("../Field/FieldLabel.cjs");require("../Field/FieldInput.cjs");const I=require("../Field/FieldHint.cjs"),S=require("../Field/FieldError.cjs");require("../Field/FieldContext.cjs");require("../Field/FieldAction.cjs");const _=require("../Stack/Stack.cjs"),C=require("../helpers/useId.cjs"),u=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},r=u(v),e=u(m),l=({actions:t,children:a,error:n,hint:s,label:i,labelAction:o,nextLabel:c,onNext:f,onPrevious:F,previousLabel:p,required:q,secondaryLabel:b,selectedSlide:g,id:j,...y})=>{const d=C.useId(j);return r.default.createElement(R.Field,{hint:s,error:n,id:d,required:q},r.default.createElement(_.Stack,{spacing:1},i&&r.default.createElement(L.FieldLabel,{action:o},i),r.default.createElement(E.Carousel,{actions:t,label:i,nextLabel:c,onNext:f,onPrevious:F,previousLabel:p,secondaryLabel:b,selectedSlide:g,id:d,...y},a),r.default.createElement(I.FieldHint,null),r.default.createElement(S.FieldError,null)))};l.defaultProps={actions:void 0,error:void 0,hint:void 0,id:void 0,labelAction:void 0,required:!1,secondaryLabel:void 0};l.propTypes={actions:e.default.node,children:e.default.node.isRequired,error:e.default.string,hint:e.default.oneOfType([e.default.string,e.default.node,e.default.arrayOf(e.default.node)]),id:e.default.string,label:e.default.string.isRequired,labelAction:e.default.element,nextLabel:e.default.string.isRequired,onNext:e.default.func.isRequired,onPrevious:e.default.func.isRequired,previousLabel:e.default.string.isRequired,required:e.default.bool,secondaryLabel:e.default.string,selectedSlide:e.default.number.isRequired};exports.CarouselInput=l;
@@ -16,10 +16,10 @@ const t = ({
16
16
  error: l,
17
17
  hint: s,
18
18
  label: i,
19
- labelAction: a,
20
- nextLabel: m,
21
- onNext: u,
22
- onPrevious: p,
19
+ labelAction: m,
20
+ nextLabel: a,
21
+ onNext: p,
22
+ onPrevious: u,
23
23
  previousLabel: c,
24
24
  required: f,
25
25
  secondaryLabel: g,
@@ -27,7 +27,7 @@ const t = ({
27
27
  id: b,
28
28
  ...v
29
29
  }) => {
30
- const o = x("carouselinput", b);
30
+ const o = x(b);
31
31
  return /* @__PURE__ */ r.createElement(E, {
32
32
  hint: s,
33
33
  error: l,
@@ -36,13 +36,13 @@ const t = ({
36
36
  }, /* @__PURE__ */ r.createElement(h, {
37
37
  spacing: 1
38
38
  }, i && /* @__PURE__ */ r.createElement(y, {
39
- action: a
39
+ action: m
40
40
  }, i), /* @__PURE__ */ r.createElement(R, {
41
41
  actions: n,
42
42
  label: i,
43
- nextLabel: m,
44
- onNext: u,
45
- onPrevious: p,
43
+ nextLabel: a,
44
+ onNext: p,
45
+ onPrevious: u,
46
46
  previousLabel: c,
47
47
  secondaryLabel: g,
48
48
  selectedSlide: q,
@@ -1,7 +1,7 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("react"),p=require("styled-components"),y=require("prop-types"),F=require("../BaseCheckbox/BaseCheckbox.cjs"),b=require("../Stack/Stack.cjs"),x=require("../Field/Field.cjs");require("../Field/FieldLabel.cjs");require("../Field/FieldInput.cjs");const h=require("../Field/FieldHint.cjs"),q=require("../Field/FieldError.cjs"),g=require("../Field/FieldContext.cjs");require("../Field/FieldAction.cjs");const j=require("../Box/Box.cjs"),k=require("../helpers/useId.cjs"),m=require("../Typography/Typography.cjs"),i=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},r=i(f),C=i(p),t=i(y),E=C.default(m.Typography)`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("react"),p=require("styled-components"),y=require("prop-types"),F=require("../BaseCheckbox/BaseCheckbox.cjs"),b=require("../Stack/Stack.cjs"),x=require("../Field/Field.cjs");require("../Field/FieldLabel.cjs");require("../Field/FieldInput.cjs");const h=require("../Field/FieldHint.cjs"),q=require("../Field/FieldError.cjs"),g=require("../Field/FieldContext.cjs");require("../Field/FieldAction.cjs");const j=require("../Box/Box.cjs"),k=require("../helpers/useId.cjs"),m=require("../Typography/Typography.cjs"),o=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},r=o(f),C=o(p),t=o(y),E=C.default(m.Typography)`
2
2
  display: flex;
3
3
  align-items: flex-start;
4
4
  * {
5
5
  cursor: ${({disabled:e})=>e?"not-allowed":"pointer"};
6
6
  }
7
- `,T=e=>{const{id:l}=g.useField();return r.default.createElement(F.BaseCheckbox,{id:l,...e})},a=({children:e,disabled:l,id:n,hint:c,error:s,...u})=>{const d=k.useId("checkbox",n);let o;return s?o=`${d}-error`:c&&(o=`${d}-hint`),r.default.createElement(x.Field,{id:d,hint:c,error:s},r.default.createElement(b.Stack,{spacing:1},r.default.createElement(E,{as:"label",textColor:"neutral800",disabled:l},r.default.createElement(T,{disabled:l,"aria-describedby":o,...u}),r.default.createElement(j.Box,{paddingLeft:2},e)),r.default.createElement(h.FieldHint,null),r.default.createElement(q.FieldError,null)))};a.defaultProps={disabled:!1,id:void 0,error:void 0,hint:void 0};a.propTypes={children:t.default.node.isRequired,disabled:t.default.bool,error:t.default.string,hint:t.default.oneOfType([t.default.string,t.default.node,t.default.arrayOf(t.default.node)]),id:t.default.oneOfType([t.default.string,t.default.number])};exports.Checkbox=a;
7
+ `,T=e=>{const{id:l}=g.useField();return r.default.createElement(F.BaseCheckbox,{id:l,...e})},a=({children:e,disabled:l,id:n,hint:s,error:c,...u})=>{const d=k.useId(n);let i;return c?i=`${d}-error`:s&&(i=`${d}-hint`),r.default.createElement(x.Field,{id:d,hint:s,error:c},r.default.createElement(b.Stack,{spacing:1},r.default.createElement(E,{as:"label",textColor:"neutral800",disabled:l},r.default.createElement(T,{disabled:l,"aria-describedby":i,...u}),r.default.createElement(j.Box,{paddingLeft:2},e)),r.default.createElement(h.FieldHint,null),r.default.createElement(q.FieldError,null)))};a.defaultProps={disabled:!1,id:void 0,error:void 0,hint:void 0};a.propTypes={children:t.default.node.isRequired,disabled:t.default.bool,error:t.default.string,hint:t.default.oneOfType([t.default.string,t.default.node,t.default.arrayOf(t.default.node)]),id:t.default.oneOfType([t.default.string,t.default.number])};exports.Checkbox=a;
@@ -1,34 +1,34 @@
1
1
  import r from "react";
2
- import c from "styled-components";
2
+ import s from "styled-components";
3
3
  import e from "prop-types";
4
- import { BaseCheckbox as s } from "../BaseCheckbox/BaseCheckbox.js";
4
+ import { BaseCheckbox as c } from "../BaseCheckbox/BaseCheckbox.js";
5
5
  import { Stack as f } from "../Stack/Stack.js";
6
- import { Field as b } from "../Field/Field.js";
6
+ import { Field as u } from "../Field/Field.js";
7
7
  import "../Field/FieldLabel.js";
8
8
  import "../Field/FieldInput.js";
9
- import { FieldHint as u } from "../Field/FieldHint.js";
10
- import { FieldError as x } from "../Field/FieldError.js";
11
- import { useField as y } from "../Field/FieldContext.js";
9
+ import { FieldHint as b } from "../Field/FieldHint.js";
10
+ import { FieldError as y } from "../Field/FieldError.js";
11
+ import { useField as x } from "../Field/FieldContext.js";
12
12
  import "../Field/FieldAction.js";
13
- import { Box as h } from "../Box/Box.js";
14
- import { useId as E } from "../helpers/useId.js";
15
- import { Typography as g } from "../Typography/Typography.js";
16
- const k = c(g)`
13
+ import { Box as E } from "../Box/Box.js";
14
+ import { useId as g } from "../helpers/useId.js";
15
+ import { Typography as h } from "../Typography/Typography.js";
16
+ const k = s(h)`
17
17
  display: flex;
18
18
  align-items: flex-start;
19
19
  * {
20
20
  cursor: ${({ disabled: o }) => o ? "not-allowed" : "pointer"};
21
21
  }
22
22
  `, T = (o) => {
23
- const { id: t } = y();
24
- return /* @__PURE__ */ r.createElement(s, {
23
+ const { id: t } = x();
24
+ return /* @__PURE__ */ r.createElement(c, {
25
25
  id: t,
26
26
  ...o
27
27
  });
28
28
  }, a = ({ children: o, disabled: t, id: p, hint: m, error: l, ...d }) => {
29
- const i = E("checkbox", p);
29
+ const i = g(p);
30
30
  let n;
31
- return l ? n = `${i}-error` : m && (n = `${i}-hint`), /* @__PURE__ */ r.createElement(b, {
31
+ return l ? n = `${i}-error` : m && (n = `${i}-hint`), /* @__PURE__ */ r.createElement(u, {
32
32
  id: i,
33
33
  hint: m,
34
34
  error: l
@@ -42,9 +42,9 @@ const k = c(g)`
42
42
  disabled: t,
43
43
  "aria-describedby": n,
44
44
  ...d
45
- }), /* @__PURE__ */ r.createElement(h, {
45
+ }), /* @__PURE__ */ r.createElement(E, {
46
46
  paddingLeft: 2
47
- }, o)), /* @__PURE__ */ r.createElement(u, null), /* @__PURE__ */ r.createElement(x, null)));
47
+ }, o)), /* @__PURE__ */ r.createElement(b, null), /* @__PURE__ */ r.createElement(y, null)));
48
48
  };
49
49
  a.defaultProps = {
50
50
  disabled: !1,
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react"),xe=require("prop-types"),H=require("@strapi/icons"),ye=require("../helpers/useId.cjs"),l=require("./utils.cjs"),_=require("../Flex/Flex.cjs"),N=require("../Select/components.cjs"),he=require("../Popover/Popover.cjs"),ve=require("../Box/Box.cjs"),U=require("../Typography/Typography.cjs"),Ee=require("../Loader/Loader.cjs"),k=require("./components.cjs"),Fe=require("./ComboboxOption.cjs"),Ie=require("./ComboboxList.cjs"),ke=require("../Field/Field.cjs"),qe=require("../Field/FieldLabel.cjs");require("../Field/FieldInput.cjs");const je=require("../Field/FieldHint.cjs"),Me=require("../Field/FieldError.cjs");require("../Field/FieldContext.cjs");require("../Field/FieldAction.cjs");const Oe=require("../Stack/Stack.cjs"),Le=require("../helpers/keyboardKeys.cjs"),Se=require("../VisuallyHidden/VisuallyHidden.cjs"),z=r=>r&&typeof r=="object"&&"default"in r?r:{default:r},o=z(a),e=z(xe),h=({children:r,clearLabel:W,creatable:v,createMessage:G,disabled:d,error:q,hasMoreItems:J,hint:L,label:C,labelAction:Q,loading:j,loadingMessage:X,noOptionsMessage:Y,onChange:S,onClear:R,onCreateOption:Z,onInputChange:A,onLoadMore:ee,placeholder:te,required:T,value:p,...oe})=>{const ne=()=>r.find(t=>t.props?.value.toLowerCase()===p.toLowerCase()).props?.children,[i,w]=a.useState(0),[ae,re]=a.useState(null),[u,$]=a.useState(r),[m,le]=a.useState(!1),[s,F]=a.useState(""),x=a.useRef(),I=a.useRef(!1),E=a.useRef(),B=a.useRef(),se=a.useRef(),P=a.useRef(!0),c=ye.useId("combobox"),D=`${c}-label`;if(!C&&!oe["aria-label"])throw new Error('The Combobox component needs a "label" or an "aria-label" props');a.useEffect(()=>{$(l.filterOptions(r,s))},[s,r]),a.useEffect(()=>{m&&x.current&&l.maintainScrollVisibility(x.current)},[i,m]),a.useLayoutEffect(()=>{P.current&&(P.current=!1)},[p]);const ie=m?`${c}-${i}`:"",V=()=>{S(null),F("")},ce=t=>{A&&A(t);const n=E.current.value;$(l.filterOptions(r,n)),w(0),re(null),s!==n&&F(n),m||b(!0,!1)},ue=t=>{const{key:n}=t,f=v&&s?u.length:u.length-1,y=l.getActionFromKey(n,m);switch(p&&!s&&n===Le.KeyboardKeys.BACKSPACE&&V(),y){case l.MenuActions.Next:{if(i===f){g(0);break}g(l.getUpdatedIndex(i,f,y));break}case l.MenuActions.Previous:{if(i===0){g(f);break}g(l.getUpdatedIndex(i,f,y));break}case l.MenuActions.Last:case l.MenuActions.First:{if(i===f){g(0);break}g(l.getUpdatedIndex(i,f,y));break}case l.MenuActions.CloseSelect:t.preventDefault(),M(i);break;case l.MenuActions.Close:t.preventDefault(),b(!1);break;case l.MenuActions.Open:b(!0);break}},de=t=>{if(t.preventDefault(),p&&!I.current&&F(""),I.current){I.current=!1;return}b(!1,!1)},g=t=>{w(t)},fe=t=>{g(t),M(t)},K=()=>{I.current=!0},M=t=>{const n=u[t];if(F(""),n){S(n.props.value),b(!1);return}v&&(Z(s),b(!1))},b=(t,n=!0)=>{le(t),n&&E.current.focus()},pe=a.Children.toArray(u).map((t,n)=>{const f=i===n;return a.cloneElement(t,{id:`${c}-${n}`,"aria-selected":ae===n,"aria-posinset":n+1,"aria-setsize":a.Children.toArray(u).length,ref(y){f&&(x.current=y)},onClick:()=>fe(n),onMouseDown:K,isSelected:f})}),be=()=>{E.current.focus(),R&&R(),V()},me=()=>{E.current.focus(),b(!0)},ge=()=>{const t=u.findIndex(n=>n.props?.children===s);return s&&t===-1},Ce=t=>{t.preventDefault(),b(t,!0)};return o.default.createElement(ke.Field,{hint:L,error:q,id:c,required:T},o.default.createElement(Se.VisuallyHidden,{"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text"},p),o.default.createElement(Oe.Stack,{spacing:C||L||q?1:0},C&&o.default.createElement(qe.FieldLabel,{action:Q},C),o.default.createElement(k.MainRow,{ref:B,$disabled:d,hasError:q},o.default.createElement(k.InputContainer,{wrap:"wrap"},!s&&p&&o.default.createElement(k.ValueContainer,{id:`${c}-selected-value`},o.default.createElement(U.Typography,null,ne())),o.default.createElement(k.Input,{"aria-activedescendant":ie,"aria-autocomplete":"list","aria-controls":`${c}-listbox`,"aria-disabled":d,"aria-expanded":m,"aria-haspopup":"listbox","aria-labelledby":C?D:void 0,autoComplete:"off",autoCorrect:"off",id:c,onBlur:d?void 0:de,onClick:d?void 0:Ce,onInput:d?void 0:ce,onKeyDown:d?void 0:ue,placeholder:p?"":te,readOnly:d,ref:E,required:T,role:"combobox",spellCheck:"off",type:"text",value:s})),o.default.createElement(_.Flex,null,(p||s)&&o.default.createElement(N.IconBox,{id:`${c}-clear`,"aria-label":W,disabled:d,paddingLeft:3,as:"button",onClick:be,type:"button"},o.default.createElement(H.Cross,null)),o.default.createElement(N.CaretBox,{disabled:d,paddingLeft:3,"aria-hidden":!0,as:"button",onClick:me,tabIndex:-1,type:"button"},o.default.createElement(H.CarretDown,null)))),o.default.createElement(je.FieldHint,null),o.default.createElement(Me.FieldError,null)),m&&o.default.createElement(he.Popover,{id:`${c}-popover`,source:B,spacing:4,fullWidth:!0,intersectionId:`${c}-listbox-popover-intersection`,onReachEnd:J&&!j?ee:void 0},o.default.createElement("div",{role:"listbox",ref:se,id:`${c}-listbox`,"aria-labelledby":C?D:void 0},(Boolean(u.length)||v)&&o.default.createElement(o.default.Fragment,null,o.default.createElement(Ie.ComboboxList,{activeOptionRef:x,options:pe}),ge()&&v&&o.default.createElement(Fe.ComboboxOption,{isSelected:i===u.length,ref:t=>{i===u.length&&(x.current=t)},onMouseDown:K,onClick:()=>M(),taindex:0},G(s))),!u.length&&!v&&!j&&o.default.createElement(ve.Box,{paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2,ref:x},o.default.createElement(U.Typography,{textColor:"neutral800"},Y(s))),j&&o.default.createElement(_.Flex,{justifyContent:"center",alignItems:"center",paddingTop:2,paddingBottom:2},o.default.createElement(Ee.Loader,{small:!0},X)))))},O=r=>o.default.createElement(h,{...r,creatable:!0});h.defaultProps={"aria-label":void 0,clearLabel:"clear",creatable:!1,createMessage:r=>`Create "${r}"`,disabled:!1,error:void 0,hasMoreItems:!1,hint:void 0,label:void 0,loading:!1,loadingMessage:"Loading content...",noOptionsMessage:()=>"No results found",onClear:void 0,onCreateOption:void 0,onInputChange:void 0,onLoadMore:void 0,placeholder:"Select or enter a value",value:void 0};O.defaultProps=h.defaultProps;h.propTypes={"aria-label":e.default.string,children:e.default.oneOfType([e.default.arrayOf(e.default.node),e.default.node]),clearLabel:e.default.string,creatable:e.default.bool,createMessage:e.default.func,disabled:e.default.bool,error:e.default.string,hasMoreItems:e.default.bool,hint:e.default.oneOfType([e.default.string,e.default.node,e.default.arrayOf(e.default.node)]),label:e.default.string,labelAction:e.default.element,loading:e.default.bool,loadingMessage:e.default.string,noOptionsMessage:e.default.func,onChange:e.default.func.isRequired,onClear:e.default.func,onCreateOption:e.default.func,onInputChange:e.default.func,onLoadMore:e.default.func,placeholder:e.default.string,value:e.default.string};O.propTypes={...h.propTypes,onCreateOption:e.default.func.isRequired};exports.Combobox=h;exports.CreatableCombobox=O;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react"),he=require("prop-types"),H=require("@strapi/icons"),ve=require("../helpers/useId.cjs"),l=require("./utils.cjs"),_=require("../Flex/Flex.cjs"),N=require("../Select/components.cjs"),Ee=require("../Popover/Popover.cjs"),Fe=require("../Box/Box.cjs"),U=require("../Typography/Typography.cjs"),Ie=require("../Loader/Loader.cjs"),q=require("./components.cjs"),ke=require("./ComboboxOption.cjs"),qe=require("../Field/Field.cjs"),Me=require("../Field/FieldLabel.cjs");require("../Field/FieldInput.cjs");const Oe=require("../Field/FieldHint.cjs"),je=require("../Field/FieldError.cjs");require("../Field/FieldContext.cjs");require("../Field/FieldAction.cjs");const Se=require("../Stack/Stack.cjs"),Le=require("../helpers/keyboardKeys.cjs"),Re=require("../VisuallyHidden/VisuallyHidden.cjs"),z=r=>r&&typeof r=="object"&&"default"in r?r:{default:r},o=z(a),e=z(he),C=({children:r,clearLabel:W,creatable:x,createMessage:G,disabled:d,error:F,hasMoreItems:J,hint:M,id:Q,label:h,labelAction:X,loading:O,loadingMessage:Y,noOptionsMessage:Z,onChange:R,onClear:A,onCreateOption:ee,onInputChange:T,onLoadMore:te,placeholder:oe,required:$,value:p,...ne})=>{const ae=()=>r.find(t=>t.props?.value.toLowerCase()===p.toLowerCase()).props?.children,[c,w]=a.useState(0),[re,le]=a.useState(null),[u,B]=a.useState(r),[m,se]=a.useState(!1),[s,I]=a.useState(""),v=a.useRef(),k=a.useRef(!1),E=a.useRef(),D=a.useRef(),ie=a.useRef(),P=a.useRef(!0),i=ve.useId(Q),ce=`${i}-label`;if(!h&&!ne["aria-label"])throw new Error('The Combobox component needs a "label" or an "aria-label" props');a.useEffect(()=>{B(l.filterOptions(r,s))},[s,r]),a.useEffect(()=>{m&&v.current&&l.maintainScrollVisibility(v.current)},[c,m]),a.useLayoutEffect(()=>{P.current&&(P.current=!1)},[p]);const ue=m?`${i}-${c}`:"",V=()=>{R(null),I("")},de=t=>{T&&T(t);const n=E.current.value;B(l.filterOptions(r,n)),w(0),le(null),s!==n&&I(n),m||b(!0,!1)},fe=t=>{const{key:n}=t,f=x&&s?u.length:u.length-1,y=l.getActionFromKey(n,m);switch(p&&!s&&n===Le.KeyboardKeys.BACKSPACE&&V(),y){case l.MenuActions.Next:{if(c===f){g(0);break}g(l.getUpdatedIndex(c,f,y));break}case l.MenuActions.Previous:{if(c===0){g(f);break}g(l.getUpdatedIndex(c,f,y));break}case l.MenuActions.Last:case l.MenuActions.First:{if(c===f){g(0);break}g(l.getUpdatedIndex(c,f,y));break}case l.MenuActions.CloseSelect:t.preventDefault(),j(c);break;case l.MenuActions.Close:t.preventDefault(),b(!1);break;case l.MenuActions.Open:b(!0);break}},pe=t=>{if(t.preventDefault(),p&&!k.current&&I(""),k.current){k.current=!1;return}b(!1,!1)},g=t=>{w(t)},be=t=>{g(t),j(t)},K=()=>{k.current=!0},j=t=>{const n=u[t];if(I(""),n){R(n.props.value),b(!1);return}x&&(ee(s),b(!1))},b=(t,n=!0)=>{se(t),n&&E.current.focus()},me=a.Children.toArray(u).map((t,n)=>{const f=c===n;return a.cloneElement(t,{id:`${i}-${n}`,"aria-selected":re===n,"aria-posinset":n+1,"aria-setsize":a.Children.toArray(u).length,ref(y){f&&(v.current=y)},onClick:()=>be(n),onMouseDown:K,isSelected:f})}),ge=()=>{E.current.focus(),A&&A(),V()},ye=()=>{E.current.focus(),b(!0)},Ce=()=>{const t=u.findIndex(n=>n.props?.children===s);return s&&t===-1},xe=t=>{t.preventDefault(),b(t,!0)};let S;return F?S=`${i}-error`:M&&(S=`${i}-hint`),o.default.createElement(qe.Field,{hint:M,error:F,id:i,required:$},o.default.createElement(Re.VisuallyHidden,{"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text"},p),o.default.createElement(Se.Stack,{spacing:h||M||F?1:0},h&&o.default.createElement(Me.FieldLabel,{action:X},h),o.default.createElement(q.MainRow,{ref:D,$disabled:d,hasError:F},o.default.createElement(q.InputContainer,{wrap:"wrap"},!s&&p&&o.default.createElement(q.ValueContainer,{id:`${i}-selected-value`},o.default.createElement(U.Typography,null,ae())),o.default.createElement(q.Input,{"aria-activedescendant":ue,"aria-autocomplete":"list","aria-controls":`${i}-listbox`,"aria-disabled":d,"aria-expanded":m,"aria-haspopup":"listbox","aria-describedby":S,autoComplete:"off",autoCorrect:"off",id:i,onBlur:d?void 0:pe,onClick:d?void 0:xe,onInput:d?void 0:de,onKeyDown:d?void 0:fe,placeholder:p?"":oe,readOnly:d,ref:E,required:$,role:"combobox",spellCheck:"off",type:"text",value:s})),o.default.createElement(_.Flex,null,(p||s)&&o.default.createElement(N.IconBox,{id:`${i}-clear`,"aria-label":W,disabled:d,paddingLeft:3,as:"button",onClick:ge,type:"button"},o.default.createElement(H.Cross,null)),o.default.createElement(N.CaretBox,{disabled:d,paddingLeft:3,"aria-hidden":!0,as:"button",onClick:ye,tabIndex:-1,type:"button"},o.default.createElement(H.CarretDown,null)))),o.default.createElement(Oe.FieldHint,null),o.default.createElement(je.FieldError,null)),m&&o.default.createElement(Ee.Popover,{id:`${i}-popover`,source:D,spacing:4,fullWidth:!0,intersectionId:`${i}-listbox-popover-intersection`,onReachEnd:J&&!O?te:void 0},o.default.createElement("div",{role:"listbox",ref:ie,id:`${i}-listbox`,"aria-labelledby":h?ce:void 0},(Boolean(u.length)||x)&&o.default.createElement(o.default.Fragment,null,me,Ce()&&x&&o.default.createElement(ke.ComboboxOption,{isSelected:c===u.length,ref:t=>{c===u.length&&(v.current=t)},onMouseDown:K,onClick:()=>j(),taindex:0},G(s))),!u.length&&!x&&!O&&o.default.createElement(Fe.Box,{paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2,ref:v},o.default.createElement(U.Typography,{textColor:"neutral800"},Z(s))),O&&o.default.createElement(_.Flex,{justifyContent:"center",alignItems:"center",paddingTop:2,paddingBottom:2},o.default.createElement(Ie.Loader,{small:!0},Y)))))},L=r=>o.default.createElement(C,{...r,creatable:!0});C.defaultProps={"aria-label":void 0,clearLabel:"clear",creatable:!1,createMessage:r=>`Create "${r}"`,disabled:!1,error:void 0,hasMoreItems:!1,hint:void 0,id:void 0,label:void 0,loading:!1,loadingMessage:"Loading content...",noOptionsMessage:()=>"No results found",onClear:void 0,onCreateOption:void 0,onInputChange:void 0,onLoadMore:void 0,placeholder:"Select or enter a value",value:void 0};L.defaultProps=C.defaultProps;C.propTypes={"aria-label":e.default.string,children:e.default.oneOfType([e.default.arrayOf(e.default.node),e.default.node]),clearLabel:e.default.string,creatable:e.default.bool,createMessage:e.default.func,disabled:e.default.bool,error:e.default.string,hasMoreItems:e.default.bool,id:e.default.string,hint:e.default.oneOfType([e.default.string,e.default.node,e.default.arrayOf(e.default.node)]),label:e.default.string,labelAction:e.default.element,loading:e.default.bool,loadingMessage:e.default.string,noOptionsMessage:e.default.func,onChange:e.default.func.isRequired,onClear:e.default.func,onCreateOption:e.default.func,onInputChange:e.default.func,onLoadMore:e.default.func,placeholder:e.default.string,value:e.default.string};L.propTypes={...C.propTypes,onCreateOption:e.default.func.isRequired};exports.Combobox=C;exports.CreatableCombobox=L;
@@ -1,97 +1,97 @@
1
- import o, { useState as y, useRef as E, useEffect as U, useLayoutEffect as Ee, Children as _, cloneElement as xe } from "react";
1
+ import o, { useState as y, useRef as C, useEffect as U, useLayoutEffect as xe, Children as _, cloneElement as ye } from "react";
2
2
  import e from "prop-types";
3
- import { Cross as ve, CarretDown as ye } from "@strapi/icons";
4
- import { useId as Ie } from "../helpers/useId.js";
5
- import { filterOptions as j, maintainScrollVisibility as ke, getActionFromKey as Oe, MenuActions as b, getUpdatedIndex as $ } from "./utils.js";
3
+ import { Cross as Ie, CarretDown as ke } from "@strapi/icons";
4
+ import { useId as Oe } from "../helpers/useId.js";
5
+ import { filterOptions as j, maintainScrollVisibility as Me, getActionFromKey as $e, MenuActions as b, getUpdatedIndex as R } from "./utils.js";
6
6
  import { Flex as q } from "../Flex/Flex.js";
7
- import { IconBox as Me, CaretBox as Le } from "../Select/components.js";
8
- import { Popover as we } from "../Popover/Popover.js";
9
- import { Box as $e } from "../Box/Box.js";
7
+ import { IconBox as we, CaretBox as Le } from "../Select/components.js";
8
+ import { Popover as De } from "../Popover/Popover.js";
9
+ import { Box as Re } from "../Box/Box.js";
10
10
  import { Typography as z } from "../Typography/Typography.js";
11
- import { Loader as Re } from "../Loader/Loader.js";
12
- import { MainRow as Se, InputContainer as Be, ValueContainer as De, Input as Fe } from "./components.js";
13
- import { ComboboxOption as Te } from "./ComboboxOption.js";
14
- import { ComboboxList as Ae } from "./ComboboxList.js";
15
- import { Field as Pe } from "../Field/Field.js";
16
- import { FieldLabel as Ve } from "../Field/FieldLabel.js";
11
+ import { Loader as Se } from "../Loader/Loader.js";
12
+ import { MainRow as Be, InputContainer as Fe, ValueContainer as Te, Input as Ae } from "./components.js";
13
+ import { ComboboxOption as Pe } from "./ComboboxOption.js";
14
+ import { Field as Ve } from "../Field/Field.js";
15
+ import { FieldLabel as Ke } from "../Field/FieldLabel.js";
17
16
  import "../Field/FieldInput.js";
18
- import { FieldHint as Ke } from "../Field/FieldHint.js";
19
- import { FieldError as Ne } from "../Field/FieldError.js";
17
+ import { FieldHint as Ne } from "../Field/FieldHint.js";
18
+ import { FieldError as He } from "../Field/FieldError.js";
20
19
  import "../Field/FieldContext.js";
21
20
  import "../Field/FieldAction.js";
22
- import { Stack as He } from "../Stack/Stack.js";
23
- import { KeyboardKeys as Ue } from "../helpers/keyboardKeys.js";
24
- import { VisuallyHidden as _e } from "../VisuallyHidden/VisuallyHidden.js";
21
+ import { Stack as Ue } from "../Stack/Stack.js";
22
+ import { KeyboardKeys as _e } from "../helpers/keyboardKeys.js";
23
+ import { VisuallyHidden as je } from "../VisuallyHidden/VisuallyHidden.js";
25
24
  const I = ({
26
25
  children: s,
27
26
  clearLabel: G,
28
- creatable: x,
27
+ creatable: h,
29
28
  createMessage: J,
30
29
  disabled: c,
31
- error: M,
30
+ error: k,
32
31
  hasMoreItems: Q,
33
- hint: R,
34
- label: g,
35
- labelAction: X,
36
- loading: L,
37
- loadingMessage: Y,
38
- noOptionsMessage: Z,
32
+ hint: $,
33
+ id: X,
34
+ label: E,
35
+ labelAction: Y,
36
+ loading: w,
37
+ loadingMessage: Z,
38
+ noOptionsMessage: ee,
39
39
  onChange: S,
40
40
  onClear: B,
41
- onCreateOption: ee,
42
- onInputChange: D,
43
- onLoadMore: te,
44
- placeholder: oe,
45
- required: F,
41
+ onCreateOption: te,
42
+ onInputChange: F,
43
+ onLoadMore: oe,
44
+ placeholder: re,
45
+ required: T,
46
46
  value: d,
47
47
  ...ne
48
48
  }) => {
49
- const re = () => s.find((t) => t.props?.value.toLowerCase() === d.toLowerCase()).props?.children, [a, T] = y(0), [ae, ie] = y(null), [l, A] = y(s), [u, le] = y(!1), [r, k] = y(""), C = E(), O = E(!1), v = E(), P = E(), se = E(), V = E(!0), i = Ie("combobox"), K = `${i}-label`;
50
- if (!g && !ne["aria-label"])
49
+ const ae = () => s.find((t) => t.props?.value.toLowerCase() === d.toLowerCase()).props?.children, [i, A] = y(0), [ie, le] = y(null), [l, P] = y(s), [u, se] = y(!1), [n, O] = y(""), v = C(), M = C(!1), x = C(), V = C(), ce = C(), K = C(!0), a = Oe(X), pe = `${a}-label`;
50
+ if (!E && !ne["aria-label"])
51
51
  throw new Error('The Combobox component needs a "label" or an "aria-label" props');
52
52
  U(() => {
53
- A(j(s, r));
54
- }, [r, s]), U(() => {
55
- u && C.current && ke(C.current);
56
- }, [a, u]), Ee(() => {
57
- V.current && (V.current = !1);
53
+ P(j(s, n));
54
+ }, [n, s]), U(() => {
55
+ u && v.current && Me(v.current);
56
+ }, [i, u]), xe(() => {
57
+ K.current && (K.current = !1);
58
58
  }, [d]);
59
- const ce = u ? `${i}-${a}` : "", N = () => {
60
- S(null), k("");
61
- }, pe = (t) => {
62
- D && D(t);
63
- const n = v.current.value;
64
- A(j(s, n)), T(0), ie(null), r !== n && k(n), u || f(!0, !1);
65
- }, de = (t) => {
66
- const { key: n } = t, p = x && r ? l.length : l.length - 1, h = Oe(n, u);
67
- switch (d && !r && n === Ue.BACKSPACE && N(), h) {
59
+ const de = u ? `${a}-${i}` : "", N = () => {
60
+ S(null), O("");
61
+ }, fe = (t) => {
62
+ F && F(t);
63
+ const r = x.current.value;
64
+ P(j(s, r)), A(0), le(null), n !== r && O(r), u || f(!0, !1);
65
+ }, ue = (t) => {
66
+ const { key: r } = t, p = h && n ? l.length : l.length - 1, g = $e(r, u);
67
+ switch (d && !n && r === _e.BACKSPACE && N(), g) {
68
68
  case b.Next: {
69
- if (a === p) {
69
+ if (i === p) {
70
70
  m(0);
71
71
  break;
72
72
  }
73
- m($(a, p, h));
73
+ m(R(i, p, g));
74
74
  break;
75
75
  }
76
76
  case b.Previous: {
77
- if (a === 0) {
77
+ if (i === 0) {
78
78
  m(p);
79
79
  break;
80
80
  }
81
- m($(a, p, h));
81
+ m(R(i, p, g));
82
82
  break;
83
83
  }
84
84
  case b.Last:
85
85
  case b.First: {
86
- if (a === p) {
86
+ if (i === p) {
87
87
  m(0);
88
88
  break;
89
89
  }
90
- m($(a, p, h));
90
+ m(R(i, p, g));
91
91
  break;
92
92
  }
93
93
  case b.CloseSelect:
94
- t.preventDefault(), w(a);
94
+ t.preventDefault(), L(i);
95
95
  break;
96
96
  case b.Close:
97
97
  t.preventDefault(), f(!1);
@@ -100,150 +100,148 @@ const I = ({
100
100
  f(!0);
101
101
  break;
102
102
  }
103
- }, fe = (t) => {
104
- if (t.preventDefault(), d && !O.current && k(""), O.current) {
105
- O.current = !1;
103
+ }, me = (t) => {
104
+ if (t.preventDefault(), d && !M.current && O(""), M.current) {
105
+ M.current = !1;
106
106
  return;
107
107
  }
108
108
  f(!1, !1);
109
109
  }, m = (t) => {
110
- T(t);
111
- }, ue = (t) => {
112
- m(t), w(t);
110
+ A(t);
111
+ }, be = (t) => {
112
+ m(t), L(t);
113
113
  }, H = () => {
114
- O.current = !0;
115
- }, w = (t) => {
116
- const n = l[t];
117
- if (k(""), n) {
118
- S(n.props.value), f(!1);
114
+ M.current = !0;
115
+ }, L = (t) => {
116
+ const r = l[t];
117
+ if (O(""), r) {
118
+ S(r.props.value), f(!1);
119
119
  return;
120
120
  }
121
- x && (ee(r), f(!1));
122
- }, f = (t, n = !0) => {
123
- le(t), n && v.current.focus();
124
- }, me = _.toArray(l).map((t, n) => {
125
- const p = a === n;
126
- return xe(t, {
127
- id: `${i}-${n}`,
128
- "aria-selected": ae === n,
129
- "aria-posinset": n + 1,
121
+ h && (te(n), f(!1));
122
+ }, f = (t, r = !0) => {
123
+ se(t), r && x.current.focus();
124
+ }, ge = _.toArray(l).map((t, r) => {
125
+ const p = i === r;
126
+ return ye(t, {
127
+ id: `${a}-${r}`,
128
+ "aria-selected": ie === r,
129
+ "aria-posinset": r + 1,
130
130
  "aria-setsize": _.toArray(l).length,
131
- ref(h) {
132
- p && (C.current = h);
131
+ ref(g) {
132
+ p && (v.current = g);
133
133
  },
134
- onClick: () => ue(n),
134
+ onClick: () => be(r),
135
135
  onMouseDown: H,
136
136
  isSelected: p
137
137
  });
138
- }), be = () => {
139
- v.current.focus(), B && B(), N();
140
- }, ge = () => {
141
- v.current.focus(), f(!0);
142
- }, Ce = () => {
143
- const t = l.findIndex((n) => n.props?.children === r);
144
- return r && t === -1;
145
- }, he = (t) => {
138
+ }), Ce = () => {
139
+ x.current.focus(), B && B(), N();
140
+ }, he = () => {
141
+ x.current.focus(), f(!0);
142
+ }, Ee = () => {
143
+ const t = l.findIndex((r) => r.props?.children === n);
144
+ return n && t === -1;
145
+ }, ve = (t) => {
146
146
  t.preventDefault(), f(t, !0);
147
147
  };
148
- return /* @__PURE__ */ o.createElement(Pe, {
149
- hint: R,
150
- error: M,
151
- id: i,
152
- required: F
153
- }, /* @__PURE__ */ o.createElement(_e, {
148
+ let D;
149
+ return k ? D = `${a}-error` : $ && (D = `${a}-hint`), /* @__PURE__ */ o.createElement(Ve, {
150
+ hint: $,
151
+ error: k,
152
+ id: a,
153
+ required: T
154
+ }, /* @__PURE__ */ o.createElement(je, {
154
155
  "aria-live": "polite",
155
156
  "aria-atomic": "false",
156
157
  "aria-relevant": "additions text"
157
- }, d), /* @__PURE__ */ o.createElement(He, {
158
- spacing: g || R || M ? 1 : 0
159
- }, g && /* @__PURE__ */ o.createElement(Ve, {
160
- action: X
161
- }, g), /* @__PURE__ */ o.createElement(Se, {
162
- ref: P,
158
+ }, d), /* @__PURE__ */ o.createElement(Ue, {
159
+ spacing: E || $ || k ? 1 : 0
160
+ }, E && /* @__PURE__ */ o.createElement(Ke, {
161
+ action: Y
162
+ }, E), /* @__PURE__ */ o.createElement(Be, {
163
+ ref: V,
163
164
  $disabled: c,
164
- hasError: M
165
- }, /* @__PURE__ */ o.createElement(Be, {
165
+ hasError: k
166
+ }, /* @__PURE__ */ o.createElement(Fe, {
166
167
  wrap: "wrap"
167
- }, !r && d && /* @__PURE__ */ o.createElement(De, {
168
- id: `${i}-selected-value`
169
- }, /* @__PURE__ */ o.createElement(z, null, re())), /* @__PURE__ */ o.createElement(Fe, {
170
- "aria-activedescendant": ce,
168
+ }, !n && d && /* @__PURE__ */ o.createElement(Te, {
169
+ id: `${a}-selected-value`
170
+ }, /* @__PURE__ */ o.createElement(z, null, ae())), /* @__PURE__ */ o.createElement(Ae, {
171
+ "aria-activedescendant": de,
171
172
  "aria-autocomplete": "list",
172
- "aria-controls": `${i}-listbox`,
173
+ "aria-controls": `${a}-listbox`,
173
174
  "aria-disabled": c,
174
175
  "aria-expanded": u,
175
176
  "aria-haspopup": "listbox",
176
- "aria-labelledby": g ? K : void 0,
177
+ "aria-describedby": D,
177
178
  autoComplete: "off",
178
179
  autoCorrect: "off",
179
- id: i,
180
- onBlur: c ? void 0 : fe,
181
- onClick: c ? void 0 : he,
182
- onInput: c ? void 0 : pe,
183
- onKeyDown: c ? void 0 : de,
184
- placeholder: d ? "" : oe,
180
+ id: a,
181
+ onBlur: c ? void 0 : me,
182
+ onClick: c ? void 0 : ve,
183
+ onInput: c ? void 0 : fe,
184
+ onKeyDown: c ? void 0 : ue,
185
+ placeholder: d ? "" : re,
185
186
  readOnly: c,
186
- ref: v,
187
- required: F,
187
+ ref: x,
188
+ required: T,
188
189
  role: "combobox",
189
190
  spellCheck: "off",
190
191
  type: "text",
191
- value: r
192
- })), /* @__PURE__ */ o.createElement(q, null, (d || r) && /* @__PURE__ */ o.createElement(Me, {
193
- id: `${i}-clear`,
192
+ value: n
193
+ })), /* @__PURE__ */ o.createElement(q, null, (d || n) && /* @__PURE__ */ o.createElement(we, {
194
+ id: `${a}-clear`,
194
195
  "aria-label": G,
195
196
  disabled: c,
196
197
  paddingLeft: 3,
197
198
  as: "button",
198
- onClick: be,
199
+ onClick: Ce,
199
200
  type: "button"
200
- }, /* @__PURE__ */ o.createElement(ve, null)), /* @__PURE__ */ o.createElement(Le, {
201
+ }, /* @__PURE__ */ o.createElement(Ie, null)), /* @__PURE__ */ o.createElement(Le, {
201
202
  disabled: c,
202
203
  paddingLeft: 3,
203
204
  "aria-hidden": !0,
204
205
  as: "button",
205
- onClick: ge,
206
+ onClick: he,
206
207
  tabIndex: -1,
207
208
  type: "button"
208
- }, /* @__PURE__ */ o.createElement(ye, null)))), /* @__PURE__ */ o.createElement(Ke, null), /* @__PURE__ */ o.createElement(Ne, null)), u && /* @__PURE__ */ o.createElement(we, {
209
- id: `${i}-popover`,
210
- source: P,
209
+ }, /* @__PURE__ */ o.createElement(ke, null)))), /* @__PURE__ */ o.createElement(Ne, null), /* @__PURE__ */ o.createElement(He, null)), u && /* @__PURE__ */ o.createElement(De, {
210
+ id: `${a}-popover`,
211
+ source: V,
211
212
  spacing: 4,
212
213
  fullWidth: !0,
213
- intersectionId: `${i}-listbox-popover-intersection`,
214
- onReachEnd: Q && !L ? te : void 0
214
+ intersectionId: `${a}-listbox-popover-intersection`,
215
+ onReachEnd: Q && !w ? oe : void 0
215
216
  }, /* @__PURE__ */ o.createElement("div", {
216
217
  role: "listbox",
217
- ref: se,
218
- id: `${i}-listbox`,
219
- "aria-labelledby": g ? K : void 0
220
- }, (Boolean(l.length) || x) && /* @__PURE__ */ o.createElement(o.Fragment, null, /* @__PURE__ */ o.createElement(Ae, {
221
- activeOptionRef: C,
222
- options: me
223
- }), Ce() && x && /* @__PURE__ */ o.createElement(Te, {
224
- isSelected: a === l.length,
218
+ ref: ce,
219
+ id: `${a}-listbox`,
220
+ "aria-labelledby": E ? pe : void 0
221
+ }, (Boolean(l.length) || h) && /* @__PURE__ */ o.createElement(o.Fragment, null, ge, Ee() && h && /* @__PURE__ */ o.createElement(Pe, {
222
+ isSelected: i === l.length,
225
223
  ref: (t) => {
226
- a === l.length && (C.current = t);
224
+ i === l.length && (v.current = t);
227
225
  },
228
226
  onMouseDown: H,
229
- onClick: () => w(),
227
+ onClick: () => L(),
230
228
  taindex: 0
231
- }, J(r))), !l.length && !x && !L && /* @__PURE__ */ o.createElement($e, {
229
+ }, J(n))), !l.length && !h && !w && /* @__PURE__ */ o.createElement(Re, {
232
230
  paddingLeft: 4,
233
231
  paddingRight: 4,
234
232
  paddingTop: 2,
235
233
  paddingBottom: 2,
236
- ref: C
234
+ ref: v
237
235
  }, /* @__PURE__ */ o.createElement(z, {
238
236
  textColor: "neutral800"
239
- }, Z(r))), L && /* @__PURE__ */ o.createElement(q, {
237
+ }, ee(n))), w && /* @__PURE__ */ o.createElement(q, {
240
238
  justifyContent: "center",
241
239
  alignItems: "center",
242
240
  paddingTop: 2,
243
241
  paddingBottom: 2
244
- }, /* @__PURE__ */ o.createElement(Re, {
242
+ }, /* @__PURE__ */ o.createElement(Se, {
245
243
  small: !0
246
- }, Y)))));
244
+ }, Z)))));
247
245
  }, W = (s) => /* @__PURE__ */ o.createElement(I, {
248
246
  ...s,
249
247
  creatable: !0
@@ -257,6 +255,7 @@ I.defaultProps = {
257
255
  error: void 0,
258
256
  hasMoreItems: !1,
259
257
  hint: void 0,
258
+ id: void 0,
260
259
  label: void 0,
261
260
  loading: !1,
262
261
  loadingMessage: "Loading content...",
@@ -278,6 +277,7 @@ I.propTypes = {
278
277
  disabled: e.bool,
279
278
  error: e.string,
280
279
  hasMoreItems: e.bool,
280
+ id: e.string,
281
281
  hint: e.oneOfType([e.string, e.node, e.arrayOf(e.node)]),
282
282
  label: e.string,
283
283
  labelAction: e.element,
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react"),s=require("prop-types"),i=require("./utils.cjs"),u=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},c=u(s),o=({options:e,activeOptionRef:t})=>(r.useEffect(()=>{t.current&&i.maintainScrollVisibility(t.current)},[t]),e);o.defaultProps={activeOptionRef:void 0};o.propTypes={options:c.default.array.isRequired};exports.ComboboxList=o;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("prop-types"),r=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},s=r(t),o=({options:e})=>e;o.propTypes={options:s.default.array.isRequired};exports.ComboboxList=o;