@kakadu/components 4.5.4 → 4.6.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.
- package/build/components/collapsible.js +1 -1
- package/build/components/collapsible.mjs +1 -1
- package/build/components/combobox.js +1 -1
- package/build/components/combobox.mjs +1 -1
- package/build/components/flex.js +1 -1
- package/build/components/flex.mjs +24 -24
- package/build/components/modal.js +1 -1
- package/build/components/modal.mjs +45 -45
- package/build/components/popover-menu.d.ts +1 -0
- package/build/components/popover-menu.js +1 -1
- package/build/components/popover-menu.mjs +130 -124
- package/build/components/popover.js +1 -1
- package/build/components/popover.mjs +41 -41
- package/build/components.css +1 -1
- package/build/hooks/use-fetch.js +1 -1
- package/build/hooks/use-fetch.mjs +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("../jsx-runtime-BB_1_6y_.js"),u=require("react"),j=require("@kuma-ui/core"),k=require("./atom.js");function q({as:m,isCollapsed:e=!0,transitionDuration:n=.37,children:r,className:f,...l}){const c=u.useRef(null),[d,a]=u.useState(),[s,o]=u.useState(!!r);return u.useEffect(()=>{r&&o(!0)},[r]),u.useEffect(()=>{if(e){if(a(0),s){let t;const x=setTimeout(()=>{t=requestAnimationFrame(()=>{o(!1)})},n*1e3);return()=>{clearTimeout(x),cancelAnimationFrame(t)}}}else if(s){const t=c.current;t&&a(t.scrollHeight??0)}else o(!0)},[e,n
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("../jsx-runtime-BB_1_6y_.js"),u=require("react"),j=require("@kuma-ui/core"),k=require("./atom.js");function q({as:m,isCollapsed:e=!0,transitionDuration:n=.37,children:r,className:f,...l}){const c=u.useRef(null),[d,a]=u.useState(),[s,o]=u.useState(!!r);return u.useEffect(()=>{r&&o(!0)},[r]),u.useEffect(()=>{if(e){if(a(0),s){let t;const x=setTimeout(()=>{t=requestAnimationFrame(()=>{o(!1)})},n*1e3);return()=>{clearTimeout(x),cancelAnimationFrame(t)}}}else if(s){const t=c.current;t&&a(t.scrollHeight??0)}else o(!0)},[e,s,n]),s?i.jsxRuntimeExports.jsx(k.default,{as:m??"div",...l,"aria-hidden":e,style:{height:d,opacity:e?0:1,"--transition-duration":`${n}s`},className:j.cx("kakadu-components-2460436620",e&&"kakadu-components-512418581",f),children:i.jsxRuntimeExports.jsx("div",{ref:c,className:"kakadu-components-3857562328",children:r})}):null}exports.default=q;
|
|
@@ -31,7 +31,7 @@ function y({
|
|
|
31
31
|
t && u(t.scrollHeight ?? 0);
|
|
32
32
|
} else
|
|
33
33
|
s(!0);
|
|
34
|
-
}, [e,
|
|
34
|
+
}, [e, r, n]), r ? /* @__PURE__ */ a.jsx(j, { as: c ?? "div", ...d, "aria-hidden": e, style: {
|
|
35
35
|
height: p,
|
|
36
36
|
opacity: e ? 0 : 1,
|
|
37
37
|
"--transition-duration": `${n}s`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("../jsx-runtime-BB_1_6y_.js"),e=require("react"),K=require("@kuma-ui/core"),se=require("../hooks/use-synchronized-value.js"),ne=require("../icons/icon.js"),oe=require("../icons/chevron-up.js"),ae=require("../utilities/search.js"),re=require("./input.js"),B=require("./text.js"),X=require("./flex.js"),ue=require("./skeleton.js");function Y(){const{value:n,setValue:p}=se.default("isKeyboardNavigating");return e.useMemo(()=>({isKeyboardNavigating:n,setIsKeyboardNavigating:p}),[n,p])}function O(n){return"text"in n?n.text:n.label}const D="kakadu-components-1144794361",T="kakadu-components-2911184744";function ce({isSelected:n,id:p,value:v,label:a,onSelect:h,onHover:j}){const{isKeyboardNavigating:b}=Y(),g=e.useCallback(()=>{h(v)},[h,v]),l=e.useCallback(f=>{b||f.movementX===0&&f.movementY===0||j(v)},[b,j,v]),r=e.useRef(null);return e.useEffect(()=>{const f=r.current;n&&f&&b&&setTimeout(()=>{f.scrollIntoView({behavior:"smooth",block:"nearest"})},0)},[n,b]),i.jsxRuntimeExports.jsx("li",{ref:r,id:p,role:"option","aria-selected":n,tabIndex:-1,className:K.cx(D,"kakadu-components-4130497639",b?"kakadu-components-962373561":"kakadu-components-1109598791"),onClick:g,onMouseMove:l,children:i.jsxRuntimeExports.jsx(B.Span,{className:K.cx(T,typeof a=="string"&&"kakadu-components-154286052"),children:a})})}function ie({isLoading:n,id:p,activeOptionId:v,selectedValue:a,options:h,onSelect:j,onHover:b}){const g=e.useRef(null);return e.useEffect(()=>{const l=g.current;l&&l.scrollIntoView({behavior:"smooth",block:"nearest"})},[]),i.jsxRuntimeExports.jsxs("ul",{ref:g,id:p,role:"listbox","aria-label":"Options",tabIndex:-1,className:"kakadu-components-3718330689",children:[h.length===0?n?null:i.jsxRuntimeExports.jsxs(X.default,{"aria-atomic":!0,as:"li",role:"status","aria-live":"polite",direction:"row",preset:"start",gap:.5,className:D,children:[i.jsxRuntimeExports.jsx(ne.default,{size:15,type:"exclamationTriangle"}),i.jsxRuntimeExports.jsx(B.Span,{className:T,children:"No results."})]}):h.map((l,r)=>i.jsxRuntimeExports.jsx(ce,{...l,id:l.value===a?v:void 0,isSelected:l.value===a,onSelect:j,onHover:b},O(l)+r)),n?i.jsxRuntimeExports.jsx(X.default,{as:"li",alignment:"center",className:D,children:i.jsxRuntimeExports.jsx(B.Span,{className:T,children:i.jsxRuntimeExports.jsx(ue.SkeletonInstance,{width:"100%",height:"1.3em"})})}):null]})}function le({isLoading:n,shouldFilterOptions:p=!0,label:v,options:a,error:h,warning:j,information:b,footnote:g,className:l,onChange:r,onSelect:f,...F}){const S=e.useRef(null),H=e.useId(),P=e.useId(),[w,M]=e.useState(!1),$=e.useCallback(()=>{M(!0)},[]),G=e.useCallback(t=>{var s;(s=S.current)!=null&&s.contains(t.relatedTarget)||M(!1)},[]),[y,u]=e.useState(!1);e.useEffect(()=>{u(w)},[w]);const[A,I]=e.useState(""),{value:k}=F,[m,N]=e.useState(k),[q,J]=e.useState(k),z=e.useRef(q),c=e.useCallback(t=>{J(t),z.current=t},[]);e.useEffect(()=>{N(k),c(k)},[k,c]),e.useEffect(()=>{const t=a.find(s=>s.value===k);t?I(O(t)):k===void 0&&I("")},[k
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("../jsx-runtime-BB_1_6y_.js"),e=require("react"),K=require("@kuma-ui/core"),se=require("../hooks/use-synchronized-value.js"),ne=require("../icons/icon.js"),oe=require("../icons/chevron-up.js"),ae=require("../utilities/search.js"),re=require("./input.js"),B=require("./text.js"),X=require("./flex.js"),ue=require("./skeleton.js");function Y(){const{value:n,setValue:p}=se.default("isKeyboardNavigating");return e.useMemo(()=>({isKeyboardNavigating:n,setIsKeyboardNavigating:p}),[n,p])}function O(n){return"text"in n?n.text:n.label}const D="kakadu-components-1144794361",T="kakadu-components-2911184744";function ce({isSelected:n,id:p,value:v,label:a,onSelect:h,onHover:j}){const{isKeyboardNavigating:b}=Y(),g=e.useCallback(()=>{h(v)},[h,v]),l=e.useCallback(f=>{b||f.movementX===0&&f.movementY===0||j(v)},[b,j,v]),r=e.useRef(null);return e.useEffect(()=>{const f=r.current;n&&f&&b&&setTimeout(()=>{f.scrollIntoView({behavior:"smooth",block:"nearest"})},0)},[n,b]),i.jsxRuntimeExports.jsx("li",{ref:r,id:p,role:"option","aria-selected":n,tabIndex:-1,className:K.cx(D,"kakadu-components-4130497639",b?"kakadu-components-962373561":"kakadu-components-1109598791"),onClick:g,onMouseMove:l,children:i.jsxRuntimeExports.jsx(B.Span,{className:K.cx(T,typeof a=="string"&&"kakadu-components-154286052"),children:a})})}function ie({isLoading:n,id:p,activeOptionId:v,selectedValue:a,options:h,onSelect:j,onHover:b}){const g=e.useRef(null);return e.useEffect(()=>{const l=g.current;l&&l.scrollIntoView({behavior:"smooth",block:"nearest"})},[]),i.jsxRuntimeExports.jsxs("ul",{ref:g,id:p,role:"listbox","aria-label":"Options",tabIndex:-1,className:"kakadu-components-3718330689",children:[h.length===0?n?null:i.jsxRuntimeExports.jsxs(X.default,{"aria-atomic":!0,as:"li",role:"status","aria-live":"polite",direction:"row",preset:"start",gap:.5,className:D,children:[i.jsxRuntimeExports.jsx(ne.default,{size:15,type:"exclamationTriangle"}),i.jsxRuntimeExports.jsx(B.Span,{className:T,children:"No results."})]}):h.map((l,r)=>i.jsxRuntimeExports.jsx(ce,{...l,id:l.value===a?v:void 0,isSelected:l.value===a,onSelect:j,onHover:b},O(l)+r)),n?i.jsxRuntimeExports.jsx(X.default,{as:"li",alignment:"center",className:D,children:i.jsxRuntimeExports.jsx(B.Span,{className:T,children:i.jsxRuntimeExports.jsx(ue.SkeletonInstance,{width:"100%",height:"1.3em"})})}):null]})}function le({isLoading:n,shouldFilterOptions:p=!0,label:v,options:a,error:h,warning:j,information:b,footnote:g,className:l,onChange:r,onSelect:f,...F}){const S=e.useRef(null),H=e.useId(),P=e.useId(),[w,M]=e.useState(!1),$=e.useCallback(()=>{M(!0)},[]),G=e.useCallback(t=>{var s;(s=S.current)!=null&&s.contains(t.relatedTarget)||M(!1)},[]),[y,u]=e.useState(!1);e.useEffect(()=>{u(w)},[w]);const[A,I]=e.useState(""),{value:k}=F,[m,N]=e.useState(k),[q,J]=e.useState(k),z=e.useRef(q),c=e.useCallback(t=>{J(t),z.current=t},[]);e.useEffect(()=>{N(k),c(k)},[k,c]),e.useEffect(()=>{const t=a.find(s=>s.value===k);t?I(O(t)):k===void 0&&I("")},[a,k]);const Q=e.useCallback(()=>{m&&(I(""),c(void 0))},[m,c]),W=e.useCallback((t,s)=>{I(t),r==null||r(t,s),u(!0),N(void 0)},[r]),Z=e.useCallback(t=>{var s;(s=S.current)!=null&&s.contains(t.target)&&u(!0)},[]),E=e.useCallback(t=>{const s=t==null?void 0:t.value;c(s),t?I(O(t)):(I(""),r==null||r("")),f==null||f(s)},[c,r,f]),ee=e.useCallback(t=>{const s=a.find(x=>x.value===t);E(s),N(t),u(!1)},[a,E]),te=e.useCallback(t=>{c(t)},[c]),C=e.useDeferredValue(A),d=e.useMemo(()=>!p||m?a:ae.default(C,a,O),[p,m,a,C]);e.useEffect(()=>{!m&&C.length>0&&d.length>0&&!d.some(t=>q===t.value)&&c(d[0].value)},[m,C,d,q,c]);const{setIsKeyboardNavigating:V}=Y();return e.useEffect(()=>{if(!w)return;const t=s=>{s.movementX===0&&s.movementY===0||V(!1)};return window.addEventListener("mousemove",t,{capture:!0}),()=>{window.removeEventListener("mousemove",t,{capture:!0})}},[w,V]),e.useEffect(()=>{if(!w)return;const t=s=>{var U;let x;const _=d.length,L=d.findIndex(o=>o.value===z.current),R=()=>{s.preventDefault(),s.stopPropagation(),s.stopImmediatePropagation()};switch(s.key){case"Enter":{const o=d[L];o&&(R(),V(!0),u(!1),E(o),N(o.value));break}case"Escape":{if(y)R(),m?c(void 0):E(void 0),u(!1);else if(m)R(),u(!0),E(void 0);else{R(),M(!1);const o=document.activeElement;o instanceof HTMLElement&&((U=S.current)!=null&&U.contains(o))&&o.blur()}return}case"ArrowDown":{x=L+1,u(!0);break}case"ArrowUp":{x=L-1,u(!0),x<0&&(x=_-1);break}case"Home":{u(!0),x=0;break}case"End":{u(!0),x=_-1;break}case"Backspace":{d.some(o=>o.value===m)&&(R(),E(void 0),u(!0));break}}if(x!==void 0&&(R(),V(!0),_>0)){const o=d[x%_];o&&c(o.value)}};return window.addEventListener("keydown",t,{capture:!0}),()=>{window.removeEventListener("keydown",t,{capture:!0})}},[w,d,V,u,E,N,y,m,c]),i.jsxRuntimeExports.jsx(re.default,{...F,ref:S,role:"combobox",autoComplete:"off","aria-controls":H,"aria-expanded":y,"aria-activedescendant":y?P:void 0,label:v,value:A,error:h,warning:j,information:b,footnote:g,attachments:y?i.jsxRuntimeExports.jsx(ie,{isLoading:n,id:H,activeOptionId:P,selectedValue:q,options:d,onSelect:ee,onHover:te}):null,className:K.cx(l,"kakadu-components-879486679"),onMouseDown:Z,onChange:W,onBeforeInput:Q,onFocus:$,onBlur:G,children:i.jsxRuntimeExports.jsx(oe.default,{width:14,height:14,className:"kakadu-components-158931186"})})}exports.default=le;exports.getComboboxOptionString=O;
|
package/build/components/flex.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const g=require("../jsx-runtime-BB_1_6y_.js"),l=require("react"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const g=require("../jsx-runtime-BB_1_6y_.js"),l=require("react"),m=require("@kuma-ui/core"),k=require("./atom.js"),q=["row","column"],B=["start","center","space-between","end"];function r(c){switch(c){case 0:return"0";case .25:return"var(--quarter-gap)";case .375:return"var(--third-gap)";case .5:return"var(--half-gap)";case .75:return"calc(var(--gap) * 0.75)";case 1:return"var(--gap)";case 1.5:return"var(--sesquialteral-gap)";case 2:return"var(--double-gap)";case 2.25:return"calc(var(--gap) * 2.25)";case 3:return"var(--triple-gap)";case 4:return"var(--quadruple-gap)"}}function w({as:c,direction:p="column",preset:e,distribution:o,alignment:n,gap:a=1,wrap:d=!1,fill:f=!1,style:t,className:i,...v}){const[s,u]=l.useMemo(()=>Array.isArray(a)?[r(a[0]),r(a[1])]:[r(a),r(a)],[a]),x=l.useMemo(()=>({...t,"--distribution":o,"--alignment":n,"--row-gap":s,"--column-gap":u}),[t,o,n,s,u]);return g.jsxRuntimeExports.jsx(k.default,{as:c??k.defaultAtomElementType,...v,style:x,className:m.cx("kakadu-components-4272301903",(!!o||!!e)&&"kakadu-components-1926968631",(!!n||!!e)&&"kakadu-components-1079614642",p==="column"&&m.cx("kakadu-components-2718875679",(!!o||!!e)&&"kakadu-components-549353852",(!!n||!!e)&&"kakadu-components-794149163"),e==="start"&&"kakadu-components-2628985316",e==="center"&&"kakadu-components-9661990",e==="space-between"&&"kakadu-components-1323551558",e==="end"&&"kakadu-components-1950514053",d&&"kakadu-components-3545808562",f&&"kakadu-components-3911899222",i)})}exports.default=w;exports.flexDirections=q;exports.flexPresets=B;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import { useMemo as
|
|
3
|
-
import { cx as
|
|
4
|
-
import
|
|
1
|
+
import { j as B } from "../jsx-runtime-B4hRZ52C.mjs";
|
|
2
|
+
import { useMemo as l } from "react";
|
|
3
|
+
import { cx as m } from "@kuma-ui/core";
|
|
4
|
+
import g, { defaultAtomElementType as w } from "./atom.mjs";
|
|
5
5
|
const j = ["row", "column"], q = ["start", "center", "space-between", "end"];
|
|
6
|
-
function r(
|
|
7
|
-
switch (
|
|
6
|
+
function r(c) {
|
|
7
|
+
switch (c) {
|
|
8
8
|
case 0:
|
|
9
9
|
return "0";
|
|
10
10
|
case 0.25:
|
|
@@ -30,26 +30,26 @@ function r(n) {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
function G({
|
|
33
|
-
as:
|
|
34
|
-
direction:
|
|
35
|
-
preset:
|
|
36
|
-
distribution:
|
|
37
|
-
alignment:
|
|
38
|
-
gap:
|
|
39
|
-
wrap:
|
|
40
|
-
fill:
|
|
41
|
-
style:
|
|
42
|
-
className:
|
|
43
|
-
...
|
|
33
|
+
as: c,
|
|
34
|
+
direction: p = "column",
|
|
35
|
+
preset: a,
|
|
36
|
+
distribution: o,
|
|
37
|
+
alignment: n,
|
|
38
|
+
gap: e = 1,
|
|
39
|
+
wrap: k = !1,
|
|
40
|
+
fill: d = !1,
|
|
41
|
+
style: t,
|
|
42
|
+
className: f,
|
|
43
|
+
...v
|
|
44
44
|
}) {
|
|
45
|
-
const [
|
|
46
|
-
...
|
|
47
|
-
"--distribution":
|
|
48
|
-
"--alignment":
|
|
49
|
-
"--row-gap":
|
|
45
|
+
const [s, u] = l(() => Array.isArray(e) ? [r(e[0]), r(e[1])] : [r(e), r(e)], [e]), x = l(() => ({
|
|
46
|
+
...t,
|
|
47
|
+
"--distribution": o,
|
|
48
|
+
"--alignment": n,
|
|
49
|
+
"--row-gap": s,
|
|
50
50
|
"--column-gap": u
|
|
51
|
-
}), [
|
|
52
|
-
return /* @__PURE__ */
|
|
51
|
+
}), [t, o, n, s, u]);
|
|
52
|
+
return /* @__PURE__ */ B.jsx(g, { as: c ?? w, ...v, style: x, className: m("kakadu-components-4272301903", (!!o || !!a) && "kakadu-components-1926968631", (!!n || !!a) && "kakadu-components-1079614642", p === "column" && m("kakadu-components-2718875679", (!!o || !!a) && "kakadu-components-549353852", (!!n || !!a) && "kakadu-components-794149163"), a === "start" && "kakadu-components-2628985316", a === "center" && "kakadu-components-9661990", a === "space-between" && "kakadu-components-1323551558", a === "end" && "kakadu-components-1950514053", k && "kakadu-components-3545808562", d && "kakadu-components-3911899222", f) });
|
|
53
53
|
}
|
|
54
54
|
export {
|
|
55
55
|
G as default,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("../jsx-runtime-BB_1_6y_.js"),e=require("react"),M=require("@kuma-ui/core"),P=require("react-dom"),$=require("../focus-trap-react-B7f3iC5h.js"),B=require("./text-button.js"),T=require("./decorators.js"),S=require("./flex.js"),D=require("./atom.js"),y=require("./text.js"),_=e.createContext({isVisible:!1,isInteractive:!1}),{Provider:z}=_;function L(){return e.useContext(_)}function G(){const{isInteractive:o,close:r}=L(),a=e.useCallback(()=>{r==null||r()},[r]);return n.jsxRuntimeExports.jsx("div",{className:"kakadu-components-2566044647",children:n.jsxRuntimeExports.jsx(B.default,{iconLeft:"times",label:"Close",disabled:!o,onClick:a})})}function J(o){return n.jsxRuntimeExports.jsx(S.default,{gap:2,...o})}function K({as:o,className:r,...a}){return n.jsxRuntimeExports.jsx(y.Heading,{...a,as:o??y.defaultHeadingElementType,className:M.cx("kakadu-components-4275938488",r)})}function Q({as:o,...r}){return n.jsxRuntimeExports.jsx(S.default,{direction:"row",gap:1,preset:"end",...r,as:o??D.defaultAtomElementType})}function U({root:o,outerDecorators:r=[],innerDecorators:a=[],label:
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("../jsx-runtime-BB_1_6y_.js"),e=require("react"),M=require("@kuma-ui/core"),P=require("react-dom"),$=require("../focus-trap-react-B7f3iC5h.js"),B=require("./text-button.js"),T=require("./decorators.js"),S=require("./flex.js"),D=require("./atom.js"),y=require("./text.js"),_=e.createContext({isVisible:!1,isInteractive:!1}),{Provider:z}=_;function L(){return e.useContext(_)}function G(){const{isInteractive:o,close:r}=L(),a=e.useCallback(()=>{r==null||r()},[r]);return n.jsxRuntimeExports.jsx("div",{className:"kakadu-components-2566044647",children:n.jsxRuntimeExports.jsx(B.default,{iconLeft:"times",label:"Close",disabled:!o,onClick:a})})}function J(o){return n.jsxRuntimeExports.jsx(S.default,{gap:2,...o})}function K({as:o,className:r,...a}){return n.jsxRuntimeExports.jsx(y.Heading,{...a,as:o??y.defaultHeadingElementType,className:M.cx("kakadu-components-4275938488",r)})}function Q({as:o,...r}){return n.jsxRuntimeExports.jsx(S.default,{direction:"row",gap:1,preset:"end",...r,as:o??D.defaultAtomElementType})}function U({root:o,outerDecorators:r=[],innerDecorators:a=[],label:k,maxWidth:c,className:f,isVisible:s,isFullWidth:i=!1,shouldCloseOnOutsideClick:x=!0,shouldCloseOnEscapePress:m=!0,showCloseButton:v=!0,onClose:l,children:d}){const R=e.useRef(null),p=e.useRef(null),[h,N]=e.useState(!1),[u,j]=e.useState(!1),q=e.useCallback(t=>{R.current=t,j(!1)},[]),b=e.useRef(null),w=e.useCallback(t=>{t&&(b.current=t)},[]),[g,C]=e.useState(s??!1),A=e.useMemo(()=>({isVisible:g,isInteractive:u,setInitialFocus:w,close:q}),[g,u,w,q]);e.useEffect(()=>{if(s){const t=setTimeout(()=>{j(!0)},100);return()=>{clearTimeout(t)}}j(!1)},[s]),e.useEffect(()=>{s&&(N(!0),C(!0))},[s]),e.useEffect(()=>{const t=p.current;if(s&&x&&t){const E=H=>{t===H.target&&j(!1)};return t.addEventListener("click",E),()=>{t.removeEventListener("click",E)}}},[s,x]),e.useEffect(()=>{if(!s||!m)return;const t=E=>{E.key==="Escape"&&j(!1)};return window.addEventListener("keydown",t),()=>{window.removeEventListener("keydown",t)}},[s,m]),e.useEffect(()=>{if(h&&!u){const t=setTimeout(()=>{C(!1),l==null||l(R.current??void 0)},370);return()=>{clearTimeout(t)}}},[h,u,l]);const F=e.useMemo(()=>({initialFocus:()=>b.current??void 0,onActivate:()=>{var t;return(t=b.current)==null?void 0:t.focus()}}),[]);if(!g)return null;const I=n.jsxRuntimeExports.jsx(T.default,{decorators:r,children:n.jsxRuntimeExports.jsx("div",{"aria-hidden":!u,style:{"--max-width":c?`${c}px`:void 0},className:M.cx("kakadu-components-4119461136",u&&"kakadu-components-2522346797",f),children:n.jsxRuntimeExports.jsx(T.default,{decorators:a,children:n.jsxRuntimeExports.jsx($.focusTrapReactExports.FocusTrap,{active:u,focusTrapOptions:F,children:n.jsxRuntimeExports.jsx("div",{ref:p,className:"kakadu-components-4011815997",children:n.jsxRuntimeExports.jsx("div",{role:"dialog","aria-modal":"true","aria-label":k??"Modal",className:M.cx("kakadu-components-3324483532",i&&"kakadu-components-3799971070",u&&"kakadu-components-968755580"),children:n.jsxRuntimeExports.jsxs(z,{value:A,children:[v?n.jsxRuntimeExports.jsx(G,{}):null,n.jsxRuntimeExports.jsx("div",{className:M.cx("kakadu-components-633990035",i&&"kakadu-components-171969824"),children:d})]})})})})})})});return o?P.createPortal(I,o):I}function V(o,r){const[a,k]=e.useState(!1),[c,f]=e.useState(!1),s=e.useRef(void 0),i=e.useRef(void 0),x=e.useCallback(async()=>(i.current=void 0,k(!0),f(!0),new Promise(d=>{s.current=d})),[]),m=e.useCallback(d=>{i.current=d,f(!1)},[]),v=e.useCallback(d=>{var p;const R=d??i.current;i.current=void 0,(p=s.current)==null||p.call(s,R),s.current=void 0,k(!1),f(!1)},[]),l=e.useMemo(()=>a?n.jsxRuntimeExports.jsx(o,{...r,isVisible:c,onClose:v}):null,[a,o,r,c,v]);return e.useMemo(()=>({isVisible:c,show:x,close:m,modal:l}),[c,x,m,l])}exports.ModalActions=Q;exports.ModalContent=J;exports.ModalHeading=K;exports.default=U;exports.useModal=V;exports.useModalContext=L;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { j as n } from "../jsx-runtime-B4hRZ52C.mjs";
|
|
2
|
-
import { createContext as q, useRef as
|
|
2
|
+
import { createContext as q, useRef as j, useState as h, useCallback as d, useMemo as g, useEffect as v, useContext as z } from "react";
|
|
3
3
|
import { cx as E } from "@kuma-ui/core";
|
|
4
4
|
import { createPortal as G } from "react-dom";
|
|
5
5
|
import { f as J } from "../focus-trap-react-Dr3BYLw6.mjs";
|
|
@@ -20,85 +20,85 @@ function Y() {
|
|
|
20
20
|
function Z() {
|
|
21
21
|
const {
|
|
22
22
|
isInteractive: o,
|
|
23
|
-
close:
|
|
24
|
-
} = Y(),
|
|
25
|
-
|
|
26
|
-
}, [
|
|
27
|
-
return /* @__PURE__ */ n.jsx("div", { className: "kakadu-components-2566044647", children: /* @__PURE__ */ n.jsx(K, { iconLeft: "times", label: "Close", disabled: !o, onClick:
|
|
23
|
+
close: s
|
|
24
|
+
} = Y(), r = d(() => {
|
|
25
|
+
s == null || s();
|
|
26
|
+
}, [s]);
|
|
27
|
+
return /* @__PURE__ */ n.jsx("div", { className: "kakadu-components-2566044647", children: /* @__PURE__ */ n.jsx(K, { iconLeft: "times", label: "Close", disabled: !o, onClick: r }) });
|
|
28
28
|
}
|
|
29
29
|
function ce(o) {
|
|
30
30
|
return /* @__PURE__ */ n.jsx(H, { gap: 2, ...o });
|
|
31
31
|
}
|
|
32
32
|
function ie({
|
|
33
33
|
as: o,
|
|
34
|
-
className:
|
|
35
|
-
...
|
|
34
|
+
className: s,
|
|
35
|
+
...r
|
|
36
36
|
}) {
|
|
37
|
-
return /* @__PURE__ */ n.jsx(U, { ...
|
|
37
|
+
return /* @__PURE__ */ n.jsx(U, { ...r, as: o ?? V, className: E("kakadu-components-4275938488", s) });
|
|
38
38
|
}
|
|
39
39
|
function ue({
|
|
40
40
|
as: o,
|
|
41
|
-
...
|
|
41
|
+
...s
|
|
42
42
|
}) {
|
|
43
|
-
return /* @__PURE__ */ n.jsx(H, { direction: "row", gap: 1, preset: "end", ...
|
|
43
|
+
return /* @__PURE__ */ n.jsx(H, { direction: "row", gap: 1, preset: "end", ...s, as: o ?? Q });
|
|
44
44
|
}
|
|
45
45
|
function le({
|
|
46
46
|
root: o,
|
|
47
|
-
outerDecorators:
|
|
48
|
-
innerDecorators:
|
|
49
|
-
label:
|
|
47
|
+
outerDecorators: s = [],
|
|
48
|
+
innerDecorators: r = [],
|
|
49
|
+
label: w,
|
|
50
50
|
maxWidth: c,
|
|
51
|
-
className:
|
|
51
|
+
className: f,
|
|
52
52
|
isVisible: t,
|
|
53
53
|
isFullWidth: i = !1,
|
|
54
|
-
shouldCloseOnOutsideClick:
|
|
55
|
-
shouldCloseOnEscapePress:
|
|
54
|
+
shouldCloseOnOutsideClick: m = !0,
|
|
55
|
+
shouldCloseOnEscapePress: p = !0,
|
|
56
56
|
showCloseButton: I = !0,
|
|
57
57
|
onClose: u,
|
|
58
58
|
children: l
|
|
59
59
|
}) {
|
|
60
|
-
const M =
|
|
61
|
-
M.current = e,
|
|
62
|
-
}, []), R =
|
|
60
|
+
const M = j(null), x = j(null), [L, P] = h(!1), [a, k] = h(!1), N = d((e) => {
|
|
61
|
+
M.current = e, k(!1);
|
|
62
|
+
}, []), R = j(null), b = d((e) => {
|
|
63
63
|
e && (R.current = e);
|
|
64
|
-
}, []), [y, F] =
|
|
64
|
+
}, []), [y, F] = h(t ?? !1), D = g(() => ({
|
|
65
65
|
isVisible: y,
|
|
66
66
|
isInteractive: a,
|
|
67
67
|
setInitialFocus: b,
|
|
68
68
|
close: N
|
|
69
69
|
}), [y, a, b, N]);
|
|
70
|
-
|
|
70
|
+
v(() => {
|
|
71
71
|
if (t) {
|
|
72
72
|
const e = setTimeout(() => {
|
|
73
|
-
|
|
73
|
+
k(!0);
|
|
74
74
|
}, 100);
|
|
75
75
|
return () => {
|
|
76
76
|
clearTimeout(e);
|
|
77
77
|
};
|
|
78
78
|
}
|
|
79
|
-
|
|
80
|
-
}, [t]),
|
|
79
|
+
k(!1);
|
|
80
|
+
}, [t]), v(() => {
|
|
81
81
|
t && (P(!0), F(!0));
|
|
82
|
-
}, [t]),
|
|
83
|
-
const e =
|
|
84
|
-
if (t &&
|
|
82
|
+
}, [t]), v(() => {
|
|
83
|
+
const e = x.current;
|
|
84
|
+
if (t && m && e) {
|
|
85
85
|
const T = ($) => {
|
|
86
|
-
e === $.target &&
|
|
86
|
+
e === $.target && k(!1);
|
|
87
87
|
};
|
|
88
88
|
return e.addEventListener("click", T), () => {
|
|
89
89
|
e.removeEventListener("click", T);
|
|
90
90
|
};
|
|
91
91
|
}
|
|
92
|
-
}, [t,
|
|
93
|
-
if (!t || !
|
|
92
|
+
}, [t, m]), v(() => {
|
|
93
|
+
if (!t || !p)
|
|
94
94
|
return;
|
|
95
95
|
const e = (T) => {
|
|
96
|
-
T.key === "Escape" &&
|
|
96
|
+
T.key === "Escape" && k(!1);
|
|
97
97
|
};
|
|
98
98
|
return window.addEventListener("keydown", e), () => {
|
|
99
99
|
window.removeEventListener("keydown", e);
|
|
100
100
|
};
|
|
101
|
-
}, [t,
|
|
101
|
+
}, [t, p]), v(() => {
|
|
102
102
|
if (L && !a) {
|
|
103
103
|
const e = setTimeout(() => {
|
|
104
104
|
F(!1), u == null || u(M.current ?? void 0);
|
|
@@ -117,30 +117,30 @@ function le({
|
|
|
117
117
|
}), []);
|
|
118
118
|
if (!y)
|
|
119
119
|
return null;
|
|
120
|
-
const C = /* @__PURE__ */ n.jsx(A, { decorators:
|
|
120
|
+
const C = /* @__PURE__ */ n.jsx(A, { decorators: s, children: /* @__PURE__ */ n.jsx("div", { "aria-hidden": !a, style: {
|
|
121
121
|
"--max-width": c ? `${c}px` : void 0
|
|
122
|
-
}, className: E("kakadu-components-4119461136", a && "kakadu-components-2522346797",
|
|
122
|
+
}, className: E("kakadu-components-4119461136", a && "kakadu-components-2522346797", f), children: /* @__PURE__ */ n.jsx(A, { decorators: r, children: /* @__PURE__ */ n.jsx(J.FocusTrap, { active: a, focusTrapOptions: S, children: /* @__PURE__ */ n.jsx("div", { ref: x, className: "kakadu-components-4011815997", children: /* @__PURE__ */ n.jsx("div", { role: "dialog", "aria-modal": "true", "aria-label": w ?? "Modal", className: E("kakadu-components-3324483532", i && "kakadu-components-3799971070", a && "kakadu-components-968755580"), children: /* @__PURE__ */ n.jsxs(X, { value: D, children: [
|
|
123
123
|
I ? /* @__PURE__ */ n.jsx(Z, {}) : null,
|
|
124
124
|
/* @__PURE__ */ n.jsx("div", { className: E("kakadu-components-633990035", i && "kakadu-components-171969824"), children: l })
|
|
125
125
|
] }) }) }) }) }) }) });
|
|
126
126
|
return o ? G(C, o) : C;
|
|
127
127
|
}
|
|
128
|
-
function de(o,
|
|
129
|
-
const [
|
|
128
|
+
function de(o, s) {
|
|
129
|
+
const [r, w] = h(!1), [c, f] = h(!1), t = j(void 0), i = j(void 0), m = d(async () => (i.current = void 0, w(!0), f(!0), new Promise((l) => {
|
|
130
130
|
t.current = l;
|
|
131
|
-
})), []),
|
|
132
|
-
i.current = l,
|
|
131
|
+
})), []), p = d((l) => {
|
|
132
|
+
i.current = l, f(!1);
|
|
133
133
|
}, []), I = d((l) => {
|
|
134
|
-
var
|
|
134
|
+
var x;
|
|
135
135
|
const M = l ?? i.current;
|
|
136
|
-
i.current = void 0, (
|
|
137
|
-
}, []), u = g(() =>
|
|
136
|
+
i.current = void 0, (x = t.current) == null || x.call(t, M), t.current = void 0, w(!1), f(!1);
|
|
137
|
+
}, []), u = g(() => r ? /* @__PURE__ */ n.jsx(o, { ...s, isVisible: c, onClose: I }) : null, [r, o, s, c, I]);
|
|
138
138
|
return g(() => ({
|
|
139
139
|
isVisible: c,
|
|
140
|
-
show:
|
|
141
|
-
close:
|
|
140
|
+
show: m,
|
|
141
|
+
close: p,
|
|
142
142
|
modal: u
|
|
143
|
-
}), [c,
|
|
143
|
+
}), [c, m, p, u]);
|
|
144
144
|
}
|
|
145
145
|
export {
|
|
146
146
|
ue as ModalActions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../jsx-runtime-BB_1_6y_.js"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../jsx-runtime-BB_1_6y_.js"),M=require("@kuma-ui/core"),l=require("react"),F=require("../theme.js"),P=require("../icons/icon.js"),D=require("../hooks/use-synchronized-value.js"),R=require("./popover.js"),K=require("./atom.js"),_=require("./text.js"),q=require("./hover-gradient.js"),z=require("./click-ripples.js"),V=require("./separator.js"),A=require("./decorators.js"),I=require("./spinner.js"),T=require("./skeleton.js"),B=require("./aria-text.js");function N(){const{value:t,setValue:s}=D.default("isKeyboardNavigating");return l.useMemo(()=>({isKeyboardNavigating:t,setIsKeyboardNavigating:s}),[t,s])}const H="kakadu-components-949294122";function $({isLoading:t,isDisabled:s,label:c,iconLeft:m,iconRight:o,href:i,target:h,shouldCloseOnClick:r=!0,decorators:a=[],submenu:x,className:p,onClick:u,...v}){const{isVisible:b,isPreparingFocus:E,isFocused:n,close:f}=R.usePopoverContext(),{isKeyboardNavigating:j}=N(),k=l.useRef(!0),y=l.useCallback(()=>{k.current=n},[n]),g=l.useCallback(C=>{!j&&!k.current||n&&(u==null||u(C),x?x.show():r&&(f==null||f()))},[j,n,u,x,r,f]),d=!b&&!E||!!t||!!s,w=l.useMemo(()=>e.jsxRuntimeExports.jsxs(K.default,{as:i&&!t?"a":"button",...v,"aria-disabled":i&&d?!0:void 0,type:i&&!t?void 0:"button",role:"menuitem",href:i,target:h,inert:i?d:void 0,disabled:i?void 0:d,className:M.cx(F.buttonResetStyles,"kakadu-components-1772835671",n&&"kakadu-components-3160069815",j?"kakadu-components-2254977234":n&&!d&&"kakadu-components-278139688",d&&"kakadu-components-1879666195",p),onClick:d?void 0:g,onPointerDownCapture:d?void 0:y,children:[e.jsxRuntimeExports.jsx(_.Span,{className:M.cx("kakadu-components-1377252111",t?"kakadu-components-2409458488":d&&"kakadu-components-532828420"),children:t?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(B.default,{children:c}),m?e.jsxRuntimeExports.jsx(I.default,{size:12}):null,e.jsxRuntimeExports.jsx(T.SkeletonInstance,{width:"100%"}),o?e.jsxRuntimeExports.jsx(I.default,{size:12}):null]}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[m?e.jsxRuntimeExports.jsx(P.default,{width:12,height:12,type:m}):null,e.jsxRuntimeExports.jsx("span",{className:"kakadu-components-4055589237",children:c}),o?e.jsxRuntimeExports.jsx(P.default,{width:12,height:12,type:o}):null]})}),j||d?null:e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(z.default,{isActive:n,size:100}),e.jsxRuntimeExports.jsx(q.default,{isActive:n,size:150,className:q.normalBlendStyles})]})]}),[i,t,v,d,h,n,j,p,g,y,c,m,o]);return e.jsxRuntimeExports.jsx(A.default,{decorators:a,children:x?e.jsxRuntimeExports.jsx(S,{menu:x.popoverMenu,className:"kakadu-components-1861176543",children:w}):w})}function G(t){if("type"in t){if(t.type==="separator")return e.jsxRuntimeExports.jsx(V.default,{});if(t.type==="group")return e.jsxRuntimeExports.jsx(_.Span,{className:"kakadu-components-1499037363",children:t.label})}return e.jsxRuntimeExports.jsx($,{...t})}function O({items:t}){const{isFocused:s}=R.usePopoverContext(),[c,m]=l.useState([]),{setIsKeyboardNavigating:o}=N(),i=l.useCallback(r=>{r&&m(a=>a.includes(r)?a:[...a,r])},[]),h=l.useCallback(r=>{s&&(r.currentTarget.focus(),o(!1))},[s,o]);return l.useEffect(()=>{if(!s)return;const r=a=>{const x=c.filter(n=>n.isConnected),p=x.length;if(p===0)return;let u,v=1;const b=document.activeElement;let E=b?x.indexOf(b):-1;switch(E===-1&&(E=0),a.key){case"ArrowUp":v=-1;case"ArrowDown":{u=(E+v+p)%p;break}case"Home":{u=0;break}case"End":{u=p-1,v=-1;break}case"Tab":{o(!0);return}}if(u!==void 0){a.preventDefault(),a.stopPropagation();let n=x[u];if(n){let f=0;const j=k=>"disabled"in k&&k.disabled||"inert"in k&&k.inert;for(;j(n)&&f<p;)u=(u+v+p)%p,n=x[u],f+=1;n&&!j(n)&&(n.focus(),o(!0))}}};return window.addEventListener("keydown",r,{capture:!0}),()=>{window.removeEventListener("keydown",r,{capture:!0})}},[s,c,o]),e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:t.map((r,a)=>e.jsxRuntimeExports.jsx(G,{...r,reference:i,onMouseEnter:h},a))})}function U({items:t,...s}){return e.jsxRuntimeExports.jsx(R.default,{...s,as:"nav",role:"menu",innerClassName:"kakadu-components-3600436535",children:e.jsxRuntimeExports.jsx(O,{items:t})})}function J(t){const s=l.useMemo(()=>({items:t}),[t]),{isVisible:c,show:m,close:o,popover:i}=R.usePopover(U,s);return l.useMemo(()=>({isVisible:c,show:m,close:o,popoverMenu:i}),[c,m,o,i])}function S({menu:t,className:s,children:c}){return e.jsxRuntimeExports.jsxs(R.PopoverContainer,{className:s,children:[c,t]})}exports.dangerPopoverMenuItemStyles=H;exports.default=S;exports.usePopoverMenu=J;
|