@ngrok/mantle 0.20.0 → 0.20.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.
Files changed (70) hide show
  1. package/dist/accordion.js +1 -1
  2. package/dist/accordion.js.map +1 -1
  3. package/dist/alert-dialog.js +1 -1
  4. package/dist/alert-dialog.js.map +1 -1
  5. package/dist/badge.js +1 -1
  6. package/dist/button.js +1 -1
  7. package/dist/calendar.js +1 -1
  8. package/dist/checkbox.js +1 -1
  9. package/dist/checkbox.js.map +1 -1
  10. package/dist/chunk-5WFRLY2G.js +2 -0
  11. package/dist/chunk-5WFRLY2G.js.map +1 -0
  12. package/dist/{chunk-2KOLXQ5Z.js → chunk-6GIEBXSN.js} +2 -2
  13. package/dist/chunk-6GIEBXSN.js.map +1 -0
  14. package/dist/{chunk-PFLB7OM5.js → chunk-7XIZZ4HQ.js} +1 -1
  15. package/dist/chunk-7XIZZ4HQ.js.map +1 -0
  16. package/dist/chunk-DJGIRPRQ.js +2 -0
  17. package/dist/chunk-DJGIRPRQ.js.map +1 -0
  18. package/dist/{chunk-YHG55D43.js → chunk-ESJ3HLYJ.js} +2 -2
  19. package/dist/chunk-HDPLH5HC.js +2 -0
  20. package/dist/chunk-HDPLH5HC.js.map +1 -0
  21. package/dist/chunk-PBARMKNJ.js +2 -0
  22. package/dist/chunk-PBARMKNJ.js.map +1 -0
  23. package/dist/{chunk-YZDIHCOF.js → chunk-PJLA4NRO.js} +2 -2
  24. package/dist/{chunk-HFR5V2VT.js → chunk-R4XXPIT2.js} +2 -2
  25. package/dist/chunk-R4XXPIT2.js.map +1 -0
  26. package/dist/code-block.js +1 -1
  27. package/dist/dialog.js +1 -1
  28. package/dist/dialog.js.map +1 -1
  29. package/dist/dropdown-menu.js +1 -1
  30. package/dist/dropdown-menu.js.map +1 -1
  31. package/dist/flag.d.ts +14 -3
  32. package/dist/flag.js +1 -1
  33. package/dist/flag.js.map +1 -1
  34. package/dist/hover-card.js +1 -1
  35. package/dist/hover-card.js.map +1 -1
  36. package/dist/icon.js +1 -1
  37. package/dist/input.js +1 -1
  38. package/dist/input.js.map +1 -1
  39. package/dist/label.js +1 -1
  40. package/dist/label.js.map +1 -1
  41. package/dist/pagination.js +1 -1
  42. package/dist/pagination.js.map +1 -1
  43. package/dist/popover.js.map +1 -1
  44. package/dist/radio-group.js +1 -1
  45. package/dist/radio-group.js.map +1 -1
  46. package/dist/select.js +1 -1
  47. package/dist/separator.js +1 -1
  48. package/dist/sheet.js +1 -1
  49. package/dist/sheet.js.map +1 -1
  50. package/dist/switch.js +1 -1
  51. package/dist/switch.js.map +1 -1
  52. package/dist/tabs.js +1 -1
  53. package/dist/tabs.js.map +1 -1
  54. package/dist/toast.js +1 -1
  55. package/dist/tooltip.js +1 -1
  56. package/dist/tooltip.js.map +1 -1
  57. package/package.json +3 -4
  58. package/dist/chunk-2KOLXQ5Z.js.map +0 -1
  59. package/dist/chunk-3BZ333PP.js +0 -2
  60. package/dist/chunk-3BZ333PP.js.map +0 -1
  61. package/dist/chunk-HFR5V2VT.js.map +0 -1
  62. package/dist/chunk-IQCYQ6RC.js +0 -2
  63. package/dist/chunk-IQCYQ6RC.js.map +0 -1
  64. package/dist/chunk-ITLSGPZ5.js +0 -2
  65. package/dist/chunk-ITLSGPZ5.js.map +0 -1
  66. package/dist/chunk-PFLB7OM5.js.map +0 -1
  67. package/dist/chunk-WIYEFPO2.js +0 -2
  68. package/dist/chunk-WIYEFPO2.js.map +0 -1
  69. /package/dist/{chunk-YHG55D43.js.map → chunk-ESJ3HLYJ.js.map} +0 -0
  70. /package/dist/{chunk-YZDIHCOF.js.map → chunk-PJLA4NRO.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/separator/separator.tsx"],"sourcesContent":["import * as SeparatorPrimitive from \"@radix-ui/react-separator\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { createContext, forwardRef, useContext } from \"react\";\nimport type {\n\tComponentPropsWithoutRef,\n\tElementRef,\n\tHTMLAttributes,\n} from \"react\";\nimport type { WithAsChild } from \"../../types/as-child.js\";\nimport { cx } from \"../../utils/cx/cx.js\";\n\ntype Orientation = \"horizontal\" | \"vertical\";\n\ntype SeparatorGroupContextShape = {\n\torientation?: Orientation;\n};\n\nconst SeparatorGroupContext = createContext<SeparatorGroupContextShape>({});\n\n/**\n * A container to layout a group of horizontal separators.\n */\nconst HorizontalSeparatorGroup = ({\n\tclassName,\n\tchildren,\n\tasChild,\n\t...props\n}: HTMLAttributes<HTMLDivElement> & WithAsChild) => {\n\tconst Comp = asChild ? Slot : \"div\";\n\n\treturn (\n\t\t<SeparatorGroupContext.Provider value={{ orientation: \"horizontal\" }}>\n\t\t\t<Comp\n\t\t\t\tdata-horizontal-separator-group\n\t\t\t\tclassName={cx(\n\t\t\t\t\t\"group flex items-center gap-2 [&_*:not([data-separator])]:shrink-0\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Comp>\n\t\t</SeparatorGroupContext.Provider>\n\t);\n};\n\ntype SeparatorProps = ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>;\n\n/**\n * Visually or semantically separates content.\n */\nconst Separator = forwardRef<\n\tElementRef<typeof SeparatorPrimitive.Root>,\n\tSeparatorProps\n>(\n\t(\n\t\t{ className, orientation: propOrientation, decorative = true, ...props },\n\t\tref,\n\t) => {\n\t\tconst ctx = useContext(SeparatorGroupContext);\n\t\t// Prefer the orientation from the context if it's set, else fallback to the prop and then to \"horizontal\".\n\t\tconst orientation = ctx.orientation ?? propOrientation ?? \"horizontal\";\n\n\t\treturn (\n\t\t\t<SeparatorPrimitive.Root\n\t\t\t\tref={ref}\n\t\t\t\tdata-separator\n\t\t\t\taria-orientation={decorative ? undefined : orientation}\n\t\t\t\tdecorative={decorative}\n\t\t\t\torientation={orientation}\n\t\t\t\tclassName={cx(\n\t\t\t\t\t\"separator\",\n\t\t\t\t\t\"dark-high-contrast:bg-black high-contrast:bg-black bg-gray-500/20 dark:bg-gray-600/20\",\n\t\t\t\t\torientation === \"horizontal\"\n\t\t\t\t\t\t? \"h-px w-full group-data-[horizontal-separator-group]:flex-1\"\n\t\t\t\t\t\t: \"h-full w-px\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t},\n);\nSeparator.displayName = \"Separator\";\n\nexport { HorizontalSeparatorGroup, Separator };\n"],"mappings":"wCAAA,UAAYA,MAAwB,4BACpC,OAAS,QAAAC,MAAY,uBACrB,OAAS,iBAAAC,EAAe,cAAAC,EAAY,cAAAC,MAAkB,QA8BnD,cAAAC,MAAA,oBAfH,IAAMC,EAAwBC,EAA0C,CAAC,CAAC,EAKpEC,EAA2B,CAAC,CACjC,UAAAC,EACA,SAAAC,EACA,QAAAC,EACA,GAAGC,CACJ,IAAoD,CACnD,IAAMC,EAAOF,EAAUG,EAAO,MAE9B,OACCT,EAACC,EAAsB,SAAtB,CAA+B,MAAO,CAAE,YAAa,YAAa,EAClE,SAAAD,EAACQ,EAAA,CACA,kCAA+B,GAC/B,UAAWE,EACV,qEACAN,CACD,EACC,GAAGG,EAEH,SAAAF,EACF,EACD,CAEF,EAOMM,EAAYC,EAIjB,CACC,CAAE,UAAAR,EAAW,YAAaS,EAAiB,WAAAC,EAAa,GAAM,GAAGP,CAAM,EACvEQ,IACI,CAGJ,IAAMC,EAFMC,EAAWhB,CAAqB,EAEpB,aAAeY,GAAmB,aAE1D,OACCb,EAAoB,OAAnB,CACA,IAAKe,EACL,iBAAc,GACd,mBAAkBD,EAAa,OAAYE,EAC3C,WAAYF,EACZ,YAAaE,EACb,UAAWN,EACV,YACA,wFACAM,IAAgB,aACb,6DACA,cACHZ,CACD,EACC,GAAGG,EACL,CAEF,CACD,EACAI,EAAU,YAAc","names":["SeparatorPrimitive","Slot","createContext","forwardRef","useContext","jsx","SeparatorGroupContext","createContext","HorizontalSeparatorGroup","className","children","asChild","props","Comp","Slot","cx","Separator","forwardRef","propOrientation","decorative","ref","orientation","useContext"]}
