@xjur-ui/react 3.1.3 → 4.0.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/CHANGELOG.md +1467 -5
- package/dist/components/controls/pin-input/index.d.ts +5 -0
- package/dist/components/controls/pin-input/index.js +1 -0
- package/dist/components/controls/pin-input/pin-input-caption.d.ts +2 -0
- package/dist/components/controls/pin-input/pin-input-caption.js +1 -0
- package/dist/components/controls/pin-input/pin-input-control.d.ts +6 -0
- package/dist/components/controls/pin-input/pin-input-control.js +1 -0
- package/dist/components/controls/pin-input/pin-input-hidden.d.ts +4 -0
- package/dist/components/controls/pin-input/pin-input-hidden.js +1 -0
- package/dist/components/controls/pin-input/pin-input-root.d.ts +31 -0
- package/dist/components/controls/pin-input/pin-input-root.js +1 -0
- package/dist/components/controls/pin-input/pin-input-trigger.d.ts +2 -0
- package/dist/components/controls/pin-input/pin-input-trigger.js +1 -0
- package/dist/components/message/index.d.ts +5 -0
- package/dist/components/message/index.js +1 -0
- package/dist/components/message/message-action.d.ts +3 -0
- package/dist/components/message/message-action.js +1 -0
- package/dist/components/message/message-close.d.ts +4 -0
- package/dist/components/message/message-close.js +1 -0
- package/dist/components/message/message-icon.d.ts +1 -0
- package/dist/components/message/message-icon.js +1 -0
- package/dist/components/message/message-root.d.ts +15 -0
- package/dist/components/message/message-root.js +1 -0
- package/dist/components/message/message-text.d.ts +3 -0
- package/dist/components/message/message-text.js +1 -0
- package/dist/components/selection-bar/index.d.ts +5 -58
- package/dist/components/selection-bar/index.js +1 -1
- package/dist/components/selection-bar/selection-bar-action-group.d.ts +2 -0
- package/dist/components/selection-bar/selection-bar-action-group.js +1 -0
- package/dist/components/selection-bar/selection-bar-action.d.ts +3 -0
- package/dist/components/selection-bar/selection-bar-action.js +1 -0
- package/dist/components/selection-bar/selection-bar-close.d.ts +3 -0
- package/dist/components/selection-bar/selection-bar-close.js +1 -0
- package/dist/components/selection-bar/selection-bar-root.d.ts +12 -0
- package/dist/components/selection-bar/selection-bar-root.js +1 -0
- package/dist/components/selection-bar/selection-bar-title.d.ts +4 -0
- package/dist/components/selection-bar/selection-bar-title.js +1 -0
- package/dist/components/toast/index.d.ts +1 -24
- package/dist/components/toast/index.js +1 -1
- package/dist/components/toast/toast-component.d.ts +10 -0
- package/dist/components/toast/toast-component.js +1 -0
- package/dist/components/toast/toast.d.ts +25 -0
- package/dist/components/toast/toast.js +1 -0
- package/dist/components/toast/toast.types.d.ts +6 -0
- package/dist/components/toast/toast.types.js +0 -0
- package/dist/index.css +1 -1
- package/package.json +10 -8
- package/dist/components/controls/otp-input.d.ts +0 -9
- package/dist/components/controls/otp-input.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cx as $}from"@xjur-ui/util";import{createContext as q,useCallback as L,useContext as B,useEffect as w,useMemo as O,useRef as A,useState as V}from"react";import{jsx as N}from"react/jsx-runtime";var D=q({});function F({children:i,state:s,length:e,className:l,defaultValue:S,value:b,placeholder:v,autoSubmit:R=!1,onError:I,onChangeValue:p,onComplete:h}){let c=A([]),x=A(!1),m=b!==void 0,[P,d]=V(()=>s),[u,y]=V(0),[C,H]=V(()=>S?.split("")??[]),f=m?b.split(""):C,E=L((t,n)=>{c.current[t]=n},[]),T=L((t,n)=>{if(m){let r=[...f];r[t]=n,p?.(r.join(""))}else H(r=>{let a=r.slice();return a[t]=n,a})},[m,f,p]),M=L(()=>{for(let n of c.current)if(n&&n.form)return n.form;let t=c.current.find(Boolean);if(t){let n=t.closest("form");if(n instanceof HTMLFormElement)return n}return null},[]);w(()=>{d(s)},[s]),w(()=>{let t=c.current[u];t&&document.activeElement!==t&&t.focus()},[u]),w(()=>{!m&&C.some(t=>t.length>0)&&p?.(C.join(""))},[m,C,p]),w(()=>{let t=f.join("");if(!(t.length===e)){x.current=!1;return}if(h?.(t),!R||x.current)return;let r=M();if(r)if(typeof r.requestSubmit=="function")try{d("disabled"),r.requestSubmit(),x.current=!0}catch(a){I?.(a)}finally{d("normal")}else I?.(new Error("form.requestSubmit is not a function"))},[f,e,R,h,M,I]);let o=O(()=>({selectedIndex:u,state:P,length:e,code:f,placeholder:v,setCodeAt:T,setSelectedIndex:y,registerInput:E}),[v,u,f,P,e,T,y,E]);return N(D.Provider,{value:o,children:N("div",{className:$("gap-small-1x flex flex-col",l),children:i})})}function g(){let i=B(D);if(!i)throw new Error("usePinInputContext must be used within PinInput");return i}import{cx as z}from"@xjur-ui/util";import{useEffect as G,useRef as J}from"react";import{jsx as U}from"react/jsx-runtime";function Q({className:i,maxLength:s=1,index:e,pattern:l="\\d",autoComplete:S="one-time-code",type:b="text",inputMode:v="numeric",...R}){let I=J(null),{state:p,selectedIndex:h,length:c,code:x,placeholder:m,registerInput:P,setCodeAt:d,setSelectedIndex:u}=g();function y(o){I.current=o}function C(o){let{value:t}=o.target;if(t.length>s)return;if(t===""){d(h,"");return}new RegExp(`^${l}$`).test(t)&&(d(h,t),u(a=>a+1===c?a:a+1))}function H(o){let t=o.clipboardData.getData("text");if(!new RegExp(`^${l}+$`).test(t))return;let a=t.split("").slice(0,c);a.forEach((k,K)=>{d(K,k)}),u(a.length-1)}function f(o){if((x[e]??"")===""){let n=Math.max(0,e-1);u(n),d(n,"")}else d(e,"");o.preventDefault()}function E(o){let n={Backspace:()=>f(o),ArrowRight:()=>u(r=>Math.min(r+1,c)),ArrowLeft:()=>u(r=>Math.max(0,r-1))}[o.code];n&&(n(),o.preventDefault())}G(()=>(P(e,I.current),()=>P(e,null)),[P,e]);let M=!x.some(o=>o.length>0)&&!!m;return e+1>c?null:U("input",{autoComplete:S,className:z(i,"text-neutral-dark h-large-6x bg-layer-2-hover rounded-small-1x w-full border border-transparent text-center outline-0","focus-within:border-primary-idle focus-within:border","data-[state=error]:border-danger-idle data-[state=error]:hover:border-danger-idle","data-[state=disabled]:pointer-events-none data-[state=disabled]:cursor-not-allowed data-[state=disabled]:border-transparent data-[state=disabled]:opacity-30","transition-all duration-200"),"data-slot":"pin-input-control","data-state":p,disabled:p==="disabled",inputMode:v,maxLength:s,pattern:l,placeholder:M?m[e]:"",readOnly:p==="disabled",ref:y,type:b,value:x[e]??"",onChange:C,onKeyDown:E,onPaste:H,...R})}import{cx as W}from"@xjur-ui/util";import{jsx as Y}from"react/jsx-runtime";function X({children:i,className:s,...e}){return Y("div",{className:W(s,"gap-small flex items-center"),...e,children:i})}import{cx as Z}from"@xjur-ui/util";import{jsx as j}from"react/jsx-runtime";function _({className:i,...s}){let l=g()?.state??"normal";return j("p",{className:Z("text-size-body-sm font-normal",i,l==="error"&&"text-danger-label-idle"),...s})}import{cx as tt}from"@xjur-ui/util";import{useMemo as et}from"react";import{jsx as ot}from"react/jsx-runtime";function nt({className:i,...s}){let{code:e}=g(),l=et(()=>e.join(""),[e]);return ot("input",{className:tt("hidden",i),type:"hidden",value:l,...s})}export{F as PinInput,_ as PinInputCaption,Q as PinInputControl,nt as PinInputHidden,X as PinInputTrigger};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cx as u}from"@xjur-ui/util";import{cx as f}from"@xjur-ui/util";import{createContext as r,useCallback as p,useContext as s,useEffect as x,useMemo as I,useRef as C,useState as P}from"react";import{jsx as v}from"react/jsx-runtime";var i=r({});function e(){let t=s(i);if(!t)throw new Error("usePinInputContext must be used within PinInput");return t}import{jsx as c}from"react/jsx-runtime";function E({className:t,...n}){let o=e()?.state??"normal";return c("p",{className:u("text-size-body-sm font-normal",t,o==="error"&&"text-danger-label-idle"),...n})}export{E as PinInputCaption};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type ComponentProps } from 'react';
|
|
2
|
+
interface PinInputControlProps extends ComponentProps<'input'> {
|
|
3
|
+
index: number;
|
|
4
|
+
}
|
|
5
|
+
export declare function PinInputControl({ className, maxLength, index, pattern, autoComplete, type, inputMode, ...props }: PinInputControlProps): import("react/jsx-runtime").JSX.Element | null;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cx as D}from"@xjur-ui/util";import{useEffect as k,useRef as K}from"react";import{cx as B}from"@xjur-ui/util";import{createContext as H,useCallback as O,useContext as V,useEffect as z,useMemo as G,useRef as J,useState as Q}from"react";import{jsx as W}from"react/jsx-runtime";var A=H({});function x(){let l=V(A);if(!l)throw new Error("usePinInputContext must be used within PinInput");return l}import{jsx as N}from"react/jsx-runtime";function te({className:l,maxLength:m=1,index:t,pattern:c="\\d",autoComplete:g="one-time-code",type:v="text",inputMode:C="numeric",...R}){let I=K(null),{state:d,selectedIndex:h,length:u,code:p,placeholder:b,registerInput:f,setCodeAt:s,setSelectedIndex:a}=x();function P(e){I.current=e}function E(e){let{value:n}=e.target;if(n.length>m)return;if(n===""){s(h,"");return}new RegExp(`^${c}$`).test(n)&&(s(h,n),a(o=>o+1===u?o:o+1))}function w(e){let n=e.clipboardData.getData("text");if(!new RegExp(`^${c}+$`).test(n))return;let o=n.split("").slice(0,u);o.forEach((T,L)=>{s(L,T)}),a(o.length-1)}function y(e){if((p[t]??"")===""){let r=Math.max(0,t-1);a(r),s(r,"")}else s(t,"");e.preventDefault()}function M(e){let r={Backspace:()=>y(e),ArrowRight:()=>a(i=>Math.min(i+1,u)),ArrowLeft:()=>a(i=>Math.max(0,i-1))}[e.code];r&&(r(),e.preventDefault())}k(()=>(f(t,I.current),()=>f(t,null)),[f,t]);let S=!p.some(e=>e.length>0)&&!!b;return t+1>u?null:N("input",{autoComplete:g,className:D(l,"text-neutral-dark h-large-6x bg-layer-2-hover rounded-small-1x w-full border border-transparent text-center outline-0","focus-within:border-primary-idle focus-within:border","data-[state=error]:border-danger-idle data-[state=error]:hover:border-danger-idle","data-[state=disabled]:pointer-events-none data-[state=disabled]:cursor-not-allowed data-[state=disabled]:border-transparent data-[state=disabled]:opacity-30","transition-all duration-200"),"data-slot":"pin-input-control","data-state":d,disabled:d==="disabled",inputMode:C,maxLength:m,pattern:c,placeholder:S?b[t]:"",readOnly:d==="disabled",ref:P,type:v,value:p[t]??"",onChange:E,onKeyDown:M,onPaste:w,...R})}export{te as PinInputControl};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cx as c}from"@xjur-ui/util";import{useMemo as l}from"react";import{cx as p}from"@xjur-ui/util";import{createContext as i,useCallback as I,useContext as s,useEffect as x,useMemo as P,useRef as C,useState as v}from"react";import{jsx as R}from"react/jsx-runtime";var u=i({});function n(){let t=s(u);if(!t)throw new Error("usePinInputContext must be used within PinInput");return t}import{jsx as a}from"react/jsx-runtime";function H({className:t,...o}){let{code:e}=n(),r=l(()=>e.join(""),[e]);return a("input",{className:c("hidden",t),type:"hidden",value:r,...o})}export{H as PinInputHidden};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
type PinInputState = 'normal' | 'disabled' | 'error';
|
|
3
|
+
interface PinInputRootContextValue {
|
|
4
|
+
state: PinInputState;
|
|
5
|
+
selectedIndex: number;
|
|
6
|
+
placeholder?: string;
|
|
7
|
+
length: number;
|
|
8
|
+
code: Array<string>;
|
|
9
|
+
name?: string;
|
|
10
|
+
setCodeAt: (index: number, char: string) => void;
|
|
11
|
+
setSelectedIndex: React.Dispatch<React.SetStateAction<number>>;
|
|
12
|
+
registerInput: (index: number, ref: HTMLInputElement | null) => void;
|
|
13
|
+
}
|
|
14
|
+
interface PinInputRootProps {
|
|
15
|
+
children: React.ReactNode;
|
|
16
|
+
className?: string;
|
|
17
|
+
length: number;
|
|
18
|
+
state: PinInputState;
|
|
19
|
+
placeholder?: string;
|
|
20
|
+
/** Valor inicial para modo uncontrolled */
|
|
21
|
+
defaultValue?: string;
|
|
22
|
+
/** Valor para modo controlled */
|
|
23
|
+
value?: string;
|
|
24
|
+
autoSubmit?: boolean;
|
|
25
|
+
onChangeValue?: (value: string) => void;
|
|
26
|
+
onError?: (error: Error) => void;
|
|
27
|
+
onComplete?: (value: string) => void;
|
|
28
|
+
}
|
|
29
|
+
export declare function PinInput({ children, state: stateProp, length, className, defaultValue, value: valueProp, placeholder, autoSubmit, onError, onChangeValue, onComplete }: PinInputRootProps): import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
export declare function usePinInputContext(): PinInputRootContextValue;
|
|
31
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cx as N}from"@xjur-ui/util";import{createContext as j,useCallback as b,useContext as F,useEffect as d,useMemo as k,useRef as h,useState as C}from"react";import{jsx as w}from"react/jsx-runtime";var H=j({});function G({children:s,state:m,length:i,className:L,defaultValue:T,value:v,placeholder:P,autoSubmit:R=!1,onError:p,onChangeValue:u,onComplete:g}){let c=h([]),I=h(!1),o=v!==void 0,[S,x]=C(()=>m),[l,E]=C(0),[a,V]=C(()=>T?.split("")??[]),r=o?v.split(""):a,y=b((t,e)=>{c.current[t]=e},[]),A=b((t,e)=>{if(o){let n=[...r];n[t]=e,u?.(n.join(""))}else V(n=>{let f=n.slice();return f[t]=e,f})},[o,r,u]),M=b(()=>{for(let e of c.current)if(e&&e.form)return e.form;let t=c.current.find(Boolean);if(t){let e=t.closest("form");if(e instanceof HTMLFormElement)return e}return null},[]);d(()=>{x(m)},[m]),d(()=>{let t=c.current[l];t&&document.activeElement!==t&&t.focus()},[l]),d(()=>{!o&&a.some(t=>t.length>0)&&u?.(a.join(""))},[o,a,u]),d(()=>{let t=r.join("");if(!(t.length===i)){I.current=!1;return}if(g?.(t),!R||I.current)return;let n=M();if(n)if(typeof n.requestSubmit=="function")try{x("disabled"),n.requestSubmit(),I.current=!0}catch(f){p?.(f)}finally{x("normal")}else p?.(new Error("form.requestSubmit is not a function"))},[r,i,R,g,M,p]);let q=k(()=>({selectedIndex:l,state:S,length:i,code:r,placeholder:P,setCodeAt:A,setSelectedIndex:E,registerInput:y}),[P,l,r,S,i,A,E,y]);return w(H.Provider,{value:q,children:w("div",{className:N("gap-small-1x flex flex-col",L),children:s})})}function J(){let s=F(H);if(!s)throw new Error("usePinInputContext must be used within PinInput");return s}export{G as PinInput,J as usePinInputContext};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cx as p}from"@xjur-ui/util";import{jsx as t}from"react/jsx-runtime";function i({children:o,className:r,...e}){return t("div",{className:p(r,"gap-small flex items-center"),...e,children:o})}export{i as PinInputTrigger};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{tv as z}from"@xjur-ui/util";import{createContext as M,useCallback as k,useContext as R,useMemo as V,useRef as N}from"react";import{jsx as x}from"react/jsx-runtime";var h=M({variant:"neutral",inline:!1,onClose:()=>{}}),I=z({base:"inline-flex items-center rounded-small-1x animate-in fade-in-0 duration-250",variants:{variant:{primary:"bg-primary-alt-idle text-primary-label-idle border-primary-border-idle",success:"bg-success-alt-idle text-success-label-idle border-success-border-idle",neutral:"bg-layer-1-idle text-neutral-dark border-border-layer-3",warning:"bg-warning-alt-idle text-warning-label-idle border-warning-border-idle",destructive:"bg-danger-alt-idle text-danger-label-idle border-danger-border-idle"},inline:{true:"gap-small p-small w-fit",false:"gap-medium py-small pr-small_1x-alt pb-small pl-large border-l-4 w-full"}},defaultVariants:{variant:"neutral",inline:!1}});function B({variant:e="neutral",inline:t=!1,className:o,children:a,...i}){let r=N(null),s=k(()=>{r.current?.remove()},[]),v=V(()=>({variant:e,inline:t,onClose:s}),[e,t,s]);return x(h.Provider,{value:v,children:x("div",{className:I({variant:e,inline:t,className:o}),ref:r,...i,children:a})})}function p(){let e=R(h);if(!e)throw new Error("useMessageRootContext must be used within a MessageRoot");return e}import{cx as E}from"@xjur-ui/util";import{jsx as L}from"react/jsx-runtime";function n({className:e,filled:t=!1,name:o,...a}){return L("span",{...a,className:E("material-symbols-outlined","text-size-body-lg select-none",e),style:{fontVariationSettings:`'FILL' ${t?1:0}, 'wght' 600, 'GRAD' 0, 'opsz' 20`,...a.style},children:o})}import{jsx as l}from"react/jsx-runtime";var S=new Map([["success",l(n,{className:"text-success-idle",name:"check"},"success")],["neutral",l(n,{className:"text-icon-neutral-3",name:"info"},"neutral")],["primary",l(n,{className:"text-primary-idle",name:"info"},"primary")],["warning",l(n,{className:"text-warning-idle",name:"warning"},"warning")],["destructive",l(n,{className:"text-danger-idle",name:"error"},"error")]]);function A(){let{variant:e}=p();return S.get(e)}import"react";import{cx as D}from"@xjur-ui/util";import{jsx as _}from"react/jsx-runtime";function H({className:e,children:t,onClick:o,...a}){let{onClose:i}=p();function r(s){o?o(s):i?.()}return _("button",{className:D(e,"size-large-2x ml-auto flex cursor-pointer items-center justify-center bg-inherit"),type:"button",onClick:r,...a,children:t||_(n,{className:"text-inherit",name:"close"})})}import{cx as U}from"@xjur-ui/util";import{Slot as G}from"@radix-ui/react-slot";import{cva as O}from"@xjur-ui/util";import{memo as w,useState as $}from"react";import*as d from"@radix-ui/react-tooltip";import{jsx as u}from"react/jsx-runtime";function q({delayDuration:e=0,...t}){return u(d.Provider,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function y({...e}){return u(q,{children:u(d.Root,{"data-slot":"tooltip",...e})})}import*as C from"@radix-ui/react-tooltip";import{jsx as W}from"react/jsx-runtime";function f({...e}){return W(C.Trigger,{"data-slot":"tooltip-trigger",...e})}import*as m from"@radix-ui/react-tooltip";import{cx as F}from"@xjur-ui/util";import{jsx as T}from"react/jsx-runtime";function b({className:e,sideOffset:t=1,variant:o="simple",children:a,...i}){return T(m.Portal,{children:T(m.Content,{className:F("text-size-body-sm z-99999 text-balance","data-[variant=simple]:bg-alt-2 data-[variant=simple]:text-neutral-label data-[variant=simple]:rounded-small-1x data-[variant=simple]:px-small data-[variant=simple]:py-small-1x","data-[variant=rich]:bg-layer-2-idle data-[variant=rich]:text-neutral-dark data-[variant=rich]:rounded-small data-[variant=rich]:border-border-layer-2 data-[variant=rich]:p-large data-[variant=rich]:border","animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin)",e),"data-slot":"tooltip-content","data-variant":o,sideOffset:t,...i,children:a})})}import{jsx as c,jsxs as Q}from"react/jsx-runtime";var J=O("",{variants:{variant:{body:"",label:"",title:"",headline:""},size:{"sm-2x":"","sm-1x":"",sm:"",md:"",lg:""},weight:{thin:"font-thin",extraLight:"font-extralight",light:"font-light",normal:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold",extraBold:"font-extrabold",black:"font-black"}},compoundVariants:[{variant:"body",size:"sm-1x",class:"text-size-body-sm-1x"},{variant:"body",size:"sm",class:"text-size-body-sm"},{variant:"body",size:"md",class:"text-size-body-md"},{variant:"body",size:"lg",class:"text-size-body-lg"},{variant:"label",size:"sm-2x",class:"text-size-label-sm-2x"},{variant:"label",size:"sm-1x",class:"text-size-label-sm-1x"},{variant:"label",size:"sm",class:"text-size-label-sm"},{variant:"label",size:"md",class:"text-size-label-md"},{variant:"label",size:"lg",class:"text-size-label-lg"},{variant:"title",size:"sm",class:"text-size-title-sm"},{variant:"title",size:"md",class:"text-size-title-md"},{variant:"title",size:"lg",class:"text-size-title-lg"},{variant:"headline",size:"sm",class:"text-size-headline-sm"},{variant:"headline",size:"md",class:"text-size-headline-md"},{variant:"headline",size:"lg",class:"text-size-headline-lg"}],defaultVariants:{variant:"body",size:"md",weight:"normal"}}),g=w(({variant:e,size:t,weight:o,asChild:a,className:i,children:r,...s})=>c(a?G:"span",{className:J({variant:e,size:t,weight:o,className:i}),...s,children:r}));g.displayName="Typography";var K=w(({children:e,...t})=>{let[o,a]=$(!1);return Q(y,{children:[c(f,{asChild:!0,children:c(g,{onMouseEnter:({currentTarget:r})=>{let s=r.scrollWidth>r.clientWidth;a(s),s?r.style.cursor="pointer":r.style.cursor="text"},...t,children:e})}),o&&c(b,{children:e})]})});K.displayName="TruncatedTypography";import{jsx as Y}from"react/jsx-runtime";function X({className:e,...t}){return Y(g,{className:U(e,"text-inherit"),...t})}import{Slot as Z}from"@radix-ui/react-slot";import{cva as j,cx as ee}from"@xjur-ui/util";import{jsx as oe}from"react/jsx-runtime";var te=j(["outline-none inline-flex items-center justify-center rounded-circle gap-small cursor-pointer disabled:opacity-38 disabled:pointer-events-none transition-colors"],{variants:{size:{md:"py-small_1x-alt px-medium text-size-body-md",sm:"py-small-1x px-small text-size-label-sm",icon_md:"p-small text-size-body-md h-large-4x w-large-4x",icon_sm:"p-small-1x text-size-label-sm h-large-2x w-large-2x"},variant:{primary:"",secondary:"",tertiary:"",destructive:"",outlined:"bg-layer-2-idle border border-border-layer-2 hover:bg-layer-2-hover active:bg-layer-2-pressed"},appearance:{solid:"",ghost:"bg-transparent"}},compoundVariants:[{variant:"primary",appearance:"solid",class:"bg-primary-idle text-neutral-label hover:bg-primary-hover active:bg-primary-pressed"},{variant:"primary",appearance:"ghost",class:"text-primary-idle hover:bg-primary-alt-idle active:bg-primary-alt-pressed"},{variant:"secondary",appearance:"solid",class:"bg-layer-1-hover text-neutral-dark hover:bg-layer-1-pressed active:bg-layer-1-active"},{variant:"secondary",appearance:"ghost",class:"hover:bg-layer-1-hover active:bg-layer-1-pressed"},{variant:"tertiary",appearance:"solid",class:"bg-layer-2-hover text-neutral-dark hover:bg-layer-2-pressed active:bg-layer-2-active"},{variant:"tertiary",appearance:"ghost",class:"hover:bg-layer-2-hover active:bg-layer-2-pressed"},{variant:"destructive",appearance:"solid",class:"bg-danger-idle text-neutral-label hover:bg-danger-hover active:bg-danger-pressed"},{variant:"destructive",appearance:"ghost",class:"text-danger-label-idle hover:bg-danger-alt-idle active:bg-danger-alt-pressed"}],defaultVariants:{size:"md",variant:"primary",appearance:"solid"}});function P({asChild:e,className:t,variant:o="primary",size:a="md",appearance:i="solid",...r}){return oe(e?Z:"button",{className:ee(te({variant:o,appearance:i,size:a}),t),...r})}import{jsx as re}from"react/jsx-runtime";function ae({variant:e="primary",size:t="sm",appearance:o="solid",children:a,...i}){return re(P,{appearance:o,className:"shrink-0",size:t,variant:e,...i,children:a})}export{ae as MessageAction,H as MessageClose,A as MessageIcon,B as MessageRoot,X as MessageText};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Slot as i}from"@radix-ui/react-slot";import{cva as l,cx as p}from"@xjur-ui/util";import{jsx as c}from"react/jsx-runtime";var d=l(["outline-none inline-flex items-center justify-center rounded-circle gap-small cursor-pointer disabled:opacity-38 disabled:pointer-events-none transition-colors"],{variants:{size:{md:"py-small_1x-alt px-medium text-size-body-md",sm:"py-small-1x px-small text-size-label-sm",icon_md:"p-small text-size-body-md h-large-4x w-large-4x",icon_sm:"p-small-1x text-size-label-sm h-large-2x w-large-2x"},variant:{primary:"",secondary:"",tertiary:"",destructive:"",outlined:"bg-layer-2-idle border border-border-layer-2 hover:bg-layer-2-hover active:bg-layer-2-pressed"},appearance:{solid:"",ghost:"bg-transparent"}},compoundVariants:[{variant:"primary",appearance:"solid",class:"bg-primary-idle text-neutral-label hover:bg-primary-hover active:bg-primary-pressed"},{variant:"primary",appearance:"ghost",class:"text-primary-idle hover:bg-primary-alt-idle active:bg-primary-alt-pressed"},{variant:"secondary",appearance:"solid",class:"bg-layer-1-hover text-neutral-dark hover:bg-layer-1-pressed active:bg-layer-1-active"},{variant:"secondary",appearance:"ghost",class:"hover:bg-layer-1-hover active:bg-layer-1-pressed"},{variant:"tertiary",appearance:"solid",class:"bg-layer-2-hover text-neutral-dark hover:bg-layer-2-pressed active:bg-layer-2-active"},{variant:"tertiary",appearance:"ghost",class:"hover:bg-layer-2-hover active:bg-layer-2-pressed"},{variant:"destructive",appearance:"solid",class:"bg-danger-idle text-neutral-label hover:bg-danger-hover active:bg-danger-pressed"},{variant:"destructive",appearance:"ghost",class:"text-danger-label-idle hover:bg-danger-alt-idle active:bg-danger-alt-pressed"}],defaultVariants:{size:"md",variant:"primary",appearance:"solid"}});function s({asChild:e,className:a,variant:r="primary",size:t="md",appearance:o="solid",...n}){return c(e?i:"button",{className:p(d({variant:r,appearance:o,size:t}),a),...n})}import{jsx as m}from"react/jsx-runtime";function x({variant:e="primary",size:a="sm",appearance:r="solid",children:t,...o}){return m(s,{appearance:r,className:"shrink-0",size:a,variant:e,...o,children:t})}export{x as MessageAction};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"react";import{cx as b}from"@xjur-ui/util";import{cx as d}from"@xjur-ui/util";import{jsx as p}from"react/jsx-runtime";function a({className:e,filled:r=!1,name:o,...t}){return p("span",{...t,className:d("material-symbols-outlined","text-size-body-lg select-none",e),style:{fontVariationSettings:`'FILL' ${r?1:0}, 'wght' 600, 'GRAD' 0, 'opsz' 20`,...t.style},children:o})}import{tv as _}from"@xjur-ui/util";import{createContext as u,useCallback as M,useContext as m,useMemo as R,useRef as P}from"react";import{jsx as T}from"react/jsx-runtime";var f=u({variant:"neutral",inline:!1,onClose:()=>{}}),I=_({base:"inline-flex items-center rounded-small-1x animate-in fade-in-0 duration-250",variants:{variant:{primary:"bg-primary-alt-idle text-primary-label-idle border-primary-border-idle",success:"bg-success-alt-idle text-success-label-idle border-success-border-idle",neutral:"bg-layer-1-idle text-neutral-dark border-border-layer-3",warning:"bg-warning-alt-idle text-warning-label-idle border-warning-border-idle",destructive:"bg-danger-alt-idle text-danger-label-idle border-danger-border-idle"},inline:{true:"gap-small p-small w-fit",false:"gap-medium py-small pr-small_1x-alt pb-small pl-large border-l-4 w-full"}},defaultVariants:{variant:"neutral",inline:!1}});function n(){let e=m(f);if(!e)throw new Error("useMessageRootContext must be used within a MessageRoot");return e}import{jsx as s}from"react/jsx-runtime";function D({className:e,children:r,onClick:o,...t}){let{onClose:l}=n();function i(c){o?o(c):l?.()}return s("button",{className:b(e,"size-large-2x ml-auto flex cursor-pointer items-center justify-center bg-inherit"),type:"button",onClick:i,...t,children:r||s(a,{className:"text-inherit",name:"close"})})}export{D as MessageClose};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function MessageIcon(): import("react").ReactNode;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cx as i}from"@xjur-ui/util";import{jsx as l}from"react/jsx-runtime";function o({className:e,filled:n=!1,name:s,...t}){return l("span",{...t,className:i("material-symbols-outlined","text-size-body-lg select-none",e),style:{fontVariationSettings:`'FILL' ${n?1:0}, 'wght' 600, 'GRAD' 0, 'opsz' 20`,...t.style},children:s})}import{tv as c}from"@xjur-ui/util";import{createContext as d,useCallback as x,useContext as _,useMemo as k,useRef as R}from"react";import{jsx as I}from"react/jsx-runtime";var p=d({variant:"neutral",inline:!1,onClose:()=>{}}),M=c({base:"inline-flex items-center rounded-small-1x animate-in fade-in-0 duration-250",variants:{variant:{primary:"bg-primary-alt-idle text-primary-label-idle border-primary-border-idle",success:"bg-success-alt-idle text-success-label-idle border-success-border-idle",neutral:"bg-layer-1-idle text-neutral-dark border-border-layer-3",warning:"bg-warning-alt-idle text-warning-label-idle border-warning-border-idle",destructive:"bg-danger-alt-idle text-danger-label-idle border-danger-border-idle"},inline:{true:"gap-small p-small w-fit",false:"gap-medium py-small pr-small_1x-alt pb-small pl-large border-l-4 w-full"}},defaultVariants:{variant:"neutral",inline:!1}});function a(){let e=_(p);if(!e)throw new Error("useMessageRootContext must be used within a MessageRoot");return e}import{jsx as r}from"react/jsx-runtime";var u=new Map([["success",r(o,{className:"text-success-idle",name:"check"},"success")],["neutral",r(o,{className:"text-icon-neutral-3",name:"info"},"neutral")],["primary",r(o,{className:"text-primary-idle",name:"info"},"primary")],["warning",r(o,{className:"text-warning-idle",name:"warning"},"warning")],["destructive",r(o,{className:"text-danger-idle",name:"error"},"error")]]);function T(){let{variant:e}=a();return u.get(e)}export{T as MessageIcon};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type ComponentProps } from 'react';
|
|
2
|
+
export type MessageRootVariant = 'primary' | 'success' | 'neutral' | 'warning' | 'destructive';
|
|
3
|
+
interface MessageRootProps extends ComponentProps<'div'> {
|
|
4
|
+
variant?: MessageRootVariant;
|
|
5
|
+
inline?: boolean;
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
}
|
|
8
|
+
interface MessageRootContextValue {
|
|
9
|
+
variant: MessageRootVariant;
|
|
10
|
+
inline: boolean;
|
|
11
|
+
onClose?: () => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function MessageRoot({ variant, inline, className, children, ...props }: MessageRootProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare function useMessageRootContext(): MessageRootContextValue;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{tv as u}from"@xjur-ui/util";import{createContext as c,useCallback as g,useContext as b,useMemo as m,useRef as p}from"react";import{jsx as o}from"react/jsx-runtime";var s=c({variant:"neutral",inline:!1,onClose:()=>{}}),x=u({base:"inline-flex items-center rounded-small-1x animate-in fade-in-0 duration-250",variants:{variant:{primary:"bg-primary-alt-idle text-primary-label-idle border-primary-border-idle",success:"bg-success-alt-idle text-success-label-idle border-success-border-idle",neutral:"bg-layer-1-idle text-neutral-dark border-border-layer-3",warning:"bg-warning-alt-idle text-warning-label-idle border-warning-border-idle",destructive:"bg-danger-alt-idle text-danger-label-idle border-danger-border-idle"},inline:{true:"gap-small p-small w-fit",false:"gap-medium py-small pr-small_1x-alt pb-small pl-large border-l-4 w-full"}},defaultVariants:{variant:"neutral",inline:!1}});function R({variant:e="neutral",inline:t=!1,className:l,children:n,...i}){let a=p(null),r=g(()=>{a.current?.remove()},[]),d=m(()=>({variant:e,inline:t,onClose:r}),[e,t,r]);return o(s.Provider,{value:d,children:o("div",{className:x({variant:e,inline:t,className:l}),ref:a,...i,children:n})})}function C(){let e=b(s);if(!e)throw new Error("useMessageRootContext must be used within a MessageRoot");return e}export{R as MessageRoot,C as useMessageRootContext};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cx as M}from"@xjur-ui/util";import{Slot as z}from"@radix-ui/react-slot";import{cva as P}from"@xjur-ui/util";import{memo as g,useState as u}from"react";import*as l from"@radix-ui/react-tooltip";import{jsx as d}from"react/jsx-runtime";function x({delayDuration:t=0,...o}){return d(l.Provider,{"data-slot":"tooltip-provider",delayDuration:t,...o})}function c({...t}){return d(x,{children:d(l.Root,{"data-slot":"tooltip",...t})})}import*as v from"@radix-ui/react-tooltip";import{jsx as h}from"react/jsx-runtime";function y({...t}){return h(v.Trigger,{"data-slot":"tooltip-trigger",...t})}import*as n from"@radix-ui/react-tooltip";import{cx as b}from"@xjur-ui/util";import{jsx as T}from"react/jsx-runtime";function f({className:t,sideOffset:o=1,variant:e="simple",children:a,...r}){return T(n.Portal,{children:T(n.Content,{className:b("text-size-body-sm z-99999 text-balance","data-[variant=simple]:bg-alt-2 data-[variant=simple]:text-neutral-label data-[variant=simple]:rounded-small-1x data-[variant=simple]:px-small data-[variant=simple]:py-small-1x","data-[variant=rich]:bg-layer-2-idle data-[variant=rich]:text-neutral-dark data-[variant=rich]:rounded-small data-[variant=rich]:border-border-layer-2 data-[variant=rich]:p-large data-[variant=rich]:border","animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin)",t),"data-slot":"tooltip-content","data-variant":e,sideOffset:o,...r,children:a})})}import{jsx as p,jsxs as V}from"react/jsx-runtime";var C=P("",{variants:{variant:{body:"",label:"",title:"",headline:""},size:{"sm-2x":"","sm-1x":"",sm:"",md:"",lg:""},weight:{thin:"font-thin",extraLight:"font-extralight",light:"font-light",normal:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold",extraBold:"font-extrabold",black:"font-black"}},compoundVariants:[{variant:"body",size:"sm-1x",class:"text-size-body-sm-1x"},{variant:"body",size:"sm",class:"text-size-body-sm"},{variant:"body",size:"md",class:"text-size-body-md"},{variant:"body",size:"lg",class:"text-size-body-lg"},{variant:"label",size:"sm-2x",class:"text-size-label-sm-2x"},{variant:"label",size:"sm-1x",class:"text-size-label-sm-1x"},{variant:"label",size:"sm",class:"text-size-label-sm"},{variant:"label",size:"md",class:"text-size-label-md"},{variant:"label",size:"lg",class:"text-size-label-lg"},{variant:"title",size:"sm",class:"text-size-title-sm"},{variant:"title",size:"md",class:"text-size-title-md"},{variant:"title",size:"lg",class:"text-size-title-lg"},{variant:"headline",size:"sm",class:"text-size-headline-sm"},{variant:"headline",size:"md",class:"text-size-headline-md"},{variant:"headline",size:"lg",class:"text-size-headline-lg"}],defaultVariants:{variant:"body",size:"md",weight:"normal"}}),m=g(({variant:t,size:o,weight:e,asChild:a,className:r,children:i,...s})=>p(a?z:"span",{className:C({variant:t,size:o,weight:e,className:r}),...s,children:i}));m.displayName="Typography";var R=g(({children:t,...o})=>{let[e,a]=u(!1);return V(c,{children:[p(y,{asChild:!0,children:p(m,{onMouseEnter:({currentTarget:i})=>{let s=i.scrollWidth>i.clientWidth;a(s),s?i.style.cursor="pointer":i.style.cursor="text"},...o,children:t})}),e&&p(f,{children:t})]})});R.displayName="TruncatedTypography";import{jsx as N}from"react/jsx-runtime";function Y({className:t,...o}){return N(m,{className:M(t,"text-inherit"),...o})}export{Y as MessageText};
|
|
@@ -1,58 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
variant?: "warning" | "primary" | "secondary" | "neutral" | "success" | "destructive" | "outline" | null | undefined;
|
|
7
|
-
position?: "fixed" | "absolute" | "relative" | "sticky" | null | undefined;
|
|
8
|
-
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
9
|
-
export interface SelectionAction {
|
|
10
|
-
id: string;
|
|
11
|
-
label?: string;
|
|
12
|
-
icon: IconType;
|
|
13
|
-
onClick: () => void;
|
|
14
|
-
variant?: 'primary' | 'secondary' | 'destructive' | 'tertiary' | 'outlined';
|
|
15
|
-
disabled?: boolean;
|
|
16
|
-
}
|
|
17
|
-
interface SelectionBarProps extends Omit<ComponentProps<'div'>, 'onClose'>, ClassVariantProps<typeof selectionBarVariants> {
|
|
18
|
-
selectedCount: number;
|
|
19
|
-
onClose: () => void;
|
|
20
|
-
actions?: SelectionAction[];
|
|
21
|
-
showCloseButton?: boolean;
|
|
22
|
-
closeButtonText?: string;
|
|
23
|
-
selectedText?: string;
|
|
24
|
-
className?: string;
|
|
25
|
-
}
|
|
26
|
-
declare function SelectionBar({ selectedCount, onClose, actions, showCloseButton, selectedText, size, variant, position, className, ...props }: SelectionBarProps): import("react/jsx-runtime").JSX.Element | null;
|
|
27
|
-
interface SelectionBarContextType {
|
|
28
|
-
selectedItems: Set<string>;
|
|
29
|
-
toggleSelection: (id: string) => void;
|
|
30
|
-
clearSelection: () => void;
|
|
31
|
-
selectAll: (ids: string[]) => void;
|
|
32
|
-
isSelected: (id: string) => boolean;
|
|
33
|
-
selectedCount: number;
|
|
34
|
-
}
|
|
35
|
-
interface SelectionBarProviderProps {
|
|
36
|
-
children: ReactNode;
|
|
37
|
-
onSelectionChange?: (selectedIds: string[]) => void;
|
|
38
|
-
}
|
|
39
|
-
declare function SelectionBarProvider({ children, onSelectionChange }: SelectionBarProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
40
|
-
declare function useSelectionBar(): SelectionBarContextType;
|
|
41
|
-
interface SelectionBarContainerProps extends Omit<SelectionBarProps, 'selectedCount' | 'onClose'> {
|
|
42
|
-
showCloseButton?: boolean;
|
|
43
|
-
closeButtonText?: string;
|
|
44
|
-
selectedText?: string;
|
|
45
|
-
}
|
|
46
|
-
declare function SelectionBarContainer({ actions, showCloseButton, selectedText, ...props }: SelectionBarContainerProps): import("react/jsx-runtime").JSX.Element;
|
|
47
|
-
export declare const SelectionBarComponents: {
|
|
48
|
-
Root: typeof SelectionBar;
|
|
49
|
-
Provider: typeof SelectionBarProvider;
|
|
50
|
-
Container: typeof SelectionBarContainer;
|
|
51
|
-
useSelectionBar: typeof useSelectionBar;
|
|
52
|
-
};
|
|
53
|
-
export { SelectionBar };
|
|
54
|
-
export { SelectionBarProvider };
|
|
55
|
-
export { SelectionBarContainer };
|
|
56
|
-
export { useSelectionBar };
|
|
57
|
-
export { selectionBarVariants };
|
|
58
|
-
export type { SelectionBarProps, SelectionBarProviderProps, SelectionBarContainerProps };
|
|
1
|
+
export { SelectionBarRoot } from './selection-bar-root';
|
|
2
|
+
export { SelectionBarClose } from './selection-bar-close';
|
|
3
|
+
export { SelectionBarAction } from './selection-bar-action';
|
|
4
|
+
export { SelectionBarActionGroup } from './selection-bar-action-group';
|
|
5
|
+
export { SelectionBarTitleRoot, SelectionBarTitle } from './selection-bar-title';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{cx as S}from"@xjur-ui/util";import{createContext as R,useCallback as V,useContext as I,useRef as N,useState as E}from"react";import{createPortal as A}from"react-dom";import{jsx as b}from"react/jsx-runtime";var g=R({open:!1,onClose:()=>{}});function L({className:e,open:t=!1,onOpenChange:o,...a}){let[i,r]=E(!1),n=N(null),v=document.getElementById("selection-bar-root")||document.body,B=V(()=>{r(!0),setTimeout(()=>{o?.(!1),r(!1)},100)},[o]);if(!t&&!i)return null;let k=b(g.Provider,{value:{open:t,onClose:B},children:b("div",{className:S(e,"bg-primary-idle gap-large-6x shadow-elevation-2 p-small_1x-alt rounded-small-1x","flex w-max items-center","fixed bottom-[60px] left-1/2 z-1000 -translate-x-1/2 transition-all duration-200","data-[state=open]:animate-in data-[state=open]:slide-in-from-top","data-[state=closed]:animate-out data-[state=closed]:slide-out-to-bottom"),"data-state":i||!t?"closed":"open",ref:n,...a})});return A(k,v)}function x(){let e=I(g);if(!e)throw new Error("useSelectionBarContext must be used within a SelectionBarRoot");return e}import{Slot as M}from"@radix-ui/react-slot";import{cva as D,cx as G}from"@xjur-ui/util";import{jsx as H}from"react/jsx-runtime";var q=D(["outline-none inline-flex items-center justify-center rounded-circle gap-small cursor-pointer disabled:opacity-38 disabled:pointer-events-none transition-colors"],{variants:{size:{md:"py-small_1x-alt px-medium text-size-body-md",sm:"py-small-1x px-small text-size-label-sm",icon_md:"p-small text-size-body-md h-large-4x w-large-4x",icon_sm:"p-small-1x text-size-label-sm h-large-2x w-large-2x"},variant:{primary:"",secondary:"",tertiary:"",destructive:"",outlined:"bg-layer-2-idle border border-border-layer-2 hover:bg-layer-2-hover active:bg-layer-2-pressed"},appearance:{solid:"",ghost:"bg-transparent"}},compoundVariants:[{variant:"primary",appearance:"solid",class:"bg-primary-idle text-neutral-label hover:bg-primary-hover active:bg-primary-pressed"},{variant:"primary",appearance:"ghost",class:"text-primary-idle hover:bg-primary-alt-idle active:bg-primary-alt-pressed"},{variant:"secondary",appearance:"solid",class:"bg-layer-1-hover text-neutral-dark hover:bg-layer-1-pressed active:bg-layer-1-active"},{variant:"secondary",appearance:"ghost",class:"hover:bg-layer-1-hover active:bg-layer-1-pressed"},{variant:"tertiary",appearance:"solid",class:"bg-layer-2-hover text-neutral-dark hover:bg-layer-2-pressed active:bg-layer-2-active"},{variant:"tertiary",appearance:"ghost",class:"hover:bg-layer-2-hover active:bg-layer-2-pressed"},{variant:"destructive",appearance:"solid",class:"bg-danger-idle text-neutral-label hover:bg-danger-hover active:bg-danger-pressed"},{variant:"destructive",appearance:"ghost",class:"text-danger-label-idle hover:bg-danger-alt-idle active:bg-danger-alt-pressed"}],defaultVariants:{size:"md",variant:"primary",appearance:"solid"}});function l({asChild:e,className:t,variant:o="primary",size:a="md",appearance:i="solid",...r}){return H(e?M:"button",{className:G(q({variant:o,appearance:i,size:a}),t),...r})}import{cx as W}from"@xjur-ui/util";import{jsx as F}from"react/jsx-runtime";function h({className:e,filled:t=!1,name:o,...a}){return F("span",{...a,className:W("material-symbols-outlined","text-size-body-lg select-none",e),style:{fontVariationSettings:`'FILL' ${t?1:0}, 'wght' 600, 'GRAD' 0, 'opsz' 20`,...a.style},children:o})}import{jsx as _}from"react/jsx-runtime";function O({size:e="icon_md",children:t,...o}){let{onClose:a}=x();return _(l,{size:e,onClick:a,...o,children:t||_(h,{name:"close"})})}import{cx as $}from"@xjur-ui/util";import{jsx as K}from"react/jsx-runtime";function J({className:e,...t}){return K(l,{className:$(e,"shrink-0"),...t})}import{cx as Q}from"@xjur-ui/util";import{jsx as X}from"react/jsx-runtime";function U({className:e,...t}){return X("div",{className:Q(e,"gap-small flex w-full items-center"),...t})}import{cx as z}from"@xjur-ui/util";import{Slot as ee}from"@radix-ui/react-slot";import{cva as te}from"@xjur-ui/util";import{memo as P,useState as oe}from"react";import*as s from"@radix-ui/react-tooltip";import{jsx as c}from"react/jsx-runtime";function Y({delayDuration:e=0,...t}){return c(s.Provider,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function f({...e}){return c(Y,{children:c(s.Root,{"data-slot":"tooltip",...e})})}import*as C from"@radix-ui/react-tooltip";import{jsx as Z}from"react/jsx-runtime";function u({...e}){return Z(C.Trigger,{"data-slot":"tooltip-trigger",...e})}import*as p from"@radix-ui/react-tooltip";import{cx as j}from"@xjur-ui/util";import{jsx as T}from"react/jsx-runtime";function y({className:e,sideOffset:t=1,variant:o="simple",children:a,...i}){return T(p.Portal,{children:T(p.Content,{className:j("text-size-body-sm z-99999 text-balance","data-[variant=simple]:bg-alt-2 data-[variant=simple]:text-neutral-label data-[variant=simple]:rounded-small-1x data-[variant=simple]:px-small data-[variant=simple]:py-small-1x","data-[variant=rich]:bg-layer-2-idle data-[variant=rich]:text-neutral-dark data-[variant=rich]:rounded-small data-[variant=rich]:border-border-layer-2 data-[variant=rich]:p-large data-[variant=rich]:border","animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin)",e),"data-slot":"tooltip-content","data-variant":o,sideOffset:t,...i,children:a})})}import{jsx as d,jsxs as ie}from"react/jsx-runtime";var ae=te("",{variants:{variant:{body:"",label:"",title:"",headline:""},size:{"sm-2x":"","sm-1x":"",sm:"",md:"",lg:""},weight:{thin:"font-thin",extraLight:"font-extralight",light:"font-light",normal:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold",extraBold:"font-extrabold",black:"font-black"}},compoundVariants:[{variant:"body",size:"sm-1x",class:"text-size-body-sm-1x"},{variant:"body",size:"sm",class:"text-size-body-sm"},{variant:"body",size:"md",class:"text-size-body-md"},{variant:"body",size:"lg",class:"text-size-body-lg"},{variant:"label",size:"sm-2x",class:"text-size-label-sm-2x"},{variant:"label",size:"sm-1x",class:"text-size-label-sm-1x"},{variant:"label",size:"sm",class:"text-size-label-sm"},{variant:"label",size:"md",class:"text-size-label-md"},{variant:"label",size:"lg",class:"text-size-label-lg"},{variant:"title",size:"sm",class:"text-size-title-sm"},{variant:"title",size:"md",class:"text-size-title-md"},{variant:"title",size:"lg",class:"text-size-title-lg"},{variant:"headline",size:"sm",class:"text-size-headline-sm"},{variant:"headline",size:"md",class:"text-size-headline-md"},{variant:"headline",size:"lg",class:"text-size-headline-lg"}],defaultVariants:{variant:"body",size:"md",weight:"normal"}}),m=P(({variant:e,size:t,weight:o,asChild:a,className:i,children:r,...n})=>d(a?ee:"span",{className:ae({variant:e,size:t,weight:o,className:i}),...n,children:r}));m.displayName="Typography";var re=P(({children:e,...t})=>{let[o,a]=oe(!1);return ie(f,{children:[d(u,{asChild:!0,children:d(m,{onMouseEnter:({currentTarget:r})=>{let n=r.scrollWidth>r.clientWidth;a(n),n?r.style.cursor="pointer":r.style.cursor="text"},...t,children:e})}),o&&d(y,{children:e})]})});re.displayName="TruncatedTypography";import{jsx as w}from"react/jsx-runtime";function ne({className:e,...t}){return w("div",{className:z(e,"gap-small flex shrink-0 items-center"),...t})}function le({weight:e="medium",className:t,...o}){return w(m,{className:z(t,"text-neutral-label"),weight:e,...o})}export{J as SelectionBarAction,U as SelectionBarActionGroup,O as SelectionBarClose,L as SelectionBarRoot,le as SelectionBarTitle,ne as SelectionBarTitleRoot};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cx as r}from"@xjur-ui/util";import{jsx as t}from"react/jsx-runtime";function n({className:o,...e}){return t("div",{className:r(o,"gap-small flex w-full items-center"),...e})}export{n as SelectionBarActionGroup};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cx as m}from"@xjur-ui/util";import{Slot as i}from"@radix-ui/react-slot";import{cva as l,cx as p}from"@xjur-ui/util";import{jsx as c}from"react/jsx-runtime";var d=l(["outline-none inline-flex items-center justify-center rounded-circle gap-small cursor-pointer disabled:opacity-38 disabled:pointer-events-none transition-colors"],{variants:{size:{md:"py-small_1x-alt px-medium text-size-body-md",sm:"py-small-1x px-small text-size-label-sm",icon_md:"p-small text-size-body-md h-large-4x w-large-4x",icon_sm:"p-small-1x text-size-label-sm h-large-2x w-large-2x"},variant:{primary:"",secondary:"",tertiary:"",destructive:"",outlined:"bg-layer-2-idle border border-border-layer-2 hover:bg-layer-2-hover active:bg-layer-2-pressed"},appearance:{solid:"",ghost:"bg-transparent"}},compoundVariants:[{variant:"primary",appearance:"solid",class:"bg-primary-idle text-neutral-label hover:bg-primary-hover active:bg-primary-pressed"},{variant:"primary",appearance:"ghost",class:"text-primary-idle hover:bg-primary-alt-idle active:bg-primary-alt-pressed"},{variant:"secondary",appearance:"solid",class:"bg-layer-1-hover text-neutral-dark hover:bg-layer-1-pressed active:bg-layer-1-active"},{variant:"secondary",appearance:"ghost",class:"hover:bg-layer-1-hover active:bg-layer-1-pressed"},{variant:"tertiary",appearance:"solid",class:"bg-layer-2-hover text-neutral-dark hover:bg-layer-2-pressed active:bg-layer-2-active"},{variant:"tertiary",appearance:"ghost",class:"hover:bg-layer-2-hover active:bg-layer-2-pressed"},{variant:"destructive",appearance:"solid",class:"bg-danger-idle text-neutral-label hover:bg-danger-hover active:bg-danger-pressed"},{variant:"destructive",appearance:"ghost",class:"text-danger-label-idle hover:bg-danger-alt-idle active:bg-danger-alt-pressed"}],defaultVariants:{size:"md",variant:"primary",appearance:"solid"}});function r({asChild:e,className:a,variant:t="primary",size:o="md",appearance:s="solid",...n}){return c(e?i:"button",{className:p(d({variant:t,appearance:s,size:o}),a),...n})}import{jsx as v}from"react/jsx-runtime";function C({className:e,...a}){return v(r,{className:m(e,"shrink-0"),...a})}export{C as SelectionBarAction};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Slot as p}from"@radix-ui/react-slot";import{cva as d,cx as m}from"@xjur-ui/util";import{jsx as u}from"react/jsx-runtime";var _=d(["outline-none inline-flex items-center justify-center rounded-circle gap-small cursor-pointer disabled:opacity-38 disabled:pointer-events-none transition-colors"],{variants:{size:{md:"py-small_1x-alt px-medium text-size-body-md",sm:"py-small-1x px-small text-size-label-sm",icon_md:"p-small text-size-body-md h-large-4x w-large-4x",icon_sm:"p-small-1x text-size-label-sm h-large-2x w-large-2x"},variant:{primary:"",secondary:"",tertiary:"",destructive:"",outlined:"bg-layer-2-idle border border-border-layer-2 hover:bg-layer-2-hover active:bg-layer-2-pressed"},appearance:{solid:"",ghost:"bg-transparent"}},compoundVariants:[{variant:"primary",appearance:"solid",class:"bg-primary-idle text-neutral-label hover:bg-primary-hover active:bg-primary-pressed"},{variant:"primary",appearance:"ghost",class:"text-primary-idle hover:bg-primary-alt-idle active:bg-primary-alt-pressed"},{variant:"secondary",appearance:"solid",class:"bg-layer-1-hover text-neutral-dark hover:bg-layer-1-pressed active:bg-layer-1-active"},{variant:"secondary",appearance:"ghost",class:"hover:bg-layer-1-hover active:bg-layer-1-pressed"},{variant:"tertiary",appearance:"solid",class:"bg-layer-2-hover text-neutral-dark hover:bg-layer-2-pressed active:bg-layer-2-active"},{variant:"tertiary",appearance:"ghost",class:"hover:bg-layer-2-hover active:bg-layer-2-pressed"},{variant:"destructive",appearance:"solid",class:"bg-danger-idle text-neutral-label hover:bg-danger-hover active:bg-danger-pressed"},{variant:"destructive",appearance:"ghost",class:"text-danger-label-idle hover:bg-danger-alt-idle active:bg-danger-alt-pressed"}],defaultVariants:{size:"md",variant:"primary",appearance:"solid"}});function a({asChild:e,className:o,variant:r="primary",size:t="md",appearance:l="solid",...c}){return u(e?p:"button",{className:m(_({variant:r,appearance:l,size:t}),o),...c})}import{cx as f}from"@xjur-ui/util";import{jsx as b}from"react/jsx-runtime";function n({className:e,filled:o=!1,name:r,...t}){return b("span",{...t,className:f("material-symbols-outlined","text-size-body-lg select-none",e),style:{fontVariationSettings:`'FILL' ${o?1:0}, 'wght' 600, 'GRAD' 0, 'opsz' 20`,...t.style},children:r})}import{cx as T}from"@xjur-ui/util";import{createContext as y,useCallback as L,useContext as g,useRef as N,useState as q}from"react";import{createPortal as A}from"react-dom";import{jsx as G}from"react/jsx-runtime";var v=y({open:!1,onClose:()=>{}});function s(){let e=g(v);if(!e)throw new Error("useSelectionBarContext must be used within a SelectionBarRoot");return e}import{jsx as i}from"react/jsx-runtime";function K({size:e="icon_md",children:o,...r}){let{onClose:t}=s();return i(a,{size:e,onClick:t,...r,children:o||i(n,{name:"close"})})}export{K as SelectionBarClose};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type ComponentProps } from 'react';
|
|
2
|
+
interface SelectionBarContextValue {
|
|
3
|
+
open: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
}
|
|
6
|
+
interface SelectionBarRootProps extends ComponentProps<'div'> {
|
|
7
|
+
open?: boolean;
|
|
8
|
+
onOpenChange?: (open: boolean) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare function SelectionBarRoot({ className, open, onOpenChange, ...props }: SelectionBarRootProps): import("react").ReactPortal | null;
|
|
11
|
+
export declare function useSelectionBarContext(): SelectionBarContextValue;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cx as m}from"@xjur-ui/util";import{createContext as p,useCallback as f,useContext as x,useRef as C,useState as B}from"react";import{createPortal as b}from"react-dom";import{jsx as l}from"react/jsx-runtime";var r=p({open:!1,onClose:()=>{}});function g({className:e,open:t=!1,onOpenChange:o,...s}){let[n,a]=B(!1),i=C(null),c=document.getElementById("selection-bar-root")||document.body,d=f(()=>{a(!0),setTimeout(()=>{o?.(!1),a(!1)},100)},[o]);if(!t&&!n)return null;let u=l(r.Provider,{value:{open:t,onClose:d},children:l("div",{className:m(e,"bg-primary-idle gap-large-6x shadow-elevation-2 p-small_1x-alt rounded-small-1x","flex w-max items-center","fixed bottom-[60px] left-1/2 z-1000 -translate-x-1/2 transition-all duration-200","data-[state=open]:animate-in data-[state=open]:slide-in-from-top","data-[state=closed]:animate-out data-[state=closed]:slide-out-to-bottom"),"data-state":n||!t?"closed":"open",ref:i,...s})});return b(u,c)}function R(){let e=x(r);if(!e)throw new Error("useSelectionBarContext must be used within a SelectionBarRoot");return e}export{g as SelectionBarRoot,R as useSelectionBarContext};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ComponentProps } from 'react';
|
|
2
|
+
import { Typography } from '../typography';
|
|
3
|
+
export declare function SelectionBarTitleRoot({ className, ...props }: ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export declare function SelectionBarTitle({ weight, className, ...props }: ComponentProps<typeof Typography>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cx as x}from"@xjur-ui/util";import{Slot as u}from"@radix-ui/react-slot";import{cva as C}from"@xjur-ui/util";import{memo as g,useState as R}from"react";import*as s from"@radix-ui/react-tooltip";import{jsx as d}from"react/jsx-runtime";function b({delayDuration:t=0,...o}){return d(s.Provider,{"data-slot":"tooltip-provider",delayDuration:t,...o})}function c({...t}){return d(b,{children:d(s.Root,{"data-slot":"tooltip",...t})})}import*as y from"@radix-ui/react-tooltip";import{jsx as z}from"react/jsx-runtime";function f({...t}){return z(y.Trigger,{"data-slot":"tooltip-trigger",...t})}import*as n from"@radix-ui/react-tooltip";import{cx as P}from"@xjur-ui/util";import{jsx as T}from"react/jsx-runtime";function v({className:t,sideOffset:o=1,variant:e="simple",children:a,...r}){return T(n.Portal,{children:T(n.Content,{className:P("text-size-body-sm z-99999 text-balance","data-[variant=simple]:bg-alt-2 data-[variant=simple]:text-neutral-label data-[variant=simple]:rounded-small-1x data-[variant=simple]:px-small data-[variant=simple]:py-small-1x","data-[variant=rich]:bg-layer-2-idle data-[variant=rich]:text-neutral-dark data-[variant=rich]:rounded-small data-[variant=rich]:border-border-layer-2 data-[variant=rich]:p-large data-[variant=rich]:border","animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin)",t),"data-slot":"tooltip-content","data-variant":e,sideOffset:o,...r,children:a})})}import{jsx as p,jsxs as k}from"react/jsx-runtime";var N=C("",{variants:{variant:{body:"",label:"",title:"",headline:""},size:{"sm-2x":"","sm-1x":"",sm:"",md:"",lg:""},weight:{thin:"font-thin",extraLight:"font-extralight",light:"font-light",normal:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold",extraBold:"font-extrabold",black:"font-black"}},compoundVariants:[{variant:"body",size:"sm-1x",class:"text-size-body-sm-1x"},{variant:"body",size:"sm",class:"text-size-body-sm"},{variant:"body",size:"md",class:"text-size-body-md"},{variant:"body",size:"lg",class:"text-size-body-lg"},{variant:"label",size:"sm-2x",class:"text-size-label-sm-2x"},{variant:"label",size:"sm-1x",class:"text-size-label-sm-1x"},{variant:"label",size:"sm",class:"text-size-label-sm"},{variant:"label",size:"md",class:"text-size-label-md"},{variant:"label",size:"lg",class:"text-size-label-lg"},{variant:"title",size:"sm",class:"text-size-title-sm"},{variant:"title",size:"md",class:"text-size-title-md"},{variant:"title",size:"lg",class:"text-size-title-lg"},{variant:"headline",size:"sm",class:"text-size-headline-sm"},{variant:"headline",size:"md",class:"text-size-headline-md"},{variant:"headline",size:"lg",class:"text-size-headline-lg"}],defaultVariants:{variant:"body",size:"md",weight:"normal"}}),m=g(({variant:t,size:o,weight:e,asChild:a,className:r,children:i,...l})=>p(a?u:"span",{className:N({variant:t,size:o,weight:e,className:r}),...l,children:i}));m.displayName="Typography";var V=g(({children:t,...o})=>{let[e,a]=R(!1);return k(c,{children:[p(f,{asChild:!0,children:p(m,{onMouseEnter:({currentTarget:i})=>{let l=i.scrollWidth>i.clientWidth;a(l),l?i.style.cursor="pointer":i.style.cursor="text"},...o,children:t})}),e&&p(v,{children:t})]})});V.displayName="TruncatedTypography";import{jsx as h}from"react/jsx-runtime";function Y({className:t,...o}){return h("div",{className:x(t,"gap-small flex shrink-0 items-center"),...o})}function Z({weight:t="medium",className:o,...e}){return h(m,{className:x(o,"text-neutral-label"),weight:t,...e})}export{Z as SelectionBarTitle,Y as SelectionBarTitleRoot};
|
|
@@ -1,24 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import { type ClassVariantProps } from '@xjur-ui/util';
|
|
4
|
-
import * as Toast from '@radix-ui/react-toast';
|
|
5
|
-
declare const toastVariants: (props?: ({
|
|
6
|
-
variant?: "error" | "info" | "warning" | "success" | "success-no-border" | "info-no-border" | "warning-no-border" | "error-no-border" | null | undefined;
|
|
7
|
-
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
-
export interface ToastViewportProps extends ComponentProps<typeof Toast.Viewport> {
|
|
9
|
-
className?: string;
|
|
10
|
-
}
|
|
11
|
-
export declare function ToastViewport({ className, ...props }: ToastViewportProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
-
export interface ToastProps extends ComponentProps<typeof Toast.Root>, ClassVariantProps<typeof toastVariants> {
|
|
13
|
-
children?: React.ReactNode;
|
|
14
|
-
className?: string;
|
|
15
|
-
description?: string;
|
|
16
|
-
dismissible?: boolean;
|
|
17
|
-
onDismiss?: () => void;
|
|
18
|
-
}
|
|
19
|
-
export declare function ToastComponent({ children, className, description, dismissible, onDismiss, variant, ...props }: ToastProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
-
export interface ToastProviderProps extends ComponentProps<typeof Toast.Provider> {
|
|
21
|
-
children: React.ReactNode;
|
|
22
|
-
}
|
|
23
|
-
export declare function ToastProvider({ children, ...props }: ToastProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
24
|
-
export {};
|
|
1
|
+
export { ToastWrapper, toast } from './toast';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"react";import{cva as
|
|
1
|
+
import{toast as f,Toaster as de}from"sonner";import{Slot as B}from"@radix-ui/react-slot";import{cva as E,cx as L}from"@xjur-ui/util";import{jsx as O}from"react/jsx-runtime";var S=E(["outline-none inline-flex items-center justify-center rounded-circle gap-small cursor-pointer disabled:opacity-38 disabled:pointer-events-none transition-colors"],{variants:{size:{md:"py-small_1x-alt px-medium text-size-body-md",sm:"py-small-1x px-small text-size-label-sm",icon_md:"p-small text-size-body-md h-large-4x w-large-4x",icon_sm:"p-small-1x text-size-label-sm h-large-2x w-large-2x"},variant:{primary:"",secondary:"",tertiary:"",destructive:"",outlined:"bg-layer-2-idle border border-border-layer-2 hover:bg-layer-2-hover active:bg-layer-2-pressed"},appearance:{solid:"",ghost:"bg-transparent"}},compoundVariants:[{variant:"primary",appearance:"solid",class:"bg-primary-idle text-neutral-label hover:bg-primary-hover active:bg-primary-pressed"},{variant:"primary",appearance:"ghost",class:"text-primary-idle hover:bg-primary-alt-idle active:bg-primary-alt-pressed"},{variant:"secondary",appearance:"solid",class:"bg-layer-1-hover text-neutral-dark hover:bg-layer-1-pressed active:bg-layer-1-active"},{variant:"secondary",appearance:"ghost",class:"hover:bg-layer-1-hover active:bg-layer-1-pressed"},{variant:"tertiary",appearance:"solid",class:"bg-layer-2-hover text-neutral-dark hover:bg-layer-2-pressed active:bg-layer-2-active"},{variant:"tertiary",appearance:"ghost",class:"hover:bg-layer-2-hover active:bg-layer-2-pressed"},{variant:"destructive",appearance:"solid",class:"bg-danger-idle text-neutral-label hover:bg-danger-hover active:bg-danger-pressed"},{variant:"destructive",appearance:"ghost",class:"text-danger-label-idle hover:bg-danger-alt-idle active:bg-danger-alt-pressed"}],defaultVariants:{size:"md",variant:"primary",appearance:"solid"}});function z({asChild:e,className:t,variant:o="primary",size:a="md",appearance:r="solid",...i}){return O(e?B:"button",{className:L(S({variant:o,appearance:r,size:a}),t),...i})}import{jsx as W}from"react/jsx-runtime";function y({variant:e="primary",size:t="sm",appearance:o="solid",children:a,...r}){return W(z,{appearance:o,className:"shrink-0",size:t,variant:e,...r,children:a})}import{tv as H}from"@xjur-ui/util";import{createContext as q,useCallback as F,useContext as G,useMemo as $,useRef as J}from"react";import{jsx as M}from"react/jsx-runtime";var k=q({variant:"neutral",inline:!1,onClose:()=>{}}),K=H({base:"inline-flex items-center rounded-small-1x animate-in fade-in-0 duration-250",variants:{variant:{primary:"bg-primary-alt-idle text-primary-label-idle border-primary-border-idle",success:"bg-success-alt-idle text-success-label-idle border-success-border-idle",neutral:"bg-layer-1-idle text-neutral-dark border-border-layer-3",warning:"bg-warning-alt-idle text-warning-label-idle border-warning-border-idle",destructive:"bg-danger-alt-idle text-danger-label-idle border-danger-border-idle"},inline:{true:"gap-small p-small w-fit",false:"gap-medium py-small pr-small_1x-alt pb-small pl-large border-l-4 w-full"}},defaultVariants:{variant:"neutral",inline:!1}});function b({variant:e="neutral",inline:t=!1,className:o,children:a,...r}){let i=J(null),s=F(()=>{i.current?.remove()},[]),w=$(()=>({variant:e,inline:t,onClose:s}),[e,t,s]);return M(k.Provider,{value:w,children:M("div",{className:K({variant:e,inline:t,className:o}),ref:i,...r,children:a})})}function p(){let e=G(k);if(!e)throw new Error("useMessageRootContext must be used within a MessageRoot");return e}import{cx as Q}from"@xjur-ui/util";import{jsx as U}from"react/jsx-runtime";function n({className:e,filled:t=!1,name:o,...a}){return U("span",{...a,className:Q("material-symbols-outlined","text-size-body-lg select-none",e),style:{fontVariationSettings:`'FILL' ${t?1:0}, 'wght' 600, 'GRAD' 0, 'opsz' 20`,...a.style},children:o})}import{jsx as l}from"react/jsx-runtime";var X=new Map([["success",l(n,{className:"text-success-idle",name:"check"},"success")],["neutral",l(n,{className:"text-icon-neutral-3",name:"info"},"neutral")],["primary",l(n,{className:"text-primary-idle",name:"info"},"primary")],["warning",l(n,{className:"text-warning-idle",name:"warning"},"warning")],["destructive",l(n,{className:"text-danger-idle",name:"error"},"error")]]);function v(){let{variant:e}=p();return X.get(e)}import"react";import{cx as Y}from"@xjur-ui/util";import{jsx as R}from"react/jsx-runtime";function x({className:e,children:t,onClick:o,...a}){let{onClose:r}=p();function i(s){o?o(s):r?.()}return R("button",{className:Y(e,"size-large-2x ml-auto flex cursor-pointer items-center justify-center bg-inherit"),type:"button",onClick:i,...a,children:t||R(n,{className:"text-inherit",name:"close"})})}import{cx as ne}from"@xjur-ui/util";import{Slot as te}from"@radix-ui/react-slot";import{cva as oe}from"@xjur-ui/util";import{memo as I,useState as ae}from"react";import*as d from"@radix-ui/react-tooltip";import{jsx as h}from"react/jsx-runtime";function Z({delayDuration:e=0,...t}){return h(d.Provider,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function _({...e}){return h(Z,{children:h(d.Root,{"data-slot":"tooltip",...e})})}import*as V from"@radix-ui/react-tooltip";import{jsx as j}from"react/jsx-runtime";function T({...e}){return j(V.Trigger,{"data-slot":"tooltip-trigger",...e})}import*as m from"@radix-ui/react-tooltip";import{cx as ee}from"@xjur-ui/util";import{jsx as N}from"react/jsx-runtime";function C({className:e,sideOffset:t=1,variant:o="simple",children:a,...r}){return N(m.Portal,{children:N(m.Content,{className:ee("text-size-body-sm z-99999 text-balance","data-[variant=simple]:bg-alt-2 data-[variant=simple]:text-neutral-label data-[variant=simple]:rounded-small-1x data-[variant=simple]:px-small data-[variant=simple]:py-small-1x","data-[variant=rich]:bg-layer-2-idle data-[variant=rich]:text-neutral-dark data-[variant=rich]:rounded-small data-[variant=rich]:border-border-layer-2 data-[variant=rich]:p-large data-[variant=rich]:border","animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin)",e),"data-slot":"tooltip-content","data-variant":o,sideOffset:t,...r,children:a})})}import{jsx as c,jsxs as se}from"react/jsx-runtime";var re=oe("",{variants:{variant:{body:"",label:"",title:"",headline:""},size:{"sm-2x":"","sm-1x":"",sm:"",md:"",lg:""},weight:{thin:"font-thin",extraLight:"font-extralight",light:"font-light",normal:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold",extraBold:"font-extrabold",black:"font-black"}},compoundVariants:[{variant:"body",size:"sm-1x",class:"text-size-body-sm-1x"},{variant:"body",size:"sm",class:"text-size-body-sm"},{variant:"body",size:"md",class:"text-size-body-md"},{variant:"body",size:"lg",class:"text-size-body-lg"},{variant:"label",size:"sm-2x",class:"text-size-label-sm-2x"},{variant:"label",size:"sm-1x",class:"text-size-label-sm-1x"},{variant:"label",size:"sm",class:"text-size-label-sm"},{variant:"label",size:"md",class:"text-size-label-md"},{variant:"label",size:"lg",class:"text-size-label-lg"},{variant:"title",size:"sm",class:"text-size-title-sm"},{variant:"title",size:"md",class:"text-size-title-md"},{variant:"title",size:"lg",class:"text-size-title-lg"},{variant:"headline",size:"sm",class:"text-size-headline-sm"},{variant:"headline",size:"md",class:"text-size-headline-md"},{variant:"headline",size:"lg",class:"text-size-headline-lg"}],defaultVariants:{variant:"body",size:"md",weight:"normal"}}),g=I(({variant:e,size:t,weight:o,asChild:a,className:r,children:i,...s})=>c(a?te:"span",{className:re({variant:e,size:t,weight:o,className:r}),...s,children:i}));g.displayName="Typography";var ie=I(({children:e,...t})=>{let[o,a]=ae(!1);return se(_,{children:[c(T,{asChild:!0,children:c(g,{onMouseEnter:({currentTarget:i})=>{let s=i.scrollWidth>i.clientWidth;a(s),s?i.style.cursor="pointer":i.style.cursor="text"},...t,children:e})}),o&&c(C,{children:e})]})});ie.displayName="TruncatedTypography";import{jsx as le}from"react/jsx-runtime";function P({className:e,...t}){return le(g,{className:ne(e,"text-inherit"),...t})}import{jsx as u,jsxs as pe}from"react/jsx-runtime";function A({variant:e="primary",inline:t=!1,dismissible:o=!0,message:a,action:r,onDismiss:i}){return pe(b,{inline:t,variant:e,children:[u(v,{}),u(P,{children:a}),r&&u(y,{variant:e,onClick:()=>r.onClick(),children:r.label}),o&&u(x,{onClick:i})]})}import{jsx as D}from"react/jsx-runtime";function me(e){return D(de,{...e})}function ce(e,t){return f.custom(o=>D(A,{action:t?.action,dismissible:t?.dismissible,inline:t?.inline,message:e,variant:t?.variant,onDismiss:()=>{f.dismiss(o),t?.onDismiss?.({id:o})}}),{duration:t?.dismissible===!1?1/0:t?.duration??3e3,toasterId:t?.toasterId,position:t?.position,dismissible:t?.dismissible,onAutoClose:t?.onAutoClose,onDismiss:t?.onDismiss})}function ge(e){f.dismiss(e)}function ue(){f.dismiss()}var fe={dispatch:ce,dismiss:ge,clear:ue};export{me as ToastWrapper,fe as toast};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ToastAction, ToastVariant } from './toast.types';
|
|
2
|
+
export interface ToastComponentProps {
|
|
3
|
+
variant?: ToastVariant;
|
|
4
|
+
inline?: boolean;
|
|
5
|
+
message: string;
|
|
6
|
+
action?: ToastAction;
|
|
7
|
+
dismissible?: boolean;
|
|
8
|
+
onDismiss?: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare function ToastComponent({ variant, inline, dismissible, message, action, onDismiss: handleDismiss }: ToastComponentProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Slot as I}from"@radix-ui/react-slot";import{cva as B,cx as E}from"@xjur-ui/util";import{jsx as L}from"react/jsx-runtime";var A=B(["outline-none inline-flex items-center justify-center rounded-circle gap-small cursor-pointer disabled:opacity-38 disabled:pointer-events-none transition-colors"],{variants:{size:{md:"py-small_1x-alt px-medium text-size-body-md",sm:"py-small-1x px-small text-size-label-sm",icon_md:"p-small text-size-body-md h-large-4x w-large-4x",icon_sm:"p-small-1x text-size-label-sm h-large-2x w-large-2x"},variant:{primary:"",secondary:"",tertiary:"",destructive:"",outlined:"bg-layer-2-idle border border-border-layer-2 hover:bg-layer-2-hover active:bg-layer-2-pressed"},appearance:{solid:"",ghost:"bg-transparent"}},compoundVariants:[{variant:"primary",appearance:"solid",class:"bg-primary-idle text-neutral-label hover:bg-primary-hover active:bg-primary-pressed"},{variant:"primary",appearance:"ghost",class:"text-primary-idle hover:bg-primary-alt-idle active:bg-primary-alt-pressed"},{variant:"secondary",appearance:"solid",class:"bg-layer-1-hover text-neutral-dark hover:bg-layer-1-pressed active:bg-layer-1-active"},{variant:"secondary",appearance:"ghost",class:"hover:bg-layer-1-hover active:bg-layer-1-pressed"},{variant:"tertiary",appearance:"solid",class:"bg-layer-2-hover text-neutral-dark hover:bg-layer-2-pressed active:bg-layer-2-active"},{variant:"tertiary",appearance:"ghost",class:"hover:bg-layer-2-hover active:bg-layer-2-pressed"},{variant:"destructive",appearance:"solid",class:"bg-danger-idle text-neutral-label hover:bg-danger-hover active:bg-danger-pressed"},{variant:"destructive",appearance:"ghost",class:"text-danger-label-idle hover:bg-danger-alt-idle active:bg-danger-alt-pressed"}],defaultVariants:{size:"md",variant:"primary",appearance:"solid"}});function w({asChild:e,className:t,variant:o="primary",size:a="md",appearance:r="solid",...i}){return L(e?I:"button",{className:E(A({variant:o,appearance:r,size:a}),t),...i})}import{jsx as D}from"react/jsx-runtime";function u({variant:e="primary",size:t="sm",appearance:o="solid",children:a,...r}){return D(w,{appearance:o,className:"shrink-0",size:t,variant:e,...r,children:a})}import{tv as S}from"@xjur-ui/util";import{createContext as H,useCallback as q,useContext as W,useMemo as F,useRef as G}from"react";import{jsx as z}from"react/jsx-runtime";var M=H({variant:"neutral",inline:!1,onClose:()=>{}}),O=S({base:"inline-flex items-center rounded-small-1x animate-in fade-in-0 duration-250",variants:{variant:{primary:"bg-primary-alt-idle text-primary-label-idle border-primary-border-idle",success:"bg-success-alt-idle text-success-label-idle border-success-border-idle",neutral:"bg-layer-1-idle text-neutral-dark border-border-layer-3",warning:"bg-warning-alt-idle text-warning-label-idle border-warning-border-idle",destructive:"bg-danger-alt-idle text-danger-label-idle border-danger-border-idle"},inline:{true:"gap-small p-small w-fit",false:"gap-medium py-small pr-small_1x-alt pb-small pl-large border-l-4 w-full"}},defaultVariants:{variant:"neutral",inline:!1}});function y({variant:e="neutral",inline:t=!1,className:o,children:a,...r}){let i=G(null),s=q(()=>{i.current?.remove()},[]),P=F(()=>({variant:e,inline:t,onClose:s}),[e,t,s]);return z(M.Provider,{value:P,children:z("div",{className:O({variant:e,inline:t,className:o}),ref:i,...r,children:a})})}function p(){let e=W(M);if(!e)throw new Error("useMessageRootContext must be used within a MessageRoot");return e}import{cx as $}from"@xjur-ui/util";import{jsx as J}from"react/jsx-runtime";function n({className:e,filled:t=!1,name:o,...a}){return J("span",{...a,className:$("material-symbols-outlined","text-size-body-lg select-none",e),style:{fontVariationSettings:`'FILL' ${t?1:0}, 'wght' 600, 'GRAD' 0, 'opsz' 20`,...a.style},children:o})}import{jsx as l}from"react/jsx-runtime";var K=new Map([["success",l(n,{className:"text-success-idle",name:"check"},"success")],["neutral",l(n,{className:"text-icon-neutral-3",name:"info"},"neutral")],["primary",l(n,{className:"text-primary-idle",name:"info"},"primary")],["warning",l(n,{className:"text-warning-idle",name:"warning"},"warning")],["destructive",l(n,{className:"text-danger-idle",name:"error"},"error")]]);function b(){let{variant:e}=p();return K.get(e)}import"react";import{cx as Q}from"@xjur-ui/util";import{jsx as k}from"react/jsx-runtime";function v({className:e,children:t,onClick:o,...a}){let{onClose:r}=p();function i(s){o?o(s):r?.()}return k("button",{className:Q(e,"size-large-2x ml-auto flex cursor-pointer items-center justify-center bg-inherit"),type:"button",onClick:i,...a,children:t||k(n,{className:"text-inherit",name:"close"})})}import{cx as re}from"@xjur-ui/util";import{Slot as Z}from"@radix-ui/react-slot";import{cva as j}from"@xjur-ui/util";import{memo as N,useState as ee}from"react";import*as d from"@radix-ui/react-tooltip";import{jsx as x}from"react/jsx-runtime";function U({delayDuration:e=0,...t}){return x(d.Provider,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function h({...e}){return x(U,{children:x(d.Root,{"data-slot":"tooltip",...e})})}import*as R from"@radix-ui/react-tooltip";import{jsx as X}from"react/jsx-runtime";function _({...e}){return X(R.Trigger,{"data-slot":"tooltip-trigger",...e})}import*as m from"@radix-ui/react-tooltip";import{cx as Y}from"@xjur-ui/util";import{jsx as V}from"react/jsx-runtime";function C({className:e,sideOffset:t=1,variant:o="simple",children:a,...r}){return V(m.Portal,{children:V(m.Content,{className:Y("text-size-body-sm z-99999 text-balance","data-[variant=simple]:bg-alt-2 data-[variant=simple]:text-neutral-label data-[variant=simple]:rounded-small-1x data-[variant=simple]:px-small data-[variant=simple]:py-small-1x","data-[variant=rich]:bg-layer-2-idle data-[variant=rich]:text-neutral-dark data-[variant=rich]:rounded-small data-[variant=rich]:border-border-layer-2 data-[variant=rich]:p-large data-[variant=rich]:border","animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin)",e),"data-slot":"tooltip-content","data-variant":o,sideOffset:t,...r,children:a})})}import{jsx as c,jsxs as ae}from"react/jsx-runtime";var te=j("",{variants:{variant:{body:"",label:"",title:"",headline:""},size:{"sm-2x":"","sm-1x":"",sm:"",md:"",lg:""},weight:{thin:"font-thin",extraLight:"font-extralight",light:"font-light",normal:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold",extraBold:"font-extrabold",black:"font-black"}},compoundVariants:[{variant:"body",size:"sm-1x",class:"text-size-body-sm-1x"},{variant:"body",size:"sm",class:"text-size-body-sm"},{variant:"body",size:"md",class:"text-size-body-md"},{variant:"body",size:"lg",class:"text-size-body-lg"},{variant:"label",size:"sm-2x",class:"text-size-label-sm-2x"},{variant:"label",size:"sm-1x",class:"text-size-label-sm-1x"},{variant:"label",size:"sm",class:"text-size-label-sm"},{variant:"label",size:"md",class:"text-size-label-md"},{variant:"label",size:"lg",class:"text-size-label-lg"},{variant:"title",size:"sm",class:"text-size-title-sm"},{variant:"title",size:"md",class:"text-size-title-md"},{variant:"title",size:"lg",class:"text-size-title-lg"},{variant:"headline",size:"sm",class:"text-size-headline-sm"},{variant:"headline",size:"md",class:"text-size-headline-md"},{variant:"headline",size:"lg",class:"text-size-headline-lg"}],defaultVariants:{variant:"body",size:"md",weight:"normal"}}),g=N(({variant:e,size:t,weight:o,asChild:a,className:r,children:i,...s})=>c(a?Z:"span",{className:te({variant:e,size:t,weight:o,className:r}),...s,children:i}));g.displayName="Typography";var oe=N(({children:e,...t})=>{let[o,a]=ee(!1);return ae(h,{children:[c(_,{asChild:!0,children:c(g,{onMouseEnter:({currentTarget:i})=>{let s=i.scrollWidth>i.clientWidth;a(s),s?i.style.cursor="pointer":i.style.cursor="text"},...t,children:e})}),o&&c(C,{children:e})]})});oe.displayName="TruncatedTypography";import{jsx as ie}from"react/jsx-runtime";function T({className:e,...t}){return ie(g,{className:re(e,"text-inherit"),...t})}import{jsx as f,jsxs as se}from"react/jsx-runtime";function pt({variant:e="primary",inline:t=!1,dismissible:o=!0,message:a,action:r,onDismiss:i}){return se(y,{inline:t,variant:e,children:[f(b,{}),f(T,{children:a}),r&&f(u,{variant:e,onClick:()=>r.onClick(),children:r.label}),o&&f(v,{onClick:i})]})}export{pt as ToastComponent};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Toaster, type ToastT } from 'sonner';
|
|
2
|
+
import type { ComponentProps } from 'react';
|
|
3
|
+
import type { ToastVariant, ToastAction, ToastPosition } from './toast.types';
|
|
4
|
+
interface DispatchOptions {
|
|
5
|
+
message: string;
|
|
6
|
+
variant?: ToastVariant;
|
|
7
|
+
dismissible?: boolean;
|
|
8
|
+
action?: ToastAction;
|
|
9
|
+
position?: ToastPosition;
|
|
10
|
+
inline?: boolean;
|
|
11
|
+
duration?: number;
|
|
12
|
+
toasterId?: string;
|
|
13
|
+
onAutoClose?: (toast: ToastT) => void;
|
|
14
|
+
onDismiss?: (toast: ToastT) => void;
|
|
15
|
+
}
|
|
16
|
+
export declare function ToastWrapper(props: ComponentProps<typeof Toaster>): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
declare function dispatch(message: string, options?: Omit<DispatchOptions, 'message'>): string | number;
|
|
18
|
+
declare function dismiss(toastId: string | number): void;
|
|
19
|
+
declare function clear(): void;
|
|
20
|
+
export declare const toast: {
|
|
21
|
+
dispatch: typeof dispatch;
|
|
22
|
+
dismiss: typeof dismiss;
|
|
23
|
+
clear: typeof clear;
|
|
24
|
+
};
|
|
25
|
+
export {};
|