@ngrok/mantle 0.16.0 → 0.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- import{a as c,b as d,c as f,d as D,e as A,f as y,g as u,h as P}from"./chunk-J4X3ODX7.js";import{g as p}from"./chunk-CD26UMMG.js";import"./chunk-273VK4KO.js";import"./chunk-D3XF6J5A.js";import{b as m}from"./chunk-MJVZHJQA.js";import"./chunk-4LSFAAZW.js";import"./chunk-RDMTCZPT.js";import"./chunk-72TJUKMV.js";import"./chunk-SMCZZUU4.js";import{a as g}from"./chunk-VJPVAY5J.js";import{a as r}from"./chunk-EW5CFGXT.js";import{Info as W}from"@phosphor-icons/react/Info";import{Warning as F}from"@phosphor-icons/react/Warning";import{createContext as H,forwardRef as s,useContext as S}from"react";import j from"tiny-invariant";import{jsx as o,jsxs as q}from"react/jsx-runtime";var v=H(null);function x(){let t=S(v);return j(t,"AlertDialog child component used outside of AlertDialog parent!"),t}function C({priority:t,...e}){return o(v.Provider,{value:{priority:t},children:o(c,{...e})})}C.displayName="AlertDialog";var V=d,k=f,N=s(({className:t,...e},i)=>o(A,{className:r("data-state-open:animate-in data-state-closed:animate-out data-state-closed:fade-out-0 data-state-open:fade-in-0 bg-overlay fixed inset-0 z-50 backdrop-blur-sm",t),...e,ref:i}));N.displayName="AlertDialogOverlay";var R=s(({className:t,onInteractOutside:e,onPointerDownOutside:i,...a},l)=>q(k,{children:[o(N,{}),o("div",{className:"fixed inset-4 z-50 flex items-center justify-center",children:o(y,{ref:l,className:r("flex w-full max-w-md flex-1 flex-col items-center gap-4 sm:flex-row sm:items-start","outline-none focus-within:outline-none","p-6","border-dialog bg-dialog rounded-xl border shadow-lg transition-transform duration-200","data-state-closed:animate-out data-state-closed:fade-out-0 data-state-closed:zoom-out-95 data-state-open:animate-in data-state-open:fade-in-0 data-state-open:zoom-in-95",t),onInteractOutside:n=>{p(n),e?.(n)},onPointerDownOutside:n=>{p(n),i?.(n)},...a})})]}));R.displayName="AlertDialogContent";var b=({className:t,...e})=>o("div",{className:r("flex-1 space-y-4",t),...e});b.displayName="AlertDialogBody";var h=({className:t,...e})=>o("div",{className:r("flex flex-col space-y-2 text-center sm:text-start",t),...e});h.displayName="AlertDialogHeader";var O=({className:t,...e})=>o("div",{className:r("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...e});O.displayName="AlertDialogFooter";var B=s(({className:t,...e},i)=>o(u,{ref:i,className:r("text-strong text-center text-xl font-medium sm:text-start sm:text-lg",t),...e}));B.displayName="AlertDialogTitle";var I=s(({className:t,...e},i)=>o(P,{ref:i,className:r("text-body text-center text-base font-normal sm:text-start sm:text-sm",t),...e}));I.displayName="AlertDialogDescription";var T=s(({appearance:t="filled",...e},i)=>{let a=x(),l="default";return a.priority==="danger"&&(l="danger"),o(m,{appearance:t,priority:l,ref:i,...e})});T.displayName="AlertDialogAction";var w=s(({appearance:t="outlined",className:e,priority:i="neutral",...a},l)=>o(D,{asChild:!0,children:o(m,{appearance:t,className:r("mt-2 sm:mt-0",e),priority:i,ref:l,...a})}));w.displayName="AlertDialogCancel";var E=s(({className:t,svg:e,...i},a)=>{let l=x(),n=l.priority==="danger"?"text-danger-600":"text-accent-600",z=l.priority==="danger"?o(F,{}):o(W,{});return o(g,{ref:a,className:r("size-12 sm:size-7",n,t),svg:e??z,...i})});E.displayName="AlertDialogIcon";export{C as AlertDialog,T as AlertDialogAction,b as AlertDialogBody,w as AlertDialogCancel,R as AlertDialogContent,I as AlertDialogDescription,O as AlertDialogFooter,h as AlertDialogHeader,E as AlertDialogIcon,B as AlertDialogTitle,V as AlertDialogTrigger};
1
+ import{a as c,b as d,c as f,d as D,e as A,f as y,g as u,h as P}from"./chunk-J4X3ODX7.js";import{g as p}from"./chunk-BGLTMLKM.js";import"./chunk-273VK4KO.js";import"./chunk-D3XF6J5A.js";import{b as m}from"./chunk-MJVZHJQA.js";import"./chunk-4LSFAAZW.js";import"./chunk-RDMTCZPT.js";import"./chunk-72TJUKMV.js";import"./chunk-SMCZZUU4.js";import{a as g}from"./chunk-VJPVAY5J.js";import{a as r}from"./chunk-EW5CFGXT.js";import{Info as W}from"@phosphor-icons/react/Info";import{Warning as F}from"@phosphor-icons/react/Warning";import{createContext as H,forwardRef as s,useContext as S}from"react";import j from"tiny-invariant";import{jsx as o,jsxs as q}from"react/jsx-runtime";var v=H(null);function x(){let t=S(v);return j(t,"AlertDialog child component used outside of AlertDialog parent!"),t}function C({priority:t,...e}){return o(v.Provider,{value:{priority:t},children:o(c,{...e})})}C.displayName="AlertDialog";var V=d,k=f,N=s(({className:t,...e},i)=>o(A,{className:r("data-state-open:animate-in data-state-closed:animate-out data-state-closed:fade-out-0 data-state-open:fade-in-0 bg-overlay fixed inset-0 z-50 backdrop-blur-sm",t),...e,ref:i}));N.displayName="AlertDialogOverlay";var R=s(({className:t,onInteractOutside:e,onPointerDownOutside:i,...a},l)=>q(k,{children:[o(N,{}),o("div",{className:"fixed inset-4 z-50 flex items-center justify-center",children:o(y,{ref:l,className:r("flex w-full max-w-md flex-1 flex-col items-center gap-4 sm:flex-row sm:items-start","outline-none focus-within:outline-none","p-6","border-dialog bg-dialog rounded-xl border shadow-lg transition-transform duration-200","data-state-closed:animate-out data-state-closed:fade-out-0 data-state-closed:zoom-out-95 data-state-open:animate-in data-state-open:fade-in-0 data-state-open:zoom-in-95",t),onInteractOutside:n=>{p(n),e?.(n)},onPointerDownOutside:n=>{p(n),i?.(n)},...a})})]}));R.displayName="AlertDialogContent";var b=({className:t,...e})=>o("div",{className:r("flex-1 space-y-4",t),...e});b.displayName="AlertDialogBody";var h=({className:t,...e})=>o("div",{className:r("flex flex-col space-y-2 text-center sm:text-start",t),...e});h.displayName="AlertDialogHeader";var O=({className:t,...e})=>o("div",{className:r("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...e});O.displayName="AlertDialogFooter";var B=s(({className:t,...e},i)=>o(u,{ref:i,className:r("text-strong text-center text-xl font-medium sm:text-start sm:text-lg",t),...e}));B.displayName="AlertDialogTitle";var I=s(({className:t,...e},i)=>o(P,{ref:i,className:r("text-body text-center text-base font-normal sm:text-start sm:text-sm",t),...e}));I.displayName="AlertDialogDescription";var T=s(({appearance:t="filled",...e},i)=>{let a=x(),l="default";return a.priority==="danger"&&(l="danger"),o(m,{appearance:t,priority:l,ref:i,...e})});T.displayName="AlertDialogAction";var w=s(({appearance:t="outlined",className:e,priority:i="neutral",...a},l)=>o(D,{asChild:!0,children:o(m,{appearance:t,className:r("mt-2 sm:mt-0",e),priority:i,ref:l,...a})}));w.displayName="AlertDialogCancel";var E=s(({className:t,svg:e,...i},a)=>{let l=x(),n=l.priority==="danger"?"text-danger-600":"text-accent-600",z=l.priority==="danger"?o(F,{}):o(W,{});return o(g,{ref:a,className:r("size-12 sm:size-7",n,t),svg:e??z,...i})});E.displayName="AlertDialogIcon";export{C as AlertDialog,T as AlertDialogAction,b as AlertDialogBody,w as AlertDialogCancel,R as AlertDialogContent,I as AlertDialogDescription,O as AlertDialogFooter,h as AlertDialogHeader,E as AlertDialogIcon,B as AlertDialogTitle,V as AlertDialogTrigger};
2
2
  //# sourceMappingURL=alert-dialog.js.map
@@ -0,0 +1,2 @@
1
+ import{l as P}from"./chunk-273VK4KO.js";import{a as p}from"./chunk-SMCZZUU4.js";import{a as i}from"./chunk-EW5CFGXT.js";import{CheckCircle as h}from"@phosphor-icons/react/CheckCircle";import{Info as v}from"@phosphor-icons/react/Info";import{Warning as C}from"@phosphor-icons/react/Warning";import{WarningDiamond as b}from"@phosphor-icons/react/WarningDiamond";import{Slot as l}from"@radix-ui/react-slot";import{createContext as f,forwardRef as d,useContext as y}from"react";import*as m from"sonner";import{jsx as r,jsxs as A}from"react/jsx-runtime";var B=({className:t,containerAriaLabel:e,dir:o,duration_ms:s=4e3,position:n="top-center",style:a})=>{let c=P();return r(m.Toaster,{className:i("toaster mantle-prompt pointer-events-auto font-sans *:duration-200",t),containerAriaLabel:e,dir:o,duration:s,gap:12,position:n??"top-center",style:a,theme:c,toastOptions:{unstyled:!0}})},g=f("");function _(t,e){return m.toast.custom(o=>r(g.Provider,{value:o,children:t}),{duration:e?.duration_ms,...e?.id?{id:e.id}:{},unstyled:!0})}var T=f({priority:"info"}),j=d(({asChild:t,children:e,className:o,priority:s,...n},a)=>{let c=t?l:"div";return r(T.Provider,{value:{priority:s},children:A(c,{className:i("relative flex items-start gap-2 text-base sm:text-sm","p-3 pl-[0.9375rem]","bg-popover high-contrast:border-popover rounded rounded-r-[0.3125rem] border border-gray-500/35 shadow-lg",o),ref:a,...n,children:[r(w,{priority:s}),e]})})}),D=d(({className:t,svg:e,...o},s)=>{let n=y(T);switch(n.priority){case"danger":return r(p,{className:i("text-danger-600",t),ref:s,svg:e??r(C,{weight:"fill"}),...o});case"warning":return r(p,{className:i("text-warning-600",t),ref:s,svg:e??r(b,{weight:"fill"}),...o});case"success":return r(p,{className:i("text-success-600",t),ref:s,svg:e??r(h,{weight:"fill"}),...o});case"info":return r(p,{className:i("text-accent-600",t),ref:s,svg:r(v,{weight:"fill"}),...o});default:throw new Error(`Unreachable Case: ${n.priority}`)}}),L=d(({asChild:t,className:e,onClick:o,...s},n)=>{let a=y(g);return r(t?l:"button",{className:i("shrink-0","data-[icon-button]:-mr-0.5 data-[icon-button]:-mt-0.5 data-[icon-button]:rounded-sm",e),onClick:u=>{o?.(u),!u.defaultPrevented&&m.toast.dismiss(a)},ref:n,...s})}),z=d(({asChild:t,className:e,...o},s)=>r(t?l:"p",{className:i("text-strong flex-1 text-base sm:text-sm",e),ref:s,...o}));function F(t){t.target instanceof Element&&t.target.closest(".mantle-prompt")&&t.preventDefault()}var x={info:"bg-accent-600",warning:"bg-warning-600",success:"bg-success-600",danger:"bg-danger-600"};function w({className:t,priority:e,...o}){return r("div",{"aria-hidden":!0,className:i("z-1 absolute -inset-px right-auto w-1.5 rounded-l",x[e],t),...o})}export{B as a,_ as b,j as c,D as d,L as e,z as f,F as g};
2
+ //# sourceMappingURL=chunk-BGLTMLKM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/toast/toast.tsx"],"sourcesContent":["\"use client\";\n\nimport { CheckCircle } from \"@phosphor-icons/react/CheckCircle\";\nimport { Info } from \"@phosphor-icons/react/Info\";\nimport { Warning } from \"@phosphor-icons/react/Warning\";\nimport { WarningDiamond } from \"@phosphor-icons/react/WarningDiamond\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { createContext, forwardRef, useContext, type ComponentProps, type ElementRef, type ReactNode } from \"react\";\nimport * as ToastPrimitive from \"sonner\";\nimport type { WithAsChild } from \"../../types/as-child.js\";\nimport type { WithStyleProps } from \"../../types/with-style-props.js\";\nimport { cx } from \"../../utils/cx/cx.js\";\nimport { Icon } from \"../icon/icon.js\";\nimport type { SvgOnlyProps } from \"../icon/svg-only.js\";\nimport { useAppliedTheme } from \"../theme-provider/theme-provider.js\";\n\ntype ToasterPrimitiveProps = ComponentProps<typeof ToastPrimitive.Toaster>;\ntype ToasterPrimitiveTheme = ToasterPrimitiveProps[\"theme\"];\n\ntype ToasterProps = WithStyleProps &\n\tPick<ToasterPrimitiveProps, \"containerAriaLabel\" | \"dir\" | \"position\"> & {\n\t\t/**\n\t\t * Time in milliseconds that should elapse before automatically dismissing toasts.\n\t\t * When set here, this will be the default duration for all toasts.\n\t\t * @default 4000\n\t\t */\n\t\tduration_ms?: number;\n\t};\n\n/**\n * A container for displaying all toasts.\n *\n * Only one `<Toaster />` should be rendered in an app a time, preferably at the\n * root level of the app.\n */\nconst Toaster = ({\n\t//,\n\tclassName,\n\tcontainerAriaLabel,\n\tdir,\n\tduration_ms = 4000,\n\tposition = \"top-center\",\n\tstyle,\n}: ToasterProps) => {\n\tconst theme = useAppliedTheme();\n\n\treturn (\n\t\t<ToastPrimitive.Toaster\n\t\t\tclassName={cx(\"toaster mantle-prompt pointer-events-auto font-sans *:duration-200\", className)}\n\t\t\tcontainerAriaLabel={containerAriaLabel}\n\t\t\tdir={dir}\n\t\t\tduration={duration_ms}\n\t\t\tgap={12}\n\t\t\tposition={position ?? \"top-center\"}\n\t\t\tstyle={style}\n\t\t\ttheme={theme as ToasterPrimitiveTheme} // we have additional themes that are not in the sonner types, so we need to cast for now\n\t\t\ttoastOptions={{\n\t\t\t\tunstyled: true,\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nconst ToastIdContext = createContext<string | number>(\"\");\n\ntype MakeToastOptions = {\n\t/**\n\t * Time in milliseconds that should elapse before automatically closing the toast.\n\t * Will default to the `<Toaster />`'s `duration_ms` if not provided.\n\t */\n\tduration_ms?: number;\n\t/**\n\t * An optional custom ID for this toast. If not given, a unique ID is provided for you.\n\t */\n\tid?: string;\n};\n\n/**\n * Create a toast. Provide a `<Toast>` component as the `children` to be rendered\n * inside the `<Toaster />` section.\n */\nfunction makeToast(children: ReactNode, options?: MakeToastOptions) {\n\treturn ToastPrimitive.toast.custom(\n\t\t(toastId) => <ToastIdContext.Provider value={toastId}>{children}</ToastIdContext.Provider>,\n\t\t{\n\t\t\t//\n\t\t\tduration: options?.duration_ms,\n\t\t\t// If a custom ID is provided, use it, else use the toastId provided by the sonner library\n\t\t\t// don't set an ID to `undefined` as it breaks the sonner library\n\t\t\t...(options?.id ? { id: options.id } : {}),\n\t\t\tunstyled: true,\n\t\t},\n\t);\n}\n\nconst priorities = [\n\t//,\n\t\"danger\",\n\t\"info\",\n\t\"success\",\n\t\"warning\",\n] as const;\ntype Priority = (typeof priorities)[number];\n\ntype ToastState = {\n\tpriority: Priority;\n};\n\nconst ToastStateContext = createContext<ToastState>({\n\tpriority: \"info\",\n});\n\ntype ToastProps = ComponentProps<\"div\"> &\n\tWithAsChild & {\n\t\tpriority: Priority;\n\t};\n\n/**\n * A succinct message with a priority that is displayed temporarily.\n * Toasts are used to provide feedback to the user without interrupting their workflow.\n */\nconst Toast = forwardRef<ElementRef<\"div\">, ToastProps>(({ asChild, children, className, priority, ...props }, ref) => {\n\tconst Component = asChild ? Slot : \"div\";\n\n\treturn (\n\t\t<ToastStateContext.Provider value={{ priority }}>\n\t\t\t<Component\n\t\t\t\tclassName={cx(\n\t\t\t\t\t\"relative flex items-start gap-2 text-base sm:text-sm\",\n\t\t\t\t\t\"p-3 pl-[0.9375rem]\",\n\t\t\t\t\t\"bg-popover high-contrast:border-popover rounded rounded-r-[0.3125rem] border border-gray-500/35 shadow-lg\",\n\t\t\t\t\t/**\n\t\t\t\t\t * Do not apply overflow-hidden because we want the priority bar accent\n\t\t\t\t\t * to overlap the toast border, else the border flows over the\n\t\t\t\t\t * priority bar.\n\t\t\t\t\t */\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<PriorityBarAccent priority={priority} />\n\t\t\t\t{children}\n\t\t\t</Component>\n\t\t</ToastStateContext.Provider>\n\t);\n});\n\ntype ToastIconProps = Partial<SvgOnlyProps>;\n\n/**\n * An icon that visually represents the priority of the toast.\n * If you do not provide an icon, the default icon and color for the priority is used.\n */\nconst ToastIcon = forwardRef<ElementRef<\"svg\">, ToastIconProps>(({ className, svg, ...props }, ref) => {\n\tconst ctx = useContext(ToastStateContext);\n\n\tswitch (ctx.priority) {\n\t\tcase \"danger\":\n\t\t\treturn (\n\t\t\t\t<Icon\n\t\t\t\t\tclassName={cx(\"text-danger-600\", className)}\n\t\t\t\t\tref={ref}\n\t\t\t\t\tsvg={svg ?? <Warning weight=\"fill\" />}\n\t\t\t\t\t{...props}\n\t\t\t\t/>\n\t\t\t);\n\t\tcase \"warning\":\n\t\t\treturn (\n\t\t\t\t<Icon\n\t\t\t\t\tclassName={cx(\"text-warning-600\", className)}\n\t\t\t\t\tref={ref}\n\t\t\t\t\tsvg={svg ?? <WarningDiamond weight=\"fill\" />}\n\t\t\t\t\t{...props}\n\t\t\t\t/>\n\t\t\t);\n\t\tcase \"success\":\n\t\t\treturn (\n\t\t\t\t<Icon\n\t\t\t\t\tclassName={cx(\"text-success-600\", className)}\n\t\t\t\t\tref={ref}\n\t\t\t\t\tsvg={svg ?? <CheckCircle weight=\"fill\" />}\n\t\t\t\t\t{...props}\n\t\t\t\t/>\n\t\t\t);\n\t\tcase \"info\":\n\t\t\treturn (\n\t\t\t\t<Icon\n\t\t\t\t\t//\n\t\t\t\t\tclassName={cx(\"text-accent-600\", className)}\n\t\t\t\t\tref={ref}\n\t\t\t\t\tsvg={<Info weight=\"fill\" />}\n\t\t\t\t\t{...props}\n\t\t\t\t/>\n\t\t\t);\n\t\tdefault:\n\t\t\tthrow new Error(`Unreachable Case: ${ctx.priority}`);\n\t}\n});\n\ntype ToastActionProps = ComponentProps<\"button\"> & WithAsChild;\n\n/**\n * A button that dismisses the toast when clicked.\n * You can prevent the toast from being dismissed `onClick` by calling `event.preventDefault()`\n */\nconst ToastAction = forwardRef<ElementRef<\"button\">, ToastActionProps>(\n\t({ asChild, className, onClick, ...props }, ref) => {\n\t\tconst ctx = useContext(ToastIdContext);\n\n\t\tconst Component = asChild ? Slot : \"button\";\n\n\t\treturn (\n\t\t\t<Component\n\t\t\t\tclassName={cx(\n\t\t\t\t\t//,\n\t\t\t\t\t\"shrink-0\",\n\t\t\t\t\t// 👇 wiggle the bits so that icon buttons toast actions are aligned with the toast icon\n\t\t\t\t\t\"data-[icon-button]:-mr-0.5 data-[icon-button]:-mt-0.5 data-[icon-button]:rounded-sm\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\tonClick?.(event);\n\t\t\t\t\tif (event.defaultPrevented) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tToastPrimitive.toast.dismiss(ctx);\n\t\t\t\t}}\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t},\n);\n\ntype ToastMessageProps = ComponentProps<\"p\"> & WithAsChild;\n\n/**\n * The message content of the toast.\n */\nconst ToastMessage = forwardRef<ElementRef<\"p\">, ToastMessageProps>(({ asChild, className, ...props }, ref) => {\n\tconst Component = asChild ? Slot : \"p\";\n\n\treturn (\n\t\t<Component\n\t\t\t//\n\t\t\tclassName={cx(\"text-strong flex-1 text-base sm:text-sm\", className)}\n\t\t\tref={ref}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nexport {\n\t//,\n\tmakeToast,\n\tToast,\n\tToastAction,\n\tToaster,\n\tToastIcon,\n\tToastMessage,\n};\n\nexport type {\n\t//,\n\tPriority,\n};\n\n/**\n * @private\n *\n * Allows any mantle floating prompt (e.g. toasts and notifications) to be interacted with\n * even when a modaled view (e.g. dialog, sheet, etc) is open and a focus trap is active.\n *\n * Without this, interacting with the prompt would close the modaled view.\n */\nexport function preventCloseOnPromptInteraction(\n\tevent: CustomEvent | PointerEvent | MouseEvent | TouchEvent | FocusEvent,\n) {\n\tif (!(event.target instanceof Element)) {\n\t\treturn;\n\t}\n\n\tif (event.target.closest(\".mantle-prompt\")) {\n\t\tevent.preventDefault();\n\t}\n}\n\nconst priorityBackgroundColor = {\n\tinfo: \"bg-accent-600\",\n\twarning: \"bg-warning-600\",\n\tsuccess: \"bg-success-600\",\n\tdanger: \"bg-danger-600\",\n} as const satisfies Record<Priority, string>;\n\ntype PriorityBarAccentProps = Omit<ComponentProps<\"div\">, \"children\"> & { priority: Priority };\n\n/**\n * @private\n *\n * A colored bar that visually represents the priority of the toast.\n */\nfunction PriorityBarAccent({ className, priority, ...props }: PriorityBarAccentProps) {\n\treturn (\n\t\t<div\n\t\t\taria-hidden\n\t\t\tclassName={cx(\n\t\t\t\t//\n\t\t\t\t\"z-1 absolute -inset-px right-auto w-1.5 rounded-l\",\n\t\t\t\tpriorityBackgroundColor[priority],\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n"],"mappings":"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","names":["CheckCircle","Info","Warning","WarningDiamond","Slot","createContext","forwardRef","useContext","ToastPrimitive","jsx","jsxs","Toaster","className","containerAriaLabel","dir","duration_ms","position","style","theme","useAppliedTheme","cx","ToastIdContext","createContext","makeToast","children","options","toastId","ToastStateContext","createContext","Toast","forwardRef","asChild","children","className","priority","props","ref","Component","Slot","jsx","jsxs","cx","PriorityBarAccent","ToastIcon","svg","ctx","useContext","Icon","Warning","WarningDiamond","CheckCircle","Info","ToastAction","onClick","ToastIdContext","event","ToastMessage","preventCloseOnPromptInteraction","event","priorityBackgroundColor","PriorityBarAccent","className","priority","props","jsx","cx"]}
package/dist/dialog.js CHANGED
@@ -1,2 +1,2 @@
1
- import{a as P,b as v,c as u,d as m,e as p,f as d,g,h as D}from"./chunk-J4X3ODX7.js";import{g as c}from"./chunk-CD26UMMG.js";import"./chunk-273VK4KO.js";import"./chunk-D3XF6J5A.js";import{a as y}from"./chunk-BU7JVIWF.js";import"./chunk-4LSFAAZW.js";import"./chunk-RDMTCZPT.js";import"./chunk-72TJUKMV.js";import"./chunk-SMCZZUU4.js";import"./chunk-VJPVAY5J.js";import{a}from"./chunk-EW5CFGXT.js";import{X as I}from"@phosphor-icons/react/X";import{forwardRef as r}from"react";import{jsx as i,jsxs as W}from"react/jsx-runtime";var O=P,T=v,C=u,z=m,f=r(({className:o,...e},t)=>i(p,{ref:t,className:a("bg-overlay data-state-closed:animate-out data-state-closed:fade-out-0 data-state-open:animate-in data-state-open:fade-in-0 fixed inset-0 z-50 backdrop-blur-sm",o),...e}));f.displayName=p.displayName;var x=r(({children:o,className:e,onInteractOutside:t,onPointerDownOutside:n,...s},w)=>W(C,{children:[i(f,{}),i("div",{className:"fixed inset-4 z-50 flex items-center justify-center",children:i(d,{className:a("flex max-h-full w-full max-w-lg flex-1 flex-col","outline-none focus-within:outline-none","border-dialog bg-dialog rounded-xl border shadow-lg transition-transform duration-200","data-state-closed:animate-out data-state-closed:fade-out-0 data-state-closed:zoom-out-95 data-state-open:animate-in data-state-open:fade-in-0 data-state-open:zoom-in-95",e),onInteractOutside:l=>{c(l),t?.(l)},onPointerDownOutside:l=>{c(l),n?.(l)},ref:w,...s,children:o})})]}));x.displayName=d.displayName;var N=({className:o,children:e,...t})=>i("div",{className:a("border-dialog-muted text-strong relative flex shrink-0 items-center justify-between gap-2 border-b px-6 py-4","has-[.icon-button]:pr-4",o),...t,children:e});N.displayName="DialogHeader";var E=({size:o="md",type:e="button",label:t="Close Dialog",appearance:n="ghost",...s})=>i(m,{asChild:!0,children:i(y,{appearance:n,icon:i(I,{}),label:t,size:o,type:e,...s})}),b=({className:o,...e})=>i("div",{className:a("scrollbar text-body flex-1 overflow-y-auto p-6",o),...e});b.displayName="DialogBody";var h=({className:o,...e})=>i("div",{className:a("border-dialog-muted flex shrink-0 flex-row-reverse gap-2 border-t px-6 py-4",o),...e});h.displayName="DialogFooter";var R=r(({className:o,...e},t)=>i(g,{ref:t,className:a("text-strong truncate text-lg font-medium",o),...e}));R.displayName=g.displayName;var B=r(({className:o,...e},t)=>i(D,{ref:t,className:a("text-muted",o),...e}));B.displayName=D.displayName;export{O as Dialog,b as DialogBody,z as DialogClose,E as DialogCloseIconButton,x as DialogContent,B as DialogDescription,h as DialogFooter,N as DialogHeader,f as DialogOverlay,C as DialogPortal,R as DialogTitle,T as DialogTrigger};
1
+ import{a as P,b as v,c as u,d as m,e as p,f as d,g,h as D}from"./chunk-J4X3ODX7.js";import{g as c}from"./chunk-BGLTMLKM.js";import"./chunk-273VK4KO.js";import"./chunk-D3XF6J5A.js";import{a as y}from"./chunk-BU7JVIWF.js";import"./chunk-4LSFAAZW.js";import"./chunk-RDMTCZPT.js";import"./chunk-72TJUKMV.js";import"./chunk-SMCZZUU4.js";import"./chunk-VJPVAY5J.js";import{a}from"./chunk-EW5CFGXT.js";import{X as I}from"@phosphor-icons/react/X";import{forwardRef as r}from"react";import{jsx as i,jsxs as W}from"react/jsx-runtime";var O=P,T=v,C=u,z=m,f=r(({className:o,...e},t)=>i(p,{ref:t,className:a("bg-overlay data-state-closed:animate-out data-state-closed:fade-out-0 data-state-open:animate-in data-state-open:fade-in-0 fixed inset-0 z-50 backdrop-blur-sm",o),...e}));f.displayName=p.displayName;var x=r(({children:o,className:e,onInteractOutside:t,onPointerDownOutside:n,...s},w)=>W(C,{children:[i(f,{}),i("div",{className:"fixed inset-4 z-50 flex items-center justify-center",children:i(d,{className:a("flex max-h-full w-full max-w-lg flex-1 flex-col","outline-none focus-within:outline-none","border-dialog bg-dialog rounded-xl border shadow-lg transition-transform duration-200","data-state-closed:animate-out data-state-closed:fade-out-0 data-state-closed:zoom-out-95 data-state-open:animate-in data-state-open:fade-in-0 data-state-open:zoom-in-95",e),onInteractOutside:l=>{c(l),t?.(l)},onPointerDownOutside:l=>{c(l),n?.(l)},ref:w,...s,children:o})})]}));x.displayName=d.displayName;var N=({className:o,children:e,...t})=>i("div",{className:a("border-dialog-muted text-strong relative flex shrink-0 items-center justify-between gap-2 border-b px-6 py-4","has-[.icon-button]:pr-4",o),...t,children:e});N.displayName="DialogHeader";var E=({size:o="md",type:e="button",label:t="Close Dialog",appearance:n="ghost",...s})=>i(m,{asChild:!0,children:i(y,{appearance:n,icon:i(I,{}),label:t,size:o,type:e,...s})}),b=({className:o,...e})=>i("div",{className:a("scrollbar text-body flex-1 overflow-y-auto p-6",o),...e});b.displayName="DialogBody";var h=({className:o,...e})=>i("div",{className:a("border-dialog-muted flex shrink-0 flex-row-reverse gap-2 border-t px-6 py-4",o),...e});h.displayName="DialogFooter";var R=r(({className:o,...e},t)=>i(g,{ref:t,className:a("text-strong truncate text-lg font-medium",o),...e}));R.displayName=g.displayName;var B=r(({className:o,...e},t)=>i(D,{ref:t,className:a("text-muted",o),...e}));B.displayName=D.displayName;export{O as Dialog,b as DialogBody,z as DialogClose,E as DialogCloseIconButton,x as DialogContent,B as DialogDescription,h as DialogFooter,N as DialogHeader,f as DialogOverlay,C as DialogPortal,R as DialogTitle,T as DialogTrigger};
2
2
  //# sourceMappingURL=dialog.js.map
package/dist/sheet.js CHANGED
@@ -1,2 +1,2 @@
1
- import{a as u,b as v,c as P,d as m,e as d,f as p,g as h,h as f}from"./chunk-J4X3ODX7.js";import{g as c}from"./chunk-CD26UMMG.js";import"./chunk-273VK4KO.js";import"./chunk-D3XF6J5A.js";import{a as y}from"./chunk-BU7JVIWF.js";import"./chunk-4LSFAAZW.js";import"./chunk-RDMTCZPT.js";import"./chunk-72TJUKMV.js";import"./chunk-SMCZZUU4.js";import"./chunk-VJPVAY5J.js";import{a as r}from"./chunk-EW5CFGXT.js";import{X as D}from"@phosphor-icons/react/X";import{cva as E}from"class-variance-authority";import{forwardRef as s}from"react";import{jsx as i,jsxs as W}from"react/jsx-runtime";var L=u,M=v,w=m,b=P,S=s(({className:e,...t},o)=>i(d,{className:r("bg-overlay data-state-closed:animate-out data-state-closed:fade-out-0 data-state-open:animate-in data-state-open:fade-in-0 fixed inset-0 z-40 backdrop-blur-sm",e),...t,ref:o}));S.displayName=d.displayName;var O=E("bg-dialog data-state-closed:duration-100 data-state-closed:animate-out data-state-open:duration-100 data-state-open:animate-in fixed z-40 flex flex-col shadow-lg outline-none transition ease-in-out focus-within:outline-none",{variants:{side:{top:"border-dialog data-state-closed:slide-out-to-top data-state-open:slide-in-from-top inset-x-0 top-0 border-b",bottom:"border-dialog data-state-closed:slide-out-to-bottom data-state-open:slide-in-from-bottom inset-x-0 bottom-0 border-t",left:"border-dialog data-state-closed:slide-out-to-left data-state-open:slide-in-from-left inset-y-0 left-0 h-full w-full border-r sm:max-w-[30rem]",right:"border-dialog data-state-closed:slide-out-to-right data-state-open:slide-in-from-right inset-y-0 right-0 h-full w-full border-l sm:max-w-[30rem]"}},defaultVariants:{side:"right"}}),g=s(({children:e,className:t,onInteractOutside:o,onPointerDownOutside:a,side:l="right",...R},H)=>W(b,{children:[i(S,{}),i(p,{className:r(O({side:l}),t),onInteractOutside:n=>{c(n),o?.(n)},onPointerDownOutside:n=>{c(n),a?.(n)},ref:H,...R,children:e})]}));g.displayName=p.displayName;var A=({size:e="md",type:t="button",label:o="Close Sheet",appearance:a="ghost",...l})=>i(m,{asChild:!0,children:i(y,{appearance:a,icon:i(D,{}),label:o,size:e,type:t,...l})}),B=({className:e,...t})=>i("div",{className:r("scrollbar text-body flex-1 overflow-y-auto p-6",e),...t}),I=({className:e,...t})=>i("div",{className:r("border-dialog-muted flex shrink-0 flex-col gap-2 border-b py-4 pl-6 pr-4","has-[.icon-button]:pr-4",e),...t}),V=({className:e,...t})=>i("div",{className:r("border-dialog-muted flex shrink-0 justify-end gap-2 border-t px-6 py-2.5",e),...t}),C=s(({className:e,...t},o)=>i(h,{ref:o,className:r("text-strong flex-1 truncate text-lg font-medium",e),...t}));C.displayName=h.displayName;var x=s(({children:e,className:t,...o},a)=>i("div",{className:r("flex items-center justify-between gap-2",t),...o,ref:a,children:e}));x.displayName="SheetTitleGroup";var T=s(({className:e,...t},o)=>i(f,{ref:o,className:r("text-body text-sm",e),...t}));T.displayName=f.displayName;var N=s(({children:e,className:t,...o},a)=>i("div",{className:r("flex h-full items-center gap-2",t),...o,ref:a,children:e}));N.displayName="SheetActions";export{L as Sheet,N as SheetActions,B as SheetBody,w as SheetClose,A as SheetCloseIconButton,g as SheetContent,T as SheetDescription,V as SheetFooter,I as SheetHeader,S as SheetOverlay,b as SheetPortal,C as SheetTitle,x as SheetTitleGroup,M as SheetTrigger};
1
+ import{a as u,b as v,c as P,d as m,e as d,f as p,g as h,h as f}from"./chunk-J4X3ODX7.js";import{g as c}from"./chunk-BGLTMLKM.js";import"./chunk-273VK4KO.js";import"./chunk-D3XF6J5A.js";import{a as y}from"./chunk-BU7JVIWF.js";import"./chunk-4LSFAAZW.js";import"./chunk-RDMTCZPT.js";import"./chunk-72TJUKMV.js";import"./chunk-SMCZZUU4.js";import"./chunk-VJPVAY5J.js";import{a as r}from"./chunk-EW5CFGXT.js";import{X as D}from"@phosphor-icons/react/X";import{cva as E}from"class-variance-authority";import{forwardRef as s}from"react";import{jsx as i,jsxs as W}from"react/jsx-runtime";var L=u,M=v,w=m,b=P,S=s(({className:e,...t},o)=>i(d,{className:r("bg-overlay data-state-closed:animate-out data-state-closed:fade-out-0 data-state-open:animate-in data-state-open:fade-in-0 fixed inset-0 z-40 backdrop-blur-sm",e),...t,ref:o}));S.displayName=d.displayName;var O=E("bg-dialog data-state-closed:duration-100 data-state-closed:animate-out data-state-open:duration-100 data-state-open:animate-in fixed z-40 flex flex-col shadow-lg outline-none transition ease-in-out focus-within:outline-none",{variants:{side:{top:"border-dialog data-state-closed:slide-out-to-top data-state-open:slide-in-from-top inset-x-0 top-0 border-b",bottom:"border-dialog data-state-closed:slide-out-to-bottom data-state-open:slide-in-from-bottom inset-x-0 bottom-0 border-t",left:"border-dialog data-state-closed:slide-out-to-left data-state-open:slide-in-from-left inset-y-0 left-0 h-full w-full border-r sm:max-w-[30rem]",right:"border-dialog data-state-closed:slide-out-to-right data-state-open:slide-in-from-right inset-y-0 right-0 h-full w-full border-l sm:max-w-[30rem]"}},defaultVariants:{side:"right"}}),g=s(({children:e,className:t,onInteractOutside:o,onPointerDownOutside:a,side:l="right",...R},H)=>W(b,{children:[i(S,{}),i(p,{className:r(O({side:l}),t),onInteractOutside:n=>{c(n),o?.(n)},onPointerDownOutside:n=>{c(n),a?.(n)},ref:H,...R,children:e})]}));g.displayName=p.displayName;var A=({size:e="md",type:t="button",label:o="Close Sheet",appearance:a="ghost",...l})=>i(m,{asChild:!0,children:i(y,{appearance:a,icon:i(D,{}),label:o,size:e,type:t,...l})}),B=({className:e,...t})=>i("div",{className:r("scrollbar text-body flex-1 overflow-y-auto p-6",e),...t}),I=({className:e,...t})=>i("div",{className:r("border-dialog-muted flex shrink-0 flex-col gap-2 border-b py-4 pl-6 pr-4","has-[.icon-button]:pr-4",e),...t}),V=({className:e,...t})=>i("div",{className:r("border-dialog-muted flex shrink-0 justify-end gap-2 border-t px-6 py-2.5",e),...t}),C=s(({className:e,...t},o)=>i(h,{ref:o,className:r("text-strong flex-1 truncate text-lg font-medium",e),...t}));C.displayName=h.displayName;var x=s(({children:e,className:t,...o},a)=>i("div",{className:r("flex items-center justify-between gap-2",t),...o,ref:a,children:e}));x.displayName="SheetTitleGroup";var T=s(({className:e,...t},o)=>i(f,{ref:o,className:r("text-body text-sm",e),...t}));T.displayName=f.displayName;var N=s(({children:e,className:t,...o},a)=>i("div",{className:r("flex h-full items-center gap-2",t),...o,ref:a,children:e}));N.displayName="SheetActions";export{L as Sheet,N as SheetActions,B as SheetBody,w as SheetClose,A as SheetCloseIconButton,g as SheetContent,T as SheetDescription,V as SheetFooter,I as SheetHeader,S as SheetOverlay,b as SheetPortal,C as SheetTitle,x as SheetTitleGroup,M as SheetTrigger};
2
2
  //# sourceMappingURL=sheet.js.map
package/dist/tabs.js CHANGED
@@ -1,2 +1,2 @@
1
- import{a as i}from"./chunk-EW5CFGXT.js";import{Content as f,List as T,Root as c,Trigger as u}from"@radix-ui/react-tabs";import v from"clsx";import{createContext as x,forwardRef as n,useContext as g}from"react";import{jsx as s,jsxs as y}from"react/jsx-runtime";var b=x({orientation:"horizontal"}),l=n(({className:e,children:r,orientation:t="horizontal",...o},a)=>s(c,{className:i("flex gap-4",t==="horizontal"?"flex-col":"flex-row",e),orientation:t,ref:a,...o,children:s(b.Provider,{value:{orientation:t},children:r})}));l.displayName="Tabs";var m=n(({className:e,...r},t)=>{let o=g(b);return s(T,{"aria-orientation":o.orientation,className:i("flex border-gray-200",o.orientation==="horizontal"?"flex-row items-center gap-6 border-b":"flex-col items-end gap-[0.875rem] self-stretch border-r",e),ref:t,...r})});m.displayName="TabsList";var p=n(({children:e,className:r,...t},o)=>{let a=g(b);return y(u,{className:i("group/tab-trigger relative flex cursor-pointer items-center gap-1 whitespace-nowrap py-3 text-sm font-medium text-gray-600",a.orientation==="horizontal"&&"rounded-tl-md rounded-tr-md",a.orientation==="vertical"&&"rounded-bl-md rounded-tl-md pr-3","ring-focus-accent outline-none","disabled:cursor-default disabled:opacity-50","focus-visible:ring-4","[&>svg]:size-6 [&>svg]:shrink-0 [&>svg]:sm:size-5","not-disabled:hover:text-gray-900 not-disabled:hover:data-state-active:text-blue-600","data-state-active:text-blue-600",r),ref:o,...t,children:[s("span",{"aria-hidden":!0,className:v("z-1 group-data-state-active/tab-trigger:bg-blue-600 absolute",a.orientation==="horizontal"&&"-bottom-px left-0 right-0 h-[0.1875rem]",a.orientation==="vertical"&&"-right-px bottom-0 top-0 w-[0.1875rem]")}),e]})});p.displayName="TabsTrigger";var h=({className:e,children:r,...t})=>s("span",{className:i("rounded-full bg-gray-500/20 px-1.5 text-xs font-medium text-gray-600","group-data-state-active/tab-trigger:bg-blue-500/20 group-data-state-active/tab-trigger:text-blue-700 group-hover/tab-trigger:group-enabled/tab-trigger:group-data-state-active/tab-trigger:text-blue-700","group-hover/tab-trigger:group-enabled/tab-trigger:text-gray-700",e),...t,children:r}),d=n(({className:e,...r},t)=>s(f,{ref:t,className:i("focus-visible:ring-focus-accent outline-none focus-visible:ring-4",e),...r}));d.displayName="TabsContent";export{h as TabBadge,l as Tabs,d as TabsContent,m as TabsList,p as TabsTrigger};
1
+ import{a as T}from"./chunk-RDMTCZPT.js";import{a as o}from"./chunk-EW5CFGXT.js";import{Content as L,List as N,Root as E,Trigger as f}from"@radix-ui/react-tabs";import w from"clsx";import{Children as S,cloneElement as W,createContext as B,forwardRef as n,isValidElement as H,useContext as m}from"react";import M from"tiny-invariant";import{Fragment as A,jsx as r,jsxs as v}from"react/jsx-runtime";var g=B({orientation:"horizontal"}),x=n(({className:t,children:a,orientation:e="horizontal",...i},s)=>r(E,{className:o("flex gap-4",e==="horizontal"?"flex-col":"flex-row",t),orientation:e,ref:s,...i,children:r(g.Provider,{value:{orientation:e},children:a})}));x.displayName="Tabs";var h=n(({className:t,...a},e)=>{let i=m(g);return r(N,{"aria-orientation":i.orientation,className:o("flex border-gray-200",i.orientation==="horizontal"?"flex-row items-center gap-6 border-b":"flex-col items-end gap-[0.875rem] self-stretch border-r",t),ref:e,...a})});h.displayName="TabsList";var u=()=>{let t=m(g);return r("span",{"aria-hidden":!0,className:w("group-data-state-active/tab-trigger:bg-blue-600 absolute z-0",t.orientation==="horizontal"&&"-bottom-px left-0 right-0 h-[0.1875rem]",t.orientation==="vertical"&&"-right-px bottom-0 top-0 w-[0.1875rem]")})},P=n(({"aria-disabled":t,asChild:a=!1,children:e,className:i,disabled:s,...C},p)=>{let d=m(g),l=T(t??s),c={"aria-disabled":t??s,className:o("group/tab-trigger relative flex cursor-pointer items-center gap-1 whitespace-nowrap py-3 text-sm font-medium text-gray-600",d.orientation==="horizontal"&&"rounded-tl-md rounded-tr-md",d.orientation==="vertical"&&"rounded-bl-md rounded-tl-md pr-3","ring-focus-accent outline-none","aria-disabled:cursor-default aria-disabled:opacity-50","focus-visible:ring-4","[&>svg]:size-6 [&>svg]:shrink-0 [&>svg]:sm:size-5","not-aria-disabled:hover:text-gray-900 not-aria-disabled:hover:data-state-active:text-blue-600","data-state-active:text-blue-600",i),disabled:l,...C};if(a){let b=S.only(e);M(H(b),"When using `asChild`, TabsTrigger must be passed a single child as a JSX tag.");let R=b.props?.children,z={...l?{href:void 0,to:void 0}:{tabIndex:0}};return r(f,{asChild:!0,...c,ref:p,children:W(l?r("button",{type:"button"}):b,z,v(A,{children:[r(u,{}),R]}))})}return v(f,{ref:p,...c,children:[r(u,{}),e]})});P.displayName="TabsTrigger";var V=({className:t,children:a,...e})=>r("span",{className:o("rounded-full bg-gray-500/20 px-1.5 text-xs font-medium text-gray-600","group-data-state-active/tab-trigger:bg-blue-500/20 group-data-state-active/tab-trigger:text-blue-700 group-hover/tab-trigger:group-enabled/tab-trigger:group-data-state-active/tab-trigger:text-blue-700","group-hover/tab-trigger:group-enabled/tab-trigger:text-gray-700",t),...e,children:a}),y=n(({className:t,...a},e)=>r(L,{ref:e,className:o("focus-visible:ring-focus-accent outline-none focus-visible:ring-4",t),...a}));y.displayName="TabsContent";export{V as TabBadge,x as Tabs,y as TabsContent,h as TabsList,P as TabsTrigger};
2
2
  //# sourceMappingURL=tabs.js.map
package/dist/tabs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/tabs/tabs.tsx"],"sourcesContent":["import {\n\tContent as TabsPrimitiveContent,\n\tList as TabsPrimitiveList,\n\tRoot as TabsPrimitiveRoot,\n\tTrigger as TabsPrimitiveTrigger,\n} from \"@radix-ui/react-tabs\";\nimport clsx from \"clsx\";\nimport { createContext, forwardRef, useContext } from \"react\";\nimport type { ComponentPropsWithoutRef, ElementRef, HTMLAttributes } from \"react\";\nimport { cx } from \"../../utils/cx/cx.js\";\n\ntype TabsStateContextValue = {\n\torientation: \"horizontal\" | \"vertical\";\n};\n\nconst TabsStateContext = createContext<TabsStateContextValue>({ orientation: \"horizontal\" });\n\nconst Tabs = forwardRef<ElementRef<typeof TabsPrimitiveRoot>, ComponentPropsWithoutRef<typeof TabsPrimitiveRoot>>(\n\t({ className, children, orientation = \"horizontal\", ...props }, ref) => (\n\t\t<TabsPrimitiveRoot\n\t\t\tclassName={cx(\"flex gap-4\", orientation === \"horizontal\" ? \"flex-col\" : \"flex-row\", className)}\n\t\t\torientation={orientation}\n\t\t\tref={ref}\n\t\t\t{...props}\n\t\t>\n\t\t\t<TabsStateContext.Provider value={{ orientation }}>{children}</TabsStateContext.Provider>\n\t\t</TabsPrimitiveRoot>\n\t),\n);\nTabs.displayName = \"Tabs\";\n\nconst TabsList = forwardRef<ElementRef<typeof TabsPrimitiveList>, ComponentPropsWithoutRef<typeof TabsPrimitiveList>>(\n\t({ className, ...props }, ref) => {\n\t\tconst ctx = useContext(TabsStateContext);\n\n\t\treturn (\n\t\t\t<TabsPrimitiveList\n\t\t\t\taria-orientation={ctx.orientation}\n\t\t\t\tclassName={cx(\n\t\t\t\t\t\"flex border-gray-200\",\n\t\t\t\t\tctx.orientation === \"horizontal\"\n\t\t\t\t\t\t? \"flex-row items-center gap-6 border-b\"\n\t\t\t\t\t\t: \"flex-col items-end gap-[0.875rem] self-stretch border-r\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t},\n);\nTabsList.displayName = \"TabsList\";\n\ntype TabsTriggerProps = ComponentPropsWithoutRef<typeof TabsPrimitiveTrigger>;\n\nconst TabsTrigger = forwardRef<ElementRef<typeof TabsPrimitiveTrigger>, TabsTriggerProps>(\n\t({ children, className, ...props }, ref) => {\n\t\tconst ctx = useContext(TabsStateContext);\n\n\t\treturn (\n\t\t\t<TabsPrimitiveTrigger\n\t\t\t\tclassName={cx(\n\t\t\t\t\t\"group/tab-trigger relative flex cursor-pointer items-center gap-1 whitespace-nowrap py-3 text-sm font-medium text-gray-600\",\n\t\t\t\t\tctx.orientation === \"horizontal\" && \"rounded-tl-md rounded-tr-md\",\n\t\t\t\t\tctx.orientation === \"vertical\" && \"rounded-bl-md rounded-tl-md pr-3\",\n\t\t\t\t\t\"ring-focus-accent outline-none\",\n\t\t\t\t\t\"disabled:cursor-default disabled:opacity-50\",\n\t\t\t\t\t\"focus-visible:ring-4\",\n\t\t\t\t\t\"[&>svg]:size-6 [&>svg]:shrink-0 [&>svg]:sm:size-5\",\n\t\t\t\t\t\"not-disabled:hover:text-gray-900 not-disabled:hover:data-state-active:text-blue-600\",\n\t\t\t\t\t\"data-state-active:text-blue-600\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<span\n\t\t\t\t\taria-hidden\n\t\t\t\t\tclassName={clsx(\n\t\t\t\t\t\t\"z-1 group-data-state-active/tab-trigger:bg-blue-600 absolute\",\n\t\t\t\t\t\tctx.orientation === \"horizontal\" && \"-bottom-px left-0 right-0 h-[0.1875rem]\",\n\t\t\t\t\t\tctx.orientation === \"vertical\" && \"-right-px bottom-0 top-0 w-[0.1875rem]\",\n\t\t\t\t\t)}\n\t\t\t\t/>\n\t\t\t\t{children}\n\t\t\t</TabsPrimitiveTrigger>\n\t\t);\n\t},\n);\nTabsTrigger.displayName = \"TabsTrigger\";\n\nconst TabBadge = ({ className, children, ...props }: HTMLAttributes<HTMLSpanElement>) => (\n\t<span\n\t\tclassName={cx(\n\t\t\t\"rounded-full bg-gray-500/20 px-1.5 text-xs font-medium text-gray-600\",\n\t\t\t\"group-data-state-active/tab-trigger:bg-blue-500/20 group-data-state-active/tab-trigger:text-blue-700 group-hover/tab-trigger:group-enabled/tab-trigger:group-data-state-active/tab-trigger:text-blue-700\",\n\t\t\t\"group-hover/tab-trigger:group-enabled/tab-trigger:text-gray-700\",\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t>\n\t\t{children}\n\t</span>\n);\n\nconst TabsContent = forwardRef<\n\tElementRef<typeof TabsPrimitiveContent>,\n\tComponentPropsWithoutRef<typeof TabsPrimitiveContent>\n>(({ className, ...props }, ref) => (\n\t<TabsPrimitiveContent\n\t\tref={ref}\n\t\tclassName={cx(\"focus-visible:ring-focus-accent outline-none focus-visible:ring-4\", className)}\n\t\t{...props}\n\t/>\n));\nTabsContent.displayName = \"TabsContent\";\n\nexport {\n\t//\n\tTabBadge,\n\tTabs,\n\tTabsContent,\n\tTabsList,\n\tTabsTrigger,\n};\n"],"mappings":"wCAAA,OACC,WAAWA,EACX,QAAQC,EACR,QAAQC,EACR,WAAWC,MACL,uBACP,OAAOC,MAAU,OACjB,OAAS,iBAAAC,EAAe,cAAAC,EAAY,cAAAC,MAAkB,QAkBnD,cAAAC,EAmCA,QAAAC,MAnCA,oBAVH,IAAMC,EAAmBC,EAAqC,CAAE,YAAa,YAAa,CAAC,EAErFC,EAAOC,EACZ,CAAC,CAAE,UAAAC,EAAW,SAAAC,EAAU,YAAAC,EAAc,aAAc,GAAGC,CAAM,EAAGC,IAC/DV,EAACW,EAAA,CACA,UAAWC,EAAG,aAAcJ,IAAgB,aAAe,WAAa,WAAYF,CAAS,EAC7F,YAAaE,EACb,IAAKE,EACJ,GAAGD,EAEJ,SAAAT,EAACE,EAAiB,SAAjB,CAA0B,MAAO,CAAE,YAAAM,CAAY,EAAI,SAAAD,EAAS,EAC9D,CAEF,EACAH,EAAK,YAAc,OAEnB,IAAMS,EAAWR,EAChB,CAAC,CAAE,UAAAC,EAAW,GAAGG,CAAM,EAAGC,IAAQ,CACjC,IAAMI,EAAMC,EAAWb,CAAgB,EAEvC,OACCF,EAACgB,EAAA,CACA,mBAAkBF,EAAI,YACtB,UAAWF,EACV,uBACAE,EAAI,cAAgB,aACjB,uCACA,0DACHR,CACD,EACA,IAAKI,EACJ,GAAGD,EACL,CAEF,CACD,EACAI,EAAS,YAAc,WAIvB,IAAMI,EAAcZ,EACnB,CAAC,CAAE,SAAAE,EAAU,UAAAD,EAAW,GAAGG,CAAM,EAAGC,IAAQ,CAC3C,IAAMI,EAAMC,EAAWb,CAAgB,EAEvC,OACCD,EAACiB,EAAA,CACA,UAAWN,EACV,6HACAE,EAAI,cAAgB,cAAgB,8BACpCA,EAAI,cAAgB,YAAc,mCAClC,iCACA,8CACA,uBACA,oDACA,sFACA,kCACAR,CACD,EACA,IAAKI,EACJ,GAAGD,EAEJ,UAAAT,EAAC,QACA,cAAW,GACX,UAAWmB,EACV,+DACAL,EAAI,cAAgB,cAAgB,0CACpCA,EAAI,cAAgB,YAAc,wCACnC,EACD,EACCP,GACF,CAEF,CACD,EACAU,EAAY,YAAc,cAE1B,IAAMG,EAAW,CAAC,CAAE,UAAAd,EAAW,SAAAC,EAAU,GAAGE,CAAM,IACjDT,EAAC,QACA,UAAWY,EACV,uEACA,2MACA,kEACAN,CACD,EACC,GAAGG,EAEH,SAAAF,EACF,EAGKc,EAAchB,EAGlB,CAAC,CAAE,UAAAC,EAAW,GAAGG,CAAM,EAAGC,IAC3BV,EAACsB,EAAA,CACA,IAAKZ,EACL,UAAWE,EAAG,oEAAqEN,CAAS,EAC3F,GAAGG,EACL,CACA,EACDY,EAAY,YAAc","names":["TabsPrimitiveContent","TabsPrimitiveList","TabsPrimitiveRoot","TabsPrimitiveTrigger","clsx","createContext","forwardRef","useContext","jsx","jsxs","TabsStateContext","createContext","Tabs","forwardRef","className","children","orientation","props","ref","TabsPrimitiveRoot","cx","TabsList","ctx","useContext","TabsPrimitiveList","TabsTrigger","TabsPrimitiveTrigger","clsx","TabBadge","TabsContent","TabsPrimitiveContent"]}
1
+ {"version":3,"sources":["../src/components/tabs/tabs.tsx"],"sourcesContent":["import {\n\tContent as TabsPrimitiveContent,\n\tList as TabsPrimitiveList,\n\tRoot as TabsPrimitiveRoot,\n\tTrigger as TabsPrimitiveTrigger,\n} from \"@radix-ui/react-tabs\";\nimport clsx from \"clsx\";\nimport type { ComponentPropsWithoutRef, ElementRef, HTMLAttributes } from \"react\";\nimport { Children, cloneElement, createContext, forwardRef, isValidElement, useContext } from \"react\";\nimport invariant from \"tiny-invariant\";\nimport { parseBooleanish } from \"../../types/booleanish.js\";\nimport { cx } from \"../../utils/cx/cx.js\";\n\ntype TabsStateContextValue = {\n\torientation: \"horizontal\" | \"vertical\";\n};\n\nconst TabsStateContext = createContext<TabsStateContextValue>({ orientation: \"horizontal\" });\n\nconst Tabs = forwardRef<ElementRef<typeof TabsPrimitiveRoot>, ComponentPropsWithoutRef<typeof TabsPrimitiveRoot>>(\n\t({ className, children, orientation = \"horizontal\", ...props }, ref) => (\n\t\t<TabsPrimitiveRoot\n\t\t\tclassName={cx(\"flex gap-4\", orientation === \"horizontal\" ? \"flex-col\" : \"flex-row\", className)}\n\t\t\torientation={orientation}\n\t\t\tref={ref}\n\t\t\t{...props}\n\t\t>\n\t\t\t<TabsStateContext.Provider value={{ orientation }}>{children}</TabsStateContext.Provider>\n\t\t</TabsPrimitiveRoot>\n\t),\n);\nTabs.displayName = \"Tabs\";\n\nconst TabsList = forwardRef<ElementRef<typeof TabsPrimitiveList>, ComponentPropsWithoutRef<typeof TabsPrimitiveList>>(\n\t({ className, ...props }, ref) => {\n\t\tconst ctx = useContext(TabsStateContext);\n\n\t\treturn (\n\t\t\t<TabsPrimitiveList\n\t\t\t\taria-orientation={ctx.orientation}\n\t\t\t\tclassName={cx(\n\t\t\t\t\t\"flex border-gray-200\",\n\t\t\t\t\tctx.orientation === \"horizontal\"\n\t\t\t\t\t\t? \"flex-row items-center gap-6 border-b\"\n\t\t\t\t\t\t: \"flex-col items-end gap-[0.875rem] self-stretch border-r\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t},\n);\nTabsList.displayName = \"TabsList\";\n\ntype TabsTriggerProps = ComponentPropsWithoutRef<typeof TabsPrimitiveTrigger>;\n\nconst TabsTriggerDecoration = () => {\n\tconst ctx = useContext(TabsStateContext);\n\n\treturn (\n\t\t<span\n\t\t\taria-hidden\n\t\t\tclassName={clsx(\n\t\t\t\t\"group-data-state-active/tab-trigger:bg-blue-600 absolute z-0\",\n\t\t\t\tctx.orientation === \"horizontal\" && \"-bottom-px left-0 right-0 h-[0.1875rem]\",\n\t\t\t\tctx.orientation === \"vertical\" && \"-right-px bottom-0 top-0 w-[0.1875rem]\",\n\t\t\t)}\n\t\t/>\n\t);\n};\n\nconst TabsTrigger = forwardRef<ElementRef<typeof TabsPrimitiveTrigger>, TabsTriggerProps>(\n\t({ \"aria-disabled\": _ariaDisabled, asChild = false, children, className, disabled: _disabled, ...props }, ref) => {\n\t\tconst ctx = useContext(TabsStateContext);\n\t\tconst disabled = parseBooleanish(_ariaDisabled ?? _disabled);\n\n\t\tconst tabsTriggerProps = {\n\t\t\t\"aria-disabled\": _ariaDisabled ?? _disabled,\n\t\t\tclassName: cx(\n\t\t\t\t\"group/tab-trigger relative flex cursor-pointer items-center gap-1 whitespace-nowrap py-3 text-sm font-medium text-gray-600\",\n\t\t\t\tctx.orientation === \"horizontal\" && \"rounded-tl-md rounded-tr-md\",\n\t\t\t\tctx.orientation === \"vertical\" && \"rounded-bl-md rounded-tl-md pr-3\",\n\t\t\t\t\"ring-focus-accent outline-none\",\n\t\t\t\t\"aria-disabled:cursor-default aria-disabled:opacity-50\",\n\t\t\t\t\"focus-visible:ring-4\",\n\t\t\t\t\"[&>svg]:size-6 [&>svg]:shrink-0 [&>svg]:sm:size-5\",\n\t\t\t\t\"not-aria-disabled:hover:text-gray-900 not-aria-disabled:hover:data-state-active:text-blue-600\",\n\t\t\t\t\"data-state-active:text-blue-600\",\n\t\t\t\tclassName,\n\t\t\t),\n\t\t\tdisabled,\n\t\t\t...props,\n\t\t};\n\n\t\tif (asChild) {\n\t\t\tconst singleChild = Children.only(children);\n\t\t\tinvariant(\n\t\t\t\tisValidElement<TabsTriggerProps>(singleChild),\n\t\t\t\t\"When using `asChild`, TabsTrigger must be passed a single child as a JSX tag.\",\n\t\t\t);\n\t\t\tconst grandchildren = singleChild.props?.children;\n\n\t\t\tconst cloneProps = {\n\t\t\t\t...(disabled\n\t\t\t\t\t? /**\n\t\t\t\t\t\t * When disabled, prevent anchor/link children from being clickable by\n\t\t\t\t\t\t * removing their href/to props!\n\t\t\t\t\t\t * This is necessary because `<a>` doesn't support the `disabled`\n\t\t\t\t\t\t * attribute and would be navigable. We could use `pointer-events-none`\n\t\t\t\t\t\t * instead, but don't by default because it would also prevent tooltip\n\t\t\t\t\t\t * interactions, which may be surprising.\n\t\t\t\t\t\t */\n\t\t\t\t\t\t{ href: undefined, to: undefined }\n\t\t\t\t\t: /**\n\t\t\t\t\t\t * when NOT disabled, allow keyboard navigation to the trigger,\n\t\t\t\t\t\t * even for asChild anchors/links\n\t\t\t\t\t\t */\n\t\t\t\t\t\t{ tabIndex: 0 }),\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<TabsPrimitiveTrigger asChild {...tabsTriggerProps} ref={ref}>\n\t\t\t\t\t{cloneElement(\n\t\t\t\t\t\tdisabled ? <button type=\"button\" /> : singleChild,\n\t\t\t\t\t\tcloneProps,\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<TabsTriggerDecoration />\n\t\t\t\t\t\t\t{grandchildren}\n\t\t\t\t\t\t</>,\n\t\t\t\t\t)}\n\t\t\t\t</TabsPrimitiveTrigger>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<TabsPrimitiveTrigger ref={ref} {...tabsTriggerProps}>\n\t\t\t\t<TabsTriggerDecoration />\n\t\t\t\t{children}\n\t\t\t</TabsPrimitiveTrigger>\n\t\t);\n\t},\n);\nTabsTrigger.displayName = \"TabsTrigger\";\n\nconst TabBadge = ({ className, children, ...props }: HTMLAttributes<HTMLSpanElement>) => (\n\t<span\n\t\tclassName={cx(\n\t\t\t\"rounded-full bg-gray-500/20 px-1.5 text-xs font-medium text-gray-600\",\n\t\t\t\"group-data-state-active/tab-trigger:bg-blue-500/20 group-data-state-active/tab-trigger:text-blue-700 group-hover/tab-trigger:group-enabled/tab-trigger:group-data-state-active/tab-trigger:text-blue-700\",\n\t\t\t\"group-hover/tab-trigger:group-enabled/tab-trigger:text-gray-700\",\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t>\n\t\t{children}\n\t</span>\n);\n\nconst TabsContent = forwardRef<\n\tElementRef<typeof TabsPrimitiveContent>,\n\tComponentPropsWithoutRef<typeof TabsPrimitiveContent>\n>(({ className, ...props }, ref) => (\n\t<TabsPrimitiveContent\n\t\tref={ref}\n\t\tclassName={cx(\"focus-visible:ring-focus-accent outline-none focus-visible:ring-4\", className)}\n\t\t{...props}\n\t/>\n));\nTabsContent.displayName = \"TabsContent\";\n\nexport {\n\t//\n\tTabBadge,\n\tTabs,\n\tTabsContent,\n\tTabsList,\n\tTabsTrigger,\n};\n"],"mappings":"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","names":["TabsPrimitiveContent","TabsPrimitiveList","TabsPrimitiveRoot","TabsPrimitiveTrigger","clsx","Children","cloneElement","createContext","forwardRef","isValidElement","useContext","invariant","Fragment","jsx","jsxs","TabsStateContext","createContext","Tabs","forwardRef","className","children","orientation","props","ref","TabsPrimitiveRoot","cx","TabsList","ctx","useContext","TabsPrimitiveList","TabsTriggerDecoration","clsx","TabsTrigger","_ariaDisabled","asChild","_disabled","disabled","parseBooleanish","tabsTriggerProps","singleChild","Children","invariant","isValidElement","grandchildren","cloneProps","TabsPrimitiveTrigger","cloneElement","TabBadge","TabsContent","TabsPrimitiveContent"]}
package/dist/toast.d.ts CHANGED
@@ -39,7 +39,6 @@ type MakeToastOptions = {
39
39
  * inside the `<Toaster />` section.
40
40
  */
41
41
  declare function makeToast(children: ReactNode, options?: MakeToastOptions): string | number;
42
- type ToastActionProps = ComponentProps<"button"> & WithAsChild;
43
42
  declare const priorities: readonly ["danger", "info", "success", "warning"];
44
43
  type Priority = (typeof priorities)[number];
45
44
  type ToastProps = ComponentProps<"div"> & WithAsChild & {
@@ -55,6 +54,7 @@ declare const Toast: react.ForwardRefExoticComponent<Omit<ToastProps, "ref"> & r
55
54
  * If you do not provide an icon, the default icon and color for the priority is used.
56
55
  */
57
56
  declare const ToastIcon: react.ForwardRefExoticComponent<Omit<Partial<SvgOnlyProps>, "ref"> & react.RefAttributes<SVGSVGElement>>;
57
+ type ToastActionProps = ComponentProps<"button"> & WithAsChild;
58
58
  /**
59
59
  * A button that dismisses the toast when clicked.
60
60
  * You can prevent the toast from being dismissed `onClick` by calling `event.preventDefault()`
package/dist/toast.js CHANGED
@@ -1,2 +1,2 @@
1
- import{a as o,b as t,c as s,d as a,e,f as r}from"./chunk-CD26UMMG.js";import"./chunk-273VK4KO.js";import"./chunk-D3XF6J5A.js";import"./chunk-SMCZZUU4.js";import"./chunk-VJPVAY5J.js";import"./chunk-EW5CFGXT.js";export{s as Toast,e as ToastAction,a as ToastIcon,r as ToastMessage,o as Toaster,t as makeToast};
1
+ import{a as o,b as t,c as s,d as a,e,f as r}from"./chunk-BGLTMLKM.js";import"./chunk-273VK4KO.js";import"./chunk-D3XF6J5A.js";import"./chunk-SMCZZUU4.js";import"./chunk-VJPVAY5J.js";import"./chunk-EW5CFGXT.js";export{s as Toast,e as ToastAction,a as ToastIcon,r as ToastMessage,o as Toaster,t as makeToast};
2
2
  //# sourceMappingURL=toast.js.map
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "mantle is ngrok's UI library and design system.",
4
4
  "author": "ngrok",
5
5
  "license": "MIT",
6
- "version": "0.16.0",
6
+ "version": "0.16.2",
7
7
  "homepage": "https://mantle.ngrok.com",
8
8
  "repository": {
9
9
  "type": "git",
@@ -52,10 +52,10 @@
52
52
  "@testing-library/jest-dom": "6.6.3",
53
53
  "@testing-library/react": "16.1.0",
54
54
  "@testing-library/user-event": "14.5.2",
55
- "@types/node": "22.10.1",
55
+ "@types/node": "22.10.2",
56
56
  "@types/prismjs": "1.26.5",
57
- "@types/react": "18.3.14",
58
- "@types/react-dom": "18.3.2",
57
+ "@types/react": "18.3.16",
58
+ "@types/react-dom": "18.3.5",
59
59
  "@vitejs/plugin-react": "4.3.4",
60
60
  "@vitest/ui": "2.1.8",
61
61
  "autoprefixer": "10.4.20",
@@ -71,7 +71,7 @@
71
71
  "typescript": "5.7.2",
72
72
  "vite": "5.4.11",
73
73
  "vitest": "2.1.8",
74
- "zod": "3.23.8",
74
+ "zod": "3.24.1",
75
75
  "@cfg/tsconfig": "1.0.0"
76
76
  },
77
77
  "peerDependencies": {
@@ -81,7 +81,7 @@
81
81
  "react": "^18.3.1",
82
82
  "react-dom": "^18.3.1",
83
83
  "tailwindcss": "^3.4.16",
84
- "zod": "^3.23.8"
84
+ "zod": "^3.24.1"
85
85
  },
86
86
  "exports": {
87
87
  "./mantle.css": "./assets/mantle.css",
@@ -1,2 +0,0 @@
1
- import{l as P}from"./chunk-273VK4KO.js";import{a as p}from"./chunk-SMCZZUU4.js";import{a as i}from"./chunk-EW5CFGXT.js";import{CheckCircle as h}from"@phosphor-icons/react/CheckCircle";import{Info as v}from"@phosphor-icons/react/Info";import{Warning as C}from"@phosphor-icons/react/Warning";import{WarningDiamond as b}from"@phosphor-icons/react/WarningDiamond";import{Slot as l}from"@radix-ui/react-slot";import{createContext as f,forwardRef as d,useContext as y}from"react";import*as m from"sonner";import{jsx as r,jsxs as A}from"react/jsx-runtime";var B=({className:t,containerAriaLabel:e,dir:o,duration_ms:s=4e3,position:n="top-center",style:a})=>{let c=P();return r(m.Toaster,{className:i("toaster mantle-prompt pointer-events-auto font-sans *:duration-200",t),containerAriaLabel:e,dir:o,duration:s,gap:12,position:n??"top-center",style:a,theme:c,toastOptions:{unstyled:!0}})},g=f("");function _(t,e){return m.toast.custom(o=>r(g.Provider,{value:e?.id??o,children:t}),{duration:e?.duration_ms,id:e?.id,unstyled:!0})}var T=f({priority:"info"}),j=d(({asChild:t,children:e,className:o,priority:s,...n},a)=>{let c=t?l:"div";return r(T.Provider,{value:{priority:s},children:A(c,{className:i("relative flex items-start gap-2 text-base sm:text-sm","p-3 pl-[0.9375rem]","bg-popover high-contrast:border-popover rounded rounded-r-[0.3125rem] border border-gray-500/35 shadow-lg",o),ref:a,...n,children:[r(w,{priority:s}),e]})})}),D=d(({className:t,svg:e,...o},s)=>{let n=y(T);switch(n.priority){case"danger":return r(p,{className:i("text-danger-600",t),ref:s,svg:e??r(C,{weight:"fill"}),...o});case"warning":return r(p,{className:i("text-warning-600",t),ref:s,svg:e??r(b,{weight:"fill"}),...o});case"success":return r(p,{className:i("text-success-600",t),ref:s,svg:e??r(h,{weight:"fill"}),...o});case"info":return r(p,{className:i("text-accent-600",t),ref:s,svg:r(v,{weight:"fill"}),...o});default:throw new Error(`Unreachable Case: ${n.priority}`)}}),L=d(({asChild:t,className:e,onClick:o,...s},n)=>{let a=y(g);return r(t?l:"button",{className:i("shrink-0","data-[icon-button]:-mr-0.5 data-[icon-button]:-mt-0.5 data-[icon-button]:rounded-sm",e),onClick:u=>{o?.(u),!u.defaultPrevented&&m.toast.dismiss(a)},ref:n,...s})}),z=d(({asChild:t,className:e,...o},s)=>r(t?l:"p",{className:i("text-strong flex-1 text-base sm:text-sm",e),ref:s,...o}));function F(t){t.target instanceof Element&&t.target.closest(".mantle-prompt")&&t.preventDefault()}var x={info:"bg-accent-600",warning:"bg-warning-600",success:"bg-success-600",danger:"bg-danger-600"};function w({className:t,priority:e,...o}){return r("div",{"aria-hidden":!0,className:i("z-1 absolute -inset-px right-auto w-1.5 rounded-l",x[e],t),...o})}export{B as a,_ as b,j as c,D as d,L as e,z as f,F as g};
2
- //# sourceMappingURL=chunk-CD26UMMG.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/toast/toast.tsx"],"sourcesContent":["\"use client\";\n\nimport { CheckCircle } from \"@phosphor-icons/react/CheckCircle\";\nimport { Info } from \"@phosphor-icons/react/Info\";\nimport { Warning } from \"@phosphor-icons/react/Warning\";\nimport { WarningDiamond } from \"@phosphor-icons/react/WarningDiamond\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { createContext, forwardRef, useContext, type ComponentProps, type ElementRef, type ReactNode } from \"react\";\nimport * as ToastPrimitive from \"sonner\";\nimport type { WithAsChild } from \"../../types/as-child.js\";\nimport type { WithStyleProps } from \"../../types/with-style-props.js\";\nimport { cx } from \"../../utils/cx/cx.js\";\nimport { Icon } from \"../icon/icon.js\";\nimport type { SvgOnlyProps } from \"../icon/svg-only.js\";\nimport { useAppliedTheme } from \"../theme-provider/theme-provider.js\";\n\ntype ToasterPrimitiveProps = ComponentProps<typeof ToastPrimitive.Toaster>;\ntype ToasterPrimitiveTheme = ToasterPrimitiveProps[\"theme\"];\n\ntype ToasterProps = WithStyleProps &\n\tPick<ToasterPrimitiveProps, \"containerAriaLabel\" | \"dir\" | \"position\"> & {\n\t\t/**\n\t\t * Time in milliseconds that should elapse before automatically dismissing toasts.\n\t\t * When set here, this will be the default duration for all toasts.\n\t\t * @default 4000\n\t\t */\n\t\tduration_ms?: number;\n\t};\n\n/**\n * A container for displaying all toasts.\n *\n * Only one `<Toaster />` should be rendered in an app a time, preferably at the\n * root level of the app.\n */\nconst Toaster = ({\n\t//,\n\tclassName,\n\tcontainerAriaLabel,\n\tdir,\n\tduration_ms = 4000,\n\tposition = \"top-center\",\n\tstyle,\n}: ToasterProps) => {\n\tconst theme = useAppliedTheme();\n\n\treturn (\n\t\t<ToastPrimitive.Toaster\n\t\t\tclassName={cx(\"toaster mantle-prompt pointer-events-auto font-sans *:duration-200\", className)}\n\t\t\tcontainerAriaLabel={containerAriaLabel}\n\t\t\tdir={dir}\n\t\t\tduration={duration_ms}\n\t\t\tgap={12}\n\t\t\tposition={position ?? \"top-center\"}\n\t\t\tstyle={style}\n\t\t\ttheme={theme as ToasterPrimitiveTheme} // we have additional themes that are not in the sonner types, so we need to cast for now\n\t\t\ttoastOptions={{\n\t\t\t\tunstyled: true,\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nconst ToastIdContext = createContext<string | number>(\"\");\n\ntype MakeToastOptions = {\n\t/**\n\t * Time in milliseconds that should elapse before automatically closing the toast.\n\t * Will default to the `<Toaster />`'s `duration_ms` if not provided.\n\t */\n\tduration_ms?: number;\n\t/**\n\t * An optional custom ID for this toast. If not given, a unique ID is provided for you.\n\t */\n\tid?: string;\n};\n\n/**\n * Create a toast. Provide a `<Toast>` component as the `children` to be rendered\n * inside the `<Toaster />` section.\n */\nfunction makeToast(children: ReactNode, options?: MakeToastOptions) {\n\treturn ToastPrimitive.toast.custom(\n\t\t(toastId) => <ToastIdContext.Provider value={options?.id ?? toastId}>{children}</ToastIdContext.Provider>,\n\t\t{\n\t\t\t//\n\t\t\tduration: options?.duration_ms,\n\t\t\tid: options?.id,\n\t\t\tunstyled: true,\n\t\t},\n\t);\n}\n\ntype ToastActionProps = ComponentProps<\"button\"> & WithAsChild;\n\nconst priorities = [\n\t//,\n\t\"danger\",\n\t\"info\",\n\t\"success\",\n\t\"warning\",\n] as const;\ntype Priority = (typeof priorities)[number];\n\ntype ToastState = {\n\tpriority: Priority;\n};\n\nconst ToastStateContext = createContext<ToastState>({\n\tpriority: \"info\",\n});\n\ntype ToastProps = ComponentProps<\"div\"> &\n\tWithAsChild & {\n\t\tpriority: Priority;\n\t};\n\n/**\n * A succinct message with a priority that is displayed temporarily.\n * Toasts are used to provide feedback to the user without interrupting their workflow.\n */\nconst Toast = forwardRef<ElementRef<\"div\">, ToastProps>(({ asChild, children, className, priority, ...props }, ref) => {\n\tconst Component = asChild ? Slot : \"div\";\n\n\treturn (\n\t\t<ToastStateContext.Provider value={{ priority }}>\n\t\t\t<Component\n\t\t\t\tclassName={cx(\n\t\t\t\t\t\"relative flex items-start gap-2 text-base sm:text-sm\",\n\t\t\t\t\t\"p-3 pl-[0.9375rem]\",\n\t\t\t\t\t\"bg-popover high-contrast:border-popover rounded rounded-r-[0.3125rem] border border-gray-500/35 shadow-lg\",\n\t\t\t\t\t/**\n\t\t\t\t\t * Do not apply overflow-hidden because we want the priority bar accent\n\t\t\t\t\t * to overlap the toast border, else the border flows over the\n\t\t\t\t\t * priority bar.\n\t\t\t\t\t */\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<PriorityBarAccent priority={priority} />\n\t\t\t\t{children}\n\t\t\t</Component>\n\t\t</ToastStateContext.Provider>\n\t);\n});\n\ntype ToastIconProps = Partial<SvgOnlyProps>;\n\n/**\n * An icon that visually represents the priority of the toast.\n * If you do not provide an icon, the default icon and color for the priority is used.\n */\nconst ToastIcon = forwardRef<ElementRef<\"svg\">, ToastIconProps>(({ className, svg, ...props }, ref) => {\n\tconst ctx = useContext(ToastStateContext);\n\n\tswitch (ctx.priority) {\n\t\tcase \"danger\":\n\t\t\treturn (\n\t\t\t\t<Icon\n\t\t\t\t\tclassName={cx(\"text-danger-600\", className)}\n\t\t\t\t\tref={ref}\n\t\t\t\t\tsvg={svg ?? <Warning weight=\"fill\" />}\n\t\t\t\t\t{...props}\n\t\t\t\t/>\n\t\t\t);\n\t\tcase \"warning\":\n\t\t\treturn (\n\t\t\t\t<Icon\n\t\t\t\t\tclassName={cx(\"text-warning-600\", className)}\n\t\t\t\t\tref={ref}\n\t\t\t\t\tsvg={svg ?? <WarningDiamond weight=\"fill\" />}\n\t\t\t\t\t{...props}\n\t\t\t\t/>\n\t\t\t);\n\t\tcase \"success\":\n\t\t\treturn (\n\t\t\t\t<Icon\n\t\t\t\t\tclassName={cx(\"text-success-600\", className)}\n\t\t\t\t\tref={ref}\n\t\t\t\t\tsvg={svg ?? <CheckCircle weight=\"fill\" />}\n\t\t\t\t\t{...props}\n\t\t\t\t/>\n\t\t\t);\n\t\tcase \"info\":\n\t\t\treturn (\n\t\t\t\t<Icon\n\t\t\t\t\t//\n\t\t\t\t\tclassName={cx(\"text-accent-600\", className)}\n\t\t\t\t\tref={ref}\n\t\t\t\t\tsvg={<Info weight=\"fill\" />}\n\t\t\t\t\t{...props}\n\t\t\t\t/>\n\t\t\t);\n\t\tdefault:\n\t\t\tthrow new Error(`Unreachable Case: ${ctx.priority}`);\n\t}\n});\n\n/**\n * A button that dismisses the toast when clicked.\n * You can prevent the toast from being dismissed `onClick` by calling `event.preventDefault()`\n */\nconst ToastAction = forwardRef<ElementRef<\"button\">, ToastActionProps>(\n\t({ asChild, className, onClick, ...props }, ref) => {\n\t\tconst ctx = useContext(ToastIdContext);\n\n\t\tconst Component = asChild ? Slot : \"button\";\n\n\t\treturn (\n\t\t\t<Component\n\t\t\t\tclassName={cx(\n\t\t\t\t\t//,\n\t\t\t\t\t\"shrink-0\",\n\t\t\t\t\t// 👇 wiggle the bits so that icon buttons toast actions are aligned with the toast icon\n\t\t\t\t\t\"data-[icon-button]:-mr-0.5 data-[icon-button]:-mt-0.5 data-[icon-button]:rounded-sm\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\tonClick?.(event);\n\t\t\t\t\tif (event.defaultPrevented) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tToastPrimitive.toast.dismiss(ctx);\n\t\t\t\t}}\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t},\n);\n\ntype ToastMessageProps = ComponentProps<\"p\"> & WithAsChild;\n\n/**\n * The message content of the toast.\n */\nconst ToastMessage = forwardRef<ElementRef<\"p\">, ToastMessageProps>(({ asChild, className, ...props }, ref) => {\n\tconst Component = asChild ? Slot : \"p\";\n\n\treturn (\n\t\t<Component\n\t\t\t//\n\t\t\tclassName={cx(\"text-strong flex-1 text-base sm:text-sm\", className)}\n\t\t\tref={ref}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nexport {\n\t//,\n\tmakeToast,\n\tToast,\n\tToastAction,\n\tToaster,\n\tToastIcon,\n\tToastMessage,\n};\n\nexport type {\n\t//,\n\tPriority,\n};\n\n/**\n * @private\n *\n * Allows any mantle floating prompt (e.g. toasts and notifications) to be interacted with\n * even when a modaled view (e.g. dialog, sheet, etc) is open and a focus trap is active.\n *\n * Without this, interacting with the prompt would close the modaled view.\n */\nexport function preventCloseOnPromptInteraction(\n\tevent: CustomEvent | PointerEvent | MouseEvent | TouchEvent | FocusEvent,\n) {\n\tif (!(event.target instanceof Element)) {\n\t\treturn;\n\t}\n\n\tif (event.target.closest(\".mantle-prompt\")) {\n\t\tevent.preventDefault();\n\t}\n}\n\nconst priorityBackgroundColor = {\n\tinfo: \"bg-accent-600\",\n\twarning: \"bg-warning-600\",\n\tsuccess: \"bg-success-600\",\n\tdanger: \"bg-danger-600\",\n} as const satisfies Record<Priority, string>;\n\ntype PriorityBarAccentProps = Omit<ComponentProps<\"div\">, \"children\"> & { priority: Priority };\n\n/**\n * @private\n *\n * A colored bar that visually represents the priority of the toast.\n */\nfunction PriorityBarAccent({ className, priority, ...props }: PriorityBarAccentProps) {\n\treturn (\n\t\t<div\n\t\t\taria-hidden\n\t\t\tclassName={cx(\n\t\t\t\t//\n\t\t\t\t\"z-1 absolute -inset-px right-auto w-1.5 rounded-l\",\n\t\t\t\tpriorityBackgroundColor[priority],\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n"],"mappings":"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","names":["CheckCircle","Info","Warning","WarningDiamond","Slot","createContext","forwardRef","useContext","ToastPrimitive","jsx","jsxs","Toaster","className","containerAriaLabel","dir","duration_ms","position","style","theme","useAppliedTheme","cx","ToastIdContext","createContext","makeToast","children","options","toastId","ToastStateContext","createContext","Toast","forwardRef","asChild","children","className","priority","props","ref","Component","Slot","jsx","jsxs","cx","PriorityBarAccent","ToastIcon","svg","ctx","useContext","Icon","Warning","WarningDiamond","CheckCircle","Info","ToastAction","onClick","ToastIdContext","event","ToastMessage","preventCloseOnPromptInteraction","event","priorityBackgroundColor","PriorityBarAccent","className","priority","props","jsx","cx"]}