@@ -1,2 +0,0 @@
1
- import{a as t}from"./chunk-AZ56JGNY.js";import{Children as p,cloneElement as l,forwardRef as i,isValidElement as m}from"react";import a from"tiny-invariant";var f=i(({className:r,style:o,svg:e,...s},n)=>(a(m(e)&&p.only(e),"SvgOnly must be passed a single SVG icon as a JSX tag."),l(e,{...s,className:t("shrink-0",r,e.props.className),style:{...o,...e.props.style},ref:n})));export{f as a};
2
- //# sourceMappingURL=chunk-IQCYQ6RC.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/icon/svg-only.tsx"],"sourcesContent":["import type { ElementRef, ReactNode } from \"react\";\nimport { Children, cloneElement, forwardRef, isValidElement } from \"react\";\nimport invariant from \"tiny-invariant\";\nimport { cx } from \"../../utils/cx/cx.js\";\nimport type { SvgAttributes } from \"./types.js\";\n\ntype SvgOnlyProps = Omit<SvgAttributes, \"children\"> & {\n\t/**\n\t * A single SVG icon element.\n\t */\n\tsvg: ReactNode;\n};\n\n/**\n * Accepts a single SVG icon element and decorates it with `shrink-0` class.\n *\n * Merges `className` selectors with the following order of precedence (last one wins):\n * 1. SvgOnly base classes (\"shrink-0\")\n * 2. SvgOnly className\n * 3. svg className\n *\n * You probably want to use the `Icon` component instead.\n *\n * The main difference between `Icon` and `SvgOnly` is that `SvgOnly` does not\n * apply any default sizing styles, only `shrink-0`.\n */\nconst SvgOnly = forwardRef<ElementRef<\"svg\">, SvgOnlyProps>(\n\t({ className, style, svg, ...props }, ref) => {\n\t\tinvariant(\n\t\t\tisValidElement<SvgAttributes>(svg) && Children.only(svg),\n\t\t\t\"SvgOnly must be passed a single SVG icon as a JSX tag.\",\n\t\t);\n\n\t\treturn cloneElement(svg, {\n\t\t\t...props,\n\t\t\tclassName: cx(\n\t\t\t\t\"shrink-0\", // the SvgOnly base classes\n\t\t\t\tclassName, // the SvgOnly className\n\t\t\t\tsvg.props.className, // the svg className\n\t\t\t),\n\t\t\tstyle: { ...style, ...svg.props.style },\n\t\t\tref,\n\t\t});\n\t},\n);\n\nexport {\n\t//,\n\tSvgOnly,\n};\n\nexport type {\n\t//,\n\tSvgOnlyProps,\n};\n"],"mappings":"wCACA,OAAS,YAAAA,EAAU,gBAAAC,EAAc,cAAAC,EAAY,kBAAAC,MAAsB,QACnE,OAAOC,MAAe,iBAwBtB,IAAMC,EAAUC,EACf,CAAC,CAAE,UAAAC,EAAW,MAAAC,EAAO,IAAAC,EAAK,GAAGC,CAAM,EAAGC,KACrCC,EACCC,EAA8BJ,CAAG,GAAKK,EAAS,KAAKL,CAAG,EACvD,wDACD,EAEOM,EAAaN,EAAK,CACxB,GAAGC,EACH,UAAWM,EACV,WACAT,EACAE,EAAI,MAAM,SACX,EACA,MAAO,CAAE,GAAGD,EAAO,GAAGC,EAAI,MAAM,KAAM,EACtC,IAAAE,CACD,CAAC,EAEH","names":["Children","cloneElement","forwardRef","isValidElement","invariant","SvgOnly","forwardRef","className","style","svg","props","ref","invariant","isValidElement","Children","cloneElement","cx"]}
@@ -1,2 +0,0 @@
1
- import*as e from"@radix-ui/react-dialog";import{createContext as l,forwardRef as a,useContext as s,useEffect as p,useState as c}from"react";import{jsx as r}from"react/jsx-runtime";var n=l({hasDescription:!1,setHasDescription:()=>{}});function f(i){let[o,t]=c(!1);return r(n.Provider,{value:{hasDescription:o,setHasDescription:t},children:r(e.Root,{...i})})}var m=e.Trigger,g=e.Portal,v=e.Close,P=e.Overlay,u=a((i,o)=>{let t=s(n);return r(e.Content,{ref:o,...t.hasDescription?{}:{"aria-describedby":void 0},...i})}),d=e.Title,C=a((i,o)=>{let t=s(n);return p(()=>(t.setHasDescription(!0),()=>t.setHasDescription(!1)),[t]),r(e.Description,{ref:o,...i})});export{f as a,m as b,g as c,v as d,P as e,u as f,d as g,C as h};
2
- //# sourceMappingURL=chunk-ITLSGPZ5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/dialog/primitive.tsx"],"sourcesContent":["import * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport {\n\ttype ComponentPropsWithoutRef,\n\ttype ElementRef,\n\tcreateContext,\n\tforwardRef,\n\tuseContext,\n\tuseEffect,\n\tuseState,\n} from \"react\";\n\ntype InternalDialogContextValue = {\n\thasDescription: boolean;\n\tsetHasDescription: (value: boolean) => void;\n};\n\nconst InternalDialogContext = createContext<InternalDialogContextValue>({\n\thasDescription: false,\n\tsetHasDescription: () => {},\n});\n\nfunction Root(props: ComponentPropsWithoutRef<typeof DialogPrimitive.Root>) {\n\tconst [hasDescription, setHasDescription] = useState(false);\n\n\treturn (\n\t\t<InternalDialogContext.Provider\n\t\t\tvalue={{ hasDescription, setHasDescription }}\n\t\t>\n\t\t\t<DialogPrimitive.Root {...props} />\n\t\t</InternalDialogContext.Provider>\n\t);\n}\n\nconst Trigger = DialogPrimitive.Trigger;\n\nconst Portal = DialogPrimitive.Portal;\n\nconst Close = DialogPrimitive.Close;\n\nconst Overlay = DialogPrimitive.Overlay;\n\nconst Content = forwardRef<\n\tElementRef<\"div\">,\n\tComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>((props, ref) => {\n\tconst ctx = useContext(InternalDialogContext);\n\n\treturn (\n\t\t<DialogPrimitive.Content\n\t\t\tref={ref}\n\t\t\t// If there's no description, we remove the default applied aria-describedby attribute from radix dialog\n\t\t\t{...(!ctx.hasDescription ? { \"aria-describedby\": undefined } : {})}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nconst Title = DialogPrimitive.Title;\n\nconst Description = forwardRef<\n\tElementRef<\"p\">,\n\tComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>((props, ref) => {\n\tconst ctx = useContext(InternalDialogContext);\n\n\tuseEffect(() => {\n\t\tctx.setHasDescription(true);\n\t\treturn () => ctx.setHasDescription(false);\n\t}, [ctx]);\n\n\treturn <DialogPrimitive.Description ref={ref} {...props} />;\n});\n\nexport {\n\t//,\n\tRoot,\n\tTrigger,\n\tPortal,\n\tClose,\n\tOverlay,\n\tContent,\n\tDescription,\n\tTitle,\n};\n"],"mappings":"AAAA,UAAYA,MAAqB,yBACjC,OAGC,iBAAAC,EACA,cAAAC,EACA,cAAAC,EACA,aAAAC,EACA,YAAAC,MACM,QAmBJ,cAAAC,MAAA,oBAZH,IAAMC,EAAwBN,EAA0C,CACvE,eAAgB,GAChB,kBAAmB,IAAM,CAAC,CAC3B,CAAC,EAED,SAASO,EAAKC,EAA8D,CAC3E,GAAM,CAACC,EAAgBC,CAAiB,EAAIN,EAAS,EAAK,EAE1D,OACCC,EAACC,EAAsB,SAAtB,CACA,MAAO,CAAE,eAAAG,EAAgB,kBAAAC,CAAkB,EAE3C,SAAAL,EAAiB,OAAhB,CAAsB,GAAGG,EAAO,EAClC,CAEF,CAEA,IAAMG,EAA0B,UAE1BC,EAAyB,SAEzBC,EAAwB,QAExBC,EAA0B,UAE1BC,EAAUd,EAGd,CAACO,EAAOQ,IAAQ,CACjB,IAAMC,EAAMf,EAAWI,CAAqB,EAE5C,OACCD,EAAiB,UAAhB,CACA,IAAKW,EAEJ,GAAKC,EAAI,eAAqD,CAAC,EAArC,CAAE,mBAAoB,MAAU,EAC1D,GAAGT,EACL,CAEF,CAAC,EAEKU,EAAwB,QAExBC,EAAclB,EAGlB,CAACO,EAAOQ,IAAQ,CACjB,IAAMC,EAAMf,EAAWI,CAAqB,EAE5C,OAAAH,EAAU,KACTc,EAAI,kBAAkB,EAAI,EACnB,IAAMA,EAAI,kBAAkB,EAAK,GACtC,CAACA,CAAG,CAAC,EAEDZ,EAAiB,cAAhB,CAA4B,IAAKW,EAAM,GAAGR,EAAO,CAC1D,CAAC","names":["DialogPrimitive","createContext","forwardRef","useContext","useEffect","useState","jsx","InternalDialogContext","Root","props","hasDescription","setHasDescription","Trigger","Portal","Close","Overlay","Content","ref","ctx","Title","Description"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/button/button-group.tsx"],"sourcesContent":["import { cva } from \"class-variance-authority\";\nimport { type ComponentProps, type ElementRef, forwardRef } from \"react\";\nimport type { VariantProps } from \"../../types/index.js\";\nimport { cx } from \"../../utils/cx/cx.js\";\n\nconst buttonGroupVariants = cva(\n\t\"border-form inline-flex items-center rounded-md\",\n\t{\n\t\tvariants: {\n\t\t\t/**\n\t\t\t * Defines the visual style of the ButtonGroup.\n\t\t\t */\n\t\t\tappearance: {\n\t\t\t\tpanel:\n\t\t\t\t\t\"bg-form gap-0.5 border p-[0.1875rem] [--icon-button-border-radius:0.125rem] [&>.separator]:mx-px\",\n\t\t\t\tghost: \"gap-0.5\",\n\t\t\t\toutlined: \"\", // TODO(cody): implement me\n\t\t\t},\n\t\t},\n\t},\n);\n\ntype ButtonGroupVariants = VariantProps<typeof buttonGroupVariants>;\n\ntype ButtonGroupProps = ComponentProps<\"fieldset\"> & ButtonGroupVariants;\n\n/**\n * A contained group of related buttons.\n */\nconst ButtonGroup = forwardRef<ElementRef<\"fieldset\">, ButtonGroupProps>(\n\t({ appearance, className, children, ...props }, ref) => {\n\t\treturn (\n\t\t\t<fieldset\n\t\t\t\tclassName={cx(buttonGroupVariants({ appearance }), className)}\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</fieldset>\n\t\t);\n\t},\n);\nButtonGroup.displayName = \"ButtonGroup\";\n\nexport {\n\t//,\n\tButtonGroup,\n};\n\nexport type {\n\t//,\n\tButtonGroupProps,\n};\n"],"mappings":"wCAAA,OAAS,OAAAA,MAAW,2BACpB,OAA+C,cAAAC,MAAkB,QA+B9D,cAAAC,MAAA,oBA3BH,IAAMC,EAAsBC,EAC3B,kDACA,CACC,SAAU,CAIT,WAAY,CACX,MACC,mGACD,MAAO,UACP,SAAU,EACX,CACD,CACD,CACD,EASMC,EAAcC,EACnB,CAAC,CAAE,WAAAC,EAAY,UAAAC,EAAW,SAAAC,EAAU,GAAGC,CAAM,EAAGC,IAE9CT,EAAC,YACA,UAAWU,EAAGT,EAAoB,CAAE,WAAAI,CAAW,CAAC,EAAGC,CAAS,EAC5D,IAAKG,EACJ,GAAGD,EAEH,SAAAD,EACF,CAGH,EACAJ,EAAY,YAAc","names":["cva","forwardRef","jsx","buttonGroupVariants","cva","ButtonGroup","forwardRef","appearance","className","children","props","ref","cx"]}
@@ -1,2 +0,0 @@
1
- import{l as P}from"./chunk-DOTYPWKO.js";import{a as p}from"./chunk-3BZ333PP.js";import{a as i}from"./chunk-AZ56JGNY.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-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-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-WIYEFPO2.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 {\n\ttype ComponentProps,\n\ttype ElementRef,\n\ttype ReactNode,\n\tcreateContext,\n\tforwardRef,\n\tuseContext,\n} 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(\n\t\t\t\t\"toaster mantle-prompt pointer-events-auto font-sans *:duration-200\",\n\t\t\t\tclassName,\n\t\t\t)}\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) => (\n\t\t\t<ToastIdContext.Provider value={toastId}>\n\t\t\t\t{children}\n\t\t\t</ToastIdContext.Provider>\n\t\t),\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>(\n\t({ asChild, children, className, priority, ...props }, ref) => {\n\t\tconst Component = asChild ? Slot : \"div\";\n\n\t\treturn (\n\t\t\t<ToastStateContext.Provider value={{ priority }}>\n\t\t\t\t<Component\n\t\t\t\t\tclassName={cx(\n\t\t\t\t\t\t\"relative flex items-start gap-2 text-sm\",\n\t\t\t\t\t\t\"p-3 pl-[0.9375rem]\",\n\t\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\t/**\n\t\t\t\t\t\t * Do not apply overflow-hidden because we want the priority bar accent\n\t\t\t\t\t\t * to overlap the toast border, else the border flows over the\n\t\t\t\t\t\t * priority bar.\n\t\t\t\t\t\t */\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\tref={ref}\n\t\t\t\t\t{...props}\n\t\t\t\t>\n\t\t\t\t\t<PriorityBarAccent priority={priority} />\n\t\t\t\t\t{children}\n\t\t\t\t</Component>\n\t\t\t</ToastStateContext.Provider>\n\t\t);\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>(\n\t({ className, svg, ...props }, ref) => {\n\t\tconst ctx = useContext(ToastStateContext);\n\n\t\tswitch (ctx.priority) {\n\t\t\tcase \"danger\":\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName={cx(\"text-danger-600\", className)}\n\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\tsvg={svg ?? <Warning weight=\"fill\" />}\n\t\t\t\t\t\t{...props}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase \"warning\":\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName={cx(\"text-warning-600\", className)}\n\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\tsvg={svg ?? <WarningDiamond weight=\"fill\" />}\n\t\t\t\t\t\t{...props}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase \"success\":\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName={cx(\"text-success-600\", className)}\n\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\tsvg={svg ?? <CheckCircle weight=\"fill\" />}\n\t\t\t\t\t\t{...props}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase \"info\":\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\t//\n\t\t\t\t\t\tclassName={cx(\"text-accent-600\", className)}\n\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\tsvg={<Info weight=\"fill\" />}\n\t\t\t\t\t\t{...props}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unreachable Case: ${ctx.priority}`);\n\t\t}\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>(\n\t({ asChild, className, ...props }, ref) => {\n\t\tconst Component = asChild ? Slot : \"p\";\n\n\t\treturn (\n\t\t\t<Component\n\t\t\t\t//\n\t\t\t\tclassName={cx(\"text-strong flex-1 text-sm\", className)}\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t/>\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\"> & {\n\tpriority: Priority;\n};\n\n/**\n * @private\n *\n * A colored bar that visually represents the priority of the toast.\n */\nfunction PriorityBarAccent({\n\tclassName,\n\tpriority,\n\t...props\n}: 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"]}