@seed-design/lynx-css 0.10.2 → 0.11.1

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 (59) hide show
  1. package/all.css +1214 -179
  2. package/all.min.css +1 -1
  3. package/base.css +1 -1
  4. package/base.min.css +1 -1
  5. package/package.json +9 -3
  6. package/recipes/accordion.css +10 -0
  7. package/recipes/accordion.d.ts +1 -1
  8. package/recipes/accordion.mjs +4 -0
  9. package/recipes/action-button.css +21 -13
  10. package/recipes/action-button.mjs +30 -11
  11. package/recipes/callout.css +18 -0
  12. package/recipes/callout.d.ts +4 -0
  13. package/recipes/callout.mjs +30 -1
  14. package/recipes/checkbox.css +18 -6
  15. package/recipes/checkbox.d.ts +1 -1
  16. package/recipes/checkbox.mjs +4 -0
  17. package/recipes/checkmark.css +10 -6
  18. package/recipes/chip.css +18 -0
  19. package/recipes/chip.mjs +30 -0
  20. package/recipes/input-button.css +209 -0
  21. package/recipes/input-button.d.ts +40 -0
  22. package/recipes/input-button.mjs +99 -0
  23. package/recipes/list-header.css +22 -0
  24. package/recipes/list-header.d.ts +22 -0
  25. package/recipes/list-header.mjs +29 -0
  26. package/recipes/list-item.css +120 -0
  27. package/recipes/list-item.d.ts +32 -0
  28. package/recipes/list-item.mjs +93 -0
  29. package/recipes/list.css +5 -0
  30. package/recipes/list.d.ts +19 -0
  31. package/recipes/list.mjs +22 -0
  32. package/recipes/menu-item.css +119 -0
  33. package/recipes/menu-item.d.ts +36 -0
  34. package/recipes/menu-item.mjs +91 -0
  35. package/recipes/menu-sheet-item.css +69 -0
  36. package/recipes/menu-sheet-item.d.ts +32 -0
  37. package/recipes/menu-sheet-item.mjs +69 -0
  38. package/recipes/menu-sheet.css +104 -0
  39. package/recipes/menu-sheet.d.ts +28 -0
  40. package/recipes/menu-sheet.mjs +88 -0
  41. package/recipes/menu.css +101 -0
  42. package/recipes/menu.d.ts +32 -0
  43. package/recipes/menu.mjs +85 -0
  44. package/recipes/page-banner.css +136 -99
  45. package/recipes/page-banner.d.ts +4 -0
  46. package/recipes/page-banner.mjs +61 -1
  47. package/recipes/radio.css +3 -0
  48. package/recipes/radiomark.css +4 -1
  49. package/recipes/reaction-button.css +145 -0
  50. package/recipes/reaction-button.d.ts +40 -0
  51. package/recipes/reaction-button.mjs +101 -0
  52. package/recipes/segmented-control.css +16 -2
  53. package/recipes/segmented-control.d.ts +1 -1
  54. package/recipes/segmented-control.mjs +8 -0
  55. package/recipes/select-box.css +12 -0
  56. package/recipes/select-box.d.ts +1 -1
  57. package/recipes/select-box.mjs +4 -0
  58. package/scale-feedback/index.d.ts +2 -0
  59. package/scale-feedback/index.mjs +3 -0
