@kushagradhawan/kookie-ui 0.1.7 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/components.css +99 -0
  2. package/dist/cjs/components/image.d.ts +21 -0
  3. package/dist/cjs/components/image.d.ts.map +1 -0
  4. package/dist/cjs/components/image.js +2 -0
  5. package/dist/cjs/components/image.js.map +7 -0
  6. package/dist/cjs/components/image.props.d.ts +49 -0
  7. package/dist/cjs/components/image.props.d.ts.map +1 -0
  8. package/dist/cjs/components/image.props.js +2 -0
  9. package/dist/cjs/components/image.props.js.map +7 -0
  10. package/dist/cjs/components/index.d.ts +1 -0
  11. package/dist/cjs/components/index.d.ts.map +1 -1
  12. package/dist/cjs/components/index.js +1 -1
  13. package/dist/cjs/components/index.js.map +3 -3
  14. package/dist/cjs/props/index.d.ts +2 -0
  15. package/dist/cjs/props/index.d.ts.map +1 -1
  16. package/dist/cjs/props/index.js +1 -1
  17. package/dist/cjs/props/index.js.map +2 -2
  18. package/dist/cjs/props/shadow.props.d.ts +24 -0
  19. package/dist/cjs/props/shadow.props.d.ts.map +1 -0
  20. package/dist/cjs/props/shadow.props.js +2 -0
  21. package/dist/cjs/props/shadow.props.js.map +7 -0
  22. package/dist/esm/components/image.d.ts +21 -0
  23. package/dist/esm/components/image.d.ts.map +1 -0
  24. package/dist/esm/components/image.js +2 -0
  25. package/dist/esm/components/image.js.map +7 -0
  26. package/dist/esm/components/image.props.d.ts +49 -0
  27. package/dist/esm/components/image.props.d.ts.map +1 -0
  28. package/dist/esm/components/image.props.js +2 -0
  29. package/dist/esm/components/image.props.js.map +7 -0
  30. package/dist/esm/components/index.d.ts +1 -0
  31. package/dist/esm/components/index.d.ts.map +1 -1
  32. package/dist/esm/components/index.js +1 -1
  33. package/dist/esm/components/index.js.map +3 -3
  34. package/dist/esm/props/index.d.ts +2 -0
  35. package/dist/esm/props/index.d.ts.map +1 -1
  36. package/dist/esm/props/index.js +1 -1
  37. package/dist/esm/props/index.js.map +2 -2
  38. package/dist/esm/props/shadow.props.d.ts +24 -0
  39. package/dist/esm/props/shadow.props.d.ts.map +1 -0
  40. package/dist/esm/props/shadow.props.js +2 -0
  41. package/dist/esm/props/shadow.props.js.map +7 -0
  42. package/package.json +1 -1
  43. package/src/components/image.css +140 -0
  44. package/src/components/image.props.ts +50 -0
  45. package/src/components/image.tsx +191 -0
  46. package/src/components/index.css +1 -0
  47. package/src/components/index.tsx +1 -0
  48. package/src/components/text.css +1 -0
  49. package/src/props/index.ts +2 -0
  50. package/src/props/shadow.props.ts +30 -0
  51. package/styles.css +99 -0
@@ -0,0 +1,2 @@
1
+ import{asChildPropDef as e}from"../props/as-child.prop.js";import{radiusPropDef as r}from"../props/radius.prop.js";import{shadowPropDefs as o}from"../props/shadow.props.js";const t=["cover","contain","fill","scale-down","none"],s=["surface","blur"],a={...e,fit:{type:"enum",className:"rt-r-fit",values:t,default:"cover",responsive:!0},variant:{type:"enum",className:"rt-variant",values:s,default:"surface"},...r,...o};export{a as imagePropDefs};
2
+ //# sourceMappingURL=image.props.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/image.props.ts"],
4
+ "sourcesContent": ["import { asChildPropDef } from '../props/as-child.prop.js';\nimport { radiusPropDef } from '../props/radius.prop.js';\nimport { shadowPropDefs } from '../props/shadow.props.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst objectFitValues = ['cover', 'contain', 'fill', 'scale-down', 'none'] as const;\nconst variants = ['surface', 'blur'] as const;\n\nconst imagePropDefs = {\n ...asChildPropDef,\n /**\n * Sets the CSS **object-fit** property.\n * Controls how the image should be resized to fit its container.\n *\n * @example\n * fit=\"cover\"\n * fit=\"contain\"\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit\n */\n fit: {\n type: 'enum',\n className: 'rt-r-fit',\n values: objectFitValues,\n default: 'cover',\n responsive: true,\n },\n /**\n * Sets the visual variant of the image.\n *\n * @example\n * variant=\"surface\"\n * variant=\"blur\"\n */\n variant: {\n type: 'enum',\n className: 'rt-variant',\n values: variants,\n default: 'surface',\n },\n ...radiusPropDef,\n ...shadowPropDefs,\n} satisfies {\n fit: PropDef<(typeof objectFitValues)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n};\n\nexport { imagePropDefs };\n"],
5
+ "mappings": "AAAA,OAAS,kBAAAA,MAAsB,4BAC/B,OAAS,iBAAAC,MAAqB,0BAC9B,OAAS,kBAAAC,MAAsB,2BAI/B,MAAMC,EAAkB,CAAC,QAAS,UAAW,OAAQ,aAAc,MAAM,EACnEC,EAAW,CAAC,UAAW,MAAM,EAE7BC,EAAgB,CACpB,GAAGL,EAYH,IAAK,CACH,KAAM,OACN,UAAW,WACX,OAAQG,EACR,QAAS,QACT,WAAY,EACd,EAQA,QAAS,CACP,KAAM,OACN,UAAW,aACX,OAAQC,EACR,QAAS,SACX,EACA,GAAGH,EACH,GAAGC,CACL",
6
+ "names": ["asChildPropDef", "radiusPropDef", "shadowPropDefs", "objectFitValues", "variants", "imagePropDefs"]
7
+ }
@@ -24,6 +24,7 @@ export { Heading, type HeadingProps } from './heading.js';
24
24
  export * as HoverCard from './hover-card.js';
25
25
  export { IconButton, type IconButtonProps } from './icon-button.js';
26
26
  export { type IconProps, ChevronDownIcon, ThickCheckIcon, ThickChevronRightIcon, ThickDividerHorizontalIcon, } from './icons.js';
27
+ export { Image, type ImageProps } from './image.js';
27
28
  export { Inset, type InsetProps } from './inset.js';
28
29
  export { Kbd, type KbdProps } from './kbd.js';
