@strapi/design-system 1.3.0 → 1.4.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react"),T=require("prop-types"),O=require("@strapi/icons/Calendar"),x=require("@strapi/icons/Cross"),z=require("../themes/sizes.cjs"),S=require("../TextInput/TextInput.cjs"),d=require("./components.cjs"),B=require("./DatePickerCalendar.cjs"),h=require("./utils/formatDate.cjs"),M=require("../helpers/useId.cjs"),W=require("../helpers/getDefaultLocale.cjs"),s=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},a=s(o),e=s(T),A=s(O),V=s(x),f=({ariaLabel:t,initialDate:k,selectedDate:n,onChange:q,label:i,locale:v,selectedDateLabel:P,onClear:p,clearLabel:I,disabled:r,id:_,...j})=>{const y=M.useId("datepicker",_),[D,c]=o.useState(!1),l=o.useRef(null),b=o.useRef(null),g=v||W.getDefaultLocale(),m=n?h.formatDate(n,g):"",C=()=>{r||c(u=>!u)},R=()=>{r||(p(),b.current.focus())},E=u=>{q(u),c(!1)},L=()=>{c(!1)};return a.default.createElement(d.DatePickerWrapper,{bold:D},a.default.createElement(S.TextInput,{ref:l,onClick:C,onChange:()=>{},value:m,startAction:a.default.createElement(d.DatePickerButton,{ref:b,onClick:C,"aria-label":n?P(h.formatDate(n,g)):i,type:"button","aria-disabled":r},a.default.createElement(A.default,{"aria-hidden":!0})),endAction:p&&m?a.default.createElement(d.IconBox,{as:"button",onClick:R,"aria-label":I,"aria-disabled":r},a.default.createElement(V.default,null)):void 0,"aria-autocomplete":"none",label:i,"aria-label":t,disabled:r,id:y,...j}),l.current&&l.current.inputWrapperRef&&D&&a.default.createElement(B.DatePickerCalendar,{selectedDate:n,initialDate:k,onChange:E,onEscape:L,popoverSource:l.current.inputWrapperRef,label:i||t}))};f.defaultProps={ariaLabel:void 0,clearLabel:void 0,disabled:!1,id:void 0,label:void 0,initialDate:new Date,onClear:void 0,placeholder:void 0,selectedDate:void 0,size:"M"};f.propTypes={ariaLabel:e.default.string,clearLabel:e.default.string,disabled:e.default.bool,id:e.default.string,initialDate:e.default.instanceOf(Date),label:e.default.string,locale:e.default.string,maxDate:e.default.instanceOf(Date),minDate:e.default.instanceOf(Date),onChange:e.default.func.isRequired,onClear:e.default.func,placeholder:e.default.string,selectedDate:e.default.instanceOf(Date),selectedDateLabel:e.default.func.isRequired,size:e.default.oneOf(Object.keys(z.sizes.input))};exports.DatePicker=f;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react"),L=require("prop-types"),O=require("@strapi/icons/Calendar"),x=require("@strapi/icons/Cross"),z=require("../themes/sizes.cjs"),S=require("../TextInput/TextInput.cjs"),d=require("./components.cjs"),B=require("./DatePickerCalendar.cjs"),h=require("./utils/formatDate.cjs"),M=require("../helpers/useId.cjs"),W=require("../helpers/getDefaultLocale.cjs"),s=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},a=s(o),e=s(L),A=s(O),V=s(x),f=({ariaLabel:t,initialDate:k,selectedDate:n,onChange:q,label:c,locale:v,selectedDateLabel:P,onClear:p,clearLabel:I,disabled:r,id:_,...j})=>{const y=M.useId("datepicker",_),[D,i]=o.useState(!1),l=o.useRef(null),g=o.useRef(null),m=v||W.getDefaultLocale(),b=n?h.formatDate(n,m):"",C=()=>{r||i(u=>!u)},R=()=>{r||(p(),g.current.focus())},E=u=>{q(u),i(!1)},T=()=>{i(!1)};return a.default.createElement(d.DatePickerWrapper,{bold:D},a.default.createElement(S.TextInput,{ref:l,onClick:C,onChange:()=>{},value:b,startAction:a.default.createElement(d.DatePickerButton,{ref:g,onClick:C,"aria-label":n?P(h.formatDate(n,m)):c||t,type:"button","aria-disabled":r},a.default.createElement(A.default,{"aria-hidden":!0})),endAction:p&&b?a.default.createElement(d.IconBox,{as:"button",onClick:R,"aria-label":I,"aria-disabled":r},a.default.createElement(V.default,null)):void 0,"aria-autocomplete":"none",label:c,"aria-label":t,disabled:r,id:y,...j}),l.current&&l.current.inputWrapperRef&&D&&a.default.createElement(B.DatePickerCalendar,{selectedDate:n,initialDate:k,onChange:E,onEscape:T,popoverSource:l.current.inputWrapperRef,label:c||t}))};f.defaultProps={ariaLabel:void 0,clearLabel:void 0,disabled:!1,id:void 0,label:void 0,initialDate:new Date,onClear:void 0,placeholder:void 0,selectedDate:void 0,size:"M"};f.propTypes={ariaLabel:e.default.string,clearLabel:e.default.string,disabled:e.default.bool,id:e.default.string,initialDate:e.default.instanceOf(Date),label:e.default.string,locale:e.default.string,maxDate:e.default.instanceOf(Date),minDate:e.default.instanceOf(Date),onChange:e.default.func.isRequired,onClear:e.default.func,placeholder:e.default.string,selectedDate:e.default.instanceOf(Date),selectedDateLabel:e.default.func.isRequired,size:e.default.oneOf(Object.keys(z.sizes.input))};exports.DatePicker=f;
@@ -1,4 +1,4 @@
1
- import t, { useState as x, useRef as b } from "react";
1
+ import t, { useState as L, useRef as b } from "react";
2
2
  import e from "prop-types";
3
3
  import z from "@strapi/icons/Calendar";
4
4
  import B from "@strapi/icons/Cross";
