@react-xp/design-system 1.0.0-beta.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.
- package/LICENSE +21 -0
- package/README.md +325 -0
- package/dist/cjs/helpers/a11y.js +176 -0
- package/dist/cjs/helpers/index.js +18 -0
- package/dist/cjs/helpers/styles.js +172 -0
- package/dist/cjs/index.js +19 -0
- package/dist/cjs/styles/avatars.js +63 -0
- package/dist/cjs/styles/badges.js +59 -0
- package/dist/cjs/styles/bottomSheets.js +76 -0
- package/dist/cjs/styles/buttons.js +129 -0
- package/dist/cjs/styles/cards.js +71 -0
- package/dist/cjs/styles/checkboxes.js +70 -0
- package/dist/cjs/styles/chips.js +98 -0
- package/dist/cjs/styles/datePickers.js +113 -0
- package/dist/cjs/styles/dividers.js +12 -0
- package/dist/cjs/styles/emptyStates.js +40 -0
- package/dist/cjs/styles/forms.js +32 -0
- package/dist/cjs/styles/headers.js +46 -0
- package/dist/cjs/styles/index.js +43 -0
- package/dist/cjs/styles/inputs.js +101 -0
- package/dist/cjs/styles/listItems.js +65 -0
- package/dist/cjs/styles/modals.js +92 -0
- package/dist/cjs/styles/pagination.js +39 -0
- package/dist/cjs/styles/popovers.js +64 -0
- package/dist/cjs/styles/progress.js +33 -0
- package/dist/cjs/styles/radios.js +70 -0
- package/dist/cjs/styles/selects.js +137 -0
- package/dist/cjs/styles/skeletons.js +34 -0
- package/dist/cjs/styles/steppers.js +71 -0
- package/dist/cjs/styles/switches.js +76 -0
- package/dist/cjs/styles/tables.js +57 -0
- package/dist/cjs/styles/tabs.js +71 -0
- package/dist/cjs/styles/toasts.js +82 -0
- package/dist/cjs/styles/tooltips.js +46 -0
- package/dist/cjs/types/index.js +18 -0
- package/dist/cjs/types/states.js +8 -0
- package/dist/cjs/types/tokens.js +18 -0
- package/dist/esm/helpers/a11y.js +169 -0
- package/dist/esm/helpers/index.js +2 -0
- package/dist/esm/helpers/styles.js +158 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/styles/avatars.js +59 -0
- package/dist/esm/styles/badges.js +55 -0
- package/dist/esm/styles/bottomSheets.js +72 -0
- package/dist/esm/styles/buttons.js +125 -0
- package/dist/esm/styles/cards.js +67 -0
- package/dist/esm/styles/checkboxes.js +66 -0
- package/dist/esm/styles/chips.js +94 -0
- package/dist/esm/styles/datePickers.js +108 -0
- package/dist/esm/styles/dividers.js +8 -0
- package/dist/esm/styles/emptyStates.js +36 -0
- package/dist/esm/styles/forms.js +28 -0
- package/dist/esm/styles/headers.js +42 -0
- package/dist/esm/styles/index.js +27 -0
- package/dist/esm/styles/inputs.js +97 -0
- package/dist/esm/styles/listItems.js +61 -0
- package/dist/esm/styles/modals.js +88 -0
- package/dist/esm/styles/pagination.js +35 -0
- package/dist/esm/styles/popovers.js +60 -0
- package/dist/esm/styles/progress.js +27 -0
- package/dist/esm/styles/radios.js +66 -0
- package/dist/esm/styles/selects.js +133 -0
- package/dist/esm/styles/skeletons.js +29 -0
- package/dist/esm/styles/steppers.js +66 -0
- package/dist/esm/styles/switches.js +72 -0
- package/dist/esm/styles/tables.js +53 -0
- package/dist/esm/styles/tabs.js +66 -0
- package/dist/esm/styles/toasts.js +77 -0
- package/dist/esm/styles/tooltips.js +42 -0
- package/dist/esm/types/index.js +2 -0
- package/dist/esm/types/states.js +3 -0
- package/dist/esm/types/tokens.js +12 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/types/helpers/a11y.d.ts +20 -0
- package/dist/types/helpers/a11y.d.ts.map +1 -0
- package/dist/types/helpers/index.d.ts +3 -0
- package/dist/types/helpers/index.d.ts.map +1 -0
- package/dist/types/helpers/styles.d.ts +31 -0
- package/dist/types/helpers/styles.d.ts.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/styles/avatars.d.ts +10 -0
- package/dist/types/styles/avatars.d.ts.map +1 -0
- package/dist/types/styles/badges.d.ts +8 -0
- package/dist/types/styles/badges.d.ts.map +1 -0
- package/dist/types/styles/bottomSheets.d.ts +15 -0
- package/dist/types/styles/bottomSheets.d.ts.map +1 -0
- package/dist/types/styles/buttons.d.ts +22 -0
- package/dist/types/styles/buttons.d.ts.map +1 -0
- package/dist/types/styles/cards.d.ts +18 -0
- package/dist/types/styles/cards.d.ts.map +1 -0
- package/dist/types/styles/checkboxes.d.ts +18 -0
- package/dist/types/styles/checkboxes.d.ts.map +1 -0
- package/dist/types/styles/chips.d.ts +20 -0
- package/dist/types/styles/chips.d.ts.map +1 -0
- package/dist/types/styles/datePickers.d.ts +30 -0
- package/dist/types/styles/datePickers.d.ts.map +1 -0
- package/dist/types/styles/dividers.d.ts +4 -0
- package/dist/types/styles/dividers.d.ts.map +1 -0
- package/dist/types/styles/emptyStates.d.ts +10 -0
- package/dist/types/styles/emptyStates.d.ts.map +1 -0
- package/dist/types/styles/forms.d.ts +10 -0
- package/dist/types/styles/forms.d.ts.map +1 -0
- package/dist/types/styles/headers.d.ts +11 -0
- package/dist/types/styles/headers.d.ts.map +1 -0
- package/dist/types/styles/index.d.ts +28 -0
- package/dist/types/styles/index.d.ts.map +1 -0
- package/dist/types/styles/inputs.d.ts +19 -0
- package/dist/types/styles/inputs.d.ts.map +1 -0
- package/dist/types/styles/listItems.d.ts +19 -0
- package/dist/types/styles/listItems.d.ts.map +1 -0
- package/dist/types/styles/modals.d.ts +15 -0
- package/dist/types/styles/modals.d.ts.map +1 -0
- package/dist/types/styles/pagination.d.ts +9 -0
- package/dist/types/styles/pagination.d.ts.map +1 -0
- package/dist/types/styles/popovers.d.ts +12 -0
- package/dist/types/styles/popovers.d.ts.map +1 -0
- package/dist/types/styles/progress.d.ts +11 -0
- package/dist/types/styles/progress.d.ts.map +1 -0
- package/dist/types/styles/radios.d.ts +17 -0
- package/dist/types/styles/radios.d.ts.map +1 -0
- package/dist/types/styles/selects.d.ts +25 -0
- package/dist/types/styles/selects.d.ts.map +1 -0
- package/dist/types/styles/skeletons.d.ts +13 -0
- package/dist/types/styles/skeletons.d.ts.map +1 -0
- package/dist/types/styles/steppers.d.ts +21 -0
- package/dist/types/styles/steppers.d.ts.map +1 -0
- package/dist/types/styles/switches.d.ts +17 -0
- package/dist/types/styles/switches.d.ts.map +1 -0
- package/dist/types/styles/tables.d.ts +13 -0
- package/dist/types/styles/tables.d.ts.map +1 -0
- package/dist/types/styles/tabs.d.ts +19 -0
- package/dist/types/styles/tabs.d.ts.map +1 -0
- package/dist/types/styles/toasts.d.ts +13 -0
- package/dist/types/styles/toasts.d.ts.map +1 -0
- package/dist/types/styles/tooltips.d.ts +9 -0
- package/dist/types/styles/tooltips.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +3 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/states.d.ts +26 -0
- package/dist/types/types/states.d.ts.map +1 -0
- package/dist/types/types/tokens.d.ts +16 -0
- package/dist/types/types/tokens.d.ts.map +1 -0
- package/package.json +73 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getChipParts = void 0;
|
|
4
|
+
// styles/chips.ts
|
|
5
|
+
const tokens_1 = require("../types/tokens");
|
|
6
|
+
const getChipParts = (t, opts = {}) => {
|
|
7
|
+
const variant = opts.variant ?? 'filled';
|
|
8
|
+
const selected = Boolean(opts.selected);
|
|
9
|
+
const disabled = Boolean(opts.disabled);
|
|
10
|
+
const base = {
|
|
11
|
+
container: {
|
|
12
|
+
minHeight: (0, tokens_1.tok)(t, 'tap-target-min'),
|
|
13
|
+
alignSelf: 'flex-start',
|
|
14
|
+
flexDirection: 'row',
|
|
15
|
+
alignItems: 'center',
|
|
16
|
+
gap: (0, tokens_1.tok)(t, 'space-2'),
|
|
17
|
+
paddingHorizontal: (0, tokens_1.tok)(t, 'space-3'),
|
|
18
|
+
paddingVertical: (0, tokens_1.tok)(t, 'space-2'),
|
|
19
|
+
borderRadius: (0, tokens_1.tok)(t, 'radius-full'),
|
|
20
|
+
borderWidth: (0, tokens_1.tok)(t, 'border-width-default'),
|
|
21
|
+
},
|
|
22
|
+
label: {
|
|
23
|
+
fontFamily: (0, tokens_1.tok)(t, 'typography-font-family-base'),
|
|
24
|
+
fontSize: (0, tokens_1.tok)(t, 'typography-font-size-2'),
|
|
25
|
+
fontWeight: (0, tokens_1.tok)(t, 'typography-font-weight-medium'),
|
|
26
|
+
lineHeight: (0, tokens_1.tok)(t, 'typography-line-height-default'),
|
|
27
|
+
},
|
|
28
|
+
leftIcon: {
|
|
29
|
+
width: (0, tokens_1.tok)(t, 'typography-font-size-4'),
|
|
30
|
+
height: (0, tokens_1.tok)(t, 'typography-font-size-4'),
|
|
31
|
+
},
|
|
32
|
+
rightIcon: {
|
|
33
|
+
width: (0, tokens_1.tok)(t, 'typography-font-size-4'),
|
|
34
|
+
height: (0, tokens_1.tok)(t, 'typography-font-size-4'),
|
|
35
|
+
},
|
|
36
|
+
focusRing: {
|
|
37
|
+
outlineStyle: 'solid',
|
|
38
|
+
outlineWidth: (0, tokens_1.tok)(t, 'border-width-focus'),
|
|
39
|
+
outlineColor: (0, tokens_1.tok)(t, 'color-focus-ring'),
|
|
40
|
+
outlineOffset: (0, tokens_1.tok)(t, 'focus-ring-gap'),
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
const filled = {
|
|
44
|
+
backgroundColor: selected
|
|
45
|
+
? (0, tokens_1.tok)(t, 'color-action-primary')
|
|
46
|
+
: (0, tokens_1.tok)(t, 'color-surface-alt'),
|
|
47
|
+
borderColor: selected
|
|
48
|
+
? (0, tokens_1.tok)(t, 'color-action-primary')
|
|
49
|
+
: (0, tokens_1.tok)(t, 'color-border-subtle'),
|
|
50
|
+
};
|
|
51
|
+
const filledLabel = {
|
|
52
|
+
color: selected
|
|
53
|
+
? (0, tokens_1.tok)(t, 'color-action-primary-fg')
|
|
54
|
+
: (0, tokens_1.tok)(t, 'color-fg-default'),
|
|
55
|
+
};
|
|
56
|
+
const outlined = {
|
|
57
|
+
backgroundColor: 'transparent',
|
|
58
|
+
borderColor: selected
|
|
59
|
+
? (0, tokens_1.tok)(t, 'color-action-primary')
|
|
60
|
+
: (0, tokens_1.tok)(t, 'color-border-strong'),
|
|
61
|
+
};
|
|
62
|
+
const outlinedLabel = {
|
|
63
|
+
color: selected
|
|
64
|
+
? (0, tokens_1.tok)(t, 'color-action-primary')
|
|
65
|
+
: (0, tokens_1.tok)(t, 'color-fg-default'),
|
|
66
|
+
};
|
|
67
|
+
const disabledS = {
|
|
68
|
+
backgroundColor: (0, tokens_1.tok)(t, 'color-state-disabled-bg'),
|
|
69
|
+
borderColor: (0, tokens_1.tok)(t, 'color-state-disabled-bg'),
|
|
70
|
+
opacity: (0, tokens_1.tok)(t, 'opacity-disabled'),
|
|
71
|
+
};
|
|
72
|
+
const disabledLabel = { color: (0, tokens_1.tok)(t, 'color-state-disabled-fg') };
|
|
73
|
+
const interaction = opts.pressed
|
|
74
|
+
? { opacity: (0, tokens_1.tok)(t, 'opacity-pressed') }
|
|
75
|
+
: opts.hovered
|
|
76
|
+
? { opacity: 0.96 }
|
|
77
|
+
: {};
|
|
78
|
+
return {
|
|
79
|
+
container: (0, tokens_1.merge)(base.container, variant === 'filled' ? filled : outlined, interaction, disabled && disabledS),
|
|
80
|
+
label: (0, tokens_1.merge)(base.label, variant === 'filled' ? filledLabel : outlinedLabel, disabled && disabledLabel),
|
|
81
|
+
leftIcon: (0, tokens_1.merge)(base.leftIcon, {
|
|
82
|
+
color: (disabled
|
|
83
|
+
? disabledLabel.color
|
|
84
|
+
: variant === 'filled'
|
|
85
|
+
? filledLabel.color
|
|
86
|
+
: outlinedLabel.color),
|
|
87
|
+
}),
|
|
88
|
+
rightIcon: (0, tokens_1.merge)(base.rightIcon, {
|
|
89
|
+
color: (disabled
|
|
90
|
+
? disabledLabel.color
|
|
91
|
+
: variant === 'filled'
|
|
92
|
+
? filledLabel.color
|
|
93
|
+
: outlinedLabel.color),
|
|
94
|
+
}),
|
|
95
|
+
focusRing: (0, tokens_1.merge)(opts.focusVisible ? base.focusRing : undefined),
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
exports.getChipParts = getChipParts;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCalendarDayParts = exports.getDatePickerParts = void 0;
|
|
4
|
+
// styles/datePickers.ts
|
|
5
|
+
const tokens_1 = require("../types/tokens");
|
|
6
|
+
const getDatePickerParts = (t) => {
|
|
7
|
+
return {
|
|
8
|
+
container: {
|
|
9
|
+
backgroundColor: (0, tokens_1.tok)(t, 'color-surface'),
|
|
10
|
+
borderColor: (0, tokens_1.tok)(t, 'color-border-subtle'),
|
|
11
|
+
borderWidth: (0, tokens_1.tok)(t, 'border-width-default'),
|
|
12
|
+
borderRadius: (0, tokens_1.tok)(t, 'radius-4'),
|
|
13
|
+
shadow: (0, tokens_1.tok)(t, 'shadow-level-2'),
|
|
14
|
+
padding: (0, tokens_1.tok)(t, 'space-3'),
|
|
15
|
+
},
|
|
16
|
+
header: {
|
|
17
|
+
flexDirection: 'row',
|
|
18
|
+
alignItems: 'center',
|
|
19
|
+
justifyContent: 'space-between',
|
|
20
|
+
paddingBottom: (0, tokens_1.tok)(t, 'space-2'),
|
|
21
|
+
marginBottom: (0, tokens_1.tok)(t, 'space-2'),
|
|
22
|
+
borderBottomWidth: (0, tokens_1.tok)(t, 'border-width-default'),
|
|
23
|
+
borderBottomColor: (0, tokens_1.tok)(t, 'color-border-subtle'),
|
|
24
|
+
},
|
|
25
|
+
monthLabel: {
|
|
26
|
+
color: (0, tokens_1.tok)(t, 'color-fg-default'),
|
|
27
|
+
fontFamily: (0, tokens_1.tok)(t, 'typography-font-family-heading'),
|
|
28
|
+
fontSize: (0, tokens_1.tok)(t, 'typography-font-size-3'),
|
|
29
|
+
fontWeight: (0, tokens_1.tok)(t, 'typography-font-weight-strong'),
|
|
30
|
+
lineHeight: (0, tokens_1.tok)(t, 'typography-line-height-tight'),
|
|
31
|
+
},
|
|
32
|
+
navButton: {
|
|
33
|
+
minHeight: (0, tokens_1.tok)(t, 'tap-target-min'),
|
|
34
|
+
minWidth: (0, tokens_1.tok)(t, 'tap-target-min'),
|
|
35
|
+
borderRadius: (0, tokens_1.tok)(t, 'radius-full'),
|
|
36
|
+
alignItems: 'center',
|
|
37
|
+
justifyContent: 'center',
|
|
38
|
+
},
|
|
39
|
+
weekRow: {
|
|
40
|
+
flexDirection: 'row',
|
|
41
|
+
justifyContent: 'space-between',
|
|
42
|
+
marginBottom: (0, tokens_1.tok)(t, 'space-2'),
|
|
43
|
+
},
|
|
44
|
+
weekdayLabel: {
|
|
45
|
+
width: (0, tokens_1.tok)(t, 'tap-target-min'),
|
|
46
|
+
textAlign: 'center',
|
|
47
|
+
color: (0, tokens_1.tok)(t, 'color-fg-muted'),
|
|
48
|
+
fontFamily: (0, tokens_1.tok)(t, 'typography-font-family-base'),
|
|
49
|
+
fontSize: (0, tokens_1.tok)(t, 'typography-font-size-2'),
|
|
50
|
+
fontWeight: (0, tokens_1.tok)(t, 'typography-font-weight-medium'),
|
|
51
|
+
},
|
|
52
|
+
dayCell: {
|
|
53
|
+
width: (0, tokens_1.tok)(t, 'tap-target-min'),
|
|
54
|
+
height: (0, tokens_1.tok)(t, 'tap-target-min'),
|
|
55
|
+
borderRadius: (0, tokens_1.tok)(t, 'radius-full'),
|
|
56
|
+
alignItems: 'center',
|
|
57
|
+
justifyContent: 'center',
|
|
58
|
+
},
|
|
59
|
+
dayText: {
|
|
60
|
+
color: (0, tokens_1.tok)(t, 'color-fg-default'),
|
|
61
|
+
fontFamily: (0, tokens_1.tok)(t, 'typography-font-family-base'),
|
|
62
|
+
fontSize: (0, tokens_1.tok)(t, 'typography-font-size-2'),
|
|
63
|
+
fontWeight: (0, tokens_1.tok)(t, 'typography-font-weight-regular'),
|
|
64
|
+
lineHeight: (0, tokens_1.tok)(t, 'typography-line-height-default'),
|
|
65
|
+
},
|
|
66
|
+
dayFocusRing: {
|
|
67
|
+
outlineStyle: 'solid',
|
|
68
|
+
outlineWidth: (0, tokens_1.tok)(t, 'border-width-focus'),
|
|
69
|
+
outlineColor: (0, tokens_1.tok)(t, 'color-focus-ring'),
|
|
70
|
+
outlineOffset: (0, tokens_1.tok)(t, 'focus-ring-gap'),
|
|
71
|
+
},
|
|
72
|
+
rangeFill: {
|
|
73
|
+
backgroundColor: (0, tokens_1.tok)(t, 'color-surface-alt'),
|
|
74
|
+
borderRadius: (0, tokens_1.tok)(t, 'radius-full'),
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
exports.getDatePickerParts = getDatePickerParts;
|
|
79
|
+
const getCalendarDayParts = (t, s = {}) => {
|
|
80
|
+
const base = (0, exports.getDatePickerParts)(t);
|
|
81
|
+
const disabled = {
|
|
82
|
+
backgroundColor: 'transparent',
|
|
83
|
+
opacity: (0, tokens_1.tok)(t, 'opacity-disabled'),
|
|
84
|
+
};
|
|
85
|
+
const outside = {
|
|
86
|
+
opacity: 0.5,
|
|
87
|
+
};
|
|
88
|
+
const today = {
|
|
89
|
+
borderWidth: (0, tokens_1.tok)(t, 'border-width-default'),
|
|
90
|
+
borderColor: (0, tokens_1.tok)(t, 'color-border-strong'),
|
|
91
|
+
};
|
|
92
|
+
const selected = {
|
|
93
|
+
backgroundColor: (0, tokens_1.tok)(t, 'color-action-primary'),
|
|
94
|
+
};
|
|
95
|
+
const selectedText = {
|
|
96
|
+
color: (0, tokens_1.tok)(t, 'color-action-primary-fg'),
|
|
97
|
+
fontWeight: (0, tokens_1.tok)(t, 'typography-font-weight-strong'),
|
|
98
|
+
};
|
|
99
|
+
const inRange = {
|
|
100
|
+
backgroundColor: (0, tokens_1.tok)(t, 'color-surface-alt'),
|
|
101
|
+
};
|
|
102
|
+
const interaction = s.pressed
|
|
103
|
+
? { opacity: (0, tokens_1.tok)(t, 'opacity-pressed') }
|
|
104
|
+
: s.hovered
|
|
105
|
+
? { opacity: 0.96 }
|
|
106
|
+
: {};
|
|
107
|
+
return {
|
|
108
|
+
cell: (0, tokens_1.merge)(base.dayCell, s.isInRange && inRange, s.isToday && today, s.isSelected && selected, s.isOutsideMonth && outside, s.isDisabled && disabled, interaction),
|
|
109
|
+
text: (0, tokens_1.merge)(base.dayText, s.isSelected && selectedText, s.isDisabled && { color: (0, tokens_1.tok)(t, 'color-state-disabled-fg') }),
|
|
110
|
+
focusRing: (0, tokens_1.merge)(s.focusVisible ? base.dayFocusRing : undefined),
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
exports.getCalendarDayParts = getCalendarDayParts;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDividerStyle = void 0;
|
|
4
|
+
// styles/dividers.ts
|
|
5
|
+
const tokens_1 = require("../types/tokens");
|
|
6
|
+
const getDividerStyle = (t, variant = 'subtle') => ({
|
|
7
|
+
height: (0, tokens_1.tok)(t, 'border-width-default'),
|
|
8
|
+
backgroundColor: variant === 'strong'
|
|
9
|
+
? (0, tokens_1.tok)(t, 'color-border-strong')
|
|
10
|
+
: (0, tokens_1.tok)(t, 'color-border-subtle'),
|
|
11
|
+
});
|
|
12
|
+
exports.getDividerStyle = getDividerStyle;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getEmptyStateParts = void 0;
|
|
4
|
+
// styles/emptyStates.ts
|
|
5
|
+
const tokens_1 = require("../types/tokens");
|
|
6
|
+
const getEmptyStateParts = (t) => ({
|
|
7
|
+
container: {
|
|
8
|
+
alignItems: 'center',
|
|
9
|
+
justifyContent: 'center',
|
|
10
|
+
padding: (0, tokens_1.tok)(t, 'space-6'),
|
|
11
|
+
gap: (0, tokens_1.tok)(t, 'space-3'),
|
|
12
|
+
},
|
|
13
|
+
icon: {
|
|
14
|
+
width: (0, tokens_1.tok)(t, 'typography-font-size-6'),
|
|
15
|
+
height: (0, tokens_1.tok)(t, 'typography-font-size-6'),
|
|
16
|
+
color: (0, tokens_1.tok)(t, 'color-fg-muted'),
|
|
17
|
+
},
|
|
18
|
+
title: {
|
|
19
|
+
color: (0, tokens_1.tok)(t, 'color-fg-default'),
|
|
20
|
+
fontFamily: (0, tokens_1.tok)(t, 'typography-font-family-heading'),
|
|
21
|
+
fontSize: (0, tokens_1.tok)(t, 'typography-font-size-5'),
|
|
22
|
+
fontWeight: (0, tokens_1.tok)(t, 'typography-font-weight-strong'),
|
|
23
|
+
lineHeight: (0, tokens_1.tok)(t, 'typography-line-height-tight'),
|
|
24
|
+
textAlign: 'center',
|
|
25
|
+
},
|
|
26
|
+
message: {
|
|
27
|
+
color: (0, tokens_1.tok)(t, 'color-fg-muted'),
|
|
28
|
+
fontFamily: (0, tokens_1.tok)(t, 'typography-font-family-base'),
|
|
29
|
+
fontSize: (0, tokens_1.tok)(t, 'typography-font-size-3'),
|
|
30
|
+
fontWeight: (0, tokens_1.tok)(t, 'typography-font-weight-regular'),
|
|
31
|
+
lineHeight: (0, tokens_1.tok)(t, 'typography-line-height-default'),
|
|
32
|
+
textAlign: 'center',
|
|
33
|
+
},
|
|
34
|
+
actions: {
|
|
35
|
+
marginTop: (0, tokens_1.tok)(t, 'space-2'),
|
|
36
|
+
flexDirection: 'row',
|
|
37
|
+
gap: (0, tokens_1.tok)(t, 'space-2'),
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
exports.getEmptyStateParts = getEmptyStateParts;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getFormLayout = void 0;
|
|
4
|
+
// styles/forms.ts
|
|
5
|
+
const tokens_1 = require("../types/tokens");
|
|
6
|
+
const getFormLayout = (t) => ({
|
|
7
|
+
form: {
|
|
8
|
+
gap: (0, tokens_1.tok)(t, 'space-4'),
|
|
9
|
+
},
|
|
10
|
+
field: {
|
|
11
|
+
gap: (0, tokens_1.tok)(t, 'space-1'),
|
|
12
|
+
},
|
|
13
|
+
row: {
|
|
14
|
+
flexDirection: 'row',
|
|
15
|
+
gap: (0, tokens_1.tok)(t, 'space-3'),
|
|
16
|
+
},
|
|
17
|
+
section: {
|
|
18
|
+
padding: (0, tokens_1.tok)(t, 'space-4'),
|
|
19
|
+
backgroundColor: (0, tokens_1.tok)(t, 'color-surface'),
|
|
20
|
+
borderRadius: (0, tokens_1.tok)(t, 'radius-4'),
|
|
21
|
+
borderWidth: (0, tokens_1.tok)(t, 'border-width-default'),
|
|
22
|
+
borderColor: (0, tokens_1.tok)(t, 'color-border-subtle'),
|
|
23
|
+
gap: (0, tokens_1.tok)(t, 'space-3'),
|
|
24
|
+
},
|
|
25
|
+
actions: {
|
|
26
|
+
marginTop: (0, tokens_1.tok)(t, 'space-2'),
|
|
27
|
+
flexDirection: 'row',
|
|
28
|
+
justifyContent: 'flex-end',
|
|
29
|
+
gap: (0, tokens_1.tok)(t, 'space-2'),
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
exports.getFormLayout = getFormLayout;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getHeaderParts = void 0;
|
|
4
|
+
// styles/headers.ts
|
|
5
|
+
const tokens_1 = require("../types/tokens");
|
|
6
|
+
const getHeaderParts = (t) => ({
|
|
7
|
+
container: {
|
|
8
|
+
minHeight: (0, tokens_1.tok)(t, 'tap-target-min'),
|
|
9
|
+
paddingHorizontal: (0, tokens_1.tok)(t, 'space-4'),
|
|
10
|
+
paddingVertical: (0, tokens_1.tok)(t, 'space-3'),
|
|
11
|
+
backgroundColor: (0, tokens_1.tok)(t, 'color-surface'),
|
|
12
|
+
borderBottomWidth: (0, tokens_1.tok)(t, 'border-width-default'),
|
|
13
|
+
borderBottomColor: (0, tokens_1.tok)(t, 'color-border-subtle'),
|
|
14
|
+
flexDirection: 'row',
|
|
15
|
+
alignItems: 'center',
|
|
16
|
+
justifyContent: 'space-between',
|
|
17
|
+
zIndex: (0, tokens_1.tok)(t, 'z-index-layer-navbar'),
|
|
18
|
+
},
|
|
19
|
+
left: {
|
|
20
|
+
minWidth: (0, tokens_1.tok)(t, 'tap-target-min'),
|
|
21
|
+
alignItems: 'flex-start',
|
|
22
|
+
justifyContent: 'center',
|
|
23
|
+
},
|
|
24
|
+
center: { flex: 1, alignItems: 'center', justifyContent: 'center' },
|
|
25
|
+
right: {
|
|
26
|
+
minWidth: (0, tokens_1.tok)(t, 'tap-target-min'),
|
|
27
|
+
alignItems: 'flex-end',
|
|
28
|
+
justifyContent: 'center',
|
|
29
|
+
},
|
|
30
|
+
title: {
|
|
31
|
+
color: (0, tokens_1.tok)(t, 'color-fg-default'),
|
|
32
|
+
fontFamily: (0, tokens_1.tok)(t, 'typography-font-family-heading'),
|
|
33
|
+
fontSize: (0, tokens_1.tok)(t, 'typography-font-size-4'),
|
|
34
|
+
fontWeight: (0, tokens_1.tok)(t, 'typography-font-weight-strong'),
|
|
35
|
+
lineHeight: (0, tokens_1.tok)(t, 'typography-line-height-tight'),
|
|
36
|
+
},
|
|
37
|
+
subtitle: {
|
|
38
|
+
marginTop: (0, tokens_1.tok)(t, 'space-1'),
|
|
39
|
+
color: (0, tokens_1.tok)(t, 'color-fg-muted'),
|
|
40
|
+
fontFamily: (0, tokens_1.tok)(t, 'typography-font-family-base'),
|
|
41
|
+
fontSize: (0, tokens_1.tok)(t, 'typography-font-size-2'),
|
|
42
|
+
fontWeight: (0, tokens_1.tok)(t, 'typography-font-weight-regular'),
|
|
43
|
+
lineHeight: (0, tokens_1.tok)(t, 'typography-line-height-default'),
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
exports.getHeaderParts = getHeaderParts;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./avatars"), exports);
|
|
18
|
+
__exportStar(require("./badges"), exports);
|
|
19
|
+
__exportStar(require("./bottomSheets"), exports);
|
|
20
|
+
__exportStar(require("./buttons"), exports);
|
|
21
|
+
__exportStar(require("./cards"), exports);
|
|
22
|
+
__exportStar(require("./checkboxes"), exports);
|
|
23
|
+
__exportStar(require("./chips"), exports);
|
|
24
|
+
__exportStar(require("./datePickers"), exports);
|
|
25
|
+
__exportStar(require("./dividers"), exports);
|
|
26
|
+
__exportStar(require("./emptyStates"), exports);
|
|
27
|
+
__exportStar(require("./forms"), exports);
|
|
28
|
+
__exportStar(require("./headers"), exports);
|
|
29
|
+
__exportStar(require("./inputs"), exports);
|
|
30
|
+
__exportStar(require("./listItems"), exports);
|
|
31
|
+
__exportStar(require("./modals"), exports);
|
|
32
|
+
__exportStar(require("./pagination"), exports);
|
|
33
|
+
__exportStar(require("./popovers"), exports);
|
|
34
|
+
__exportStar(require("./progress"), exports);
|
|
35
|
+
__exportStar(require("./radios"), exports);
|
|
36
|
+
__exportStar(require("./selects"), exports);
|
|
37
|
+
__exportStar(require("./skeletons"), exports);
|
|
38
|
+
__exportStar(require("./steppers"), exports);
|
|
39
|
+
__exportStar(require("./switches"), exports);
|
|
40
|
+
__exportStar(require("./tables"), exports);
|
|
41
|
+
__exportStar(require("./tabs"), exports);
|
|
42
|
+
__exportStar(require("./toasts"), exports);
|
|
43
|
+
__exportStar(require("./tooltips"), exports);
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getInputParts = void 0;
|
|
4
|
+
// styles/inputs.ts
|
|
5
|
+
const tokens_1 = require("../types/tokens");
|
|
6
|
+
const sizeStyles = (t) => ({
|
|
7
|
+
sm: {
|
|
8
|
+
fieldWrapper: {
|
|
9
|
+
minHeight: (0, tokens_1.tok)(t, 'tap-target-min'),
|
|
10
|
+
paddingHorizontal: (0, tokens_1.tok)(t, 'space-3'),
|
|
11
|
+
paddingVertical: (0, tokens_1.tok)(t, 'space-2'),
|
|
12
|
+
},
|
|
13
|
+
inputText: { fontSize: (0, tokens_1.tok)(t, 'typography-font-size-2') },
|
|
14
|
+
},
|
|
15
|
+
md: {
|
|
16
|
+
fieldWrapper: {
|
|
17
|
+
minHeight: (0, tokens_1.tok)(t, 'tap-target-min'),
|
|
18
|
+
paddingHorizontal: (0, tokens_1.tok)(t, 'space-4'),
|
|
19
|
+
paddingVertical: (0, tokens_1.tok)(t, 'space-2'),
|
|
20
|
+
},
|
|
21
|
+
inputText: { fontSize: (0, tokens_1.tok)(t, 'typography-font-size-3') },
|
|
22
|
+
},
|
|
23
|
+
lg: {
|
|
24
|
+
fieldWrapper: {
|
|
25
|
+
minHeight: (0, tokens_1.tok)(t, 'tap-target-min'),
|
|
26
|
+
paddingHorizontal: (0, tokens_1.tok)(t, 'space-5'),
|
|
27
|
+
paddingVertical: (0, tokens_1.tok)(t, 'space-3'),
|
|
28
|
+
},
|
|
29
|
+
inputText: { fontSize: (0, tokens_1.tok)(t, 'typography-font-size-4') },
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
const getInputParts = (t, opts = {}) => {
|
|
33
|
+
const size = opts.size ?? 'md';
|
|
34
|
+
const isDisabled = Boolean(opts.disabled);
|
|
35
|
+
const isError = Boolean(opts.error);
|
|
36
|
+
const isFocused = Boolean(opts.focused);
|
|
37
|
+
const s = sizeStyles(t)[size];
|
|
38
|
+
const base = {
|
|
39
|
+
label: {
|
|
40
|
+
marginBottom: (0, tokens_1.tok)(t, 'space-1'),
|
|
41
|
+
color: (0, tokens_1.tok)(t, 'color-fg-muted'),
|
|
42
|
+
fontFamily: (0, tokens_1.tok)(t, 'typography-font-family-base'),
|
|
43
|
+
fontSize: (0, tokens_1.tok)(t, 'typography-font-size-2'),
|
|
44
|
+
fontWeight: (0, tokens_1.tok)(t, 'typography-font-weight-medium'),
|
|
45
|
+
lineHeight: (0, tokens_1.tok)(t, 'typography-line-height-default'),
|
|
46
|
+
},
|
|
47
|
+
fieldWrapper: (0, tokens_1.merge)({
|
|
48
|
+
backgroundColor: (0, tokens_1.tok)(t, 'color-input-bg'),
|
|
49
|
+
borderColor: (0, tokens_1.tok)(t, 'color-input-border'),
|
|
50
|
+
borderWidth: (0, tokens_1.tok)(t, 'border-width-default'),
|
|
51
|
+
borderRadius: (0, tokens_1.tok)(t, 'radius-2'),
|
|
52
|
+
justifyContent: 'center',
|
|
53
|
+
}, s.fieldWrapper),
|
|
54
|
+
inputText: (0, tokens_1.merge)({
|
|
55
|
+
color: (0, tokens_1.tok)(t, 'color-fg-default'),
|
|
56
|
+
fontFamily: (0, tokens_1.tok)(t, 'typography-font-family-base'),
|
|
57
|
+
lineHeight: (0, tokens_1.tok)(t, 'typography-line-height-default'),
|
|
58
|
+
}, s.inputText),
|
|
59
|
+
placeholder: {
|
|
60
|
+
color: (0, tokens_1.tok)(t, 'color-input-placeholder'),
|
|
61
|
+
},
|
|
62
|
+
helper: {
|
|
63
|
+
marginTop: (0, tokens_1.tok)(t, 'space-1'),
|
|
64
|
+
color: (0, tokens_1.tok)(t, 'color-fg-subtle'),
|
|
65
|
+
fontFamily: (0, tokens_1.tok)(t, 'typography-font-family-base'),
|
|
66
|
+
fontSize: (0, tokens_1.tok)(t, 'typography-font-size-1'),
|
|
67
|
+
lineHeight: (0, tokens_1.tok)(t, 'typography-line-height-default'),
|
|
68
|
+
},
|
|
69
|
+
focusRing: {
|
|
70
|
+
outlineStyle: 'solid',
|
|
71
|
+
outlineWidth: (0, tokens_1.tok)(t, 'border-width-focus'),
|
|
72
|
+
outlineColor: (0, tokens_1.tok)(t, 'color-focus-ring'),
|
|
73
|
+
outlineOffset: (0, tokens_1.tok)(t, 'focus-ring-gap'),
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
const focused = {
|
|
77
|
+
fieldWrapper: { borderColor: (0, tokens_1.tok)(t, 'color-input-border-focus') },
|
|
78
|
+
};
|
|
79
|
+
const error = {
|
|
80
|
+
fieldWrapper: { borderColor: (0, tokens_1.tok)(t, 'color-status-error') },
|
|
81
|
+
helper: { color: (0, tokens_1.tok)(t, 'color-status-error') },
|
|
82
|
+
};
|
|
83
|
+
const disabled = {
|
|
84
|
+
fieldWrapper: {
|
|
85
|
+
backgroundColor: (0, tokens_1.tok)(t, 'color-state-disabled-bg'),
|
|
86
|
+
borderColor: (0, tokens_1.tok)(t, 'color-state-disabled-bg'),
|
|
87
|
+
},
|
|
88
|
+
label: { color: (0, tokens_1.tok)(t, 'color-state-disabled-fg') },
|
|
89
|
+
inputText: { color: (0, tokens_1.tok)(t, 'color-state-disabled-fg') },
|
|
90
|
+
helper: { color: (0, tokens_1.tok)(t, 'color-state-disabled-fg') },
|
|
91
|
+
};
|
|
92
|
+
return {
|
|
93
|
+
label: (0, tokens_1.merge)(base.label, isDisabled && disabled.label),
|
|
94
|
+
fieldWrapper: (0, tokens_1.merge)(base.fieldWrapper, isFocused && focused.fieldWrapper, isError && error.fieldWrapper, isDisabled && disabled.fieldWrapper),
|
|
95
|
+
inputText: (0, tokens_1.merge)(base.inputText, isDisabled && disabled.inputText),
|
|
96
|
+
placeholder: (0, tokens_1.merge)(base.placeholder),
|
|
97
|
+
helper: (0, tokens_1.merge)(base.helper, isError && error.helper, isDisabled && disabled.helper),
|
|
98
|
+
focusRing: (0, tokens_1.merge)(isFocused ? base.focusRing : undefined),
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
exports.getInputParts = getInputParts;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getListItemParts = void 0;
|
|
4
|
+
// styles/listItems.ts
|
|
5
|
+
const tokens_1 = require("../types/tokens");
|
|
6
|
+
const getListItemParts = (t, s = {}) => {
|
|
7
|
+
const disabled = Boolean(s.disabled);
|
|
8
|
+
const base = {
|
|
9
|
+
container: {
|
|
10
|
+
minHeight: (0, tokens_1.tok)(t, 'tap-target-min'),
|
|
11
|
+
paddingVertical: (0, tokens_1.tok)(t, 'space-2'),
|
|
12
|
+
paddingHorizontal: (0, tokens_1.tok)(t, 'space-4'),
|
|
13
|
+
flexDirection: 'row',
|
|
14
|
+
alignItems: 'center',
|
|
15
|
+
gap: (0, tokens_1.tok)(t, 'space-3'),
|
|
16
|
+
borderRadius: (0, tokens_1.tok)(t, 'radius-3'),
|
|
17
|
+
},
|
|
18
|
+
left: {
|
|
19
|
+
width: (0, tokens_1.tok)(t, 'tap-target-min'),
|
|
20
|
+
alignItems: 'center',
|
|
21
|
+
justifyContent: 'center',
|
|
22
|
+
},
|
|
23
|
+
content: { flex: 1, gap: (0, tokens_1.tok)(t, 'space-1') },
|
|
24
|
+
right: {
|
|
25
|
+
minWidth: (0, tokens_1.tok)(t, 'tap-target-min'),
|
|
26
|
+
alignItems: 'center',
|
|
27
|
+
justifyContent: 'center',
|
|
28
|
+
},
|
|
29
|
+
title: {
|
|
30
|
+
color: (0, tokens_1.tok)(t, 'color-fg-default'),
|
|
31
|
+
fontFamily: (0, tokens_1.tok)(t, 'typography-font-family-base'),
|
|
32
|
+
fontSize: (0, tokens_1.tok)(t, 'typography-font-size-3'),
|
|
33
|
+
fontWeight: (0, tokens_1.tok)(t, 'typography-font-weight-medium'),
|
|
34
|
+
lineHeight: (0, tokens_1.tok)(t, 'typography-line-height-default'),
|
|
35
|
+
},
|
|
36
|
+
subtitle: {
|
|
37
|
+
color: (0, tokens_1.tok)(t, 'color-fg-muted'),
|
|
38
|
+
fontFamily: (0, tokens_1.tok)(t, 'typography-font-family-base'),
|
|
39
|
+
fontSize: (0, tokens_1.tok)(t, 'typography-font-size-2'),
|
|
40
|
+
fontWeight: (0, tokens_1.tok)(t, 'typography-font-weight-regular'),
|
|
41
|
+
lineHeight: (0, tokens_1.tok)(t, 'typography-line-height-default'),
|
|
42
|
+
},
|
|
43
|
+
focusRing: {
|
|
44
|
+
outlineStyle: 'solid',
|
|
45
|
+
outlineWidth: (0, tokens_1.tok)(t, 'border-width-focus'),
|
|
46
|
+
outlineColor: (0, tokens_1.tok)(t, 'color-focus-ring'),
|
|
47
|
+
outlineOffset: (0, tokens_1.tok)(t, 'focus-ring-gap'),
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
const selected = { backgroundColor: (0, tokens_1.tok)(t, 'color-surface-alt') };
|
|
51
|
+
const hover = { backgroundColor: (0, tokens_1.tok)(t, 'color-bg-subtle') };
|
|
52
|
+
const pressed = { opacity: (0, tokens_1.tok)(t, 'opacity-pressed') };
|
|
53
|
+
const disabledS = { opacity: (0, tokens_1.tok)(t, 'opacity-disabled') };
|
|
54
|
+
const disabledText = { color: (0, tokens_1.tok)(t, 'color-state-disabled-fg') };
|
|
55
|
+
return {
|
|
56
|
+
container: (0, tokens_1.merge)(base.container, s.selected && selected, s.hovered && hover, s.pressed && pressed, disabled && disabledS),
|
|
57
|
+
left: base.left,
|
|
58
|
+
content: base.content,
|
|
59
|
+
right: base.right,
|
|
60
|
+
title: (0, tokens_1.merge)(base.title, disabled && disabledText),
|
|
61
|
+
subtitle: (0, tokens_1.merge)(base.subtitle, disabled && disabledText),
|
|
62
|
+
focusRing: (0, tokens_1.merge)(s.focusVisible ? base.focusRing : undefined),
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
exports.getListItemParts = getListItemParts;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getModalParts = void 0;
|
|
4
|
+
// styles/modals.ts
|
|
5
|
+
const tokens_1 = require("../types/tokens");
|
|
6
|
+
const getModalParts = (t, opts) => {
|
|
7
|
+
const enter = (0, tokens_1.motion)(t, 'motion-emphasis-enter');
|
|
8
|
+
const exit = (0, tokens_1.motion)(t, 'motion-emphasis-exit');
|
|
9
|
+
const base = {
|
|
10
|
+
backdrop: {
|
|
11
|
+
position: 'absolute',
|
|
12
|
+
inset: 0,
|
|
13
|
+
backgroundColor: (0, tokens_1.tok)(t, 'color-overlay-backdrop'),
|
|
14
|
+
zIndex: (0, tokens_1.tok)(t, 'z-index-layer-overlay'),
|
|
15
|
+
},
|
|
16
|
+
container: {
|
|
17
|
+
position: 'absolute',
|
|
18
|
+
inset: 0,
|
|
19
|
+
alignItems: 'center',
|
|
20
|
+
justifyContent: 'center',
|
|
21
|
+
padding: (0, tokens_1.tok)(t, 'space-4'),
|
|
22
|
+
zIndex: (0, tokens_1.tok)(t, 'z-index-layer-modal'),
|
|
23
|
+
},
|
|
24
|
+
surface: {
|
|
25
|
+
width: '100%',
|
|
26
|
+
backgroundColor: (0, tokens_1.tok)(t, 'color-surface'),
|
|
27
|
+
borderRadius: (0, tokens_1.tok)(t, 'radius-4'),
|
|
28
|
+
borderWidth: (0, tokens_1.tok)(t, 'border-width-default'),
|
|
29
|
+
borderColor: (0, tokens_1.tok)(t, 'color-border-subtle'),
|
|
30
|
+
shadow: (0, tokens_1.tok)(t, 'shadow-level-4'),
|
|
31
|
+
overflow: 'hidden',
|
|
32
|
+
// semântico (runtime aplica animação)
|
|
33
|
+
animationEnterDurationMs: enter.durationMs,
|
|
34
|
+
animationEnterEasing: enter.easing,
|
|
35
|
+
animationExitDurationMs: exit.durationMs,
|
|
36
|
+
animationExitEasing: exit.easing,
|
|
37
|
+
},
|
|
38
|
+
header: {
|
|
39
|
+
paddingHorizontal: (0, tokens_1.tok)(t, 'space-4'),
|
|
40
|
+
paddingTop: (0, tokens_1.tok)(t, 'space-4'),
|
|
41
|
+
paddingBottom: (0, tokens_1.tok)(t, 'space-2'),
|
|
42
|
+
borderBottomWidth: (0, tokens_1.tok)(t, 'border-width-default'),
|
|
43
|
+
borderBottomColor: (0, tokens_1.tok)(t, 'color-border-subtle'),
|
|
44
|
+
},
|
|
45
|
+
body: {
|
|
46
|
+
paddingHorizontal: (0, tokens_1.tok)(t, 'space-4'),
|
|
47
|
+
paddingVertical: (0, tokens_1.tok)(t, 'space-3'),
|
|
48
|
+
},
|
|
49
|
+
footer: {
|
|
50
|
+
paddingHorizontal: (0, tokens_1.tok)(t, 'space-4'),
|
|
51
|
+
paddingTop: (0, tokens_1.tok)(t, 'space-2'),
|
|
52
|
+
paddingBottom: (0, tokens_1.tok)(t, 'space-4'),
|
|
53
|
+
borderTopWidth: (0, tokens_1.tok)(t, 'border-width-default'),
|
|
54
|
+
borderTopColor: (0, tokens_1.tok)(t, 'color-border-subtle'),
|
|
55
|
+
flexDirection: 'row',
|
|
56
|
+
justifyContent: 'flex-end',
|
|
57
|
+
gap: (0, tokens_1.tok)(t, 'space-2'),
|
|
58
|
+
},
|
|
59
|
+
title: {
|
|
60
|
+
color: (0, tokens_1.tok)(t, 'color-fg-default'),
|
|
61
|
+
fontFamily: (0, tokens_1.tok)(t, 'typography-font-family-heading'),
|
|
62
|
+
fontSize: (0, tokens_1.tok)(t, 'typography-font-size-5'),
|
|
63
|
+
fontWeight: (0, tokens_1.tok)(t, 'typography-font-weight-strong'),
|
|
64
|
+
lineHeight: (0, tokens_1.tok)(t, 'typography-line-height-tight'),
|
|
65
|
+
},
|
|
66
|
+
subtitle: {
|
|
67
|
+
marginTop: (0, tokens_1.tok)(t, 'space-1'),
|
|
68
|
+
color: (0, tokens_1.tok)(t, 'color-fg-muted'),
|
|
69
|
+
fontFamily: (0, tokens_1.tok)(t, 'typography-font-family-base'),
|
|
70
|
+
fontSize: (0, tokens_1.tok)(t, 'typography-font-size-3'),
|
|
71
|
+
fontWeight: (0, tokens_1.tok)(t, 'typography-font-weight-regular'),
|
|
72
|
+
lineHeight: (0, tokens_1.tok)(t, 'typography-line-height-default'),
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
if (!opts?.dense)
|
|
76
|
+
return base;
|
|
77
|
+
return {
|
|
78
|
+
...base,
|
|
79
|
+
header: (0, tokens_1.merge)(base.header, {
|
|
80
|
+
paddingHorizontal: (0, tokens_1.tok)(t, 'space-3'),
|
|
81
|
+
paddingTop: (0, tokens_1.tok)(t, 'space-3'),
|
|
82
|
+
}),
|
|
83
|
+
body: (0, tokens_1.merge)(base.body, {
|
|
84
|
+
paddingHorizontal: (0, tokens_1.tok)(t, 'space-3'),
|
|
85
|
+
}),
|
|
86
|
+
footer: (0, tokens_1.merge)(base.footer, {
|
|
87
|
+
paddingHorizontal: (0, tokens_1.tok)(t, 'space-3'),
|
|
88
|
+
paddingBottom: (0, tokens_1.tok)(t, 'space-3'),
|
|
89
|
+
}),
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
exports.getModalParts = getModalParts;
|