@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.
- package/LICENSE +4 -17
- package/dist/CarouselInput/CarouselInput.cjs +1 -1
- package/dist/CarouselInput/CarouselInput.js +2 -2
- package/dist/Combobox/Combobox.cjs +1 -1
- package/dist/Combobox/Combobox.js +80 -80
- package/dist/DateTimePicker/DateTimePicker.cjs +1 -1
- package/dist/DateTimePicker/DateTimePicker.js +58 -56
- package/dist/Field/Field.cjs +1 -1
- package/dist/Field/Field.js +22 -20
- package/dist/Field/FieldInput.cjs +4 -4
- package/dist/Field/FieldInput.js +31 -30
- package/dist/Field/FieldLabel.cjs +3 -3
- package/dist/Field/FieldLabel.js +43 -42
- package/dist/Link/Link.cjs +5 -5
- package/dist/Link/Link.js +19 -18
- package/dist/NumberInput/NumberInput.cjs +1 -1
- package/dist/NumberInput/NumberInput.js +2 -2
- package/dist/Select/Select.cjs +2 -2
- package/dist/Select/Select.js +32 -33
- package/dist/SimpleMenu/SimpleMenu.cjs +23 -7
- package/dist/SimpleMenu/SimpleMenu.js +121 -97
- package/dist/TextInput/TextInput.cjs +1 -1
- package/dist/TextInput/TextInput.js +2 -2
- package/dist/Textarea/Textarea.cjs +1 -1
- package/dist/Textarea/Textarea.js +2 -2
- package/dist/Textarea/TextareaInput.cjs +4 -4
- package/dist/Textarea/TextareaInput.js +23 -22
- package/dist/TimePicker/TimePicker.cjs +2 -2
- package/dist/TimePicker/TimePicker.js +44 -39
- package/dist/ToggleCheckbox/ToggleCheckbox.cjs +6 -6
- package/dist/ToggleCheckbox/ToggleCheckbox.js +44 -37
- package/dist/ToggleInput/ToggleInput.cjs +3 -3
- package/dist/ToggleInput/ToggleInput.js +25 -26
- package/dist/v2/SimpleMenu/SimpleMenu.cjs +21 -7
- package/dist/v2/SimpleMenu/SimpleMenu.js +126 -105
- package/package.json +4 -4
package/dist/Link/Link.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
var
|
|
1
|
+
var k = Object.defineProperty;
|
|
2
2
|
var i = Object.getOwnPropertySymbols;
|
|
3
3
|
var f = Object.prototype.hasOwnProperty, u = Object.prototype.propertyIsEnumerable;
|
|
4
|
-
var p = (e, r, o) => r in e ?
|
|
4
|
+
var p = (e, r, o) => r in e ? k(e, r, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[r] = o, v = (e, r) => {
|
|
5
5
|
for (var o in r || (r = {}))
|
|
6
6
|
f.call(r, o) && p(e, o, r[o]);
|
|
7
7
|
if (i)
|
|
@@ -18,15 +18,15 @@ var y = (e, r) => {
|
|
|
18
18
|
r.indexOf(t) < 0 && u.call(e, t) && (o[t] = e[t]);
|
|
19
19
|
return o;
|
|
20
20
|
};
|
|
21
|
-
import n from "react";
|
|
21
|
+
import n, { forwardRef as x } from "react";
|
|
22
22
|
import a from "prop-types";
|
|
23
23
|
import g from "styled-components";
|
|
24
|
-
import
|
|
25
|
-
import { NavLink as
|
|
24
|
+
import R from "@strapi/icons/ExternalLink";
|
|
25
|
+
import { NavLink as w } from "react-router-dom";
|
|
26
26
|
import { Typography as h } from "../Typography/Typography.js";
|
|
27
27
|
import { Box as I } from "../Box/Box.js";
|
|
28
|
-
import { buttonFocusStyle as
|
|
29
|
-
const
|
|
28
|
+
import { buttonFocusStyle as T } from "../themes/utils.js";
|
|
29
|
+
const _ = g.a`
|
|
30
30
|
display: inline-flex;
|
|
31
31
|
align-items: center;
|
|
32
32
|
text-decoration: none;
|
|
@@ -55,19 +55,20 @@ const T = g.a`
|
|
|
55
55
|
color: ${({ theme: e }) => e.colors.primary700};
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
${
|
|
58
|
+
${T};
|
|
59
59
|
`, l = g(I)`
|
|
60
60
|
display: flex;
|
|
61
|
-
`, d = (
|
|
62
|
-
var c =
|
|
63
|
-
const
|
|
64
|
-
return /* @__PURE__ */ n.createElement(
|
|
65
|
-
as: r && !t ?
|
|
66
|
-
target:
|
|
67
|
-
rel:
|
|
61
|
+
`, d = x((C, L) => {
|
|
62
|
+
var c = C, { href: e, to: r, children: o, disabled: t, startIcon: s, endIcon: m } = c, E = y(c, ["href", "to", "children", "disabled", "startIcon", "endIcon"]);
|
|
63
|
+
const $ = e ? "_blank" : void 0, b = e ? "noreferrer noopener" : void 0;
|
|
64
|
+
return /* @__PURE__ */ n.createElement(_, v({
|
|
65
|
+
as: r && !t ? w : "a",
|
|
66
|
+
target: $,
|
|
67
|
+
rel: b,
|
|
68
68
|
to: t ? void 0 : r,
|
|
69
69
|
href: t ? "#" : e,
|
|
70
|
-
disabled: t
|
|
70
|
+
disabled: t,
|
|
71
|
+
ref: L
|
|
71
72
|
}, E), s && /* @__PURE__ */ n.createElement(l, {
|
|
72
73
|
as: "span",
|
|
73
74
|
"aria-hidden": !0,
|
|
@@ -80,8 +81,8 @@ const T = g.a`
|
|
|
80
81
|
as: "span",
|
|
81
82
|
"aria-hidden": !0,
|
|
82
83
|
paddingLeft: 2
|
|
83
|
-
}, /* @__PURE__ */ n.createElement(
|
|
84
|
-
};
|
|
84
|
+
}, /* @__PURE__ */ n.createElement(R, null)));
|
|
85
|
+
});
|
|
85
86
|
d.displayName = "Link";
|
|
86
87
|
d.defaultProps = {
|
|
87
88
|
endIcon: void 0,
|
|
@@ -9,4 +9,4 @@
|
|
|
9
9
|
height: ${4/16}rem;
|
|
10
10
|
transform: ${({reverse:e})=>e?"rotateX(180deg)":void 0};
|
|
11
11
|
}
|
|
12
|
-
`,se="",b=l.default.forwardRef((ie,T)=>{var q=ie,{size:e,startAction:n,name:a,hint:u,error:V,label:F,labelAction:x,locale:L,id:P,onValueChange:R,value:K,step:i,required:z,disabled:f}=q,O=k(q,["size","startAction","name","hint","error","label","labelAction","locale","id","onValueChange","value","step","required","disabled"]);const $=ne.useId("numberinput",P),h=L||le.getDefaultLocale(),c=g.useRef(new D.NumberParser(h,{style:"decimal"})),y=g.useRef(new D.NumberFormatter(h,{maximumFractionDigits:20})),[s,B]=oe.useControllableState({prop(t){const o=String(K);return isNaN(o)||o!==t&&t!==""?t:o},defaultProp:se,onChange(t){const o=c.current.parse(t);R(isNaN(o)?void 0:o)}}),d=t=>{B(String(t))},H=({target:{value:t}})=>{c.current.isValidPartialNumber(t)&&d(t)},v=()=>{if(!s){d(i);return}const t=c.current.parse(s),o=isNaN(t)?i:t+i;d(y.current.format(o))},I=()=>{if(!s){d(-i);return}const t=c.current.parse(s),o=isNaN(t)?-i:t-i;d(y.current.format(o))},M=t=>{if(!f)switch(t.key){case A.KeyboardKeys.DOWN:{t.preventDefault(),I();break}case A.KeyboardKeys.UP:{t.preventDefault(),v();break}}},U=()=>{if(s){const t=c.current.parse(s),o=isNaN(t)?"":y.current.format(t);d(o)}};return l.default.createElement(J.Field,{name:a,hint:u,error:V,id
|
|
12
|
+
`,se="",b=l.default.forwardRef((ie,T)=>{var q=ie,{size:e,startAction:n,name:a,hint:u,error:V,label:F,labelAction:x,locale:L,id:P,onValueChange:R,value:K,step:i,required:z,disabled:f}=q,O=k(q,["size","startAction","name","hint","error","label","labelAction","locale","id","onValueChange","value","step","required","disabled"]);const $=ne.useId("numberinput",P),h=L||le.getDefaultLocale(),c=g.useRef(new D.NumberParser(h,{style:"decimal"})),y=g.useRef(new D.NumberFormatter(h,{maximumFractionDigits:20})),[s,B]=oe.useControllableState({prop(t){const o=String(K);return isNaN(o)||o!==t&&t!==""?t:o},defaultProp:se,onChange(t){const o=c.current.parse(t);R(isNaN(o)?void 0:o)}}),d=t=>{B(String(t))},H=({target:{value:t}})=>{c.current.isValidPartialNumber(t)&&d(t)},v=()=>{if(!s){d(i);return}const t=c.current.parse(s),o=isNaN(t)?i:t+i;d(y.current.format(o))},I=()=>{if(!s){d(-i);return}const t=c.current.parse(s),o=isNaN(t)?-i:t-i;d(y.current.format(o))},M=t=>{if(!f)switch(t.key){case A.KeyboardKeys.DOWN:{t.preventDefault(),I();break}case A.KeyboardKeys.UP:{t.preventDefault(),v();break}}},U=()=>{if(s){const t=c.current.parse(s),o=isNaN(t)?"":y.current.format(t);d(o)}};return l.default.createElement(J.Field,{name:a,hint:u,error:V,id:$,required:z},l.default.createElement(re.Stack,{spacing:1},F&&l.default.createElement(Q.FieldLabel,{action:x},F),l.default.createElement(Z.FieldInput,E({ref:T,startAction:n,disabled:f,type:"text",inputmode:"decimal",onChange:H,onKeyDown:M,onBlur:U,value:s,size:e,endAction:l.default.createElement(l.default.Fragment,null,l.default.createElement(_,{disabled:f,"aria-hidden":!0,reverse:!0,onClick:v,tabIndex:-1,type:"button","data-testid":"ArrowUp"},l.default.createElement(C.Icon,{as:S.default,color:"neutral500"})),l.default.createElement(_,{disabled:f,"aria-hidden":!0,onClick:I,tabIndex:-1,type:"button","data-testid":"ArrowDown"},l.default.createElement(C.Icon,{as:S.default,color:"neutral500"})))},O)),l.default.createElement(ee.FieldHint,null),l.default.createElement(te.FieldError,null)))});b.displayName="NumberInput";b.defaultProps={"aria-label":void 0,disabled:!1,error:void 0,hint:void 0,id:void 0,label:void 0,labelAction:void 0,locale:void 0,required:!1,size:"M",startAction:void 0,step:1,value:void 0};b.propTypes={"aria-label":r.default.string,disabled:r.default.bool,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,locale:r.default.string,name:r.default.string.isRequired,onValueChange:r.default.func.isRequired,required:r.default.bool,size:r.default.oneOf(Object.keys(ae.sizes.input)),startAction:r.default.element,step:r.default.number,value:r.default.number};exports.NumberInput=b;
|
|
@@ -131,11 +131,11 @@ const C = M.button`
|
|
|
131
131
|
name: o,
|
|
132
132
|
hint: l,
|
|
133
133
|
error: P,
|
|
134
|
-
id: z
|
|
134
|
+
id: z,
|
|
135
|
+
required: K
|
|
135
136
|
}, /* @__PURE__ */ a.createElement(ee, {
|
|
136
137
|
spacing: 1
|
|
137
138
|
}, g && /* @__PURE__ */ a.createElement(G, {
|
|
138
|
-
required: K,
|
|
139
139
|
action: R
|
|
140
140
|
}, g), /* @__PURE__ */ a.createElement(J, A({
|
|
141
141
|
ref: T,
|
package/dist/Select/Select.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";var ie=Object.defineProperty;var j=Object.getOwnPropertySymbols;var J=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable;var N=(l,a,o)=>a in l?ie(l,a,{enumerable:!0,configurable:!0,writable:!0,value:o}):l[a]=o,Q=(l,a)=>{for(var o in a||(a={}))J.call(a,o)&&N(l,o,a[o]);if(j)for(var o of j(a))K.call(a,o)&&N(l,o,a[o]);return l};var U=(l,a)=>{var o={};for(var s in l)J.call(l,s)&&a.indexOf(s)<0&&(o[s]=l[s]);if(l!=null&&j)for(var s of j(l))a.indexOf(s)<0&&K.call(l,s)&&(o[s]=l[s]);return o};Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const y=require("react"),ce=require("prop-types"),de=require("@strapi/icons/CarretDown"),ue=require("@strapi/icons/Cross"),fe=require("styled-components"),pe=require("../themes/sizes.cjs"),ye=require("./SelectButton.cjs"),he=require("../Field/Field.cjs"),me=require("../Field/FieldLabel.cjs");require("../Field/FieldInput.cjs");const Ee=require("../Field/FieldHint.cjs"),ge=require("../Field/FieldError.cjs");require("../Field/FieldContext.cjs");require("../Field/FieldAction.cjs");const be=require("../Popover/Popover.cjs"),qe=require("../Stack/Stack.cjs"),V=require("../Typography/Typography.cjs"),
|
|
1
|
+
"use strict";var ie=Object.defineProperty;var j=Object.getOwnPropertySymbols;var J=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable;var N=(l,a,o)=>a in l?ie(l,a,{enumerable:!0,configurable:!0,writable:!0,value:o}):l[a]=o,Q=(l,a)=>{for(var o in a||(a={}))J.call(a,o)&&N(l,o,a[o]);if(j)for(var o of j(a))K.call(a,o)&&N(l,o,a[o]);return l};var U=(l,a)=>{var o={};for(var s in l)J.call(l,s)&&a.indexOf(s)<0&&(o[s]=l[s]);if(l!=null&&j)for(var s of j(l))a.indexOf(s)<0&&K.call(l,s)&&(o[s]=l[s]);return o};Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const y=require("react"),ce=require("prop-types"),de=require("@strapi/icons/CarretDown"),ue=require("@strapi/icons/Cross"),fe=require("styled-components"),pe=require("../themes/sizes.cjs"),ye=require("./SelectButton.cjs"),he=require("../Field/Field.cjs"),me=require("../Field/FieldLabel.cjs");require("../Field/FieldInput.cjs");const Ee=require("../Field/FieldHint.cjs"),ge=require("../Field/FieldError.cjs");require("../Field/FieldContext.cjs");require("../Field/FieldAction.cjs");const be=require("../Popover/Popover.cjs"),qe=require("../Stack/Stack.cjs"),V=require("../Typography/Typography.cjs"),_=require("../Flex/Flex.cjs"),X=require("../Box/Box.cjs"),Fe=require("../helpers/useId.cjs"),Se=require("./SelectList.cjs"),O=require("./components.cjs"),je=require("./hooks/useButtonRef.cjs"),Y=require("../VisuallyHidden/VisuallyHidden.cjs"),Be=require("./constants.cjs"),Z=require("../helpers/escapeSelector.cjs"),Te=require("./SelectTags.cjs"),m=l=>l&&typeof l=="object"&&"default"in l?l:{default:l},r=m(y),e=m(ce),xe=m(de),ve=m(ue),Ce=m(fe),Ie=Ce.default(_.Flex)`
|
|
2
2
|
width: 100%;
|
|
3
|
-
`,
|
|
3
|
+
`,R=Oe=>{var w=Oe,{label:l,labelAction:a,id:o,children:s,customizeContent:E,placeholder:B,onChange:T,value:n,hint:x,error:g,disabled:u,clearLabel:L,onClear:D,onReachEnd:ee,multi:c,required:te,selectButtonTitle:le,size:re,startIcon:$,withTags:b}=w,ne=U(w,["label","labelAction","id","children","customizeContent","placeholder","onChange","value","hint","error","disabled","clearLabel","onClear","onReachEnd","multi","required","selectButtonTitle","size","startIcon","withTags"]);const i=Fe.useId("select",o),[q,F]=y.useState(void 0),k=je.useButtonRef(q),H=y.useRef(null),M=`${i}-label`,S=`${i}-content`,P=typeof g=="string";let v;if(P?v=`${i}-error`:x&&(v=`${i}-hint`),b&&!c)throw new Error('The "withTags" props can only be used when the "multi" prop is present');const oe=()=>{F(void 0)},ae=()=>{u||(D(),k.current.focus())},A=t=>{t.preventDefault(),!u&&(t.nativeEvent.which===3||t.nativeEvent.button===2||F(Be.DownState.Mouse))},C=(t,d=!0)=>{c?T(n.includes(t)?n.filter(f=>f!==t):[...n,t]):(T(t),d&&F(void 0))},z=t=>{T(n.includes(t[0])?n.filter((d,f,h)=>h.indexOf(d)<0,t):[...n,...t])};let I,G=[];const W=(t,d)=>{const f=`${i}-option-${t.props.value}`,h=c?n.includes(t.props.value):t.props.value===n;return h&&(b?G.push({label:t.props.children,value:t.props.value}):I=t.props.children),y.cloneElement(t,{id:Z.escapeSelector(f),onClick:()=>C(t.props.value),selected:h,multi:c,isChild:d})},se=y.Children.toArray(s).map(t=>{if(t.type.displayName==="OptGroup"){const d=`${i}-option-${t.props.label}`,f=t.props.children.every(p=>n.includes(p.props.value)),h=!f&&t.props.children.some(p=>n.includes(p.props.value));return y.cloneElement(t,{id:Z.escapeSelector(d),onClick:()=>z(t.props.children.map(p=>p.props.value)),selected:f,indeterminate:h,multi:c,children:y.Children.toArray(t.props.children).map(p=>W(p,!0)),value:t.props.label})}return W(t)});return r.default.createElement(he.Field,{hint:x,error:g,id:i,required:te},r.default.createElement(qe.Stack,{spacing:l||x||P?1:0},l&&r.default.createElement(me.FieldLabel,{as:"span",action:a},l),r.default.createElement(O.SelectButtonWrapper,{size:re,hasError:Boolean(g),disabled:u,ref:H},r.default.createElement(ye.SelectButton,Q({ref:k,labelledBy:`${M} ${S}`,"aria-describedby":v,expanded:Boolean(q),onTrigger:F,id:i,hasError:Boolean(g),disabled:u,onMouseDown:A},ne)),r.default.createElement(Ie,{justifyContent:"space-between"},r.default.createElement(_.Flex,null,$&&r.default.createElement(X.Box,{paddingLeft:3,"aria-hidden":!0},$),b&&r.default.createElement(Te.SelectTags,{tags:G,onRemoveTag:C,disabled:u}),r.default.createElement(X.Box,{paddingLeft:4,paddingRight:4},b?r.default.createElement(r.default.Fragment,null,!n||n.length===0?r.default.createElement(V.Typography,{ellipsis:!0,id:S,textColor:"neutral600"},B):null,r.default.createElement(Y.VisuallyHidden,{as:"span",id:S},E?E(n):I||B,n.join(", "))):r.default.createElement(V.Typography,{ellipsis:!0,id:S,textColor:n?"neutral800":"neutral600"},E?E(n):I||B,c&&r.default.createElement(Y.VisuallyHidden,{as:"span"},n.join(", "))))),r.default.createElement(_.Flex,null,(c&&n&&n.length||!c&&n)&&D&&r.default.createElement(O.IconBox,{as:"button",type:"button",onClick:ae,"aria-label":L,"aria-disabled":u,title:L},r.default.createElement(ve.default,null)),r.default.createElement(O.CaretBox,{paddingLeft:3,"aria-hidden":!0,as:"button",type:"button",onMouseDown:A,tabIndex:-1,disabled:u,title:le},r.default.createElement(xe.default,null))))),r.default.createElement(Ee.FieldHint,null),r.default.createElement(ge.FieldError,null)),q&&r.default.createElement(be.Popover,{source:H,spacing:4,fullWidth:!0,intersectionId:`select-list-intersection-${i}`,onReachEnd:ee},r.default.createElement(Se.SelectList,{selectId:i,labelledBy:l?M:void 0,onEscape:oe,expanded:q,onSelectItem:(t,d)=>d?z(t):C(t,!1),multi:c},se)))};R.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};R.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(pe.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=R;
|
package/dist/Select/Select.js
CHANGED
|
@@ -35,7 +35,7 @@ import "../Field/FieldAction.js";
|
|
|
35
35
|
import { Popover as ge } from "../Popover/Popover.js";
|
|
36
36
|
import { Stack as ve } from "../Stack/Stack.js";
|
|
37
37
|
import { Typography as Q } from "../Typography/Typography.js";
|
|
38
|
-
import { Flex as
|
|
38
|
+
import { Flex as $ } from "../Flex/Flex.js";
|
|
39
39
|
import { Box as U } from "../Box/Box.js";
|
|
40
40
|
import { useId as Be } from "../helpers/useId.js";
|
|
41
41
|
import { SelectList as Oe } from "./SelectList.js";
|
|
@@ -45,10 +45,10 @@ import { VisuallyHidden as X } from "../VisuallyHidden/VisuallyHidden.js";
|
|
|
45
45
|
import { DownState as xe } from "./constants.js";
|
|
46
46
|
import { escapeSelector as Y } from "../helpers/escapeSelector.js";
|
|
47
47
|
import { SelectTags as $e } from "./SelectTags.js";
|
|
48
|
-
const Re = de(
|
|
48
|
+
const Re = de($)`
|
|
49
49
|
width: 100%;
|
|
50
50
|
`, Z = (we) => {
|
|
51
|
-
var
|
|
51
|
+
var L = we, {
|
|
52
52
|
label: o,
|
|
53
53
|
labelAction: l,
|
|
54
54
|
id: i,
|
|
@@ -60,16 +60,16 @@ const Re = de(R)`
|
|
|
60
60
|
hint: C,
|
|
61
61
|
error: E,
|
|
62
62
|
disabled: m,
|
|
63
|
-
clearLabel:
|
|
64
|
-
onClear:
|
|
63
|
+
clearLabel: R,
|
|
64
|
+
onClear: w,
|
|
65
65
|
onReachEnd: V,
|
|
66
66
|
multi: p,
|
|
67
67
|
required: ee,
|
|
68
68
|
selectButtonTitle: te,
|
|
69
69
|
size: re,
|
|
70
|
-
startIcon:
|
|
70
|
+
startIcon: D,
|
|
71
71
|
withTags: b
|
|
72
|
-
} =
|
|
72
|
+
} = L, oe = N(L, [
|
|
73
73
|
"label",
|
|
74
74
|
"labelAction",
|
|
75
75
|
"id",
|
|
@@ -91,29 +91,29 @@ const Re = de(R)`
|
|
|
91
91
|
"startIcon",
|
|
92
92
|
"withTags"
|
|
93
93
|
]);
|
|
94
|
-
const a = Be("select", i), [y, g] = ae(void 0),
|
|
95
|
-
let
|
|
96
|
-
if (j ?
|
|
94
|
+
const a = Be("select", i), [y, g] = ae(void 0), F = Se(y), M = pe(null), k = `${a}-label`, v = `${a}-content`, j = typeof E == "string";
|
|
95
|
+
let I;
|
|
96
|
+
if (j ? I = `${a}-error` : C && (I = `${a}-hint`), b && !p)
|
|
97
97
|
throw new Error('The "withTags" props can only be used when the "multi" prop is present');
|
|
98
98
|
const ne = () => {
|
|
99
99
|
g(void 0);
|
|
100
100
|
}, ie = () => {
|
|
101
|
-
m || (
|
|
101
|
+
m || (w(), F.current.focus());
|
|
102
102
|
}, A = (t) => {
|
|
103
103
|
t.preventDefault(), !m && (t.nativeEvent.which === 3 || t.nativeEvent.button === 2 || g(xe.Mouse));
|
|
104
|
-
},
|
|
104
|
+
}, S = (t, c = !0) => {
|
|
105
105
|
p ? T(n.includes(t) ? n.filter((d) => d !== t) : [...n, t]) : (T(t), c && g(void 0));
|
|
106
106
|
}, P = (t) => {
|
|
107
107
|
T(
|
|
108
108
|
n.includes(t[0]) ? n.filter((c, d, u) => u.indexOf(c) < 0, t) : [...n, ...t]
|
|
109
109
|
);
|
|
110
110
|
};
|
|
111
|
-
let
|
|
111
|
+
let x, _ = [];
|
|
112
112
|
const q = (t, c) => {
|
|
113
113
|
const d = `${a}-option-${t.props.value}`, u = p ? n.includes(t.props.value) : t.props.value === n;
|
|
114
|
-
return u && (b ? _.push({ label: t.props.children, value: t.props.value }) :
|
|
114
|
+
return u && (b ? _.push({ label: t.props.children, value: t.props.value }) : x = t.props.children), K(t, {
|
|
115
115
|
id: Y(d),
|
|
116
|
-
onClick: () =>
|
|
116
|
+
onClick: () => S(t.props.value),
|
|
117
117
|
selected: u,
|
|
118
118
|
multi: p,
|
|
119
119
|
isChild: c
|
|
@@ -136,23 +136,22 @@ const Re = de(R)`
|
|
|
136
136
|
return /* @__PURE__ */ r.createElement(he, {
|
|
137
137
|
hint: C,
|
|
138
138
|
error: E,
|
|
139
|
-
id: a
|
|
139
|
+
id: a,
|
|
140
|
+
required: ee
|
|
140
141
|
}, /* @__PURE__ */ r.createElement(ve, {
|
|
141
142
|
spacing: o || C || j ? 1 : 0
|
|
142
143
|
}, o && /* @__PURE__ */ r.createElement(Ee, {
|
|
143
|
-
required: ee,
|
|
144
144
|
as: "span",
|
|
145
|
-
id: I,
|
|
146
145
|
action: l
|
|
147
146
|
}, o), /* @__PURE__ */ r.createElement(Te, {
|
|
148
147
|
size: re,
|
|
149
148
|
hasError: Boolean(E),
|
|
150
149
|
disabled: m,
|
|
151
|
-
ref:
|
|
150
|
+
ref: M
|
|
152
151
|
}, /* @__PURE__ */ r.createElement(ue, W({
|
|
153
|
-
ref:
|
|
154
|
-
labelledBy: `${
|
|
155
|
-
"aria-describedby":
|
|
152
|
+
ref: F,
|
|
153
|
+
labelledBy: `${k} ${v}`,
|
|
154
|
+
"aria-describedby": I,
|
|
156
155
|
expanded: Boolean(y),
|
|
157
156
|
onTrigger: g,
|
|
158
157
|
id: a,
|
|
@@ -161,12 +160,12 @@ const Re = de(R)`
|
|
|
161
160
|
onMouseDown: A
|
|
162
161
|
}, oe)), /* @__PURE__ */ r.createElement(Re, {
|
|
163
162
|
justifyContent: "space-between"
|
|
164
|
-
}, /* @__PURE__ */ r.createElement(
|
|
163
|
+
}, /* @__PURE__ */ r.createElement($, null, D && /* @__PURE__ */ r.createElement(U, {
|
|
165
164
|
paddingLeft: 3,
|
|
166
165
|
"aria-hidden": !0
|
|
167
|
-
},
|
|
166
|
+
}, D), b && /* @__PURE__ */ r.createElement($e, {
|
|
168
167
|
tags: _,
|
|
169
|
-
onRemoveTag:
|
|
168
|
+
onRemoveTag: S,
|
|
170
169
|
disabled: m
|
|
171
170
|
}), /* @__PURE__ */ r.createElement(U, {
|
|
172
171
|
paddingLeft: 4,
|
|
@@ -178,19 +177,19 @@ const Re = de(R)`
|
|
|
178
177
|
}, O) : null, /* @__PURE__ */ r.createElement(X, {
|
|
179
178
|
as: "span",
|
|
180
179
|
id: v
|
|
181
|
-
}, h ? h(n) :
|
|
180
|
+
}, h ? h(n) : x || O, n.join(", "))) : /* @__PURE__ */ r.createElement(Q, {
|
|
182
181
|
ellipsis: !0,
|
|
183
182
|
id: v,
|
|
184
183
|
textColor: n ? "neutral800" : "neutral600"
|
|
185
|
-
}, h ? h(n) :
|
|
184
|
+
}, h ? h(n) : x || O, p && /* @__PURE__ */ r.createElement(X, {
|
|
186
185
|
as: "span"
|
|
187
|
-
}, n.join(", "))))), /* @__PURE__ */ r.createElement(
|
|
186
|
+
}, n.join(", "))))), /* @__PURE__ */ r.createElement($, null, (p && n && n.length || !p && n) && w && /* @__PURE__ */ r.createElement(Ce, {
|
|
188
187
|
as: "button",
|
|
189
188
|
type: "button",
|
|
190
189
|
onClick: ie,
|
|
191
|
-
"aria-label":
|
|
190
|
+
"aria-label": R,
|
|
192
191
|
"aria-disabled": m,
|
|
193
|
-
title:
|
|
192
|
+
title: R
|
|
194
193
|
}, /* @__PURE__ */ r.createElement(me, null)), /* @__PURE__ */ r.createElement(Ie, {
|
|
195
194
|
paddingLeft: 3,
|
|
196
195
|
"aria-hidden": !0,
|
|
@@ -201,17 +200,17 @@ const Re = de(R)`
|
|
|
201
200
|
disabled: m,
|
|
202
201
|
title: te
|
|
203
202
|
}, /* @__PURE__ */ r.createElement(ce, null))))), /* @__PURE__ */ r.createElement(be, null), /* @__PURE__ */ r.createElement(ye, null)), y && /* @__PURE__ */ r.createElement(ge, {
|
|
204
|
-
source:
|
|
203
|
+
source: M,
|
|
205
204
|
spacing: 4,
|
|
206
205
|
fullWidth: !0,
|
|
207
206
|
intersectionId: `select-list-intersection-${a}`,
|
|
208
207
|
onReachEnd: V
|
|
209
208
|
}, /* @__PURE__ */ r.createElement(Oe, {
|
|
210
209
|
selectId: a,
|
|
211
|
-
labelledBy: o ?
|
|
210
|
+
labelledBy: o ? k : void 0,
|
|
212
211
|
onEscape: ne,
|
|
213
212
|
expanded: y,
|
|
214
|
-
onSelectItem: (t, c) => c ? P(t) :
|
|
213
|
+
onSelectItem: (t, c) => c ? P(t) : S(t, !1),
|
|
215
214
|
multi: p
|
|
216
215
|
}, le)));
|
|
217
216
|
};
|
|
@@ -1,19 +1,35 @@
|
|
|
1
|
-
"use strict";var Z=Object.defineProperty;var
|
|
1
|
+
"use strict";var Z=Object.defineProperty;var C=Object.getOwnPropertySymbols;var F=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable;var $=(e,r,n)=>r in e?Z(e,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[r]=n,i=(e,r)=>{for(var n in r||(r={}))F.call(r,n)&&$(e,n,r[n]);if(C)for(var n of C(r))A.call(r,n)&&$(e,n,r[n]);return e};var D=(e,r)=>{var n={};for(var s in e)F.call(e,s)&&r.indexOf(s)<0&&(n[s]=e[s]);if(e!=null&&C)for(var s of C(e))r.indexOf(s)<0&&A.call(e,s)&&(n[s]=e[s]);return n};Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("react"),ee=require("prop-types"),te=require("styled-components"),ne=require("react-router-dom"),N=require("@radix-ui/react-use-callback-ref"),oe=require("@strapi/icons/CarretDown"),I=require("../Typography/Typography.cjs"),re=require("../Link/Link.cjs"),K=require("../Box/Box.cjs"),ae=require("../Flex/Flex.cjs"),V=require("../Button/Button.cjs"),W=require("../Popover/Popover.cjs"),O=require("./utils.cjs"),se=require("../helpers/useId.cjs"),d=require("../helpers/keyboardKeys.cjs"),R=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},a=R(l),t=R(ee),v=R(te),ue=R(oe),le=v.default.button`
|
|
2
2
|
border: none;
|
|
3
3
|
padding: 0;
|
|
4
4
|
background: transparent;
|
|
5
5
|
cursor: pointer;
|
|
6
|
-
${
|
|
7
|
-
`,
|
|
6
|
+
${O.getOptionStyle}
|
|
7
|
+
`,ce=v.default(ne.NavLink)`
|
|
8
8
|
text-decoration: none;
|
|
9
|
-
${
|
|
10
|
-
`,
|
|
9
|
+
${O.getOptionStyle}
|
|
10
|
+
`,de=v.default(re.Link)`
|
|
11
|
+
/* Removing Link hover effect */
|
|
12
|
+
&:hover {
|
|
13
|
+
color: currentColor;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
&:focus-visible {
|
|
17
|
+
/* Removing Link focus-visible after properties and reset to global outline */
|
|
18
|
+
outline: 2px solid ${({theme:e})=>e.colors.primary600};
|
|
19
|
+
outline-offset: 2px;
|
|
20
|
+
&:after {
|
|
21
|
+
content: none;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
${O.getOptionStyle}
|
|
26
|
+
`,ie=v.default.span`
|
|
11
27
|
display: flex;
|
|
12
28
|
align-items: center;
|
|
13
29
|
svg {
|
|
14
30
|
height: 4px;
|
|
15
31
|
width: 6px;
|
|
16
32
|
}
|
|
17
|
-
`,
|
|
33
|
+
`,fe=v.default(V.Button)`
|
|
18
34
|
padding: ${({theme:e})=>`${e.spaces[1]} ${e.spaces[3]}`};
|
|
19
|
-
`,
|
|
35
|
+
`,S=w=>{var b=w,{children:e,onClick:r,to:n,isFocused:s,href:f}=b,P=D(b,["children","onClick","to","isFocused","href"]);const c=l.useRef();l.useEffect(()=>{s&&c.current&&c.current.focus()},[s]);const p=i({tabIndex:s?0:-1,ref:c,role:"menuitem"},P),M=y=>{(y.key===d.KeyboardKeys.SPACE||y.key===d.KeyboardKeys.ENTER)&&r()};return n&&!f?a.default.createElement(ce,i({to:n},p),a.default.createElement(K.Box,{padding:2},a.default.createElement(I.Typography,null,e))):f&&!n?a.default.createElement(de,i({isExternal:!0,href:f},p),a.default.createElement(K.Box,{padding:2},a.default.createElement(I.Typography,null,e))):a.default.createElement(le,i({onKeyDown:M,onMouseDown:r,type:"button"},p),a.default.createElement(K.Box,{padding:2},a.default.createElement(I.Typography,null,e)))};S.defaultProps={as:void 0,href:void 0,isFocused:!1,onClick(){},to:void 0};S.propTypes={as:t.default.elementType,children:t.default.node.isRequired,href:t.default.string,isFocused:t.default.bool,onClick:t.default.func,to:t.default.string};const k=M=>{var y=M,{label:e,children:r,id:n,as:s,onOpen:f=()=>{},onClose:P=()=>{},size:w,popoverPlacement:b,onReachEnd:c}=y,p=D(y,["label","children","id","as","onOpen","onClose","size","popoverPlacement","onReachEnd"]);const m=l.useRef(),T=se.useId("simplemenu",n),E=l.useRef(!1),[g,h]=l.useState(!1),[q,B]=l.useState(0),x=l.Children.toArray(r),z=w==="S"?fe:V.Button,U=s||z,j=!!c&&typeof c=="function";l.useEffect(()=>{if(["string","number"].includes(typeof e)){const o=x.findIndex(u=>u.props.children===e);o!==-1&&B(o)}},[e]);const _=N.useCallbackRef(f),L=N.useCallbackRef(P);l.useEffect(()=>{E!=null&&E.current?g?_():L():E.current=!0},[E,L,_,g]),l.useEffect(()=>{a.default.isValidElement(e)&&q===-1&&m.current.focus()},[e,q]);const H=o=>{g&&(o.key===d.KeyboardKeys.ESCAPE&&(o.stopPropagation(),h(!1),m.current.focus()),o.key===d.KeyboardKeys.DOWN&&B(u=>u===x.length-1?0:u+1),o.key===d.KeyboardKeys.UP&&B(u=>u===0?x.length-1:u-1))},G=o=>{(o.key===d.KeyboardKeys.ENTER||o.key===d.KeyboardKeys.SPACE)&&h(u=>!u)},J=o=>{o.preventDefault(),o.currentTarget.contains(o.relatedTarget)||h(!1)},Q=o=>{o.preventDefault(),h(u=>!u)},X=()=>{j&&c()},Y=x.map((o,u)=>a.default.createElement(ae.Flex,{as:"li",key:u,justifyContent:"center",role:"menuitem"},l.cloneElement(o,{onClick(){o.props.onClick(),h(!1),m.current.focus()},isFocused:q===u})));return a.default.createElement("div",{onKeyDown:H},a.default.createElement(U,i({label:a.default.isValidElement(e)?null:e,"aria-haspopup":!0,"aria-expanded":g,"aria-controls":T,onKeyDown:G,onMouseDown:Q,ref:m,type:"button",variant:"ghost",endIcon:a.default.createElement(ie,null,a.default.createElement(ue.default,{"aria-hidden":!0}))},p),e),g&&a.default.createElement(W.Popover,{onBlur:J,placement:b,source:m,onReachEnd:X,intersectionId:j?`popover-${T}`:void 0,spacing:4},a.default.createElement(K.Box,{role:"menu",as:"ul",padding:1,id:T},Y)))};k.defaultProps={as:void 0};k.displayName="SimpleMenu";k.defaultProps={id:void 0,onOpen:void 0,onClose:void 0,onReachEnd:void 0,popoverPlacement:"bottom-start",size:"M"};k.propTypes={as:t.default.any,children:t.default.oneOfType([t.default.arrayOf(t.default.node),t.default.node]).isRequired,id:t.default.string,label:t.default.oneOfType([t.default.string,t.default.number,t.default.element]).isRequired,onClose:t.default.func,onOpen:t.default.func,onReachEnd:t.default.func,popoverPlacement:t.default.oneOf(W.POPOVER_PLACEMENTS),size:t.default.oneOf(["S","M"])};exports.MenuItem=S;exports.SimpleMenu=k;
|