@@ -10,11 +10,11 @@ import { formatDate as D } from "./utils/formatDate.js";
10
10
  import { useId as _ } from "../helpers/useId.js";
11
11
  import { getDefaultLocale as j } from "../helpers/getDefaultLocale.js";
12
12
  const g = ({
13
- ariaLabel: c,
13
+ ariaLabel: o,
14
14
  initialDate: C,
15
15
  selectedDate: a,
16
16
  onChange: v,
17
- label: o,
17
+ label: i,
18
18
  locale: h,
19
19
  selectedDateLabel: k,
20
20
  onClear: s,
@@ -23,14 +23,14 @@ const g = ({
23
23
  id: R,
24
24
  ...P
25
25
  }) => {
26
- const O = _("datepicker", R), [f, i] = x(!1), n = b(null), p = b(null), u = h || j(), m = a ? D(a, u) : "", d = () => {
27
- r || i((l) => !l);
26
+ const O = _("datepicker", R), [f, l] = L(!1), n = b(null), p = b(null), u = h || j(), m = a ? D(a, u) : "", d = () => {
27
+ r || l((c) => !c);
28
28
  }, y = () => {
29
29
  r || (s(), p.current.focus());
30
- }, I = (l) => {
31
- v(l), i(!1);
32
- }, L = () => {
33
- i(!1);
30
+ }, I = (c) => {
31
+ v(c), l(!1);
32
+ }, x = () => {
33
+ l(!1);
34
34
  };
35
35
  return /* @__PURE__ */ t.createElement(q, {
36
36
  bold: f
@@ -43,7 +43,7 @@ const g = ({
43
43
  startAction: /* @__PURE__ */ t.createElement(A, {
44
44
  ref: p,
45
45
  onClick: d,
46
- "aria-label": a ? k(D(a, u)) : o,
46
+ "aria-label": a ? k(D(a, u)) : i || o,
47
47
  type: "button",
48
48
  "aria-disabled": r
49
49
  }, /* @__PURE__ */ t.createElement(z, {
@@ -56,8 +56,8 @@ const g = ({
56
56
  "aria-disabled": r
57
57
  }, /* @__PURE__ */ t.createElement(B, null)) : void 0,
58
58
  "aria-autocomplete": "none",
59
- label: o,
60
- "aria-label": c,
59
+ label: i,
60
+ "aria-label": o,
61
61
  disabled: r,
62
62
  id: O,
63
63
  ...P
@@ -65,9 +65,9 @@ const g = ({
65
65
  selectedDate: a,
66
66
  initialDate: C,
67
67
  onChange: I,
68
- onEscape: L,
68
+ onEscape: x,
69
69
  popoverSource: n.current.inputWrapperRef,
70
- label: o || c
70
+ label: i || o
71
71
  }));
72
72
  };
73
73
  g.defaultProps = {
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const p=require("react"),S=require("../Stack/Stack.cjs"),v=require("../DatePicker/DatePicker.cjs"),C=require("../TimePicker/TimePicker.cjs"),R=require("../Field/Field.cjs"),x=require("../Field/FieldLabel.cjs");require("../Field/FieldInput.cjs");const A=require("../Field/FieldHint.cjs"),O=require("../Field/FieldError.cjs");require("../Field/FieldContext.cjs");require("../Field/FieldAction.cjs");const q=require("../helpers/useId.cjs"),E=require("./parseDate.cjs"),$=require("./DateTimePickerProps.cjs"),z=i=>i&&typeof i=="object"&&"default"in i?i:{default:i},r=z(p),D=({ariaLabel:i,clearLabel:k,disabled:F,error:f,hint:H,label:o,labelAction:y,onChange:s,onClear:m,name:P,required:M,selectButtonTitle:I,size:T,step:b,value:c,...g})=>{const l=E.parseDate(c),[a,n]=p.useState(l),[u,d]=p.useState(l?`${l.getHours()}:${l.getMinutes()}:${l.getSeconds()}`:null),h=e=>{n(e);let t;u?(t=new Date(e),t.setHours(u.split(":")[0]),t.setMinutes(u.split(":")[1])):(t=new Date(e),d(`${t.getHours()}:${t.getMinutes()}:${t.getSeconds()}`)),s&&s(t)},w=e=>{d(e);const t=a?new Date(a):new Date;t.setHours(e.split(":")[0]),t.setMinutes(e.split(":")[1]),a||n(t),s&&s(t)},_=()=>{n(void 0),d(void 0),m()},L=()=>{d(void 0);let e;a&&(e=new Date(a),e.setHours("00"),e.setMinutes("00")),s&&s(e)};p.useEffect(()=>{if(c&&+c!=+a){const e=E.parseDate(c);n(e),d(e?`${e.getHours()}:${e.getMinutes()}:${e.getSeconds()}`:null)}else c||(n(void 0),d(void 0))},[c]);const j=q.useId("datetime-label",g?.id),V=q.useId("datetimepicker");return r.default.createElement(R.Field,{name:P,role:"group","aria-labelledby":j,hint:H,error:f},r.default.createElement(S.Stack,{spacing:1},o&&r.default.createElement(x.FieldLabel,{required:M,action:y,id:j},o),r.default.createElement(S.Stack,{horizontal:!0,spacing:2},r.default.createElement(v.DatePicker,{"data-testid":"datetimepicker-date",name:P,ariaLabel:o||i,error:typeof f=="string",selectedDate:a,selectedDateLabel:e=>`Date picker, current is ${e}`,onChange:h,size:T,onClear:m&&_,clearLabel:k,disabled:F,...g}),r.default.createElement(C.TimePicker,{"data-testid":"datetimepicker-time",size:T,"aria-label":o||i,error:typeof f=="string",value:u,onChange:w,onClear:m&&L,clearLabel:k,selectButtonTitle:I,disabled:F,step:b})),r.default.createElement(A.FieldHint,null),r.default.createElement(O.FieldError,{id:V})))};D.defaultProps=$.dateTimePickerDefaultProps;D.propTypes=$.dateTimePickerPropTypes;exports.DateTimePicker=D;
@@ -0,0 +1,108 @@
1
+ import i, { useState as $, useEffect as C } from "react";
2
+ import { Stack as P } from "../Stack/Stack.js";
3
+ import { DatePicker as L } from "../DatePicker/DatePicker.js";
4
+ import { TimePicker as R } from "../TimePicker/TimePicker.js";
5
+ import { Field as j } from "../Field/Field.js";
6
+ import { FieldLabel as q } from "../Field/FieldLabel.js";
7
+ import "../Field/FieldInput.js";
8
+ import { FieldHint as z } from "../Field/FieldHint.js";
9
+ import { FieldError as A } from "../Field/FieldError.js";
10
+ import "../Field/FieldContext.js";
11
+ import "../Field/FieldAction.js";
12
+ import { useId as S } from "../helpers/useId.js";
13
+ import { parseDate as H } from "./parseDate.js";
14
+ import { dateTimePickerDefaultProps as B, dateTimePickerPropTypes as G } from "./DateTimePickerProps.js";
15
+ const M = ({
16
+ ariaLabel: f,
17
+ clearLabel: u,
18
+ disabled: D,
19
+ error: c,
20
+ hint: w,
21
+ label: d,
22
+ labelAction: y,
23
+ onChange: o,
24
+ onClear: p,
25
+ name: g,
26
+ required: F,
27
+ selectButtonTitle: h,
28
+ size: T,
29
+ step: V,
30
+ value: a,
31
+ ...E
32
+ }) => {
33
+ const n = H(a), [r, m] = $(n), [l, s] = $(
34
+ n ? `${n.getHours()}:${n.getMinutes()}:${n.getSeconds()}` : null
35
+ ), I = (e) => {
36
+ m(e);
37
+ let t;
38
+ l ? (t = new Date(e), t.setHours(l.split(":")[0]), t.setMinutes(l.split(":")[1])) : (t = new Date(e), s(`${t.getHours()}:${t.getMinutes()}:${t.getSeconds()}`)), o && o(t);
39
+ }, _ = (e) => {
40
+ s(e);
41
+ const t = r ? new Date(r) : new Date();
42
+ t.setHours(e.split(":")[0]), t.setMinutes(e.split(":")[1]), r || m(t), o && o(t);
43
+ }, b = () => {
44
+ m(void 0), s(void 0), p();
45
+ }, v = () => {
46
+ s(void 0);
47
+ let e;
48
+ r && (e = new Date(r), e.setHours("00"), e.setMinutes("00")), o && o(e);
49
+ };
50
+ C(() => {
51
+ if (a && +a != +r) {
52
+ const e = H(a);
53
+ m(e), s(
54
+ e ? `${e.getHours()}:${e.getMinutes()}:${e.getSeconds()}` : null
55
+ );
56
+ } else
57
+ a || (m(void 0), s(void 0));
58
+ }, [a]);
59
+ const k = S("datetime-label", E?.id), x = S("datetimepicker");
60
+ return /* @__PURE__ */ i.createElement(j, {
61
+ name: g,
62
+ role: "group",
63
+ "aria-labelledby": k,
64
+ hint: w,
65
+ error: c
66
+ }, /* @__PURE__ */ i.createElement(P, {
67
+ spacing: 1
68
+ }, d && /* @__PURE__ */ i.createElement(q, {
69
+ required: F,
70
+ action: y,
71
+ id: k
72
+ }, d), /* @__PURE__ */ i.createElement(P, {
73
+ horizontal: !0,
74
+ spacing: 2
75
+ }, /* @__PURE__ */ i.createElement(L, {
76
+ "data-testid": "datetimepicker-date",
77
+ name: g,
78
+ ariaLabel: d || f,
79
+ error: typeof c == "string",
80
+ selectedDate: r,
81
+ selectedDateLabel: (e) => `Date picker, current is ${e}`,
82
+ onChange: I,
83
+ size: T,
84
+ onClear: p && b,
85
+ clearLabel: u,
86
+ disabled: D,
87
+ ...E
88
+ }), /* @__PURE__ */ i.createElement(R, {
89
+ "data-testid": "datetimepicker-time",
90
+ size: T,
91
+ "aria-label": d || f,
92
+ error: typeof c == "string",
93
+ value: l,
94
+ onChange: _,
95
+ onClear: p && v,
96
+ clearLabel: u,
97
+ selectButtonTitle: h,
98
+ disabled: D,
99
+ step: V
100
+ })), /* @__PURE__ */ i.createElement(z, null), /* @__PURE__ */ i.createElement(A, {
101
+ id: x
102
+ })));
103
+ };
104
+ M.defaultProps = B;
105
+ M.propTypes = G;
106
+ export {
107
+ M as DateTimePicker
108
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react"),d=require("prop-types"),l=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},u=l(o),e=l(d),a=t=>u.default.createElement("div",{...t}),r={ariaLabel:void 0,clearLabel:"clear",disabled:!1,error:void 0,hint:void 0,label:void 0,labelAction:void 0,onClear:void 0,required:!1,selectButtonTitle:"select",size:"M",step:1,value:void 0},i={ariaLabel:e.default.string,clearLabel:e.default.string,disabled:e.default.bool,error:e.default.oneOfType([e.default.string,e.default.bool]),hint:e.default.string,label:e.default.string,labelAction:e.default.element,name:e.default.string.isRequired,onChange:e.default.func.isRequired,onClear:e.default.func,required:e.default.bool,selectButtonTitle:e.default.string,size:e.default.oneOf(["S","M"]),step:e.default.number,value:e.default.instanceOf(Date)};a.defaultProps=r;a.propTypes=i;exports.DateTimePickerProps=a;exports.dateTimePickerDefaultProps=r;exports.dateTimePickerPropTypes=i;
@@ -0,0 +1,42 @@
1
+ import t from "react";
2
+ import e from "prop-types";
3
+ const i = (r) => /* @__PURE__ */ t.createElement("div", {
4
+ ...r
5
+ }), o = {
6
+ ariaLabel: void 0,
7
+ clearLabel: "clear",
8
+ disabled: !1,
9
+ error: void 0,
10
+ hint: void 0,
11
+ label: void 0,
12
+ labelAction: void 0,
13
+ onClear: void 0,
14
+ required: !1,
15
+ selectButtonTitle: "select",
16
+ size: "M",
17
+ step: 1,
18
+ value: void 0
19
+ }, l = {
20
+ ariaLabel: e.string,
21
+ clearLabel: e.string,
22
+ disabled: e.bool,
23
+ error: e.oneOfType([e.string, e.bool]),
24
+ hint: e.string,
25
+ label: e.string,
26
+ labelAction: e.element,
27
+ name: e.string.isRequired,
28
+ onChange: e.func.isRequired,
29
+ onClear: e.func,
30
+ required: e.bool,
31
+ selectButtonTitle: e.string,
32
+ size: e.oneOf(["S", "M"]),
33
+ step: e.number,
34
+ value: e.instanceOf(Date)
35
+ };
36
+ i.defaultProps = o;
37
+ i.propTypes = l;
38
+ export {
39
+ i as DateTimePickerProps,
40
+ o as dateTimePickerDefaultProps,
41
+ l as dateTimePickerPropTypes
42
+ };
@@ -0,0 +1 @@
1
+ "use strict";const e=require("../parseDate.cjs");describe("parseDate",()=>{it("should return a date",()=>{expect(e.parseDate("2021-11-05T15:37:29.592Z")instanceof Date).toBeTruthy()}),it("should return null if the passed params has not the right format",()=>{expect(e.parseDate("test")).toBeNull()})});
@@ -0,0 +1,8 @@
1
+ import { parseDate as t } from "../parseDate.js";
2
+ describe("parseDate", () => {
3
+ it("should return a date", () => {
4
+ expect(t("2021-11-05T15:37:29.592Z") instanceof Date).toBeTruthy();
5
+ }), it("should return null if the passed params has not the right format", () => {
6
+ expect(t("test")).toBeNull();
7
+ });
8
+ });
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./DateTimePicker.cjs");exports.DateTimePicker=e.DateTimePicker;
@@ -0,0 +1,4 @@
1
+ import { DateTimePicker as i } from "./DateTimePicker.js";
2
+ export {
3
+ i as DateTimePicker
4
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=t=>{const e=Date.parse(t);return Number.isNaN(e)?null:new Date(e)};exports.parseDate=r;
@@ -0,0 +1,7 @@
1
+ const r = (t) => {
2
+ const e = Date.parse(t);
3
+ return Number.isNaN(e) ? null : new Date(e);
4
+ };
5
+ export {
6
+ r as parseDate
7
+ };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("react"),c=require("prop-types"),p=require("./FieldContext.cjs"),y=require("../helpers/useId.cjs"),o=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},r=o(f),e=o(c),d=({children:t,name:u,error:l,hint:n,id:a,...i})=>{const s=y.useId("field",a);return r.default.createElement("div",{...i},r.default.createElement(p.FieldContext.Provider,{value:{name:u,id:s,error:l,hint:n}},t))};d.defaultProps={error:void 0,hint:void 0,id:void 0,name:void 0};d.propTypes={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.oneOfType([e.default.string,e.default.number]),name:e.default.string};exports.Field=d;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("react"),c=require("prop-types"),p=require("./FieldContext.cjs"),y=require("../helpers/useId.cjs"),o=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},r=o(f),e=o(c),d=({children:t,name:l,error:u,hint:a,id:n,...i})=>{const s=y.useId("field",n);return r.default.createElement("div",{...i},r.default.createElement(p.FieldContext.Provider,{value:{name:l,id:s,error:u,hint:a}},t))};d.defaultProps={error:void 0,hint:void 0,id:void 0,name:void 0};d.propTypes={children:e.default.node.isRequired,error:e.default.oneOfType([e.default.string,e.default.bool]),hint:e.default.oneOfType([e.default.string,e.default.node,e.default.arrayOf(e.default.node)]),id:e.default.oneOfType([e.default.string,e.default.number]),name:e.default.string};exports.Field=d;
@@ -1,13 +1,13 @@
1
1
  import r from "react";
2
2
  import e from "prop-types";
3
- import { FieldContext as s } from "./FieldContext.js";
4
- import { useId as f } from "../helpers/useId.js";
5
- const o = ({ children: i, name: t, error: d, hint: n, id: m, ...p }) => {
6
- const a = f("field", m);
3
+ import { FieldContext as f } from "./FieldContext.js";
4
+ import { useId as s } from "../helpers/useId.js";
5
+ const o = ({ children: i, name: t, error: n, hint: d, id: p, ...m }) => {
6
+ const a = s("field", p);
7
7
  return /* @__PURE__ */ r.createElement("div", {
8
- ...p
9
- }, /* @__PURE__ */ r.createElement(s.Provider, {
10
- value: { name: t, id: a, error: d, hint: n }
8
+ ...m
9
+ }, /* @__PURE__ */ r.createElement(f.Provider, {
10
+ value: { name: t, id: a, error: n, hint: d }
11
11
  }, i));
12
12
  };
13
13
  o.defaultProps = {
@@ -18,7 +18,7 @@ o.defaultProps = {
18
18
  };
19
19
  o.propTypes = {
20
20
  children: e.node.isRequired,
21
- error: e.string,
21
+ error: e.oneOfType([e.string, e.bool]),
22
22
  hint: e.oneOfType([e.string, e.node, e.arrayOf(e.node)]),
23
23
  id: e.oneOfType([e.string, e.number]),
24
24
  name: e.string
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react"),o=require("./FieldContext.cjs"),a=require("../Typography/Typography.cjs"),i=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},l=i(t),n=()=>{const{id:e,error:r}=o.useField();return r?l.default.createElement(a.Typography,{variant:"pi",as:"p",id:`${e}-error`,textColor:"danger600","data-strapi-field-error":!0},r):null};exports.FieldError=n;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react"),o=require("./FieldContext.cjs"),a=require("../Typography/Typography.cjs"),i=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},l=i(t),n=()=>{const{id:e,error:r}=o.useField();return!r||typeof r!="string"?null:l.default.createElement(a.Typography,{variant:"pi",as:"p",id:`${e}-error`,textColor:"danger600","data-strapi-field-error":!0},r)};exports.FieldError=n;
@@ -1,16 +1,16 @@
1
1
  import t from "react";
2
2
  import { useField as o } from "./FieldContext.js";
3
3
  import { Typography as i } from "../Typography/Typography.js";
4
- const l = () => {
4
+ const d = () => {
5
5
  const { id: e, error: r } = o();
6
- return r ? /* @__PURE__ */ t.createElement(i, {
6
+ return !r || typeof r != "string" ? null : /* @__PURE__ */ t.createElement(i, {
7
7
  variant: "pi",
8
8
  as: "p",
9
9
  id: `${e}-error`,
10
10
  textColor: "danger600",
11
11
  "data-strapi-field-error": !0
12
- }, r) : null;
12
+ }, r);
13
13
  };
14
14
  export {
15
- l as FieldError
15
+ d as FieldError
16
16
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("react"),m=require("prop-types"),R=require("../Box/Box.cjs"),c=require("../helpers/getFocusableNodes.cjs"),l=require("../helpers/keyboardKeys.cjs"),w=require("./RawTableContext.cjs"),p=o=>o&&typeof o=="object"&&"default"in o?o:{default:o},g=p(d),a=p(m),y=o=>g.default.createElement(f,{...o,as:"th"}),f=({coords:o,as:h,...N})=>{const n=d.useRef(null),{rowIndex:T,colIndex:x,setTableValues:E}=w.useTable(),[u,i]=d.useState(!1),K=e=>{const t=c.getFocusableNodes(n.current,!0);if(!(t.length===0||t.length===1&&c.getFocusableNodesWithKeyboardNav(t).length===0)){if(t.length>1&&!Boolean(t.find(s=>s.tagName!=="BUTTON"))){e.preventDefault();const s=t.findIndex(r=>r===document.activeElement);if(e.key===l.KeyboardKeys.RIGHT){const r=t[s+1];r&&(e.stopPropagation(),r.focus())}else if(e.key===l.KeyboardKeys.LEFT){const r=t[s-1];r&&(e.stopPropagation(),r.focus())}return}e.key===l.KeyboardKeys.ENTER&&!u?i(!0):(e.key===l.KeyboardKeys.ESCAPE||e.key===l.KeyboardKeys.ENTER)&&u?(i(!1),n.current.focus()):u&&e.stopPropagation()}},b=T===o.row-1&&x===o.col-1;return d.useLayoutEffect(()=>{const e=c.getFocusableNodes(n.current,!0);e.length===0||e.length===1&&c.getFocusableNodesWithKeyboardNav(e).length!==0||e.length>1&&Boolean(e.find(t=>t.tagName!=="BUTTON"))?(n.current.setAttribute("tabIndex",!u&&b?0:-1),e.forEach((t,s)=>{t.setAttribute("tabIndex",u?0:-1),u&&s===0&&t.focus()})):e.forEach(t=>{t.setAttribute("tabIndex",b?0:-1)})},[u,b]),d.useLayoutEffect(()=>{const e=c.getFocusableNodes(n.current,!0),t=()=>{e.length>=1&&(c.getFocusableNodesWithKeyboardNav(e).length!==0||!Boolean(e.find(s=>s.tagName!=="BUTTON")))&&i(!0),E({rowIndex:o.row-1,colIndex:o.col-1})};return e.forEach(s=>{s.addEventListener("focus",t)}),()=>{c.getFocusableNodes(n.current,!0).forEach(r=>{r.removeEventListener("focus",t)})}},[]),g.default.createElement(R.Box,{as:h||"td",ref:n,onKeyDown:K,...N})};y.defaultProps={coords:{}};y.propTypes={["aria-colindex"]:a.default.number.isRequired,children:a.default.node,coords:a.default.shape({col:a.default.number,row:a.default.number})};f.defaultProps={coords:{}};f.propTypes={["aria-colindex"]:a.default.number.isRequired,as:a.default.oneOf(["td","th"]),children:a.default.node,coords:a.default.shape({col:a.default.number,row:a.default.number})};exports.RawTd=f;exports.RawTh=y;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("react"),m=require("prop-types"),R=require("../Box/Box.cjs"),c=require("../helpers/getFocusableNodes.cjs"),l=require("../helpers/keyboardKeys.cjs"),w=require("./RawTableContext.cjs"),N=s=>s&&typeof s=="object"&&"default"in s?s:{default:s},h=N(d),a=N(m),y=s=>h.default.createElement(f,{...s,as:"th"}),f=({coords:s,as:g,...p})=>{const r=d.useRef(null),{rowIndex:T,colIndex:x,setTableValues:E}=w.useTable(),[u,i]=d.useState(!1),K=e=>{const t=c.getFocusableNodes(r.current,!0);if(console.log(t.find(o=>o.tagName!=="BUTTON")),!(t.length===0||t.length===1&&c.getFocusableNodesWithKeyboardNav(t).length===0)){if(t.length>1&&!Boolean(t.find(o=>o.tagName!=="BUTTON"))){e.preventDefault();const o=t.findIndex(n=>n===document.activeElement);if(e.key===l.KeyboardKeys.RIGHT){const n=t[o+1];n&&(e.stopPropagation(),n.focus())}else if(e.key===l.KeyboardKeys.LEFT){const n=t[o-1];n&&(e.stopPropagation(),n.focus())}return}e.key===l.KeyboardKeys.ENTER&&!u?i(!0):(e.key===l.KeyboardKeys.ESCAPE||e.key===l.KeyboardKeys.ENTER)&&u?(i(!1),r.current.focus()):u&&e.stopPropagation()}},b=T===s.row-1&&x===s.col-1;return d.useLayoutEffect(()=>{const e=c.getFocusableNodes(r.current,!0);e.length===0||e.length===1&&c.getFocusableNodesWithKeyboardNav(e).length!==0||e.length>1&&Boolean(e.find(t=>t.tagName!=="BUTTON"))?(r.current.setAttribute("tabIndex",!u&&b?0:-1),e.forEach((t,o)=>{t.setAttribute("tabIndex",u?0:-1),u&&o===0&&t.focus()})):e.forEach(t=>{t.setAttribute("tabIndex",b?0:-1)})},[u,b]),d.useLayoutEffect(()=>{const e=c.getFocusableNodes(r.current,!0),t=()=>{e.length>=1&&(c.getFocusableNodesWithKeyboardNav(e).length!==0||!Boolean(e.find(o=>o.tagName!=="BUTTON")))&&i(!0),E({rowIndex:s.row-1,colIndex:s.col-1})};return e.forEach(o=>{o.addEventListener("focus",t)}),()=>{c.getFocusableNodes(r.current,!0).forEach(n=>{n.removeEventListener("focus",t)})}},[]),h.default.createElement(R.Box,{as:g||"td",ref:r,onKeyDown:K,...p})};y.defaultProps={coords:{}};y.propTypes={["aria-colindex"]:a.default.number.isRequired,children:a.default.node,coords:a.default.shape({col:a.default.number,row:a.default.number})};f.defaultProps={coords:{}};f.propTypes={["aria-colindex"]:a.default.number.isRequired,as:a.default.oneOf(["td","th"]),children:a.default.node,coords:a.default.shape({col:a.default.number,row:a.default.number})};exports.RawTd=f;exports.RawTh=y;
@@ -3,45 +3,45 @@ import n from "prop-types";
3
3
  import { Box as R } from "../Box/Box.js";
4
4
  import { getFocusableNodes as l, getFocusableNodesWithKeyboardNav as i } from "../helpers/getFocusableNodes.js";
5
5
  import { KeyboardKeys as u } from "../helpers/keyboardKeys.js";
6
- import { useTable as v } from "./RawTableContext.js";
6
+ import { useTable as B } from "./RawTableContext.js";
7
7
  const N = (c) => /* @__PURE__ */ h.createElement(m, {
8
8
  ...c,
9
9
  as: "th"
10
10
  }), m = ({ coords: c, as: p, ...g }) => {
11
- const s = I(null), { rowIndex: E, colIndex: T, setTableValues: x } = v(), [a, f] = w(!1), y = (e) => {
12
- const t = l(s.current, !0);
13
- if (!(t.length === 0 || t.length === 1 && i(t).length === 0)) {
14
- if (t.length > 1 && !Boolean(t.find((o) => o.tagName !== "BUTTON"))) {
11
+ const s = I(null), { rowIndex: T, colIndex: E, setTableValues: x } = B(), [a, f] = w(!1), y = (e) => {
12
+ const o = l(s.current, !0);
13
+ if (console.log(o.find((t) => t.tagName !== "BUTTON")), !(o.length === 0 || o.length === 1 && i(o).length === 0)) {
14
+ if (o.length > 1 && !Boolean(o.find((t) => t.tagName !== "BUTTON"))) {
15
15
  e.preventDefault();
16
- const o = t.findIndex((r) => r === document.activeElement);
16
+ const t = o.findIndex((r) => r === document.activeElement);
17
17
  if (e.key === u.RIGHT) {
18
- const r = t[o + 1];
18
+ const r = o[t + 1];
19
19
  r && (e.stopPropagation(), r.focus());
20
20
  } else if (e.key === u.LEFT) {
21
- const r = t[o - 1];
21
+ const r = o[t - 1];
22
22
  r && (e.stopPropagation(), r.focus());
23
23
  }
24
24
  return;
25
25
  }
26
26
  e.key === u.ENTER && !a ? f(!0) : (e.key === u.ESCAPE || e.key === u.ENTER) && a ? (f(!1), s.current.focus()) : a && e.stopPropagation();
27
27
  }
28
- }, d = E === c.row - 1 && T === c.col - 1;
28
+ }, d = T === c.row - 1 && E === c.col - 1;
29
29
  return b(() => {
30
30
  const e = l(s.current, !0);
31
- e.length === 0 || e.length === 1 && i(e).length !== 0 || e.length > 1 && Boolean(e.find((t) => t.tagName !== "BUTTON")) ? (s.current.setAttribute("tabIndex", !a && d ? 0 : -1), e.forEach((t, o) => {
32
- t.setAttribute("tabIndex", a ? 0 : -1), a && o === 0 && t.focus();
33
- })) : e.forEach((t) => {
34
- t.setAttribute("tabIndex", d ? 0 : -1);
31
+ e.length === 0 || e.length === 1 && i(e).length !== 0 || e.length > 1 && Boolean(e.find((o) => o.tagName !== "BUTTON")) ? (s.current.setAttribute("tabIndex", !a && d ? 0 : -1), e.forEach((o, t) => {
32
+ o.setAttribute("tabIndex", a ? 0 : -1), a && t === 0 && o.focus();
33
+ })) : e.forEach((o) => {
34
+ o.setAttribute("tabIndex", d ? 0 : -1);
35
35
  });
36
36
  }, [a, d]), b(() => {
37
- const e = l(s.current, !0), t = () => {
38
- e.length >= 1 && (i(e).length !== 0 || !Boolean(e.find((o) => o.tagName !== "BUTTON"))) && f(!0), x({ rowIndex: c.row - 1, colIndex: c.col - 1 });
37
+ const e = l(s.current, !0), o = () => {
38
+ e.length >= 1 && (i(e).length !== 0 || !Boolean(e.find((t) => t.tagName !== "BUTTON"))) && f(!0), x({ rowIndex: c.row - 1, colIndex: c.col - 1 });
39
39
  };
40
- return e.forEach((o) => {
41
- o.addEventListener("focus", t);
40
+ return e.forEach((t) => {
41
+ t.addEventListener("focus", o);
42
42
  }), () => {
43
43
  l(s.current, !0).forEach((r) => {
44
- r.removeEventListener("focus", t);
44
+ r.removeEventListener("focus", o);
45
45
  });
46
46
  };
47
47
  }, []), /* @__PURE__ */ h.createElement(R, {
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("react"),Z=require("prop-types"),ee=require("@strapi/icons/CarretDown"),te=require("@strapi/icons/Cross"),le=require("../themes/sizes.cjs"),ne=require("./SelectButton.cjs"),re=require("../Field/Field.cjs"),oe=require("../Field/FieldLabel.cjs");require("../Field/FieldInput.cjs");const ae=require("../Field/FieldHint.cjs"),se=require("../Field/FieldError.cjs");require("../Field/FieldContext.cjs");require("../Field/FieldAction.cjs");const ce=require("../Popover/Popover.cjs"),ie=require("../Stack/Stack.cjs"),w=require("../Typography/Typography.cjs"),T=require("../Flex/Flex.cjs"),H=require("../Box/Box.cjs"),de=require("../helpers/useId.cjs"),ue=require("./SelectList.cjs"),B=require("./components.cjs"),fe=require("./hooks/useButtonRef.cjs"),M=require("../VisuallyHidden/VisuallyHidden.cjs"),pe=require("./constants.cjs"),P=require("../helpers/escapeSelector.cjs"),ye=require("./SelectTags.cjs"),he=require("styled-components"),p=r=>r&&typeof r=="object"&&"default"in r?r:{default:r},l=p(d),e=p(Z),me=p(ee),Ee=p(te),be=p(he),ge=be.default(T.Flex)`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("react"),ne=require("prop-types"),re=require("@strapi/icons/CarretDown"),oe=require("@strapi/icons/Cross"),se=require("../themes/sizes.cjs"),ae=require("./SelectButton.cjs"),ie=require("../Field/Field.cjs"),ce=require("../Field/FieldLabel.cjs");require("../Field/FieldInput.cjs");const de=require("../Field/FieldHint.cjs"),ue=require("../Field/FieldError.cjs");require("../Field/FieldContext.cjs");require("../Field/FieldAction.cjs");const fe=require("../Popover/Popover.cjs"),pe=require("../Stack/Stack.cjs"),H=require("../Typography/Typography.cjs"),x=require("../Flex/Flex.cjs"),P=require("../Box/Box.cjs"),ye=require("../helpers/useId.cjs"),he=require("./SelectList.cjs"),v=require("./components.cjs"),me=require("./hooks/useButtonRef.cjs"),A=require("../VisuallyHidden/VisuallyHidden.cjs"),ge=require("./constants.cjs"),z=require("../helpers/escapeSelector.cjs"),Ee=require("./SelectTags.cjs"),be=require("styled-components"),f=r=>r&&typeof r=="object"&&"default"in r?r:{default:r},l=f(d),e=f(ne),qe=f(re),Fe=f(oe),Se=f(be),je=Se.default(x.Flex)`
2
2
  width: 100%;
3
- `,C=({label:r,labelAction:A,id:z,children:G,customizeContent:y,placeholder:q,onChange:F,value:n,hint:j,error:f,disabled:c,clearLabel:W,onClear:I,onReachEnd:N,multi:a,required:J,size:K,startIcon:O,withTags:h,...Q})=>{const o=de.useId("select",z),[m,E]=d.useState(void 0),L=fe.useButtonRef(m),R=d.useRef(null),S=`${o}-label`,b=`${o}-content`,U=f?`${o}-error`:j?`${o}-hint`:void 0;if(h&&!a)throw new Error('The "withTags" props can only be used when the "multi" prop is present');const V=()=>{E(void 0)},X=()=>{c||(I(),L.current.focus())},_=t=>{t.preventDefault(),!c&&(t.nativeEvent.which===3||t.nativeEvent.button===2||E(pe.DownState.Mouse))},v=(t,s=!0)=>{a?F(n.includes(t)?n.filter(u=>u!==t):[...n,t]):(F(t),s&&E(void 0))},$=t=>{F(n.includes(t[0])?n.filter(function(s){return this.indexOf(s)<0},t):[...n,...t])};let x,D=[];const k=(t,s)=>{const u=`${o}-option-${t.props.value}`,g=a?n.includes(t.props.value):t.props.value===n;return g&&(h?D.push({label:t.props.children,value:t.props.value}):x=t.props.children),d.cloneElement(t,{id:P.escapeSelector(u),onClick:()=>v(t.props.value),selected:g,multi:a,isChild:s})},Y=d.Children.toArray(G).map(t=>{if(t.type.displayName==="OptGroup"){const s=`${o}-option-${t.props.label}`,u=t.props.children.every(i=>n.includes(i.props.value)),g=!u&&t.props.children.some(i=>n.includes(i.props.value));return d.cloneElement(t,{id:P.escapeSelector(s),onClick:()=>$(t.props.children.map(i=>i.props.value)),selected:u,indeterminate:g,multi:a,children:d.Children.toArray(t.props.children).map(i=>k(i,!0)),value:t.props.label})}else return k(t)});return l.default.createElement(re.Field,{hint:j,error:f,id:o},l.default.createElement(ie.Stack,{spacing:r||j||f?1:0},r&&l.default.createElement(oe.FieldLabel,{required:J,as:"span",id:S,action:A},r),l.default.createElement(B.SelectButtonWrapper,{size:K,hasError:Boolean(f),disabled:c,ref:R},l.default.createElement(ne.SelectButton,{ref:L,labelledBy:`${S} ${b}`,"aria-describedby":U,expanded:Boolean(m),onTrigger:E,id:o,hasError:Boolean(f),disabled:c,onMouseDown:_,...Q}),l.default.createElement(ge,{justifyContent:"space-between"},l.default.createElement(T.Flex,null,O&&l.default.createElement(H.Box,{paddingLeft:3,"aria-hidden":!0},O),h&&l.default.createElement(ye.SelectTags,{tags:D,onRemoveTag:v,disabled:c}),l.default.createElement(H.Box,{paddingLeft:4,paddingRight:4},h?l.default.createElement(l.default.Fragment,null,!n||n.length===0?l.default.createElement(w.Typography,{ellipsis:!0,id:b,textColor:"neutral600"},q):null,l.default.createElement(M.VisuallyHidden,{as:"span",id:b},y?y(n):x||q,n.join(", "))):l.default.createElement(w.Typography,{ellipsis:!0,id:b,textColor:n?"neutral800":"neutral600"},y?y(n):x||q,a&&l.default.createElement(M.VisuallyHidden,{as:"span"},n.join(", "))))),l.default.createElement(T.Flex,null,(a&&n&&n.length||!a&&n)&&I&&l.default.createElement(B.IconBox,{as:"button",type:"button",onClick:X,"aria-label":W,"aria-disabled":c},l.default.createElement(Ee.default,null)),l.default.createElement(B.CaretBox,{paddingLeft:3,"aria-hidden":!0,as:"button",type:"button",onMouseDown:_,tabIndex:-1,disabled:c},l.default.createElement(me.default,null))))),l.default.createElement(ae.FieldHint,null),l.default.createElement(se.FieldError,null)),m&&l.default.createElement(ce.Popover,{source:R,spacing:4,fullWidth:!0,intersectionId:`select-list-intersection-${o}`,onReachEnd:N},l.default.createElement(ue.SelectList,{selectId:o,labelledBy:r?S:void 0,onEscape:V,expanded:m,onSelectItem:(t,s)=>s?$(t):v(t,!1),multi:a},Y)))};C.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,size:"M",startIcon:void 0,withTags:!1};C.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.string,hint:e.default.oneOfType([e.default.string,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,size:e.default.oneOf(Object.keys(le.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=C;
3
+ `,C=({label:r,labelAction:G,id:W,children:N,customizeContent:p,placeholder:q,onChange:F,value:n,hint:S,error:y,disabled:i,clearLabel:I,onClear:O,onReachEnd:J,multi:s,required:K,selectButtonTitle:Q,size:U,startIcon:R,withTags:h,...V})=>{const o=ye.useId("select",W),[m,g]=d.useState(void 0),_=me.useButtonRef(m),L=d.useRef(null),j=`${o}-label`,E=`${o}-content`,D=typeof y=="string",X=D?`${o}-error`:void 0,Y=S?`${o}-hint`:void 0,Z=X||Y;if(h&&!s)throw new Error('The "withTags" props can only be used when the "multi" prop is present');const ee=()=>{g(void 0)},te=()=>{i||(O(),_.current.focus())},$=t=>{t.preventDefault(),!i&&(t.nativeEvent.which===3||t.nativeEvent.button===2||g(ge.DownState.Mouse))},B=(t,a=!0)=>{s?F(n.includes(t)?n.filter(u=>u!==t):[...n,t]):(F(t),a&&g(void 0))},w=t=>{F(n.includes(t[0])?n.filter(function(a){return this.indexOf(a)<0},t):[...n,...t])};let T,M=[];const k=(t,a)=>{const u=`${o}-option-${t.props.value}`,b=s?n.includes(t.props.value):t.props.value===n;return b&&(h?M.push({label:t.props.children,value:t.props.value}):T=t.props.children),d.cloneElement(t,{id:z.escapeSelector(u),onClick:()=>B(t.props.value),selected:b,multi:s,isChild:a})},le=d.Children.toArray(N).map(t=>{if(t.type.displayName==="OptGroup"){const a=`${o}-option-${t.props.label}`,u=t.props.children.every(c=>n.includes(c.props.value)),b=!u&&t.props.children.some(c=>n.includes(c.props.value));return d.cloneElement(t,{id:z.escapeSelector(a),onClick:()=>w(t.props.children.map(c=>c.props.value)),selected:u,indeterminate:b,multi:s,children:d.Children.toArray(t.props.children).map(c=>k(c,!0)),value:t.props.label})}else return k(t)});return l.default.createElement(ie.Field,{hint:S,error:y,id:o},l.default.createElement(pe.Stack,{spacing:r||S||D?1:0},r&&l.default.createElement(ce.FieldLabel,{required:K,as:"span",id:j,action:G},r),l.default.createElement(v.SelectButtonWrapper,{size:U,hasError:Boolean(y),disabled:i,ref:L},l.default.createElement(ae.SelectButton,{ref:_,labelledBy:`${j} ${E}`,"aria-describedby":Z,expanded:Boolean(m),onTrigger:g,id:o,hasError:Boolean(y),disabled:i,onMouseDown:$,...V}),l.default.createElement(je,{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(Ee.SelectTags,{tags:M,onRemoveTag:B,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(H.Typography,{ellipsis:!0,id:E,textColor:"neutral600"},q):null,l.default.createElement(A.VisuallyHidden,{as:"span",id:E},p?p(n):T||q,n.join(", "))):l.default.createElement(H.Typography,{ellipsis:!0,id:E,textColor:n?"neutral800":"neutral600"},p?p(n):T||q,s&&l.default.createElement(A.VisuallyHidden,{as:"span"},n.join(", "))))),l.default.createElement(x.Flex,null,(s&&n&&n.length||!s&&n)&&O&&l.default.createElement(v.IconBox,{as:"button",type:"button",onClick:te,"aria-label":I,"aria-disabled":i,title:I},l.default.createElement(Fe.default,null)),l.default.createElement(v.CaretBox,{paddingLeft:3,"aria-hidden":!0,as:"button",type:"button",onMouseDown:$,tabIndex:-1,disabled:i,title:Q},l.default.createElement(qe.default,null))))),l.default.createElement(de.FieldHint,null),l.default.createElement(ue.FieldError,null)),m&&l.default.createElement(fe.Popover,{source:L,spacing:4,fullWidth:!0,intersectionId:`select-list-intersection-${o}`,onReachEnd:J},l.default.createElement(he.SelectList,{selectId:o,labelledBy:r?j:void 0,onEscape:ee,expanded:m,onSelectItem:(t,a)=>a?w(t):B(t,!1),multi:s},le)))};C.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};C.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.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(se.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=C;