@strapi/design-system 1.4.0 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/LICENSE +4 -17
  2. package/dist/CarouselInput/CarouselInput.cjs +1 -1
  3. package/dist/CarouselInput/CarouselInput.js +2 -2
  4. package/dist/Combobox/Combobox.cjs +1 -1
  5. package/dist/Combobox/Combobox.js +80 -80
  6. package/dist/DateTimePicker/DateTimePicker.cjs +1 -1
  7. package/dist/DateTimePicker/DateTimePicker.js +58 -56
  8. package/dist/Field/Field.cjs +1 -1
  9. package/dist/Field/Field.js +22 -20
  10. package/dist/Field/FieldInput.cjs +4 -4
  11. package/dist/Field/FieldInput.js +31 -30
  12. package/dist/Field/FieldLabel.cjs +3 -3
  13. package/dist/Field/FieldLabel.js +43 -42
  14. package/dist/Link/Link.cjs +5 -5
  15. package/dist/Link/Link.js +19 -18
  16. package/dist/NumberInput/NumberInput.cjs +1 -1
  17. package/dist/NumberInput/NumberInput.js +2 -2
  18. package/dist/Select/Select.cjs +2 -2
  19. package/dist/Select/Select.js +32 -33
  20. package/dist/SimpleMenu/SimpleMenu.cjs +23 -7
  21. package/dist/SimpleMenu/SimpleMenu.js +121 -97
  22. package/dist/TextInput/TextInput.cjs +1 -1
  23. package/dist/TextInput/TextInput.js +2 -2
  24. package/dist/Textarea/Textarea.cjs +1 -1
  25. package/dist/Textarea/Textarea.js +2 -2
  26. package/dist/Textarea/TextareaInput.cjs +4 -4
  27. package/dist/Textarea/TextareaInput.js +23 -22
  28. package/dist/TimePicker/TimePicker.cjs +2 -2
  29. package/dist/TimePicker/TimePicker.js +44 -39
  30. package/dist/ToggleCheckbox/ToggleCheckbox.cjs +6 -6
  31. package/dist/ToggleCheckbox/ToggleCheckbox.js +44 -37
  32. package/dist/ToggleInput/ToggleInput.cjs +3 -3
  33. package/dist/ToggleInput/ToggleInput.js +25 -26
  34. package/dist/v2/SimpleMenu/SimpleMenu.cjs +21 -7
  35. package/dist/v2/SimpleMenu/SimpleMenu.js +126 -105
  36. package/package.json +4 -4
@@ -1,108 +1,132 @@
1
1
  var Y = Object.defineProperty;
