@seed-design/css 2.3.0 → 2.4.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 (40) hide show
  1. package/README.md +5 -0
  2. package/all.css +636 -3
  3. package/all.layered.css +636 -3
  4. package/all.layered.min.css +1 -1
  5. package/all.min.css +1 -1
  6. package/package.json +1 -1
  7. package/recipes/avatar.css +11 -1
  8. package/recipes/avatar.layered.css +9 -1
  9. package/recipes/bottom-sheet.css +3 -1
  10. package/recipes/bottom-sheet.layered.css +3 -1
  11. package/recipes/date-picker.css +400 -0
  12. package/recipes/date-picker.d.ts +24 -0
  13. package/recipes/date-picker.layered.css +461 -0
  14. package/recipes/date-picker.layered.mjs +165 -0
  15. package/recipes/date-picker.mjs +165 -0
  16. package/recipes/image-frame.css +11 -1
  17. package/recipes/image-frame.layered.css +9 -1
  18. package/recipes/quantity-picker.css +4 -0
  19. package/recipes/quantity-picker.d.ts +4 -0
  20. package/recipes/quantity-picker.layered.css +5 -0
  21. package/recipes/quantity-picker.layered.mjs +5 -0
  22. package/recipes/quantity-picker.mjs +5 -0
  23. package/recipes/time-picker.css +44 -0
  24. package/recipes/time-picker.d.ts +21 -0
  25. package/recipes/time-picker.layered.css +53 -0
  26. package/recipes/time-picker.layered.mjs +60 -0
  27. package/recipes/time-picker.mjs +60 -0
  28. package/recipes/wheel-picker.css +85 -0
  29. package/recipes/wheel-picker.d.ts +21 -0
  30. package/recipes/wheel-picker.layered.css +99 -0
  31. package/recipes/wheel-picker.layered.mjs +52 -0
  32. package/recipes/wheel-picker.mjs +52 -0
  33. package/vars/component/date-picker.d.ts +98 -0
  34. package/vars/component/date-picker.mjs +98 -0
  35. package/vars/component/index.d.ts +2 -0
  36. package/vars/component/index.mjs +2 -0
  37. package/vars/component/menu-sheet-item.d.ts +2 -6
  38. package/vars/component/menu-sheet-item.mjs +2 -6
  39. package/vars/component/time-picker.d.ts +27 -0
  40. package/vars/component/time-picker.mjs +27 -0
