@seed-design/css 1.1.17 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/all.css +516 -111
  2. package/all.min.css +1 -1
  3. package/base.css +23 -0
  4. package/base.min.css +1 -1
  5. package/package.json +1 -1
  6. package/recipes/aspect-ratio.css +26 -0
  7. package/recipes/aspect-ratio.d.ts +19 -0
  8. package/recipes/aspect-ratio.mjs +22 -0
  9. package/recipes/bottom-sheet.css +2 -0
  10. package/recipes/checkbox-group.css +5 -0
  11. package/recipes/checkbox-group.d.ts +19 -0
  12. package/recipes/checkbox-group.mjs +22 -0
  13. package/recipes/checkmark.css +1 -1
  14. package/recipes/help-bubble.css +12 -9
  15. package/recipes/help-bubble.d.ts +1 -1
  16. package/recipes/help-bubble.mjs +4 -0
  17. package/recipes/image-frame-icon.css +6 -0
  18. package/recipes/image-frame-icon.d.ts +19 -0
  19. package/recipes/image-frame-icon.mjs +22 -0
  20. package/recipes/image-frame-indicator.css +16 -0
  21. package/recipes/image-frame-indicator.d.ts +19 -0
  22. package/recipes/image-frame-indicator.mjs +22 -0
  23. package/recipes/image-frame-reaction-button.css +29 -0
  24. package/recipes/image-frame-reaction-button.d.ts +19 -0
  25. package/recipes/image-frame-reaction-button.mjs +22 -0
  26. package/recipes/image-frame.css +26 -0
  27. package/recipes/image-frame.d.ts +26 -0
  28. package/recipes/image-frame.mjs +34 -0
  29. package/recipes/input-button.css +18 -3
  30. package/recipes/menu-sheet-item.css +34 -14
  31. package/recipes/menu-sheet-item.d.ts +3 -1
  32. package/recipes/menu-sheet-item.mjs +26 -4
  33. package/recipes/menu-sheet.css +9 -1
  34. package/recipes/menu-sheet.d.ts +1 -1
  35. package/recipes/menu-sheet.mjs +4 -0
  36. package/recipes/radio-group.css +5 -0
  37. package/recipes/radio-group.d.ts +19 -0
  38. package/recipes/radio-group.mjs +22 -0
  39. package/recipes/radiomark.css +0 -1
  40. package/recipes/select-box-group.css +8 -3
  41. package/recipes/select-box.css +88 -18
  42. package/recipes/select-box.d.ts +5 -2
  43. package/recipes/select-box.mjs +21 -2
  44. package/recipes/selectBoxCheckmark.css +31 -0
  45. package/recipes/selectBoxCheckmark.d.ts +21 -0
  46. package/recipes/selectBoxCheckmark.mjs +36 -0
  47. package/recipes/switch.css +3 -3
  48. package/recipes/{switch-mark.css → switchmark.css} +19 -19
  49. package/recipes/switchmark.d.ts +28 -0
  50. package/recipes/{switch-mark.mjs → switchmark.mjs} +10 -10
  51. package/recipes/tag-group-item.css +60 -31
  52. package/recipes/tag-group-item.d.ts +3 -1
  53. package/recipes/tag-group-item.mjs +18 -4
  54. package/recipes/tag-group.css +29 -5
  55. package/recipes/tag-group.d.ts +4 -0
  56. package/recipes/tag-group.mjs +20 -2
  57. package/recipes/text-input.css +39 -13
  58. package/vars/component/checkbox-group.d.ts +9 -0
  59. package/vars/component/checkbox-group.mjs +9 -0
  60. package/vars/component/help-bubble.d.ts +7 -4
  61. package/vars/component/help-bubble.mjs +7 -4
  62. package/vars/component/image-frame-floater.d.ts +10 -0
  63. package/vars/component/image-frame-floater.mjs +9 -0
  64. package/vars/component/image-frame-indicator.d.ts +20 -0
  65. package/vars/component/image-frame-indicator.mjs +18 -0
  66. package/vars/component/image-frame-reaction-button.d.ts +30 -0
  67. package/vars/component/image-frame-reaction-button.mjs +21 -0
  68. package/vars/component/image-frame.d.ts +48 -0
  69. package/vars/component/image-frame.mjs +31 -0
  70. package/vars/component/index.d.ts +9 -1
  71. package/vars/component/index.mjs +9 -1
  72. package/vars/component/input-button.d.ts +3 -4
  73. package/vars/component/input-button.mjs +2 -4
  74. package/vars/component/radio-group.d.ts +9 -0
  75. package/vars/component/radio-group.mjs +9 -0
  76. package/vars/component/select-box-checkmark.d.ts +40 -0
  77. package/vars/component/select-box-checkmark.mjs +40 -0
  78. package/vars/component/select-box-group.d.ts +10 -0
  79. package/vars/component/select-box-group.mjs +10 -0
  80. package/vars/component/select-box.d.ts +80 -21
  81. package/vars/component/select-box.mjs +75 -21
  82. package/vars/component/text-input.d.ts +3 -4
  83. package/vars/component/text-input.mjs +2 -4
  84. package/recipes/switch-mark.d.ts +0 -28
  85. /package/vars/component/{switch-mark.d.ts → switchmark.d.ts} +0 -0
  86. /package/vars/component/{switch-mark.mjs → switchmark.mjs} +0 -0
