@seed-design/css 0.2.0 → 0.2.3

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 (78) hide show
  1. package/all.css +333 -214
  2. package/all.min.css +1 -1
  3. package/package.json +1 -1
  4. package/recipes/action-button.d.ts +3 -3
  5. package/recipes/action-chip.d.ts +2 -2
  6. package/recipes/action-sheet-item.d.ts +1 -1
  7. package/recipes/app-bar-main.d.ts +4 -4
  8. package/recipes/app-bar.d.ts +3 -3
  9. package/recipes/app-screen.d.ts +4 -4
  10. package/recipes/avatar.d.ts +1 -1
  11. package/recipes/badge.d.ts +3 -3
  12. package/recipes/bottom-sheet.d.ts +1 -1
  13. package/recipes/callout.d.ts +1 -1
  14. package/recipes/checkbox.css +5 -112
  15. package/recipes/checkbox.d.ts +3 -7
  16. package/recipes/checkbox.mjs +1 -31
  17. package/recipes/checkmark.css +105 -0
  18. package/recipes/checkmark.d.ts +28 -0
  19. package/recipes/checkmark.mjs +65 -0
  20. package/recipes/chip-tabs.css +42 -10
  21. package/recipes/chip-tabs.d.ts +7 -3
  22. package/recipes/chip-tabs.mjs +6 -0
  23. package/recipes/chip.css +33 -33
  24. package/recipes/chip.d.ts +3 -3
  25. package/recipes/contextual-floating-button.d.ts +2 -2
  26. package/recipes/control-chip.d.ts +2 -2
  27. package/recipes/extended-action-sheet-item.d.ts +1 -1
  28. package/recipes/extended-fab.d.ts +2 -2
  29. package/recipes/identity-placeholder.d.ts +1 -1
  30. package/recipes/inline-banner.d.ts +1 -1
  31. package/recipes/link-content.d.ts +2 -2
  32. package/recipes/list-item.css +102 -0
  33. package/recipes/list-item.d.ts +24 -0
  34. package/recipes/list-item.mjs +59 -0
  35. package/recipes/manner-temp-badge.d.ts +1 -1
  36. package/recipes/manner-temp.d.ts +1 -1
  37. package/recipes/menu-sheet-item.d.ts +2 -2
  38. package/recipes/notification-badge-positioner.d.ts +2 -2
  39. package/recipes/notification-badge.d.ts +1 -1
  40. package/recipes/page-banner.d.ts +2 -2
  41. package/recipes/progress-circle.d.ts +1 -1
  42. package/recipes/radio.css +29 -50
  43. package/recipes/radio.d.ts +6 -2
  44. package/recipes/radio.mjs +8 -3
  45. package/recipes/radiomark.css +68 -0
  46. package/recipes/radiomark.d.ts +24 -0
  47. package/recipes/radiomark.mjs +43 -0
  48. package/recipes/reaction-button.d.ts +1 -1
  49. package/recipes/select-box.css +0 -68
  50. package/recipes/select-box.d.ts +1 -1
  51. package/recipes/select-box.mjs +0 -16
  52. package/recipes/skeleton.d.ts +1 -1
  53. package/recipes/snackbar.d.ts +1 -1
  54. package/recipes/tabs.d.ts +3 -3
  55. package/recipes/text-field.css +8 -9
  56. package/recipes/text-field.d.ts +1 -1
  57. package/recipes/text.d.ts +3 -3
  58. package/recipes/toggle-button.d.ts +2 -2
  59. package/vars/component/checkbox.d.ts +5 -123
  60. package/vars/component/checkbox.mjs +5 -123
  61. package/vars/component/checkmark.d.ts +121 -0
  62. package/vars/component/checkmark.mjs +121 -0
  63. package/vars/component/chip-tab.d.ts +70 -10
  64. package/vars/component/chip-tab.mjs +70 -10
  65. package/vars/component/chip-tablist.d.ts +10 -2
  66. package/vars/component/chip-tablist.mjs +10 -2
  67. package/vars/component/chip.d.ts +0 -91
  68. package/vars/component/chip.mjs +0 -91
  69. package/vars/component/index.d.ts +3 -0
  70. package/vars/component/index.mjs +3 -0
  71. package/vars/component/list-item.d.ts +72 -0
  72. package/vars/component/list-item.mjs +72 -0
  73. package/vars/component/radio.d.ts +28 -52
  74. package/vars/component/radio.mjs +28 -52
  75. package/vars/component/radiomark.d.ts +77 -0
  76. package/vars/component/radiomark.mjs +77 -0
  77. package/vars/component/select-box.d.ts +0 -47
  78. package/vars/component/select-box.mjs +0 -47