@@ -0,0 +1,99 @@
1
+ @layer seed-components {
2
+ .seed-wheel-picker__root {
3
+ height: var(--seed-wheel-picker-viewport-size);
4
+ position: relative;
5
+ overflow: hidden;
6
+ }
7
+
8
+ .seed-wheel-picker__scrollFog {
9
+ z-index: 1;
10
+ height: 100%;
11
+ position: relative;
12
+ overflow: hidden;
13
+ }
14
+
15
+ .seed-wheel-picker__columns {
16
+ justify-content: center;
17
+ height: 100%;
18
+ display: flex;
19
+ }
20
+
21
+ .seed-wheel-picker__column {
22
+ box-sizing: border-box;
23
+ overscroll-behavior-x: none;
24
+ overscroll-behavior-y: contain;
25
+ scroll-snap-type: y mandatory;
26
+ scrollbar-width: none;
27
+ -ms-overflow-style: none;
28
+ touch-action: pan-y;
29
+ cursor: grab;
30
+ width: max-content;
31
+ height: 100%;
32
+ padding-block: var(--seed-wheel-picker-center-offset);
33
+ outline: none;
34
+ overflow: hidden auto;
35
+ }
36
+
37
+ .seed-wheel-picker__column[data-disabled] {
38
+ cursor: default;
39
+ overflow-y: hidden;
40
+ }
41
+
42
+ .seed-wheel-picker__column[data-readonly] {
43
+ cursor: default;
44
+ }
45
+
46
+ .seed-wheel-picker__column[data-wheel-picker-dragging] {
47
+ cursor: grabbing;
48
+ scroll-snap-type: none;
49
+ }
50
+
51
+ .seed-wheel-picker__column[data-wheel-picker-scrolling] {
52
+ scroll-snap-type: none;
53
+ }
54
+
55
+ .seed-wheel-picker__column::-webkit-scrollbar {
56
+ display: none;
57
+ }
58
+
59
+ .seed-wheel-picker__column :is([aria-selected="true"], [data-selected]) {
60
+ outline: var(--seed-dimension-x0_5) solid transparent;
61
+ outline-offset: calc(var(--seed-dimension-x0_5) * -1);
62
+ border-radius: var(--seed-wheel-picker-selection-indicator-corner-radius, 0);
63
+ transition: outline-color var(--seed-duration-d3) var(--seed-timing-function-easing);
64
+ }
65
+
66
+ .seed-wheel-picker__column.seed-wheel-picker__column:is(:focus-visible, [data-focus-visible]):not([data-wheel-picker-pointer-focus]) :is([aria-selected="true"], [data-selected]) {
67
+ outline: var(--seed-dimension-x0_5) solid var(--seed-color-stroke-focus-ring);
68
+ outline-offset: calc(var(--seed-dimension-x0_5) * -1);
69
+ }
70
+
71
+ .seed-wheel-picker__item {
72
+ height: var(--seed-wheel-picker-item-size);
73
+ min-height: var(--seed-wheel-picker-item-size);
74
+ align-items: center;
75
+ justify-content: var(--seed-wheel-picker-item-justify-content, center);
76
+ color: var(--seed-wheel-picker-item-color);
77
+ scroll-snap-align: center;
78
+ user-select: none;
79
+ display: flex;
80
+ }
81
+
82
+ .seed-wheel-picker__item[data-wheel-picker-indicator-overlap] {
83
+ color: #0000;
84
+ background-image: linear-gradient(to bottom, var(--seed-wheel-picker-item-color) 0%, var(--seed-wheel-picker-item-color) var(--seed-wheel-picker-indicator-overlap-start), var(--seed-wheel-picker-selected-item-color) var(--seed-wheel-picker-indicator-overlap-start), var(--seed-wheel-picker-selected-item-color) var(--seed-wheel-picker-indicator-overlap-end), var(--seed-wheel-picker-item-color) var(--seed-wheel-picker-indicator-overlap-end), var(--seed-wheel-picker-item-color) 100%);
85
+ -webkit-text-fill-color: transparent;
86
+ -webkit-background-clip: text;
87
+ background-clip: text;
88
+ }
89
+
90
+ .seed-wheel-picker__selectionIndicator {
91
+ z-index: 0;
92
+ inset-inline: 0;
93
+ height: var(--seed-wheel-picker-item-size);
94
+ pointer-events: none;
95
+ position: absolute;
96
+ top: 50%;
97
+ transform: translateY(-50%);
98
+ }
99
+ }
@@ -0,0 +1,52 @@
1
+ import './wheel-picker.layered.css';
2
+ import { createClassName, mergeVariants, splitVariantProps } from "./shared.mjs";
3
+
4
+ const wheelPickerSlotNames = [
5
+ [
6
+ "root",
7
+ "seed-wheel-picker__root"
8
+ ],
9
+ [
10
+ "scrollFog",
11
+ "seed-wheel-picker__scrollFog"
12
+ ],
13
+ [
14
+ "columns",
15
+ "seed-wheel-picker__columns"
16
+ ],
17
+ [
18
+ "column",
19
+ "seed-wheel-picker__column"
20
+ ],
21
+ [
22
+ "item",
23
+ "seed-wheel-picker__item"
24
+ ],
25
+ [
26
+ "selectionIndicator",
27
+ "seed-wheel-picker__selectionIndicator"
28
+ ]
29
+ ];
30
+
31
+ const defaultVariant = {};
32
+
33
+ const compoundVariants = [];
34
+
35
+ export const wheelPickerVariantMap = {};
36
+
37
+ export const wheelPickerVariantKeys = Object.keys(wheelPickerVariantMap);
38
+
39
+ export function wheelPicker(props) {
40
+ return Object.fromEntries(
41
+ wheelPickerSlotNames.map(([slot, className]) => {
42
+ return [
43
+ slot,
44
+ createClassName(className, mergeVariants(defaultVariant, props), compoundVariants),
45
+ ];
46
+ }),
47
+ );
48
+ }
49
+
50
+ Object.assign(wheelPicker, { splitVariantProps: (props) => splitVariantProps(props, wheelPickerVariantMap) });
51
+
52
+ // @recipe(seed): wheel-picker
@@ -0,0 +1,52 @@
1
+ import './wheel-picker.css';
2
+ import { createClassName, mergeVariants, splitVariantProps } from "./shared.mjs";
3
+
4
+ const wheelPickerSlotNames = [
5
+ [
6
+ "root",
7
+ "seed-wheel-picker__root"
8
+ ],
9
+ [
10
+ "scrollFog",
11
+ "seed-wheel-picker__scrollFog"
12
+ ],
13
+ [
14
+ "columns",
15
+ "seed-wheel-picker__columns"
16
+ ],
17
+ [
18
+ "column",
19
+ "seed-wheel-picker__column"
20
+ ],
21
+ [
22
+ "item",
23
+ "seed-wheel-picker__item"
24
+ ],
25
+ [
26
+ "selectionIndicator",
27
+ "seed-wheel-picker__selectionIndicator"
28
+ ]
29
+ ];
30
+
31
+ const defaultVariant = {};
32
+
33
+ const compoundVariants = [];
34
+
35
+ export const wheelPickerVariantMap = {};
36
+
37
+ export const wheelPickerVariantKeys = Object.keys(wheelPickerVariantMap);
38
+
39
+ export function wheelPicker(props) {
40
+ return Object.fromEntries(
41
+ wheelPickerSlotNames.map(([slot, className]) => {
42
+ return [
43
+ slot,
44
+ createClassName(className, mergeVariants(defaultVariant, props), compoundVariants),
45
+ ];
46
+ }),
47
+ );
48
+ }
49
+
50
+ Object.assign(wheelPicker, { splitVariantProps: (props) => splitVariantProps(props, wheelPickerVariantMap) });
51
+
52
+ // @recipe(seed): wheel-picker
@@ -0,0 +1,98 @@
1
+ export declare const vars: {
2
+ "base": {
3
+ "enabled": {
4
+ "root": {
5
+ "color": "var(--seed-color-bg-layer-floating)"
6
+ },
7
+ "header": {
8
+ "height": "var(--seed-dimension-x12)"
9
+ },
10
+ "headerLabel": {
11
+ "paddingX": "var(--seed-dimension-x1)",
12
+ "gap": "var(--seed-dimension-x1)",
13
+ "iconSize": "var(--seed-dimension-x5)",
14
+ "fontSize": "var(--seed-font-size-t5)",
15
+ "lineHeight": "var(--seed-line-height-t5)",
16
+ "fontWeight": "var(--seed-font-weight-bold)",
17
+ "color": "var(--seed-color-fg-neutral)"
18
+ },
19
+ "months": {
20
+ "gap": "var(--seed-dimension-x6)"
21
+ },
22
+ "continuousScroll": {
23
+ "fogHeight": "96px"
24
+ },
25
+ "weekday": {
26
+ "height": "var(--seed-dimension-x12)",
27
+ "fontSize": "var(--seed-font-size-t4)",
28
+ "lineHeight": "var(--seed-line-height-t4)",
29
+ "fontWeight": "var(--seed-font-weight-medium)",
30
+ "color": "var(--seed-color-fg-neutral-subtle)"
31
+ },
32
+ "monthLabel": {
33
+ "height": "var(--seed-dimension-x12)",
34
+ "fontSize": "var(--seed-font-size-t5)",
35
+ "lineHeight": "var(--seed-line-height-t5)",
36
+ "fontWeight": "var(--seed-font-weight-bold)",
37
+ "color": "var(--seed-color-fg-neutral)"
38
+ },
39
+ "dateCell": {
40
+ "minHeight": "var(--seed-dimension-x12)"
41
+ },
42
+ "dateVisual": {
43
+ "size": "42px",
44
+ "cornerRadius": "var(--seed-radius-full)",
45
+ "color": "var(--seed-color-bg-transparent)"
46
+ },
47
+ "dateContent": {
48
+ "fontSize": "var(--seed-font-size-t5)",
49
+ "lineHeight": "var(--seed-line-height-t5)",
50
+ "fontWeight": "var(--seed-font-weight-medium)",
51
+ "color": "var(--seed-color-fg-neutral-muted)"
52
+ },
53
+ "rangeBackground": {
54
+ "color": "var(--seed-color-bg-neutral-weak)"
55
+ },
56
+ "wheelSelectionIndicator": {
57
+ "cornerRadius": "var(--seed-radius-r2)",
58
+ "color": "var(--seed-color-bg-neutral-weak)"
59
+ },
60
+ "wheelContainer": {
61
+ "height": "336px"
62
+ },
63
+ "wheelItem": {
64
+ "paddingX": "var(--seed-dimension-x4)",
65
+ "fontSize": "var(--seed-font-size-t10-static)",
66
+ "lineHeight": "var(--seed-line-height-t10-static)",
67
+ "fontWeight": "var(--seed-font-weight-medium)",
68
+ "color": "var(--seed-color-fg-disabled)"
69
+ }
70
+ },
71
+ "pressed": {
72
+ "dateVisual": {
73
+ "color": "var(--seed-color-bg-transparent-pressed)"
74
+ }
75
+ },
76
+ "today": {
77
+ "dateVisual": {
78
+ "color": "var(--seed-color-bg-neutral-weak)"
79
+ }
80
+ },
81
+ "selected": {
82
+ "dateVisual": {
83
+ "color": "var(--seed-color-bg-neutral-inverted)"
84
+ },
85
+ "dateContent": {
86
+ "color": "var(--seed-color-fg-neutral-inverted)"
87
+ },
88
+ "wheelItem": {
89
+ "color": "var(--seed-color-fg-neutral)"
90
+ }
91
+ },
92
+ "disabled": {
93
+ "dateContent": {
94
+ "color": "var(--seed-color-fg-disabled)"
95
+ }
96
+ }
97
+ }
98
+ }
@@ -0,0 +1,98 @@
1
+ export const vars = {
2
+ "base": {
3
+ "enabled": {
4
+ "root": {
5
+ "color": "var(--seed-color-bg-layer-floating)"
6
+ },
7
+ "header": {
8
+ "height": "var(--seed-dimension-x12)"
9
+ },
10
+ "headerLabel": {
11
+ "paddingX": "var(--seed-dimension-x1)",
12
+ "gap": "var(--seed-dimension-x1)",
13
+ "iconSize": "var(--seed-dimension-x5)",
14
+ "fontSize": "var(--seed-font-size-t5)",
15
+ "lineHeight": "var(--seed-line-height-t5)",
16
+ "fontWeight": "var(--seed-font-weight-bold)",
17
+ "color": "var(--seed-color-fg-neutral)"
18
+ },
19
+ "months": {
20
+ "gap": "var(--seed-dimension-x6)"
21
+ },
22
+ "continuousScroll": {
23
+ "fogHeight": "96px"
24
+ },
25
+ "weekday": {
26
+ "height": "var(--seed-dimension-x12)",
27
+ "fontSize": "var(--seed-font-size-t4)",
28
+ "lineHeight": "var(--seed-line-height-t4)",
29
+ "fontWeight": "var(--seed-font-weight-medium)",
30
+ "color": "var(--seed-color-fg-neutral-subtle)"
31
+ },
32
+ "monthLabel": {
33
+ "height": "var(--seed-dimension-x12)",
34
+ "fontSize": "var(--seed-font-size-t5)",
35
+ "lineHeight": "var(--seed-line-height-t5)",
36
+ "fontWeight": "var(--seed-font-weight-bold)",
37
+ "color": "var(--seed-color-fg-neutral)"
38
+ },
39
+ "dateCell": {
40
+ "minHeight": "var(--seed-dimension-x12)"
41
+ },
42
+ "dateVisual": {
43
+ "size": "42px",
44
+ "cornerRadius": "var(--seed-radius-full)",
45
+ "color": "var(--seed-color-bg-transparent)"
46
+ },
47
+ "dateContent": {
48
+ "fontSize": "var(--seed-font-size-t5)",
49
+ "lineHeight": "var(--seed-line-height-t5)",
50
+ "fontWeight": "var(--seed-font-weight-medium)",
51
+ "color": "var(--seed-color-fg-neutral-muted)"
52
+ },
53
+ "rangeBackground": {
54
+ "color": "var(--seed-color-bg-neutral-weak)"
55
+ },
56
+ "wheelSelectionIndicator": {
57
+ "cornerRadius": "var(--seed-radius-r2)",
58
+ "color": "var(--seed-color-bg-neutral-weak)"
59
+ },
60
+ "wheelContainer": {
61
+ "height": "336px"
62
+ },
63
+ "wheelItem": {
64
+ "paddingX": "var(--seed-dimension-x4)",
65
+ "fontSize": "var(--seed-font-size-t10-static)",
66
+ "lineHeight": "var(--seed-line-height-t10-static)",
67
+ "fontWeight": "var(--seed-font-weight-medium)",
68
+ "color": "var(--seed-color-fg-disabled)"
69
+ }
70
+ },
71
+ "pressed": {
72
+ "dateVisual": {
73
+ "color": "var(--seed-color-bg-transparent-pressed)"
74
+ }
75
+ },
76
+ "today": {
77
+ "dateVisual": {
78
+ "color": "var(--seed-color-bg-neutral-weak)"
79
+ }
80
+ },
81
+ "selected": {
82
+ "dateVisual": {
83
+ "color": "var(--seed-color-bg-neutral-inverted)"
84
+ },
85
+ "dateContent": {
86
+ "color": "var(--seed-color-fg-neutral-inverted)"
87
+ },
88
+ "wheelItem": {
89
+ "color": "var(--seed-color-fg-neutral)"
90
+ }
91
+ },
92
+ "disabled": {
93
+ "dateContent": {
94
+ "color": "var(--seed-color-fg-disabled)"
95
+ }
96
+ }
97
+ }
98
+ }
@@ -27,6 +27,7 @@ export { vars as chip } from "./chip";
27
27
  export { vars as contentPlaceholder } from "./content-placeholder";