@@ -22,7 +22,7 @@
22
22
  .seed-switch__root--size_16 {
23
23
  min-height: var(--seed-dimension-x6);
24
24
  gap: var(--seed-dimension-x1_5);
25
- --switch-mark-margin-top: calc((var(--seed-dimension-x6) - 16px) / 2);
25
+ --switchmark-margin-top: calc((var(--seed-dimension-x6) - 16px) / 2);
26
26
  }
27
27
  .seed-switch__label--size_16 {
28
28
  font-size: var(--seed-font-size-t3);
@@ -32,7 +32,7 @@
32
32
  .seed-switch__root--size_24 {
33
33
  min-height: var(--seed-dimension-x6);
34
34
  gap: var(--seed-dimension-x2);
35
- --switch-mark-margin-top: calc((var(--seed-dimension-x6) - 24px) / 2);
35
+ --switchmark-margin-top: calc((var(--seed-dimension-x6) - 24px) / 2);
36
36
  }
37
37
  .seed-switch__label--size_24 {
38
38
  font-size: var(--seed-font-size-t4);
@@ -42,7 +42,7 @@
42
42
  .seed-switch__root--size_32 {
43
43
  min-height: var(--seed-dimension-x8);
44
44
  gap: var(--seed-dimension-x2_5);
45
- --switch-mark-margin-top: calc((var(--seed-dimension-x8) - 32px) / 2);
45
+ --switchmark-margin-top: calc((var(--seed-dimension-x8) - 32px) / 2);
46
46
  }
47
47
  .seed-switch__label--size_32 {
48
48
  font-size: var(--seed-font-size-t5);
@@ -1,71 +1,71 @@
1
- .seed-switch-mark__root {
1
+ .seed-switchmark__root {
2
2
  box-sizing: border-box;
3
3
  display: block;
4
4
  position: relative;
5
5
  border-radius: var(--seed-radius-full);
6
6
  background: var(--seed-color-palette-gray-600);
7
- margin: var(--switch-mark-margin-top, 0) 0;
7
+ margin: var(--switchmark-margin-top, 0) 0;
8
8
  transition: background-color var(--seed-duration-d1) var(--seed-timing-function-easing) 20ms, opacity var(--seed-duration-d1) var(--seed-timing-function-easing);
9
9
  }
10
- .seed-switch-mark__root:is(:disabled, [disabled], [data-disabled]) {
10
+ .seed-switchmark__root:is(:disabled, [disabled], [data-disabled]) {
11
11
  opacity: 0.38;
12
12
  }
13
- .seed-switch-mark__thumb {
13
+ .seed-switchmark__thumb {
14
14
  border-radius: var(--seed-radius-full);
15
15
  transition: transform var(--seed-duration-d3) var(--seed-timing-function-easing), background-color var(--seed-duration-d1) var(--seed-timing-function-easing) 20ms;
16
16
  transform: scale(0.8);
17
17
  }
18
- .seed-switch-mark__root--tone_neutral:is(:checked, [data-checked]) {
18
+ .seed-switchmark__root--tone_neutral:is(:checked, [data-checked]) {
19
19
  background: var(--seed-color-bg-neutral-inverted);
20
20
  }
21
- .seed-switch-mark__root--tone_neutral:is(:disabled, [disabled], [data-disabled]):is(:checked, [data-checked]) {
21
+ .seed-switchmark__root--tone_neutral:is(:disabled, [disabled], [data-disabled]):is(:checked, [data-checked]) {
22
22
  background: var(--seed-color-palette-gray-600);
23
23
  }
24
- .seed-switch-mark__thumb--tone_neutral {
24
+ .seed-switchmark__thumb--tone_neutral {
25
25
  background: var(--seed-color-fg-neutral-inverted);
26
26
  }
27
- .seed-switch-mark__thumb--tone_neutral:is(:disabled, [disabled], [data-disabled]) {
27
+ .seed-switchmark__thumb--tone_neutral:is(:disabled, [disabled], [data-disabled]) {
28
28
  background: var(--seed-color-palette-static-black-alpha-700);
29
29
  }
30
- .seed-switch-mark__root--tone_brand:is(:checked, [data-checked]) {
30
+ .seed-switchmark__root--tone_brand:is(:checked, [data-checked]) {
31
31
  background: var(--seed-color-bg-brand-solid);
32
32
  }
33
- .seed-switch-mark__thumb--tone_brand {
33
+ .seed-switchmark__thumb--tone_brand {
34
34
  background: var(--seed-color-palette-static-white);
35
35
  }
36
- .seed-switch-mark__root--size_16 {
36
+ .seed-switchmark__root--size_16 {
37
37
  min-width: 26px;
38
38
  min-height: 16px;
39
39
  padding: 2px 2px;
40
40
  }
41
- .seed-switch-mark__thumb--size_16 {
41
+ .seed-switchmark__thumb--size_16 {
42
42
  width: 12px;
43
43
  height: 12px;
44
44
  }
45
- .seed-switch-mark__thumb--size_16:is(:checked, [data-checked]) {
45
+ .seed-switchmark__thumb--size_16:is(:checked, [data-checked]) {
46
46
  transform: scale(1) translateX(calc(26px - 16px));
47
47
  }
48
- .seed-switch-mark__root--size_24 {
48
+ .seed-switchmark__root--size_24 {
49
49
  min-width: 38px;
50
50
  min-height: 24px;
51
51
  padding: 2px 2px;
52
52
  }
53
- .seed-switch-mark__thumb--size_24 {
53
+ .seed-switchmark__thumb--size_24 {
54
54
  width: 20px;
55
55
  height: 20px;
56
56
  }
57
- .seed-switch-mark__thumb--size_24:is(:checked, [data-checked]) {
57
+ .seed-switchmark__thumb--size_24:is(:checked, [data-checked]) {
58
58
  transform: scale(1) translateX(calc(38px - 24px));
59
59
  }
60
- .seed-switch-mark__root--size_32 {
60
+ .seed-switchmark__root--size_32 {
61
61
  min-width: 52px;
62
62
  min-height: 32px;
63
63
  padding: 3px 3px;
64
64
  }
65
- .seed-switch-mark__thumb--size_32 {
65
+ .seed-switchmark__thumb--size_32 {
66
66
  width: 26px;
67
67
  height: 26px;
68
68
  }
69
- .seed-switch-mark__thumb--size_32:is(:checked, [data-checked]) {
69
+ .seed-switchmark__thumb--size_32:is(:checked, [data-checked]) {
70
70
  transform: scale(1) translateX(calc(52px - 32px));
71
71
  }
@@ -0,0 +1,28 @@
1
+ declare interface SwitchmarkVariant {
2
+ /**
3
+ * @default "brand"
4
+ */
5
+ tone: "neutral" | "brand";
6
+ /**
7
+ * @default 32
8
+ */
9
+ size: "16" | "24" | "32";
10
+ }
11
+
12
+ declare type SwitchmarkVariantMap = {
13
+ [key in keyof SwitchmarkVariant]: Array<SwitchmarkVariant[key]>;
14
+ };
15
+
16
+ export declare type SwitchmarkVariantProps = Partial<SwitchmarkVariant>;
17
+
18
+ export declare type SwitchmarkSlotName = "root" | "thumb";
19
+
20
+ export declare const switchmarkVariantMap: SwitchmarkVariantMap;
21
+
22
+ export declare const switchmark: ((
23
+ props?: SwitchmarkVariantProps,
24
+ ) => Record<SwitchmarkSlotName, string>) & {
25
+ splitVariantProps: <T extends SwitchmarkVariantProps>(
26
+ props: T,
27
+ ) => [SwitchmarkVariantProps, Omit<T, keyof SwitchmarkVariantProps>];
28
+ }
@@ -1,14 +1,14 @@
1
- import './switch-mark.css';
1
+ import './switchmark.css';
2
2
  import { createClassName, mergeVariants, splitVariantProps } from "./shared.mjs";
3
3
 
4
- const switchMarkSlotNames = [
4
+ const switchmarkSlotNames = [
5
5
  [
6
6
  "root",
7
- "seed-switch-mark__root"
7
+ "seed-switchmark__root"
8
8
  ],
9
9
  [
10
10
  "thumb",
11
- "seed-switch-mark__thumb"
11
+ "seed-switchmark__thumb"
12
12
  ]
13
13
  ];
14
14
 
@@ -19,7 +19,7 @@ const defaultVariant = {
19
19
 
20
20
  const compoundVariants = [];
21
21
 
22
- export const switchMarkVariantMap = {
22
+ export const switchmarkVariantMap = {
23
23
  "tone": [
24
24
  "neutral",
25
25
  "brand"
@@ -31,11 +31,11 @@ export const switchMarkVariantMap = {
31
31
  ]
32
32
  };
33
33
 
34
- export const switchMarkVariantKeys = Object.keys(switchMarkVariantMap);
34
+ export const switchmarkVariantKeys = Object.keys(switchmarkVariantMap);
35
35
 
36
- export function switchMark(props) {
36
+ export function switchmark(props) {
37
37
  return Object.fromEntries(
38
- switchMarkSlotNames.map(([slot, className]) => {
38
+ switchmarkSlotNames.map(([slot, className]) => {
39
39
  return [
40
40
  slot,
41
41
  createClassName(className, mergeVariants(defaultVariant, props), compoundVariants),
@@ -44,6 +44,6 @@ export function switchMark(props) {
44
44
  );
45
45
  }
46
46
 
47
- Object.assign(switchMark, { splitVariantProps: (props) => splitVariantProps(props, switchMarkVariantMap) });
47
+ Object.assign(switchmark, { splitVariantProps: (props) => splitVariantProps(props, switchmarkVariantMap) });
48
48
 
49
- // @recipe(seed): switch-mark
49
+ // @recipe(seed): switchmark
@@ -1,50 +1,79 @@
1
- .seed-tag-group-item {
2
- display: flex;
1
+ .seed-tag-group-item__root {
2
+ display: var(--tag-group-item-display);
3
3
  align-items: center;
4
- gap: var(--seed-dimension-x0_5)
4
+ vertical-align: middle;
5
+ flex-shrink: var(--seed-box-flex-shrink, 1);
6
+ min-width: 0;
5
7
  }
6
- .seed-tag-group-item--size_t2 {
8
+ .seed-tag-group-item__label {
9
+ display: inline;
10
+ vertical-align: middle;
11
+ min-width: 0;
12
+ overflow: var(--tag-group-item-overflow);
13
+ text-overflow: var(--tag-group-item-text-overflow);
14
+ white-space: var(--tag-group-item-white-space);
15
+ word-break: normal;
16
+ }
17
+ .seed-tag-group-item__label:not(:first-child) {
18
+ margin-left: var(--seed-dimension-x0_5);
19
+ }
20
+ .seed-tag-group-item__label:not(:last-child) {
21
+ margin-right: var(--seed-dimension-x0_5);
22
+ }
23
+ .seed-tag-group-item__root--size_t2 {
24
+ --seed-prefix-icon-size: var(--seed-dimension-x3);
25
+ --seed-suffix-icon-size: var(--seed-dimension-x3);
26
+ --seed-icon-size: var(--seed-dimension-x3);
27
+ }
28
+ .seed-tag-group-item__label--size_t2 {
7
29
  font-size: var(--seed-font-size-t2);
8
30
  line-height: var(--seed-line-height-t2);
9
- --seed-icon-size: var(--seed-dimension-x3);
10
- --seed-prefix-icon-size: var(--seed-dimension-x3);
11
- --seed-suffix-icon-size: var(--seed-dimension-x3)
12
31
  }
13
- .seed-tag-group-item--size_t3 {
32
+ .seed-tag-group-item__root--size_t3 {
33
+ --seed-prefix-icon-size: 13px;
34
+ --seed-suffix-icon-size: 13px;
35
+ --seed-icon-size: 13px;
36
+ }
37
+ .seed-tag-group-item__label--size_t3 {
14
38
  font-size: var(--seed-font-size-t3);
15
39
  line-height: var(--seed-line-height-t3);
16
- --seed-icon-size: 13px;
17
- --seed-prefix-icon-size: 13px;
18
- --seed-suffix-icon-size: 13px
19
40
  }
20
- .seed-tag-group-item--size_t4 {
41
+ .seed-tag-group-item__root--size_t4 {
42
+ --seed-prefix-icon-size: var(--seed-dimension-x3_5);
43
+ --seed-suffix-icon-size: var(--seed-dimension-x3_5);
44
+ --seed-icon-size: var(--seed-dimension-x3_5);
45
+ }
46
+ .seed-tag-group-item__label--size_t4 {
21
47
  font-size: var(--seed-font-size-t4);
22
48
  line-height: var(--seed-line-height-t4);
23
- --seed-icon-size: var(--seed-dimension-x3_5);
24
- --seed-prefix-icon-size: var(--seed-dimension-x3_5);
25
- --seed-suffix-icon-size: var(--seed-dimension-x3_5)
26
49
  }
27
- .seed-tag-group-item--weight_regular {
28
- font-weight: var(--seed-font-weight-regular)
50
+ .seed-tag-group-item__label--weight_regular {
51
+ font-weight: var(--seed-font-weight-regular);
29
52
  }
30
- .seed-tag-group-item--weight_bold {
31
- font-weight: var(--seed-font-weight-bold)
53
+ .seed-tag-group-item__label--weight_bold {
54
+ font-weight: var(--seed-font-weight-bold);
32
55
  }
33
- .seed-tag-group-item--tone_neutralSubtle {
34
- color: var(--seed-color-fg-neutral-subtle);
35
- --seed-icon-color: var(--seed-color-fg-neutral-subtle);
56
+ .seed-tag-group-item__root--tone_neutralSubtle {
36
57
  --seed-prefix-icon-color: var(--seed-color-fg-neutral-subtle);
37
- --seed-suffix-icon-color: var(--seed-color-fg-neutral-subtle)
58
+ --seed-suffix-icon-color: var(--seed-color-fg-neutral-subtle);
59
+ --seed-icon-color: var(--seed-color-fg-neutral-subtle);
38
60
  }
39
- .seed-tag-group-item--tone_neutral {
40
- color: var(--seed-color-fg-neutral);
41
- --seed-icon-color: var(--seed-color-fg-neutral);
61
+ .seed-tag-group-item__label--tone_neutralSubtle {
62
+ color: var(--seed-color-fg-neutral-subtle);
63
+ }
64
+ .seed-tag-group-item__root--tone_neutral {
42
65
  --seed-prefix-icon-color: var(--seed-color-fg-neutral);
43
- --seed-suffix-icon-color: var(--seed-color-fg-neutral)
66
+ --seed-suffix-icon-color: var(--seed-color-fg-neutral);
67
+ --seed-icon-color: var(--seed-color-fg-neutral);
44
68
  }
45
- .seed-tag-group-item--tone_brand {
46
- color: var(--seed-color-fg-brand);
47
- --seed-icon-color: var(--seed-color-fg-brand);
69
+ .seed-tag-group-item__label--tone_neutral {
70
+ color: var(--seed-color-fg-neutral);
71
+ }
72
+ .seed-tag-group-item__root--tone_brand {
48
73
  --seed-prefix-icon-color: var(--seed-color-fg-brand);
49
- --seed-suffix-icon-color: var(--seed-color-fg-brand)
74
+ --seed-suffix-icon-color: var(--seed-color-fg-brand);
75
+ --seed-icon-color: var(--seed-color-fg-brand);
76
+ }
77
+ .seed-tag-group-item__label--tone_brand {
78
+ color: var(--seed-color-fg-brand);
50
79
  }
@@ -19,11 +19,13 @@ declare type TagGroupItemVariantMap = {
19
19
 
20
20
  export declare type TagGroupItemVariantProps = Partial<TagGroupItemVariant>;
21
21
 
22
+ export declare type TagGroupItemSlotName = "root" | "label";
23
+
22
24
  export declare const tagGroupItemVariantMap: TagGroupItemVariantMap;
23
25
 
24
26
  export declare const tagGroupItem: ((
25
27
  props?: TagGroupItemVariantProps,
26
- ) => string) & {
28
+ ) => Record<TagGroupItemSlotName, string>) & {
27
29
  splitVariantProps: <T extends TagGroupItemVariantProps>(
28
30
  props: T,
29
31
  ) => [TagGroupItemVariantProps, Omit<T, keyof TagGroupItemVariantProps>];
@@ -1,6 +1,17 @@
1
1
  import './tag-group-item.css';
2
2
  import { createClassName, mergeVariants, splitVariantProps } from "./shared.mjs";
3
3
 
4
+ const tagGroupItemSlotNames = [
5
+ [
6
+ "root",
7
+ "seed-tag-group-item__root"
8
+ ],
9
+ [
10
+ "label",
11
+ "seed-tag-group-item__label"
12
+ ]
13
+ ];
14
+
4
15
  const defaultVariant = {
5
16
  "size": "t2",
6
17
  "weight": "regular",
@@ -29,10 +40,13 @@ export const tagGroupItemVariantMap = {
29
40
  export const tagGroupItemVariantKeys = Object.keys(tagGroupItemVariantMap);
30
41
 
31
42
  export function tagGroupItem(props) {
32
- return createClassName(
33
- "seed-tag-group-item",
34
- mergeVariants(defaultVariant, props),
35
- compoundVariants,
43
+ return Object.fromEntries(
44
+ tagGroupItemSlotNames.map(([slot, className]) => {
45
+ return [
46
+ slot,
47
+ createClassName(className, mergeVariants(defaultVariant, props), compoundVariants),
48
+ ];
49
+ }),
36
50
  );
37
51
  }
38
52
 
@@ -1,8 +1,3 @@
1
- .seed-tag-group__root {
2
- display: inline-flex;
3
- align-items: center;
4
- flex-wrap: wrap
5
- }
6
1
  .seed-tag-group__separator {
7
2
  color: var(--seed-color-palette-gray-600);
8
3
  font-weight: var(--seed-font-weight-regular);
@@ -20,4 +15,33 @@
20
15
  .seed-tag-group__separator--size_t4 {
21
16
  font-size: var(--seed-font-size-t4);
22
17
  line-height: var(--seed-line-height-t4)
18
+ }
19
+ .seed-tag-group__root--truncate_true {
20
+ display: inline-flex;
21
+ align-items: center;
22
+ max-width: 100%;
23
+ --tag-group-item-display: inline-flex;
24
+ --tag-group-item-overflow: hidden;
25
+ --tag-group-item-text-overflow: ellipsis;
26
+ --tag-group-item-white-space: nowrap
27
+ }
28
+ .seed-tag-group__root--truncate_false {
29
+ display: inline-block;
30
+ font-size: 0;
31
+ --tag-group-item-display: inline;
32
+ --tag-group-item-overflow: visible;
33
+ --tag-group-item-text-overflow: clip;
34
+ --tag-group-item-white-space: normal
35
+ }
36
+ .seed-tag-group__separator--truncate_false {
37
+ vertical-align: middle
38
+ }
39
+ .seed-tag-group__root--size_t2-truncate_false {
40
+ line-height: var(--seed-line-height-t2)
41
+ }
42
+ .seed-tag-group__root--size_t3-truncate_false {
43
+ line-height: var(--seed-line-height-t3)
44
+ }
45
+ .seed-tag-group__root--size_t4-truncate_false {
46
+ line-height: var(--seed-line-height-t4)
23
47
  }
@@ -3,6 +3,10 @@ declare interface TagGroupVariant {
3
3
  * @default "t2"
4
4
  */
5
5
  size: "t2" | "t3" | "t4";
6
+ /**
7
+ * @default false
8
+ */
9
+ truncate: boolean;
6
10
  }
7
11
 
8
12
  declare type TagGroupVariantMap = {
@@ -13,16 +13,34 @@ const tagGroupSlotNames = [
13
13
  ];
14
14
 
15
15
  const defaultVariant = {
16
- "size": "t2"
16
+ "size": "t2",
17
+ "truncate": false
17
18
  };
18
19
 
19
- const compoundVariants = [];
20
+ const compoundVariants = [
21
+ {
22
+ "size": "t2",
23
+ "truncate": false
24
+ },
25
+ {
26
+ "size": "t3",
27
+ "truncate": false
28
+ },
29
+ {
30
+ "size": "t4",
31
+ "truncate": false
32
+ }
33
+ ];
20
34
 
21
35
  export const tagGroupVariantMap = {
22
36
  "size": [
23
37
  "t2",
24
38
  "t3",
25
39
  "t4"
40
+ ],
41
+ "truncate": [
42
+ true,
43
+ false
26
44
  ]
27
45
  };
28
46
 
@@ -3,7 +3,19 @@
3
3
  width: 100%;
4
4
  align-items: center;
5
5
  overflow: hidden;
6
- transition: box-shadow var(--seed-duration-color-transition) var(--seed-timing-function-easing);
6
+ position: relative;
7
+ }
8
+ .seed-text-input__root::after {
9
+ content: "";
10
+ position: absolute;
11
+ top: 0;
12
+ right: 0;
13
+ bottom: 0;
14
+ left: 0;
15
+ border-radius: inherit;
16
+ border-color: transparent;
17
+ transition: border-color 0.1s var(--seed-timing-function-easing);
18
+ pointer-events: none;
7
19
  }
8
20
  .seed-text-input__value {
9
21
  box-sizing: border-box;
@@ -62,14 +74,21 @@
62
74
  border-radius: var(--seed-radius-r3);
63
75
  box-shadow: inset 0 0 0 1px var(--seed-color-stroke-neutral-weak);
64
76
  }
65
- .seed-text-input__root--variant_outline:not(:is([data-readonly])):is(:focus, [data-focus]) {
66
- box-shadow: inset 0 0 0 2px var(--seed-color-stroke-neutral-contrast);
77
+ .seed-text-input__root--variant_outline::after {
78
+ border-style: solid;
79
+ border-width: 2px;
67
80
  }
68
- .seed-text-input__root--variant_outline:is(:invalid, [data-invalid]) {
69
- box-shadow: inset 0 0 0 2px var(--seed-color-stroke-critical-solid);
81
+ .seed-text-input__root--variant_outline:not(:is([data-readonly])):is(:focus, [data-focus])::after {
82
+ border-color: var(--seed-color-stroke-neutral-contrast);
83
+ border-width: 2px;
70
84
  }
71
- .seed-text-input__root--variant_outline:is(:invalid, [data-invalid]):is(:focus, [data-focus]) {
72
- box-shadow: inset 0 0 0 2px var(--seed-color-stroke-critical-solid);
85
+ .seed-text-input__root--variant_outline:is(:invalid, [data-invalid])::after {
86
+ border-color: var(--seed-color-stroke-critical-solid);
87
+ border-width: 2px;
88
+ }
89
+ .seed-text-input__root--variant_outline:is(:invalid, [data-invalid]):is(:focus, [data-focus])::after {
90
+ border-color: var(--seed-color-stroke-critical-solid);
91
+ border-width: 2px;
73
92
  }
74
93
  .seed-text-input__root--variant_outline:is(:disabled, [disabled], [data-disabled]) {
75
94
  background-color: var(--seed-color-bg-disabled);
@@ -100,14 +119,21 @@
100
119
  min-height: var(--seed-dimension-x10);
101
120
  box-shadow: inset 0 calc(1px * -1) 0 0 var(--seed-color-stroke-neutral-weak);
102
121
  }
103
- .seed-text-input__root--variant_underline:not(:is([data-readonly])):is(:focus, [data-focus]) {
104
- box-shadow: inset 0 calc(2px * -1) 0 0 var(--seed-color-stroke-neutral-contrast);
122
+ .seed-text-input__root--variant_underline::after {
123
+ border-bottom-style: solid;
124
+ border-bottom-width: 2px;
125
+ }
126
+ .seed-text-input__root--variant_underline:not(:is([data-readonly])):is(:focus, [data-focus])::after {
127
+ border-bottom-color: var(--seed-color-stroke-neutral-contrast);
128
+ border-bottom-width: 2px;
105
129
  }
106
- .seed-text-input__root--variant_underline:is(:invalid, [data-invalid]) {
107
- box-shadow: inset 0 calc(2px * -1) 0 0 var(--seed-color-stroke-critical-solid);
130
+ .seed-text-input__root--variant_underline:is(:invalid, [data-invalid])::after {
131
+ border-bottom-color: var(--seed-color-stroke-critical-solid);
132
+ border-bottom-width: 2px;
108
133
  }
109
- .seed-text-input__root--variant_underline:is(:invalid, [data-invalid]):is(:focus, [data-focus]) {
110
- box-shadow: inset 0 calc(2px * -1) 0 0 var(--seed-color-stroke-critical-solid);
134
+ .seed-text-input__root--variant_underline:is(:invalid, [data-invalid]):is(:focus, [data-focus])::after {
135
+ border-bottom-color: var(--seed-color-stroke-critical-solid);
136
+ border-bottom-width: 2px;
111
137
  }
112
138
  .seed-text-input__value--variant_underline {
113
139
  font-size: var(--seed-font-size-t6);
@@ -0,0 +1,9 @@
1
+ export declare const vars: {
2
+ "base": {
3
+ "enabled": {
4
+ "root": {
5
+ "gapY": "var(--seed-dimension-x1)"
6
+ }
7
+ }
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ export const vars = {
2
+ "base": {
3
+ "enabled": {
4
+ "root": {
5
+ "gapY": "var(--seed-dimension-x1)"
6
+ }
7
+ }
8
+ }
9
+ }
@@ -6,6 +6,7 @@ export declare const vars: {
6
6
  "cornerRadius": "var(--seed-radius-r3)",
7
7
  "paddingX": "var(--seed-dimension-x3)",
8
8
  "paddingY": "var(--seed-dimension-x2_5)",
9
+ "gap": "var(--seed-dimension-x1)",
9
10
  "enterScale": "0.9",
10
11
  "enterOpacity": "0",
11
12
  "enterDuration": "var(--seed-duration-d4)",
@@ -25,6 +26,9 @@ export declare const vars: {
25
26
  /** arrow와 root의 경계 사이의 최소 간격을 정의합니다. */
26
27
  "padding": "14px"
27
28
  },
29
+ "body": {
30
+ "gap": "var(--seed-dimension-x0_5)"
31
+ },
28
32
  "title": {
29
33
  "color": "var(--seed-color-fg-neutral-inverted)",
30
34
  "fontSize": "var(--seed-font-size-t3)",
@@ -39,10 +43,9 @@ export declare const vars: {
39
43
  },
40
44
  "closeButton": {
41
45
  "color": "var(--seed-color-fg-neutral-inverted)",
42
- "fromRight": "12px",
43
- "fromTop": "12px",
44
- "size": "14px",
45
- "targetSize": "32px"
46
+ "size": "var(--seed-dimension-x3_5)",
47
+ "targetSize": "38px",
48
+ "marginTop": "var(--seed-dimension-x0_5)"
46
49
  }
47
50
  }
48
51
  }
@@ -6,6 +6,7 @@ export const vars = {
6
6
  "cornerRadius": "var(--seed-radius-r3)",
7
7
  "paddingX": "var(--seed-dimension-x3)",
8
8
  "paddingY": "var(--seed-dimension-x2_5)",
9
+ "gap": "var(--seed-dimension-x1)",
9
10
  "enterScale": "0.9",
10
11
  "enterOpacity": "0",
11
12
  "enterDuration": "var(--seed-duration-d4)",
@@ -23,6 +24,9 @@ export const vars = {
23
24
  "gutter": "4px",
24
25
  "padding": "14px"
25
26
  },
27
+ "body": {
28
+ "gap": "var(--seed-dimension-x0_5)"
29
+ },
26
30
  "title": {
27
31
  "color": "var(--seed-color-fg-neutral-inverted)",
28
32
  "fontSize": "var(--seed-font-size-t3)",
@@ -37,10 +41,9 @@ export const vars = {
37
41
  },
38
42
  "closeButton": {
39
43
  "color": "var(--seed-color-fg-neutral-inverted)",
40
- "fromRight": "12px",
41
- "fromTop": "12px",
42
- "size": "14px",
43
- "targetSize": "32px"
44
+ "size": "var(--seed-dimension-x3_5)",
45
+ "targetSize": "38px",
46
+ "marginTop": "var(--seed-dimension-x0_5)"
44
47
  }
45
48
  }
46
49
  }
@@ -0,0 +1,10 @@
1
+ export declare const vars: {
2
+ "base": {
3
+ "enabled": {
4
+ "root": {
5
+ /** 오버레이가 이미지 프레임 가장자리에서 떨어진 거리입니다. */
6
+ "offset": "6px"
7
+ }
8
+ }
9
+ }
10
+ }
@@ -0,0 +1,9 @@
1
+ export const vars = {
2
+ "base": {
3
+ "enabled": {
4
+ "root": {
5
+ "offset": "6px"
6
+ }
7
+ }
8
+ }
9
+ }
@@ -0,0 +1,20 @@
1
+ export declare const vars: {
2
+ "base": {
3
+ "enabled": {
4
+ "root": {
5
+ /** 인디케이터 배경색입니다. */
6
+ "color": "var(--seed-color-palette-static-black-alpha-800)",
7
+ "cornerRadius": "var(--seed-radius-full)",
8
+ "paddingX": "var(--seed-dimension-x1_5)",
9
+ "paddingY": "var(--seed-dimension-x0_5)"
10
+ },
11
+ "label": {
12
+ /** 인디케이터 배경색입니다. */
13
+ "color": "var(--seed-color-palette-static-white)",
14
+ "fontSize": "var(--seed-font-size-t1)",
15
+ "lineHeight": "var(--seed-line-height-t1)",
16
+ "fontWeight": "var(--seed-font-weight-medium)"
17
+ }
18
+ }
19
+ }
20
+ }