@telegraph/tag 0.0.60 → 0.0.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @telegraph/tag
2
2
 
3
+ ## 0.0.61
4
+
5
+ ### Patch Changes
6
+
7
+ - [#367](https://github.com/knocklabs/telegraph/pull/367) [`a748be4`](https://github.com/knocklabs/telegraph/commit/a748be4d48b4e26908deaa120389598e185007c6) Thanks [@kylemcd](https://github.com/kylemcd)! - style engine migration
8
+
9
+ - [#368](https://github.com/knocklabs/telegraph/pull/368) [`22ac9d0`](https://github.com/knocklabs/telegraph/commit/22ac9d0ff28ef0966edd31a4016c76d8a7ae91ad) Thanks [@kylemcd](https://github.com/kylemcd)! - motion updates
10
+
11
+ - [#366](https://github.com/knocklabs/telegraph/pull/366) [`6cf176f`](https://github.com/knocklabs/telegraph/commit/6cf176fc3272d89d725951b5024dd0db4cf9a4e8) Thanks [@kylemcd](https://github.com/kylemcd)! - style engine migration
12
+
13
+ - Updated dependencies [[`a748be4`](https://github.com/knocklabs/telegraph/commit/a748be4d48b4e26908deaa120389598e185007c6), [`22ac9d0`](https://github.com/knocklabs/telegraph/commit/22ac9d0ff28ef0966edd31a4016c76d8a7ae91ad), [`8fdf776`](https://github.com/knocklabs/telegraph/commit/8fdf77633d6991014ffa55b32b1ba45ef124f917), [`6cf176f`](https://github.com/knocklabs/telegraph/commit/6cf176fc3272d89d725951b5024dd0db4cf9a4e8), [`6cf176f`](https://github.com/knocklabs/telegraph/commit/6cf176fc3272d89d725951b5024dd0db4cf9a4e8), [`bc6c1f4`](https://github.com/knocklabs/telegraph/commit/bc6c1f4223380b310487d72dc4153e499f07fefe)]:
14
+ - @telegraph/typography@0.1.3
15
+ - @telegraph/tooltip@0.0.30
16
+ - @telegraph/button@0.0.57
17
+ - @telegraph/layout@0.1.3
18
+ - @telegraph/motion@0.0.2
19
+ - @telegraph/icon@0.0.37
20
+
3
21
  ## 0.0.60
4
22
 
5
23
  ### Patch Changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/dist/cjs/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),y=require("@telegraph/button"),u=require("@telegraph/icon"),C=require("@telegraph/layout"),B=require("@telegraph/tooltip"),q=require("@telegraph/typography"),x=require("clsx"),b=require("framer-motion"),i=require("react"),z={Root:{0:"h-5",1:"h-6",2:"h-8"}},w={Root:{0:"1",1:"2",2:"2"},Text:{0:"1",1:"2",2:"2"}},d={Root:{solid:{default:"bg-gray-12",accent:"bg-accent-9",gray:"bg-gray-9",red:"bg-red-9",blue:"bg-blue-9",green:"bg-green-9",yellow:"bg-yellow-9",purple:"bg-purple-9"},soft:{default:"bg-gray-3",accent:"bg-accent-3",gray:"bg-gray-3",red:"bg-red-3",blue:"bg-blue-3",green:"bg-green-3",yellow:"bg-yellow-3",purple:"bg-purple-3"}},Icon:{solid:{default:"white",gray:"white",red:"white",accent:"white",blue:"white",green:"white",yellow:"white",purple:"white"},soft:{default:"default",gray:"gray",accent:"accent",red:"red",blue:"blue",green:"green",yellow:"yellow",purple:"purple"}},Text:{solid:{default:"white",gray:"white",accent:"white",red:"white",blue:"white",green:"white",yellow:"white",purple:"white"},soft:{default:"default",gray:"gray",accent:"accent",red:"red",blue:"blue",green:"green",yellow:"yellow",purple:"purple"}},Button:{solid:{default:"default",gray:"gray",accent:"accent",red:"red",blue:"blue",green:"green",yellow:"yellow",purple:"purple"},soft:{default:"gray",gray:"gray",accent:"accent",red:"red",blue:"blue",green:"green",yellow:"yellow",purple:"purple"}}},g=i.createContext({size:"1",color:"default",variant:"soft"}),f=({as:n="span",size:t="1",color:o="default",variant:a="soft",className:e,...l})=>r.jsx(g.Provider,{value:{size:t,color:o,variant:a},children:r.jsx(C.Stack,{as:n,display:"inline-flex",align:"center",rounded:"2",pl:w.Root[t],className:x.clsx(z.Root[t],d.Root[a][o],e),...l,"data-tag":!0})}),h=({as:n="span",maxW:t="40",style:o,...a})=>{const e=i.useContext(g);return r.jsx(q.Text,{as:n,size:e.size,color:d.Text[e.variant][e.color],weight:"medium",mr:w.Text[e.size],maxW:t,style:{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",...o},...a})},m=({onClick:n,textToCopy:t,className:o,...a})=>{const e=i.useContext(g),[l,c]=i.useState(!1);return i.useEffect(()=>{if(l){const s=setTimeout(()=>c(!1),2e3);return()=>clearTimeout(s)}},[l]),r.jsx(b.AnimatePresence,{mode:"wait",initial:!1,children:r.jsx(B.Tooltip,{label:"Copy text",children:r.jsx(y.Button.Root,{onClick:s=>{var p;n==null||n(s),c(!0),t&&navigator.clipboard.writeText(t),(p=s.currentTarget)==null||p.blur()},size:e.size,color:d.Button[e.variant][e.color],variant:e.variant,className:x.clsx("overflow-hidden",o),roundedTopRight:"3",roundedBottomRight:"3",roundedTopLeft:"0",roundedBottomLeft:"0",...a,children:l?r.jsx(y.Button.Icon,{as:b.motion.span,initial:{y:"100%"},animate:{y:0},exit:{y:"100%"},transition:{duration:.2,type:"spring",bounce:0},icon:u.Lucide.Check,alt:"Copied text"},"check icon"):r.jsx(y.Button.Icon,{as:b.motion.span,initial:{y:"-100%"},animate:{y:0},exit:{y:"-100%"},transition:{duration:.2,type:"spring",bounce:0},icon:u.Lucide.Copy,alt:"Copy text"},"copy icon")})})})},j=({className:n,...t})=>{const o=i.useContext(g);return r.jsx(y.Button,{size:o.size,color:d.Button[o.variant][o.color],variant:o.variant,icon:{icon:u.Lucide.X,alt:"close"},className:x.clsx("rounded-tl-0 rounded-bl-0",n),...t})},T=({icon:n,alt:t,"aria-hidden":o,className:a,...e})=>{const l=i.useContext(g),c=t?{alt:t}:{"aria-hidden":o};return r.jsx(u.Icon,{icon:n,size:l.size,color:d.Icon[l.variant][l.color],className:x.clsx("rounded-tl-0 rounded-bl-0 mr-1",a),...c,...e})},v=({color:n="default",size:t="1",variant:o="soft",icon:a,onRemove:e,onCopy:l,textToCopy:c,textProps:s={maxW:"40"},children:p,...R})=>r.jsxs(f,{color:n,size:t,variant:o,...R,children:[a&&r.jsx(T,{...a}),r.jsx(h,{as:"span",...s,children:p}),e&&r.jsx(j,{onClick:e,icon:{icon:u.Lucide.X,alt:"Remove"}}),l&&r.jsx(m,{onClick:l,textToCopy:c})]});Object.assign(v,{Root:f,Button:j,Text:h,Icon:T,CopyButton:m});const I=v;exports.Tag=I;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),g=require("@telegraph/button"),u=require("@telegraph/icon"),v=require("@telegraph/layout"),y=require("@telegraph/motion"),B=require("@telegraph/tooltip"),C=require("@telegraph/typography"),L=require("clsx"),l=require("react"),z={Root:{0:{h:"5"},1:{h:"6"},2:{h:"8"}}},h={Root:{0:"1",1:"2",2:"2"},Text:{0:"1",1:"2",2:"2"}},s={Root:{solid:{default:"gray-12",accent:"accent-9",gray:"gray-9",red:"red-9",blue:"blue-9",green:"green-9",yellow:"yellow-9",purple:"purple-9"},soft:{default:"gray-3",accent:"accent-3",gray:"gray-3",red:"red-3",blue:"blue-3",green:"green-3",yellow:"yellow-3",purple:"purple-3"}},Icon:{solid:{default:"white",gray:"white",red:"white",accent:"white",blue:"white",green:"white",yellow:"white",purple:"white"},soft:{default:"default",gray:"gray",accent:"accent",red:"red",blue:"blue",green:"green",yellow:"yellow",purple:"purple"}},Text:{solid:{default:"white",gray:"white",accent:"white",red:"white",blue:"white",green:"white",yellow:"white",purple:"white"},soft:{default:"default",gray:"gray",accent:"accent",red:"red",blue:"blue",green:"green",yellow:"yellow",purple:"purple"}},Button:{solid:{default:"default",gray:"gray",accent:"accent",red:"red",blue:"blue",green:"green",yellow:"yellow",purple:"purple"},soft:{default:"gray",gray:"gray",accent:"accent",red:"red",blue:"blue",green:"green",yellow:"yellow",purple:"purple"}}},d=l.createContext({size:"1",color:"default",variant:"soft"}),f=({as:n="span",size:t="1",color:i="default",variant:o="soft",className:e,...a})=>r.jsx(d.Provider,{value:{size:t,color:i,variant:o},children:r.jsx(v.Stack,{as:n,align:"center",rounded:"2",display:"inline-flex",pl:h.Root[t],backgroundColor:s.Root[o][i],h:z.Root[t].h,className:L.clsx("tgph-tag",e),...a,"data-tag":!0})}),x=({as:n="span",maxW:t="40",style:i,...o})=>{const e=l.useContext(d);return r.jsx(C.Text,{as:n,size:e.size,color:s.Text[e.variant][e.color],weight:"medium",mr:h.Text[e.size],maxW:t,overflow:"hidden",style:{whiteSpace:"nowrap",textOverflow:"ellipsis",...i},...o})},w=({onClick:n,textToCopy:t,...i})=>{const o=l.useContext(d),[e,a]=l.useState(!1);return l.useEffect(()=>{if(e){const c=setTimeout(()=>a(!1),2e3);return()=>clearTimeout(c)}},[e]),r.jsx(B.Tooltip,{label:"Copy text",children:r.jsxs(g.Button.Root,{onClick:c=>{var p;n==null||n(c),a(!0),t&&navigator.clipboard.writeText(t),(p=c.currentTarget)==null||p.blur()},size:o.size,color:s.Button[o.variant][o.color],variant:o.variant,roundedTopRight:"3",roundedBottomRight:"3",roundedTopLeft:"0",roundedBottomLeft:"0",position:"relative",overflow:"hidden",p:"2",...i,children:[r.jsx(g.Button.Icon,{as:y.motion.span,initializeWithAnimation:!1,animate:{y:e?0:"150%",opacity:1},transition:{duration:150,type:"spring"},icon:u.Lucide.Check,alt:"Copied text","aria-hidden":!e}),r.jsx(g.Button.Icon,{as:y.motion.span,initializeWithAnimation:!1,animate:{y:e?"-150%":0,opacity:1},transition:{duration:150,type:"spring"},icon:u.Lucide.Copy,position:"absolute",alt:"Copy text","aria-hidden":e})]})})},m=({...n})=>{const t=l.useContext(d);return r.jsx(g.Button,{size:t.size,color:s.Button[t.variant][t.color],variant:t.variant,icon:{icon:u.Lucide.X,alt:"close"},roundedTopRight:"3",roundedBottomRight:"3",roundedTopLeft:"0",roundedBottomLeft:"0",...n})},b=({icon:n,alt:t,"aria-hidden":i,...o})=>{const e=l.useContext(d),a=t?{alt:t}:{"aria-hidden":i};return r.jsx(u.Icon,{icon:n,size:e.size,color:s.Icon[e.variant][e.color],mr:"1",roundedTopRight:"3",roundedBottomRight:"3",roundedTopLeft:"0",roundedBottomLeft:"0",...a,...o})},T=({color:n="default",size:t="1",variant:i="soft",icon:o,onRemove:e,onCopy:a,textToCopy:c,textProps:p={maxW:"40"},children:j,...R})=>r.jsxs(f,{color:n,size:t,variant:i,...R,children:[o&&r.jsx(b,{...o}),r.jsx(x,{as:"span",...p,children:j}),e&&r.jsx(m,{onClick:e,icon:{icon:u.Lucide.X,alt:"Remove"}}),a&&r.jsx(w,{onClick:a,textToCopy:c})]});Object.assign(T,{Root:f,Button:m,Text:x,Icon:b,CopyButton:w});const q=T;exports.Tag=q;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/Tag/Tag.constants.ts","../../src/Tag/Tag.tsx"],"sourcesContent":["export const SIZE = {\n Root: {\n \"0\": \"h-5\",\n \"1\": \"h-6\",\n \"2\": \"h-8\",\n },\n} as const;\n\nexport const SPACING = {\n Root: {\n \"0\": \"1\",\n \"1\": \"2\",\n \"2\": \"2\",\n },\n Text: {\n \"0\": \"1\",\n \"1\": \"2\",\n \"2\": \"2\",\n },\n} as const;\n\nexport const COLOR = {\n Root: {\n solid: {\n default: \"bg-gray-12\",\n accent: \"bg-accent-9\",\n gray: \"bg-gray-9\",\n red: \"bg-red-9\",\n blue: \"bg-blue-9\",\n green: \"bg-green-9\",\n yellow: \"bg-yellow-9\",\n purple: \"bg-purple-9\",\n },\n soft: {\n default: \"bg-gray-3\",\n accent: \"bg-accent-3\",\n gray: \"bg-gray-3\",\n red: \"bg-red-3\",\n blue: \"bg-blue-3\",\n green: \"bg-green-3\",\n yellow: \"bg-yellow-3\",\n purple: \"bg-purple-3\",\n },\n },\n Icon: {\n solid: {\n default: \"white\",\n gray: \"white\",\n red: \"white\",\n accent: \"white\",\n blue: \"white\",\n green: \"white\",\n yellow: \"white\",\n purple: \"white\",\n },\n soft: {\n default: \"default\",\n gray: \"gray\",\n accent: \"accent\",\n red: \"red\",\n blue: \"blue\",\n green: \"green\",\n yellow: \"yellow\",\n purple: \"purple\",\n },\n },\n Text: {\n solid: {\n default: \"white\",\n gray: \"white\",\n accent: \"white\",\n red: \"white\",\n blue: \"white\",\n green: \"white\",\n yellow: \"white\",\n purple: \"white\",\n },\n soft: {\n default: \"default\",\n gray: \"gray\",\n accent: \"accent\",\n red: \"red\",\n blue: \"blue\",\n green: \"green\",\n yellow: \"yellow\",\n purple: \"purple\",\n },\n },\n Button: {\n solid: {\n default: \"default\",\n gray: \"gray\",\n accent: \"accent\",\n red: \"red\",\n blue: \"blue\",\n green: \"green\",\n yellow: \"yellow\",\n purple: \"purple\",\n },\n soft: {\n default: \"gray\",\n gray: \"gray\",\n accent: \"accent\",\n red: \"red\",\n blue: \"blue\",\n green: \"green\",\n yellow: \"yellow\",\n purple: \"purple\",\n },\n },\n} as const;\n","import { Button as TelegraphButton } from \"@telegraph/button\";\nimport type {\n PolymorphicProps,\n PolymorphicPropsWithTgphRef,\n Required,\n TgphComponentProps,\n TgphElement,\n} from \"@telegraph/helpers\";\nimport { Lucide, Icon as TelegraphIcon } from \"@telegraph/icon\";\nimport { Stack } from \"@telegraph/layout\";\nimport { Tooltip } from \"@telegraph/tooltip\";\nimport { Text as TelegraphText } from \"@telegraph/typography\";\nimport { clsx } from \"clsx\";\nimport { AnimatePresence, motion } from \"framer-motion\";\nimport React from \"react\";\n\nimport { COLOR, SIZE, SPACING } from \"./Tag.constants\";\n\ntype RootBaseProps = {\n size?: \"0\" | \"1\" | \"2\";\n color?: keyof (typeof COLOR.Root)[\"soft\"];\n variant?: keyof typeof COLOR.Root;\n};\n\ntype RootProps<T extends TgphElement> = PolymorphicPropsWithTgphRef<\n T,\n HTMLSpanElement\n> &\n TgphComponentProps<typeof Stack> &\n RootBaseProps;\n\nconst TagContext = React.createContext<Required<RootBaseProps>>({\n size: \"1\",\n color: \"default\",\n variant: \"soft\",\n});\n\nconst Root = <T extends TgphElement>({\n as = \"span\" as T,\n size = \"1\",\n color = \"default\",\n variant = \"soft\",\n className,\n ...props\n}: RootProps<T>) => {\n return (\n <TagContext.Provider value={{ size, color, variant }}>\n <Stack\n as={as}\n display=\"inline-flex\"\n align=\"center\"\n rounded=\"2\"\n pl={SPACING.Root[size]}\n className={clsx(SIZE.Root[size], COLOR.Root[variant][color], className)}\n {...props}\n data-tag\n />\n </TagContext.Provider>\n );\n};\n\ntype TextProps<T extends TgphElement> = Omit<\n TgphComponentProps<typeof TelegraphText<T>>,\n \"as\"\n> & {\n as?: T;\n};\n\nconst Text = <T extends TgphElement>({\n as = \"span\" as T,\n maxW = \"40\",\n style,\n ...props\n}: TextProps<T>) => {\n const context = React.useContext(TagContext);\n return (\n <TelegraphText\n as={as}\n size={context.size}\n color={COLOR.Text[context.variant][context.color]}\n weight=\"medium\"\n mr={SPACING.Text[context.size]}\n maxW={maxW}\n style={{\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n ...style,\n }}\n {...props}\n />\n );\n};\ntype ButtonProps<T extends TgphElement> = TgphComponentProps<\n typeof TelegraphButton<T>\n>;\n\ntype CopyButtonProps = TgphComponentProps<typeof TelegraphButton.Root> & {\n textToCopy?: string;\n};\n\nconst CopyButton = ({\n onClick,\n textToCopy,\n className,\n ...props\n}: CopyButtonProps) => {\n const context = React.useContext(TagContext);\n\n const [copied, setCopied] = React.useState(false);\n\n React.useEffect(() => {\n if (copied) {\n const timeout = setTimeout(() => setCopied(false), 2000);\n return () => clearTimeout(timeout);\n }\n }, [copied]);\n\n return (\n <AnimatePresence mode=\"wait\" initial={false}>\n <Tooltip label=\"Copy text\">\n <TelegraphButton.Root\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\n // Still run onClick incase the consumer wants to do something else\n onClick?.(event);\n setCopied(true);\n textToCopy && navigator.clipboard.writeText(textToCopy);\n event.currentTarget?.blur();\n }}\n size={context.size}\n color={COLOR.Button[context.variant][context.color]}\n variant={context.variant}\n className={clsx(\"overflow-hidden\", className)}\n roundedTopRight=\"3\"\n roundedBottomRight=\"3\"\n roundedTopLeft=\"0\"\n roundedBottomLeft=\"0\"\n {...props}\n >\n {copied ? (\n <TelegraphButton.Icon\n as={motion.span}\n initial={{ y: \"100%\" }}\n animate={{ y: 0 }}\n exit={{ y: \"100%\" }}\n transition={{ duration: 0.2, type: \"spring\", bounce: 0 }}\n icon={Lucide.Check}\n alt=\"Copied text\"\n key={\"check icon\"}\n />\n ) : (\n <TelegraphButton.Icon\n as={motion.span}\n initial={{ y: \"-100%\" }}\n animate={{ y: 0 }}\n exit={{ y: \"-100%\" }}\n transition={{ duration: 0.2, type: \"spring\", bounce: 0 }}\n icon={Lucide.Copy}\n alt=\"Copy text\"\n key={\"copy icon\"}\n />\n )}\n </TelegraphButton.Root>\n </Tooltip>\n </AnimatePresence>\n );\n};\n\nconst Button = <T extends TgphElement>({\n className,\n ...props\n}: ButtonProps<T>) => {\n const context = React.useContext(TagContext);\n return (\n <TelegraphButton\n size={context.size}\n color={COLOR.Button[context.variant][context.color]}\n variant={context.variant}\n icon={{ icon: Lucide.X, alt: \"close\" }}\n className={clsx(\"rounded-tl-0 rounded-bl-0\", className)}\n {...props}\n />\n );\n};\ntype IconProps<T extends TgphElement> = TgphComponentProps<\n typeof TelegraphIcon<T>\n>;\n\nconst Icon = <T extends TgphElement>({\n icon,\n alt,\n \"aria-hidden\": ariaHidden,\n className,\n ...props\n}: IconProps<T>) => {\n const context = React.useContext(TagContext);\n const a11yProps = !alt ? { \"aria-hidden\": ariaHidden } : { alt };\n return (\n <TelegraphIcon\n icon={icon}\n size={context.size}\n color={COLOR.Icon[context.variant][context.color]}\n className={clsx(\"rounded-tl-0 rounded-bl-0 mr-1\", className)}\n {...a11yProps}\n {...props}\n />\n );\n};\n\ntype DefaultProps<T extends TgphElement> = PolymorphicProps<T> &\n TgphComponentProps<typeof Root<T>> & {\n icon?: React.ComponentProps<typeof TelegraphIcon>;\n textProps?: React.ComponentProps<typeof Text>;\n onRemove?: () => void;\n } & ( // Optionally allow textToCopy only when onCopy is defined\n | {\n onCopy: () => void;\n textToCopy?: string;\n }\n | {\n onCopy?: never;\n textToCopy?: never;\n }\n );\n\nconst Default = <T extends TgphElement>({\n color = \"default\",\n size = \"1\",\n variant = \"soft\",\n icon,\n onRemove,\n onCopy,\n textToCopy,\n textProps = { maxW: \"40\" },\n children,\n ...props\n}: DefaultProps<T>) => {\n return (\n <Root color={color} size={size} variant={variant} {...props}>\n {icon && <Icon {...icon} />}\n <Text as=\"span\" {...textProps}>\n {children}\n </Text>\n {onRemove && (\n <Button onClick={onRemove} icon={{ icon: Lucide.X, alt: \"Remove\" }} />\n )}\n {onCopy && <CopyButton onClick={onCopy} textToCopy={textToCopy} />}\n </Root>\n );\n};\n\nObject.assign(Default, {\n Root,\n Button,\n Text,\n Icon,\n CopyButton,\n});\n\nconst Tag = Default as typeof Default & {\n Root: typeof Root;\n Button: typeof Button;\n Text: typeof Text;\n Icon: typeof Icon;\n CopyButton: typeof CopyButton;\n};\n\nexport { Tag };\n"],"names":["SIZE","SPACING","COLOR","TagContext","React","Root","as","size","color","variant","className","props","jsx","Stack","clsx","Text","maxW","style","context","TelegraphText","CopyButton","onClick","textToCopy","copied","setCopied","timeout","AnimatePresence","Tooltip","TelegraphButton","event","_a","motion","Lucide","Button","Icon","icon","alt","ariaHidden","a11yProps","TelegraphIcon","Default","onRemove","onCopy","textProps","children","Tag"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/Tag/Tag.constants.ts","../../src/Tag/Tag.tsx"],"sourcesContent":["export const SIZE = {\n Root: {\n \"0\": {\n h: \"5\",\n },\n \"1\": {\n h: \"6\",\n },\n \"2\": {\n h: \"8\",\n },\n },\n} as const;\n\nexport const SPACING = {\n Root: {\n \"0\": \"1\",\n \"1\": \"2\",\n \"2\": \"2\",\n },\n Text: {\n \"0\": \"1\",\n \"1\": \"2\",\n \"2\": \"2\",\n },\n} as const;\n\nexport const COLOR = {\n Root: {\n solid: {\n default: \"gray-12\",\n accent: \"accent-9\",\n gray: \"gray-9\",\n red: \"red-9\",\n blue: \"blue-9\",\n green: \"green-9\",\n yellow: \"yellow-9\",\n purple: \"purple-9\",\n },\n soft: {\n default: \"gray-3\",\n accent: \"accent-3\",\n gray: \"gray-3\",\n red: \"red-3\",\n blue: \"blue-3\",\n green: \"green-3\",\n yellow: \"yellow-3\",\n purple: \"purple-3\",\n },\n },\n Icon: {\n solid: {\n default: \"white\",\n gray: \"white\",\n red: \"white\",\n accent: \"white\",\n blue: \"white\",\n green: \"white\",\n yellow: \"white\",\n purple: \"white\",\n },\n soft: {\n default: \"default\",\n gray: \"gray\",\n accent: \"accent\",\n red: \"red\",\n blue: \"blue\",\n green: \"green\",\n yellow: \"yellow\",\n purple: \"purple\",\n },\n },\n Text: {\n solid: {\n default: \"white\",\n gray: \"white\",\n accent: \"white\",\n red: \"white\",\n blue: \"white\",\n green: \"white\",\n yellow: \"white\",\n purple: \"white\",\n },\n soft: {\n default: \"default\",\n gray: \"gray\",\n accent: \"accent\",\n red: \"red\",\n blue: \"blue\",\n green: \"green\",\n yellow: \"yellow\",\n purple: \"purple\",\n },\n },\n Button: {\n solid: {\n default: \"default\",\n gray: \"gray\",\n accent: \"accent\",\n red: \"red\",\n blue: \"blue\",\n green: \"green\",\n yellow: \"yellow\",\n purple: \"purple\",\n },\n soft: {\n default: \"gray\",\n gray: \"gray\",\n accent: \"accent\",\n red: \"red\",\n blue: \"blue\",\n green: \"green\",\n yellow: \"yellow\",\n purple: \"purple\",\n },\n },\n} as const;\n","import { Button as TelegraphButton } from \"@telegraph/button\";\nimport type {\n PolymorphicProps,\n PolymorphicPropsWithTgphRef,\n Required,\n TgphComponentProps,\n TgphElement,\n} from \"@telegraph/helpers\";\nimport { Lucide, Icon as TelegraphIcon } from \"@telegraph/icon\";\nimport { Stack } from \"@telegraph/layout\";\nimport { motion } from \"@telegraph/motion\";\nimport { Tooltip } from \"@telegraph/tooltip\";\nimport { Text as TelegraphText } from \"@telegraph/typography\";\nimport { clsx } from \"clsx\";\nimport React from \"react\";\n\nimport { COLOR, SIZE, SPACING } from \"./Tag.constants\";\n\ntype RootBaseProps = {\n size?: \"0\" | \"1\" | \"2\";\n color?: keyof (typeof COLOR.Root)[\"soft\"];\n variant?: keyof typeof COLOR.Root;\n};\n\ntype RootProps<T extends TgphElement> = PolymorphicPropsWithTgphRef<\n T,\n HTMLSpanElement\n> &\n TgphComponentProps<typeof Stack> &\n RootBaseProps;\n\nconst TagContext = React.createContext<Required<RootBaseProps>>({\n size: \"1\",\n color: \"default\",\n variant: \"soft\",\n});\n\nconst Root = <T extends TgphElement>({\n as = \"span\" as T,\n size = \"1\",\n color = \"default\",\n variant = \"soft\",\n className,\n ...props\n}: RootProps<T>) => {\n return (\n <TagContext.Provider value={{ size, color, variant }}>\n <Stack\n as={as}\n align=\"center\"\n rounded=\"2\"\n display=\"inline-flex\"\n pl={SPACING.Root[size]}\n backgroundColor={COLOR.Root[variant][color]}\n h={SIZE.Root[size].h}\n className={clsx(\"tgph-tag\", className)}\n {...props}\n data-tag\n />\n </TagContext.Provider>\n );\n};\n\ntype TextProps<T extends TgphElement> = Omit<\n TgphComponentProps<typeof TelegraphText<T>>,\n \"as\"\n> & {\n as?: T;\n};\n\nconst Text = <T extends TgphElement>({\n as = \"span\" as T,\n maxW = \"40\",\n style,\n ...props\n}: TextProps<T>) => {\n const context = React.useContext(TagContext);\n return (\n <TelegraphText\n as={as}\n size={context.size}\n color={COLOR.Text[context.variant][context.color]}\n weight=\"medium\"\n mr={SPACING.Text[context.size]}\n maxW={maxW}\n overflow=\"hidden\"\n style={{\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n ...style,\n }}\n {...props}\n />\n );\n};\ntype ButtonProps<T extends TgphElement> = TgphComponentProps<\n typeof TelegraphButton<T>\n>;\n\ntype CopyButtonProps = TgphComponentProps<typeof TelegraphButton.Root> & {\n textToCopy?: string;\n};\n\nconst CopyButton = ({ onClick, textToCopy, ...props }: CopyButtonProps) => {\n const context = React.useContext(TagContext);\n\n const [copied, setCopied] = React.useState(false);\n\n React.useEffect(() => {\n if (copied) {\n const timeout = setTimeout(() => setCopied(false), 2000);\n return () => clearTimeout(timeout);\n }\n }, [copied]);\n\n return (\n <Tooltip label=\"Copy text\">\n <TelegraphButton.Root\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\n // Still run onClick incase the consumer wants to do something else\n onClick?.(event);\n setCopied(true);\n textToCopy && navigator.clipboard.writeText(textToCopy);\n event.currentTarget?.blur();\n }}\n size={context.size}\n color={COLOR.Button[context.variant][context.color]}\n variant={context.variant}\n roundedTopRight=\"3\"\n roundedBottomRight=\"3\"\n roundedTopLeft=\"0\"\n roundedBottomLeft=\"0\"\n position=\"relative\"\n overflow=\"hidden\"\n p=\"2\"\n {...props}\n >\n <TelegraphButton.Icon\n as={motion.span}\n initializeWithAnimation={false}\n animate={{ y: copied ? 0 : \"150%\", opacity: copied ? 1 : 1 }}\n transition={{ duration: 150, type: \"spring\" }}\n icon={Lucide.Check}\n alt=\"Copied text\"\n aria-hidden={!copied}\n />\n <TelegraphButton.Icon\n as={motion.span}\n initializeWithAnimation={false}\n animate={{ y: !copied ? 0 : \"-150%\", opacity: !copied ? 1 : 1 }}\n transition={{ duration: 150, type: \"spring\" }}\n icon={Lucide.Copy}\n position=\"absolute\"\n alt=\"Copy text\"\n aria-hidden={copied}\n />\n </TelegraphButton.Root>\n </Tooltip>\n );\n};\n\nconst Button = <T extends TgphElement>({ ...props }: ButtonProps<T>) => {\n const context = React.useContext(TagContext);\n return (\n <TelegraphButton\n size={context.size}\n color={COLOR.Button[context.variant][context.color]}\n variant={context.variant}\n icon={{ icon: Lucide.X, alt: \"close\" }}\n roundedTopRight=\"3\"\n roundedBottomRight=\"3\"\n roundedTopLeft=\"0\"\n roundedBottomLeft=\"0\"\n {...props}\n />\n );\n};\ntype IconProps<T extends TgphElement> = TgphComponentProps<\n typeof TelegraphIcon<T>\n>;\n\nconst Icon = <T extends TgphElement>({\n icon,\n alt,\n \"aria-hidden\": ariaHidden,\n ...props\n}: IconProps<T>) => {\n const context = React.useContext(TagContext);\n const a11yProps = !alt ? { \"aria-hidden\": ariaHidden } : { alt };\n return (\n <TelegraphIcon\n icon={icon}\n size={context.size}\n color={COLOR.Icon[context.variant][context.color]}\n mr=\"1\"\n roundedTopRight=\"3\"\n roundedBottomRight=\"3\"\n roundedTopLeft=\"0\"\n roundedBottomLeft=\"0\"\n {...a11yProps}\n {...props}\n />\n );\n};\n\ntype DefaultProps<T extends TgphElement> = PolymorphicProps<T> &\n TgphComponentProps<typeof Root<T>> & {\n icon?: React.ComponentProps<typeof TelegraphIcon>;\n textProps?: React.ComponentProps<typeof Text>;\n onRemove?: () => void;\n } & ( // Optionally allow textToCopy only when onCopy is defined\n | {\n onCopy: () => void;\n textToCopy?: string;\n }\n | {\n onCopy?: never;\n textToCopy?: never;\n }\n );\n\nconst Default = <T extends TgphElement>({\n color = \"default\",\n size = \"1\",\n variant = \"soft\",\n icon,\n onRemove,\n onCopy,\n textToCopy,\n textProps = { maxW: \"40\" },\n children,\n ...props\n}: DefaultProps<T>) => {\n return (\n <Root color={color} size={size} variant={variant} {...props}>\n {icon && <Icon {...icon} />}\n <Text as=\"span\" {...textProps}>\n {children}\n </Text>\n {onRemove && (\n <Button onClick={onRemove} icon={{ icon: Lucide.X, alt: \"Remove\" }} />\n )}\n {onCopy && <CopyButton onClick={onCopy} textToCopy={textToCopy} />}\n </Root>\n );\n};\n\nObject.assign(Default, {\n Root,\n Button,\n Text,\n Icon,\n CopyButton,\n});\n\nconst Tag = Default as typeof Default & {\n Root: typeof Root;\n Button: typeof Button;\n Text: typeof Text;\n Icon: typeof Icon;\n CopyButton: typeof CopyButton;\n};\n\nexport { Tag };\n"],"names":["SIZE","SPACING","COLOR","TagContext","React","Root","as","size","color","variant","className","props","jsx","Stack","clsx","Text","maxW","style","context","TelegraphText","CopyButton","onClick","textToCopy","copied","setCopied","timeout","Tooltip","jsxs","TelegraphButton","event","_a","motion","Lucide","Button","Icon","icon","alt","ariaHidden","a11yProps","TelegraphIcon","Default","onRemove","onCopy","textProps","children","Tag"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=default.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,19 +1,25 @@
1
- import { jsx as r, jsxs as B } from "react/jsx-runtime";
2
- import { Button as g } from "@telegraph/button";
3
- import { Lucide as y, Icon as I } from "@telegraph/icon";
1
+ import { jsx as n, jsxs as h } from "react/jsx-runtime";
2
+ import { Button as p } from "@telegraph/button";
3
+ import { Lucide as g, Icon as C } from "@telegraph/icon";
4
4
  import { Stack as z } from "@telegraph/layout";
5
- import { Tooltip as N } from "@telegraph/tooltip";
6
- import { Text as S } from "@telegraph/typography";
7
- import { clsx as f } from "clsx";
8
- import { AnimatePresence as L, motion as b } from "framer-motion";
9
- import i from "react";
5
+ import { motion as f } from "@telegraph/motion";
6
+ import { Tooltip as I } from "@telegraph/tooltip";
7
+ import { Text as L } from "@telegraph/typography";
8
+ import { clsx as S } from "clsx";
9
+ import l from "react";
10
10
  const O = {
11
11
  Root: {
12
- 0: "h-5",
13
- 1: "h-6",
14
- 2: "h-8"
12
+ 0: {
13
+ h: "5"
14
+ },
15
+ 1: {
16
+ h: "6"
17
+ },
18
+ 2: {
19
+ h: "8"
20
+ }
15
21
  }
16
- }, w = {
22
+ }, y = {
17
23
  Root: {
18
24
  0: "1",
19
25
  1: "2",
@@ -24,27 +30,27 @@ const O = {
24
30
  1: "2",
25
31
  2: "2"
26
32
  }
27
- }, s = {
33
+ }, u = {
28
34
  Root: {
29
35
  solid: {
30
- default: "bg-gray-12",
31
- accent: "bg-accent-9",
32
- gray: "bg-gray-9",
33
- red: "bg-red-9",
34
- blue: "bg-blue-9",
35
- green: "bg-green-9",
36
- yellow: "bg-yellow-9",
37
- purple: "bg-purple-9"
36
+ default: "gray-12",
37
+ accent: "accent-9",
38
+ gray: "gray-9",
39
+ red: "red-9",
40
+ blue: "blue-9",
41
+ green: "green-9",
42
+ yellow: "yellow-9",
43
+ purple: "purple-9"
38
44
  },
39
45
  soft: {
40
- default: "bg-gray-3",
41
- accent: "bg-accent-3",
42
- gray: "bg-gray-3",
43
- red: "bg-red-3",
44
- blue: "bg-blue-3",
45
- green: "bg-green-3",
46
- yellow: "bg-yellow-3",
47
- purple: "bg-purple-3"
46
+ default: "gray-3",
47
+ accent: "accent-3",
48
+ gray: "gray-3",
49
+ red: "red-3",
50
+ blue: "blue-3",
51
+ green: "green-3",
52
+ yellow: "yellow-3",
53
+ purple: "purple-3"
48
54
  }
49
55
  },
50
56
  Icon: {
@@ -113,170 +119,174 @@ const O = {
113
119
  purple: "purple"
114
120
  }
115
121
  }
116
- }, d = i.createContext({
122
+ }, d = l.createContext({
117
123
  size: "1",
118
124
  color: "default",
119
125
  variant: "soft"
120
126
  }), m = ({
121
- as: n = "span",
127
+ as: r = "span",
122
128
  size: t = "1",
123
- color: o = "default",
124
- variant: l = "soft",
129
+ color: a = "default",
130
+ variant: o = "soft",
125
131
  className: e,
126
- ...a
127
- }) => /* @__PURE__ */ r(d.Provider, { value: { size: t, color: o, variant: l }, children: /* @__PURE__ */ r(
132
+ ...i
133
+ }) => /* @__PURE__ */ n(d.Provider, { value: { size: t, color: a, variant: o }, children: /* @__PURE__ */ n(
128
134
  z,
129
135
  {
130
- as: n,
131
- display: "inline-flex",
136
+ as: r,
132
137
  align: "center",
133
138
  rounded: "2",
134
- pl: w.Root[t],
135
- className: f(O.Root[t], s.Root[l][o], e),
136
- ...a,
139
+ display: "inline-flex",
140
+ pl: y.Root[t],
141
+ backgroundColor: u.Root[o][a],
142
+ h: O.Root[t].h,
143
+ className: S("tgph-tag", e),
144
+ ...i,
137
145
  "data-tag": !0
138
146
  }
139
- ) }), h = ({
140
- as: n = "span",
147
+ ) }), w = ({
148
+ as: r = "span",
141
149
  maxW: t = "40",
142
- style: o,
143
- ...l
150
+ style: a,
151
+ ...o
144
152
  }) => {
145
- const e = i.useContext(d);
146
- return /* @__PURE__ */ r(
147
- S,
153
+ const e = l.useContext(d);
154
+ return /* @__PURE__ */ n(
155
+ L,
148
156
  {
149
- as: n,
157
+ as: r,
150
158
  size: e.size,
151
- color: s.Text[e.variant][e.color],
159
+ color: u.Text[e.variant][e.color],
152
160
  weight: "medium",
153
- mr: w.Text[e.size],
161
+ mr: y.Text[e.size],
154
162
  maxW: t,
163
+ overflow: "hidden",
155
164
  style: {
156
165
  whiteSpace: "nowrap",
157
166
  textOverflow: "ellipsis",
158
- overflow: "hidden",
159
- ...o
167
+ ...a
160
168
  },
161
- ...l
169
+ ...o
162
170
  }
163
171
  );
164
- }, x = ({
165
- onClick: n,
166
- textToCopy: t,
167
- className: o,
168
- ...l
169
- }) => {
170
- const e = i.useContext(d), [a, c] = i.useState(!1);
171
- return i.useEffect(() => {
172
- if (a) {
173
- const u = setTimeout(() => c(!1), 2e3);
174
- return () => clearTimeout(u);
172
+ }, x = ({ onClick: r, textToCopy: t, ...a }) => {
173
+ const o = l.useContext(d), [e, i] = l.useState(!1);
174
+ return l.useEffect(() => {
175
+ if (e) {
176
+ const c = setTimeout(() => i(!1), 2e3);
177
+ return () => clearTimeout(c);
175
178
  }
176
- }, [a]), /* @__PURE__ */ r(L, { mode: "wait", initial: !1, children: /* @__PURE__ */ r(N, { label: "Copy text", children: /* @__PURE__ */ r(
177
- g.Root,
179
+ }, [e]), /* @__PURE__ */ n(I, { label: "Copy text", children: /* @__PURE__ */ h(
180
+ p.Root,
178
181
  {
179
- onClick: (u) => {
180
- var p;
181
- n == null || n(u), c(!0), t && navigator.clipboard.writeText(t), (p = u.currentTarget) == null || p.blur();
182
+ onClick: (c) => {
183
+ var s;
184
+ r == null || r(c), i(!0), t && navigator.clipboard.writeText(t), (s = c.currentTarget) == null || s.blur();
182
185
  },
183
- size: e.size,
184
- color: s.Button[e.variant][e.color],
185
- variant: e.variant,
186
- className: f("overflow-hidden", o),
186
+ size: o.size,
187
+ color: u.Button[o.variant][o.color],
188
+ variant: o.variant,
187
189
  roundedTopRight: "3",
188
190
  roundedBottomRight: "3",
189
191
  roundedTopLeft: "0",
190
192
  roundedBottomLeft: "0",
191
- ...l,
192
- children: a ? /* @__PURE__ */ r(
193
- g.Icon,
194
- {
195
- as: b.span,
196
- initial: { y: "100%" },
197
- animate: { y: 0 },
198
- exit: { y: "100%" },
199
- transition: { duration: 0.2, type: "spring", bounce: 0 },
200
- icon: y.Check,
201
- alt: "Copied text"
202
- },
203
- "check icon"
204
- ) : /* @__PURE__ */ r(
205
- g.Icon,
206
- {
207
- as: b.span,
208
- initial: { y: "-100%" },
209
- animate: { y: 0 },
210
- exit: { y: "-100%" },
211
- transition: { duration: 0.2, type: "spring", bounce: 0 },
212
- icon: y.Copy,
213
- alt: "Copy text"
214
- },
215
- "copy icon"
216
- )
193
+ position: "relative",
194
+ overflow: "hidden",
195
+ p: "2",
196
+ ...a,
197
+ children: [
198
+ /* @__PURE__ */ n(
199
+ p.Icon,
200
+ {
201
+ as: f.span,
202
+ initializeWithAnimation: !1,
203
+ animate: { y: e ? 0 : "150%", opacity: 1 },
204
+ transition: { duration: 150, type: "spring" },
205
+ icon: g.Check,
206
+ alt: "Copied text",
207
+ "aria-hidden": !e
208
+ }
209
+ ),
210
+ /* @__PURE__ */ n(
211
+ p.Icon,
212
+ {
213
+ as: f.span,
214
+ initializeWithAnimation: !1,
215
+ animate: { y: e ? "-150%" : 0, opacity: 1 },
216
+ transition: { duration: 150, type: "spring" },
217
+ icon: g.Copy,
218
+ position: "absolute",
219
+ alt: "Copy text",
220
+ "aria-hidden": e
221
+ }
222
+ )
223
+ ]
217
224
  }
218
- ) }) });
219
- }, T = ({
220
- className: n,
221
- ...t
222
- }) => {
223
- const o = i.useContext(d);
224
- return /* @__PURE__ */ r(
225
- g,
225
+ ) });
226
+ }, b = ({ ...r }) => {
227
+ const t = l.useContext(d);
228
+ return /* @__PURE__ */ n(
229
+ p,
226
230
  {
227
- size: o.size,
228
- color: s.Button[o.variant][o.color],
229
- variant: o.variant,
230
- icon: { icon: y.X, alt: "close" },
231
- className: f("rounded-tl-0 rounded-bl-0", n),
232
- ...t
231
+ size: t.size,
232
+ color: u.Button[t.variant][t.color],
233
+ variant: t.variant,
234
+ icon: { icon: g.X, alt: "close" },
235
+ roundedTopRight: "3",
236
+ roundedBottomRight: "3",
237
+ roundedTopLeft: "0",
238
+ roundedBottomLeft: "0",
239
+ ...r
233
240
  }
234
241
  );
235
- }, v = ({
236
- icon: n,
242
+ }, T = ({
243
+ icon: r,
237
244
  alt: t,
238
- "aria-hidden": o,
239
- className: l,
240
- ...e
245
+ "aria-hidden": a,
246
+ ...o
241
247
  }) => {
242
- const a = i.useContext(d), c = t ? { alt: t } : { "aria-hidden": o };
243
- return /* @__PURE__ */ r(
244
- I,
248
+ const e = l.useContext(d), i = t ? { alt: t } : { "aria-hidden": a };
249
+ return /* @__PURE__ */ n(
250
+ C,
245
251
  {
246
- icon: n,
247
- size: a.size,
248
- color: s.Icon[a.variant][a.color],
249
- className: f("rounded-tl-0 rounded-bl-0 mr-1", l),
250
- ...c,
251
- ...e
252
+ icon: r,
253
+ size: e.size,
254
+ color: u.Icon[e.variant][e.color],
255
+ mr: "1",
256
+ roundedTopRight: "3",
257
+ roundedBottomRight: "3",
258
+ roundedTopLeft: "0",
259
+ roundedBottomLeft: "0",
260
+ ...i,
261
+ ...o
252
262
  }
253
263
  );
254
- }, C = ({
255
- color: n = "default",
264
+ }, R = ({
265
+ color: r = "default",
256
266
  size: t = "1",
257
- variant: o = "soft",
258
- icon: l,
267
+ variant: a = "soft",
268
+ icon: o,
259
269
  onRemove: e,
260
- onCopy: a,
270
+ onCopy: i,
261
271
  textToCopy: c,
262
- textProps: u = { maxW: "40" },
263
- children: p,
264
- ...R
265
- }) => /* @__PURE__ */ B(m, { color: n, size: t, variant: o, ...R, children: [
266
- l && /* @__PURE__ */ r(v, { ...l }),
267
- /* @__PURE__ */ r(h, { as: "span", ...u, children: p }),
268
- e && /* @__PURE__ */ r(T, { onClick: e, icon: { icon: y.X, alt: "Remove" } }),
269
- a && /* @__PURE__ */ r(x, { onClick: a, textToCopy: c })
272
+ textProps: s = { maxW: "40" },
273
+ children: v,
274
+ ...B
275
+ }) => /* @__PURE__ */ h(m, { color: r, size: t, variant: a, ...B, children: [
276
+ o && /* @__PURE__ */ n(T, { ...o }),
277
+ /* @__PURE__ */ n(w, { as: "span", ...s, children: v }),
278
+ e && /* @__PURE__ */ n(b, { onClick: e, icon: { icon: g.X, alt: "Remove" } }),
279
+ i && /* @__PURE__ */ n(x, { onClick: i, textToCopy: c })
270
280
  ] });
271
- Object.assign(C, {
281
+ Object.assign(R, {
272
282
  Root: m,
273
- Button: T,
274
- Text: h,
275
- Icon: v,
283
+ Button: b,
284
+ Text: w,
285
+ Icon: T,
276
286
  CopyButton: x
277
287
  });
278
- const W = C;
288
+ const D = R;
279
289
  export {
280
- W as Tag
290
+ D as Tag
281
291
  };
282
292
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/Tag/Tag.constants.ts","../../src/Tag/Tag.tsx"],"sourcesContent":["export const SIZE = {\n Root: {\n \"0\": \"h-5\",\n \"1\": \"h-6\",\n \"2\": \"h-8\",\n },\n} as const;\n\nexport const SPACING = {\n Root: {\n \"0\": \"1\",\n \"1\": \"2\",\n \"2\": \"2\",\n },\n Text: {\n \"0\": \"1\",\n \"1\": \"2\",\n \"2\": \"2\",\n },\n} as const;\n\nexport const COLOR = {\n Root: {\n solid: {\n default: \"bg-gray-12\",\n accent: \"bg-accent-9\",\n gray: \"bg-gray-9\",\n red: \"bg-red-9\",\n blue: \"bg-blue-9\",\n green: \"bg-green-9\",\n yellow: \"bg-yellow-9\",\n purple: \"bg-purple-9\",\n },\n soft: {\n default: \"bg-gray-3\",\n accent: \"bg-accent-3\",\n gray: \"bg-gray-3\",\n red: \"bg-red-3\",\n blue: \"bg-blue-3\",\n green: \"bg-green-3\",\n yellow: \"bg-yellow-3\",\n purple: \"bg-purple-3\",\n },\n },\n Icon: {\n solid: {\n default: \"white\",\n gray: \"white\",\n red: \"white\",\n accent: \"white\",\n blue: \"white\",\n green: \"white\",\n yellow: \"white\",\n purple: \"white\",\n },\n soft: {\n default: \"default\",\n gray: \"gray\",\n accent: \"accent\",\n red: \"red\",\n blue: \"blue\",\n green: \"green\",\n yellow: \"yellow\",\n purple: \"purple\",\n },\n },\n Text: {\n solid: {\n default: \"white\",\n gray: \"white\",\n accent: \"white\",\n red: \"white\",\n blue: \"white\",\n green: \"white\",\n yellow: \"white\",\n purple: \"white\",\n },\n soft: {\n default: \"default\",\n gray: \"gray\",\n accent: \"accent\",\n red: \"red\",\n blue: \"blue\",\n green: \"green\",\n yellow: \"yellow\",\n purple: \"purple\",\n },\n },\n Button: {\n solid: {\n default: \"default\",\n gray: \"gray\",\n accent: \"accent\",\n red: \"red\",\n blue: \"blue\",\n green: \"green\",\n yellow: \"yellow\",\n purple: \"purple\",\n },\n soft: {\n default: \"gray\",\n gray: \"gray\",\n accent: \"accent\",\n red: \"red\",\n blue: \"blue\",\n green: \"green\",\n yellow: \"yellow\",\n purple: \"purple\",\n },\n },\n} as const;\n","import { Button as TelegraphButton } from \"@telegraph/button\";\nimport type {\n PolymorphicProps,\n PolymorphicPropsWithTgphRef,\n Required,\n TgphComponentProps,\n TgphElement,\n} from \"@telegraph/helpers\";\nimport { Lucide, Icon as TelegraphIcon } from \"@telegraph/icon\";\nimport { Stack } from \"@telegraph/layout\";\nimport { Tooltip } from \"@telegraph/tooltip\";\nimport { Text as TelegraphText } from \"@telegraph/typography\";\nimport { clsx } from \"clsx\";\nimport { AnimatePresence, motion } from \"framer-motion\";\nimport React from \"react\";\n\nimport { COLOR, SIZE, SPACING } from \"./Tag.constants\";\n\ntype RootBaseProps = {\n size?: \"0\" | \"1\" | \"2\";\n color?: keyof (typeof COLOR.Root)[\"soft\"];\n variant?: keyof typeof COLOR.Root;\n};\n\ntype RootProps<T extends TgphElement> = PolymorphicPropsWithTgphRef<\n T,\n HTMLSpanElement\n> &\n TgphComponentProps<typeof Stack> &\n RootBaseProps;\n\nconst TagContext = React.createContext<Required<RootBaseProps>>({\n size: \"1\",\n color: \"default\",\n variant: \"soft\",\n});\n\nconst Root = <T extends TgphElement>({\n as = \"span\" as T,\n size = \"1\",\n color = \"default\",\n variant = \"soft\",\n className,\n ...props\n}: RootProps<T>) => {\n return (\n <TagContext.Provider value={{ size, color, variant }}>\n <Stack\n as={as}\n display=\"inline-flex\"\n align=\"center\"\n rounded=\"2\"\n pl={SPACING.Root[size]}\n className={clsx(SIZE.Root[size], COLOR.Root[variant][color], className)}\n {...props}\n data-tag\n />\n </TagContext.Provider>\n );\n};\n\ntype TextProps<T extends TgphElement> = Omit<\n TgphComponentProps<typeof TelegraphText<T>>,\n \"as\"\n> & {\n as?: T;\n};\n\nconst Text = <T extends TgphElement>({\n as = \"span\" as T,\n maxW = \"40\",\n style,\n ...props\n}: TextProps<T>) => {\n const context = React.useContext(TagContext);\n return (\n <TelegraphText\n as={as}\n size={context.size}\n color={COLOR.Text[context.variant][context.color]}\n weight=\"medium\"\n mr={SPACING.Text[context.size]}\n maxW={maxW}\n style={{\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n ...style,\n }}\n {...props}\n />\n );\n};\ntype ButtonProps<T extends TgphElement> = TgphComponentProps<\n typeof TelegraphButton<T>\n>;\n\ntype CopyButtonProps = TgphComponentProps<typeof TelegraphButton.Root> & {\n textToCopy?: string;\n};\n\nconst CopyButton = ({\n onClick,\n textToCopy,\n className,\n ...props\n}: CopyButtonProps) => {\n const context = React.useContext(TagContext);\n\n const [copied, setCopied] = React.useState(false);\n\n React.useEffect(() => {\n if (copied) {\n const timeout = setTimeout(() => setCopied(false), 2000);\n return () => clearTimeout(timeout);\n }\n }, [copied]);\n\n return (\n <AnimatePresence mode=\"wait\" initial={false}>\n <Tooltip label=\"Copy text\">\n <TelegraphButton.Root\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\n // Still run onClick incase the consumer wants to do something else\n onClick?.(event);\n setCopied(true);\n textToCopy && navigator.clipboard.writeText(textToCopy);\n event.currentTarget?.blur();\n }}\n size={context.size}\n color={COLOR.Button[context.variant][context.color]}\n variant={context.variant}\n className={clsx(\"overflow-hidden\", className)}\n roundedTopRight=\"3\"\n roundedBottomRight=\"3\"\n roundedTopLeft=\"0\"\n roundedBottomLeft=\"0\"\n {...props}\n >\n {copied ? (\n <TelegraphButton.Icon\n as={motion.span}\n initial={{ y: \"100%\" }}\n animate={{ y: 0 }}\n exit={{ y: \"100%\" }}\n transition={{ duration: 0.2, type: \"spring\", bounce: 0 }}\n icon={Lucide.Check}\n alt=\"Copied text\"\n key={\"check icon\"}\n />\n ) : (\n <TelegraphButton.Icon\n as={motion.span}\n initial={{ y: \"-100%\" }}\n animate={{ y: 0 }}\n exit={{ y: \"-100%\" }}\n transition={{ duration: 0.2, type: \"spring\", bounce: 0 }}\n icon={Lucide.Copy}\n alt=\"Copy text\"\n key={\"copy icon\"}\n />\n )}\n </TelegraphButton.Root>\n </Tooltip>\n </AnimatePresence>\n );\n};\n\nconst Button = <T extends TgphElement>({\n className,\n ...props\n}: ButtonProps<T>) => {\n const context = React.useContext(TagContext);\n return (\n <TelegraphButton\n size={context.size}\n color={COLOR.Button[context.variant][context.color]}\n variant={context.variant}\n icon={{ icon: Lucide.X, alt: \"close\" }}\n className={clsx(\"rounded-tl-0 rounded-bl-0\", className)}\n {...props}\n />\n );\n};\ntype IconProps<T extends TgphElement> = TgphComponentProps<\n typeof TelegraphIcon<T>\n>;\n\nconst Icon = <T extends TgphElement>({\n icon,\n alt,\n \"aria-hidden\": ariaHidden,\n className,\n ...props\n}: IconProps<T>) => {\n const context = React.useContext(TagContext);\n const a11yProps = !alt ? { \"aria-hidden\": ariaHidden } : { alt };\n return (\n <TelegraphIcon\n icon={icon}\n size={context.size}\n color={COLOR.Icon[context.variant][context.color]}\n className={clsx(\"rounded-tl-0 rounded-bl-0 mr-1\", className)}\n {...a11yProps}\n {...props}\n />\n );\n};\n\ntype DefaultProps<T extends TgphElement> = PolymorphicProps<T> &\n TgphComponentProps<typeof Root<T>> & {\n icon?: React.ComponentProps<typeof TelegraphIcon>;\n textProps?: React.ComponentProps<typeof Text>;\n onRemove?: () => void;\n } & ( // Optionally allow textToCopy only when onCopy is defined\n | {\n onCopy: () => void;\n textToCopy?: string;\n }\n | {\n onCopy?: never;\n textToCopy?: never;\n }\n );\n\nconst Default = <T extends TgphElement>({\n color = \"default\",\n size = \"1\",\n variant = \"soft\",\n icon,\n onRemove,\n onCopy,\n textToCopy,\n textProps = { maxW: \"40\" },\n children,\n ...props\n}: DefaultProps<T>) => {\n return (\n <Root color={color} size={size} variant={variant} {...props}>\n {icon && <Icon {...icon} />}\n <Text as=\"span\" {...textProps}>\n {children}\n </Text>\n {onRemove && (\n <Button onClick={onRemove} icon={{ icon: Lucide.X, alt: \"Remove\" }} />\n )}\n {onCopy && <CopyButton onClick={onCopy} textToCopy={textToCopy} />}\n </Root>\n );\n};\n\nObject.assign(Default, {\n Root,\n Button,\n Text,\n Icon,\n CopyButton,\n});\n\nconst Tag = Default as typeof Default & {\n Root: typeof Root;\n Button: typeof Button;\n Text: typeof Text;\n Icon: typeof Icon;\n CopyButton: typeof CopyButton;\n};\n\nexport { Tag };\n"],"names":["SIZE","SPACING","COLOR","TagContext","React","Root","as","size","color","variant","className","props","jsx","Stack","clsx","Text","maxW","style","context","TelegraphText","CopyButton","onClick","textToCopy","copied","setCopied","timeout","AnimatePresence","Tooltip","TelegraphButton","event","_a","motion","Lucide","Button","Icon","icon","alt","ariaHidden","a11yProps","TelegraphIcon","Default","onRemove","onCopy","textProps","children","Tag"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/Tag/Tag.constants.ts","../../src/Tag/Tag.tsx"],"sourcesContent":["export const SIZE = {\n Root: {\n \"0\": {\n h: \"5\",\n },\n \"1\": {\n h: \"6\",\n },\n \"2\": {\n h: \"8\",\n },\n },\n} as const;\n\nexport const SPACING = {\n Root: {\n \"0\": \"1\",\n \"1\": \"2\",\n \"2\": \"2\",\n },\n Text: {\n \"0\": \"1\",\n \"1\": \"2\",\n \"2\": \"2\",\n },\n} as const;\n\nexport const COLOR = {\n Root: {\n solid: {\n default: \"gray-12\",\n accent: \"accent-9\",\n gray: \"gray-9\",\n red: \"red-9\",\n blue: \"blue-9\",\n green: \"green-9\",\n yellow: \"yellow-9\",\n purple: \"purple-9\",\n },\n soft: {\n default: \"gray-3\",\n accent: \"accent-3\",\n gray: \"gray-3\",\n red: \"red-3\",\n blue: \"blue-3\",\n green: \"green-3\",\n yellow: \"yellow-3\",\n purple: \"purple-3\",\n },\n },\n Icon: {\n solid: {\n default: \"white\",\n gray: \"white\",\n red: \"white\",\n accent: \"white\",\n blue: \"white\",\n green: \"white\",\n yellow: \"white\",\n purple: \"white\",\n },\n soft: {\n default: \"default\",\n gray: \"gray\",\n accent: \"accent\",\n red: \"red\",\n blue: \"blue\",\n green: \"green\",\n yellow: \"yellow\",\n purple: \"purple\",\n },\n },\n Text: {\n solid: {\n default: \"white\",\n gray: \"white\",\n accent: \"white\",\n red: \"white\",\n blue: \"white\",\n green: \"white\",\n yellow: \"white\",\n purple: \"white\",\n },\n soft: {\n default: \"default\",\n gray: \"gray\",\n accent: \"accent\",\n red: \"red\",\n blue: \"blue\",\n green: \"green\",\n yellow: \"yellow\",\n purple: \"purple\",\n },\n },\n Button: {\n solid: {\n default: \"default\",\n gray: \"gray\",\n accent: \"accent\",\n red: \"red\",\n blue: \"blue\",\n green: \"green\",\n yellow: \"yellow\",\n purple: \"purple\",\n },\n soft: {\n default: \"gray\",\n gray: \"gray\",\n accent: \"accent\",\n red: \"red\",\n blue: \"blue\",\n green: \"green\",\n yellow: \"yellow\",\n purple: \"purple\",\n },\n },\n} as const;\n","import { Button as TelegraphButton } from \"@telegraph/button\";\nimport type {\n PolymorphicProps,\n PolymorphicPropsWithTgphRef,\n Required,\n TgphComponentProps,\n TgphElement,\n} from \"@telegraph/helpers\";\nimport { Lucide, Icon as TelegraphIcon } from \"@telegraph/icon\";\nimport { Stack } from \"@telegraph/layout\";\nimport { motion } from \"@telegraph/motion\";\nimport { Tooltip } from \"@telegraph/tooltip\";\nimport { Text as TelegraphText } from \"@telegraph/typography\";\nimport { clsx } from \"clsx\";\nimport React from \"react\";\n\nimport { COLOR, SIZE, SPACING } from \"./Tag.constants\";\n\ntype RootBaseProps = {\n size?: \"0\" | \"1\" | \"2\";\n color?: keyof (typeof COLOR.Root)[\"soft\"];\n variant?: keyof typeof COLOR.Root;\n};\n\ntype RootProps<T extends TgphElement> = PolymorphicPropsWithTgphRef<\n T,\n HTMLSpanElement\n> &\n TgphComponentProps<typeof Stack> &\n RootBaseProps;\n\nconst TagContext = React.createContext<Required<RootBaseProps>>({\n size: \"1\",\n color: \"default\",\n variant: \"soft\",\n});\n\nconst Root = <T extends TgphElement>({\n as = \"span\" as T,\n size = \"1\",\n color = \"default\",\n variant = \"soft\",\n className,\n ...props\n}: RootProps<T>) => {\n return (\n <TagContext.Provider value={{ size, color, variant }}>\n <Stack\n as={as}\n align=\"center\"\n rounded=\"2\"\n display=\"inline-flex\"\n pl={SPACING.Root[size]}\n backgroundColor={COLOR.Root[variant][color]}\n h={SIZE.Root[size].h}\n className={clsx(\"tgph-tag\", className)}\n {...props}\n data-tag\n />\n </TagContext.Provider>\n );\n};\n\ntype TextProps<T extends TgphElement> = Omit<\n TgphComponentProps<typeof TelegraphText<T>>,\n \"as\"\n> & {\n as?: T;\n};\n\nconst Text = <T extends TgphElement>({\n as = \"span\" as T,\n maxW = \"40\",\n style,\n ...props\n}: TextProps<T>) => {\n const context = React.useContext(TagContext);\n return (\n <TelegraphText\n as={as}\n size={context.size}\n color={COLOR.Text[context.variant][context.color]}\n weight=\"medium\"\n mr={SPACING.Text[context.size]}\n maxW={maxW}\n overflow=\"hidden\"\n style={{\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n ...style,\n }}\n {...props}\n />\n );\n};\ntype ButtonProps<T extends TgphElement> = TgphComponentProps<\n typeof TelegraphButton<T>\n>;\n\ntype CopyButtonProps = TgphComponentProps<typeof TelegraphButton.Root> & {\n textToCopy?: string;\n};\n\nconst CopyButton = ({ onClick, textToCopy, ...props }: CopyButtonProps) => {\n const context = React.useContext(TagContext);\n\n const [copied, setCopied] = React.useState(false);\n\n React.useEffect(() => {\n if (copied) {\n const timeout = setTimeout(() => setCopied(false), 2000);\n return () => clearTimeout(timeout);\n }\n }, [copied]);\n\n return (\n <Tooltip label=\"Copy text\">\n <TelegraphButton.Root\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\n // Still run onClick incase the consumer wants to do something else\n onClick?.(event);\n setCopied(true);\n textToCopy && navigator.clipboard.writeText(textToCopy);\n event.currentTarget?.blur();\n }}\n size={context.size}\n color={COLOR.Button[context.variant][context.color]}\n variant={context.variant}\n roundedTopRight=\"3\"\n roundedBottomRight=\"3\"\n roundedTopLeft=\"0\"\n roundedBottomLeft=\"0\"\n position=\"relative\"\n overflow=\"hidden\"\n p=\"2\"\n {...props}\n >\n <TelegraphButton.Icon\n as={motion.span}\n initializeWithAnimation={false}\n animate={{ y: copied ? 0 : \"150%\", opacity: copied ? 1 : 1 }}\n transition={{ duration: 150, type: \"spring\" }}\n icon={Lucide.Check}\n alt=\"Copied text\"\n aria-hidden={!copied}\n />\n <TelegraphButton.Icon\n as={motion.span}\n initializeWithAnimation={false}\n animate={{ y: !copied ? 0 : \"-150%\", opacity: !copied ? 1 : 1 }}\n transition={{ duration: 150, type: \"spring\" }}\n icon={Lucide.Copy}\n position=\"absolute\"\n alt=\"Copy text\"\n aria-hidden={copied}\n />\n </TelegraphButton.Root>\n </Tooltip>\n );\n};\n\nconst Button = <T extends TgphElement>({ ...props }: ButtonProps<T>) => {\n const context = React.useContext(TagContext);\n return (\n <TelegraphButton\n size={context.size}\n color={COLOR.Button[context.variant][context.color]}\n variant={context.variant}\n icon={{ icon: Lucide.X, alt: \"close\" }}\n roundedTopRight=\"3\"\n roundedBottomRight=\"3\"\n roundedTopLeft=\"0\"\n roundedBottomLeft=\"0\"\n {...props}\n />\n );\n};\ntype IconProps<T extends TgphElement> = TgphComponentProps<\n typeof TelegraphIcon<T>\n>;\n\nconst Icon = <T extends TgphElement>({\n icon,\n alt,\n \"aria-hidden\": ariaHidden,\n ...props\n}: IconProps<T>) => {\n const context = React.useContext(TagContext);\n const a11yProps = !alt ? { \"aria-hidden\": ariaHidden } : { alt };\n return (\n <TelegraphIcon\n icon={icon}\n size={context.size}\n color={COLOR.Icon[context.variant][context.color]}\n mr=\"1\"\n roundedTopRight=\"3\"\n roundedBottomRight=\"3\"\n roundedTopLeft=\"0\"\n roundedBottomLeft=\"0\"\n {...a11yProps}\n {...props}\n />\n );\n};\n\ntype DefaultProps<T extends TgphElement> = PolymorphicProps<T> &\n TgphComponentProps<typeof Root<T>> & {\n icon?: React.ComponentProps<typeof TelegraphIcon>;\n textProps?: React.ComponentProps<typeof Text>;\n onRemove?: () => void;\n } & ( // Optionally allow textToCopy only when onCopy is defined\n | {\n onCopy: () => void;\n textToCopy?: string;\n }\n | {\n onCopy?: never;\n textToCopy?: never;\n }\n );\n\nconst Default = <T extends TgphElement>({\n color = \"default\",\n size = \"1\",\n variant = \"soft\",\n icon,\n onRemove,\n onCopy,\n textToCopy,\n textProps = { maxW: \"40\" },\n children,\n ...props\n}: DefaultProps<T>) => {\n return (\n <Root color={color} size={size} variant={variant} {...props}>\n {icon && <Icon {...icon} />}\n <Text as=\"span\" {...textProps}>\n {children}\n </Text>\n {onRemove && (\n <Button onClick={onRemove} icon={{ icon: Lucide.X, alt: \"Remove\" }} />\n )}\n {onCopy && <CopyButton onClick={onCopy} textToCopy={textToCopy} />}\n </Root>\n );\n};\n\nObject.assign(Default, {\n Root,\n Button,\n Text,\n Icon,\n CopyButton,\n});\n\nconst Tag = Default as typeof Default & {\n Root: typeof Root;\n Button: typeof Button;\n Text: typeof Text;\n Icon: typeof Icon;\n CopyButton: typeof CopyButton;\n};\n\nexport { Tag };\n"],"names":["SIZE","SPACING","COLOR","TagContext","React","Root","as","size","color","variant","className","props","jsx","Stack","clsx","Text","maxW","style","context","TelegraphText","CopyButton","onClick","textToCopy","copied","setCopied","timeout","Tooltip","jsxs","TelegraphButton","event","_a","motion","Lucide","Button","Icon","icon","alt","ariaHidden","a11yProps","TelegraphIcon","Default","onRemove","onCopy","textProps","children","Tag"],"mappings":"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"}
@@ -1,8 +1,14 @@
1
1
  export declare const SIZE: {
2
2
  readonly Root: {
3
- readonly "0": "h-5";
4
- readonly "1": "h-6";
5
- readonly "2": "h-8";
3
+ readonly "0": {
4
+ readonly h: "5";
5
+ };
6
+ readonly "1": {
7
+ readonly h: "6";
8
+ };
9
+ readonly "2": {
10
+ readonly h: "8";
11
+ };
6
12
  };
7
13
  };
8
14
  export declare const SPACING: {
@@ -20,24 +26,24 @@ export declare const SPACING: {
20
26
  export declare const COLOR: {
21
27
  readonly Root: {
22
28
  readonly solid: {
23
- readonly default: "bg-gray-12";
24
- readonly accent: "bg-accent-9";
25
- readonly gray: "bg-gray-9";
26
- readonly red: "bg-red-9";
27
- readonly blue: "bg-blue-9";
28
- readonly green: "bg-green-9";
29
- readonly yellow: "bg-yellow-9";
30
- readonly purple: "bg-purple-9";
29
+ readonly default: "gray-12";
30
+ readonly accent: "accent-9";
31
+ readonly gray: "gray-9";
32
+ readonly red: "red-9";
33
+ readonly blue: "blue-9";
34
+ readonly green: "green-9";
35
+ readonly yellow: "yellow-9";
36
+ readonly purple: "purple-9";
31
37
  };
32
38
  readonly soft: {
33
- readonly default: "bg-gray-3";
34
- readonly accent: "bg-accent-3";
35
- readonly gray: "bg-gray-3";
36
- readonly red: "bg-red-3";
37
- readonly blue: "bg-blue-3";
38
- readonly green: "bg-green-3";
39
- readonly yellow: "bg-yellow-3";
40
- readonly purple: "bg-purple-3";
39
+ readonly default: "gray-3";
40
+ readonly accent: "accent-3";
41
+ readonly gray: "gray-3";
42
+ readonly red: "red-3";
43
+ readonly blue: "blue-3";
44
+ readonly green: "green-3";
45
+ readonly yellow: "yellow-3";
46
+ readonly purple: "purple-3";
41
47
  };
42
48
  };
43
49
  readonly Icon: {
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.constants.d.ts","sourceRoot":"","sources":["../../../src/Tag/Tag.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI;;;;;;CAMP,CAAC;AAEX,eAAO,MAAM,OAAO;;;;;;;;;;;CAWV,CAAC;AAEX,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyFR,CAAC"}
1
+ {"version":3,"file":"Tag.constants.d.ts","sourceRoot":"","sources":["../../../src/Tag/Tag.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI;;;;;;;;;;;;CAYP,CAAC;AAEX,eAAO,MAAM,OAAO;;;;;;;;;;;CAWV,CAAC;AAEX,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyFR,CAAC"}
@@ -21,10 +21,10 @@ type ButtonProps<T extends TgphElement> = TgphComponentProps<typeof TelegraphBut
21
21
  type CopyButtonProps = TgphComponentProps<typeof TelegraphButton.Root> & {
22
22
  textToCopy?: string;
23
23
  };
24
- declare const CopyButton: ({ onClick, textToCopy, className, ...props }: CopyButtonProps) => import("react/jsx-runtime").JSX.Element;
25
- declare const Button: <T extends TgphElement>({ className, ...props }: ButtonProps<T>) => import("react/jsx-runtime").JSX.Element;
24
+ declare const CopyButton: ({ onClick, textToCopy, ...props }: CopyButtonProps) => import("react/jsx-runtime").JSX.Element;
25
+ declare const Button: <T extends TgphElement>({ ...props }: ButtonProps<T>) => import("react/jsx-runtime").JSX.Element;
26
26
  type IconProps<T extends TgphElement> = TgphComponentProps<typeof TelegraphIcon<T>>;
27
- declare const Icon: <T extends TgphElement>({ icon, alt, "aria-hidden": ariaHidden, className, ...props }: IconProps<T>) => import("react/jsx-runtime").JSX.Element;
27
+ declare const Icon: <T extends TgphElement>({ icon, alt, "aria-hidden": ariaHidden, ...props }: IconProps<T>) => import("react/jsx-runtime").JSX.Element;
28
28
  type DefaultProps<T extends TgphElement> = PolymorphicProps<T> & TgphComponentProps<typeof Root<T>> & {
29
29
  icon?: React.ComponentProps<typeof TelegraphIcon>;
30
30
  textProps?: React.ComponentProps<typeof Text>;
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.d.ts","sourceRoot":"","sources":["../../../src/Tag/Tag.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tag.d.ts","sourceRoot":"","sources":["../../../src/Tag/Tag.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telegraph/tag",
3
- "version": "0.0.60",
3
+ "version": "0.0.61",
4
4
  "repository": "https://github.com/knocklabs/telegraph/tree/main/packages/tag",
5
5
  "author": "@knocklabs",
6
6
  "license": "MIT",
@@ -31,22 +31,21 @@
31
31
  "preview": "vite preview"
32
32
  },
33
33
  "dependencies": {
34
- "@telegraph/button": "^0.0.56",
34
+ "@telegraph/button": "^0.0.57",
35
35
  "@telegraph/compose-refs": "^0.0.2",
36
36
  "@telegraph/helpers": "^0.0.7",
37
- "@telegraph/icon": "^0.0.36",
38
- "@telegraph/layout": "^0.1.2",
39
- "@telegraph/tooltip": "^0.0.29",
40
- "@telegraph/typography": "^0.1.2",
41
- "clsx": "^2.1.1",
42
- "framer-motion": "^11.1.9"
37
+ "@telegraph/icon": "^0.0.37",
38
+ "@telegraph/layout": "^0.1.3",
39
+ "@telegraph/motion": "^0.0.2",
40
+ "@telegraph/tooltip": "^0.0.30",
41
+ "@telegraph/typography": "^0.1.3",
42
+ "clsx": "^2.1.1"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@knocklabs/eslint-config": "^0.0.3",
46
46
  "@knocklabs/prettier-config": "^0.0.1",
47
47
  "@knocklabs/typescript-config": "^0.0.2",
48
48
  "@telegraph/postcss-config": "^0.0.20",
49
- "@telegraph/tailwind-config": "^0.0.11",
50
49
  "@telegraph/vite-config": "^0.0.11",
51
50
  "@types/react": "^18.2.48",
52
51
  "eslint": "^8.56.0",
@@ -1 +0,0 @@
1
- .tgph .mr-1{margin-right:var(--tgph-spacing-1)}.tgph .inline-flex{display:inline-flex}.tgph .hidden{display:none}.tgph .h-5{height:var(--tgph-spacing-5)}.tgph .h-6{height:var(--tgph-spacing-6)}.tgph .h-8{height:var(--tgph-spacing-8)}.tgph .overflow-hidden{overflow:hidden}.tgph .rounded-bl-0{border-bottom-left-radius:var(--tgph-rounded-0)}.tgph .rounded-tl-0{border-top-left-radius:var(--tgph-rounded-0)}.tgph .bg-accent-3{background-color:var(--tgph-accent-3)}.tgph .bg-accent-9{background-color:var(--tgph-accent-9)}.tgph .bg-blue-3{background-color:var(--tgph-blue-3)}.tgph .bg-blue-9{background-color:var(--tgph-blue-9)}.tgph .bg-gray-12{background-color:var(--tgph-gray-12)}.tgph .bg-gray-3{background-color:var(--tgph-gray-3)}.tgph .bg-gray-9{background-color:var(--tgph-gray-9)}.tgph .bg-green-3{background-color:var(--tgph-green-3)}.tgph .bg-green-9{background-color:var(--tgph-green-9)}.tgph .bg-purple-3{background-color:var(--tgph-purple-3)}.tgph .bg-purple-9{background-color:var(--tgph-purple-9)}.tgph .bg-red-3{background-color:var(--tgph-red-3)}.tgph .bg-red-9{background-color:var(--tgph-red-9)}.tgph .bg-yellow-3{background-color:var(--tgph-yellow-3)}.tgph .bg-yellow-9{background-color:var(--tgph-yellow-9)}.tgph .blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.tgph .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}