@nation-a/ui 0.16.19 → 0.16.21

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.
@@ -2642,19 +2642,19 @@ html:not(#\#),body:not(#\#) {
2642
2642
  background: transparent;
2643
2643
  }
2644
2644
 
2645
- .\[\&_\:where\(svg\)\]\:w_20px:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) :where(svg) {
2645
+ .\[\&\:not\(\[data-preserve-icon-size\=\"true\"\]\)_svg\]\:w_20px:not([data-preserve-icon-size="true"]):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) svg {
2646
2646
  width: 20px;
2647
2647
  }
2648
2648
 
2649
- .\[\&_\:where\(svg\)\]\:h_20px:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) :where(svg) {
2649
+ .\[\&\:not\(\[data-preserve-icon-size\=\"true\"\]\)_svg\]\:h_20px:not([data-preserve-icon-size="true"]):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) svg {
2650
2650
  height: 20px;
2651
2651
  }
2652
2652
 
2653
- .\[\&_\:where\(svg\)\]\:w_24px:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) :where(svg) {
2653
+ .\[\&\:not\(\[data-preserve-icon-size\=\"true\"\]\)_svg\]\:w_24px:not([data-preserve-icon-size="true"]):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) svg {
2654
2654
  width: 24px;
2655
2655
  }
2656
2656
 
2657
- .\[\&_\:where\(svg\)\]\:h_24px:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) :where(svg) {
2657
+ .\[\&\:not\(\[data-preserve-icon-size\=\"true\"\]\)_svg\]\:h_24px:not([data-preserve-icon-size="true"]):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) svg {
2658
2658
  height: 24px;
2659
2659
  }
2660
2660
 
@@ -2694,6 +2694,14 @@ html:not(#\#),body:not(#\#) {
2694
2694
  animation: var(--animations-dialog-out);
2695
2695
  }
2696
2696
 
2697
+ .\[\&_\:where\(svg\)\]\:w_24px:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) :where(svg) {
2698
+ width: 24px;
2699
+ }
2700
+
2701
+ .\[\&_\:where\(svg\)\]\:h_24px:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) :where(svg) {
2702
+ height: 24px;
2703
+ }
2704
+
2697
2705
  .\[\&_input\,_\&_textarea\]\:ring_none:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) input,.\[\&_input\,_\&_textarea\]\:ring_none:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) textarea {
2698
2706
  outline: var(--borders-none);
2699
2707
  }
@@ -3258,6 +3266,12 @@ html:not(#\#),body:not(#\#) {
3258
3266
  outline-color: var(--colors-border-neutral-default);
3259
3267
  }
3260
3268
 
3269
+ @media (hover: hover) and (pointer: fine) {
3270
+ .hover\:bg_black\.100A:is(:hover, [data-hover]):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) {
3271
+ background: var(--colors-black-100-a);
3272
+ }
3273
+ }
3274
+
3261
3275
  @media (hover: hover) and (pointer: fine) {
3262
3276
  .hover\:bg_background\.neuroidPrimary\.selected:is(:hover, [data-hover]):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) {
3263
3277
  background: var(--colors-background-neuroid-primary-selected);
@@ -3348,12 +3362,6 @@ html:not(#\#),body:not(#\#) {
3348
3362
  }
3349
3363
  }
3350
3364
 
3351
- @media (hover: hover) and (pointer: fine) {
3352
- .hover\:td_underline:is(:hover, [data-hover]):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) {
3353
- text-decoration: underline;
3354
- }
3355
- }
3356
-
3357
3365
  @media (hover: hover) and (pointer: fine) {
3358
3366
  .hover\:c_content\.neutral\.hovered:is(:hover, [data-hover]):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) {
3359
3367
  color: content.neutral.hovered;
@@ -3372,6 +3380,12 @@ html:not(#\#),body:not(#\#) {
3372
3380
  }
3373
3381
  }
3374
3382
 
3383
+ @media (hover: hover) and (pointer: fine) {
3384
+ .dark:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .hover\:dark\:bg_white\.100A:is(:hover, [data-hover]) {
3385
+ background: var(--colors-white-100-a);
3386
+ }
3387
+ }
3388
+
3375
3389
  @media (hover: hover) and (pointer: fine) {
3376
3390
  .checked\:hover\:bg_content\.neutral\.subtle:is(:hover, [data-hover]):is(:checked, [data-checked], [aria-checked=true], [data-state="checked"]):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) {
3377
3391
  background: var(--colors-content-neutral-subtle);
@@ -7,3 +7,4 @@ export declare const DefaultButton: Story;
7
7
  export declare const SolidButton: Story;
8
8
  export declare const OutlineButton: Story;
9
9
  export declare const LightButton: Story;
10
+ export declare const PreserveIconSizeExample: Story;
@@ -31,6 +31,12 @@ export declare const buttonRecipe: import('../../../styled-system/types').Recipe
31
31
  cursor: "not-allowed";
32
32
  pointerEvents: "none";
33
33
  };
34
+ _hover: {
35
+ background: "black.100A";
36
+ _dark: {
37
+ background: "white.100A";
38
+ };
39
+ };
34
40
  };
35
41
  };
36
42
  color: {
@@ -55,7 +61,7 @@ export declare const buttonRecipe: import('../../../styled-system/types').Recipe
55
61
  textStyle: "label.sm";
56
62
  px: "8px";
57
63
  gap: number;
58
- '& :where(svg)': {
64
+ '&:not([data-preserve-icon-size="true"]) svg': {
59
65
  width: "20px";
60
66
  height: "20px";
61
67
  };
@@ -65,7 +71,7 @@ export declare const buttonRecipe: import('../../../styled-system/types').Recipe
65
71
  textStyle: "label.sm";
66
72
  px: "16px";
67
73
  gap: number;
68
- '& :where(svg)': {
74
+ '&:not([data-preserve-icon-size="true"]) svg': {
69
75
  width: "20px";
70
76
  height: "20px";
71
77
  };
@@ -75,7 +81,7 @@ export declare const buttonRecipe: import('../../../styled-system/types').Recipe
75
81
  textStyle: "label.md";
76
82
  px: "20px";
77
83
  gap: number;
78
- '& :where(svg)': {
84
+ '&:not([data-preserve-icon-size="true"]) svg': {
79
85
  width: "24px";
80
86
  height: "24px";
81
87
  };
@@ -85,7 +91,7 @@ export declare const buttonRecipe: import('../../../styled-system/types').Recipe
85
91
  textStyle: "body.lg";
86
92
  px: "28px";
87
93
  gap: number;
88
- '& :where(svg)': {
94
+ '&:not([data-preserve-icon-size="true"]) svg': {
89
95
  width: "24px";
90
96
  height: "24px";
91
97
  };
@@ -3,6 +3,8 @@ import { ButtonVariantProps } from './button.recipe';
3
3
  export type ButtonProps = HTMLStyledProps<'button'> & ButtonVariantProps & {
4
4
  loading?: boolean;
5
5
  loadingText?: React.ReactNode;
6
+ /** 아이콘 컴포넌트의 size prop을 우선시할지 여부 (기본값: false) */
7
+ preserveIconSize?: boolean;
6
8
  };
7
9
  declare const _default: import('react').MemoExoticComponent<(<C extends "symbol" | "object" | "a" | "abbr" | "address" | "area" | "article" | "aside" | "audio" | "b" | "base" | "bdi" | "bdo" | "big" | "blockquote" | "body" | "br" | "button" | "canvas" | "caption" | "center" | "cite" | "code" | "col" | "colgroup" | "data" | "datalist" | "dd" | "del" | "details" | "dfn" | "dialog" | "div" | "dl" | "dt" | "em" | "embed" | "fieldset" | "figcaption" | "figure" | "footer" | "form" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "head" | "header" | "hgroup" | "hr" | "html" | "i" | "iframe" | "img" | "input" | "ins" | "kbd" | "keygen" | "label" | "legend" | "li" | "link" | "main" | "map" | "mark" | "menu" | "menuitem" | "meta" | "meter" | "nav" | "noindex" | "noscript" | "ol" | "optgroup" | "option" | "output" | "p" | "param" | "picture" | "pre" | "progress" | "q" | "rp" | "rt" | "ruby" | "s" | "samp" | "search" | "slot" | "script" | "section" | "select" | "small" | "source" | "span" | "strong" | "style" | "sub" | "summary" | "sup" | "table" | "template" | "tbody" | "td" | "textarea" | "tfoot" | "th" | "thead" | "time" | "title" | "tr" | "track" | "u" | "ul" | "var" | "video" | "wbr" | "webview" | "svg" | "animate" | "animateMotion" | "animateTransform" | "circle" | "clipPath" | "defs" | "desc" | "ellipse" | "feBlend" | "feColorMatrix" | "feComponentTransfer" | "feComposite" | "feConvolveMatrix" | "feDiffuseLighting" | "feDisplacementMap" | "feDistantLight" | "feDropShadow" | "feFlood" | "feFuncA" | "feFuncB" | "feFuncG" | "feFuncR" | "feGaussianBlur" | "feImage" | "feMerge" | "feMergeNode" | "feMorphology" | "feOffset" | "fePointLight" | "feSpecularLighting" | "feSpotLight" | "feTile" | "feTurbulence" | "filter" | "foreignObject" | "g" | "image" | "line" | "linearGradient" | "marker" | "mask" | "metadata" | "mpath" | "path" | "pattern" | "polygon" | "polyline" | "radialGradient" | "rect" | "set" | "stop" | "switch" | "text" | "textPath" | "tspan" | "use" | "view" | import('react').ComponentType<any> = "button">(props: {
8
10
  as?: C | undefined;
@@ -296,7 +298,9 @@ declare const _default: import('react').MemoExoticComponent<(<C extends "symbol"
296
298
  } & {
297
299
  loading?: boolean;
298
300
  loadingText?: React.ReactNode;
299
- }, "ref"> & Omit<import('react').PropsWithoutRef<import('react').ComponentProps<C>>, "as" | "key" | "radius" | keyof import('react').ButtonHTMLAttributes<HTMLButtonElement> | "loading" | "size" | "css" | "variant" | "fullWidth" | "loadingText"> & {
301
+ /** 아이콘 컴포넌트의 size prop을 우선시할지 여부 (기본값: false) */
302
+ preserveIconSize?: boolean;
303
+ }, "ref"> & Omit<import('react').PropsWithoutRef<import('react').ComponentProps<C>>, "as" | "key" | "radius" | keyof import('react').ButtonHTMLAttributes<HTMLButtonElement> | "loading" | "size" | "css" | "variant" | "fullWidth" | "loadingText" | "preserveIconSize"> & {
300
304
  ref?: import('react').Ref<import('react').ElementRef<C>> | undefined;
301
305
  }) => React.ReactElement)>;
302
306
  export default _default;
@@ -8,3 +8,4 @@ export declare const SolidIconButton: Story;
8
8
  export declare const OutlineIconButton: Story;
9
9
  export declare const LightIconButton: Story;
10
10
  export declare const LoadingIconButton: Story;
11
+ export declare const PreserveIconSizeExample: Story;
@@ -24,7 +24,10 @@ export declare const iconButtonRecipe: import('../../../styled-system/types').Re
24
24
  pointerEvents: "none";
25
25
  };
26
26
  _hover: {
27
- background: "background.neutral.selected";
27
+ background: "black.100A";
28
+ _dark: {
29
+ background: "white.100A";
30
+ };
28
31
  };
29
32
  };
30
33
  light: {
@@ -37,7 +40,10 @@ export declare const iconButtonRecipe: import('../../../styled-system/types').Re
37
40
  pointerEvents: "none";
38
41
  };
39
42
  _hover: {
40
- background: "background.neutral.selected";
43
+ background: "black.100A";
44
+ _dark: {
45
+ background: "white.100A";
46
+ };
41
47
  };
42
48
  };
43
49
  };
@@ -55,7 +61,7 @@ export declare const iconButtonRecipe: import('../../../styled-system/types').Re
55
61
  h: number;
56
62
  w: number;
57
63
  p: "4px";
58
- '& :where(svg)': {
64
+ '&:not([data-preserve-icon-size="true"]) svg': {
59
65
  width: "20px";
60
66
  height: "20px";
61
67
  };
@@ -64,7 +70,7 @@ export declare const iconButtonRecipe: import('../../../styled-system/types').Re
64
70
  h: number;
65
71
  w: number;
66
72
  p: "4px";
67
- '& :where(svg)': {
73
+ '&:not([data-preserve-icon-size="true"]) svg': {
68
74
  width: "24px";
69
75
  height: "24px";
70
76
  };
@@ -73,7 +79,7 @@ export declare const iconButtonRecipe: import('../../../styled-system/types').Re
73
79
  h: number;
74
80
  w: number;
75
81
  p: "8px";
76
- '& :where(svg)': {
82
+ '&:not([data-preserve-icon-size="true"]) svg': {
77
83
  width: "24px";
78
84
  height: "24px";
79
85
  };
@@ -2,10 +2,12 @@ import { HTMLStyledProps } from '../../../styled-system/jsx';
2
2
  import { IconButtonVariantProps } from './icon-button.recipe';
3
3
  export type IconButtonProps = HTMLStyledProps<'button'> & IconButtonVariantProps & {
4
4
  loading?: boolean;
5
+ /** 아이콘 컴포넌트의 size prop을 우선시할지 여부 (기본값: false) */
6
+ preserveIconSize?: boolean;
5
7
  };
6
8
  declare const _default: import('react').MemoExoticComponent<(<C extends "symbol" | "object" | "a" | "abbr" | "address" | "area" | "article" | "aside" | "audio" | "b" | "base" | "bdi" | "bdo" | "big" | "blockquote" | "body" | "br" | "button" | "canvas" | "caption" | "center" | "cite" | "code" | "col" | "colgroup" | "data" | "datalist" | "dd" | "del" | "details" | "dfn" | "dialog" | "div" | "dl" | "dt" | "em" | "embed" | "fieldset" | "figcaption" | "figure" | "footer" | "form" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "head" | "header" | "hgroup" | "hr" | "html" | "i" | "iframe" | "img" | "input" | "ins" | "kbd" | "keygen" | "label" | "legend" | "li" | "link" | "main" | "map" | "mark" | "menu" | "menuitem" | "meta" | "meter" | "nav" | "noindex" | "noscript" | "ol" | "optgroup" | "option" | "output" | "p" | "param" | "picture" | "pre" | "progress" | "q" | "rp" | "rt" | "ruby" | "s" | "samp" | "search" | "slot" | "script" | "section" | "select" | "small" | "source" | "span" | "strong" | "style" | "sub" | "summary" | "sup" | "table" | "template" | "tbody" | "td" | "textarea" | "tfoot" | "th" | "thead" | "time" | "title" | "tr" | "track" | "u" | "ul" | "var" | "video" | "wbr" | "webview" | "svg" | "animate" | "animateMotion" | "animateTransform" | "circle" | "clipPath" | "defs" | "desc" | "ellipse" | "feBlend" | "feColorMatrix" | "feComponentTransfer" | "feComposite" | "feConvolveMatrix" | "feDiffuseLighting" | "feDisplacementMap" | "feDistantLight" | "feDropShadow" | "feFlood" | "feFuncA" | "feFuncB" | "feFuncG" | "feFuncR" | "feGaussianBlur" | "feImage" | "feMerge" | "feMergeNode" | "feMorphology" | "feOffset" | "fePointLight" | "feSpecularLighting" | "feSpotLight" | "feTile" | "feTurbulence" | "filter" | "foreignObject" | "g" | "image" | "line" | "linearGradient" | "marker" | "mask" | "metadata" | "mpath" | "path" | "pattern" | "polygon" | "polyline" | "radialGradient" | "rect" | "set" | "stop" | "switch" | "text" | "textPath" | "tspan" | "use" | "view" | import('react').ComponentType<any> = "button">(props: {
7
9
  as?: C | undefined;
8
- } & Omit<Omit<IconButtonProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>, "ref"> & Omit<import('react').PropsWithoutRef<import('react').ComponentProps<C>>, "as" | "key" | keyof import('react').ButtonHTMLAttributes<HTMLButtonElement> | "loading" | "size" | "css" | "variant"> & {
10
+ } & Omit<Omit<IconButtonProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>, "ref"> & Omit<import('react').PropsWithoutRef<import('react').ComponentProps<C>>, "as" | "key" | keyof import('react').ButtonHTMLAttributes<HTMLButtonElement> | "loading" | "size" | "css" | "variant" | "preserveIconSize"> & {
9
11
  ref?: import('react').Ref<import('react').ElementRef<C>> | undefined;
10
12
  }) => React.ReactElement)>;
11
13
  export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nation-a/ui",
3
- "version": "0.16.19",
3
+ "version": "0.16.21",
4
4
  "type": "module",
5
5
  "types": "./dist/types/index.d.ts",
6
6
  "main": "./dist/index.cjs",