@okshaun/components 0.4.6 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/preset.js CHANGED
@@ -116,6 +116,28 @@ const keyframes$1 = {
116
116
  transform: "none",
117
117
  animationTimingFunction: "cubic-bezier(0,0,0.2,1)"
118
118
  }
119
+ },
120
+ badgePop: {
121
+ "0%": {
122
+ transform: "translate(50%, -50%) scale(1)"
123
+ },
124
+ "50%": {
125
+ transform: "translate(50%, -50%) scale(1.2)"
126
+ },
127
+ "100%": {
128
+ transform: "translate(50%, -50%) scale(1)"
129
+ }
130
+ },
131
+ badgePopStandalone: {
132
+ "0%": {
133
+ transform: "scale(1)"
134
+ },
135
+ "50%": {
136
+ transform: "scale(1.2)"
137
+ },
138
+ "100%": {
139
+ transform: "scale(1)"
140
+ }
119
141
  }
120
142
  };
121
143
  const easings = {
@@ -4478,6 +4500,7 @@ const conditions = {
4478
4500
  focusWithin: "&:focus-within",
4479
4501
  focusVisible: "&:is(:focus-visible, [data-focus-visible=true])",
4480
4502
  disabled: "&:is(:disabled, [disabled], [data-disabled], [aria-disabled=true])",
4503
+ deleted: "&:is(:deleted, [deleted], [data-deleted=true])",
4481
4504
  active: "&:is(:active, [data-active=true])",
4482
4505
  visited: "&:visited",
4483
4506
  target: "&:target",
@@ -4548,7 +4571,7 @@ const conditions = {
4548
4571
  open: '&:is([open], [data-open], [data-state="open"], :popover-open)',
4549
4572
  closed: '&:is([closed], [data-closed], [data-state="closed"])',
4550
4573
  fullscreen: "&:is(:fullscreen, [data-fullscreen])",
4551
- loading: "&:is([data-loading], [aria-busy=true])",
4574
+ loading: "&:is([data-loading=true], [aria-busy=true])",
4552
4575
  hidden: "&:is([hidden], [data-hidden])",
4553
4576
  current: "&:is([aria-current=true], [data-current])",
4554
4577
  currentPage: "&[aria-current=page]",
@@ -4667,78 +4690,6 @@ const globalCss = defineGlobalStyles({
4667
4690
  display: "list-item"
4668
4691
  }
4669
4692
  });
4670
- const badgeRecipe = defineRecipe({
4671
- className: "badge",
4672
- jsx: ["Badge"],
4673
- staticCss: [{ size: ["sm", "md", "lg"] }],
4674
- base: {
4675
- alignItems: "center",
4676
- borderRadius: "full",
4677
- colorPalette: "accent",
4678
- display: "inline-flex",
4679
- fontWeight: "medium",
4680
- userSelect: "none",
4681
- whiteSpace: "nowrap"
4682
- },
4683
- defaultVariants: {
4684
- variant: "subtle",
4685
- size: "md"
4686
- },
4687
- variants: {
4688
- variant: {
4689
- solid: {
4690
- background: "colorPalette.default",
4691
- color: "colorPalette.fg"
4692
- },
4693
- subtle: {
4694
- background: "bg.subtle",
4695
- borderColor: "border.subtle",
4696
- borderWidth: "1px",
4697
- color: "fg.default",
4698
- "& svg": {
4699
- color: "fg.muted"
4700
- }
4701
- },
4702
- outline: {
4703
- color: "fg.default",
4704
- borderWidth: "2px",
4705
- borderColor: "border.default"
4706
- }
4707
- },
4708
- size: {
4709
- sm: {
4710
- textStyle: "xs",
4711
- px: "2",
4712
- h: "5",
4713
- gap: "1",
4714
- "& svg": {
4715
- width: "3",
4716
- height: "3"
4717
- }
4718
- },
4719
- md: {
4720
- textStyle: "xs",
4721
- px: "2.5",
4722
- h: "6",
4723
- gap: "1.5",
4724
- "& svg": {
4725
- width: "4",
4726
- height: "4"
4727
- }
4728
- },
4729
- lg: {
4730
- textStyle: "sm",
4731
- px: "3",
4732
- h: "7",
4733
- gap: "1.5",
4734
- "& svg": {
4735
- width: "4",
4736
- height: "4"
4737
- }
4738
- }
4739
- }
4740
- }
4741
- });
4742
4693
  const textareaVariants = {
4743
4694
  size: {
4744
4695
  medium: {
@@ -5725,265 +5676,6 @@ const tagRecipe = defineRecipe({
5725
5676
  }
5726
5677
  ]
5727
5678
  });
5728
- const chipBase = {
5729
- display: "inline-flex",
5730
- alignItems: "center",
5731
- gap: "1",
5732
- px: "2",
5733
- py: "0",
5734
- borderRadius: "2",
5735
- fontFamily: "sans",
5736
- fontSize: "inherit",
5737
- lineHeight: "inherit",
5738
- fontWeight: "500",
5739
- whiteSpace: "nowrap",
5740
- verticalAlign: "baseline",
5741
- cursor: "pointer",
5742
- transitionProperty: "common",
5743
- transitionDuration: "fast",
5744
- userSelect: "none"
5745
- };
5746
- const chipRecipe = defineRecipe({
5747
- className: "chip",
5748
- jsx: ["Chip"],
5749
- base: chipBase,
5750
- variants: {
5751
- state: {
5752
- resolved: {},
5753
- placeholder: {
5754
- borderStyle: "dashed",
5755
- borderWidth: "1px"
5756
- },
5757
- loading: {
5758
- cursor: "wait",
5759
- animation: "pulse"
5760
- },
5761
- deleted: {
5762
- textDecoration: "line-through",
5763
- cursor: "not-allowed",
5764
- opacity: 0.5
5765
- }
5766
- },
5767
- hue: {
5768
- blue: {},
5769
- purple: {},
5770
- orange: {},
5771
- green: {},
5772
- gray: {}
5773
- },
5774
- hasIcon: {
5775
- true: { pl: "1" },
5776
- false: {}
5777
- }
5778
- },
5779
- defaultVariants: {
5780
- state: "resolved",
5781
- hue: "blue",
5782
- hasIcon: false
5783
- },
5784
- compoundVariants: [
5785
- // Blue hue (page)
5786
- {
5787
- hue: "blue",
5788
- state: "resolved",
5789
- css: {
5790
- color: { base: "blue.70", _dark: "blue.20" },
5791
- bg: { base: "blue.20", _dark: "blue.90" },
5792
- _hover: {
5793
- bg: { base: "blue.30", _dark: "blue.80" }
5794
- }
5795
- }
5796
- },
5797
- {
5798
- hue: "blue",
5799
- state: "placeholder",
5800
- css: {
5801
- color: { base: "blue.50", _dark: "blue.40" },
5802
- borderColor: { base: "blue.40", _dark: "blue.60" },
5803
- bg: "transparent",
5804
- _hover: {
5805
- bg: { base: "blue.10", _dark: "blue.90/50" }
5806
- }
5807
- }
5808
- },
5809
- {
5810
- hue: "blue",
5811
- state: "loading",
5812
- css: {
5813
- color: { base: "blue.50", _dark: "blue.40" },
5814
- bg: { base: "blue.10", _dark: "blue.90" }
5815
- }
5816
- },
5817
- {
5818
- hue: "blue",
5819
- state: "deleted",
5820
- css: {
5821
- color: { base: "blue.40", _dark: "blue.60" },
5822
- bg: { base: "blue.10", _dark: "blue.90" }
5823
- }
5824
- },
5825
- // Purple hue (daily_note)
5826
- {
5827
- hue: "purple",
5828
- state: "resolved",
5829
- css: {
5830
- color: { base: "purple.70", _dark: "purple.20" },
5831
- bg: { base: "purple.20", _dark: "purple.90" },
5832
- _hover: {
5833
- bg: { base: "purple.30", _dark: "purple.80" }
5834
- }
5835
- }
5836
- },
5837
- {
5838
- hue: "purple",
5839
- state: "placeholder",
5840
- css: {
5841
- color: { base: "purple.50", _dark: "purple.40" },
5842
- borderColor: { base: "purple.40", _dark: "purple.60" },
5843
- bg: "transparent",
5844
- _hover: {
5845
- bg: { base: "purple.10", _dark: "purple.90/50" }
5846
- }
5847
- }
5848
- },
5849
- {
5850
- hue: "purple",
5851
- state: "loading",
5852
- css: {
5853
- color: { base: "purple.50", _dark: "purple.40" },
5854
- bg: { base: "purple.10", _dark: "purple.90" }
5855
- }
5856
- },
5857
- {
5858
- hue: "purple",
5859
- state: "deleted",
5860
- css: {
5861
- color: { base: "purple.40", _dark: "purple.60" },
5862
- bg: { base: "purple.10", _dark: "purple.90" }
5863
- }
5864
- },
5865
- // Orange hue (event)
5866
- {
5867
- hue: "orange",
5868
- state: "resolved",
5869
- css: {
5870
- color: { base: "orange.70", _dark: "orange.20" },
5871
- bg: { base: "orange.20", _dark: "orange.100" },
5872
- _hover: {
5873
- bg: { base: "orange.30", _dark: "orange.90" }
5874
- }
5875
- }
5876
- },
5877
- {
5878
- hue: "orange",
5879
- state: "placeholder",
5880
- css: {
5881
- color: { base: "orange.50", _dark: "orange.40" },
5882
- borderColor: { base: "orange.40", _dark: "orange.60" },
5883
- bg: "transparent",
5884
- _hover: {
5885
- bg: { base: "orange.10", _dark: "orange.90/50" }
5886
- }
5887
- }
5888
- },
5889
- {
5890
- hue: "orange",
5891
- state: "loading",
5892
- css: {
5893
- color: { base: "orange.50", _dark: "orange.40" },
5894
- bg: { base: "orange.10", _dark: "orange.100" }
5895
- }
5896
- },
5897
- {
5898
- hue: "orange",
5899
- state: "deleted",
5900
- css: {
5901
- color: { base: "orange.40", _dark: "orange.60" },
5902
- bg: { base: "orange.10", _dark: "orange.100" }
5903
- }
5904
- },
5905
- // Green hue (person)
5906
- {
5907
- hue: "green",
5908
- state: "resolved",
5909
- css: {
5910
- color: { base: "green.70", _dark: "green.20" },
5911
- bg: { base: "green.20", _dark: "green.90" },
5912
- _hover: {
5913
- bg: { base: "green.30", _dark: "green.80" }
5914
- }
5915
- }
5916
- },
5917
- {
5918
- hue: "green",
5919
- state: "placeholder",
5920
- css: {
5921
- color: { base: "green.50", _dark: "green.40" },
5922
- borderColor: { base: "green.40", _dark: "green.60" },
5923
- bg: "transparent",
5924
- _hover: {
5925
- bg: { base: "green.10", _dark: "green.90/50" }
5926
- }
5927
- }
5928
- },
5929
- {
5930
- hue: "green",
5931
- state: "loading",
5932
- css: {
5933
- color: { base: "green.50", _dark: "green.40" },
5934
- bg: { base: "green.10", _dark: "green.90" }
5935
- }
5936
- },
5937
- {
5938
- hue: "green",
5939
- state: "deleted",
5940
- css: {
5941
- color: { base: "green.40", _dark: "green.60" },
5942
- bg: { base: "green.10", _dark: "green.90" }
5943
- }
5944
- },
5945
- // Gray hue (default/fallback)
5946
- {
5947
- hue: "gray",
5948
- state: "resolved",
5949
- css: {
5950
- color: "text.subtle",
5951
- bg: "bg.neutral",
5952
- _hover: {
5953
- bg: "bg.neutral.hovered"
5954
- }
5955
- }
5956
- },
5957
- {
5958
- hue: "gray",
5959
- state: "placeholder",
5960
- css: {
5961
- color: "text.subtlest",
5962
- borderColor: "border.default",
5963
- bg: "transparent",
5964
- _hover: {
5965
- bg: "bg.neutral"
5966
- }
5967
- }
5968
- },
5969
- {
5970
- hue: "gray",
5971
- state: "loading",
5972
- css: {
5973
- color: "text.subtlest",
5974
- bg: "bg.neutral"
5975
- }
5976
- },
5977
- {
5978
- hue: "gray",
5979
- state: "deleted",
5980
- css: {
5981
- color: "text.disabled",
5982
- bg: "bg.neutral"
5983
- }
5984
- }
5985
- ]
5986
- });
5987
5679
  const themeSwitcherRecipe = defineRecipe({
5988
5680
  className: "themeSwitcher",
5989
5681
  jsx: ["ThemeSwitcher"],
@@ -6038,6 +5730,8 @@ const baseButtonStyles = {
6038
5730
  alignItems: "center",
6039
5731
  gap: 4,
6040
5732
  minWidth: 0,
5733
+ width: "fit",
5734
+ height: "fit",
6041
5735
  transitionDuration: "fast",
6042
5736
  transitionProperty: "background, border-color, color, box-shadow",
6043
5737
  transitionTimingFunction: "default",
@@ -6054,12 +5748,10 @@ const baseButtonStyles = {
6054
5748
  outlineWidth: 2,
6055
5749
  outlineStyle: "solid",
6056
5750
  outlineColor: "transparent",
6057
- // outlineOffset: 1,
6058
5751
  textDecoration: "none",
6059
5752
  whiteSpace: "nowrap",
6060
5753
  cursor: "pointer",
6061
5754
  _focusVisible: {
6062
- // borderColor: 'border.focused',
6063
5755
  outlineColor: "border.focused"
6064
5756
  },
6065
5757
  _disabled: {
@@ -6990,16 +6682,598 @@ const menuRecipe$1 = defineSlotRecipe({
6990
6682
  indicatorPosition: "left"
6991
6683
  }
6992
6684
  });
6685
+ const chipBase = {
6686
+ container: {
6687
+ position: "relative",
6688
+ display: "inline-flex",
6689
+ alignItems: "center",
6690
+ width: "fit",
6691
+ borderRadius: "full",
6692
+ fontFamily: "sans",
6693
+ lineHeight: "default",
6694
+ fontWeight: "medium",
6695
+ whiteSpace: "nowrap",
6696
+ verticalAlign: "middle",
6697
+ cursor: "pointer",
6698
+ transitionDuration: "fast",
6699
+ transitionProperty: "background, border-color, color, box-shadow",
6700
+ transitionTimingFunction: "default",
6701
+ userSelect: "none",
6702
+ outlineWidth: 2,
6703
+ outlineStyle: "solid",
6704
+ outlineColor: "transparent",
6705
+ bg: "bg.neutral",
6706
+ color: "text",
6707
+ icon: { fill: "icon.decorative" },
6708
+ _hover: {
6709
+ bg: "bg.neutral.hovered",
6710
+ icon: { fill: "icon.decorative.hovered" }
6711
+ },
6712
+ _active: {
6713
+ bg: "bg.neutral.pressed",
6714
+ icon: { fill: "icon.decorative.hovered" }
6715
+ },
6716
+ _focusVisible: {
6717
+ outlineColor: "border.focused"
6718
+ },
6719
+ _loading: {
6720
+ cursor: "wait",
6721
+ animation: "pulse"
6722
+ },
6723
+ _deleted: {
6724
+ textDecoration: "line-through",
6725
+ cursor: "not-allowed",
6726
+ opacity: 0.6
6727
+ },
6728
+ _disabled: {
6729
+ cursor: "not-allowed",
6730
+ bg: "bg.disabled",
6731
+ color: "text.disabled",
6732
+ borderColor: "border.disabled",
6733
+ icon: { fill: "icon.disabled" },
6734
+ _hover: {
6735
+ bg: "bg.disabled",
6736
+ color: "text.disabled",
6737
+ borderColor: "border.disabled",
6738
+ icon: { fill: "icon.disabled" }
6739
+ }
6740
+ },
6741
+ _selected: {
6742
+ bg: "bg.brand.boldest",
6743
+ color: "text.inverse",
6744
+ icon: { fill: "icon.decorative.inverse" },
6745
+ _hover: {
6746
+ bg: "bg.brand.boldest.hovered",
6747
+ icon: { fill: "icon.inverse" }
6748
+ },
6749
+ _active: {
6750
+ bg: "bg.brand.boldest.pressed",
6751
+ icon: { fill: "icon.inverse" }
6752
+ }
6753
+ }
6754
+ },
6755
+ icon: {
6756
+ aspectRatio: "square",
6757
+ transitionDuration: "fast",
6758
+ transitionProperty: "fill",
6759
+ transitionTimingFunction: "default"
6760
+ }
6761
+ };
6762
+ const chipRecipe$1 = defineSlotRecipe({
6763
+ className: "chip",
6764
+ jsx: ["Chip"],
6765
+ slots: ["container", "icon"],
6766
+ base: chipBase,
6767
+ variants: {
6768
+ size: {
6769
+ default: {
6770
+ container: {
6771
+ gap: "4",
6772
+ h: "24",
6773
+ px: "8",
6774
+ py: "1",
6775
+ fontSize: "14"
6776
+ },
6777
+ icon: {
6778
+ w: "20",
6779
+ h: "20"
6780
+ }
6781
+ },
6782
+ small: {
6783
+ container: {
6784
+ gap: "2",
6785
+ h: "20",
6786
+ px: "6",
6787
+ py: "0",
6788
+ fontSize: "14"
6789
+ },
6790
+ icon: {
6791
+ w: "20",
6792
+ h: "20"
6793
+ }
6794
+ },
6795
+ large: {
6796
+ container: {
6797
+ gap: "4",
6798
+ h: "32",
6799
+ px: "10",
6800
+ py: "4",
6801
+ fontSize: "16"
6802
+ },
6803
+ icon: {
6804
+ w: "24",
6805
+ h: "24"
6806
+ }
6807
+ }
6808
+ },
6809
+ before: {
6810
+ true: { container: {} }
6811
+ },
6812
+ after: {
6813
+ true: { container: {} }
6814
+ }
6815
+ },
6816
+ compoundVariants: [
6817
+ {
6818
+ size: "default",
6819
+ before: true,
6820
+ css: {
6821
+ container: { ps: "2" }
6822
+ }
6823
+ },
6824
+ {
6825
+ size: "default",
6826
+ after: true,
6827
+ css: {
6828
+ container: { pe: "2" }
6829
+ }
6830
+ },
6831
+ {
6832
+ size: "small",
6833
+ before: true,
6834
+ css: {
6835
+ container: { ps: "2" }
6836
+ }
6837
+ },
6838
+ {
6839
+ size: "small",
6840
+ after: true,
6841
+ css: {
6842
+ container: { pe: "2" }
6843
+ }
6844
+ },
6845
+ {
6846
+ size: "large",
6847
+ before: true,
6848
+ css: {
6849
+ container: { ps: "4" }
6850
+ }
6851
+ },
6852
+ {
6853
+ size: "large",
6854
+ after: true,
6855
+ css: {
6856
+ container: { pe: "4" }
6857
+ }
6858
+ }
6859
+ ],
6860
+ defaultVariants: {
6861
+ size: "default"
6862
+ }
6863
+ });
6864
+ const badgeRecipe$1 = defineSlotRecipe({
6865
+ className: "badge",
6866
+ jsx: ["Badge"],
6867
+ slots: ["root", "indicator"],
6868
+ staticCss: [
6869
+ {
6870
+ size: ["sm", "md", "lg"],
6871
+ standalone: ["true", "false"],
6872
+ dot: ["true", "false"],
6873
+ appearance: [
6874
+ "neutral",
6875
+ "inverted",
6876
+ "subtle",
6877
+ "subtle-inverted",
6878
+ "success",
6879
+ "danger",
6880
+ "warning",
6881
+ "info"
6882
+ ]
6883
+ }
6884
+ ],
6885
+ base: {
6886
+ root: {
6887
+ display: "inline-flex",
6888
+ position: "relative",
6889
+ verticalAlign: "middle"
6890
+ },
6891
+ indicator: {
6892
+ display: "inline-flex",
6893
+ alignItems: "center",
6894
+ justifyContent: "center",
6895
+ borderRadius: "full",
6896
+ fontWeight: "medium",
6897
+ fontFamily: "sans",
6898
+ lineHeight: "1",
6899
+ whiteSpace: "nowrap",
6900
+ userSelect: "none",
6901
+ zIndex: "1"
6902
+ }
6903
+ },
6904
+ variants: {
6905
+ size: {
6906
+ sm: {
6907
+ indicator: {
6908
+ h: "6",
6909
+ fontSize: "10",
6910
+ p: "3"
6911
+ }
6912
+ },
6913
+ md: {
6914
+ indicator: {
6915
+ h: "8",
6916
+ fontSize: "12",
6917
+ p: "4"
6918
+ }
6919
+ },
6920
+ lg: {
6921
+ indicator: {
6922
+ h: "10",
6923
+ fontSize: "14",
6924
+ p: "5"
6925
+ }
6926
+ }
6927
+ },
6928
+ // When standalone (no children), don't use absolute positioning
6929
+ standalone: {
6930
+ true: {
6931
+ root: {
6932
+ display: "inline-flex"
6933
+ },
6934
+ indicator: {
6935
+ position: "static",
6936
+ transform: "none"
6937
+ }
6938
+ },
6939
+ false: {
6940
+ root: {
6941
+ display: "inline-flex",
6942
+ position: "relative",
6943
+ verticalAlign: "middle"
6944
+ },
6945
+ indicator: {
6946
+ position: "absolute",
6947
+ top: "0",
6948
+ right: "0",
6949
+ transform: "translate(50%, -50%)"
6950
+ }
6951
+ }
6952
+ },
6953
+ // Dot mode: smaller, no text
6954
+ dot: {
6955
+ true: {
6956
+ indicator: {
6957
+ // Dot mode styles handled by base + size variants
6958
+ }
6959
+ },
6960
+ false: {
6961
+ indicator: {
6962
+ // Count mode - compound variants handle sizing
6963
+ }
6964
+ }
6965
+ },
6966
+ // Appearance variants for color schemes
6967
+ appearance: {
6968
+ neutral: {
6969
+ indicator: {
6970
+ bg: { base: "neutral.30", _dark: "darkNeutral.40" },
6971
+ color: "text"
6972
+ }
6973
+ },
6974
+ subtle: {
6975
+ indicator: {
6976
+ bg: "bg.neutral",
6977
+ color: "text"
6978
+ }
6979
+ },
6980
+ inverted: {
6981
+ indicator: {
6982
+ bg: "bg.neutral.inverse.bold",
6983
+ color: "text.inverse"
6984
+ }
6985
+ },
6986
+ "subtle-inverted": {
6987
+ indicator: {
6988
+ bg: "bg.neutral.inverse.subtle",
6989
+ color: "text"
6990
+ }
6991
+ },
6992
+ success: {
6993
+ indicator: {
6994
+ bg: "bg.success.bold",
6995
+ color: "text.inverse"
6996
+ }
6997
+ },
6998
+ danger: {
6999
+ indicator: {
7000
+ bg: "bg.danger.bold",
7001
+ color: "text.inverse"
7002
+ }
7003
+ },
7004
+ warning: {
7005
+ indicator: {
7006
+ bg: "bg.warning.bold",
7007
+ color: "text.warning.inverse"
7008
+ }
7009
+ },
7010
+ info: {
7011
+ indicator: {
7012
+ bg: "bg.info.bold",
7013
+ color: "text.inverse"
7014
+ }
7015
+ }
7016
+ }
7017
+ },
7018
+ compoundVariants: [
7019
+ // Count mode sizes (smaller than count mode)
7020
+ {
7021
+ dot: false,
7022
+ size: "sm",
7023
+ css: {
7024
+ indicator: {
7025
+ minW: "16",
7026
+ h: "fit"
7027
+ // w: '4',
7028
+ // h: '4',
7029
+ // p: '3',
7030
+ }
7031
+ }
7032
+ },
7033
+ {
7034
+ dot: false,
7035
+ size: "md",
7036
+ css: {
7037
+ indicator: {
7038
+ minW: "20",
7039
+ h: "fit"
7040
+ // w: '6',
7041
+ // h: '6',
7042
+ // p: '4',
7043
+ }
7044
+ }
7045
+ },
7046
+ {
7047
+ dot: false,
7048
+ size: "lg",
7049
+ css: {
7050
+ indicator: {
7051
+ minW: "24",
7052
+ h: "fit"
7053
+ // w: '8',
7054
+ // h: '8',
7055
+ // p: '5',
7056
+ }
7057
+ }
7058
+ }
7059
+ ],
7060
+ defaultVariants: {
7061
+ size: "md",
7062
+ appearance: "danger"
7063
+ }
7064
+ });
7065
+ const avatarRecipe$1 = defineSlotRecipe({
7066
+ className: "avatar",
7067
+ jsx: ["Avatar"],
7068
+ slots: ["root", "image", "fallback", "presence", "status"],
7069
+ staticCss: [
7070
+ {
7071
+ size: ["xs", "sm", "md", "lx", "xl", "2xl"],
7072
+ shape: ["circle", "square", "hexagon"]
7073
+ }
7074
+ ],
7075
+ base: {
7076
+ root: {
7077
+ display: "inline-flex",
7078
+ position: "relative",
7079
+ alignItems: "center",
7080
+ justifyContent: "center",
7081
+ verticalAlign: "middle",
7082
+ flexShrink: 0,
7083
+ color: "text",
7084
+ bg: "bg.neutral",
7085
+ userSelect: "none",
7086
+ aspectRatio: "square"
7087
+ },
7088
+ image: {
7089
+ w: "full",
7090
+ h: "full",
7091
+ objectFit: "cover",
7092
+ overflow: "hidden"
7093
+ },
7094
+ fallback: {
7095
+ display: "flex",
7096
+ alignItems: "center",
7097
+ justifyContent: "center",
7098
+ w: "full",
7099
+ h: "full",
7100
+ fontFamily: "sans",
7101
+ fontWeight: "medium",
7102
+ textTransform: "uppercase",
7103
+ color: "text.subtle"
7104
+ },
7105
+ presence: {
7106
+ position: "absolute",
7107
+ bottom: "0",
7108
+ right: "0",
7109
+ borderRadius: "full",
7110
+ borderWidth: "2",
7111
+ borderStyle: "solid",
7112
+ borderColor: "bg",
7113
+ zIndex: 1
7114
+ },
7115
+ status: {
7116
+ position: "absolute",
7117
+ top: "0",
7118
+ right: "0",
7119
+ display: "flex",
7120
+ alignItems: "center",
7121
+ justifyContent: "center",
7122
+ borderRadius: "full",
7123
+ borderWidth: "2",
7124
+ borderStyle: "solid",
7125
+ borderColor: "bg",
7126
+ zIndex: 1
7127
+ }
7128
+ },
7129
+ variants: {
7130
+ size: {
7131
+ xs: {
7132
+ root: {
7133
+ w: "16",
7134
+ h: "16"
7135
+ },
7136
+ fallback: {
7137
+ fontSize: "8"
7138
+ },
7139
+ presence: {
7140
+ w: "6",
7141
+ h: "6"
7142
+ },
7143
+ status: {
7144
+ w: "8",
7145
+ h: "8"
7146
+ }
7147
+ },
7148
+ sm: {
7149
+ root: {
7150
+ w: "20",
7151
+ h: "20"
7152
+ },
7153
+ fallback: {
7154
+ fontSize: "10"
7155
+ },
7156
+ presence: {
7157
+ w: "8",
7158
+ h: "8"
7159
+ },
7160
+ status: {
7161
+ w: "10",
7162
+ h: "10"
7163
+ }
7164
+ },
7165
+ md: {
7166
+ root: {
7167
+ w: "24",
7168
+ h: "24"
7169
+ },
7170
+ fallback: {
7171
+ fontSize: "12"
7172
+ },
7173
+ presence: {
7174
+ w: "8",
7175
+ h: "8"
7176
+ },
7177
+ status: {
7178
+ w: "10",
7179
+ h: "10"
7180
+ }
7181
+ },
7182
+ lg: {
7183
+ root: {
7184
+ w: "32",
7185
+ h: "32"
7186
+ },
7187
+ fallback: {
7188
+ fontSize: "14"
7189
+ },
7190
+ presence: {
7191
+ w: "10",
7192
+ h: "10"
7193
+ },
7194
+ status: {
7195
+ w: "12",
7196
+ h: "12"
7197
+ }
7198
+ },
7199
+ xl: {
7200
+ root: {
7201
+ w: "48",
7202
+ h: "48"
7203
+ },
7204
+ fallback: {
7205
+ fontSize: "20"
7206
+ },
7207
+ presence: {
7208
+ w: "12",
7209
+ h: "12"
7210
+ },
7211
+ status: {
7212
+ w: "16",
7213
+ h: "16"
7214
+ }
7215
+ },
7216
+ "2xl": {
7217
+ root: {
7218
+ w: "64",
7219
+ h: "64"
7220
+ },
7221
+ fallback: {
7222
+ fontSize: "24"
7223
+ },
7224
+ presence: {
7225
+ w: "14",
7226
+ h: "14"
7227
+ },
7228
+ status: {
7229
+ w: "20",
7230
+ h: "20"
7231
+ }
7232
+ }
7233
+ },
7234
+ shape: {
7235
+ circle: {
7236
+ root: {
7237
+ borderRadius: "full"
7238
+ },
7239
+ image: {
7240
+ borderRadius: "full"
7241
+ }
7242
+ },
7243
+ square: {
7244
+ root: {
7245
+ borderRadius: "4"
7246
+ },
7247
+ image: {
7248
+ borderRadius: "4"
7249
+ }
7250
+ },
7251
+ hexagon: {
7252
+ root: {
7253
+ clipPath: "polygon(45% 1.33975%,46.5798% .60307%,48.26352% .15192%,50% 0,51.73648% .15192%,53.4202% .60307%,55% 1.33975%,89.64102% 21.33975%,91.06889% 22.33956%,92.30146% 23.57212%,93.30127% 25%,94.03794% 26.5798%,94.48909% 28.26352%,94.64102% 30%,94.64102% 70%,94.48909% 71.73648%,94.03794% 73.4202%,93.30127% 75%,92.30146% 76.42788%,91.06889% 77.66044%,89.64102% 78.66025%,55% 98.66025%,53.4202% 99.39693%,51.73648% 99.84808%,50% 100%,48.26352% 99.84808%,46.5798% 99.39693%,45% 98.66025%,10.35898% 78.66025%,8.93111% 77.66044%,7.69854% 76.42788%,6.69873% 75%,5.96206% 73.4202%,5.51091% 71.73648%,5.35898% 70%,5.35898% 30%,5.51091% 28.26352%,5.96206% 26.5798%,6.69873% 25%,7.69854% 23.57212%,8.93111% 22.33956%,10.35898% 21.33975%)"
7254
+ },
7255
+ image: {
7256
+ clipPath: "polygon(45% 1.33975%,46.5798% .60307%,48.26352% .15192%,50% 0,51.73648% .15192%,53.4202% .60307%,55% 1.33975%,89.64102% 21.33975%,91.06889% 22.33956%,92.30146% 23.57212%,93.30127% 25%,94.03794% 26.5798%,94.48909% 28.26352%,94.64102% 30%,94.64102% 70%,94.48909% 71.73648%,94.03794% 73.4202%,93.30127% 75%,92.30146% 76.42788%,91.06889% 77.66044%,89.64102% 78.66025%,55% 98.66025%,53.4202% 99.39693%,51.73648% 99.84808%,50% 100%,48.26352% 99.84808%,46.5798% 99.39693%,45% 98.66025%,10.35898% 78.66025%,8.93111% 77.66044%,7.69854% 76.42788%,6.69873% 75%,5.96206% 73.4202%,5.51091% 71.73648%,5.35898% 70%,5.35898% 30%,5.51091% 28.26352%,5.96206% 26.5798%,6.69873% 25%,7.69854% 23.57212%,8.93111% 22.33956%,10.35898% 21.33975%)"
7257
+ }
7258
+ }
7259
+ }
7260
+ },
7261
+ defaultVariants: {
7262
+ size: "md",
7263
+ shape: "circle"
7264
+ }
7265
+ });
6993
7266
  const componentRecipes = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
6994
7267
  __proto__: null,
6995
- badgeRecipe,
7268
+ avatarRecipe: avatarRecipe$1,
7269
+ badgeRecipe: badgeRecipe$1,
6996
7270
  boxRecipe,
6997
7271
  breadcrumbsRecipe,
6998
7272
  buttonRecipe: buttonRecipe$1,
6999
7273
  cardRecipe,
7000
7274
  checkboxInputRecipe,
7001
7275
  checkboxRecipe: checkboxRecipe$1,
7002
- chipRecipe,
7276
+ chipRecipe: chipRecipe$1,
7003
7277
  codeRecipe,
7004
7278
  dividerRecipe,
7005
7279
  headingRecipe,
@@ -7021,6 +7295,7 @@ const componentRecipes = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.de
7021
7295
  tooltipRecipe: tooltipRecipe$1
7022
7296
  }, Symbol.toStringTag, { value: "Module" }));
7023
7297
  const {
7298
+ badgeRecipe,
7024
7299
  buttonRecipe,
7025
7300
  iconButtonRecipe,
7026
7301
  checkboxRecipe,
@@ -7028,6 +7303,8 @@ const {
7028
7303
  tooltipRecipe,
7029
7304
  menuRecipe,
7030
7305
  toggleRecipe,
7306
+ chipRecipe,
7307
+ avatarRecipe,
7031
7308
  ...regularComponents
7032
7309
  } = componentRecipes;
7033
7310
  const transformedRecipes = Object.fromEntries(
@@ -7073,13 +7350,16 @@ const okshaunPreset = definePreset$1({
7073
7350
  ...transformedRecipes
7074
7351
  },
7075
7352
  slotRecipes: {
7353
+ badge: badgeRecipe,
7076
7354
  button: buttonRecipe,
7077
7355
  iconButton: iconButtonRecipe,
7078
7356
  checkbox: checkboxRecipe,
7079
7357
  radio: radioRecipe,
7080
7358
  tooltip: tooltipRecipe,
7081
7359
  menu: menuRecipe,
7082
- toggle: toggleRecipe
7360
+ toggle: toggleRecipe,
7361
+ chip: chipRecipe,
7362
+ avatar: avatarRecipe
7083
7363
  }
7084
7364
  }
7085
7365
  },