28
28
  export { vars as contextualFloatingButton } from "./contextual-floating-button";
29
29
  export { vars as controlChip } from "./control-chip";
30
+ export { vars as datePicker } from "./date-picker";
30
31
  export { vars as dialogCloseButton } from "./dialog-close-button";
31
32
  export { vars as dialog } from "./dialog";
32
33
  export { vars as divider } from "./divider";
@@ -90,6 +91,7 @@ export { vars as tagGroupItem } from "./tag-group-item";
90
91
  export { vars as tagGroup } from "./tag-group";
91
92
  export { vars as textButton } from "./text-button";
92
93
  export { vars as textInput } from "./text-input";
94
+ export { vars as timePicker } from "./time-picker";
93
95
  export { vars as toggleButton } from "./toggle-button";
94
96
  export { vars as topNavigationIconButton } from "./top-navigation-icon-button";
95
97
  export { vars as topNavigationTextButton } from "./top-navigation-text-button";
@@ -27,6 +27,7 @@ export { vars as chip } from "./chip.mjs";
27
27
  export { vars as contentPlaceholder } from "./content-placeholder.mjs";
28
28
  export { vars as contextualFloatingButton } from "./contextual-floating-button.mjs";
29
29
  export { vars as controlChip } from "./control-chip.mjs";
