commerce-toolkit 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{alert-dismiss-EYWAId7r.js → alert-dismiss-B7_uKkyV.js} +2 -2
- package/dist/{alert-dismiss-EYWAId7r.js.map → alert-dismiss-B7_uKkyV.js.map} +1 -1
- package/dist/{alert-dismiss-m6lm9pLf.cjs → alert-dismiss-BO3hXWMt.cjs} +2 -2
- package/dist/{alert-dismiss-m6lm9pLf.cjs.map → alert-dismiss-BO3hXWMt.cjs.map} +1 -1
- package/dist/alert.cjs +1 -1
- package/dist/alert.js +1 -1
- package/dist/button-BgvMm9T3.cjs +7 -0
- package/dist/button-BgvMm9T3.cjs.map +1 -0
- package/dist/{button-W0_PtryU.js → button-C0iR-l2_.js} +2 -2
- package/dist/button-C0iR-l2_.js.map +1 -0
- package/dist/components/calendar/calendar.d.ts +15 -24
- package/dist/components/calendar/calendar.d.ts.map +1 -1
- package/dist/{dropdown-menu-node-CAwgTGIA.cjs → dropdown-menu-node-BDXDWc1l.cjs} +3 -3
- package/dist/{dropdown-menu-node-CAwgTGIA.cjs.map → dropdown-menu-node-BDXDWc1l.cjs.map} +1 -1
- package/dist/{dropdown-menu-node-x6qIrxA6.js → dropdown-menu-node-OJHgOERz.js} +2 -1
- package/dist/{dropdown-menu-node-x6qIrxA6.js.map → dropdown-menu-node-OJHgOERz.js.map} +1 -1
- package/dist/dropdown-menu.cjs +1 -1
- package/dist/dropdown-menu.js +1 -1
- package/dist/file-input.cjs +1 -1
- package/dist/file-input.js +1 -1
- package/dist/index.cjs +12 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1620 -1451
- package/dist/index.js.map +1 -1
- package/dist/{reveal-trigger-ScuufoFq.js → reveal-trigger-DT_deyzM.js} +2 -2
- package/dist/{reveal-trigger-ScuufoFq.js.map → reveal-trigger-DT_deyzM.js.map} +1 -1
- package/dist/{reveal-trigger-CCTnO9e2.cjs → reveal-trigger-ntEvLci1.cjs} +2 -2
- package/dist/{reveal-trigger-CCTnO9e2.cjs.map → reveal-trigger-ntEvLci1.cjs.map} +1 -1
- package/dist/reveal.cjs +1 -1
- package/dist/reveal.js +1 -1
- package/package.json +1 -1
- package/dist/button-W0_PtryU.js.map +0 -1
- package/dist/button-ibzOCImJ.cjs +0 -7
- package/dist/button-ibzOCImJ.cjs.map +0 -1
- package/dist/chevron-down-BDpc8q6H.cjs +0 -7
- package/dist/chevron-down-BDpc8q6H.cjs.map +0 -1
- package/dist/chevron-down-CjW8zgR8.js +0 -13
- package/dist/chevron-down-CjW8zgR8.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as i, jsxs as _, Fragment as k } from "react/jsx-runtime";
|
|
2
2
|
import { c } from "./utils-CRiPKpXj.js";
|
|
3
|
-
import { B as y } from "./button-
|
|
3
|
+
import { B as y } from "./button-C0iR-l2_.js";
|
|
4
4
|
import { createContext as z, useState as g, useRef as C, useEffect as N, useCallback as H, useMemo as S, use as j } from "react";
|
|
5
5
|
function A({ className: e, children: t, ...n }) {
|
|
6
6
|
return /* @__PURE__ */ i(
|
|
@@ -119,4 +119,4 @@ export {
|
|
|
119
119
|
T as c,
|
|
120
120
|
f as u
|
|
121
121
|
};
|
|
122
|
-
//# sourceMappingURL=reveal-trigger-
|
|
122
|
+
//# sourceMappingURL=reveal-trigger-DT_deyzM.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reveal-trigger-
|
|
1
|
+
{"version":3,"file":"reveal-trigger-DT_deyzM.js","sources":["../src/components/animated-underline/animated-underline.tsx","../src/components/reveal/primitives/reveal-root.tsx","../src/components/reveal/primitives/reveal-viewport.tsx","../src/components/reveal/primitives/reveal-controls.tsx","../src/components/reveal/primitives/reveal-trigger.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type AnimatedUnderlineProps = ComponentProps<'span'> & {\n children: string;\n};\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --animated-underline-hover: hsl(var(--primary));\n * --animated-underline-text: hsl(var(--foreground));\n * --animated-underline-font-family: var(--font-family-body);\n * }\n * ```\n */\nexport function AnimatedUnderline({ className, children, ...props }: AnimatedUnderlineProps) {\n return (\n <span\n className={cn(\n 'origin-left font-semibold leading-normal text-[var(--animated-underline-text,hsl(var(--foreground)))] transition-[background-size] duration-300 [background:linear-gradient(0deg,var(--animated-underline-hover,hsl(var(--primary))),var(--animated-underline-hover,hsl(var(--primary))))_no-repeat_left_bottom_/_0_2px] [font-family:var(--animated-underline-font-family,var(--font-family-body))] hover:bg-[size:100%_2px] group-focus/underline:bg-[size:100%_2px]',\n className,\n )}\n {...props}\n >\n {children}\n </span>\n );\n}\n","'use client';\n\nimport { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport type { ComponentProps, ReactNode, RefObject } from 'react';\n\nimport { cn } from '@/lib';\n\ninterface RevealContext {\n isOpen: boolean;\n hasOverflow: boolean;\n variant: 'underline' | 'button';\n showLabel: string;\n hideLabel: string;\n maxHeight: number;\n contentRef: RefObject<HTMLDivElement | null>;\n toggleOpen: () => void;\n}\n\nconst RevealContext = createContext<RevealContext | undefined>(undefined);\n\nexport interface RevealRootProps extends ComponentProps<'div'> {\n variant?: 'underline' | 'button';\n showLabel?: string;\n hideLabel?: string;\n defaultOpen?: boolean;\n maxHeight?: number;\n children: ReactNode;\n}\n\nexport function RevealRoot({\n children,\n className,\n variant = 'underline',\n showLabel = 'Show more',\n hideLabel = 'Show less',\n defaultOpen = false,\n maxHeight = 160,\n ...props\n}: RevealRootProps) {\n const [isOpen, setIsOpen] = useState(defaultOpen);\n const [hasOverflow, setHasOverflow] = useState(true);\n\n const contentRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n function checkHeight() {\n if (contentRef.current) {\n const contentHeight = contentRef.current.scrollHeight;\n\n setHasOverflow(contentHeight > maxHeight);\n }\n }\n\n checkHeight();\n\n const resizeObserver = new ResizeObserver(checkHeight);\n\n if (contentRef.current) {\n resizeObserver.observe(contentRef.current);\n }\n\n return () => {\n resizeObserver.disconnect();\n };\n }, [maxHeight]);\n\n const toggleOpen = useCallback(() => {\n setIsOpen((prev) => !prev);\n }, []);\n\n const contextValues = useMemo(\n () => ({\n isOpen,\n hasOverflow,\n variant,\n showLabel,\n hideLabel,\n maxHeight,\n contentRef,\n toggleOpen,\n }),\n [isOpen, hasOverflow, variant, showLabel, hideLabel, maxHeight, toggleOpen],\n );\n\n return (\n <RevealContext.Provider value={contextValues}>\n <div className={cn('relative', className)} {...props}>\n {children}\n </div>\n </RevealContext.Provider>\n );\n}\n\nexport function useReveal() {\n const context = use(RevealContext);\n\n if (context === undefined) {\n throw new Error('useReveal must be used within a RevealRoot');\n }\n\n return context;\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nexport type RevealViewportProps = ComponentProps<'div'>;\n\nimport { useReveal } from '@/components/reveal';\nimport { cn } from '@/lib';\n\nexport function RevealViewport({ children, className, ...props }: RevealViewportProps) {\n const { hasOverflow, isOpen, maxHeight, contentRef } = useReveal();\n\n return (\n <div\n className={cn(\n hasOverflow &&\n !isOpen &&\n '[mask-image:linear-gradient(to_top,transparent,black_50px,black_calc(100%-50px))]',\n 'overflow-hidden',\n className,\n )}\n ref={contentRef}\n style={{ maxHeight: isOpen ? 'none' : maxHeight }}\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useReveal } from '@/components/reveal';\nimport { cn } from '@/lib';\n\nexport type RevealControlsProps = ComponentProps<'div'>;\n\nexport function RevealControls({ children, className, ...props }: RevealControlsProps) {\n const { hasOverflow } = useReveal();\n\n if (!hasOverflow) return null;\n\n return (\n <div className={cn('flex w-full items-end pt-4', className)} {...props}>\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { AnimatedUnderline } from '@/components/animated-underline';\nimport { Button } from '@/components/button';\nimport { useReveal } from '@/components/reveal';\nimport { cn } from '@/lib';\n\nexport type RevealTriggerProps = ComponentProps<'button'>;\n\nexport function RevealTrigger({ children, className, ...props }: RevealTriggerProps) {\n const { variant, showLabel, hideLabel, isOpen, toggleOpen } = useReveal();\n\n return (\n <>\n {variant === 'underline' && (\n <button\n className={cn('group/underline text-sm focus:outline-none', className)}\n onClick={() => toggleOpen()}\n type=\"button\"\n {...props}\n >\n <AnimatedUnderline>{isOpen ? hideLabel : showLabel}</AnimatedUnderline>\n </button>\n )}\n {variant === 'button' && (\n <Button\n className={className}\n onClick={() => toggleOpen()}\n size=\"x-small\"\n type=\"button\"\n variant=\"outline\"\n {...props}\n >\n {isOpen ? hideLabel : showLabel}\n </Button>\n )}\n </>\n );\n}\n"],"names":["AnimatedUnderline","className","children","props","jsx","cn","RevealContext","createContext","RevealRoot","variant","showLabel","hideLabel","defaultOpen","maxHeight","isOpen","setIsOpen","useState","hasOverflow","setHasOverflow","contentRef","useRef","useEffect","checkHeight","contentHeight","resizeObserver","toggleOpen","useCallback","prev","contextValues","useMemo","useReveal","context","use","RevealViewport","RevealControls","RevealTrigger","jsxs","Fragment","Button"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const r=require("react/jsx-runtime"),u=require("./utils-DoxiiusW.cjs"),j=require("./button-
|
|
2
|
-
//# sourceMappingURL=reveal-trigger-
|
|
1
|
+
"use strict";const r=require("react/jsx-runtime"),u=require("./utils-DoxiiusW.cjs"),j=require("./button-BgvMm9T3.cjs"),l=require("react");function p({className:e,children:t,...n}){return r.jsx("span",{className:u.cn("origin-left font-semibold leading-normal text-[var(--animated-underline-text,hsl(var(--foreground)))] transition-[background-size] duration-300 [background:linear-gradient(0deg,var(--animated-underline-hover,hsl(var(--primary))),var(--animated-underline-hover,hsl(var(--primary))))_no-repeat_left_bottom_/_0_2px] [font-family:var(--animated-underline-font-family,var(--font-family-body))] hover:bg-[size:100%_2px] group-focus/underline:bg-[size:100%_2px]",e),...n,children:t})}const R=l.createContext(void 0);function k({children:e,className:t,variant:n="underline",showLabel:o="Show more",hideLabel:s="Show less",defaultOpen:a=!1,maxHeight:i=160,...d}){const[m,b]=l.useState(a),[g,w]=l.useState(!0),c=l.useRef(null);l.useEffect(()=>{function v(){if(c.current){const _=c.current.scrollHeight;w(_>i)}}v();const x=new ResizeObserver(v);return c.current&&x.observe(c.current),()=>{x.disconnect()}},[i]);const h=l.useCallback(()=>{b(v=>!v)},[]),O=l.useMemo(()=>({isOpen:m,hasOverflow:g,variant:n,showLabel:o,hideLabel:s,maxHeight:i,contentRef:c,toggleOpen:h}),[m,g,n,o,s,i,h]);return r.jsx(R.Provider,{value:O,children:r.jsx("div",{className:u.cn("relative",t),...d,children:e})})}function f(){const e=l.use(R);if(e===void 0)throw new Error("useReveal must be used within a RevealRoot");return e}function y({children:e,className:t,...n}){const{hasOverflow:o,isOpen:s,maxHeight:a,contentRef:i}=f();return r.jsx("div",{className:u.cn(o&&!s&&"[mask-image:linear-gradient(to_top,transparent,black_50px,black_calc(100%-50px))]","overflow-hidden",t),ref:i,style:{maxHeight:s?"none":a},...n,children:e})}function C({children:e,className:t,...n}){const{hasOverflow:o}=f();return o?r.jsx("div",{className:u.cn("flex w-full items-end pt-4",t),...n,children:e}):null}function z({children:e,className:t,...n}){const{variant:o,showLabel:s,hideLabel:a,isOpen:i,toggleOpen:d}=f();return r.jsxs(r.Fragment,{children:[o==="underline"&&r.jsx("button",{className:u.cn("group/underline text-sm focus:outline-none",t),onClick:()=>d(),type:"button",...n,children:r.jsx(p,{children:i?a:s})}),o==="button"&&r.jsx(j.Button,{className:t,onClick:()=>d(),size:"x-small",type:"button",variant:"outline",...n,children:i?a:s})]})}exports.AnimatedUnderline=p;exports.RevealControls=C;exports.RevealRoot=k;exports.RevealTrigger=z;exports.RevealViewport=y;exports.useReveal=f;
|
|
2
|
+
//# sourceMappingURL=reveal-trigger-ntEvLci1.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reveal-trigger-
|
|
1
|
+
{"version":3,"file":"reveal-trigger-ntEvLci1.cjs","sources":["../src/components/animated-underline/animated-underline.tsx","../src/components/reveal/primitives/reveal-root.tsx","../src/components/reveal/primitives/reveal-viewport.tsx","../src/components/reveal/primitives/reveal-controls.tsx","../src/components/reveal/primitives/reveal-trigger.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type AnimatedUnderlineProps = ComponentProps<'span'> & {\n children: string;\n};\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --animated-underline-hover: hsl(var(--primary));\n * --animated-underline-text: hsl(var(--foreground));\n * --animated-underline-font-family: var(--font-family-body);\n * }\n * ```\n */\nexport function AnimatedUnderline({ className, children, ...props }: AnimatedUnderlineProps) {\n return (\n <span\n className={cn(\n 'origin-left font-semibold leading-normal text-[var(--animated-underline-text,hsl(var(--foreground)))] transition-[background-size] duration-300 [background:linear-gradient(0deg,var(--animated-underline-hover,hsl(var(--primary))),var(--animated-underline-hover,hsl(var(--primary))))_no-repeat_left_bottom_/_0_2px] [font-family:var(--animated-underline-font-family,var(--font-family-body))] hover:bg-[size:100%_2px] group-focus/underline:bg-[size:100%_2px]',\n className,\n )}\n {...props}\n >\n {children}\n </span>\n );\n}\n","'use client';\n\nimport { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport type { ComponentProps, ReactNode, RefObject } from 'react';\n\nimport { cn } from '@/lib';\n\ninterface RevealContext {\n isOpen: boolean;\n hasOverflow: boolean;\n variant: 'underline' | 'button';\n showLabel: string;\n hideLabel: string;\n maxHeight: number;\n contentRef: RefObject<HTMLDivElement | null>;\n toggleOpen: () => void;\n}\n\nconst RevealContext = createContext<RevealContext | undefined>(undefined);\n\nexport interface RevealRootProps extends ComponentProps<'div'> {\n variant?: 'underline' | 'button';\n showLabel?: string;\n hideLabel?: string;\n defaultOpen?: boolean;\n maxHeight?: number;\n children: ReactNode;\n}\n\nexport function RevealRoot({\n children,\n className,\n variant = 'underline',\n showLabel = 'Show more',\n hideLabel = 'Show less',\n defaultOpen = false,\n maxHeight = 160,\n ...props\n}: RevealRootProps) {\n const [isOpen, setIsOpen] = useState(defaultOpen);\n const [hasOverflow, setHasOverflow] = useState(true);\n\n const contentRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n function checkHeight() {\n if (contentRef.current) {\n const contentHeight = contentRef.current.scrollHeight;\n\n setHasOverflow(contentHeight > maxHeight);\n }\n }\n\n checkHeight();\n\n const resizeObserver = new ResizeObserver(checkHeight);\n\n if (contentRef.current) {\n resizeObserver.observe(contentRef.current);\n }\n\n return () => {\n resizeObserver.disconnect();\n };\n }, [maxHeight]);\n\n const toggleOpen = useCallback(() => {\n setIsOpen((prev) => !prev);\n }, []);\n\n const contextValues = useMemo(\n () => ({\n isOpen,\n hasOverflow,\n variant,\n showLabel,\n hideLabel,\n maxHeight,\n contentRef,\n toggleOpen,\n }),\n [isOpen, hasOverflow, variant, showLabel, hideLabel, maxHeight, toggleOpen],\n );\n\n return (\n <RevealContext.Provider value={contextValues}>\n <div className={cn('relative', className)} {...props}>\n {children}\n </div>\n </RevealContext.Provider>\n );\n}\n\nexport function useReveal() {\n const context = use(RevealContext);\n\n if (context === undefined) {\n throw new Error('useReveal must be used within a RevealRoot');\n }\n\n return context;\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nexport type RevealViewportProps = ComponentProps<'div'>;\n\nimport { useReveal } from '@/components/reveal';\nimport { cn } from '@/lib';\n\nexport function RevealViewport({ children, className, ...props }: RevealViewportProps) {\n const { hasOverflow, isOpen, maxHeight, contentRef } = useReveal();\n\n return (\n <div\n className={cn(\n hasOverflow &&\n !isOpen &&\n '[mask-image:linear-gradient(to_top,transparent,black_50px,black_calc(100%-50px))]',\n 'overflow-hidden',\n className,\n )}\n ref={contentRef}\n style={{ maxHeight: isOpen ? 'none' : maxHeight }}\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useReveal } from '@/components/reveal';\nimport { cn } from '@/lib';\n\nexport type RevealControlsProps = ComponentProps<'div'>;\n\nexport function RevealControls({ children, className, ...props }: RevealControlsProps) {\n const { hasOverflow } = useReveal();\n\n if (!hasOverflow) return null;\n\n return (\n <div className={cn('flex w-full items-end pt-4', className)} {...props}>\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { AnimatedUnderline } from '@/components/animated-underline';\nimport { Button } from '@/components/button';\nimport { useReveal } from '@/components/reveal';\nimport { cn } from '@/lib';\n\nexport type RevealTriggerProps = ComponentProps<'button'>;\n\nexport function RevealTrigger({ children, className, ...props }: RevealTriggerProps) {\n const { variant, showLabel, hideLabel, isOpen, toggleOpen } = useReveal();\n\n return (\n <>\n {variant === 'underline' && (\n <button\n className={cn('group/underline text-sm focus:outline-none', className)}\n onClick={() => toggleOpen()}\n type=\"button\"\n {...props}\n >\n <AnimatedUnderline>{isOpen ? hideLabel : showLabel}</AnimatedUnderline>\n </button>\n )}\n {variant === 'button' && (\n <Button\n className={className}\n onClick={() => toggleOpen()}\n size=\"x-small\"\n type=\"button\"\n variant=\"outline\"\n {...props}\n >\n {isOpen ? hideLabel : showLabel}\n </Button>\n )}\n </>\n );\n}\n"],"names":["AnimatedUnderline","className","children","props","jsx","cn","RevealContext","createContext","RevealRoot","variant","showLabel","hideLabel","defaultOpen","maxHeight","isOpen","setIsOpen","useState","hasOverflow","setHasOverflow","contentRef","useRef","useEffect","checkHeight","contentHeight","resizeObserver","toggleOpen","useCallback","prev","contextValues","useMemo","useReveal","context","use","RevealViewport","RevealControls","RevealTrigger","jsxs","Fragment","Button"],"mappings":"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"}
|
package/dist/reveal.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./reveal-trigger-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./reveal-trigger-ntEvLci1.cjs");exports.Controls=e.RevealControls;exports.Root=e.RevealRoot;exports.Trigger=e.RevealTrigger;exports.Viewport=e.RevealViewport;exports.useReveal=e.useReveal;
|
|
2
2
|
//# sourceMappingURL=reveal.cjs.map
|
package/dist/reveal.js
CHANGED
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button-W0_PtryU.js","sources":["../node_modules/.pnpm/lucide-react@0.545.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/loader-circle.js","../src/components/button/button.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.545.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"M21 12a9 9 0 1 1-6.219-8.56\", key: \"13zald\" }]];\nconst LoaderCircle = createLucideIcon(\"loader-circle\", __iconNode);\n\nexport { __iconNode, LoaderCircle as default };\n//# sourceMappingURL=loader-circle.js.map\n","'use client';\n\nimport { Loader2 } from 'lucide-react';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport interface ButtonProps extends ComponentProps<'button'> {\n variant?: 'primary' | 'brand' | 'outline' | 'ghost' | 'danger';\n size?: 'large' | 'medium' | 'small' | 'x-small';\n shape?: 'pill' | 'rounded' | 'square' | 'circle';\n loading?: boolean;\n}\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --button-focus: hsl(var(--primary));\n * --button-font-family: var(--font-family-body);\n * --button-brand-background: hsl(var(--primary));\n * --button-brand-background-hover: color-mix(in oklab, hsl(var(--primary)), white 75%);\n * --button-brand-text: hsl(var(--foreground));\n * --button-brand-border: hsl(var(--primary));\n * --button-primary-background: hsl(var(--foreground));\n * --button-primary-background-hover: hsl(var(--background));\n * --button-primary-text: hsl(var(--background));\n * --button-primary-border: hsl(var(--foreground));\n * --button-outline-background: hsl(var(--background));\n * --button-outline-background-hover: hsl(var(--contrast-100));\n * --button-outline-text: hsl(var(--foreground));\n * --button-outline-border: hsl(var(--contrast-200));\n * --button-ghost-background: transparent;\n * --button-ghost-background-hover: color-mix(in oklab, hsl(var(--foreground)) 5%, transparent);\n * --button-ghost-text: hsl(var(--foreground));\n * --button-ghost-border: transparent;\n * --button-loader-icon: hsl(var(--foreground));\n * --button-danger-background: color-mix(in oklab, hsl(var(--error)), white 30%);\n * --button-danger-background-hover: color-mix(in oklab, hsl(var(--error)), white 75%);\n * --button-danger-text: hsl(var(--foreground));\n * --button-danger-border: color-mix(in oklab, hsl(var(--error)), white 30%);\n * }\n * ```\n */\nexport function Button({\n variant = 'primary',\n size = 'large',\n shape = 'pill',\n loading = false,\n type = 'button',\n disabled = false,\n className,\n children,\n ...props\n}: ButtonProps) {\n return (\n <button\n aria-busy={loading}\n className={cn(\n 'relative z-0 inline-flex h-fit select-none items-center justify-center overflow-hidden text-center font-semibold leading-normal duration-200 ease-in-out [font-family:var(--button-font-family,var(--font-family-body))] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--button-focus,hsl(var(--primary)))] disabled:pointer-events-none disabled:opacity-30',\n {\n brand:\n 'bg-[var(--button-brand-background,hsl(var(--primary)))] text-[var(--button-brand-text,hsl(var(--foreground)))] hover:opacity-70',\n primary:\n 'bg-[var(--button-primary-background,hsl(var(--foreground)))] text-[var(--button-primary-text,hsl(var(--background)))] hover:opacity-70',\n outline:\n 'border border-[var(--button-outline-border,hsl(var(--contrast-200)))] bg-[var(--button-outline-background,hsl(var(--background)))] text-[var(--button-outline-text,hsl(var(--foreground)))] hover:bg-foreground/5',\n ghost:\n 'bg-transparent text-[var(--button-ghost-text,hsl(var(--foreground)))] hover:bg-foreground/5',\n danger:\n 'bg-[var(--button-danger-background,hsl(var(--error)))] text-[var(--button-danger-text,hsl(var(--background)))] hover:opacity-70',\n }[variant],\n shape === 'rounded'\n ? {\n 'x-small': 'rounded-lg',\n small: 'rounded-lg',\n medium: 'rounded-xl',\n large: 'rounded-xl',\n }[size]\n : {\n pill: 'rounded-full',\n square: 'rounded-none',\n circle: 'rounded-full',\n }[shape],\n loading && 'pointer-events-none',\n className,\n )}\n data-slot=\"button\"\n disabled={disabled}\n type={type}\n {...props}\n >\n <span\n className={cn(\n 'inline-flex items-center justify-center transition-all duration-300 ease-in-out',\n loading ? '-translate-y-full opacity-0' : 'translate-y-0 opacity-100',\n shape === 'circle' && 'aspect-square',\n {\n 'x-small': 'min-h-8 text-xs',\n small: 'min-h-9 text-sm',\n medium: 'min-h-11 text-base',\n large: 'min-h-14 text-base',\n }[size],\n shape !== 'circle' &&\n {\n 'x-small': 'gap-x-2 px-3 py-1.5',\n small: 'gap-x-2 px-3.5 py-2',\n medium: 'gap-x-2.5 px-4 py-2.5',\n large: 'gap-x-3 px-5 py-4',\n }[size],\n )}\n >\n {children}\n </span>\n <span\n className={cn(\n 'absolute inset-0 grid place-content-center transition-all duration-300 ease-in-out',\n loading ? 'translate-y-0 opacity-100' : 'translate-y-full opacity-0',\n )}\n >\n <Loader2\n className={cn(\n 'animate-spin',\n variant === 'outline' && 'text-[var(--button-loader-icon,hsl(var(--foreground)))]',\n )}\n />\n </span>\n </button>\n );\n}\n"],"names":["__iconNode","LoaderCircle","createLucideIcon","Button","variant","size","shape","loading","type","disabled","className","children","props","jsxs","cn","jsx","Loader2"],"mappings":";;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAG,+BAA+B,KAAK,SAAQ,CAAE,CAAC,GAC3EC,IAAeC,EAAiB,iBAAiBF,CAAU;;;;;ACoC1D,SAASG,EAAO;AAAA,EACrB,SAAAC,IAAU;AAAA,EACV,MAAAC,IAAO;AAAA,EACP,OAAAC,IAAQ;AAAA,EACR,SAAAC,IAAU;AAAA,EACV,MAAAC,IAAO;AAAA,EACP,UAAAC,IAAW;AAAA,EACX,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,GAAgB;AACd,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAWN;AAAA,MACX,WAAWO;AAAA,QACT;AAAA,QACA;AAAA,UACE,OACE;AAAA,UACF,SACE;AAAA,UACF,SACE;AAAA,UACF,OACE;AAAA,UACF,QACE;AAAA,QAAA,EACFV,CAAO;AAAA,QACTE,MAAU,YACN;AAAA,UACE,WAAW;AAAA,UACX,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,OAAO;AAAA,QAAA,EACPD,CAAI,IACN;AAAA,UACE,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,QAAQ;AAAA,QAAA,EACRC,CAAK;AAAA,QACXC,KAAW;AAAA,QACXG;AAAA,MAAA;AAAA,MAEF,aAAU;AAAA,MACV,UAAAD;AAAA,MACA,MAAAD;AAAA,MACC,GAAGI;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAG;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWD;AAAA,cACT;AAAA,cACAP,IAAU,gCAAgC;AAAA,cAC1CD,MAAU,YAAY;AAAA,cACtB;AAAA,gBACE,WAAW;AAAA,gBACX,OAAO;AAAA,gBACP,QAAQ;AAAA,gBACR,OAAO;AAAA,cAAA,EACPD,CAAI;AAAA,cACNC,MAAU,YACR;AAAA,gBACE,WAAW;AAAA,gBACX,OAAO;AAAA,gBACP,QAAQ;AAAA,gBACR,OAAO;AAAA,cAAA,EACPD,CAAI;AAAA,YAAA;AAAA,YAGT,UAAAM;AAAA,UAAA;AAAA,QAAA;AAAA,QAEH,gBAAAI;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWD;AAAA,cACT;AAAA,cACAP,IAAU,8BAA8B;AAAA,YAAA;AAAA,YAG1C,UAAA,gBAAAQ;AAAA,cAACC;AAAAA,cAAA;AAAA,gBACC,WAAWF;AAAA,kBACT;AAAA,kBACAV,MAAY,aAAa;AAAA,gBAAA;AAAA,cAC3B;AAAA,YAAA;AAAA,UACF;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN;","x_google_ignoreList":[0]}
|
package/dist/button-ibzOCImJ.cjs
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";const r=require("react/jsx-runtime"),n=require("./utils-DoxiiusW.cjs"),v=require("./createLucideIcon-CpmcoNn-.cjs");/**
|
|
2
|
-
* @license lucide-react v0.545.0 - ISC
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the ISC license.
|
|
5
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/const l=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],i=v.createLucideIcon("loader-circle",l),g=Object.freeze(Object.defineProperty({__proto__:null,__iconNode:l,default:i},Symbol.toStringTag,{value:"Module"}));function m({variant:o="primary",size:a="large",shape:e="pill",loading:t=!1,type:u="button",disabled:s=!1,className:c,children:d,...b}){return r.jsxs("button",{"aria-busy":t,className:n.cn("relative z-0 inline-flex h-fit select-none items-center justify-center overflow-hidden text-center font-semibold leading-normal duration-200 ease-in-out [font-family:var(--button-font-family,var(--font-family-body))] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--button-focus,hsl(var(--primary)))] disabled:pointer-events-none disabled:opacity-30",{brand:"bg-[var(--button-brand-background,hsl(var(--primary)))] text-[var(--button-brand-text,hsl(var(--foreground)))] hover:opacity-70",primary:"bg-[var(--button-primary-background,hsl(var(--foreground)))] text-[var(--button-primary-text,hsl(var(--background)))] hover:opacity-70",outline:"border border-[var(--button-outline-border,hsl(var(--contrast-200)))] bg-[var(--button-outline-background,hsl(var(--background)))] text-[var(--button-outline-text,hsl(var(--foreground)))] hover:bg-foreground/5",ghost:"bg-transparent text-[var(--button-ghost-text,hsl(var(--foreground)))] hover:bg-foreground/5",danger:"bg-[var(--button-danger-background,hsl(var(--error)))] text-[var(--button-danger-text,hsl(var(--background)))] hover:opacity-70"}[o],e==="rounded"?{"x-small":"rounded-lg",small:"rounded-lg",medium:"rounded-xl",large:"rounded-xl"}[a]:{pill:"rounded-full",square:"rounded-none",circle:"rounded-full"}[e],t&&"pointer-events-none",c),"data-slot":"button",disabled:s,type:u,...b,children:[r.jsx("span",{className:n.cn("inline-flex items-center justify-center transition-all duration-300 ease-in-out",t?"-translate-y-full opacity-0":"translate-y-0 opacity-100",e==="circle"&&"aspect-square",{"x-small":"min-h-8 text-xs",small:"min-h-9 text-sm",medium:"min-h-11 text-base",large:"min-h-14 text-base"}[a],e!=="circle"&&{"x-small":"gap-x-2 px-3 py-1.5",small:"gap-x-2 px-3.5 py-2",medium:"gap-x-2.5 px-4 py-2.5",large:"gap-x-3 px-5 py-4"}[a]),children:d}),r.jsx("span",{className:n.cn("absolute inset-0 grid place-content-center transition-all duration-300 ease-in-out",t?"translate-y-0 opacity-100":"translate-y-full opacity-0"),children:r.jsx(i,{className:n.cn("animate-spin",o==="outline"&&"text-[var(--button-loader-icon,hsl(var(--foreground)))]")})})]})}exports.Button=m;exports.loaderCircle=g;
|
|
7
|
-
//# sourceMappingURL=button-ibzOCImJ.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button-ibzOCImJ.cjs","sources":["../node_modules/.pnpm/lucide-react@0.545.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/loader-circle.js","../src/components/button/button.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.545.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"M21 12a9 9 0 1 1-6.219-8.56\", key: \"13zald\" }]];\nconst LoaderCircle = createLucideIcon(\"loader-circle\", __iconNode);\n\nexport { __iconNode, LoaderCircle as default };\n//# sourceMappingURL=loader-circle.js.map\n","'use client';\n\nimport { Loader2 } from 'lucide-react';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport interface ButtonProps extends ComponentProps<'button'> {\n variant?: 'primary' | 'brand' | 'outline' | 'ghost' | 'danger';\n size?: 'large' | 'medium' | 'small' | 'x-small';\n shape?: 'pill' | 'rounded' | 'square' | 'circle';\n loading?: boolean;\n}\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --button-focus: hsl(var(--primary));\n * --button-font-family: var(--font-family-body);\n * --button-brand-background: hsl(var(--primary));\n * --button-brand-background-hover: color-mix(in oklab, hsl(var(--primary)), white 75%);\n * --button-brand-text: hsl(var(--foreground));\n * --button-brand-border: hsl(var(--primary));\n * --button-primary-background: hsl(var(--foreground));\n * --button-primary-background-hover: hsl(var(--background));\n * --button-primary-text: hsl(var(--background));\n * --button-primary-border: hsl(var(--foreground));\n * --button-outline-background: hsl(var(--background));\n * --button-outline-background-hover: hsl(var(--contrast-100));\n * --button-outline-text: hsl(var(--foreground));\n * --button-outline-border: hsl(var(--contrast-200));\n * --button-ghost-background: transparent;\n * --button-ghost-background-hover: color-mix(in oklab, hsl(var(--foreground)) 5%, transparent);\n * --button-ghost-text: hsl(var(--foreground));\n * --button-ghost-border: transparent;\n * --button-loader-icon: hsl(var(--foreground));\n * --button-danger-background: color-mix(in oklab, hsl(var(--error)), white 30%);\n * --button-danger-background-hover: color-mix(in oklab, hsl(var(--error)), white 75%);\n * --button-danger-text: hsl(var(--foreground));\n * --button-danger-border: color-mix(in oklab, hsl(var(--error)), white 30%);\n * }\n * ```\n */\nexport function Button({\n variant = 'primary',\n size = 'large',\n shape = 'pill',\n loading = false,\n type = 'button',\n disabled = false,\n className,\n children,\n ...props\n}: ButtonProps) {\n return (\n <button\n aria-busy={loading}\n className={cn(\n 'relative z-0 inline-flex h-fit select-none items-center justify-center overflow-hidden text-center font-semibold leading-normal duration-200 ease-in-out [font-family:var(--button-font-family,var(--font-family-body))] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--button-focus,hsl(var(--primary)))] disabled:pointer-events-none disabled:opacity-30',\n {\n brand:\n 'bg-[var(--button-brand-background,hsl(var(--primary)))] text-[var(--button-brand-text,hsl(var(--foreground)))] hover:opacity-70',\n primary:\n 'bg-[var(--button-primary-background,hsl(var(--foreground)))] text-[var(--button-primary-text,hsl(var(--background)))] hover:opacity-70',\n outline:\n 'border border-[var(--button-outline-border,hsl(var(--contrast-200)))] bg-[var(--button-outline-background,hsl(var(--background)))] text-[var(--button-outline-text,hsl(var(--foreground)))] hover:bg-foreground/5',\n ghost:\n 'bg-transparent text-[var(--button-ghost-text,hsl(var(--foreground)))] hover:bg-foreground/5',\n danger:\n 'bg-[var(--button-danger-background,hsl(var(--error)))] text-[var(--button-danger-text,hsl(var(--background)))] hover:opacity-70',\n }[variant],\n shape === 'rounded'\n ? {\n 'x-small': 'rounded-lg',\n small: 'rounded-lg',\n medium: 'rounded-xl',\n large: 'rounded-xl',\n }[size]\n : {\n pill: 'rounded-full',\n square: 'rounded-none',\n circle: 'rounded-full',\n }[shape],\n loading && 'pointer-events-none',\n className,\n )}\n data-slot=\"button\"\n disabled={disabled}\n type={type}\n {...props}\n >\n <span\n className={cn(\n 'inline-flex items-center justify-center transition-all duration-300 ease-in-out',\n loading ? '-translate-y-full opacity-0' : 'translate-y-0 opacity-100',\n shape === 'circle' && 'aspect-square',\n {\n 'x-small': 'min-h-8 text-xs',\n small: 'min-h-9 text-sm',\n medium: 'min-h-11 text-base',\n large: 'min-h-14 text-base',\n }[size],\n shape !== 'circle' &&\n {\n 'x-small': 'gap-x-2 px-3 py-1.5',\n small: 'gap-x-2 px-3.5 py-2',\n medium: 'gap-x-2.5 px-4 py-2.5',\n large: 'gap-x-3 px-5 py-4',\n }[size],\n )}\n >\n {children}\n </span>\n <span\n className={cn(\n 'absolute inset-0 grid place-content-center transition-all duration-300 ease-in-out',\n loading ? 'translate-y-0 opacity-100' : 'translate-y-full opacity-0',\n )}\n >\n <Loader2\n className={cn(\n 'animate-spin',\n variant === 'outline' && 'text-[var(--button-loader-icon,hsl(var(--foreground)))]',\n )}\n />\n </span>\n </button>\n );\n}\n"],"names":["__iconNode","LoaderCircle","createLucideIcon","Button","variant","size","shape","loading","type","disabled","className","children","props","jsxs","cn","jsx","Loader2"],"mappings":"iIAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASA,MAAMA,EAAa,CAAC,CAAC,OAAQ,CAAE,EAAG,8BAA+B,IAAK,QAAQ,CAAE,CAAC,EAC3EC,EAAeC,EAAAA,iBAAiB,gBAAiBF,CAAU,sHCoC1D,SAASG,EAAO,CACrB,QAAAC,EAAU,UACV,KAAAC,EAAO,QACP,MAAAC,EAAQ,OACR,QAAAC,EAAU,GACV,KAAAC,EAAO,SACP,SAAAC,EAAW,GACX,UAAAC,EACA,SAAAC,EACA,GAAGC,CACL,EAAgB,CACd,OACEC,EAAAA,KAAC,SAAA,CACC,YAAWN,EACX,UAAWO,EAAAA,GACT,mYACA,CACE,MACE,kIACF,QACE,yIACF,QACE,oNACF,MACE,8FACF,OACE,iIAAA,EACFV,CAAO,EACTE,IAAU,UACN,CACE,UAAW,aACX,MAAO,aACP,OAAQ,aACR,MAAO,YAAA,EACPD,CAAI,EACN,CACE,KAAM,eACN,OAAQ,eACR,OAAQ,cAAA,EACRC,CAAK,EACXC,GAAW,sBACXG,CAAA,EAEF,YAAU,SACV,SAAAD,EACA,KAAAD,EACC,GAAGI,EAEJ,SAAA,CAAAG,EAAAA,IAAC,OAAA,CACC,UAAWD,EAAAA,GACT,kFACAP,EAAU,8BAAgC,4BAC1CD,IAAU,UAAY,gBACtB,CACE,UAAW,kBACX,MAAO,kBACP,OAAQ,qBACR,MAAO,oBAAA,EACPD,CAAI,EACNC,IAAU,UACR,CACE,UAAW,sBACX,MAAO,sBACP,OAAQ,wBACR,MAAO,mBAAA,EACPD,CAAI,CAAA,EAGT,SAAAM,CAAA,CAAA,EAEHI,EAAAA,IAAC,OAAA,CACC,UAAWD,EAAAA,GACT,qFACAP,EAAU,4BAA8B,4BAAA,EAG1C,SAAAQ,EAAAA,IAACC,EAAA,CACC,UAAWF,EAAAA,GACT,eACAV,IAAY,WAAa,yDAAA,CAC3B,CAAA,CACF,CAAA,CACF,CAAA,CAAA,CAGN","x_google_ignoreList":[0]}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./createLucideIcon-CpmcoNn-.cjs");/**
|
|
2
|
-
* @license lucide-react v0.545.0 - ISC
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the ISC license.
|
|
5
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/const e=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],c=o.createLucideIcon("chevron-down",e);exports.__iconNode=e;exports.default=c;
|
|
7
|
-
//# sourceMappingURL=chevron-down-BDpc8q6H.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chevron-down-BDpc8q6H.cjs","sources":["../node_modules/.pnpm/lucide-react@0.545.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/chevron-down.js"],"sourcesContent":["/**\n * @license lucide-react v0.545.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"m6 9 6 6 6-6\", key: \"qrunsl\" }]];\nconst ChevronDown = createLucideIcon(\"chevron-down\", __iconNode);\n\nexport { __iconNode, ChevronDown as default };\n//# sourceMappingURL=chevron-down.js.map\n"],"names":["__iconNode","ChevronDown","createLucideIcon"],"mappings":"mIAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAa,CAAC,CAAC,OAAQ,CAAE,EAAG,eAAgB,IAAK,SAAU,CAAC,EAC5DC,EAAcC,EAAAA,iBAAiB,eAAgBF,CAAU","x_google_ignoreList":[0]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { c as o } from "./createLucideIcon-DU8bVqFn.js";
|
|
2
|
-
/**
|
|
3
|
-
* @license lucide-react v0.545.0 - ISC
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the ISC license.
|
|
6
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
8
|
-
const e = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]], c = o("chevron-down", e);
|
|
9
|
-
export {
|
|
10
|
-
e as __iconNode,
|
|
11
|
-
c as default
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=chevron-down-CjW8zgR8.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chevron-down-CjW8zgR8.js","sources":["../node_modules/.pnpm/lucide-react@0.545.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/chevron-down.js"],"sourcesContent":["/**\n * @license lucide-react v0.545.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"m6 9 6 6 6-6\", key: \"qrunsl\" }]];\nconst ChevronDown = createLucideIcon(\"chevron-down\", __iconNode);\n\nexport { __iconNode, ChevronDown as default };\n//# sourceMappingURL=chevron-down.js.map\n"],"names":["__iconNode","ChevronDown","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASK,MAACA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAG,gBAAgB,KAAK,UAAU,CAAC,GAC5DC,IAAcC,EAAiB,gBAAgBF,CAAU;","x_google_ignoreList":[0]}
|