@@ -0,0 +1,93 @@
1
+ import './list-item.css';
2
+ import { createClassName, mergeVariants, splitVariantProps } from "./shared.mjs";
3
+
4
+ const listItemSlotNames = [
5
+ [
6
+ "interactionRoot",
7
+ "seed-list-item__interactionRoot"
8
+ ],
9
+ [
10
+ "root",
11
+ "seed-list-item__root"
12
+ ],
13
+ [
14
+ "highlightedOverlay",
15
+ "seed-list-item__highlightedOverlay"
16
+ ],
17
+ [
18
+ "pressedOverlay",
19
+ "seed-list-item__pressedOverlay"
20
+ ],
21
+ [
22
+ "layout",
23
+ "seed-list-item__layout"
24
+ ],
25
+ [
26
+ "content",
27
+ "seed-list-item__content"
28
+ ],
29
+ [
30
+ "title",
31
+ "seed-list-item__title"
32
+ ],
33
+ [
34
+ "detail",
35
+ "seed-list-item__detail"
36
+ ],
37
+ [
38
+ "prefix",
39
+ "seed-list-item__prefix"
40
+ ],
41
+ [
42
+ "suffix",
43
+ "seed-list-item__suffix"
44
+ ],
45
+ [
46
+ "prefixIcon",
47
+ "seed-list-item__prefixIcon"
48
+ ],
49
+ [
50
+ "suffixIcon",
51
+ "seed-list-item__suffixIcon"
52
+ ]
53
+ ];
54
+
55
+ const defaultVariant = {
56
+ "highlighted": false,
57
+ "pressed": false,
58
+ "disabled": false
59
+ };
60
+
61
+ const compoundVariants = [];
62
+
63
+ export const listItemVariantMap = {
64
+ "highlighted": [
65
+ true,
66
+ false
67
+ ],
68
+ "pressed": [
69
+ true,
70
+ false
71
+ ],
72
+ "disabled": [
73
+ true,
74
+ false
75
+ ]
76
+ };
77
+
78
+ export const listItemVariantKeys = Object.keys(listItemVariantMap);
79
+
80
+ export function listItem(props) {
81
+ return Object.fromEntries(
82
+ listItemSlotNames.map(([slot, className]) => {
83
+ return [
84
+ slot,
85
+ createClassName(className, mergeVariants(defaultVariant, props), compoundVariants),
86
+ ];
87
+ }),
88
+ );
89
+ }
90
+
91
+ Object.assign(listItem, { splitVariantProps: (props) => splitVariantProps(props, listItemVariantMap) });
92
+
93
+ // @recipe(seed): list-item
@@ -0,0 +1,5 @@
1
+ .seed-list {
2
+ display: flex;
3
+ flex-direction: column;
4
+ width: 100%
5
+ }
@@ -0,0 +1,19 @@
1
+ declare interface ListVariant {
2
+
3
+ }
4
+
5
+ declare type ListVariantMap = {
6
+ [key in keyof ListVariant]: Array<ListVariant[key]>;
7
+ };
8
+
9
+ export declare type ListVariantProps = Partial<ListVariant>;
10
+
11
+ export declare const listVariantMap: ListVariantMap;
12
+
13
+ export declare const list: ((
14
+ props?: ListVariantProps,
15
+ ) => string) & {
16
+ splitVariantProps: <T extends ListVariantProps>(
17
+ props: T,
18
+ ) => [ListVariantProps, Omit<T, keyof ListVariantProps>];
19
+ }
@@ -0,0 +1,22 @@
1
+ import './list.css';
2
+ import { createClassName, mergeVariants, splitVariantProps } from "./shared.mjs";
3
+
4
+ const defaultVariant = {};
5
+
6
+ const compoundVariants = [];
7
+
8
+ export const listVariantMap = {};
9
+
10
+ export const listVariantKeys = Object.keys(listVariantMap);
11
+
12
+ export function list(props) {
13
+ return createClassName(
14
+ "seed-list",
15
+ mergeVariants(defaultVariant, props),
16
+ compoundVariants,
17
+ );
18
+ }
19
+
20
+ Object.assign(list, { splitVariantProps: (props) => splitVariantProps(props, listVariantMap) });
21
+
22
+ // @recipe(seed): list
@@ -0,0 +1,119 @@
1
+ .seed-menu-item__root {
2
+ position: relative;
3
+ display: flex;
4
+ flex-direction: row;
5
+ align-items: center;
6
+ flex-shrink: 0
7
+ }
8
+ .seed-menu-item__pressedOverlay {
9
+ position: absolute;
10
+ top: 0;
11
+ right: var(--seed-dimension-x2);
12
+ bottom: 0;
13
+ left: var(--seed-dimension-x2);
14
+ border-radius: var(--seed-radius-r3);
15
+ background-color: var(--seed-color-bg-transparent-pressed);
16
+ opacity: 0;
17
+ transition-property: opacity;
18
+ transition-duration: var(--seed-duration-color-transition);
19
+ transition-timing-function: var(--seed-timing-function-easing)
20
+ }
21
+ .seed-menu-item__body {
22
+ display: flex;
23
+ flex-direction: column;
24
+ flex-grow: 1;
25
+ min-width: 0;
26
+ gap: var(--seed-dimension-x0_5)
27
+ }
28
+ .seed-menu-item__label {
29
+ font-weight: var(--seed-font-weight-regular)
30
+ }
31
+ .seed-menu-item__description {
32
+ font-weight: var(--seed-font-weight-regular);
33
+ color: var(--seed-color-fg-neutral-subtle)
34
+ }
35
+ .seed-menu-item__prefixIcon {
36
+ flex-shrink: 0
37
+ }
38
+ .seed-menu-item__suffixIcon {
39
+ flex-shrink: 0
40
+ }
41
+ .seed-menu-item__root--size_medium {
42
+ padding-top: var(--seed-dimension-x3);
43
+ padding-bottom: var(--seed-dimension-x3);
44
+ padding-left: var(--seed-dimension-x4);
45
+ padding-right: var(--seed-dimension-x4);
46
+ gap: var(--seed-dimension-x3)
47
+ }
48
+ .seed-menu-item__label--size_medium {
49
+ font-size: var(--seed-font-size-t5);
50
+ line-height: var(--seed-line-height-t5)
51
+ }
52
+ .seed-menu-item__description--size_medium {
53
+ font-size: var(--seed-font-size-t3);
54
+ line-height: var(--seed-line-height-t3)
55
+ }
56
+ .seed-menu-item__prefixIcon--size_medium {
57
+ width: 22px;
58
+ height: 22px
59
+ }
60
+ .seed-menu-item__suffixIcon--size_medium {
61
+ width: 18px;
62
+ height: 18px
63
+ }
64
+ .seed-menu-item__root--size_small {
65
+ padding-top: var(--seed-dimension-x2_5);
66
+ padding-bottom: var(--seed-dimension-x2_5);
67
+ padding-left: var(--seed-dimension-x4);
68
+ padding-right: var(--seed-dimension-x4);
69
+ gap: var(--seed-dimension-x2)
70
+ }
71
+ .seed-menu-item__label--size_small {
72
+ font-size: var(--seed-font-size-t4);
73
+ line-height: var(--seed-line-height-t4)
74
+ }
75
+ .seed-menu-item__description--size_small {
76
+ font-size: var(--seed-font-size-t2);
77
+ line-height: var(--seed-line-height-t2)
78
+ }
79
+ .seed-menu-item__prefixIcon--size_small {
80
+ width: 18px;
81
+ height: 18px
82
+ }
83
+ .seed-menu-item__suffixIcon--size_small {
84
+ width: 16px;
85
+ height: 16px
86
+ }
87
+ .seed-menu-item__label--disabled_true {
88
+ color: var(--seed-color-fg-disabled)
89
+ }
90
+ .seed-menu-item__description--disabled_true {
91
+ color: var(--seed-color-fg-disabled)
92
+ }
93
+ .seed-menu-item__prefixIcon--disabled_true {
94
+ color: var(--seed-color-fg-disabled)
95
+ }
96
+ .seed-menu-item__suffixIcon--disabled_true {
97
+ color: var(--seed-color-fg-disabled)
98
+ }
99
+ .seed-menu-item__label--tone_neutral-disabled_false {
100
+ color: var(--seed-color-fg-neutral)
101
+ }
102
+ .seed-menu-item__prefixIcon--tone_neutral-disabled_false {
103
+ color: var(--seed-color-fg-neutral)
104
+ }
105
+ .seed-menu-item__suffixIcon--tone_neutral-disabled_false {
106
+ color: var(--seed-color-fg-neutral)
107
+ }
108
+ .seed-menu-item__label--tone_critical-disabled_false {
109
+ color: var(--seed-color-fg-critical)
110
+ }
111
+ .seed-menu-item__prefixIcon--tone_critical-disabled_false {
112
+ color: var(--seed-color-fg-critical)
113
+ }
114
+ .seed-menu-item__suffixIcon--tone_critical-disabled_false {
115
+ color: var(--seed-color-fg-critical)
116
+ }
117
+ .seed-menu-item__pressedOverlay--pressed_true-disabled_false {
118
+ opacity: 1
119
+ }
@@ -0,0 +1,36 @@
1
+ declare interface MenuItemVariant {
2
+ /**
3
+ * @default "medium"
4
+ */
5
+ size: "medium" | "small";
6
+ /**
7
+ * @default "neutral"
8
+ */
9
+ tone: "neutral" | "critical";
10
+ /**
11
+ * @default false
12
+ */
13
+ disabled: boolean;
14
+ /**
15
+ * @default false
16
+ */
17
+ pressed: boolean;
18
+ }
19
+
20
+ declare type MenuItemVariantMap = {
21
+ [key in keyof MenuItemVariant]: Array<MenuItemVariant[key]>;
22
+ };
23
+
24
+ export declare type MenuItemVariantProps = Partial<MenuItemVariant>;
25
+
26
+ export declare type MenuItemSlotName = "root" | "pressedOverlay" | "body" | "label" | "description" | "prefixIcon" | "suffixIcon";
27
+
28
+ export declare const menuItemVariantMap: MenuItemVariantMap;
29
+
30
+ export declare const menuItem: ((
31
+ props?: MenuItemVariantProps,
32
+ ) => Record<MenuItemSlotName, string>) & {
33
+ splitVariantProps: <T extends MenuItemVariantProps>(
34
+ props: T,
35
+ ) => [MenuItemVariantProps, Omit<T, keyof MenuItemVariantProps>];
36
+ }
@@ -0,0 +1,91 @@
1
+ import './menu-item.css';
2
+ import { createClassName, mergeVariants, splitVariantProps } from "./shared.mjs";
3
+
4
+ const menuItemSlotNames = [
5
+ [
6
+ "root",
7
+ "seed-menu-item__root"
8
+ ],
9
+ [
10
+ "pressedOverlay",
11
+ "seed-menu-item__pressedOverlay"
12
+ ],
13
+ [
14
+ "body",
15
+ "seed-menu-item__body"
16
+ ],
17
+ [
18
+ "label",
19
+ "seed-menu-item__label"
20
+ ],
21
+ [
22
+ "description",
23
+ "seed-menu-item__description"
24
+ ],
25
+ [
26
+ "prefixIcon",
27
+ "seed-menu-item__prefixIcon"
28
+ ],
29
+ [
30
+ "suffixIcon",
31
+ "seed-menu-item__suffixIcon"
32
+ ]
33
+ ];
34
+
35
+ const defaultVariant = {
36
+ "size": "medium",
37
+ "tone": "neutral",
38
+ "disabled": false,
39
+ "pressed": false
40
+ };
41
+
42
+ const compoundVariants = [
43
+ {
44
+ "tone": "neutral",
45
+ "disabled": false
46
+ },
47
+ {
48
+ "tone": "critical",
49
+ "disabled": false
50
+ },
51
+ {
52
+ "pressed": true,
53
+ "disabled": false
54
+ }
55
+ ];
56
+
57
+ export const menuItemVariantMap = {
58
+ "size": [
59
+ "medium",
60
+ "small"
61
+ ],
62
+ "tone": [
63
+ "neutral",
64
+ "critical"
65
+ ],
66
+ "disabled": [
67
+ true,
68
+ false
69
+ ],
70
+ "pressed": [
71
+ true,
72
+ false
73
+ ]
74
+ };
75
+
76
+ export const menuItemVariantKeys = Object.keys(menuItemVariantMap);
77
+
78
+ export function menuItem(props) {
79
+ return Object.fromEntries(
80
+ menuItemSlotNames.map(([slot, className]) => {
81
+ return [
82
+ slot,
83
+ createClassName(className, mergeVariants(defaultVariant, props), compoundVariants),
84
+ ];
85
+ }),
86
+ );
87
+ }
88
+
89
+ Object.assign(menuItem, { splitVariantProps: (props) => splitVariantProps(props, menuItemVariantMap) });
90
+
91
+ // @recipe(seed): menu-item
@@ -0,0 +1,69 @@
1
+ .seed-menu-sheet-item__root {
2
+ display: flex;
3
+ flex-direction: row;
4
+ align-items: center;
5
+ justify-content: flex-start;
6
+ width: 100%;
7
+ min-height: 52px;
8
+ padding-top: var(--seed-dimension-x3_5);
9
+ padding-right: var(--seed-dimension-x4);
10
+ padding-bottom: var(--seed-dimension-x3_5);
11
+ padding-left: var(--seed-dimension-x4);
12
+ gap: var(--seed-dimension-x3_5);
13
+ background-color: var(--seed-color-bg-neutral-weak)
14
+ }
15
+ .seed-menu-sheet-item__content {
16
+ display: flex;
17
+ flex-direction: column;
18
+ flex-grow: 1;
19
+ flex-shrink: 1;
20
+ min-width: 0;
21
+ gap: var(--seed-dimension-x0_5)
22
+ }
23
+ .seed-menu-sheet-item__label {
24
+ font-size: var(--seed-font-size-t5);
25
+ line-height: var(--seed-line-height-t5);
26
+ font-weight: var(--seed-font-weight-regular)
27
+ }
28
+ .seed-menu-sheet-item__description {
29
+ color: var(--seed-color-fg-neutral-subtle);
30
+ font-size: var(--seed-font-size-t3);
31
+ line-height: var(--seed-line-height-t3);
32
+ font-weight: var(--seed-font-weight-medium)
33
+ }
34
+ .seed-menu-sheet-item__prefixIcon {
35
+ flex-shrink: 0;
36
+ width: 22px;
37
+ height: 22px
38
+ }
39
+ .seed-menu-sheet-item__divider {
40
+ width: 100%;
41
+ height: 1px;
42
+ background-color: var(--seed-color-stroke-neutral-muted)
43
+ }
44
+ .seed-menu-sheet-item__prefixIcon--tone_neutral {
45
+ color: var(--seed-color-fg-neutral)
46
+ }
47
+ .seed-menu-sheet-item__label--tone_neutral {
48
+ color: var(--seed-color-fg-neutral)
49
+ }
50
+ .seed-menu-sheet-item__prefixIcon--tone_critical {
51
+ color: var(--seed-color-fg-critical)
52
+ }
53
+ .seed-menu-sheet-item__label--tone_critical {
54
+ color: var(--seed-color-fg-critical)
55
+ }
56
+ .seed-menu-sheet-item__content--labelAlign_left {
57
+ align-items: flex-start;
58
+ text-align: start
59
+ }
60
+ .seed-menu-sheet-item__root--labelAlign_center {
61
+ justify-content: center
62
+ }
63
+ .seed-menu-sheet-item__content--labelAlign_center {
64
+ align-items: center;
65
+ text-align: center
66
+ }
67
+ .seed-menu-sheet-item__root--pressed_true {
68
+ background-color: var(--seed-color-bg-neutral-weak-pressed)
69
+ }
@@ -0,0 +1,32 @@
1
+ declare interface MenuSheetItemVariant {
2
+ /**
3
+ * @default "neutral"
4
+ */
5
+ tone: "neutral" | "critical";
6
+ /**
7
+ * @default "left"
8
+ */
9
+ labelAlign: "left" | "center";
10
+ /**
11
+ * @default false
12
+ */
13
+ pressed: boolean;
14
+ }
15
+
16
+ declare type MenuSheetItemVariantMap = {
17
+ [key in keyof MenuSheetItemVariant]: Array<MenuSheetItemVariant[key]>;
18
+ };
19
+
20
+ export declare type MenuSheetItemVariantProps = Partial<MenuSheetItemVariant>;
21
+
22
+ export declare type MenuSheetItemSlotName = "root" | "content" | "label" | "description" | "prefixIcon" | "divider";
23
+
24
+ export declare const menuSheetItemVariantMap: MenuSheetItemVariantMap;
25
+
26
+ export declare const menuSheetItem: ((
27
+ props?: MenuSheetItemVariantProps,
28
+ ) => Record<MenuSheetItemSlotName, string>) & {
29
+ splitVariantProps: <T extends MenuSheetItemVariantProps>(
30
+ props: T,
31
+ ) => [MenuSheetItemVariantProps, Omit<T, keyof MenuSheetItemVariantProps>];
32
+ }
@@ -0,0 +1,69 @@
1
+ import './menu-sheet-item.css';
2
+ import { createClassName, mergeVariants, splitVariantProps } from "./shared.mjs";
3
+
4
+ const menuSheetItemSlotNames = [
5
+ [
6
+ "root",
7
+ "seed-menu-sheet-item__root"
8
+ ],
9
+ [
10
+ "content",
11
+ "seed-menu-sheet-item__content"
12
+ ],
13
+ [
14
+ "label",
15
+ "seed-menu-sheet-item__label"
16
+ ],
17
+ [
18
+ "description",
19
+ "seed-menu-sheet-item__description"
20
+ ],
21
+ [
22
+ "prefixIcon",
23
+ "seed-menu-sheet-item__prefixIcon"
24
+ ],
25
+ [
26
+ "divider",
27
+ "seed-menu-sheet-item__divider"
28
+ ]
29
+ ];
30
+
31
+ const defaultVariant = {
32
+ "tone": "neutral",
33
+ "labelAlign": "left",
34
+ "pressed": false
35
+ };
36
+
37
+ const compoundVariants = [];
38
+
39
+ export const menuSheetItemVariantMap = {
40
+ "tone": [
41
+ "neutral",
42
+ "critical"
43
+ ],
44
+ "labelAlign": [
45
+ "left",
46
+ "center"
47
+ ],
48
+ "pressed": [
49
+ true,
50
+ false
51
+ ]
52
+ };
53
+
54
+ export const menuSheetItemVariantKeys = Object.keys(menuSheetItemVariantMap);
55
+
56
+ export function menuSheetItem(props) {
57
+ return Object.fromEntries(
58
+ menuSheetItemSlotNames.map(([slot, className]) => {
59
+ return [
60
+ slot,
61
+ createClassName(className, mergeVariants(defaultVariant, props), compoundVariants),
62
+ ];
63
+ }),
64
+ );
65
+ }
66
+
67
+ Object.assign(menuSheetItem, { splitVariantProps: (props) => splitVariantProps(props, menuSheetItemVariantMap) });
68
+
69
+ // @recipe(seed): menu-sheet-item
@@ -0,0 +1,104 @@
1
+ .seed-menu-sheet__positioner {
2
+ position: fixed;
3
+ display: flex;
4
+ justify-content: center;
5
+ align-items: flex-end;
6
+ top: 0;
7
+ right: 0;
8
+ bottom: 0;
9
+ left: 0;
10
+ --sheet-z-index: 20;
11
+ z-index: calc(var(--sheet-z-index) + var(--layer-index, 0))
12
+ }
13
+ .seed-menu-sheet__backdrop {
14
+ position: fixed;
15
+ top: 0;
16
+ right: 0;
17
+ bottom: 0;
18
+ left: 0;
19
+ opacity: 0;
20
+ background-color: var(--seed-color-bg-overlay);
21
+ z-index: calc(var(--sheet-z-index) + var(--layer-index, 0))
22
+ }
23
+ .seed-menu-sheet__content {
24
+ position: relative;
25
+ display: flex;
26
+ flex: 1;
27
+ flex-direction: column;
28
+ z-index: calc(var(--sheet-z-index) + var(--layer-index, 0));
29
+ background-color: var(--seed-color-bg-layer-floating);
30
+ max-width: 480px;
31
+ border-top-left-radius: var(--seed-radius-r5);
32
+ border-top-right-radius: var(--seed-radius-r5);
33
+ transform: translate3d(0, 100%, 0)
34
+ }
35
+ .seed-menu-sheet__contentInner {
36
+ display: flex;
37
+ flex-direction: column;
38
+ width: 100%;
39
+ padding-top: var(--seed-dimension-x6);
40
+ padding-right: var(--seed-dimension-spacing-x-global-gutter);
41
+ padding-left: var(--seed-dimension-spacing-x-global-gutter)
42
+ }
43
+ .seed-menu-sheet__header {
44
+ display: flex;
45
+ flex-direction: column;
46
+ align-items: center;
47
+ text-align: center;
48
+ gap: var(--seed-dimension-x1);
49
+ padding-bottom: var(--seed-dimension-x4)
50
+ }
51
+ .seed-menu-sheet__title {
52
+ color: var(--seed-color-fg-neutral);
53
+ font-size: var(--seed-font-size-t6);
54
+ line-height: var(--seed-line-height-t6);
55
+ font-weight: var(--seed-font-weight-bold);
56
+ margin: 0
57
+ }
58
+ .seed-menu-sheet__description {
59
+ color: var(--seed-color-fg-neutral-muted);
60
+ font-size: var(--seed-font-size-t4);
61
+ line-height: var(--seed-line-height-t4);
62
+ font-weight: var(--seed-font-weight-regular);
63
+ margin: 0
64
+ }
65
+ .seed-menu-sheet__list {
66
+ display: flex;
67
+ flex-direction: column;
68
+ align-items: stretch;
69
+ gap: var(--seed-dimension-x2_5)
70
+ }
71
+ .seed-menu-sheet__group {
72
+ display: flex;
73
+ flex-direction: column;
74
+ align-items: stretch;
75
+ overflow: hidden;
76
+ border-radius: var(--seed-radius-r4)
77
+ }
78
+ .seed-menu-sheet__footer {
79
+ display: flex;
80
+ flex-direction: column;
81
+ align-items: stretch;
82
+ padding-top: var(--seed-dimension-x2_5)
83
+ }
84
+ .seed-menu-sheet__closeButton {
85
+ display: flex;
86
+ align-items: center;
87
+ justify-content: center;
88
+ background-color: var(--seed-color-bg-neutral-weak);
89
+ min-height: 52px;
90
+ padding-top: var(--seed-dimension-x3_5);
91
+ padding-right: var(--seed-dimension-x5);
92
+ padding-bottom: var(--seed-dimension-x3_5);
93
+ padding-left: var(--seed-dimension-x5);
94
+ border-radius: var(--seed-radius-r3)
95
+ }
96
+ .seed-menu-sheet__closeButtonLabel {
97
+ color: var(--seed-color-fg-neutral);
98
+ font-size: var(--seed-font-size-t5);
99
+ line-height: var(--seed-line-height-t5);
100
+ font-weight: var(--seed-font-weight-medium)
101
+ }
102
+ .seed-menu-sheet__closeButton--closeButtonPressed_true {
103
+ background-color: var(--seed-color-bg-neutral-weak-pressed)
104
+ }
@@ -0,0 +1,28 @@
1
+ declare interface MenuSheetVariant {
2
+ /**
3
+ * @default false
4
+ */
5
+ skipAnimation: boolean;
6
+ /**
7
+ * @default false
8
+ */
9
+ closeButtonPressed: boolean;
10
+ }
11
+
12
+ declare type MenuSheetVariantMap = {
13
+ [key in keyof MenuSheetVariant]: Array<MenuSheetVariant[key]>;
14
+ };
15
+
16
+ export declare type MenuSheetVariantProps = Partial<MenuSheetVariant>;
17
+
18
+ export declare type MenuSheetSlotName = "positioner" | "backdrop" | "content" | "contentInner" | "header" | "title" | "description" | "list" | "group" | "footer" | "closeButton" | "closeButtonLabel";
19
+
20
+ export declare const menuSheetVariantMap: MenuSheetVariantMap;
21
+
22
+ export declare const menuSheet: ((
23
+ props?: MenuSheetVariantProps,
24
+ ) => Record<MenuSheetSlotName, string>) & {
25
+ splitVariantProps: <T extends MenuSheetVariantProps>(
26
+ props: T,
27
+ ) => [MenuSheetVariantProps, Omit<T, keyof MenuSheetVariantProps>];
28
+ }