29
30
  export { Link, type LinkProps } from './link.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{AccessibleIcon as e}from"./accessible-icon.js";import*as t from"./alert-dialog.js";import{AspectRatio as s}from"./aspect-ratio.js";import{Avatar as m}from"./avatar.js";import{Badge as f}from"./badge.js";import{Blockquote as P}from"./blockquote.js";import{Box as i}from"./box.js";import{Button as c}from"./button.js";import*as d from"./callout.js";import{Card as C}from"./card.js";import*as g from"./checkbox-cards.js";import*as u from"./checkbox-group.js";import{Checkbox as h}from"./checkbox.js";import{Code as B}from"./code.js";import{Container as b}from"./container.js";import*as A from"./context-menu.js";import*as R from"./data-list.js";import*as v from"./dialog.js";import*as D from"./dropdown-menu.js";import{Em as w}from"./em.js";import{Flex as F}from"./flex.js";import{Grid as q}from"./grid.js";import{Heading as K}from"./heading.js";import*as M from"./hover-card.js";import{IconButton as V}from"./icon-button.js";import{ChevronDownIcon as N,ThickCheckIcon as j,ThickChevronRightIcon as J,ThickDividerHorizontalIcon as O}from"./icons.js";import{Inset as W}from"./inset.js";import{Kbd as Y}from"./kbd.js";import{Link as _}from"./link.js";import*as $ from"./popover.js";import{Portal as ro}from"./portal.js";import{Progress as to}from"./progress.js";import{Quote as so}from"./quote.js";import*as xo from"./radio-cards.js";import*as mo from"./radio-group.js";import{Radio as fo}from"./radio.js";import{Reset as Po}from"./reset.js";import{ScrollArea as io}from"./scroll-area.js";import*as lo from"./segmented-control.js";import{Section as To}from"./section.js";import*as Co from"./select.js";import{Separator as uo}from"./separator.js";import{Skeleton as ho}from"./skeleton.js";import{Slider as Bo}from"./slider.js";import{Slot as bo,Slottable as Ao}from"./slot.js";import{Spinner as vo}from"./spinner.js";import{Strong as Ho}from"./strong.js";import{Switch as Go}from"./switch.js";import*as Fo from"./tab-nav.js";import*as Lo from"./table.js";import*as qo from"./tabs.js";import{TextArea as Ko}from"./text-area.js";import*as Mo from"./text-field.js";import{Text as Vo}from"./text.js";import{ThemePanel as No}from"./theme-panel.js";import{Theme as Jo,ThemeContext as Oo,useThemeContext as Uo}from"./theme.js";import{ToggleButton as Xo}from"./toggle-button.js";import{ToggleIconButton as Zo}from"./toggle-icon-button.js";import{Tooltip as $o}from"./tooltip.js";import{VisuallyHidden as rr}from"./visually-hidden.js";export{e as AccessibleIcon,t as AlertDialog,s as AspectRatio,m as Avatar,f as Badge,P as Blockquote,i as Box,c as Button,d as Callout,C as Card,h as Checkbox,g as CheckboxCards,u as CheckboxGroup,N as ChevronDownIcon,B as Code,b as Container,A as ContextMenu,R as DataList,v as Dialog,D as DropdownMenu,w as Em,F as Flex,q as Grid,K as Heading,M as HoverCard,V as IconButton,W as Inset,Y as Kbd,_ as Link,$ as Popover,ro as Portal,to as Progress,so as Quote,fo as Radio,xo as RadioCards,mo as RadioGroup,Po as Reset,io as ScrollArea,To as Section,lo as SegmentedControl,Co as Select,uo as Separator,ho as Skeleton,Bo as Slider,bo as Slot,Ao as Slottable,vo as Spinner,Ho as Strong,Go as Switch,Fo as TabNav,Lo as Table,qo as Tabs,Vo as Text,Ko as TextArea,Mo as TextField,Jo as Theme,Oo as ThemeContext,No as ThemePanel,j as ThickCheckIcon,J as ThickChevronRightIcon,O as ThickDividerHorizontalIcon,Xo as ToggleButton,Zo as ToggleIconButton,$o as Tooltip,rr as VisuallyHidden,Uo as useThemeContext};
