@chitrank2050/monoline-ui 0.2.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/LICENSE +21 -0
- package/README.md +313 -0
- package/chunk-2T2JZW4Z.js +2 -0
- package/chunk-2T2JZW4Z.js.map +1 -0
- package/chunk-37JB3ZNS.js +2 -0
- package/chunk-37JB3ZNS.js.map +1 -0
- package/chunk-3F6Z4CFV.js +2 -0
- package/chunk-3F6Z4CFV.js.map +1 -0
- package/chunk-5TIKYN5B.js +2 -0
- package/chunk-5TIKYN5B.js.map +1 -0
- package/chunk-6AEWSPAE.js +2 -0
- package/chunk-6AEWSPAE.js.map +1 -0
- package/chunk-7ANXAXP5.js +2 -0
- package/chunk-7ANXAXP5.js.map +1 -0
- package/chunk-7SDVYBBO.js +2 -0
- package/chunk-7SDVYBBO.js.map +1 -0
- package/chunk-7WJF6B6G.js +2 -0
- package/chunk-7WJF6B6G.js.map +1 -0
- package/chunk-A2LXX23X.js +2 -0
- package/chunk-A2LXX23X.js.map +1 -0
- package/chunk-AACTIVV7.js +2 -0
- package/chunk-AACTIVV7.js.map +1 -0
- package/chunk-B5P3RAN2.js +2 -0
- package/chunk-B5P3RAN2.js.map +1 -0
- package/chunk-COFALEVG.js +2 -0
- package/chunk-COFALEVG.js.map +1 -0
- package/chunk-D3E4G2RE.js +2 -0
- package/chunk-D3E4G2RE.js.map +1 -0
- package/chunk-DJT3EVR4.js +2 -0
- package/chunk-DJT3EVR4.js.map +1 -0
- package/chunk-EWKGYQOX.js +2 -0
- package/chunk-EWKGYQOX.js.map +1 -0
- package/chunk-FLUGXF5D.js +2 -0
- package/chunk-FLUGXF5D.js.map +1 -0
- package/chunk-GSWZL5C2.js +2 -0
- package/chunk-GSWZL5C2.js.map +1 -0
- package/chunk-H2CRII7X.js +2 -0
- package/chunk-H2CRII7X.js.map +1 -0
- package/chunk-IVTAW6SX.js +3 -0
- package/chunk-IVTAW6SX.js.map +1 -0
- package/chunk-JBOP2AJB.js +2 -0
- package/chunk-JBOP2AJB.js.map +1 -0
- package/chunk-JCKPCV2H.js +2 -0
- package/chunk-JCKPCV2H.js.map +1 -0
- package/chunk-K665XZ3N.js +2 -0
- package/chunk-K665XZ3N.js.map +1 -0
- package/chunk-K72EORST.js +2 -0
- package/chunk-K72EORST.js.map +1 -0
- package/chunk-KGLH6WI6.js +2 -0
- package/chunk-KGLH6WI6.js.map +1 -0
- package/chunk-LVMQ3ZM3.js +2 -0
- package/chunk-LVMQ3ZM3.js.map +1 -0
- package/chunk-N37GMCSK.js +2 -0
- package/chunk-N37GMCSK.js.map +1 -0
- package/chunk-NDHOUIOX.js +2 -0
- package/chunk-NDHOUIOX.js.map +1 -0
- package/chunk-NDTTLW56.js +2 -0
- package/chunk-NDTTLW56.js.map +1 -0
- package/chunk-O43OQHFN.js +2 -0
- package/chunk-O43OQHFN.js.map +1 -0
- package/chunk-QGG3J7OW.js +2 -0
- package/chunk-QGG3J7OW.js.map +1 -0
- package/chunk-QUG36ONS.js +2 -0
- package/chunk-QUG36ONS.js.map +1 -0
- package/chunk-R2YSVBHS.js +2 -0
- package/chunk-R2YSVBHS.js.map +1 -0
- package/chunk-TSOHITZ7.js +2 -0
- package/chunk-TSOHITZ7.js.map +1 -0
- package/chunk-V6PUPMAY.js +3 -0
- package/chunk-V6PUPMAY.js.map +1 -0
- package/chunk-VSATIFOR.js +2 -0
- package/chunk-VSATIFOR.js.map +1 -0
- package/chunk-XEB7C557.js +2 -0
- package/chunk-XEB7C557.js.map +1 -0
- package/chunk-Z7SIB4X6.js +2 -0
- package/chunk-Z7SIB4X6.js.map +1 -0
- package/chunk-ZOPV3BXO.js +2 -0
- package/chunk-ZOPV3BXO.js.map +1 -0
- package/chunk-ZU3HIOBU.js +2 -0
- package/chunk-ZU3HIOBU.js.map +1 -0
- package/components/action-rail/index.d.ts +18 -0
- package/components/action-rail/index.js +2 -0
- package/components/action-rail/index.js.map +1 -0
- package/components/avatar/avatar.css +47 -0
- package/components/avatar/index.d.ts +28 -0
- package/components/avatar/index.js +2 -0
- package/components/avatar/index.js.map +1 -0
- package/components/back-link/back-link.css +30 -0
- package/components/back-link/index.d.ts +18 -0
- package/components/back-link/index.js +2 -0
- package/components/back-link/index.js.map +1 -0
- package/components/badge/badge.css +27 -0
- package/components/badge/index.d.ts +26 -0
- package/components/badge/index.js +2 -0
- package/components/badge/index.js.map +1 -0
- package/components/button/button.css +238 -0
- package/components/button/index.d.ts +36 -0
- package/components/button/index.js +2 -0
- package/components/button/index.js.map +1 -0
- package/components/callout/callout.css +20 -0
- package/components/callout/index.d.ts +20 -0
- package/components/callout/index.js +2 -0
- package/components/callout/index.js.map +1 -0
- package/components/card/card.css +166 -0
- package/components/card/index.d.ts +112 -0
- package/components/card/index.js +2 -0
- package/components/card/index.js.map +1 -0
- package/components/code-block/code-block.css +23 -0
- package/components/code-block/index.d.ts +21 -0
- package/components/code-block/index.js +2 -0
- package/components/code-block/index.js.map +1 -0
- package/components/command-search/command-search.css +217 -0
- package/components/command-search/index.d.ts +73 -0
- package/components/command-search/index.js +2 -0
- package/components/command-search/index.js.map +1 -0
- package/components/container/container.css +41 -0
- package/components/container/index.d.ts +11 -0
- package/components/container/index.js +2 -0
- package/components/container/index.js.map +1 -0
- package/components/data-list/data-list.css +139 -0
- package/components/data-list/index.d.ts +45 -0
- package/components/data-list/index.js +2 -0
- package/components/data-list/index.js.map +1 -0
- package/components/editorial-line/index.d.ts +24 -0
- package/components/editorial-line/index.js +2 -0
- package/components/editorial-line/index.js.map +1 -0
- package/components/eyebrow/eyebrow.css +13 -0
- package/components/eyebrow/index.d.ts +17 -0
- package/components/eyebrow/index.js +2 -0
- package/components/eyebrow/index.js.map +1 -0
- package/components/footer/footer.css +201 -0
- package/components/footer/index.d.ts +66 -0
- package/components/footer/index.js +2 -0
- package/components/footer/index.js.map +1 -0
- package/components/input/index.d.ts +28 -0
- package/components/input/index.js +2 -0
- package/components/input/index.js.map +1 -0
- package/components/input/input.css +37 -0
- package/components/link-list/index.d.ts +47 -0
- package/components/link-list/index.js +2 -0
- package/components/link-list/index.js.map +1 -0
- package/components/link-list/link-list.css +208 -0
- package/components/media-frame/index.d.ts +31 -0
- package/components/media-frame/index.js +2 -0
- package/components/media-frame/index.js.map +1 -0
- package/components/media-frame/media-frame.css +86 -0
- package/components/meta-row/index.d.ts +22 -0
- package/components/meta-row/index.js +2 -0
- package/components/meta-row/index.js.map +1 -0
- package/components/metric/index.d.ts +22 -0
- package/components/metric/index.js +2 -0
- package/components/metric/index.js.map +1 -0
- package/components/navbar/index.d.ts +78 -0
- package/components/navbar/index.js +2 -0
- package/components/navbar/index.js.map +1 -0
- package/components/navbar/navbar.css +245 -0
- package/components/progress/index.d.ts +20 -0
- package/components/progress/index.js +2 -0
- package/components/progress/index.js.map +1 -0
- package/components/progress/progress.css +31 -0
- package/components/pull-quote/index.d.ts +18 -0
- package/components/pull-quote/index.js +2 -0
- package/components/pull-quote/index.js.map +1 -0
- package/components/rail/index.d.ts +28 -0
- package/components/rail/index.js +2 -0
- package/components/rail/index.js.map +1 -0
- package/components/rail/rail.css +118 -0
- package/components/resources-panel/index.d.ts +42 -0
- package/components/resources-panel/index.js +2 -0
- package/components/resources-panel/index.js.map +1 -0
- package/components/resources-panel/resources-panel.css +396 -0
- package/components/section-head/index.d.ts +24 -0
- package/components/section-head/index.js +2 -0
- package/components/section-head/index.js.map +1 -0
- package/components/segmented-control/index.d.ts +28 -0
- package/components/segmented-control/index.js +2 -0
- package/components/segmented-control/index.js.map +1 -0
- package/components/segmented-control/segmented-control.css +177 -0
- package/components/select/index.d.ts +65 -0
- package/components/select/index.js +2 -0
- package/components/select/index.js.map +1 -0
- package/components/select/select.css +298 -0
- package/components/skeleton/index.d.ts +19 -0
- package/components/skeleton/index.js +2 -0
- package/components/skeleton/index.js.map +1 -0
- package/components/skeleton/skeleton.css +13 -0
- package/components/status/index.d.ts +20 -0
- package/components/status/index.js +2 -0
- package/components/status/index.js.map +1 -0
- package/components/status/status.css +86 -0
- package/components/tag/index.d.ts +35 -0
- package/components/tag/index.js +2 -0
- package/components/tag/index.js.map +1 -0
- package/components/tag/tag.css +10 -0
- package/components/testimonial/index.d.ts +30 -0
- package/components/testimonial/index.js +2 -0
- package/components/testimonial/index.js.map +1 -0
- package/components/testimonial/testimonial.css +109 -0
- package/components/testimonial-grid/index.d.ts +12 -0
- package/components/testimonial-grid/index.js +2 -0
- package/components/testimonial-grid/index.js.map +1 -0
- package/components/testimonial-grid/testimonial-grid.css +58 -0
- package/components/theme-switcher/index.d.ts +24 -0
- package/components/theme-switcher/index.js +2 -0
- package/components/theme-switcher/index.js.map +1 -0
- package/components/theme-switcher/theme-switcher.css +130 -0
- package/components/toast/index.d.ts +20 -0
- package/components/toast/index.js +2 -0
- package/components/toast/index.js.map +1 -0
- package/components/toast/toast.css +22 -0
- package/components/toc/index.d.ts +27 -0
- package/components/toc/index.js +2 -0
- package/components/toc/index.js.map +1 -0
- package/components/toggle/index.d.ts +20 -0
- package/components/toggle/index.js +2 -0
- package/components/toggle/index.js.map +1 -0
- package/components/toggle/toggle.css +108 -0
- package/foundations/breakpoints.d.ts +12 -0
- package/foundations/breakpoints.js +2 -0
- package/foundations/breakpoints.js.map +1 -0
- package/foundations/use-breakpoint.d.ts +5 -0
- package/foundations/use-breakpoint.js +3 -0
- package/foundations/use-breakpoint.js.map +1 -0
- package/index.d.ts +42 -0
- package/index.js +2 -0
- package/index.js.map +1 -0
- package/lib/utils.d.ts +7 -0
- package/lib/utils.js +2 -0
- package/lib/utils.js.map +1 -0
- package/package.json +228 -0
- package/styles/theme/animations.css +206 -0
- package/styles/theme/base.css +75 -0
- package/styles/theme/tailwind.css +371 -0
- package/styles/theme/tokens.css +562 -0
- package/styles/theme/typography.css +108 -0
- package/styles/theme/utilities.css +281 -0
- package/styles/theme.css +68 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/callout/root.tsx","../src/components/callout/index.ts"],"names":["calloutVariantClasses","labelVariantClasses","CalloutRoot","className","variant","label","children","ref","props","jsxs","cn","jsx","Callout"],"mappings":"oFAGA,IAAMA,EAAwD,CAC7D,IAAA,CAAM,mBACN,GAAA,CAAK,iBAAA,CACL,KAAM,kBACP,CAAA,CAEMC,EAAsD,CAC3D,IAAA,CAAM,kBACN,GAAA,CAAK,yBAAA,CACL,IAAA,CAAM,2BACP,EAEO,SAASC,CAAAA,CAAY,CAC3B,SAAA,CAAAC,CAAAA,CACA,QAAAC,CAAAA,CAAU,MAAA,CACV,MAAAC,CAAAA,CACA,QAAA,CAAAC,EACA,GAAA,CAAAC,CAAAA,CACA,GAAGC,CACJ,CAAA,CAAqC,CACpC,OACCC,IAAAA,CAAC,OAAA,CAAA,CACA,GAAA,CAAKF,EACL,SAAA,CAAWG,GAAAA,CACV,mDACAV,CAAAA,CAAsBI,CAAO,EAC7BD,CACD,CAAA,CACC,GAAGK,CAAAA,CAEJ,QAAA,CAAA,CAAAG,IAAC,KAAA,CAAA,CACA,SAAA,CAAWD,IACV,0DAAA,CACAT,CAAAA,CAAoBG,CAAO,CAC5B,CAAA,CAEC,QAAA,CAAAC,CAAAA,EAASD,EACX,CAAA,CACAO,GAAAA,CAAC,OAAI,SAAA,CAAU,2CAAA,CACb,SAAAL,CAAAA,CACF,CAAA,CAAA,CACD,CAEF,CCtCO,IAAMM,EAET,MAAA,CAAO,MAAA,CAAOV,EAAa,CAC9B,WAAA,CAAa,SACd,CAAC","file":"chunk-TSOHITZ7.js","sourcesContent":["import { cn } from \"../../lib/utils\"\nimport type { CalloutProps, CalloutVariant } from \"./types\"\n\nconst calloutVariantClasses: Record<CalloutVariant, string> = {\n\tnote: \"ml-callout--note\",\n\ttip: \"ml-callout--tip\",\n\twarn: \"ml-callout--warn\",\n}\n\nconst labelVariantClasses: Record<CalloutVariant, string> = {\n\tnote: \"text-text-muted\",\n\ttip: \"text-callout-tip-accent\",\n\twarn: \"text-[oklch(0.7_0.16_80)]\",\n}\n\nexport function CalloutRoot({\n\tclassName,\n\tvariant = \"note\",\n\tlabel,\n\tchildren,\n\tref,\n\t...props\n}: CalloutProps): React.ReactElement {\n\treturn (\n\t\t<aside\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t\"ml-callout my-6 rounded-md border border-l-2 p-4\",\n\t\t\t\tcalloutVariantClasses[variant],\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"mb-1.5 font-mono text-[10px] uppercase tracking-[0.16em]\",\n\t\t\t\t\tlabelVariantClasses[variant]\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{label ?? variant}\n\t\t\t</div>\n\t\t\t<div className=\"text-sm leading-[1.6] text-text-secondary\">\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</aside>\n\t)\n}\n","/**\n * @module Callout\n * Description for Callout component.\n */\nimport { CalloutRoot } from \"./root\"\n\nexport * from \"./types\"\n\nexport const Callout: typeof CalloutRoot & {\n\tdisplayName: string\n} = Object.assign(CalloutRoot, {\n\tdisplayName: \"Callout\" as const,\n})\n"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import {a}from'./chunk-AACTIVV7.js';import {Command}from'cmdk';import {createContext,useState,useRef,useEffect,useCallback,useMemo,useContext}from'react';import {createPortal}from'react-dom';import {jsx,jsxs,Fragment}from'react/jsx-runtime';function C({className:e,children:o,ref:t,...r}){return jsx("div",{ref:t,className:a("ml-command-search__footer",e),...r,children:o||jsxs(Fragment,{children:[jsxs("span",{children:[jsx("kbd",{children:"\u2191\u2193"})," Navigate"]}),jsxs("span",{children:[jsx("kbd",{children:"\u21B5"})," Select"]}),jsxs("span",{children:[jsx("kbd",{children:"esc"})," Close"]})]})})}var P=createContext(null);function d(){let e=useContext(P);if(!e)throw new Error("CommandSearch compound components must be used within CommandSearch");return e}function Q(e,o){return o.toLowerCase().includes(e.toLowerCase())}function F({open:e,onOpenChange:o,shortcut:t="k",debounce:r=false,minChars:c=0,placeholder:a$1="Search\u2026",onQueryChange:p,filter:i=Q,shouldFilter:u=true,className:y,ref:_,children:k,showFooter:v=false}){let[D,L]=useState(""),[W,R]=useState(""),[z,Z]=useState(false),w=useRef(void 0),g=useRef(false);useEffect(()=>{Z(true);},[]),useEffect(()=>{e&&!g.current&&(L(""),R("")),g.current=e;},[e]);let E=useCallback(()=>o(false),[o]),A=useCallback(n=>{L(n),p?.(n);let s=typeof r=="number"&&r>0?r:0;s>0?(clearTimeout(w.current),w.current=setTimeout(()=>R(n),s)):R(n);},[r,p]);useEffect(()=>()=>clearTimeout(w.current),[]),useEffect(()=>{if(!t)return;let n=s=>{(s.metaKey||s.ctrlKey)&&s.key===t&&(s.preventDefault(),o(!e));};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[t,e,o]);let H=useMemo(()=>{if(!u)return ()=>1;if(i)return (n,s)=>i(s,n)?1:0},[i,u]);if(!z||!e)return null;let J={search:W,rawSearch:D,setRawSearch:A,minChars:c,placeholder:a$1,close:E};return createPortal(jsx(P.Provider,{value:J,children:jsx("div",{className:"ml-command-search__backdrop",onMouseDown:n=>{n.target===n.currentTarget&&E();},children:jsxs(Command,{ref:_,label:a$1,shouldFilter:u,filter:H,className:a("ml-command-search__panel",y),onKeyDown:n=>{n.key==="Escape"&&E();},children:[k,v&&jsx(C,{})]})})}),document.body)}function G({className:e,children:o,ref:t,...r}){let{search:c,minChars:a$1}=d();return c.length<a$1&&a$1>0?null:jsx(Command.Empty,{ref:t,className:a("ml-command-search__empty",e),...r,children:o??jsxs(Fragment,{children:["No results for \u201C",c,"\u201D"]})})}function T({heading:e,className:o,children:t,ref:r,...c}){return jsx(Command.Group,{ref:r,heading:e,className:a("ml-command-search__group",o),...c,children:t})}function ce(){return jsxs("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"size-4",children:[jsx("path",{d:"M7.25 12.5C10.1495 12.5 12.5 10.1495 12.5 7.25C12.5 4.35051 10.1495 2 7.25 2C4.35051 2 2 4.35051 2 7.25C2 10.1495 4.35051 12.5 7.25 12.5Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),jsx("path",{d:"M10.9624 10.9625L13.9999 14.0001",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}function V({className:e,inputClassName:o,ref:t,size:r,autoComplete:c="off",autoCorrect:a$1="off",autoFocus:p=true,spellCheck:i=false,...u}){let{rawSearch:y,setRawSearch:_,placeholder:k,close:v}=d();return jsxs("div",{className:a("ml-command-search__input-row",e),children:[jsx("span",{className:"ml-command-search__search-icon","aria-hidden":"true",children:jsx(ce,{})}),jsx(Command.Input,{ref:t,className:a("ml-command-search__input",r==="lg"&&"ml-command-search__input--lg",o),placeholder:k,value:y,onValueChange:_,autoComplete:c,autoCorrect:a$1,spellCheck:i,autoFocus:p,...u}),jsx("button",{type:"button",className:"ml-command-search__esc",onClick:v,"aria-label":"Close search",children:"esc"})]})}function M({value:e,onSelect:o,disabled:t=false,className:r,children:c,ref:a$1,...p}){let{close:i}=d();return jsx(Command.Item,{ref:a$1,value:e,disabled:t,onSelect:()=>{o?.(),i();},className:a("ml-command-search__item",r),...p,children:c})}function B({className:e,children:o,ref:t,...r}){let{search:c,minChars:a$1}=d(),p=c.length<a$1&&a$1>0;return jsx(Command.List,{ref:t,className:a("ml-command-search__list",e),...r,children:p?jsxs("div",{className:"ml-command-search__threshold",children:["Type at least ",a$1," character",a$1>1?"s":""," to search\u2026"]}):o})}var eo=Object.assign(F,{displayName:"CommandSearch",Input:V,List:B,Item:M,Empty:G,Group:T,Footer:C});
|
|
2
|
+
export{eo as a};//# sourceMappingURL=chunk-V6PUPMAY.js.map
|
|
3
|
+
//# sourceMappingURL=chunk-V6PUPMAY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/command-search/footer.tsx","../src/components/command-search/root.tsx","../src/components/command-search/empty.tsx","../src/components/command-search/group.tsx","../src/components/command-search/input.tsx","../src/components/command-search/item.tsx","../src/components/command-search/list.tsx","../src/components/command-search/index.ts"],"names":["CommandSearchFooter","className","children","ref","props","jsx","cn","jsxs","Fragment","CommandSearchContext","createContext","useCommandSearch","ctx","useContext","defaultFilter","query","value","CommandSearchRoot","open","onOpenChange","shortcut","debounceProp","minChars","placeholder","onQueryChange","filter","shouldFilter","showFooter","rawSearch","setRawSearchState","useState","search","setSearch","isBrowser","setIsBrowser","debounceRef","useRef","prevOpen","useEffect","close","useCallback","setRawSearch","q","delay","handler","e","cmdkFilter","useMemo","searchVal","ctxValue","createPortal","Command","CommandSearchEmpty","CommandSearchGroup","heading","SearchIcon","CommandSearchInput","inputClassName","size","autoComplete","autoCorrect","autoFocus","spellCheck","CommandSearchItem","onSelect","disabled","CommandSearchList","belowThreshold","CommandSearch"],"mappings":"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","file":"chunk-V6PUPMAY.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"../../lib/utils\"\nimport type { CommandSearchFooterProps } from \"./types\"\n\nexport function CommandSearchFooter({\n\tclassName,\n\tchildren,\n\tref,\n\t...props\n}: CommandSearchFooterProps): React.ReactElement {\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName={cn(\"ml-command-search__footer\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children || (\n\t\t\t\t<>\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<kbd>↑↓</kbd> Navigate\n\t\t\t\t\t</span>\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<kbd>↵</kbd> Select\n\t\t\t\t\t</span>\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<kbd>esc</kbd> Close\n\t\t\t\t\t</span>\n\t\t\t\t</>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n","\"use client\"\n\nimport {\n\tcreateContext,\n\tuseCallback,\n\tuseContext,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from \"react\"\nimport { createPortal } from \"react-dom\"\n\nimport { Command } from \"cmdk\"\n\nimport { cn } from \"../../lib/utils\"\nimport { CommandSearchFooter } from \"./footer\"\nimport type { CommandSearchContextValue, CommandSearchProps } from \"./types\"\n\nconst CommandSearchContext = createContext<CommandSearchContextValue | null>(\n\tnull\n)\n\nexport function useCommandSearch() {\n\tconst ctx = useContext(CommandSearchContext)\n\tif (!ctx)\n\t\tthrow new Error(\n\t\t\t\"CommandSearch compound components must be used within CommandSearch\"\n\t\t)\n\treturn ctx\n}\n\nfunction defaultFilter(query: string, value: string) {\n\treturn value.toLowerCase().includes(query.toLowerCase())\n}\n\nexport function CommandSearchRoot({\n\topen,\n\tonOpenChange,\n\tshortcut = \"k\",\n\tdebounce: debounceProp = false,\n\tminChars = 0,\n\tplaceholder = \"Search…\",\n\tonQueryChange,\n\tfilter = defaultFilter,\n\tshouldFilter = true,\n\tclassName,\n\tref,\n\tchildren,\n\tshowFooter = false,\n}: CommandSearchProps): React.ReactElement | null {\n\tconst [rawSearch, setRawSearchState] = useState(\"\")\n\tconst [search, setSearch] = useState(\"\")\n\tconst [isBrowser, setIsBrowser] = useState(false)\n\tconst debounceRef = useRef<ReturnType<typeof setTimeout>>(undefined)\n\tconst prevOpen = useRef(false)\n\n\tuseEffect(() => {\n\t\tsetIsBrowser(true)\n\t}, [])\n\n\tuseEffect(() => {\n\t\tif (open && !prevOpen.current) {\n\t\t\tsetRawSearchState(\"\")\n\t\t\tsetSearch(\"\")\n\t\t}\n\t\tprevOpen.current = open\n\t}, [open])\n\n\tconst close = useCallback(() => onOpenChange(false), [onOpenChange])\n\n\tconst setRawSearch = useCallback(\n\t\t(q: string) => {\n\t\t\tsetRawSearchState(q)\n\t\t\tonQueryChange?.(q)\n\n\t\t\tconst delay =\n\t\t\t\ttypeof debounceProp === \"number\" && debounceProp > 0 ? debounceProp : 0\n\n\t\t\tif (delay > 0) {\n\t\t\t\tclearTimeout(debounceRef.current)\n\t\t\t\tdebounceRef.current = setTimeout(() => setSearch(q), delay)\n\t\t\t} else {\n\t\t\t\tsetSearch(q)\n\t\t\t}\n\t\t},\n\t\t[debounceProp, onQueryChange]\n\t)\n\n\tuseEffect(() => {\n\t\treturn () => clearTimeout(debounceRef.current)\n\t}, [])\n\n\tuseEffect(() => {\n\t\tif (!shortcut) return\n\t\tconst handler = (e: KeyboardEvent) => {\n\t\t\tif ((e.metaKey || e.ctrlKey) && e.key === shortcut) {\n\t\t\t\te.preventDefault()\n\t\t\t\tonOpenChange(!open)\n\t\t\t}\n\t\t}\n\t\tdocument.addEventListener(\"keydown\", handler)\n\t\treturn () => document.removeEventListener(\"keydown\", handler)\n\t}, [shortcut, open, onOpenChange])\n\n\tconst cmdkFilter = useMemo(() => {\n\t\tif (!shouldFilter) return () => 1\n\t\tif (!filter) return undefined\n\t\treturn (value: string, searchVal: string) => {\n\t\t\treturn filter(searchVal, value) ? 1 : 0\n\t\t}\n\t}, [filter, shouldFilter])\n\n\tif (!isBrowser || !open) return null\n\n\tconst ctxValue: CommandSearchContextValue = {\n\t\tsearch,\n\t\trawSearch,\n\t\tsetRawSearch,\n\t\tminChars,\n\t\tplaceholder,\n\t\tclose,\n\t}\n\n\treturn createPortal(\n\t\t<CommandSearchContext.Provider value={ctxValue}>\n\t\t\t{/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n\t\t\t<div\n\t\t\t\tclassName=\"ml-command-search__backdrop\"\n\t\t\t\tonMouseDown={(e) => {\n\t\t\t\t\tif (e.target === e.currentTarget) close()\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<Command\n\t\t\t\t\tref={ref}\n\t\t\t\t\tlabel={placeholder}\n\t\t\t\t\tshouldFilter={shouldFilter}\n\t\t\t\t\tfilter={cmdkFilter}\n\t\t\t\t\tclassName={cn(\"ml-command-search__panel\", className)}\n\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\tif (e.key === \"Escape\") close()\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t\t{showFooter && <CommandSearchFooter />}\n\t\t\t\t</Command>\n\t\t\t</div>\n\t\t</CommandSearchContext.Provider>,\n\t\tdocument.body\n\t)\n}\n","\"use client\"\n\nimport { Command } from \"cmdk\"\n\nimport { cn } from \"../../lib/utils\"\nimport { useCommandSearch } from \"./root\"\nimport type { CommandSearchEmptyProps } from \"./types\"\n\nexport function CommandSearchEmpty({\n\tclassName,\n\tchildren,\n\tref,\n\t...props\n}: CommandSearchEmptyProps): React.ReactElement | null {\n\tconst { search, minChars } = useCommandSearch()\n\n\tif (search.length < minChars && minChars > 0) return null\n\n\treturn (\n\t\t<Command.Empty\n\t\t\tref={ref}\n\t\t\tclassName={cn(\"ml-command-search__empty\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children ?? <>No results for “{search}”</>}\n\t\t</Command.Empty>\n\t)\n}\n","\"use client\"\n\nimport { Command } from \"cmdk\"\n\nimport { cn } from \"../../lib/utils\"\nimport type { CommandSearchGroupProps } from \"./types\"\n\nexport function CommandSearchGroup({\n\theading,\n\tclassName,\n\tchildren,\n\tref,\n\t...props\n}: CommandSearchGroupProps): React.ReactElement {\n\treturn (\n\t\t<Command.Group\n\t\t\tref={ref}\n\t\t\theading={heading}\n\t\t\tclassName={cn(\"ml-command-search__group\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t</Command.Group>\n\t)\n}\n","\"use client\"\n\nimport { Command } from \"cmdk\"\n\nimport { cn } from \"../../lib/utils\"\nimport { useCommandSearch } from \"./root\"\nimport type { CommandSearchInputProps } from \"./types\"\n\nfunction SearchIcon() {\n\treturn (\n\t\t<svg\n\t\t\tviewBox=\"0 0 16 16\"\n\t\t\tfill=\"none\"\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\tclassName=\"size-4\"\n\t\t>\n\t\t\t<path\n\t\t\t\td=\"M7.25 12.5C10.1495 12.5 12.5 10.1495 12.5 7.25C12.5 4.35051 10.1495 2 7.25 2C4.35051 2 2 4.35051 2 7.25C2 10.1495 4.35051 12.5 7.25 12.5Z\"\n\t\t\t\tstroke=\"currentColor\"\n\t\t\t\tstrokeWidth=\"1.5\"\n\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t/>\n\t\t\t<path\n\t\t\t\td=\"M10.9624 10.9625L13.9999 14.0001\"\n\t\t\t\tstroke=\"currentColor\"\n\t\t\t\tstrokeWidth=\"1.5\"\n\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t/>\n\t\t</svg>\n\t)\n}\n\nexport function CommandSearchInput({\n\tclassName,\n\tinputClassName,\n\tref,\n\tsize,\n\tautoComplete = \"off\",\n\tautoCorrect = \"off\",\n\tautoFocus = true,\n\tspellCheck = false,\n\t...props\n}: CommandSearchInputProps): React.ReactElement {\n\tconst { rawSearch, setRawSearch, placeholder, close } = useCommandSearch()\n\n\treturn (\n\t\t<div className={cn(\"ml-command-search__input-row\", className)}>\n\t\t\t<span className=\"ml-command-search__search-icon\" aria-hidden=\"true\">\n\t\t\t\t<SearchIcon />\n\t\t\t</span>\n\t\t\t<Command.Input\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"ml-command-search__input\",\n\t\t\t\t\tsize === \"lg\" && \"ml-command-search__input--lg\",\n\t\t\t\t\tinputClassName\n\t\t\t\t)}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tvalue={rawSearch}\n\t\t\t\tonValueChange={setRawSearch}\n\t\t\t\tautoComplete={autoComplete}\n\t\t\t\tautoCorrect={autoCorrect}\n\t\t\t\tspellCheck={spellCheck}\n\t\t\t\t/* eslint-disable-next-line jsx-a11y/no-autofocus */\n\t\t\t\tautoFocus={autoFocus}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName=\"ml-command-search__esc\"\n\t\t\t\tonClick={close}\n\t\t\t\taria-label=\"Close search\"\n\t\t\t>\n\t\t\t\tesc\n\t\t\t</button>\n\t\t</div>\n\t)\n}\n","\"use client\"\n\nimport { Command } from \"cmdk\"\n\nimport { cn } from \"../../lib/utils\"\nimport { useCommandSearch } from \"./root\"\nimport type { CommandSearchItemProps } from \"./types\"\n\nexport function CommandSearchItem({\n\tvalue,\n\tonSelect,\n\tdisabled = false,\n\tclassName,\n\tchildren,\n\tref,\n\t...props\n}: CommandSearchItemProps): React.ReactElement {\n\tconst { close } = useCommandSearch()\n\n\treturn (\n\t\t<Command.Item\n\t\t\tref={ref}\n\t\t\tvalue={value}\n\t\t\tdisabled={disabled}\n\t\t\tonSelect={() => {\n\t\t\t\tonSelect?.()\n\t\t\t\tclose()\n\t\t\t}}\n\t\t\tclassName={cn(\"ml-command-search__item\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t</Command.Item>\n\t)\n}\n","\"use client\"\n\nimport { Command } from \"cmdk\"\n\nimport { cn } from \"../../lib/utils\"\nimport { useCommandSearch } from \"./root\"\nimport type { CommandSearchListProps } from \"./types\"\n\nexport function CommandSearchList({\n\tclassName,\n\tchildren,\n\tref,\n\t...props\n}: CommandSearchListProps): React.ReactElement {\n\tconst { search, minChars } = useCommandSearch()\n\n\tconst belowThreshold = search.length < minChars && minChars > 0\n\n\treturn (\n\t\t<Command.List\n\t\t\tref={ref}\n\t\t\tclassName={cn(\"ml-command-search__list\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{belowThreshold ? (\n\t\t\t\t<div className=\"ml-command-search__threshold\">\n\t\t\t\t\tType at least {minChars} character{minChars > 1 ? \"s\" : \"\"} to search…\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\tchildren\n\t\t\t)}\n\t\t</Command.List>\n\t)\n}\n","/**\n * @module CommandSearch\n * Description for CommandSearch component.\n */\nimport { CommandSearchEmpty } from \"./empty\"\nimport { CommandSearchFooter } from \"./footer\"\nimport { CommandSearchGroup } from \"./group\"\nimport { CommandSearchInput } from \"./input\"\nimport { CommandSearchItem } from \"./item\"\nimport { CommandSearchList } from \"./list\"\nimport { CommandSearchRoot } from \"./root\"\n\nexport * from \"./types\"\n\nexport const CommandSearch: typeof CommandSearchRoot & {\n\tdisplayName: string\n\tInput: typeof CommandSearchInput\n\tList: typeof CommandSearchList\n\tItem: typeof CommandSearchItem\n\tEmpty: typeof CommandSearchEmpty\n\tGroup: typeof CommandSearchGroup\n\tFooter: typeof CommandSearchFooter\n} = Object.assign(CommandSearchRoot, {\n\tdisplayName: \"CommandSearch\" as const,\n\tInput: CommandSearchInput,\n\tList: CommandSearchList,\n\tItem: CommandSearchItem,\n\tEmpty: CommandSearchEmpty,\n\tGroup: CommandSearchGroup,\n\tFooter: CommandSearchFooter,\n})\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a as a$1}from'./chunk-AACTIVV7.js';import {jsx}from'react/jsx-runtime';var n={xs:"text-3xs tracking-[0.18em]",sm:"text-2xs tracking-eyebrow",md:"text-xs tracking-meta"};function e({className:t,size:r="sm",ref:m,...s}){return jsx("span",{ref:m,className:a$1("font-mono uppercase text-muted-foreground",n[r],t),...s})}var a=e;export{a};//# sourceMappingURL=chunk-VSATIFOR.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-VSATIFOR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/eyebrow/root.tsx","../src/components/eyebrow/index.ts"],"names":["EYEBROW_SIZE_CLASSES_MAP","EyebrowRoot","className","size","ref","props","jsx","cn","Eyebrow"],"mappings":"+EAGA,IAAMA,CAAAA,CAAwD,CAC7D,EAAA,CAAI,4BAAA,CACJ,GAAI,2BAAA,CACJ,EAAA,CAAI,uBACL,CAAA,CAEO,SAASC,EAAY,CAC3B,SAAA,CAAAC,EACA,IAAA,CAAAC,CAAAA,CAAO,KACP,GAAA,CAAAC,CAAAA,CACA,GAAGC,CACJ,CAAA,CAAqC,CACpC,OACCC,GAAAA,CAAC,QACA,GAAA,CAAKF,CAAAA,CACL,UAAWG,GAAAA,CACV,2CAAA,CACAP,EAAyBG,CAAI,CAAA,CAC7BD,CACD,CAAA,CACC,GAAGG,EACL,CAEF,KClBaG,CAAAA,CAAUP","file":"chunk-VSATIFOR.js","sourcesContent":["import { cn } from \"../../lib/utils\"\nimport type { EyebrowProps, EyebrowSize } from \"./types\"\n\nconst EYEBROW_SIZE_CLASSES_MAP: Record<EyebrowSize, string> = {\n\txs: \"text-3xs tracking-[0.18em]\",\n\tsm: \"text-2xs tracking-eyebrow\",\n\tmd: \"text-xs tracking-meta\",\n}\n\nexport function EyebrowRoot({\n\tclassName,\n\tsize = \"sm\",\n\tref,\n\t...props\n}: EyebrowProps): React.ReactElement {\n\treturn (\n\t\t<span\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t\"font-mono uppercase text-muted-foreground\",\n\t\t\t\tEYEBROW_SIZE_CLASSES_MAP[size],\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n","/**\n * @module eyebrow\n * Description for eyebrow component.\n */\nimport { EyebrowRoot } from \"./root\"\n\nexport * from \"./types\"\n\nexport const Eyebrow = EyebrowRoot\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/foundations/breakpoints.ts"],"names":["monolineBreakpoints"],"mappings":"AAAO,IAAMA,CAAAA,CAAsB,CAClC,MAAA,CAAQ,GAAA,CACR,UAAW,GAAA,CACX,MAAA,CAAQ,GAAA,CACR,SAAA,CAAW,IACX,SAAA,CAAW,IAAA,CACX,OAAA,CAAS,IAAA,CACT,KAAM,IACP","file":"chunk-XEB7C557.js","sourcesContent":["export const monolineBreakpoints = {\n\tmobile: 390,\n\tmobileMax: 767,\n\ttablet: 834,\n\ttabletMin: 768,\n\ttabletMax: 1023,\n\tdesktop: 1280,\n\twide: 1536,\n} as const\n\nexport type MonolineBreakpoint = keyof typeof monolineBreakpoints\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a}from'./chunk-AACTIVV7.js';import {jsxs,jsx}from'react/jsx-runtime';var x={up:"\u2191",down:"\u2193",flat:"\u2192"},p={up:"text-[var(--callout-tip-accent)]",down:"text-destructive",flat:"text-muted-foreground"},g={sm:"gap-ml-1-5 rounded-lg p-ml-4",md:"gap-ml-2 rounded-xl p-ml-5",lg:"gap-ml-3 rounded-2xl p-ml-7"},M={sm:"text-2xl",md:"text-3xl",lg:"text-5xl"},S={sm:"text-3xs",md:"text-2xs",lg:"text-xs"};function l({className:i,value:d,label:m,description:n,trend:r,size:o="md",ref:s,...a$1}){return jsxs("div",{ref:s,className:a("flex flex-col border border-border bg-surface",g[o],i),...a$1,children:[jsxs("div",{className:"flex items-baseline gap-ml-2",children:[jsx("div",{className:a("font-mono leading-none font-semibold tracking-tight text-primary",M[o]),children:d}),r?jsx("span",{className:a("font-mono text-xs",p[r]),children:x[r]}):null]}),jsx("div",{className:a("font-mono tracking-[0.14em] text-muted-foreground uppercase",S[o]),children:m}),n?jsx("p",{className:"m-0 text-sm leading-relaxed text-body",children:n}):null]})}var R=l;export{R as a};//# sourceMappingURL=chunk-Z7SIB4X6.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-Z7SIB4X6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/metric/root.tsx","../src/components/metric/index.ts"],"names":["TREND_LABEL_MAP","TREND_CLASSES_MAP","METRIC_SIZE_CLASSES_MAP","METRIC_VALUE_SIZE_CLASSES_MAP","METRIC_LABEL_SIZE_CLASSES_MAP","MetricRoot","className","value","label","description","trend","size","ref","props","jsxs","cn","jsx","Metric"],"mappings":"6EAGA,IAAMA,CAAAA,CAA+C,CACpD,EAAA,CAAI,QAAA,CACJ,IAAA,CAAM,QAAA,CACN,IAAA,CAAM,QACP,CAAA,CAEMC,CAAAA,CAAiD,CACtD,EAAA,CAAI,kCAAA,CACJ,IAAA,CAAM,kBAAA,CACN,IAAA,CAAM,uBACP,CAAA,CAEMC,CAAAA,CAAsD,CAC3D,EAAA,CAAI,+BACJ,EAAA,CAAI,4BAAA,CACJ,EAAA,CAAI,6BACL,EAEMC,CAAAA,CAA4D,CACjE,EAAA,CAAI,UAAA,CACJ,EAAA,CAAI,UAAA,CACJ,EAAA,CAAI,UACL,EAEMC,CAAAA,CAA4D,CACjE,EAAA,CAAI,UAAA,CACJ,GAAI,UAAA,CACJ,EAAA,CAAI,SACL,CAAA,CAEO,SAASC,CAAAA,CAAW,CAC1B,SAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,YAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,IAAA,CAAAC,EAAO,IAAA,CACP,GAAA,CAAAC,CAAAA,CACA,GAAGC,GACJ,CAAA,CAAoC,CACnC,OACCC,IAAAA,CAAC,KAAA,CAAA,CACA,GAAA,CAAKF,CAAAA,CACL,SAAA,CAAWG,EACV,+CAAA,CACAb,CAAAA,CAAwBS,CAAI,CAAA,CAC5BL,CACD,CAAA,CACC,GAAGO,GAAAA,CAEJ,QAAA,CAAA,CAAAC,KAAC,KAAA,CAAA,CAAI,SAAA,CAAU,8BAAA,CACd,QAAA,CAAA,CAAAE,GAAAA,CAAC,KAAA,CAAA,CACA,SAAA,CAAWD,CAAAA,CACV,mEACAZ,CAAAA,CAA8BQ,CAAI,CACnC,CAAA,CAEC,SAAAJ,CAAAA,CACF,CAAA,CACCG,CAAAA,CACAM,GAAAA,CAAC,QAAK,SAAA,CAAWD,CAAAA,CAAG,mBAAA,CAAqBd,CAAAA,CAAkBS,CAAK,CAAC,CAAA,CAC/D,QAAA,CAAAV,EAAgBU,CAAK,CAAA,CACvB,CAAA,CACG,IAAA,CAAA,CACL,EACAM,GAAAA,CAAC,KAAA,CAAA,CACA,SAAA,CAAWD,CAAAA,CACV,8DACAX,CAAAA,CAA8BO,CAAI,CACnC,CAAA,CAEC,QAAA,CAAAH,CAAAA,CACF,CAAA,CACCC,CAAAA,CACAO,IAAC,GAAA,CAAA,CAAE,SAAA,CAAU,uCAAA,CAAyC,QAAA,CAAAP,EAAY,CAAA,CAC/D,IAAA,CAAA,CACL,CAEF,KCzEaQ,CAAAA,CAASZ","file":"chunk-Z7SIB4X6.js","sourcesContent":["import { cn } from \"../../lib/utils\"\nimport type { MetricProps, MetricSize, MetricTrend } from \"./types\"\n\nconst TREND_LABEL_MAP: Record<MetricTrend, string> = {\n\tup: \"↑\",\n\tdown: \"↓\",\n\tflat: \"→\",\n}\n\nconst TREND_CLASSES_MAP: Record<MetricTrend, string> = {\n\tup: \"text-[var(--callout-tip-accent)]\",\n\tdown: \"text-destructive\",\n\tflat: \"text-muted-foreground\",\n}\n\nconst METRIC_SIZE_CLASSES_MAP: Record<MetricSize, string> = {\n\tsm: \"gap-ml-1-5 rounded-lg p-ml-4\",\n\tmd: \"gap-ml-2 rounded-xl p-ml-5\",\n\tlg: \"gap-ml-3 rounded-2xl p-ml-7\",\n}\n\nconst METRIC_VALUE_SIZE_CLASSES_MAP: Record<MetricSize, string> = {\n\tsm: \"text-2xl\",\n\tmd: \"text-3xl\",\n\tlg: \"text-5xl\",\n}\n\nconst METRIC_LABEL_SIZE_CLASSES_MAP: Record<MetricSize, string> = {\n\tsm: \"text-3xs\",\n\tmd: \"text-2xs\",\n\tlg: \"text-xs\",\n}\n\nexport function MetricRoot({\n\tclassName,\n\tvalue,\n\tlabel,\n\tdescription,\n\ttrend,\n\tsize = \"md\",\n\tref,\n\t...props\n}: MetricProps): React.ReactElement {\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t\"flex flex-col border border-border bg-surface\",\n\t\t\t\tMETRIC_SIZE_CLASSES_MAP[size],\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<div className=\"flex items-baseline gap-ml-2\">\n\t\t\t\t<div\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"font-mono leading-none font-semibold tracking-tight text-primary\",\n\t\t\t\t\t\tMETRIC_VALUE_SIZE_CLASSES_MAP[size]\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{value}\n\t\t\t\t</div>\n\t\t\t\t{trend ? (\n\t\t\t\t\t<span className={cn(\"font-mono text-xs\", TREND_CLASSES_MAP[trend])}>\n\t\t\t\t\t\t{TREND_LABEL_MAP[trend]}\n\t\t\t\t\t</span>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"font-mono tracking-[0.14em] text-muted-foreground uppercase\",\n\t\t\t\t\tMETRIC_LABEL_SIZE_CLASSES_MAP[size]\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{label}\n\t\t\t</div>\n\t\t\t{description ? (\n\t\t\t\t<p className=\"m-0 text-sm leading-relaxed text-body\">{description}</p>\n\t\t\t) : null}\n\t\t</div>\n\t)\n}\n","/**\n * @module metric\n * Description for metric component.\n */\nimport { MetricRoot } from \"./root\"\n\nexport * from \"./types\"\n\nexport const Metric = MetricRoot\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {b,a}from'./chunk-AACTIVV7.js';import*as o from'react';import {jsxs,jsx}from'react/jsx-runtime';function A({options:s,value:u,onChange:g,variant:E="default",size:k="md",className:D,onKeyDown:M,ref:y,role:L,...I}){let f=o.useRef(null),T=o.useMemo(()=>b(f,y),[y]),v=o.useRef(null),w=o.useRef({left:0,width:0});o.useLayoutEffect(()=>{let e=f.current,t=v.current,n=e?.ownerDocument.defaultView;if(!e||!t||!n)return;let c=i=>{let l=e.querySelector('[role="radio"][aria-checked="true"]');if(!l){t.style.opacity="0";return}let r={left:l.offsetLeft,width:l.offsetWidth},d=w.current;t.style.left=`${r.left}px`,t.style.width=`${r.width}px`,t.style.opacity="1",t.getAnimations().forEach(S=>S.cancel()),i&&d.width>0&&!n.matchMedia("(prefers-reduced-motion: reduce)").matches&&t.animate([{transform:`translate3d(${d.left-r.left}px, 0, 0) scaleX(${d.width/r.width})`},{transform:"translate3d(0, 0, 0) scaleX(1)"}],{duration:180,easing:"cubic-bezier(0.16, 1, 0.3, 1)"}),w.current=r;};c(true);let a=new ResizeObserver(()=>c(false));return a.observe(e),()=>{a.disconnect();}},[u,s]);let b$1=s.findIndex(e=>e.value===u),p=s.findIndex(e=>!e.disabled),_=b$1>=0?b$1:p>=0?p:0;return jsxs("div",{ref:T,role:L??"radiogroup",onKeyDown:e=>{if(M?.(e),e.defaultPrevented||e.key!=="ArrowRight"&&e.key!=="ArrowLeft"&&e.key!=="ArrowDown"&&e.key!=="ArrowUp")return;e.preventDefault();let t=f.current;if(!t)return;let n=Array.from(t.querySelectorAll('[role="radio"]:not(:disabled)'));if(n.length<=1)return;let c=t.ownerDocument.activeElement;if(!c)return;let a=n.indexOf(c);if(a===-1)return;let i=a;e.key==="ArrowRight"||e.key==="ArrowDown"?i=(a+1)%n.length:(e.key==="ArrowLeft"||e.key==="ArrowUp")&&(i=(a-1+n.length)%n.length);let l=n[i];if(l){l.focus();let r=s.find(d=>d.value===l.getAttribute("data-value"));r&&g(r.value);}},className:a("ml-segmented",`ml-segmented--${k}`,E==="pill"&&"ml-segmented--pill",D),...I,children:[jsx("div",{ref:v,"aria-hidden":"true",className:"ml-segmented__indicator"}),s.map((e,t)=>jsxs("button",{type:"button",role:"radio","aria-checked":u===e.value,tabIndex:t===_?0:-1,"data-value":e.value,disabled:e.disabled,onClick:()=>g(e.value),className:"ml-segmented__item",children:[jsx("span",{className:"ml-segmented__label",children:e.label}),e.badge!==void 0&&jsx("span",{className:"ml-segmented__badge",children:e.badge})]},e.value))]})}var P=A;export{P as a};//# sourceMappingURL=chunk-ZOPV3BXO.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-ZOPV3BXO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/segmented-control/root.tsx","../src/components/segmented-control/index.ts"],"names":["SegmentedControlRoot","options","value","onChange","variant","size","className","onKeyDown","ref","role","props","containerRef","composedContainerRef","composeRefs","indicatorRef","previousMetricsRef","container","indicator","targetWindow","updatePosition","animate","activeBtn","nextMetrics","previousMetrics","animation","resizeObserver","activeIndex","opt","firstEnabledIndex","defaultTabIndexIndex","jsxs","buttons","activeElement","currentIndex","nextIndex","nextButton","optionVal","cn","jsx","option","idx","SegmentedControl"],"mappings":"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","file":"chunk-ZOPV3BXO.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\n\nimport { cn, composeRefs } from \"../../lib/utils\"\nimport type { SegmentedControlProps } from \"./types\"\n\nexport function SegmentedControlRoot<T extends string>({\n\toptions,\n\tvalue,\n\tonChange,\n\tvariant = \"default\",\n\tsize = \"md\",\n\tclassName,\n\tonKeyDown,\n\tref,\n\trole,\n\t...props\n}: SegmentedControlProps<T>): React.ReactElement {\n\tconst containerRef = React.useRef<HTMLDivElement>(null)\n\tconst composedContainerRef = React.useMemo(\n\t\t() => composeRefs(containerRef, ref),\n\t\t[ref]\n\t)\n\tconst indicatorRef = React.useRef<HTMLDivElement>(null)\n\tconst previousMetricsRef = React.useRef({ left: 0, width: 0 })\n\n\tReact.useLayoutEffect(() => {\n\t\tconst container = containerRef.current\n\t\tconst indicator = indicatorRef.current\n\t\tconst targetWindow = container?.ownerDocument.defaultView\n\t\tif (!container || !indicator || !targetWindow) return\n\n\t\tconst updatePosition = (animate: boolean) => {\n\t\t\tconst activeBtn = container.querySelector(\n\t\t\t\t'[role=\"radio\"][aria-checked=\"true\"]'\n\t\t\t) as HTMLButtonElement | null\n\t\t\tif (!activeBtn) {\n\t\t\t\tindicator.style.opacity = \"0\"\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst nextMetrics = {\n\t\t\t\tleft: activeBtn.offsetLeft,\n\t\t\t\twidth: activeBtn.offsetWidth,\n\t\t\t}\n\t\t\tconst previousMetrics = previousMetricsRef.current\n\n\t\t\tindicator.style.left = `${nextMetrics.left}px`\n\t\t\tindicator.style.width = `${nextMetrics.width}px`\n\t\t\tindicator.style.opacity = \"1\"\n\t\t\tindicator.getAnimations().forEach((animation) => animation.cancel())\n\n\t\t\tconst shouldAnimate =\n\t\t\t\tanimate &&\n\t\t\t\tpreviousMetrics.width > 0 &&\n\t\t\t\t!targetWindow.matchMedia(\"(prefers-reduced-motion: reduce)\").matches\n\n\t\t\tif (shouldAnimate) {\n\t\t\t\tindicator.animate(\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttransform: `translate3d(${\n\t\t\t\t\t\t\t\tpreviousMetrics.left - nextMetrics.left\n\t\t\t\t\t\t\t}px, 0, 0) scaleX(${previousMetrics.width / nextMetrics.width})`,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ transform: \"translate3d(0, 0, 0) scaleX(1)\" },\n\t\t\t\t\t],\n\t\t\t\t\t{\n\t\t\t\t\t\tduration: 180,\n\t\t\t\t\t\teasing: \"cubic-bezier(0.16, 1, 0.3, 1)\",\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\n\t\t\tpreviousMetricsRef.current = nextMetrics\n\t\t}\n\n\t\tupdatePosition(true)\n\t\tconst resizeObserver = new ResizeObserver(() => updatePosition(false))\n\t\tresizeObserver.observe(container)\n\n\t\treturn () => {\n\t\t\tresizeObserver.disconnect()\n\t\t}\n\t}, [value, options])\n\tconst activeIndex = options.findIndex((opt) => opt.value === value)\n\tconst firstEnabledIndex = options.findIndex((opt) => !opt.disabled)\n\tconst defaultTabIndexIndex =\n\t\tactiveIndex >= 0\n\t\t\t? activeIndex\n\t\t\t: firstEnabledIndex >= 0\n\t\t\t\t? firstEnabledIndex\n\t\t\t\t: 0\n\n\tconst handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n\t\tonKeyDown?.(e)\n\t\tif (e.defaultPrevented) return\n\n\t\tif (\n\t\t\te.key !== \"ArrowRight\" &&\n\t\t\te.key !== \"ArrowLeft\" &&\n\t\t\te.key !== \"ArrowDown\" &&\n\t\t\te.key !== \"ArrowUp\"\n\t\t) {\n\t\t\treturn\n\t\t}\n\n\t\te.preventDefault()\n\n\t\tconst container = containerRef.current\n\t\tif (!container) return\n\n\t\tconst buttons = Array.from(\n\t\t\tcontainer.querySelectorAll('[role=\"radio\"]:not(:disabled)')\n\t\t) as HTMLButtonElement[]\n\n\t\tif (buttons.length <= 1) return\n\n\t\tconst activeElement = container.ownerDocument\n\t\t\t.activeElement as HTMLButtonElement | null\n\t\tif (!activeElement) return\n\n\t\tconst currentIndex = buttons.indexOf(activeElement)\n\t\tif (currentIndex === -1) return\n\n\t\tlet nextIndex = currentIndex\n\t\tif (e.key === \"ArrowRight\" || e.key === \"ArrowDown\") {\n\t\t\tnextIndex = (currentIndex + 1) % buttons.length\n\t\t} else if (e.key === \"ArrowLeft\" || e.key === \"ArrowUp\") {\n\t\t\tnextIndex = (currentIndex - 1 + buttons.length) % buttons.length\n\t\t}\n\n\t\tconst nextButton = buttons[nextIndex]\n\t\tif (nextButton) {\n\t\t\tnextButton.focus()\n\t\t\tconst optionVal = options.find(\n\t\t\t\t(opt) => opt.value === nextButton.getAttribute(\"data-value\")\n\t\t\t)\n\t\t\tif (optionVal) {\n\t\t\t\tonChange(optionVal.value)\n\t\t\t}\n\t\t}\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tref={composedContainerRef}\n\t\t\trole={role ?? \"radiogroup\"}\n\t\t\tonKeyDown={handleKeyDown}\n\t\t\tclassName={cn(\n\t\t\t\t\"ml-segmented\",\n\t\t\t\t`ml-segmented--${size}`,\n\t\t\t\tvariant === \"pill\" && \"ml-segmented--pill\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<div\n\t\t\t\tref={indicatorRef}\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tclassName=\"ml-segmented__indicator\"\n\t\t\t/>\n\t\t\t{options.map((option, idx) => (\n\t\t\t\t<button\n\t\t\t\t\tkey={option.value}\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\trole=\"radio\"\n\t\t\t\t\taria-checked={value === option.value}\n\t\t\t\t\ttabIndex={idx === defaultTabIndexIndex ? 0 : -1}\n\t\t\t\t\tdata-value={option.value}\n\t\t\t\t\tdisabled={option.disabled}\n\t\t\t\t\tonClick={() => onChange(option.value)}\n\t\t\t\t\tclassName=\"ml-segmented__item\"\n\t\t\t\t>\n\t\t\t\t\t<span className=\"ml-segmented__label\">{option.label}</span>\n\t\t\t\t\t{option.badge !== undefined && (\n\t\t\t\t\t\t<span className=\"ml-segmented__badge\">{option.badge}</span>\n\t\t\t\t\t)}\n\t\t\t\t</button>\n\t\t\t))}\n\t\t</div>\n\t)\n}\n","/**\n * @module segmented-control\n * Description for segmented-control component.\n */\nimport { SegmentedControlRoot } from \"./root\"\n\nexport * from \"./types\"\n\nexport const SegmentedControl = SegmentedControlRoot\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a}from'./chunk-VSATIFOR.js';import {a as a$1}from'./chunk-AACTIVV7.js';import {useState,useEffect}from'react';import {jsxs,jsx}from'react/jsx-runtime';function y({className:f,items:r,activeId:i,heading:c="On this page",scrollOffset:m=80,collapsible:N=false,defaultOpen:w=false,ref:u,...x}){let[h,T]=useState(null),[l,E]=useState(w),R=i??h??r[0]?.id;useEffect(()=>{if(i!==void 0)return;let t=r.map(({id:e})=>document.getElementById(e)).filter(e=>!!e);if(t.length===0)return;let s=new IntersectionObserver(e=>{let g=e.filter(d=>d.isIntersecting).sort((d,O)=>d.boundingClientRect.top-O.boundingClientRect.top)[0];g&&T(g.target.id);},{rootMargin:`-${m}px 0px -60% 0px`,threshold:[0,1]});for(let e of t)s.observe(e);return ()=>s.disconnect()},[r,i,m]);let b=()=>jsx("ol",{className:"ml-toc m-0 flex list-none flex-col gap-0.5 p-0",children:r.map((t,s)=>{let e=t.id===R;return jsx("li",{children:jsxs("a",{href:`#${t.id}`,"data-active":e,className:a$1("ml-toc__link flex cursor-pointer items-start gap-2.5 border-l-2 border-transparent py-1.5 pl-3 text-[13px] no-underline transition-[border-color,color] duration-(--duration-short)","text-text-secondary hover:text-text","data-[active=true]:border-l-accent data-[active=true]:text-text"),children:[jsx("span",{className:a$1("w-3.5 shrink-0 font-mono text-[10px]",e?"text-accent":"text-text-muted"),children:String(s+1).padStart(2,"0")}),jsx("span",{className:"leading-[1.4]",children:t.label})]})},t.id)})});if(N){let t=c||`On this page \xB7 ${r.length} sections`;return jsxs("div",{className:a$1("rounded-lg border border-border bg-card p-4 transition-colors",f),children:[jsxs("button",{type:"button",onClick:()=>E(!l),className:"flex w-full cursor-pointer items-center justify-between rounded-sm focus-visible:outline-none focus-visible:shadow-(--focus-ring)",children:[typeof t=="string"?jsx(a,{className:"m-0",children:t}):t,jsx("span",{className:"font-mono text-[11px] text-text-muted select-none transition-transform duration-200 ease-out",style:{transform:l?"rotate(90deg)":"rotate(0deg)"},children:"\u25B8"})]}),jsx("div",{className:a$1("mt-3 grid transition-[grid-template-rows,opacity] duration-200 ease-out",l?"grid-rows-[1fr] opacity-100":"grid-rows-[0fr] opacity-0"),children:jsx("div",{className:"overflow-hidden",children:jsx("nav",{ref:u,className:"flex flex-col",...x,children:b()})})})]})}return jsxs("nav",{ref:u,className:a$1("flex flex-col",f),...x,children:[c&&jsx(a,{className:"mb-3",children:c}),b()]})}var M=Object.assign(y,{displayName:"Toc"});export{M as a};//# sourceMappingURL=chunk-ZU3HIOBU.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-ZU3HIOBU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/toc/root.tsx","../src/components/toc/index.ts"],"names":["TocRoot","className","items","controlledActive","heading","scrollOffset","collapsible","defaultOpen","ref","props","observedActive","setObservedActive","useState","open","setOpen","active","useEffect","nodes","id","n","io","entries","visible","e","a","b","renderList","jsx","it","i","isActive","jsxs","cn","displayHeading","Eyebrow","Toc"],"mappings":"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","file":"chunk-ZU3HIOBU.js","sourcesContent":["\"use client\"\n\nimport { useEffect, useState } from \"react\"\n\nimport { cn } from \"../../lib/utils\"\nimport { Eyebrow } from \"../eyebrow\"\nimport type { TocProps } from \"./types\"\n\nexport function TocRoot({\n\tclassName,\n\titems,\n\tactiveId: controlledActive,\n\theading = \"On this page\",\n\tscrollOffset = 80,\n\tcollapsible = false,\n\tdefaultOpen = false,\n\tref,\n\t...props\n}: TocProps): React.ReactElement {\n\tconst [observedActive, setObservedActive] = useState<string | null>(null)\n\tconst [open, setOpen] = useState(defaultOpen)\n\tconst active = controlledActive ?? observedActive ?? items[0]?.id\n\n\tuseEffect(() => {\n\t\tif (controlledActive !== undefined) return\n\t\tconst nodes = items\n\t\t\t.map(({ id }) => document.getElementById(id))\n\t\t\t.filter((n): n is HTMLElement => !!n)\n\t\tif (nodes.length === 0) return\n\n\t\tconst io = new IntersectionObserver(\n\t\t\t(entries) => {\n\t\t\t\tconst visible = entries\n\t\t\t\t\t.filter((e) => e.isIntersecting)\n\t\t\t\t\t.sort(\n\t\t\t\t\t\t(a, b) => a.boundingClientRect.top - b.boundingClientRect.top\n\t\t\t\t\t)[0]\n\t\t\t\tif (visible) setObservedActive(visible.target.id)\n\t\t\t},\n\t\t\t{\n\t\t\t\trootMargin: `-${scrollOffset}px 0px -60% 0px`,\n\t\t\t\tthreshold: [0, 1],\n\t\t\t}\n\t\t)\n\t\tfor (const n of nodes) io.observe(n)\n\t\treturn () => io.disconnect()\n\t}, [items, controlledActive, scrollOffset])\n\n\tconst renderList = () => (\n\t\t<ol className=\"ml-toc m-0 flex list-none flex-col gap-0.5 p-0\">\n\t\t\t{items.map((it, i) => {\n\t\t\t\tconst isActive = it.id === active\n\t\t\t\treturn (\n\t\t\t\t\t<li key={it.id}>\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={`#${it.id}`}\n\t\t\t\t\t\t\tdata-active={isActive}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\"ml-toc__link flex cursor-pointer items-start gap-2.5 border-l-2 border-transparent py-1.5 pl-3 text-[13px] no-underline transition-[border-color,color] duration-(--duration-short)\",\n\t\t\t\t\t\t\t\t\"text-text-secondary hover:text-text\",\n\t\t\t\t\t\t\t\t\"data-[active=true]:border-l-accent data-[active=true]:text-text\"\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\"w-3.5 shrink-0 font-mono text-[10px]\",\n\t\t\t\t\t\t\t\t\tisActive ? \"text-accent\" : \"text-text-muted\"\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{String(i + 1).padStart(2, \"0\")}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span className=\"leading-[1.4]\">{it.label}</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t)\n\t\t\t})}\n\t\t</ol>\n\t)\n\n\tif (collapsible) {\n\t\tconst displayHeading = heading || `On this page · ${items.length} sections`\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"rounded-lg border border-border bg-card p-4 transition-colors\",\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={() => setOpen(!open)}\n\t\t\t\t\tclassName=\"flex w-full cursor-pointer items-center justify-between rounded-sm focus-visible:outline-none focus-visible:shadow-(--focus-ring)\"\n\t\t\t\t>\n\t\t\t\t\t{typeof displayHeading === \"string\" ? (\n\t\t\t\t\t\t<Eyebrow className=\"m-0\">{displayHeading}</Eyebrow>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tdisplayHeading\n\t\t\t\t\t)}\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"font-mono text-[11px] text-text-muted select-none transition-transform duration-200 ease-out\"\n\t\t\t\t\t\tstyle={{ transform: open ? \"rotate(90deg)\" : \"rotate(0deg)\" }}\n\t\t\t\t\t>\n\t\t\t\t\t\t▸\n\t\t\t\t\t</span>\n\t\t\t\t</button>\n\t\t\t\t<div\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"mt-3 grid transition-[grid-template-rows,opacity] duration-200 ease-out\",\n\t\t\t\t\t\topen ? \"grid-rows-[1fr] opacity-100\" : \"grid-rows-[0fr] opacity-0\"\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"overflow-hidden\">\n\t\t\t\t\t\t<nav ref={ref} className=\"flex flex-col\" {...props}>\n\t\t\t\t\t\t\t{renderList()}\n\t\t\t\t\t\t</nav>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t)\n\t}\n\n\treturn (\n\t\t<nav ref={ref} className={cn(\"flex flex-col\", className)} {...props}>\n\t\t\t{heading && <Eyebrow className=\"mb-3\">{heading}</Eyebrow>}\n\t\t\t{renderList()}\n\t\t</nav>\n\t)\n}\n","/**\n * @module Toc\n * Description for Toc component.\n */\nimport { TocRoot } from \"./root\"\n\nexport * from \"./types\"\n\nexport const Toc: typeof TocRoot & {\n\tdisplayName: string\n} = Object.assign(TocRoot, {\n\tdisplayName: \"Toc\" as const,\n})\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React$1 from 'react';
|
|
2
|
+
|
|
3
|
+
interface ActionRailProps extends React$1.ComponentProps<"div"> {
|
|
4
|
+
orientation?: "vertical" | "horizontal";
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
declare function ActionRailRoot({ className, orientation, ref, ...props }: ActionRailProps): React.ReactElement;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @module ActionRail
|
|
11
|
+
* Description for ActionRail component.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
declare const ActionRail: typeof ActionRailRoot & {
|
|
15
|
+
displayName: string;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export { ActionRail, type ActionRailProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
@layer theme, base, components, utilities;
|
|
2
|
+
|
|
3
|
+
@layer components {
|
|
4
|
+
.ml-avatar {
|
|
5
|
+
--ml-avatar-size: var(--ml-space-6);
|
|
6
|
+
--ml-avatar-text: var(--text-3xs);
|
|
7
|
+
|
|
8
|
+
inline-size: var(--ml-avatar-size);
|
|
9
|
+
block-size: var(--ml-avatar-size);
|
|
10
|
+
font-size: var(--ml-avatar-text);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.ml-avatar[data-size="inherit"] {
|
|
14
|
+
--ml-avatar-size: 100%;
|
|
15
|
+
--ml-avatar-text: var(--text-xs);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.ml-avatar[data-size="xs"] {
|
|
19
|
+
--ml-avatar-size: var(--ml-space-4);
|
|
20
|
+
--ml-avatar-text: var(--text-3xs);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.ml-avatar[data-size="sm"] {
|
|
24
|
+
--ml-avatar-size: var(--ml-space-7);
|
|
25
|
+
--ml-avatar-text: var(--text-3xs);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.ml-avatar[data-size="md"] {
|
|
29
|
+
--ml-avatar-size: var(--ml-space-9);
|
|
30
|
+
--ml-avatar-text: var(--text-2xs);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.ml-avatar[data-size="lg"] {
|
|
34
|
+
--ml-avatar-size: var(--ml-space-14);
|
|
35
|
+
--ml-avatar-text: var(--text-sm);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.ml-avatar[data-size="xl"] {
|
|
39
|
+
--ml-avatar-size: 5.5rem;
|
|
40
|
+
--ml-avatar-text: var(--text-xl);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.ml-avatar[data-size="2xl"] {
|
|
44
|
+
--ml-avatar-size: var(--ml-space-28);
|
|
45
|
+
--ml-avatar-text: var(--text-2xl);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as React$1 from 'react';
|
|
2
|
+
|
|
3
|
+
type AvatarSize = "inherit" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
|
|
4
|
+
interface AvatarProps extends Omit<React$1.ComponentProps<"span">, "children"> {
|
|
5
|
+
size?: AvatarSize;
|
|
6
|
+
src?: string;
|
|
7
|
+
alt?: string;
|
|
8
|
+
children?: React$1.ReactNode;
|
|
9
|
+
}
|
|
10
|
+
interface AvatarImageProps extends React$1.ComponentProps<"img"> {
|
|
11
|
+
asChild?: boolean;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
declare function AvatarImage({ asChild, className, loading, decoding, ref, ...props }: AvatarImageProps): React.ReactElement;
|
|
15
|
+
|
|
16
|
+
declare function AvatarRoot({ className, size, src, alt, children, ref, ...props }: AvatarProps): React.ReactElement;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @module Avatar
|
|
20
|
+
* Description for Avatar component.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
declare const Avatar: typeof AvatarRoot & {
|
|
24
|
+
displayName: string;
|
|
25
|
+
Image: typeof AvatarImage;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export { Avatar, type AvatarImageProps, type AvatarProps, type AvatarSize };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
@layer theme, base, components, utilities;
|
|
2
|
+
|
|
3
|
+
@layer components {
|
|
4
|
+
.ml-back-link {
|
|
5
|
+
display: inline-flex;
|
|
6
|
+
align-items: center;
|
|
7
|
+
gap: var(--space-2);
|
|
8
|
+
font-size: var(--text-sm);
|
|
9
|
+
font-weight: 500;
|
|
10
|
+
color: var(--text-muted);
|
|
11
|
+
text-decoration: none;
|
|
12
|
+
transition: color var(--duration-short) ease-out;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.ml-back-link:hover {
|
|
16
|
+
color: var(--accent);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.ml-back-link__line {
|
|
20
|
+
display: inline-block;
|
|
21
|
+
width: 20px;
|
|
22
|
+
height: 1px;
|
|
23
|
+
background: currentColor;
|
|
24
|
+
transition: width var(--duration-short) ease-out;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.ml-back-link:hover .ml-back-link__line {
|
|
28
|
+
width: 28px;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ComponentProps, ElementType } from 'react';
|
|
2
|
+
|
|
3
|
+
interface BackLinkProps extends ComponentProps<"a"> {
|
|
4
|
+
as?: ElementType;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
declare function BackLinkRoot({ as: Comp, children, className, ref, ...props }: BackLinkProps): React.ReactElement;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @module BackLink
|
|
11
|
+
* Description for BackLink component.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
declare const BackLink: typeof BackLinkRoot & {
|
|
15
|
+
displayName: string;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export { BackLink, type BackLinkProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
@layer theme, base, components, utilities;
|
|
2
|
+
|
|
3
|
+
@layer components {
|
|
4
|
+
.ml-badge--outline {
|
|
5
|
+
background: transparent;
|
|
6
|
+
color: var(--text-secondary);
|
|
7
|
+
border-color: var(--border-strong);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.ml-badge--solid {
|
|
11
|
+
background: var(--surface-primary);
|
|
12
|
+
color: var(--text-primary-foreground);
|
|
13
|
+
border-color: var(--surface-primary);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.ml-badge--muted {
|
|
17
|
+
background: var(--surface-2);
|
|
18
|
+
color: var(--text-muted);
|
|
19
|
+
border-color: transparent;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.ml-badge--accent {
|
|
23
|
+
background: var(--accent-soft);
|
|
24
|
+
color: var(--accent);
|
|
25
|
+
border-color: var(--accent);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as React$1 from 'react';
|
|
2
|
+
|
|
3
|
+
type BadgeVariant = "outline" | "solid" | "muted" | "accent";
|
|
4
|
+
type BadgeSize = "xs" | "sm" | "md";
|
|
5
|
+
interface BadgeProps extends React$1.ComponentProps<"span"> {
|
|
6
|
+
variant?: BadgeVariant;
|
|
7
|
+
size?: BadgeSize;
|
|
8
|
+
asChild?: boolean;
|
|
9
|
+
}
|
|
10
|
+
type BadgeCountProps = React$1.ComponentProps<"span">;
|
|
11
|
+
|
|
12
|
+
declare function BadgeCount({ className, ref, ...props }: BadgeCountProps): React.ReactElement;
|
|
13
|
+
|
|
14
|
+
declare function BadgeRoot({ className, variant, size, asChild, ref, ...props }: BadgeProps): React.ReactElement;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @module Badge
|
|
18
|
+
* Description for Badge component.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
declare const Badge: typeof BadgeRoot & {
|
|
22
|
+
displayName: string;
|
|
23
|
+
Count: typeof BadgeCount;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export { Badge, type BadgeCountProps, type BadgeProps, type BadgeSize, type BadgeVariant };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
|