30
+ export { vars as datePicker } from "./date-picker.mjs";
30
31
  export { vars as dialogCloseButton } from "./dialog-close-button.mjs";
31
32
  export { vars as dialog } from "./dialog.mjs";
32
33
  export { vars as divider } from "./divider.mjs";
@@ -90,6 +91,7 @@ export { vars as tagGroupItem } from "./tag-group-item.mjs";
90
91
  export { vars as tagGroup } from "./tag-group.mjs";
91
92
  export { vars as textButton } from "./text-button.mjs";
92
93
  export { vars as textInput } from "./text-input.mjs";
94
+ export { vars as timePicker } from "./time-picker.mjs";
93
95
  export { vars as toggleButton } from "./toggle-button.mjs";
94
96
  export { vars as topNavigationIconButton } from "./top-navigation-icon-button.mjs";
95
97
  export { vars as topNavigationTextButton } from "./top-navigation-text-button.mjs";
@@ -61,13 +61,9 @@ export declare const vars: {
61
61
  /**
62
62
  * 라벨을 왼쪽 정렬합니다.
63
63
  */
64
- "labelAlignLeft": {
65
- "enabled": {}
66
- },
64
+ "labelAlignLeft": {},
67
65
  /**
68
66
  * 라벨을 중앙 정렬합니다.
69
67
  */
70
- "labelAlignCenter": {
71
- "enabled": {}
72
- }
68
+ "labelAlignCenter": {}
73
69
  }