1
+ import{AccessibleIcon as e}from"./accessible-icon.js";import*as t from"./alert-dialog.js";import{AspectRatio as s}from"./aspect-ratio.js";import{Avatar as m}from"./avatar.js";import{Badge as f}from"./badge.js";import{Blockquote as P}from"./blockquote.js";import{Box as i}from"./box.js";import{Button as c}from"./button.js";import*as d from"./callout.js";import{Card as g}from"./card.js";import*as C from"./checkbox-cards.js";import*as u from"./checkbox-group.js";import{Checkbox as h}from"./checkbox.js";import{Code as k}from"./code.js";import{Container as b}from"./container.js";import*as A from"./context-menu.js";import*as R from"./data-list.js";import*as v from"./dialog.js";import*as D from"./dropdown-menu.js";import{Em as w}from"./em.js";import{Flex as F}from"./flex.js";import{Grid as q}from"./grid.js";import{Heading as K}from"./heading.js";import*as M from"./hover-card.js";import{IconButton as V}from"./icon-button.js";import{ChevronDownIcon as N,ThickCheckIcon as j,ThickChevronRightIcon as J,ThickDividerHorizontalIcon as O}from"./icons.js";import{Image as W}from"./image.js";import{Inset as Y}from"./inset.js";import{Kbd as _}from"./kbd.js";import{Link as oo}from"./link.js";import*as ro from"./popover.js";import{Portal as to}from"./portal.js";import{Progress as so}from"./progress.js";import{Quote as mo}from"./quote.js";import*as ao from"./radio-cards.js";import*as fo from"./radio-group.js";import{Radio as Po}from"./radio.js";import{Reset as io}from"./reset.js";import{ScrollArea as co}from"./scroll-area.js";import*as To from"./segmented-control.js";import{Section as Co}from"./section.js";import*as uo from"./select.js";import{Separator as ho}from"./separator.js";import{Skeleton as ko}from"./skeleton.js";import{Slider as bo}from"./slider.js";import{Slot as Ro,Slottable as vo}from"./slot.js";import{Spinner as Ho}from"./spinner.js";import{Strong as Go}from"./strong.js";import{Switch as Lo}from"./switch.js";import*as qo from"./tab-nav.js";import*as Eo from"./table.js";import*as Ko from"./tabs.js";import{TextArea as Qo}from"./text-area.js";import*as Vo from"./text-field.js";import{Text as No}from"./text.js";import{ThemePanel as Jo}from"./theme-panel.js";import{Theme as Uo,ThemeContext as Wo,useThemeContext as Xo}from"./theme.js";import{ToggleButton as Zo}from"./toggle-button.js";import{ToggleIconButton as $o}from"./toggle-icon-button.js";import{Tooltip as rr}from"./tooltip.js";import{VisuallyHidden as tr}from"./visually-hidden.js";export{e as AccessibleIcon,t as AlertDialog,s as AspectRatio,m as Avatar,f as Badge,P as Blockquote,i as Box,c as Button,d as Callout,g as Card,h as Checkbox,C as CheckboxCards,u as CheckboxGroup,N as ChevronDownIcon,k as Code,b as Container,A as ContextMenu,R as DataList,v as Dialog,D as DropdownMenu,w as Em,F as Flex,q as Grid,K as Heading,M as HoverCard,V as IconButton,W as Image,Y as Inset,_ as Kbd,oo as Link,ro as Popover,to as Portal,so as Progress,mo as Quote,Po as Radio,ao as RadioCards,fo as RadioGroup,io as Reset,co as ScrollArea,Co as Section,To as SegmentedControl,uo as Select,ho as Separator,ko as Skeleton,bo as Slider,Ro as Slot,vo as Slottable,Ho as Spinner,Go as Strong,Lo as Switch,qo as TabNav,Eo as Table,Ko as Tabs,No as Text,Qo as TextArea,Vo as TextField,Uo as Theme,Wo as ThemeContext,Jo as ThemePanel,j as ThickCheckIcon,J as ThickChevronRightIcon,O as ThickDividerHorizontalIcon,Zo as ToggleButton,$o as ToggleIconButton,rr as Tooltip,tr as VisuallyHidden,Xo as useThemeContext};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/index.tsx"],
4
- "sourcesContent": ["export { AccessibleIcon, type AccessibleIconProps } from './accessible-icon.js';\nexport * as AlertDialog from './alert-dialog.js';\nexport { AspectRatio, type AspectRatioProps } from './aspect-ratio.js';\nexport { Avatar, type AvatarProps } from './avatar.js';\nexport { Badge, type BadgeProps } from './badge.js';\nexport { Blockquote, type BlockquoteProps } from './blockquote.js';\nexport { Box, type BoxProps } from './box.js';\nexport { Button, type ButtonProps } from './button.js';\nexport * as Callout from './callout.js';\nexport { Card, type CardProps } from './card.js';\nexport * as CheckboxCards from './checkbox-cards.js';\nexport * as CheckboxGroup from './checkbox-group.js';\nexport { Checkbox, type CheckboxProps } from './checkbox.js';\nexport { Code, type CodeProps } from './code.js';\nexport { Container, type ContainerProps } from './container.js';\nexport * as ContextMenu from './context-menu.js';\nexport * as DataList from './data-list.js';\nexport * as Dialog from './dialog.js';\nexport * as DropdownMenu from './dropdown-menu.js';\nexport { Em, type EmProps } from './em.js';\nexport { Flex, type FlexProps } from './flex.js';\nexport { Grid, type GridProps } from './grid.js';\nexport { Heading, type HeadingProps } from './heading.js';\nexport * as HoverCard from './hover-card.js';\nexport { IconButton, type IconButtonProps } from './icon-button.js';\nexport {\n type IconProps,\n ChevronDownIcon,\n ThickCheckIcon,\n ThickChevronRightIcon,\n ThickDividerHorizontalIcon,\n} from './icons.js';\nexport { Inset, type InsetProps } from './inset.js';\nexport { Kbd, type KbdProps } from './kbd.js';\nexport { Link, type LinkProps } from './link.js';\nexport * as Popover from './popover.js';\nexport { Portal, type PortalProps } from './portal.js';\nexport { Progress, type ProgressProps } from './progress.js';\nexport { Quote, type QuoteProps } from './quote.js';\nexport * as RadioCards from './radio-cards.js';\nexport * as RadioGroup from './radio-group.js';\nexport { Radio, type RadioProps } from './radio.js';\nexport { Reset, type ResetProps } from './reset.js';\nexport { ScrollArea, type ScrollAreaProps } from './scroll-area.js';\nexport * as SegmentedControl from './segmented-control.js';\nexport { Section, type SectionProps } from './section.js';\nexport * as Select from './select.js';\nexport { Separator, type SeparatorProps } from './separator.js';\nexport { Skeleton, type SkeletonProps } from './skeleton.js';\nexport { Slider, type SliderProps } from './slider.js';\nexport { Slot, Slottable } from './slot.js';\nexport { Spinner, type SpinnerProps } from './spinner.js';\nexport { Strong, type StrongProps } from './strong.js';\nexport { Switch, type SwitchProps } from './switch.js';\nexport * as TabNav from './tab-nav.js';\nexport * as Table from './table.js';\nexport * as Tabs from './tabs.js';\nexport { TextArea, type TextAreaProps } from './text-area.js';\nexport * as TextField from './text-field.js';\nexport { Text, type TextProps } from './text.js';\nexport { ThemePanel, type ThemePanelProps } from './theme-panel.js';\nexport { Theme, ThemeContext, type ThemeProps, useThemeContext } from './theme.js';\nexport { ToggleButton, type ToggleButtonProps } from './toggle-button.js';\nexport { ToggleIconButton, type ToggleIconButtonProps } from './toggle-icon-button.js';\nexport { Tooltip, type TooltipProps } from './tooltip.js';\nexport { VisuallyHidden, type VisuallyHiddenProps } from './visually-hidden.js';\n"],
5
- "mappings": "AAAA,OAAS,kBAAAA,MAAgD,uBACzD,UAAYC,MAAiB,oBAC7B,OAAS,eAAAC,MAA0C,oBACnD,OAAS,UAAAC,MAAgC,cACzC,OAAS,SAAAC,MAA8B,aACvC,OAAS,cAAAC,MAAwC,kBACjD,OAAS,OAAAC,MAA0B,WACnC,OAAS,UAAAC,MAAgC,cACzC,UAAYC,MAAa,eACzB,OAAS,QAAAC,MAA4B,YACrC,UAAYC,MAAmB,sBAC/B,UAAYC,MAAmB,sBAC/B,OAAS,YAAAC,MAAoC,gBAC7C,OAAS,QAAAC,MAA4B,YACrC,OAAS,aAAAC,MAAsC,iBAC/C,UAAYC,MAAiB,oBAC7B,UAAYC,MAAc,iBAC1B,UAAYC,MAAY,cACxB,UAAYC,MAAkB,qBAC9B,OAAS,MAAAC,MAAwB,UACjC,OAAS,QAAAC,MAA4B,YACrC,OAAS,QAAAC,MAA4B,YACrC,OAAS,WAAAC,MAAkC,eAC3C,UAAYC,MAAe,kBAC3B,OAAS,cAAAC,MAAwC,mBACjD,OAEE,mBAAAC,EACA,kBAAAC,EACA,yBAAAC,EACA,8BAAAC,MACK,aACP,OAAS,SAAAC,MAA8B,aACvC,OAAS,OAAAC,MAA0B,WACnC,OAAS,QAAAC,MAA4B,YACrC,UAAYC,MAAa,eACzB,OAAS,UAAAC,OAAgC,cACzC,OAAS,YAAAC,OAAoC,gBAC7C,OAAS,SAAAC,OAA8B,aACvC,UAAYC,OAAgB,mBAC5B,UAAYC,OAAgB,mBAC5B,OAAS,SAAAC,OAA8B,aACvC,OAAS,SAAAC,OAA8B,aACvC,OAAS,cAAAC,OAAwC,mBACjD,UAAYC,OAAsB,yBAClC,OAAS,WAAAC,OAAkC,eAC3C,UAAYC,OAAY,cACxB,OAAS,aAAAC,OAAsC,iBAC/C,OAAS,YAAAC,OAAoC,gBAC7C,OAAS,UAAAC,OAAgC,cACzC,OAAS,QAAAC,GAAM,aAAAC,OAAiB,YAChC,OAAS,WAAAC,OAAkC,eAC3C,OAAS,UAAAC,OAAgC,cACzC,OAAS,UAAAC,OAAgC,cACzC,UAAYC,OAAY,eACxB,UAAYC,OAAW,aACvB,UAAYC,OAAU,YACtB,OAAS,YAAAC,OAAoC,iBAC7C,UAAYC,OAAe,kBAC3B,OAAS,QAAAC,OAA4B,YACrC,OAAS,cAAAC,OAAwC,mBACjD,OAAS,SAAAC,GAAO,gBAAAC,GAA+B,mBAAAC,OAAuB,aACtE,OAAS,gBAAAC,OAA4C,qBACrD,OAAS,oBAAAC,OAAoD,0BAC7D,OAAS,WAAAC,OAAkC,eAC3C,OAAS,kBAAAC,OAAgD",
6
- "names": ["AccessibleIcon", "AlertDialog", "AspectRatio", "Avatar", "Badge", "Blockquote", "Box", "Button", "Callout", "Card", "CheckboxCards", "CheckboxGroup", "Checkbox", "Code", "Container", "ContextMenu", "DataList", "Dialog", "DropdownMenu", "Em", "Flex", "Grid", "Heading", "HoverCard", "IconButton", "ChevronDownIcon", "ThickCheckIcon", "ThickChevronRightIcon", "ThickDividerHorizontalIcon", "Inset", "Kbd", "Link", "Popover", "Portal", "Progress", "Quote", "RadioCards", "RadioGroup", "Radio", "Reset", "ScrollArea", "SegmentedControl", "Section", "Select", "Separator", "Skeleton", "Slider", "Slot", "Slottable", "Spinner", "Strong", "Switch", "TabNav", "Table", "Tabs", "TextArea", "TextField", "Text", "ThemePanel", "Theme", "ThemeContext", "useThemeContext", "ToggleButton", "ToggleIconButton", "Tooltip", "VisuallyHidden"]
4
+ "sourcesContent": ["export { AccessibleIcon, type AccessibleIconProps } from './accessible-icon.js';\nexport * as AlertDialog from './alert-dialog.js';\nexport { AspectRatio, type AspectRatioProps } from './aspect-ratio.js';\nexport { Avatar, type AvatarProps } from './avatar.js';\nexport { Badge, type BadgeProps } from './badge.js';\nexport { Blockquote, type BlockquoteProps } from './blockquote.js';\nexport { Box, type BoxProps } from './box.js';\nexport { Button, type ButtonProps } from './button.js';\nexport * as Callout from './callout.js';\nexport { Card, type CardProps } from './card.js';\nexport * as CheckboxCards from './checkbox-cards.js';\nexport * as CheckboxGroup from './checkbox-group.js';\nexport { Checkbox, type CheckboxProps } from './checkbox.js';\nexport { Code, type CodeProps } from './code.js';\nexport { Container, type ContainerProps } from './container.js';\nexport * as ContextMenu from './context-menu.js';\nexport * as DataList from './data-list.js';\nexport * as Dialog from './dialog.js';\nexport * as DropdownMenu from './dropdown-menu.js';\nexport { Em, type EmProps } from './em.js';\nexport { Flex, type FlexProps } from './flex.js';\nexport { Grid, type GridProps } from './grid.js';\nexport { Heading, type HeadingProps } from './heading.js';\nexport * as HoverCard from './hover-card.js';\nexport { IconButton, type IconButtonProps } from './icon-button.js';\nexport {\n type IconProps,\n ChevronDownIcon,\n ThickCheckIcon,\n ThickChevronRightIcon,\n ThickDividerHorizontalIcon,\n} from './icons.js';\nexport { Image, type ImageProps } from './image.js';\nexport { Inset, type InsetProps } from './inset.js';\nexport { Kbd, type KbdProps } from './kbd.js';\nexport { Link, type LinkProps } from './link.js';\nexport * as Popover from './popover.js';\nexport { Portal, type PortalProps } from './portal.js';\nexport { Progress, type ProgressProps } from './progress.js';\nexport { Quote, type QuoteProps } from './quote.js';\nexport * as RadioCards from './radio-cards.js';\nexport * as RadioGroup from './radio-group.js';\nexport { Radio, type RadioProps } from './radio.js';\nexport { Reset, type ResetProps } from './reset.js';\nexport { ScrollArea, type ScrollAreaProps } from './scroll-area.js';\nexport * as SegmentedControl from './segmented-control.js';\nexport { Section, type SectionProps } from './section.js';\nexport * as Select from './select.js';\nexport { Separator, type SeparatorProps } from './separator.js';\nexport { Skeleton, type SkeletonProps } from './skeleton.js';\nexport { Slider, type SliderProps } from './slider.js';\nexport { Slot, Slottable } from './slot.js';\nexport { Spinner, type SpinnerProps } from './spinner.js';\nexport { Strong, type StrongProps } from './strong.js';\nexport { Switch, type SwitchProps } from './switch.js';\nexport * as TabNav from './tab-nav.js';\nexport * as Table from './table.js';\nexport * as Tabs from './tabs.js';\nexport { TextArea, type TextAreaProps } from './text-area.js';\nexport * as TextField from './text-field.js';\nexport { Text, type TextProps } from './text.js';\nexport { ThemePanel, type ThemePanelProps } from './theme-panel.js';\nexport { Theme, ThemeContext, type ThemeProps, useThemeContext } from './theme.js';\nexport { ToggleButton, type ToggleButtonProps } from './toggle-button.js';\nexport { ToggleIconButton, type ToggleIconButtonProps } from './toggle-icon-button.js';\nexport { Tooltip, type TooltipProps } from './tooltip.js';\nexport { VisuallyHidden, type VisuallyHiddenProps } from './visually-hidden.js';\n"],
5
+ "mappings": "AAAA,OAAS,kBAAAA,MAAgD,uBACzD,UAAYC,MAAiB,oBAC7B,OAAS,eAAAC,MAA0C,oBACnD,OAAS,UAAAC,MAAgC,cACzC,OAAS,SAAAC,MAA8B,aACvC,OAAS,cAAAC,MAAwC,kBACjD,OAAS,OAAAC,MAA0B,WACnC,OAAS,UAAAC,MAAgC,cACzC,UAAYC,MAAa,eACzB,OAAS,QAAAC,MAA4B,YACrC,UAAYC,MAAmB,sBAC/B,UAAYC,MAAmB,sBAC/B,OAAS,YAAAC,MAAoC,gBAC7C,OAAS,QAAAC,MAA4B,YACrC,OAAS,aAAAC,MAAsC,iBAC/C,UAAYC,MAAiB,oBAC7B,UAAYC,MAAc,iBAC1B,UAAYC,MAAY,cACxB,UAAYC,MAAkB,qBAC9B,OAAS,MAAAC,MAAwB,UACjC,OAAS,QAAAC,MAA4B,YACrC,OAAS,QAAAC,MAA4B,YACrC,OAAS,WAAAC,MAAkC,eAC3C,UAAYC,MAAe,kBAC3B,OAAS,cAAAC,MAAwC,mBACjD,OAEE,mBAAAC,EACA,kBAAAC,EACA,yBAAAC,EACA,8BAAAC,MACK,aACP,OAAS,SAAAC,MAA8B,aACvC,OAAS,SAAAC,MAA8B,aACvC,OAAS,OAAAC,MAA0B,WACnC,OAAS,QAAAC,OAA4B,YACrC,UAAYC,OAAa,eACzB,OAAS,UAAAC,OAAgC,cACzC,OAAS,YAAAC,OAAoC,gBAC7C,OAAS,SAAAC,OAA8B,aACvC,UAAYC,OAAgB,mBAC5B,UAAYC,OAAgB,mBAC5B,OAAS,SAAAC,OAA8B,aACvC,OAAS,SAAAC,OAA8B,aACvC,OAAS,cAAAC,OAAwC,mBACjD,UAAYC,OAAsB,yBAClC,OAAS,WAAAC,OAAkC,eAC3C,UAAYC,OAAY,cACxB,OAAS,aAAAC,OAAsC,iBAC/C,OAAS,YAAAC,OAAoC,gBAC7C,OAAS,UAAAC,OAAgC,cACzC,OAAS,QAAAC,GAAM,aAAAC,OAAiB,YAChC,OAAS,WAAAC,OAAkC,eAC3C,OAAS,UAAAC,OAAgC,cACzC,OAAS,UAAAC,OAAgC,cACzC,UAAYC,OAAY,eACxB,UAAYC,OAAW,aACvB,UAAYC,OAAU,YACtB,OAAS,YAAAC,OAAoC,iBAC7C,UAAYC,OAAe,kBAC3B,OAAS,QAAAC,OAA4B,YACrC,OAAS,cAAAC,OAAwC,mBACjD,OAAS,SAAAC,GAAO,gBAAAC,GAA+B,mBAAAC,OAAuB,aACtE,OAAS,gBAAAC,OAA4C,qBACrD,OAAS,oBAAAC,OAAoD,0BAC7D,OAAS,WAAAC,OAAkC,eAC3C,OAAS,kBAAAC,OAAgD",
6
+ "names": ["AccessibleIcon", "AlertDialog", "AspectRatio", "Avatar", "Badge", "Blockquote", "Box", "Button", "Callout", "Card", "CheckboxCards", "CheckboxGroup", "Checkbox", "Code", "Container", "ContextMenu", "DataList", "Dialog", "DropdownMenu", "Em", "Flex", "Grid", "Heading", "HoverCard", "IconButton", "ChevronDownIcon", "ThickCheckIcon", "ThickChevronRightIcon", "ThickDividerHorizontalIcon", "Image", "Inset", "Kbd", "Link", "Popover", "Portal", "Progress", "Quote", "RadioCards", "RadioGroup", "Radio", "Reset", "ScrollArea", "SegmentedControl", "Section", "Select", "Separator", "Skeleton", "Slider", "Slot", "Slottable", "Spinner", "Strong", "Switch", "TabNav", "Table", "Tabs", "TextArea", "TextField", "Text", "ThemePanel", "Theme", "ThemeContext", "useThemeContext", "ToggleButton", "ToggleIconButton", "Tooltip", "VisuallyHidden"]
7
7
  }