package/recipes/radio.mjs CHANGED
@@ -7,18 +7,23 @@ const radioSlotNames = [
7
7
  "seed-radio__root"
8
8
  ],
9
9
  [
10
- "icon",
11
- "seed-radio__icon"
10
+ "label",
11
+ "seed-radio__label"
12
12
  ]
13
13
  ];
14
14
 
15
15
  const defaultVariant = {
16
- "size": "medium"
16
+ "size": "medium",
17
+ "weight": "default"
17
18
  };
18
19
 
19
20
  const compoundVariants = [];
20
21
 
21
22
  export const radioVariantMap = {
23
+ "weight": [
24
+ "default",
25
+ "stronger"
26
+ ],
22
27
  "size": [
23
28
  "large",
24
29
  "medium"
@@ -0,0 +1,68 @@
1
+ .seed-radiomark__root {
2
+ border-style: solid;
3
+ box-sizing: border-box;
4
+ flex-shrink: 0;
5
+ position: relative;
6
+ display: flex;
7
+ align-items: center;
8
+ justify-content: center;
9
+ flex: none;
10
+ background-color: var(--seed-color-bg-layer-default);
11
+ border-width: 1px;
12
+ border-color: var(--seed-color-stroke-neutral-weak);
13
+ border-radius: var(--seed-radius-full);
14
+ margin-top: var(--radiomark-margin-top, 0);
15
+ }
16
+ .seed-radiomark__root:is(:active, [data-active]) {
17
+ background-color: var(--seed-color-bg-layer-default-pressed);
18
+ }
19
+ .seed-radiomark__root:is(:checked, [data-checked]) {
20
+ background-color: var(--seed-color-bg-brand-solid);
21
+ border-width: 0px;
22
+ }
23
+ .seed-radiomark__root:is(:active, [data-active]):is(:checked, [data-checked]) {
24
+ background-color: var(--seed-color-bg-brand-solid-pressed);
25
+ }
26
+ .seed-radiomark__root:is(:disabled, [disabled], [data-disabled]) {
27
+ background-color: var(--seed-color-palette-gray-300);
28
+ }
29
+ .seed-radiomark__root:is(:disabled, [disabled], [data-disabled]):is(:checked, [data-checked]) {
30
+ background: none;
31
+ border-width: 1px;
32
+ border-color: var(--seed-color-palette-gray-300);
33
+ }
34
+ .seed-radiomark__icon {
35
+ display: none;
36
+ border-radius: var(--seed-radius-full);
37
+ }
38
+ .seed-radiomark__icon:is(:checked, [data-checked]) {
39
+ display: block;
40
+ color: var(--seed-color-palette-static-white);
41
+ }
42
+ .seed-radiomark__icon:is(:disabled, [disabled], [data-disabled]):is(:checked, [data-checked]) {
43
+ color: var(--seed-color-palette-gray-300);
44
+ }
45
+ .seed-radiomark__root--size_large {
46
+ width: var(--seed-dimension-x6);
47
+ height: var(--seed-dimension-x6);
48
+ }
49
+ .seed-radiomark__icon--size_large {
50
+ width: var(--seed-dimension-x2_5);
51
+ height: var(--seed-dimension-x2_5);
52
+ }
53
+ .seed-radiomark__icon--size_large:is(:disabled, [disabled], [data-disabled]) {
54
+ width: var(--seed-dimension-x3);
55
+ height: var(--seed-dimension-x3);
56
+ }
57
+ .seed-radiomark__root--size_medium {
58
+ width: var(--seed-dimension-x5);
59
+ height: var(--seed-dimension-x5);
60
+ }
61
+ .seed-radiomark__icon--size_medium {
62
+ width: var(--seed-dimension-x2);
63
+ height: var(--seed-dimension-x2);
64
+ }
65
+ .seed-radiomark__icon--size_medium:is(:disabled, [disabled], [data-disabled]) {
66
+ width: var(--seed-dimension-x2_5);
67
+ height: var(--seed-dimension-x2_5);
68
+ }
@@ -0,0 +1,24 @@
1
+ declare interface RadiomarkVariant {
2
+ /**
3
+ * @default "medium"
4
+ */
5
+ size: "large" | "medium";
6
+ }
7
+
8
+ declare type RadiomarkVariantMap = {
9
+ [key in keyof RadiomarkVariant]: Array<RadiomarkVariant[key]>;
10
+ };
11
+
12
+ export declare type RadiomarkVariantProps = Partial<RadiomarkVariant>;
13
+
14
+ export declare type RadiomarkSlotName = "root" | "icon";
15
+
16
+ export declare const radiomarkVariantMap: RadiomarkVariantMap;
17
+
18
+ export declare const radiomark: ((
19
+ props?: RadiomarkVariantProps,
20
+ ) => Record<RadiomarkSlotName, string>) & {
21
+ splitVariantProps: <T extends RadiomarkVariantProps>(
22
+ props: T,
23
+ ) => [RadiomarkVariantProps, Omit<T, keyof RadiomarkVariantProps>];
24
+ }
@@ -0,0 +1,43 @@
1
+ import './radiomark.css';
2
+ import { createClassName, mergeVariants, splitVariantProps } from "./shared.mjs";
3
+
4
+ const radiomarkSlotNames = [
5
+ [
6
+ "root",
7
+ "seed-radiomark__root"
8
+ ],
9
+ [
10
+ "icon",
11
+ "seed-radiomark__icon"
12
+ ]
13
+ ];
14
+
15
+ const defaultVariant = {
16
+ "size": "medium"
17
+ };
18
+
19
+ const compoundVariants = [];
20
+
21
+ export const radiomarkVariantMap = {
22
+ "size": [
23
+ "large",
24
+ "medium"
25
+ ]
26
+ };
27
+
28
+ export const radiomarkVariantKeys = Object.keys(radiomarkVariantMap);
29
+
30
+ export function radiomark(props) {
31
+ return Object.fromEntries(
32
+ radiomarkSlotNames.map(([slot, className]) => {
33
+ return [
34
+ slot,
35
+ createClassName(className, mergeVariants(defaultVariant, props), compoundVariants),
36
+ ];
37
+ }),
38
+ );
39
+ }
40
+
41
+ Object.assign(radiomark, { splitVariantProps: (props) => splitVariantProps(props, radiomarkVariantMap) });
42
+
43
+ // @recipe(seed): radiomark
@@ -1,6 +1,6 @@
1
1
  declare interface ReactionButtonVariant {
2
2
  /**
3
- * @default small
3
+ * @default "small"
4
4
  */
5
5
  size: "xsmall" | "small";
6
6
  }
@@ -25,74 +25,6 @@
25
25
  flex-grow: 1;
26
26
  gap: var(--seed-dimension-x0_5);
27
27
  }
28
- .seed-select-box__checkboxControl {
29
- flex: none;
30
- box-sizing: border-box;
31
- display: flex;
32
- align-items: center;
33
- justify-content: center;
34
- width: var(--seed-dimension-x6);
35
- height: var(--seed-dimension-x6);
36
- background-color: var(--seed-color-bg-layer-default);
37
- border-style: solid;
38
- border-width: 1px;
39
- border-color: var(--seed-color-stroke-neutral-weak);
40
- border-radius: var(--seed-radius-r1);
41
- }
42
- .seed-select-box__checkboxControl:is(:active, [data-active]) {
43
- background-color: var(--seed-color-bg-layer-default-pressed);
44
- }
45
- .seed-select-box__checkboxControl:is(:checked, [data-checked]) {
46
- background-color: var(--seed-color-bg-brand-solid);
47
- border-width: 0;
48
- }
49
- .seed-select-box__checkboxControl:is(:checked, [data-checked]):is(:active, [data-active]) {
50
- background-color: var(--seed-color-bg-brand-solid-pressed);
51
- }
52
- .seed-select-box__checkboxIcon {
53
- width: var(--seed-dimension-x3_5);
54
- height: var(--seed-dimension-x3_5);
55
- display: none;
56
- }
57
- .seed-select-box__checkboxIcon:is(:checked, [data-checked]) {
58
- display: block;
59
- color: var(--seed-color-palette-static-white);
60
- }
61
- .seed-select-box__radioControl {
62
- flex: none;
63
- box-sizing: border-box;
64
- display: flex;
65
- align-items: center;
66
- justify-content: center;
67
- width: var(--seed-dimension-x6);
68
- height: var(--seed-dimension-x6);
69
- background-color: var(--seed-color-bg-layer-default);
70
- border-style: solid;
71
- border-width: 1px;
72
- border-color: var(--seed-color-stroke-neutral-weak);
73
- border-radius: var(--seed-radius-full);
74
- }
75
- .seed-select-box__radioControl:is(:active, [data-active]) {
76
- background-color: var(--seed-color-bg-layer-default-pressed);
77
- }
78
- .seed-select-box__radioControl:is(:checked, [data-checked]) {
79
- background-color: var(--seed-color-bg-brand-solid);
80
- border-width: 0;
81
- }
82
- .seed-select-box__radioControl:is(:checked, [data-checked]):is(:active, [data-active]) {
83
- background-color: var(--seed-color-bg-brand-solid-pressed);
84
- }
85
- .seed-select-box__radioIcon {
86
- width: var(--seed-dimension-x2_5);
87
- height: var(--seed-dimension-x2_5);
88
- border-radius: var(--seed-radius-full);
89
- display: none;
90
- }
91
- .seed-select-box__radioIcon:is(:checked, [data-checked]) {
92
- display: block;
93
- background-color: var(--seed-color-palette-static-white);
94
- color: var(--seed-color-palette-static-white);
95
- }
96
28
  .seed-select-box__label {
97
29
  color: var(--seed-color-fg-neutral);
98
30
  font-weight: var(--seed-font-weight-bold);
@@ -8,7 +8,7 @@ declare type SelectBoxVariantMap = {
8
8
 
9
9
  export declare type SelectBoxVariantProps = Partial<SelectBoxVariant>;
10
10
 
11
- export declare type SelectBoxSlotName = "root" | "content" | "label" | "description" | "checkboxControl" | "checkboxIcon" | "radioControl" | "radioIcon";
11
+ export declare type SelectBoxSlotName = "root" | "content" | "label" | "description";
12
12
 
13
13
  export declare const selectBoxVariantMap: SelectBoxVariantMap;
14
14
 
@@ -17,22 +17,6 @@ const selectBoxSlotNames = [
17
17
  [
18
18
  "description",
19
19
  "seed-select-box__description"
20
- ],
21
- [
22
- "checkboxControl",
23
- "seed-select-box__checkboxControl"
24
- ],
25
- [
26
- "checkboxIcon",
27
- "seed-select-box__checkboxIcon"
28
- ],
29
- [
30
- "radioControl",
31
- "seed-select-box__radioControl"
32
- ],
33
- [
34
- "radioIcon",
35
- "seed-select-box__radioIcon"
36
20
  ]
37
21
  ];
38
22
 
@@ -4,7 +4,7 @@ declare interface SkeletonVariant {
4
4
  */
5
5
  radius: "0" | "8" | "16" | "full";
6
6
  /**
7
- * @default neutral
7
+ * @default "neutral"
8
8
  */
9
9
  tone: "neutral" | "magic";
10
10
  }
@@ -1,6 +1,6 @@
1
1
  declare interface SnackbarVariant {
2
2
  /**
3
- * @default default
3
+ * @default "default"
4
4
  */
5
5
  variant: "default" | "positive" | "critical";
6
6
  }
package/recipes/tabs.d.ts CHANGED
@@ -1,14 +1,14 @@
1
1
  declare interface TabsVariant {
2
2
  /**
3
- * @default fill
3
+ * @default "fill"
4
4
  */
5
5
  triggerLayout: "fill" | "hug";
6
6
  /**
7
- * @default hug
7
+ * @default "hug"
8
8
  */
9
9
  contentLayout: "fill" | "hug";
10
10
  /**
11
- * @default small
11
+ * @default "small"
12
12
  */
13
13
  size: "small" | "medium";
14
14
  /**
@@ -66,24 +66,23 @@
66
66
  .seed-text-field__value {
67
67
  box-sizing: border-box;
68
68
  font: inherit;
69
+ background: none;
70
+ border: none;
71
+ outline: none;
72
+ resize: none;
73
+ height: 100%;
74
+ flex-grow: 1;
75
+ color: var(--seed-color-fg-neutral);
69
76
  }
70
77
  .seed-text-field__value:is(input) {
71
78
  padding-inline: 0;
79
+ width: 0;
72
80
  }
73
81
  .seed-text-field__value:is(textarea) {
74
82
  padding-inline: 0;
75
83
  min-height: 90px;
76
84
  width: 100%;
77
85
  }
78
- .seed-text-field__value {
79
- background: none;
80
- border: none;
81
- outline: none;
82
- resize: none;
83
- flex-grow: 1;
84
- height: 100%;
85
- color: var(--seed-color-fg-neutral);
86
- }
87
86
  .seed-text-field__value::placeholder {
88
87
  color: var(--seed-color-fg-placeholder);
89
88
  }
@@ -1,6 +1,6 @@
1
1
  declare interface TextFieldVariant {
2
2
  /**
3
- * @default medium
3
+ * @default "medium"
4
4
  */
5
5
  size: "xlarge" | "large" | "medium";
6
6
  }
package/recipes/text.d.ts CHANGED
@@ -1,14 +1,14 @@
1
1
  declare interface TextVariant {
2
2
  /**
3
- * @default t5Regular
3
+ * @default "t5Regular"
4
4
  */
5
5
  textStyle: "screenTitle" | "articleBody" | "t1Regular" | "t1Medium" | "t1Bold" | "t2Regular" | "t2Medium" | "t2Bold" | "t3Regular" | "t3Medium" | "t3Bold" | "t4Regular" | "t4Medium" | "t4Bold" | "t5Regular" | "t5Medium" | "t5Bold" | "t6Regular" | "t6Medium" | "t6Bold" | "t7Regular" | "t7Medium" | "t7Bold" | "t8Bold" | "t9Bold" | "t10Bold";
6
6
  /**
7
- * @default none
7
+ * @default "none"
8
8
  */
9
9
  maxLines: "none" | "single" | "multi";
10
10
  /**
11
- * @default none
11
+ * @default "none"
12
12
  */
13
13
  textDecorationLine: "none" | "line-through";
14
14
  }
@@ -1,10 +1,10 @@
1
1
  declare interface ToggleButtonVariant {
2
2
  /**
3
- * @default brandSolid
3
+ * @default "brandSolid"
4
4
  */
5
5
  variant: "brandSolid" | "neutralWeak";
6
6
  /**
7
- * @default small
7
+ * @default "small"
8
8
  */
9
9
  size: "xsmall" | "small";
10
10
  }
@@ -7,6 +7,11 @@ export declare const vars: {
7
7
  "root": {
8
8
  "gap": "var(--seed-dimension-x2)"
9
9
  }
10
+ },
11
+ "disabled": {
12
+ "label": {
13
+ "color": "var(--seed-color-fg-disabled)"
14
+ }
10
15
  }
11
16
  },
12
17
  "weightDefault": {
@@ -23,93 +28,6 @@ export declare const vars: {
23
28
  }
24
29
  }
25
30
  },
26
- "variantSquare": {
27
- "enabled": {
28
- "control": {
29
- "strokeColor": "var(--seed-color-stroke-neutral-weak)",
30
- "strokeWidth": "1px"
31
- }
32
- },
33
- "enabledSelected": {
34
- "control": {
35
- "color": "var(--seed-color-bg-brand-solid)"
36
- },
37
- "icon": {
38
- "color": "var(--seed-color-palette-static-white)"
39
- }
40
- },
41
- "pressed": {
42
- "control": {
43
- "color": "var(--seed-color-bg-layer-default-pressed)"
44
- }
45
- },
46
- "pressedSelected": {
47
- "control": {
48
- "color": "var(--seed-color-bg-brand-solid-pressed)"
49
- },
50
- "icon": {
51
- "color": "var(--seed-color-palette-static-white)"
52
- }
53
- },
54
- "disabled": {
55
- "control": {
56
- "color": "var(--seed-color-bg-disabled)",
57
- "strokeColor": "var(--seed-color-stroke-neutral-muted)"
58
- },
59
- "label": {
60
- "color": "var(--seed-color-fg-disabled)"
61
- },
62
- "icon": {
63
- "color": "var(--seed-color-fg-disabled)"
64
- }
65
- },
66
- "disabledSelected": {
67
- "label": {
68
- "color": "var(--seed-color-fg-disabled)"
69
- },
70
- "icon": {
71
- "color": "var(--seed-color-fg-disabled)"
72
- }
73
- }
74
- },
75
- "variantGhost": {
76
- "enabled": {
77
- "icon": {
78
- "color": "var(--seed-color-fg-placeholder)"
79
- }
80
- },
81
- "enabledSelected": {
82
- "icon": {
83
- "color": "var(--seed-color-fg-brand)"
84
- }
85
- },
86
- "pressed": {
87
- "control": {
88
- "color": "var(--seed-color-bg-layer-default-pressed)"
89
- }
90
- },
91
- "pressedSelected": {
92
- "control": {
93
- "color": "var(--seed-color-palette-carrot-200)"
94
- }
95
- },
96
- "disabled": {
97
- "label": {
98
- "color": "var(--seed-color-fg-disabled)"
99
- },
100
- "icon": {
101
- "color": "var(--seed-color-fg-disabled)"
102
- }
103
- },
104
- "disabledSelected": {
105
- "label": {
106
- "color": "var(--seed-color-fg-disabled)"
107
- },
108
- "icon": {
109
- "color": "var(--seed-color-fg-disabled)"
110
- }
111
- }
112
- },
113
31
  "sizeMedium": {
114
32
  "enabled": {
115
33
  "root": {
@@ -118,10 +36,6 @@ export declare const vars: {
118
36
  "label": {
119
37
  "fontSize": "var(--seed-font-size-t4)",
120
38
  "lineHeight": "var(--seed-line-height-t4)"
121
- },
122
- "control": {
123
- "size": "var(--seed-dimension-x5)",
124
- "cornerRadius": "var(--seed-radius-r1)"
125
39
  }
126
40
  }
127
41
  },
@@ -133,38 +47,6 @@ export declare const vars: {
133
47
  "label": {
134
48
  "fontSize": "var(--seed-font-size-t5)",
135
49
  "lineHeight": "var(--seed-line-height-t5)"
136
- },
137
- "control": {
138
- "size": "var(--seed-dimension-x6)",
139
- "cornerRadius": "var(--seed-radius-r1)"
140
- }
141
- }
142
- },
143
- "variantSquareSizeMedium": {
144
- "enabled": {
145
- "icon": {
146
- "size": "12px"
147
- }
148
- }
149
- },
150
- "variantSquareSizeLarge": {
151
- "enabled": {
152
- "icon": {
153
- "size": "14px"
154
- }
155
- }
156
- },
157
- "variantGhostSizeMedium": {
158
- "enabled": {
159
- "icon": {
160
- "size": "14px"
161
- }
162
- }
163
- },
164
- "variantGhostSizeLarge": {
165
- "enabled": {
166
- "icon": {
167
- "size": "18px"
168
50
  }
169
51
  }
170
52
  }