2
- var g = Object.getOwnPropertySymbols;
3
- var $ = Object.prototype.hasOwnProperty, F = Object.prototype.propertyIsEnumerable;
4
- var N = (e, r, o) => r in e ? Y(e, r, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[r] = o, y = (e, r) => {
5
- for (var o in r || (r = {}))
6
- $.call(r, o) && N(e, o, r[o]);
7
- if (g)
8
- for (var o of g(r))
9
- F.call(r, o) && N(e, o, r[o]);
2
+ var C = Object.getOwnPropertySymbols;
3
+ var F = Object.prototype.hasOwnProperty, V = Object.prototype.propertyIsEnumerable;
4
+ var N = (e, r, t) => r in e ? Y(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t, p = (e, r) => {
5
+ for (var t in r || (r = {}))
6
+ F.call(r, t) && N(e, t, r[t]);
7
+ if (C)
8
+ for (var t of C(r))
9
+ V.call(r, t) && N(e, t, r[t]);
10
10
  return e;
11
11
  };
12
- var S = (e, r) => {
13
- var o = {};
12
+ var b = (e, r) => {
13
+ var t = {};
14
14
  for (var s in e)
15
- $.call(e, s) && r.indexOf(s) < 0 && (o[s] = e[s]);
16
- if (e != null && g)
17
- for (var s of g(e))
18
- r.indexOf(s) < 0 && F.call(e, s) && (o[s] = e[s]);
19
- return o;
15
+ F.call(e, s) && r.indexOf(s) < 0 && (t[s] = e[s]);
16
+ if (e != null && C)
17
+ for (var s of C(e))
18
+ r.indexOf(s) < 0 && V.call(e, s) && (t[s] = e[s]);
19
+ return t;
20
20
  };
21
- import i, { useRef as w, useEffect as C, useState as V, Children as Z, cloneElement as ee } from "react";
21
+ import i, { useRef as w, useEffect as P, useState as q, Children as Z, cloneElement as ee } from "react";
22
22
  import n from "prop-types";
23
- import v from "styled-components";
23
+ import h from "styled-components";
24
24
  import { NavLink as ne } from "react-router-dom";
25
- import { useCallbackRef as q } from "@radix-ui/react-use-callback-ref";
26
- import oe from "@strapi/icons/CarretDown";
27
- import { Typography as L } from "../Typography/Typography.js";
28
- import { Box as x } from "../Box/Box.js";
29
- import { Flex as te } from "../Flex/Flex.js";
30
- import { Button as W } from "../Button/Button.js";
31
- import { POPOVER_PLACEMENTS as re, Popover as se } from "../Popover/Popover.js";
32
- import { getOptionStyle as _ } from "./utils.js";
33
- import { useId as ie } from "../helpers/useId.js";
25
+ import { useCallbackRef as W } from "@radix-ui/react-use-callback-ref";
26
+ import te from "@strapi/icons/CarretDown";
27
+ import { Typography as S } from "../Typography/Typography.js";
28
+ import { Link as oe } from "../Link/Link.js";
29
+ import { Box as R } from "../Box/Box.js";
30
+ import { Flex as re } from "../Flex/Flex.js";
31
+ import { Button as _ } from "../Button/Button.js";
32
+ import { POPOVER_PLACEMENTS as ie, Popover as se } from "../Popover/Popover.js";
33
+ import { getOptionStyle as M } from "./utils.js";
34
+ import { useId as ae } from "../helpers/useId.js";
34
35
  import { KeyboardKeys as c } from "../helpers/keyboardKeys.js";
35
- const ae = v.button`
36
+ const le = h.button`
36
37
  border: none;
37
38
  padding: 0;
38
39
  background: transparent;
39
40
  cursor: pointer;
40
- ${_}
41
- `, ce = v(ne)`
41
+ ${M}
42
+ `, ce = h(ne)`
42
43
  text-decoration: none;
43
- ${_}
44
- `, le = v.span`
44
+ ${M}
45
+ `, pe = h(oe)`
46
+ /* Removing Link hover effect */
47
+ &:hover {
48
+ color: currentColor;
49
+ }
50
+
51
+ &:focus-visible {
52
+ /* Removing Link focus-visible after properties and reset to global outline */
53
+ outline: 2px solid ${({ theme: e }) => e.colors.primary600};
54
+ outline-offset: 2px;
55
+ &:after {
56
+ content: none;
57
+ }
58
+ }
59
+
60
+ ${M}
61
+ `, ue = h.span`
45
62
  display: flex;
46
63
  align-items: center;
47
64
  svg {
48
65
  height: 4px;
49
66
  width: 6px;
50
67
  }
51
- `, pe = v(W)`
68
+ `, me = h(_)`
52
69
  padding: ${({ theme: e }) => `${e.spaces[1]} ${e.spaces[3]}`};
53
- `, z = (b) => {
54
- var E = b, { children: e, onClick: r, to: o, isFocused: s } = E, k = S(E, ["children", "onClick", "to", "isFocused"]);
55
- const p = w();
56
- C(() => {
57
- s && p.current && p.current.focus();
70
+ `, z = (B) => {
71
+ var v = B, { children: e, onClick: r, to: t, isFocused: s, href: u } = v, D = b(v, ["children", "onClick", "to", "isFocused", "href"]);
72
+ const l = w();
73
+ P(() => {
74
+ s && l.current && l.current.focus();
58
75
  }, [s]);
59
- const l = y({
76
+ const m = p({
60
77
  tabIndex: s ? 0 : -1,
61
- ref: p,
78
+ ref: l,
62
79
  role: "menuitem"
63
- }, k), D = (I) => {
64
- (I.key === c.SPACE || I.key === c.ENTER) && r();
80
+ }, D), K = (f) => {
81
+ (f.key === c.SPACE || f.key === c.ENTER) && r();
65
82
  };
66
- return o ? /* @__PURE__ */ i.createElement(ce, y({
67
- to: o
68
- }, l), /* @__PURE__ */ i.createElement(x, {
83
+ return t && !u ? /* @__PURE__ */ i.createElement(ce, p({
84
+ to: t
85
+ }, m), /* @__PURE__ */ i.createElement(R, {
69
86
  padding: 2
70
- }, /* @__PURE__ */ i.createElement(L, null, e))) : /* @__PURE__ */ i.createElement(ae, y({
71
- onKeyDown: D,
87
+ }, /* @__PURE__ */ i.createElement(S, null, e))) : u && !t ? /* @__PURE__ */ i.createElement(pe, p({
88
+ isExternal: !0,
89
+ href: u
90
+ }, m), /* @__PURE__ */ i.createElement(R, {
91
+ padding: 2
92
+ }, /* @__PURE__ */ i.createElement(S, null, e))) : /* @__PURE__ */ i.createElement(le, p({
93
+ onKeyDown: K,
72
94
  onMouseDown: r,
73
95
  type: "button"
74
- }, l), /* @__PURE__ */ i.createElement(x, {
96
+ }, m), /* @__PURE__ */ i.createElement(R, {
75
97
  padding: 2
76
- }, /* @__PURE__ */ i.createElement(L, null, e)));
98
+ }, /* @__PURE__ */ i.createElement(S, null, e)));
77
99
  };
78
100
  z.defaultProps = {
79
101
  as: void 0,
102
+ href: void 0,
103
+ isFocused: !1,
80
104
  onClick() {
81
105
  },
82
- isFocused: !1,
83
106
  to: void 0
84
107
  };
85
108
  z.propTypes = {
86
109
  as: n.elementType,
87
110
  children: n.node.isRequired,
111
+ href: n.string,
88
112
  isFocused: n.bool,
89
113
  onClick: n.func,
90
114
  to: n.string
91
115
  };
92
- const P = (I) => {
93
- var M = I, {
116
+ const x = (K) => {
117
+ var f = K, {
94
118
  label: e,
95
119
  children: r,
96
- id: o,
120
+ id: t,
97
121
  as: s,
98
- onOpen: k = () => {
122
+ onOpen: u = () => {
99
123
  },
100
- onClose: b = () => {
124
+ onClose: D = () => {
101
125
  },
102
- size: E,
103
- popoverPlacement: p,
126
+ size: B,
127
+ popoverPlacement: v,
104
128
  onReachEnd: l
105
- } = M, D = S(M, [
129
+ } = f, m = b(f, [
106
130
  "label",
107
131
  "children",
108
132
  "id",
@@ -113,74 +137,74 @@ const P = (I) => {
113
137
  "popoverPlacement",
114
138
  "onReachEnd"
115
139
  ]);
116
- const u = w(), O = ie("simplemenu", o), m = w(!1), [d, f] = V(!1), [R, T] = V(0), h = Z.toArray(r), j = s || (E === "S" ? pe : W), B = !!l && typeof l == "function";
117
- C(() => {
140
+ const d = w(), I = ae("simplemenu", t), y = w(!1), [E, g] = q(!1), [O, T] = q(0), k = Z.toArray(r), j = s || (B === "S" ? me : _), $ = !!l && typeof l == "function";
141
+ P(() => {
118
142
  if (["string", "number"].includes(typeof e)) {
119
- const t = h.findIndex((a) => a.props.children === e);
120
- t !== -1 && T(t);
143
+ const o = k.findIndex((a) => a.props.children === e);
144
+ o !== -1 && T(o);
121
145
  }
122
146
  }, [e]);
123
- const K = q(k), A = q(b);
124
- C(() => {
125
- m != null && m.current ? d ? K() : A() : m.current = !0;
126
- }, [m, A, K, d]), C(() => {
127
- i.isValidElement(e) && R === -1 && u.current.focus();
128
- }, [e, R]);
129
- const H = (t) => {
130
- d && (t.key === c.ESCAPE && (t.stopPropagation(), f(!1), u.current.focus()), t.key === c.DOWN && T((a) => a === h.length - 1 ? 0 : a + 1), t.key === c.UP && T((a) => a === 0 ? h.length - 1 : a - 1));
131
- }, U = (t) => {
132
- (t.key === c.ENTER || t.key === c.SPACE) && f((a) => !a);
133
- }, G = (t) => {
134
- t.preventDefault(), t.currentTarget.contains(t.relatedTarget) || f(!1);
135
- }, J = (t) => {
136
- t.preventDefault(), f((a) => !a);
147
+ const L = W(u), A = W(D);
148
+ P(() => {
149
+ y != null && y.current ? E ? L() : A() : y.current = !0;
150
+ }, [y, A, L, E]), P(() => {
151
+ i.isValidElement(e) && O === -1 && d.current.focus();
152
+ }, [e, O]);
153
+ const H = (o) => {
154
+ E && (o.key === c.ESCAPE && (o.stopPropagation(), g(!1), d.current.focus()), o.key === c.DOWN && T((a) => a === k.length - 1 ? 0 : a + 1), o.key === c.UP && T((a) => a === 0 ? k.length - 1 : a - 1));
155
+ }, U = (o) => {
156
+ (o.key === c.ENTER || o.key === c.SPACE) && g((a) => !a);
157
+ }, G = (o) => {
158
+ o.preventDefault(), o.currentTarget.contains(o.relatedTarget) || g(!1);
159
+ }, J = (o) => {
160
+ o.preventDefault(), g((a) => !a);
137
161
  }, Q = () => {
138
- B && l();
139
- }, X = h.map((t, a) => /* @__PURE__ */ i.createElement(te, {
162
+ $ && l();
163
+ }, X = k.map((o, a) => /* @__PURE__ */ i.createElement(re, {
140
164
  as: "li",
141
165
  key: a,
142
166
  justifyContent: "center",
143
167
  role: "menuitem"
144
- }, ee(t, {
168
+ }, ee(o, {
145
169
  onClick() {
146
- t.props.onClick(), f(!1), u.current.focus();
170
+ o.props.onClick(), g(!1), d.current.focus();
147
171
  },
148
- isFocused: R === a
172
+ isFocused: O === a
149
173
  })));
150
174
  return /* @__PURE__ */ i.createElement("div", {
151
175
  onKeyDown: H
152
- }, /* @__PURE__ */ i.createElement(j, y({
176
+ }, /* @__PURE__ */ i.createElement(j, p({
153
177
  label: i.isValidElement(e) ? null : e,
154
178
  "aria-haspopup": !0,
155
- "aria-expanded": d,
156
- "aria-controls": O,
179
+ "aria-expanded": E,
180
+ "aria-controls": I,
157
181
  onKeyDown: U,
158
182
  onMouseDown: J,
159
- ref: u,
183
+ ref: d,
160
184
  type: "button",
161
185
  variant: "ghost",
162
- endIcon: /* @__PURE__ */ i.createElement(le, null, /* @__PURE__ */ i.createElement(oe, {
186
+ endIcon: /* @__PURE__ */ i.createElement(ue, null, /* @__PURE__ */ i.createElement(te, {
163
187
  "aria-hidden": !0
164
188
  }))
165
- }, D), e), d && /* @__PURE__ */ i.createElement(se, {
189
+ }, m), e), E && /* @__PURE__ */ i.createElement(se, {
166
190
  onBlur: G,
167
- placement: p,
168
- source: u,
191
+ placement: v,
192
+ source: d,
169
193
  onReachEnd: Q,
170
- intersectionId: B ? `popover-${O}` : void 0,
194
+ intersectionId: $ ? `popover-${I}` : void 0,
171
195
  spacing: 4
172
- }, /* @__PURE__ */ i.createElement(x, {
196
+ }, /* @__PURE__ */ i.createElement(R, {
173
197
  role: "menu",
174
198
  as: "ul",
175
199
  padding: 1,
176
- id: O
200
+ id: I
177
201
  }, X)));
178
202
  };
179
- P.defaultProps = {
203
+ x.defaultProps = {
180
204
  as: void 0
181
205
  };
182
- P.displayName = "SimpleMenu";
183
- P.defaultProps = {
206
+ x.displayName = "SimpleMenu";
207
+ x.defaultProps = {
184
208
  id: void 0,
185
209
  onOpen: void 0,
186
210
  onClose: void 0,
@@ -188,7 +212,7 @@ P.defaultProps = {
188
212
  popoverPlacement: "bottom-start",
189
213
  size: "M"
190
214
  };
191
- P.propTypes = {
215
+ x.propTypes = {
192
216
  as: n.any,
193
217
  children: n.oneOfType([n.arrayOf(n.node), n.node]).isRequired,
194
218
  id: n.string,
@@ -196,10 +220,10 @@ P.propTypes = {
196
220
  onClose: n.func,
197
221
  onOpen: n.func,
198
222
  onReachEnd: n.func,
199
- popoverPlacement: n.oneOf(re),
223
+ popoverPlacement: n.oneOf(ie),
200
224
  size: n.oneOf(["S", "M"])
201
225
  };
202
226
  export {
203
227
  z as MenuItem,
204
- P as SimpleMenu
228
+ x as SimpleMenu
205
229
  };
@@ -1 +1 @@
1
- "use strict";var _=Object.defineProperty;var a=Object.getOwnPropertySymbols;var b=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable;var F=(e,i,l)=>i in e?_(e,i,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[i]=l,q=(e,i)=>{for(var l in i||(i={}))b.call(i,l)&&F(e,l,i[l]);if(a)for(var l of a(i))m.call(i,l)&&F(e,l,i[l]);return e};var j=(e,i)=>{var l={};for(var r in e)b.call(e,r)&&i.indexOf(r)<0&&(l[r]=e[r]);if(e!=null&&a)for(var r of a(e))i.indexOf(r)<0&&m.call(e,r)&&(l[r]=e[r]);return l};Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react"),h=require("prop-types"),x=require("../Field/Field.cjs"),O=require("../Field/FieldLabel.cjs"),R=require("../Field/FieldInput.cjs"),S=require("../Field/FieldHint.cjs"),k=require("../Field/FieldError.cjs");require("../Field/FieldContext.cjs");require("../Field/FieldAction.cjs");const z=require("../Stack/Stack.cjs"),H=require("../themes/sizes.cjs"),L=require("../helpers/useId.cjs"),v=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},d=v(o),t=v(h),n=d.default.forwardRef((P,c)=>{var f=P,{size:e,startAction:i,endAction:l,name:r,hint:y,error:I,label:u,labelAction:g,id:E,required:T}=f,s=j(f,["size","startAction","endAction","name","hint","error","label","labelAction","id","required"]);const A=L.useId("textinput",E),p=o.useRef(null);if(!u&&!s["aria-label"])throw new Error('The TextInput component needs a "label" or an "aria-label" props');return o.useImperativeHandle(c,()=>({inputWrapperRef:p})),d.default.createElement("div",{ref:p},d.default.createElement(x.Field,{name:r,hint:y,error:I,id:A},d.default.createElement(z.Stack,{spacing:1},u&&d.default.createElement(O.FieldLabel,{required:T,action:g},u),d.default.createElement(R.FieldInput,q({size:e,ref:c,startAction:i,endAction:l},s)),d.default.createElement(S.FieldHint,null),d.default.createElement(k.FieldError,null))))});n.displayName="TextInput";n.defaultProps={"aria-label":void 0,label:void 0,labelAction:void 0,error:void 0,hint:void 0,id:void 0,startAction:void 0,size:"M",endAction:void 0,required:!1};n.propTypes={"aria-label":t.default.string,endAction:t.default.element,error:t.default.oneOfType([t.default.string,t.default.bool]),hint:t.default.oneOfType([t.default.string,t.default.node,t.default.arrayOf(t.default.node)]),id:t.default.string,label:t.default.string,labelAction:t.default.element,name:t.default.string.isRequired,required:t.default.bool,size:t.default.oneOf(Object.keys(H.sizes.input)),startAction:t.default.element};exports.TextInput=n;
1
+ "use strict";var _=Object.defineProperty;var a=Object.getOwnPropertySymbols;var b=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable;var F=(e,i,l)=>i in e?_(e,i,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[i]=l,q=(e,i)=>{for(var l in i||(i={}))b.call(i,l)&&F(e,l,i[l]);if(a)for(var l of a(i))m.call(i,l)&&F(e,l,i[l]);return e};var j=(e,i)=>{var l={};for(var r in e)b.call(e,r)&&i.indexOf(r)<0&&(l[r]=e[r]);if(e!=null&&a)for(var r of a(e))i.indexOf(r)<0&&m.call(e,r)&&(l[r]=e[r]);return l};Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react"),h=require("prop-types"),x=require("../Field/Field.cjs"),O=require("../Field/FieldLabel.cjs"),R=require("../Field/FieldInput.cjs"),S=require("../Field/FieldHint.cjs"),k=require("../Field/FieldError.cjs");require("../Field/FieldContext.cjs");require("../Field/FieldAction.cjs");const z=require("../Stack/Stack.cjs"),H=require("../themes/sizes.cjs"),L=require("../helpers/useId.cjs"),v=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},d=v(o),t=v(h),n=d.default.forwardRef((P,c)=>{var f=P,{size:e,startAction:i,endAction:l,name:r,hint:y,error:I,label:u,labelAction:g,id:E,required:T}=f,s=j(f,["size","startAction","endAction","name","hint","error","label","labelAction","id","required"]);const A=L.useId("textinput",E),p=o.useRef(null);if(!u&&!s["aria-label"])throw new Error('The TextInput component needs a "label" or an "aria-label" props');return o.useImperativeHandle(c,()=>({inputWrapperRef:p})),d.default.createElement("div",{ref:p},d.default.createElement(x.Field,{name:r,hint:y,error:I,id:A,required:T},d.default.createElement(z.Stack,{spacing:1},u&&d.default.createElement(O.FieldLabel,{action:g},u),d.default.createElement(R.FieldInput,q({size:e,ref:c,startAction:i,endAction:l},s)),d.default.createElement(S.FieldHint,null),d.default.createElement(k.FieldError,null))))});n.displayName="TextInput";n.defaultProps={"aria-label":void 0,label:void 0,labelAction:void 0,error:void 0,hint:void 0,id:void 0,startAction:void 0,size:"M",endAction:void 0,required:!1};n.propTypes={"aria-label":t.default.string,endAction:t.default.element,error:t.default.oneOfType([t.default.string,t.default.bool]),hint:t.default.oneOfType([t.default.string,t.default.node,t.default.arrayOf(t.default.node)]),id:t.default.string,label:t.default.string,labelAction:t.default.element,name:t.default.string.isRequired,required:t.default.bool,size:t.default.oneOf(Object.keys(H.sizes.input)),startAction:t.default.element};exports.TextInput=n;
@@ -44,11 +44,11 @@ const m = n.forwardRef(
44
44
  name: o,
45
45
  hint: g,
46
46
  error: T,
47
- id: x
47
+ id: x,
48
+ required: A
48
49
  }, /* @__PURE__ */ n.createElement(H, {
49
50
  spacing: 1
50
51
  }, l && /* @__PURE__ */ n.createElement(q, {
51
- required: A,
52
52
  action: y
53
53
  }, l), /* @__PURE__ */ n.createElement(w, v({
54
54
  size: e,
@@ -12,4 +12,4 @@
12
12
  color: ${({theme:e})=>e.colors.neutral500};
13
13
  opacity: 1;
14
14
  }
15
- `,n=i.default.forwardRef((A,y)=>{var o=A,{name:e,hint:l,error:t,label:a,children:m,labelAction:h,id:q,required:g}=o,x=F(o,["name","hint","error","label","children","labelAction","id","required"]);const j=P.useId("textarea",q);return i.default.createElement($,null,i.default.createElement(_.Field,{name:e,hint:l,error:t,id:j},i.default.createElement(w.Stack,{spacing:1},a&&i.default.createElement(L.Flex,null,i.default.createElement(I.FieldLabel,{required:g,action:h},a)),i.default.createElement(k.TextareaInput,p({ref:y,as:"textarea",value:m},x)),i.default.createElement(S.FieldHint,null),i.default.createElement(O.FieldError,null))))});n.displayName="Textarea";n.defaultProps={"aria-label":void 0,label:void 0,labelAction:void 0,error:void 0,hint:void 0,id:void 0,children:"",required:!1};n.propTypes={"aria-label":r.default.string,children:r.default.string,error:r.default.string,hint:r.default.oneOfType([r.default.string,r.default.node,r.default.arrayOf(r.default.node)]),id:r.default.string,label:r.default.string,labelAction:r.default.element,name:r.default.string.isRequired,required:r.default.bool};exports.Textarea=n;
15
+ `,n=i.default.forwardRef((A,y)=>{var o=A,{name:e,hint:l,error:t,label:a,children:m,labelAction:h,id:q,required:g}=o,x=F(o,["name","hint","error","label","children","labelAction","id","required"]);const j=P.useId("textarea",q);return i.default.createElement($,null,i.default.createElement(_.Field,{name:e,hint:l,error:t,id:j,required:g},i.default.createElement(w.Stack,{spacing:1},a&&i.default.createElement(L.Flex,null,i.default.createElement(I.FieldLabel,{action:h},a)),i.default.createElement(k.TextareaInput,p({ref:y,as:"textarea",value:m},x)),i.default.createElement(S.FieldHint,null),i.default.createElement(O.FieldError,null))))});n.displayName="Textarea";n.defaultProps={"aria-label":void 0,label:void 0,labelAction:void 0,error:void 0,hint:void 0,id:void 0,children:"",required:!1};n.propTypes={"aria-label":r.default.string,children:r.default.string,error:r.default.string,hint:r.default.oneOfType([r.default.string,r.default.node,r.default.arrayOf(r.default.node)]),id:r.default.string,label:r.default.string,labelAction:r.default.element,name:r.default.string.isRequired,required:r.default.bool};exports.Textarea=n;
@@ -54,11 +54,11 @@ const P = y.div`
54
54
  name: e,
55
55
  hint: t,
56
56
  error: r,
57
- id: T
57
+ id: T,
58
+ required: v
58
59
  }, /* @__PURE__ */ a.createElement(I, {
59
60
  spacing: 1
60
61
  }, o && /* @__PURE__ */ a.createElement(R, null, /* @__PURE__ */ a.createElement(w, {
61
- required: v,
62
62
  action: u
63
63
  }, o)), /* @__PURE__ */ a.createElement(q, s({
64
64
  ref: E,
@@ -1,4 +1,4 @@
1
- "use strict";var j=Object.defineProperty;var a=Object.getOwnPropertySymbols;var f=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable;var p=(e,r,t)=>r in e?j(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,b=(e,r)=>{for(var t in r||(r={}))f.call(r,t)&&p(e,t,r[t]);if(a)for(var t of a(r))y.call(r,t)&&p(e,t,r[t]);return e};var $=(e,r)=>{var t={};for(var o in e)f.call(e,o)&&r.indexOf(o)<0&&(t[o]=e[o]);if(e!=null&&a)for(var o of a(e))r.indexOf(o)<0&&y.call(e,o)&&(t[o]=e[o]);return t};Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const F=require("react"),x=require("styled-components"),_=require("prop-types");require("../Field/Field.cjs");require("../Field/FieldLabel.cjs");require("../Field/FieldInput.cjs");const m=require("../Field/FieldContext.cjs");require("../Typography/Typography.cjs");require("../Field/FieldAction.cjs");const v=require("../themes/utils.cjs"),d=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},g=d(F),T=d(x),w=d(_),I=T.default.div`
1
+ "use strict";var x=Object.defineProperty;var a=Object.getOwnPropertySymbols;var f=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable;var p=(e,r,t)=>r in e?x(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,b=(e,r)=>{for(var t in r||(r={}))f.call(r,t)&&p(e,t,r[t]);if(a)for(var t of a(r))y.call(r,t)&&p(e,t,r[t]);return e};var $=(e,r)=>{var t={};for(var o in e)f.call(e,o)&&r.indexOf(o)<0&&(t[o]=e[o]);if(e!=null&&a)for(var o of a(e))r.indexOf(o)<0&&y.call(e,o)&&(t[o]=e[o]);return t};Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const F=require("react"),_=require("styled-components"),m=require("prop-types");require("../Field/Field.cjs");require("../Field/FieldLabel.cjs");require("../Field/FieldInput.cjs");const v=require("../Field/FieldContext.cjs");require("../Typography/Typography.cjs");require("../Field/FieldAction.cjs");const w=require("../themes/utils.cjs"),n=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},g=n(F),q=n(_),I=n(m),P=q.default.div`
2
2
  border: 1px solid ${({theme:e,hasError:r})=>r?e.colors.danger600:e.colors.neutral200};
3
3
  border-radius: ${({theme:e})=>e.borderRadius};
4
4
 
@@ -8,8 +8,8 @@
8
8
  padding-bottom: ${({theme:e})=>`${e.spaces[3]}`};
9
9
 
10
10
  background: ${({theme:e,disabled:r})=>r?e.colors.neutral150:e.colors.neutral0};
11
- ${v.inputFocusStyle()}
12
- `,P=T.default.textarea`
11
+ ${w.inputFocusStyle()}
12
+ `,R=q.default.textarea`
13
13
  display: block;
14
14
  width: 100%;
15
15
  font-weight: 400;
@@ -27,4 +27,4 @@
27
27
  &:focus-within {
28
28
  outline: none;
29
29
  }
30
- `,l=F.forwardRef((o,t)=>{var c=o,{disabled:e}=c,r=$(c,["disabled"]);const{id:s,error:u,hint:q,name:h}=m.useField();let i;u?i=`${s}-error`:q&&(i=`${s}-hint`);const n=Boolean(u);return g.default.createElement(I,{hasError:n,disabled:e},g.default.createElement(P,b({id:s,name:h,ref:t,"aria-describedby":i,"aria-invalid":n,disabled:e,hasError:n},r)))});l.displayName="TextareaInput";l.defaultProps={disabled:!1};l.propTypes={disabled:w.default.bool};exports.TextareaInput=l;
30
+ `,i=F.forwardRef((o,t)=>{var c=o,{disabled:e}=c,r=$(c,["disabled"]);const{id:l,error:u,hint:T,name:h,required:j}=v.useField();let s;u?s=`${l}-error`:T&&(s=`${l}-hint`);const d=Boolean(u);return g.default.createElement(P,{hasError:d,disabled:e},g.default.createElement(R,b({id:l,name:h,ref:t,"aria-describedby":s,"aria-invalid":d,disabled:e,hasError:d,"aria-required":j},r)))});i.displayName="TextareaInput";i.defaultProps={disabled:!1};i.propTypes={disabled:I.default.bool};exports.TextareaInput=i;
@@ -1,34 +1,34 @@
1
- var h = Object.defineProperty;
2
- var a = Object.getOwnPropertySymbols;
1
+ var T = Object.defineProperty;
2
+ var t = Object.getOwnPropertySymbols;
3
3
  var u = Object.prototype.hasOwnProperty, m = Object.prototype.propertyIsEnumerable;
4
- var c = (r, o, e) => o in r ? h(r, o, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[o] = e, f = (r, o) => {
4
+ var c = (r, o, e) => o in r ? T(r, o, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[o] = e, f = (r, o) => {
5
5
  for (var e in o || (o = {}))
6
6
  u.call(o, e) && c(r, e, o[e]);
7
- if (a)
8
- for (var e of a(o))
7
+ if (t)
8
+ for (var e of t(o))
9
9
  m.call(o, e) && c(r, e, o[e]);
10
10
  return r;
11
11
  };
12
12
  var $ = (r, o) => {
13
13
  var e = {};
14
- for (var t in r)
15
- u.call(r, t) && o.indexOf(t) < 0 && (e[t] = r[t]);
16
- if (r != null && a)
17
- for (var t of a(r))
18
- o.indexOf(t) < 0 && m.call(r, t) && (e[t] = r[t]);
14
+ for (var a in r)
15
+ u.call(r, a) && o.indexOf(a) < 0 && (e[a] = r[a]);
16
+ if (r != null && t)
17
+ for (var a of t(r))
18
+ o.indexOf(a) < 0 && m.call(r, a) && (e[a] = r[a]);
19
19
  return e;
20
20
  };
21
- import b, { forwardRef as T } from "react";
21
+ import b, { forwardRef as w } from "react";
22
22
  import g from "styled-components";
23
- import w from "prop-types";
23
+ import k from "prop-types";
24
24
  import "../Field/Field.js";
25
25
  import "../Field/FieldLabel.js";
26
26
  import "../Field/FieldInput.js";
27
- import { useField as k } from "../Field/FieldContext.js";
27
+ import { useField as E } from "../Field/FieldContext.js";
28
28
  import "../Typography/Typography.js";
29
29
  import "../Field/FieldAction.js";
30
- import { inputFocusStyle as E } from "../themes/utils.js";
31
- const R = g.div`
30
+ import { inputFocusStyle as R } from "../themes/utils.js";
31
+ const q = g.div`
32
32
  border: 1px solid ${({ theme: r, hasError: o }) => o ? r.colors.danger600 : r.colors.neutral200};
33
33
  border-radius: ${({ theme: r }) => r.borderRadius};
34
34
 
@@ -38,7 +38,7 @@ const R = g.div`
38
38
  padding-bottom: ${({ theme: r }) => `${r.spaces[3]}`};
39
39
 
40
40
  background: ${({ theme: r, disabled: o }) => o ? r.colors.neutral150 : r.colors.neutral0};
41
- ${E()}
41
+ ${R()}
42
42
  `, v = g.textarea`
43
43
  display: block;
44
44
  width: 100%;
@@ -57,13 +57,13 @@ const R = g.div`
57
57
  &:focus-within {
58
58
  outline: none;
59
59
  }
60
- `, l = T((t, e) => {
61
- var p = t, { disabled: r } = p, o = $(p, ["disabled"]);
62
- const { id: i, error: d, hint: y, name: x } = k();
60
+ `, l = w((a, e) => {
61
+ var p = a, { disabled: r } = p, o = $(p, ["disabled"]);
62
+ const { id: i, error: d, hint: y, name: x, required: h } = E();
63
63
  let n;
64
64
  d ? n = `${i}-error` : y && (n = `${i}-hint`);
65
65
  const s = Boolean(d);
66
- return /* @__PURE__ */ b.createElement(R, {
66
+ return /* @__PURE__ */ b.createElement(q, {
67
67
  hasError: s,
68
68
  disabled: r
69
69
  }, /* @__PURE__ */ b.createElement(v, f({
@@ -73,7 +73,8 @@ const R = g.div`
73
73
  "aria-describedby": n,
74
74
  "aria-invalid": s,
75
75
  disabled: r,
76
- hasError: s
76
+ hasError: s,
77
+ "aria-required": h
77
78
  }, o)));
78
79
  });
79
80
  l.displayName = "TextareaInput";
@@ -81,7 +82,7 @@ l.defaultProps = {
81
82
  disabled: !1
82
83
  };
83
84
  l.propTypes = {
84
- disabled: w.bool
85
+ disabled: k.bool
85
86
  };
86
87
  export {
87
88
  l as TextareaInput
@@ -1,4 +1,4 @@
1
- "use strict";var w=Object.defineProperty;var d=Object.getOwnPropertySymbols;var v=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable;var g=(t,s,l)=>s in t?w(t,s,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[s]=l,T=(t,s)=>{for(var l in s||(s={}))v.call(s,l)&&g(t,l,s[l]);if(d)for(var l of d(s))O.call(s,l)&&g(t,l,s[l]);return t};var q=(t,s)=>{var l={};for(var r in t)v.call(t,r)&&s.indexOf(r)<0&&(l[r]=t[r]);if(t!=null&&d)for(var r of d(t))s.indexOf(r)<0&&O.call(t,r)&&(l[r]=t[r]);return l};Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const B=require("react"),x=require("prop-types"),D=require("@strapi/icons/Clock"),G=require("styled-components"),H=require("../themes/sizes.cjs"),N=require("../Select/Select.cjs"),V=require("../Select/Option.cjs");require("../Select/OptGroup.cjs");require("../Select/MultiSelectNested.cjs");require("../Select/SelectList.cjs");const W=require("../helpers/useId.cjs"),f=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},c=f(B),e=f(x),A=f(D),F=f(G),J=F.default.div`
1
+ "use strict";var B=Object.defineProperty;var d=Object.getOwnPropertySymbols;var q=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable;var g=(t,s,l)=>s in t?B(t,s,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[s]=l,O=(t,s)=>{for(var l in s||(s={}))q.call(s,l)&&g(t,l,s[l]);if(d)for(var l of d(s))v.call(s,l)&&g(t,l,s[l]);return t};var T=(t,s)=>{var l={};for(var r in t)q.call(t,r)&&s.indexOf(r)<0&&(l[r]=t[r]);if(t!=null&&d)for(var r of d(t))s.indexOf(r)<0&&v.call(t,r)&&(l[r]=t[r]);return l};Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const x=require("react"),D=require("prop-types"),G=require("@strapi/icons/Clock"),H=require("styled-components"),N=require("../themes/sizes.cjs"),V=require("../Select/Select.cjs"),W=require("../Select/Option.cjs");require("../Select/OptGroup.cjs");require("../Select/MultiSelectNested.cjs");require("../Select/SelectList.cjs");const A=require("../helpers/useId.cjs"),f=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},c=f(x),e=f(D),F=f(G),J=f(H),K=J.default.div`
2
2
  display: flex;
3
3
  align-items: center;
4
4
  svg {
@@ -9,4 +9,4 @@
9
9
  svg path {
10
10
  fill: ${({theme:t})=>t.colors.neutral500};
11
11
  }
12
- `,y=K=>{var b=K,{disabled:t,error:s,hint:l,id:r,onClear:S,onChange:_,value:p,clearLabel:j,label:M,selectButtonTitle:k,step:C,size:$}=b,I=q(b,["disabled","error","hint","id","onClear","onChange","value","clearLabel","label","selectButtonTitle","step","size"]);const P=W.useId("timepicker",r),z=24,a=[];let n=0;for(let u=0;u<z;u++)for(n=0;n<60;)a.push(`${u<10?`0${u}`:u}:${n<10?`0${n}`:n}`),n+=C;const E=()=>{const u=p.split(":")[0],h=p.split(":")[1],R=a.reduce((o,m)=>{const i=m.split(":")[0];return Math.abs(i-u)<Math.abs(o-u)?i:o},a[0].split(":")[0]),L=a.reduce((o,m)=>{const i=m.split(":")[1];return Math.abs(i-h)<Math.abs(o-h)?i:o},a[0].split(":")[1]);return`${R}:${L}`};return c.default.createElement(N.Select,T({id:P,label:M,placeholder:"--:--",hint:l,onClear:S,clearLabel:j,error:s,value:p?E():null,size:$,onChange:_,disabled:t,selectButtonTitle:k,startIcon:c.default.createElement(J,null,c.default.createElement(A.default,null))},I),a.map(u=>c.default.createElement(V.Option,{value:u,key:u},u)))};y.defaultProps={disabled:!1,error:void 0,hint:void 0,id:void 0,label:void 0,onClear:void 0,size:"M",selectButtonTitle:void 0,step:15,value:void 0};y.propTypes={clearLabel:e.default.string.isRequired,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,onChange:e.default.func.isRequired,onClear:e.default.func,selectButtonTitle:e.default.string,size:e.default.oneOf(Object.keys(H.sizes.input)),step:e.default.number,value:e.default.oneOfType([e.default.arrayOf(e.default.oneOfType([e.default.string,e.default.number])),e.default.string,e.default.number])};exports.TimePicker=y;
12
+ `,b=Q=>{var y=Q,{disabled:t,error:s,hint:l,id:r,onClear:S,onChange:_,value:p,clearLabel:j,label:M,required:k,selectButtonTitle:C,step:$,size:I}=y,P=T(y,["disabled","error","hint","id","onClear","onChange","value","clearLabel","label","required","selectButtonTitle","step","size"]);const z=A.useId("timepicker",r),E=24,a=[];let n=0;for(let u=0;u<E;u++)for(n=0;n<60;)a.push(`${u<10?`0${u}`:u}:${n<10?`0${n}`:n}`),n+=$;const R=()=>{const u=p.split(":")[0],h=p.split(":")[1],L=a.reduce((o,m)=>{const i=m.split(":")[0];return Math.abs(i-u)<Math.abs(o-u)?i:o},a[0].split(":")[0]),w=a.reduce((o,m)=>{const i=m.split(":")[1];return Math.abs(i-h)<Math.abs(o-h)?i:o},a[0].split(":")[1]);return`${L}:${w}`};return c.default.createElement(V.Select,O({id:z,label:M,placeholder:"--:--",hint:l,onClear:S,clearLabel:j,error:s,value:p?R():null,size:I,onChange:_,disabled:t,required:k,selectButtonTitle:C,startIcon:c.default.createElement(K,null,c.default.createElement(F.default,null))},P),a.map(u=>c.default.createElement(W.Option,{value:u,key:u},u)))};b.defaultProps={disabled:!1,error:void 0,hint:void 0,id:void 0,label:void 0,onClear:void 0,required:!1,size:"M",selectButtonTitle:void 0,step:15,value:void 0};b.propTypes={clearLabel:e.default.string.isRequired,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,onChange:e.default.func.isRequired,onClear:e.default.func,required:e.default.bool,selectButtonTitle:e.default.string,size:e.default.oneOf(Object.keys(N.sizes.input)),step:e.default.number,value:e.default.oneOfType([e.default.arrayOf(e.default.oneOfType([e.default.string,e.default.number])),e.default.string,e.default.number])};exports.TimePicker=b;