@@ -9,6 +9,7 @@ export * from './leading-trim.prop.js';
9
9
  export * from './margin.props.js';
10
10
  export * from './padding.props.js';
11
11
  export * from './radius.prop.js';
12
+ export * from './shadow.props.js';
12
13
  export * from './text-align.prop.js';
13
14
  export * from './text-wrap.prop.js';
14
15
  export * from './truncate.prop.js';
@@ -37,6 +38,7 @@ export * from '../components/grid.props.js';
37
38
  export * from '../components/heading.props.js';
38
39
  export * from '../components/hover-card.props.js';
39
40
  export * from '../components/icon-button.props.js';
41
+ export * from '../components/image.props.js';
40
42
  export * from '../components/inset.props.js';
41
43
  export * from '../components/kbd.props.js';
42
44
  export * from '../components/link.props.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/props/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAC;AAG9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0CAA0C,CAAC;AACzD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/props/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAC;AAG9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0CAA0C,CAAC;AACzD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC"}
@@ -1,2 +1,2 @@
1
- export*from"./prop-def.js";export*from"./as-child.prop.js";export*from"./color.prop.js";export*from"./gap.props.js";export*from"./height.props.js";export*from"./high-contrast.prop.js";export*from"./layout.props.js";export*from"./leading-trim.prop.js";export*from"./margin.props.js";export*from"./padding.props.js";export*from"./radius.prop.js";export*from"./text-align.prop.js";export*from"./text-wrap.prop.js";export*from"./truncate.prop.js";export*from"./weight.prop.js";export*from"./width.props.js";export*from"../components/alert-dialog.props.js";export*from"../components/avatar.props.js";export*from"../components/badge.props.js";export*from"../components/blockquote.props.js";export*from"../components/box.props.js";export*from"../components/button.props.js";export*from"../components/callout.props.js";export*from"../components/card.props.js";export*from"../components/checkbox-cards.props.js";export*from"../components/checkbox-group.props.js";export*from"../components/checkbox.props.js";export*from"../components/code.props.js";export*from"../components/container.props.js";export*from"../components/context-menu.props.js";export*from"../components/data-list.props.js";export*from"../components/dialog.props.js";export*from"../components/dropdown-menu.props.js";export*from"../components/em.props.js";export*from"../components/flex.props.js";export*from"../components/grid.props.js";export*from"../components/heading.props.js";export*from"../components/hover-card.props.js";export*from"../components/icon-button.props.js";export*from"../components/inset.props.js";export*from"../components/kbd.props.js";export*from"../components/link.props.js";export*from"../components/popover.props.js";export*from"../components/progress.props.js";export*from"../components/quote.props.js";export*from"../components/radio.props.js";export*from"../components/radio-cards.props.js";export*from"../components/radio-group.props.js";export*from"../components/scroll-area.props.js";export*from"../components/section.props.js";export*from"../components/segmented-control.props.js";export*from"../components/select.props.js";export*from"../components/separator.props.js";export*from"../components/skeleton.props.js";export*from"../components/slider.props.js";export*from"../components/spinner.props.js";export*from"../components/strong.props.js";export*from"../components/switch.props.js";export*from"../components/tab-nav.props.js";export*from"../components/table.props.js";export*from"../components/tabs.props.js";export*from"../components/text-area.props.js";export*from"../components/text-field.props.js";export*from"../components/text.props.js";export*from"../components/theme.props.js";export*from"../components/tooltip.props.js";
1
+ export*from"./prop-def.js";export*from"./as-child.prop.js";export*from"./color.prop.js";export*from"./gap.props.js";export*from"./height.props.js";export*from"./high-contrast.prop.js";export*from"./layout.props.js";export*from"./leading-trim.prop.js";export*from"./margin.props.js";export*from"./padding.props.js";export*from"./radius.prop.js";export*from"./shadow.props.js";export*from"./text-align.prop.js";export*from"./text-wrap.prop.js";export*from"./truncate.prop.js";export*from"./weight.prop.js";export*from"./width.props.js";export*from"../components/alert-dialog.props.js";export*from"../components/avatar.props.js";export*from"../components/badge.props.js";export*from"../components/blockquote.props.js";export*from"../components/box.props.js";export*from"../components/button.props.js";export*from"../components/callout.props.js";export*from"../components/card.props.js";export*from"../components/checkbox-cards.props.js";export*from"../components/checkbox-group.props.js";export*from"../components/checkbox.props.js";export*from"../components/code.props.js";export*from"../components/container.props.js";export*from"../components/context-menu.props.js";export*from"../components/data-list.props.js";export*from"../components/dialog.props.js";export*from"../components/dropdown-menu.props.js";export*from"../components/em.props.js";export*from"../components/flex.props.js";export*from"../components/grid.props.js";export*from"../components/heading.props.js";export*from"../components/hover-card.props.js";export*from"../components/icon-button.props.js";export*from"../components/image.props.js";export*from"../components/inset.props.js";export*from"../components/kbd.props.js";export*from"../components/link.props.js";export*from"../components/popover.props.js";export*from"../components/progress.props.js";export*from"../components/quote.props.js";export*from"../components/radio.props.js";export*from"../components/radio-cards.props.js";export*from"../components/radio-group.props.js";export*from"../components/scroll-area.props.js";export*from"../components/section.props.js";export*from"../components/segmented-control.props.js";export*from"../components/select.props.js";export*from"../components/separator.props.js";export*from"../components/skeleton.props.js";export*from"../components/slider.props.js";export*from"../components/spinner.props.js";export*from"../components/strong.props.js";export*from"../components/switch.props.js";export*from"../components/tab-nav.props.js";export*from"../components/table.props.js";export*from"../components/tabs.props.js";export*from"../components/text-area.props.js";export*from"../components/text-field.props.js";export*from"../components/text.props.js";export*from"../components/theme.props.js";export*from"../components/tooltip.props.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/props/index.ts"],
4
- "sourcesContent": ["// Prop definition\nexport * from './prop-def.js';\n\n// Individual props\nexport * from './as-child.prop.js';\nexport * from './color.prop.js';\nexport * from './gap.props.js';\nexport * from './height.props.js';\nexport * from './high-contrast.prop.js';\nexport * from './layout.props.js';\nexport * from './leading-trim.prop.js';\nexport * from './margin.props.js';\nexport * from './padding.props.js';\nexport * from './radius.prop.js';\nexport * from './text-align.prop.js';\nexport * from './text-wrap.prop.js';\nexport * from './truncate.prop.js';\nexport * from './weight.prop.js';\nexport * from './width.props.js';\n\n// Component props\nexport * from '../components/alert-dialog.props.js';\nexport * from '../components/avatar.props.js';\nexport * from '../components/badge.props.js';\nexport * from '../components/blockquote.props.js';\nexport * from '../components/box.props.js';\nexport * from '../components/button.props.js';\nexport * from '../components/callout.props.js';\nexport * from '../components/card.props.js';\nexport * from '../components/checkbox-cards.props.js';\nexport * from '../components/checkbox-group.props.js';\nexport * from '../components/checkbox.props.js';\nexport * from '../components/code.props.js';\nexport * from '../components/container.props.js';\nexport * from '../components/context-menu.props.js';\nexport * from '../components/data-list.props.js';\nexport * from '../components/dialog.props.js';\nexport * from '../components/dropdown-menu.props.js';\nexport * from '../components/em.props.js';\nexport * from '../components/flex.props.js';\nexport * from '../components/grid.props.js';\nexport * from '../components/heading.props.js';\nexport * from '../components/hover-card.props.js';\nexport * from '../components/icon-button.props.js';\nexport * from '../components/inset.props.js';\nexport * from '../components/kbd.props.js';\nexport * from '../components/link.props.js';\nexport * from '../components/popover.props.js';\nexport * from '../components/progress.props.js';\nexport * from '../components/quote.props.js';\nexport * from '../components/radio.props.js';\nexport * from '../components/radio-cards.props.js';\nexport * from '../components/radio-group.props.js';\nexport * from '../components/scroll-area.props.js';\nexport * from '../components/section.props.js';\nexport * from '../components/segmented-control.props.js';\nexport * from '../components/select.props.js';\nexport * from '../components/separator.props.js';\nexport * from '../components/skeleton.props.js';\nexport * from '../components/slider.props.js';\nexport * from '../components/spinner.props.js';\nexport * from '../components/strong.props.js';\nexport * from '../components/switch.props.js';\nexport * from '../components/tab-nav.props.js';\nexport * from '../components/table.props.js';\nexport * from '../components/tabs.props.js';\nexport * from '../components/text-area.props.js';\nexport * from '../components/text-field.props.js';\nexport * from '../components/text.props.js';\nexport * from '../components/theme.props.js';\nexport * from '../components/tooltip.props.js';\n"],
5
- "mappings": "AACA,WAAc,gBAGd,WAAc,qBACd,WAAc,kBACd,WAAc,iBACd,WAAc,oBACd,WAAc,0BACd,WAAc,oBACd,WAAc,yBACd,WAAc,oBACd,WAAc,qBACd,WAAc,mBACd,WAAc,uBACd,WAAc,sBACd,WAAc,qBACd,WAAc,mBACd,WAAc,mBAGd,WAAc,sCACd,WAAc,gCACd,WAAc,+BACd,WAAc,oCACd,WAAc,6BACd,WAAc,gCACd,WAAc,iCACd,WAAc,8BACd,WAAc,wCACd,WAAc,wCACd,WAAc,kCACd,WAAc,8BACd,WAAc,mCACd,WAAc,sCACd,WAAc,mCACd,WAAc,gCACd,WAAc,uCACd,WAAc,4BACd,WAAc,8BACd,WAAc,8BACd,WAAc,iCACd,WAAc,oCACd,WAAc,qCACd,WAAc,+BACd,WAAc,6BACd,WAAc,8BACd,WAAc,iCACd,WAAc,kCACd,WAAc,+BACd,WAAc,+BACd,WAAc,qCACd,WAAc,qCACd,WAAc,qCACd,WAAc,iCACd,WAAc,2CACd,WAAc,gCACd,WAAc,mCACd,WAAc,kCACd,WAAc,gCACd,WAAc,iCACd,WAAc,gCACd,WAAc,gCACd,WAAc,iCACd,WAAc,+BACd,WAAc,8BACd,WAAc,mCACd,WAAc,oCACd,WAAc,8BACd,WAAc,+BACd,WAAc",
4
+ "sourcesContent": ["// Prop definition\nexport * from './prop-def.js';\n\n// Individual props\nexport * from './as-child.prop.js';\nexport * from './color.prop.js';\nexport * from './gap.props.js';\nexport * from './height.props.js';\nexport * from './high-contrast.prop.js';\nexport * from './layout.props.js';\nexport * from './leading-trim.prop.js';\nexport * from './margin.props.js';\nexport * from './padding.props.js';\nexport * from './radius.prop.js';\nexport * from './shadow.props.js';\nexport * from './text-align.prop.js';\nexport * from './text-wrap.prop.js';\nexport * from './truncate.prop.js';\nexport * from './weight.prop.js';\nexport * from './width.props.js';\n\n// Component props\nexport * from '../components/alert-dialog.props.js';\nexport * from '../components/avatar.props.js';\nexport * from '../components/badge.props.js';\nexport * from '../components/blockquote.props.js';\nexport * from '../components/box.props.js';\nexport * from '../components/button.props.js';\nexport * from '../components/callout.props.js';\nexport * from '../components/card.props.js';\nexport * from '../components/checkbox-cards.props.js';\nexport * from '../components/checkbox-group.props.js';\nexport * from '../components/checkbox.props.js';\nexport * from '../components/code.props.js';\nexport * from '../components/container.props.js';\nexport * from '../components/context-menu.props.js';\nexport * from '../components/data-list.props.js';\nexport * from '../components/dialog.props.js';\nexport * from '../components/dropdown-menu.props.js';\nexport * from '../components/em.props.js';\nexport * from '../components/flex.props.js';\nexport * from '../components/grid.props.js';\nexport * from '../components/heading.props.js';\nexport * from '../components/hover-card.props.js';\nexport * from '../components/icon-button.props.js';\nexport * from '../components/image.props.js';\nexport * from '../components/inset.props.js';\nexport * from '../components/kbd.props.js';\nexport * from '../components/link.props.js';\nexport * from '../components/popover.props.js';\nexport * from '../components/progress.props.js';\nexport * from '../components/quote.props.js';\nexport * from '../components/radio.props.js';\nexport * from '../components/radio-cards.props.js';\nexport * from '../components/radio-group.props.js';\nexport * from '../components/scroll-area.props.js';\nexport * from '../components/section.props.js';\nexport * from '../components/segmented-control.props.js';\nexport * from '../components/select.props.js';\nexport * from '../components/separator.props.js';\nexport * from '../components/skeleton.props.js';\nexport * from '../components/slider.props.js';\nexport * from '../components/spinner.props.js';\nexport * from '../components/strong.props.js';\nexport * from '../components/switch.props.js';\nexport * from '../components/tab-nav.props.js';\nexport * from '../components/table.props.js';\nexport * from '../components/tabs.props.js';\nexport * from '../components/text-area.props.js';\nexport * from '../components/text-field.props.js';\nexport * from '../components/text.props.js';\nexport * from '../components/theme.props.js';\nexport * from '../components/tooltip.props.js';\n"],
5
+ "mappings": "AACA,WAAc,gBAGd,WAAc,qBACd,WAAc,kBACd,WAAc,iBACd,WAAc,oBACd,WAAc,0BACd,WAAc,oBACd,WAAc,yBACd,WAAc,oBACd,WAAc,qBACd,WAAc,mBACd,WAAc,oBACd,WAAc,uBACd,WAAc,sBACd,WAAc,qBACd,WAAc,mBACd,WAAc,mBAGd,WAAc,sCACd,WAAc,gCACd,WAAc,+BACd,WAAc,oCACd,WAAc,6BACd,WAAc,gCACd,WAAc,iCACd,WAAc,8BACd,WAAc,wCACd,WAAc,wCACd,WAAc,kCACd,WAAc,8BACd,WAAc,mCACd,WAAc,sCACd,WAAc,mCACd,WAAc,gCACd,WAAc,uCACd,WAAc,4BACd,WAAc,8BACd,WAAc,8BACd,WAAc,iCACd,WAAc,oCACd,WAAc,qCACd,WAAc,+BACd,WAAc,+BACd,WAAc,6BACd,WAAc,8BACd,WAAc,iCACd,WAAc,kCACd,WAAc,+BACd,WAAc,+BACd,WAAc,qCACd,WAAc,qCACd,WAAc,qCACd,WAAc,iCACd,WAAc,2CACd,WAAc,gCACd,WAAc,mCACd,WAAc,kCACd,WAAc,gCACd,WAAc,iCACd,WAAc,gCACd,WAAc,gCACd,WAAc,iCACd,WAAc,+BACd,WAAc,8BACd,WAAc,mCACd,WAAc,oCACd,WAAc,8BACd,WAAc,+BACd,WAAc",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,24 @@
1
+ import type { GetPropDefTypes } from './prop-def.js';
2
+ declare const shadowPropDefs: {
3
+ /**
4
+ * Sets the CSS **box-shadow** property using design system shadow tokens.
5
+ * Supports shadow scale values and responsive objects.
6
+ *
7
+ * @example
8
+ * shadow="3"
9
+ * shadow={{ sm: '2', lg: '4' }}
10
+ *
11
+ * @link
12
+ * https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow
13
+ */
14
+ shadow: {
15
+ type: "enum";
16
+ className: string;
17
+ values: readonly ["1", "2", "3", "4", "5", "6"];
18
+ responsive: true;
19
+ };
20
+ };
21
+ type ShadowProps = GetPropDefTypes<typeof shadowPropDefs>;
22
+ export { shadowPropDefs };
23
+ export type { ShadowProps };
24
+ //# sourceMappingURL=shadow.props.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow.props.d.ts","sourceRoot":"","sources":["../../../src/props/shadow.props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,eAAe,EAAE,MAAM,eAAe,CAAC;AAI9D,QAAA,MAAM,cAAc;IAClB;;;;;;;;;;OAUG;;;;;;;CASJ,CAAC;AAEF,KAAK,WAAW,GAAG,eAAe,CAAC,OAAO,cAAc,CAAC,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,YAAY,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ const e=["1","2","3","4","5","6"],o={shadow:{type:"enum",className:"rt-r-shadow",values:e,responsive:!0}};export{o as shadowPropDefs};
2
+ //# sourceMappingURL=shadow.props.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/props/shadow.props.ts"],
4
+ "sourcesContent": ["import type { PropDef, GetPropDefTypes } from './prop-def.js';\n\nconst shadowValues = ['1', '2', '3', '4', '5', '6'] as const;\n\nconst shadowPropDefs = {\n /**\n * Sets the CSS **box-shadow** property using design system shadow tokens.\n * Supports shadow scale values and responsive objects.\n *\n * @example\n * shadow=\"3\"\n * shadow={{ sm: '2', lg: '4' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow\n */\n shadow: {\n type: 'enum',\n className: 'rt-r-shadow',\n values: shadowValues,\n responsive: true,\n },\n} satisfies {\n shadow: PropDef<(typeof shadowValues)[number]>;\n};\n\ntype ShadowProps = GetPropDefTypes<typeof shadowPropDefs>;\n\nexport { shadowPropDefs };\nexport type { ShadowProps };\n"],
5
+ "mappings": "AAEA,MAAMA,EAAe,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAE5CC,EAAiB,CAYrB,OAAQ,CACN,KAAM,OACN,UAAW,cACX,OAAQD,EACR,WAAY,EACd,CACF",
6
+ "names": ["shadowValues", "shadowPropDefs"]
7
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kushagradhawan/kookie-ui",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "A modern React component library with beautiful design tokens and flexible theming",
5
5
  "keywords": [
6
6
  "react",
@@ -0,0 +1,140 @@
1
+ /* stylelint-disable selector-max-type */
2
+ /* Disable selector-max-type rule to target `button` and `a` tags. */
3
+ /* Make sure these tags are wrapped in `:where()` for 0 specificity. */
4
+
5
+ .rt-Image {
6
+ display: block;
7
+ object-fit: var(--object-fit);
8
+ box-shadow: var(--box-shadow);
9
+ border-radius: max(var(--radius-4), var(--radius-full));
10
+ transition: var(--transition-button);
11
+ }
12
+
13
+ /* Interactive states - follows Card pattern */
14
+ .rt-Image:where(:any-link, button, label) {
15
+ cursor: pointer;
16
+
17
+ @media (hover: hover) {
18
+ &:where(:hover) {
19
+ transform: scale(1.02);
20
+ box-shadow:
21
+ var(--box-shadow, var(--shadow-2)),
22
+ 0 0 0 1px var(--gray-a4);
23
+ }
24
+ }
25
+
26
+ &:where(:focus-visible) {
27
+ outline: 2px solid var(--focus-8);
28
+ outline-offset: 2px;
29
+ }
30
+
31
+ &:where(:active) {
32
+ transform: scale(0.98);
33
+ }
34
+ }
35
+
36
+ /* Blur variant wrapper */
37
+ .rt-variant-blur {
38
+ position: relative;
39
+ display: inline-block;
40
+ }
41
+
42
+ /* Interactive states for blur variant - follows Card pattern */
43
+ .rt-variant-blur:where(:any-link, button, label) {
44
+ cursor: pointer;
45
+ transition: var(--transition-button);
46
+
47
+ @media (hover: hover) {
48
+ &:where(:hover) {
49
+ transform: scale(1.02);
50
+ }
51
+ }
52
+
53
+ &:where(:focus-visible) {
54
+ outline: 2px solid var(--focus-8);
55
+ outline-offset: 2px;
56
+ }
57
+
58
+ &:where(:active) {
59
+ transform: scale(0.98);
60
+ }
61
+ }
62
+
63
+ /* Disable individual image interactions when inside blur variant */
64
+ /* stylelint-disable-next-line selector-max-specificity */
65
+ .rt-variant-blur:where(:any-link, button, label) .rt-Image {
66
+ cursor: inherit;
67
+ transform: none !important;
68
+ outline: none !important;
69
+ box-shadow: var(--box-shadow) !important;
70
+ }
71
+
72
+ /* Blur background image */
73
+ .rt-Image--blur-bg {
74
+ position: absolute;
75
+ top: var(--blur-offset-y, 8px);
76
+ left: var(--blur-offset-x, 0);
77
+ filter: var(--blur-filter);
78
+ opacity: var(--blur-opacity);
79
+ z-index: -1;
80
+ }
81
+
82
+ /* Blur variant CSS variables */
83
+ .rt-variant-blur {
84
+ --blur-filter: blur(16px) saturate(1.5);
85
+ --blur-opacity: 0.5;
86
+ --blur-offset-y: 8px;
87
+ --blur-offset-x: 0;
88
+ }
89
+
90
+ /* Image inside blur variant gets positioned */
91
+ .rt-Image--blur {
92
+ position: relative;
93
+ z-index: 1;
94
+ }
95
+
96
+ /* Object fit variants */
97
+ .rt-r-fit-cover {
98
+ --object-fit: cover;
99
+ }
100
+
101
+ .rt-r-fit-contain {
102
+ --object-fit: contain;
103
+ }
104
+
105
+ .rt-r-fit-fill {
106
+ --object-fit: fill;
107
+ }
108
+
109
+ .rt-r-fit-scale-down {
110
+ --object-fit: scale-down;
111
+ }
112
+
113
+ .rt-r-fit-none {
114
+ --object-fit: none;
115
+ }
116
+
117
+ /* Shadow variants */
118
+ .rt-r-shadow-1 {
119
+ --box-shadow: var(--shadow-1);
120
+ }
121
+
122
+ .rt-r-shadow-2 {
123
+ --box-shadow: var(--shadow-2);
124
+ }
125
+
126
+ .rt-r-shadow-3 {
127
+ --box-shadow: var(--shadow-3);
128
+ }
129
+
130
+ .rt-r-shadow-4 {
131
+ --box-shadow: var(--shadow-4);
132
+ }
133
+
134
+ .rt-r-shadow-5 {
135
+ --box-shadow: var(--shadow-5);
136
+ }
137
+
138
+ .rt-r-shadow-6 {
139
+ --box-shadow: var(--shadow-6);
140
+ }
@@ -0,0 +1,50 @@
1
+ import { asChildPropDef } from '../props/as-child.prop.js';
2
+ import { radiusPropDef } from '../props/radius.prop.js';
3
+ import { shadowPropDefs } from '../props/shadow.props.js';
4
+
5
+ import type { PropDef } from '../props/prop-def.js';
6
+
7
+ const objectFitValues = ['cover', 'contain', 'fill', 'scale-down', 'none'] as const;
8
+ const variants = ['surface', 'blur'] as const;
9
+
10
+ const imagePropDefs = {
11
+ ...asChildPropDef,
12
+ /**
13
+ * Sets the CSS **object-fit** property.
14
+ * Controls how the image should be resized to fit its container.
15
+ *
16
+ * @example
17
+ * fit="cover"
18
+ * fit="contain"
19
+ *
20
+ * @link
21
+ * https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit
22
+ */
23
+ fit: {
24
+ type: 'enum',
25
+ className: 'rt-r-fit',
26
+ values: objectFitValues,
27
+ default: 'cover',
28
+ responsive: true,
29
+ },
30
+ /**
31
+ * Sets the visual variant of the image.
32
+ *
33
+ * @example
34
+ * variant="surface"
35
+ * variant="blur"
36
+ */
37
+ variant: {
38
+ type: 'enum',
39
+ className: 'rt-variant',
40
+ values: variants,
41
+ default: 'surface',
42
+ },
43
+ ...radiusPropDef,
44
+ ...shadowPropDefs,
45
+ } satisfies {
46
+ fit: PropDef<(typeof objectFitValues)[number]>;
47
+ variant: PropDef<(typeof variants)[number]>;
48
+ };
49
+
50
+ export { imagePropDefs };
@@ -0,0 +1,191 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ import classNames from 'classnames';
5
+
6
+ import { imagePropDefs } from './image.props.js';
7
+ import { extractProps } from '../helpers/extract-props.js';
8
+ import { marginPropDefs } from '../props/margin.props.js';
9
+ import { widthPropDefs } from '../props/width.props.js';
10
+ import { heightPropDefs } from '../props/height.props.js';
11
+
12
+ import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';
13
+ import type { MarginProps } from '../props/margin.props.js';
14
+ import type { WidthProps } from '../props/width.props.js';
15
+ import type { HeightProps } from '../props/height.props.js';
16
+ import type { GetPropDefTypes } from '../props/prop-def.js';
17
+
18
+ type ImageElement = React.ElementRef<'img'>;
19
+ type ImageOwnProps = GetPropDefTypes<typeof imagePropDefs> & {
20
+ loading?: 'eager' | 'lazy';
21
+ };
22
+
23
+ interface ImageProps
24
+ extends ComponentPropsWithout<'img', RemovedProps | 'color' | 'width' | 'height' | 'alt'>,
25
+ MarginProps,
26
+ WidthProps,
27
+ HeightProps,
28
+ ImageOwnProps {
29
+ /**
30
+ * The alt attribute provides alternative information for an image if a user for some reason cannot view it.
31
+ * Required for accessibility when not using asChild.
32
+ */
33
+ alt?: string;
34
+ }
35
+
36
+ const Image = React.forwardRef<ImageElement, ImageProps>((props, forwardedRef) => {
37
+ const { variant = 'surface', fit = 'cover', children } = props;
38
+ const {
39
+ asChild,
40
+ className,
41
+ radius,
42
+ style,
43
+ loading = 'lazy',
44
+ alt,
45
+ src,
46
+ children: _children, // Extract children to exclude from imgProps
47
+ ...imgProps
48
+ } = extractProps(props, imagePropDefs, marginPropDefs, widthPropDefs, heightPropDefs);
49
+
50
+ // Create the standard img element
51
+ const imgElement = (
52
+ <img
53
+ data-radius={radius}
54
+ loading={loading}
55
+ style={style}
56
+ className={classNames(
57
+ 'rt-reset',
58
+ 'rt-Image',
59
+ variant === 'blur' && 'rt-Image--blur',
60
+ className,
61
+ )}
62
+ alt={alt}
63
+ src={src}
64
+ {...imgProps}
65
+ ref={forwardedRef}
66
+ />
67
+ );
68
+
69
+ // Handle asChild - inject img into the child element
70
+ if (asChild && children) {
71
+ const child = React.Children.only(children) as React.ReactElement<any>;
72
+
73
+ if (variant === 'blur') {
74
+ // For blur variant with asChild
75
+ return React.cloneElement(child, {
76
+ className: classNames(child.props?.className, 'rt-variant-blur'),
77
+ style: {
78
+ position: 'relative',
79
+ display: 'inline-block',
80
+ textDecoration: 'none', // Reset link underlines
81
+ color: 'inherit', // Reset link colors
82
+ border: 'none', // Reset button borders
83
+ background: 'none', // Reset button backgrounds
84
+ padding: 0, // Reset button padding
85
+ font: 'inherit', // Reset button fonts
86
+ cursor: 'pointer', // Ensure interactive cursor
87
+ ...child.props?.style,
88
+ },
89
+ children: (
90
+ <>
91
+ {/* Background blurred image */}
92
+ <img
93
+ data-radius={radius}
94
+ loading={loading}
95
+ style={{
96
+ ...style,
97
+ position: 'absolute',
98
+ top: '8px',
99
+ left: '0',
100
+ }}
101
+ className={classNames(
102
+ 'rt-reset',
103
+ 'rt-Image',
104
+ 'rt-Image--blur',
105
+ 'rt-Image--blur-bg',
106
+ className,
107
+ )}
108
+ alt=""
109
+ src={src}
110
+ {...imgProps}
111
+ />
112
+ {/* Foreground image */}
113
+ <img
114
+ data-radius={radius}
115
+ loading={loading}
116
+ style={{ ...style, position: 'relative', zIndex: 1 }}
117
+ className={classNames('rt-reset', 'rt-Image', 'rt-Image--blur', className)}
118
+ alt={alt}
119
+ src={src}
120
+ {...imgProps}
121
+ ref={forwardedRef}
122
+ />
123
+ </>
124
+ ),
125
+ });
126
+ } else {
127
+ // For surface variant with asChild
128
+ return React.cloneElement(child, {
129
+ className: classNames(child.props?.className, 'rt-Image'),
130
+ style: {
131
+ textDecoration: 'none', // Reset link underlines
132
+ color: 'inherit', // Reset link colors
133
+ border: 'none', // Reset button borders
134
+ background: 'none', // Reset button backgrounds
135
+ padding: 0, // Reset button padding
136
+ font: 'inherit', // Reset button fonts
137
+ cursor: 'pointer', // Ensure interactive cursor
138
+ ...child.props?.style, // Allow user overrides
139
+ },
140
+ children: imgElement,
141
+ });
142
+ }
143
+ }
144
+
145
+ // Regular rendering without asChild
146
+ if (variant === 'blur') {
147
+ return (
148
+ <div className="rt-variant-blur" style={{ position: 'relative', display: 'inline-block' }}>
149
+ {/* Background blurred image */}
150
+ <img
151
+ data-radius={radius}
152
+ loading={loading}
153
+ style={{
154
+ ...style,
155
+ position: 'absolute',
156
+ top: '8px',
157
+ left: '0',
158
+ }}
159
+ className={classNames(
160
+ 'rt-reset',
161
+ 'rt-Image',
162
+ 'rt-Image--blur',
163
+ 'rt-Image--blur-bg',
164
+ className,
165
+ )}
166
+ alt=""
167
+ src={src}
168
+ {...imgProps}
169
+ />
170
+ {/* Foreground image */}
171
+ <img
172
+ data-radius={radius}
173
+ loading={loading}
174
+ style={{ ...style, position: 'relative', zIndex: 1 }}
175
+ className={classNames('rt-reset', 'rt-Image', 'rt-Image--blur', className)}
176
+ alt={alt}
177
+ src={src}
178
+ {...imgProps}
179
+ ref={forwardedRef}
180
+ />
181
+ </div>
182
+ );
183
+ }
184
+
185
+ return imgElement;
186
+ });
187
+
188
+ Image.displayName = 'Image';
189
+
190
+ export { Image };
191
+ export type { ImageProps };
@@ -27,6 +27,7 @@
27
27
  @import './heading.css';
28
28
  @import './hover-card.css';
29
29
  @import './icon-button.css';
30
+ @import './image.css';
30
31
  @import './inset.css';
31
32
  @import './kbd.css';
32
33
  @import './link.css';
@@ -30,6 +30,7 @@ export {
30
30
  ThickChevronRightIcon,
31
31
  ThickDividerHorizontalIcon,
32
32
  } from './icons.js';
33
+ export { Image, type ImageProps } from './image.js';
33
34
  export { Inset, type InsetProps } from './inset.js';
34
35
  export { Kbd, type KbdProps } from './kbd.js';
35
36
  export { Link, type LinkProps } from './link.js';