@@ -52,10 +52,6 @@ export const vars = {
52
52
  }
53
53
  }
54
54
  },
55
- "labelAlignLeft": {
56
- "enabled": {}
57
- },
58
- "labelAlignCenter": {
59
- "enabled": {}
60
- }
55
+ "labelAlignLeft": {},
56
+ "labelAlignCenter": {}
61
57
  }
@@ -0,0 +1,27 @@
1
+ export declare const vars: {
2
+ "base": {
3
+ "enabled": {
4
+ "root": {
5
+ "height": "220px"
6
+ },
7
+ "selectionIndicator": {
8
+ "height": "44px",
9
+ "cornerRadius": "var(--seed-radius-r2)",
10
+ "color": "var(--seed-color-bg-neutral-weak)"
11
+ },
12
+ "item": {
13
+ "height": "44px",
14
+ "paddingX": "var(--seed-dimension-x4)",
15
+ "fontSize": "var(--seed-font-size-t10-static)",
16
+ "lineHeight": "var(--seed-line-height-t10-static)",
17
+ "fontWeight": "var(--seed-font-weight-medium)",
18
+ "color": "var(--seed-color-fg-disabled)"
19
+ }
20
+ },
21
+ "selected": {
22
+ "item": {
23
+ "color": "var(--seed-color-fg-neutral)"
24
+ }
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,27 @@
1
+ export const vars = {
2
+ "base": {
3
+ "enabled": {
4
+ "root": {
5
+ "height": "220px"
6
+ },
7
+ "selectionIndicator": {
8
+ "height": "44px",
9
+ "cornerRadius": "var(--seed-radius-r2)",
10
+ "color": "var(--seed-color-bg-neutral-weak)"
11
+ },
12
+ "item": {
13
+ "height": "44px",
14
+ "paddingX": "var(--seed-dimension-x4)",
15
+ "fontSize": "var(--seed-font-size-t10-static)",
16
+ "lineHeight": "var(--seed-line-height-t10-static)",
17
+ "fontWeight": "var(--seed-font-weight-medium)",
18
+ "color": "var(--seed-color-fg-disabled)"
19
+ }
20
+ },
21
+ "selected": {
22
+ "item": {
23
+ "color": "var(--seed-color-fg-neutral)"
24
+ }
25
+ }
26
+ }
27
+ }