@sellmate/design-system 1.0.21 → 1.0.23
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/dist/cjs/app-globals-V2Kpy_OQ.js +5 -0
- package/dist/cjs/{select-keyboard-navigation-CtstKOb3.js → base-dropdown-event-BTPlZ1KF.js} +0 -38
- package/dist/cjs/component.button-C6xBMwHf.js +115 -0
- package/dist/cjs/design-system.cjs.js +4 -3
- package/dist/cjs/{index-D-PnW6jc.js → index-Qvv0fGgj.js} +9 -117
- package/dist/cjs/loader.cjs.js +4 -3
- package/dist/cjs/sd-badge.cjs.entry.js +2 -2
- package/dist/cjs/sd-button-v2.cjs.entry.js +86 -0
- package/dist/cjs/sd-button-v2.config-BK45EPK_.js +203 -0
- package/dist/cjs/sd-button_21.cjs.entry.js +121 -67
- package/dist/cjs/sd-card.cjs.entry.js +2 -2
- package/dist/cjs/sd-date-picker.cjs.entry.js +2 -2
- package/dist/cjs/sd-dropdown-button.cjs.entry.js +274 -0
- package/dist/cjs/sd-file-picker.cjs.entry.js +4 -4
- package/dist/cjs/sd-form.cjs.entry.js +1 -1
- package/dist/cjs/sd-guide.cjs.entry.js +3 -3
- package/dist/cjs/sd-popover.cjs.entry.js +4 -4
- package/dist/cjs/sd-progress.cjs.entry.js +3 -3
- package/dist/cjs/sd-radio-button-group.cjs.entry.js +1 -1
- package/dist/cjs/sd-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/sd-select-multiple-group.cjs.entry.js +4 -3
- package/dist/cjs/sd-select-multiple.cjs.entry.js +5 -4
- package/dist/cjs/sd-select-option-group.cjs.entry.js +4 -4
- package/dist/cjs/sd-tabs.cjs.entry.js +7 -9
- package/dist/cjs/sd-tag.cjs.entry.js +96 -38
- package/dist/cjs/sd-toast.cjs.entry.js +3 -3
- package/dist/cjs/sd-toggle-button.cjs.entry.js +2 -2
- package/dist/cjs/sd-toggle.cjs.entry.js +2 -2
- package/dist/cjs/select-keyboard-navigation-s2wP37xZ.js +40 -0
- package/dist/cjs/{tooltipArrow-CMyNLSC-.js → tooltipArrow-Mb2Dhc7T.js} +1 -1
- package/dist/collection/collection-manifest.json +4 -2
- package/dist/collection/components/sd-badge/sd-badge.js +1 -1
- package/dist/collection/components/sd-button-v2/sd-button-v2.config.js +190 -0
- package/dist/collection/components/sd-button-v2/sd-button-v2.css +120 -0
- package/dist/collection/components/sd-button-v2/sd-button-v2.js +249 -0
- package/dist/collection/components/sd-card/sd-card.js +1 -1
- package/dist/collection/components/sd-date-picker/sd-date-picker.js +1 -1
- package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +2 -2
- package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.config.js +62 -0
- package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.css +171 -0
- package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +384 -0
- package/dist/collection/components/sd-field/sd-field.js +3 -3
- package/dist/collection/components/sd-file-picker/sd-file-picker.js +3 -3
- package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +1 -1
- package/dist/collection/components/sd-guide/sd-guide.js +2 -2
- package/dist/collection/components/sd-icon/sd-icon.js +1 -1
- package/dist/collection/components/sd-input/sd-input.js +1 -1
- package/dist/collection/components/sd-loading-spinner/sd-loading-spinner.js +1 -1
- package/dist/collection/components/sd-number-input/sd-number-input.js +4 -4
- package/dist/collection/components/sd-pagination/sd-pagination.js +2 -2
- package/dist/collection/components/sd-popover/sd-popover.js +2 -2
- package/dist/collection/components/sd-portal/sd-portal.js +89 -19
- package/dist/collection/components/sd-progress/sd-progress.js +2 -2
- package/dist/collection/components/sd-select/sd-select-dropdown/sd-select-dropdown.js +2 -2
- package/dist/collection/components/sd-select/sd-select-option/sd-select-option.js +1 -1
- package/dist/collection/components/sd-select/sd-select-search-input/sd-select-search-input.js +3 -3
- package/dist/collection/components/sd-select-multiple/sd-select-multiple.js +1 -1
- package/dist/collection/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.js +3 -3
- package/dist/collection/components/sd-tabs/sd-tabs.js +6 -8
- package/dist/collection/components/sd-tag/sd-tag.config.js +70 -0
- package/dist/collection/components/sd-tag/sd-tag.css +26 -56
- package/dist/collection/components/sd-tag/sd-tag.js +51 -104
- package/dist/collection/components/sd-textarea/sd-textarea.js +2 -2
- package/dist/collection/components/sd-toast/sd-toast.js +2 -2
- package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
- package/dist/collection/components/sd-toggle-button/sd-toggle-button.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/{p-DdOM8yc2.js → p-2FdkYfts.js} +1 -1
- package/dist/components/{p-CWg2auF3.js → p-B1o7vc2v.js} +1 -1
- package/dist/components/p-B1vJXa29.js +1 -0
- package/dist/components/p-BFO8hHjW.js +1 -0
- package/dist/components/{p-CbQobmaB.js → p-BKTfQGcR.js} +1 -1
- package/dist/components/{p-D0U1cMbs.js → p-BNuWMSR_.js} +1 -1
- package/dist/components/{p-B-UC5tW2.js → p-BxXKe48B.js} +1 -1
- package/dist/components/p-CAZeEBeS.js +1 -0
- package/dist/components/{p-D35gOcGh.js → p-CDzGasXW.js} +1 -1
- package/dist/components/{p-MmKik3mL.js → p-CVvYLd5J.js} +1 -1
- package/dist/components/{p-CU5TiEeI.js → p-CdCMe4bN.js} +1 -1
- package/dist/components/{p-rn5S2icF.js → p-CwM24aVj.js} +1 -1
- package/dist/components/p-Cy6HMEsK.js +1 -0
- package/dist/components/{p-BVFlD1Lp.js → p-CzHa12Ax.js} +1 -1
- package/dist/components/{p-Cef06v8S.js → p-Czq-8oT7.js} +1 -1
- package/dist/components/{p-DdNQILvd.js → p-D-ian_bu.js} +1 -1
- package/dist/components/{p-qSu-ayDy.js → p-D9mJxIjm.js} +1 -1
- package/dist/components/{p-J-Yn0oS3.js → p-DYoNy5I7.js} +1 -1
- package/dist/components/p-Dc4UTGgQ.js +1 -0
- package/dist/components/p-Dun2lZmi.js +1 -0
- package/dist/components/{p-C1XPuuO-.js → p-G4t0nGLP.js} +1 -1
- package/dist/components/p-NAapFxTw.js +1 -0
- package/dist/components/p-VKF2AWs1.js +1 -0
- package/dist/components/{p-C0yQ73oI.js → p-hfbNb5UF.js} +1 -1
- package/dist/components/sd-badge.js +1 -1
- package/dist/components/sd-button-v2.d.ts +11 -0
- package/dist/components/sd-button-v2.js +1 -0
- package/dist/components/sd-button.js +1 -1
- package/dist/components/sd-card.js +1 -1
- package/dist/components/sd-checkbox.js +1 -1
- package/dist/components/sd-date-box.js +1 -1
- package/dist/components/sd-date-picker.js +1 -1
- package/dist/components/sd-date-range-picker.js +1 -1
- package/dist/components/sd-dropdown-button.d.ts +11 -0
- package/dist/components/sd-dropdown-button.js +1 -0
- package/dist/components/sd-field.js +1 -1
- package/dist/components/sd-file-picker.js +1 -1
- package/dist/components/sd-floating-portal.js +1 -1
- package/dist/components/sd-form.js +1 -1
- package/dist/components/sd-guide.js +1 -1
- package/dist/components/sd-icon.js +1 -1
- package/dist/components/sd-input.js +1 -1
- package/dist/components/sd-loading-spinner.js +1 -1
- package/dist/components/sd-modal-card.js +1 -1
- package/dist/components/sd-number-input.js +1 -1
- package/dist/components/sd-pagination.js +1 -1
- package/dist/components/sd-popover.js +1 -1
- package/dist/components/sd-portal.js +1 -1
- package/dist/components/sd-progress.js +1 -1
- package/dist/components/sd-radio-button-group.js +1 -1
- package/dist/components/sd-radio-group.js +1 -1
- package/dist/components/sd-radio.js +1 -1
- package/dist/components/sd-select-dropdown.js +1 -1
- package/dist/components/sd-select-multiple-group.js +1 -1
- package/dist/components/sd-select-multiple.js +1 -1
- package/dist/components/sd-select-option-group.js +1 -1
- package/dist/components/sd-select-option.js +1 -1
- package/dist/components/sd-select-search-input.js +1 -1
- package/dist/components/sd-select.js +1 -1
- package/dist/components/sd-table.js +1 -1
- package/dist/components/sd-tabs.js +1 -1
- package/dist/components/sd-tag.js +1 -1
- package/dist/components/sd-textarea.js +1 -1
- package/dist/components/sd-toast.js +1 -1
- package/dist/components/sd-toggle-button.js +1 -1
- package/dist/components/sd-toggle.js +1 -1
- package/dist/components/sd-tooltip.js +1 -1
- package/dist/design-system/design-system.esm.js +1 -1
- package/dist/design-system/{p-3d03b19e.entry.js → p-02c5ab69.entry.js} +1 -1
- package/dist/design-system/{p-3301c280.entry.js → p-1b80635f.entry.js} +1 -1
- package/dist/design-system/p-285cc646.entry.js +1 -0
- package/dist/design-system/{p-8fde8570.entry.js → p-3565f871.entry.js} +1 -1
- package/dist/design-system/{p-0406b7f9.entry.js → p-5032c700.entry.js} +1 -1
- package/dist/design-system/{p-d6b38732.entry.js → p-5094848f.entry.js} +1 -1
- package/dist/design-system/p-59a52297.entry.js +1 -0
- package/dist/design-system/p-712c1ef1.entry.js +1 -0
- package/dist/design-system/{p-3e07e92a.entry.js → p-83f320e6.entry.js} +1 -1
- package/dist/design-system/{p-32c27eca.entry.js → p-8b013328.entry.js} +1 -1
- package/dist/design-system/{p-d021a375.entry.js → p-9563ffe1.entry.js} +1 -1
- package/dist/design-system/p-B8tGP77V.js +2 -0
- package/dist/design-system/p-BeCHKP_I.js +1 -0
- package/dist/design-system/p-CRdYeSBK.js +1 -0
- package/dist/design-system/p-DQuL1Twl.js +1 -0
- package/dist/design-system/p-Dc4UTGgQ.js +1 -0
- package/dist/design-system/p-VKF2AWs1.js +1 -0
- package/dist/design-system/p-a3025f1f.entry.js +1 -0
- package/dist/design-system/p-b1e45f3f.entry.js +1 -0
- package/dist/design-system/{p-d344fa9d.entry.js → p-c0655cd1.entry.js} +1 -1
- package/dist/design-system/p-d8a141e7.entry.js +1 -0
- package/dist/design-system/p-df3d3a2a.entry.js +1 -0
- package/dist/design-system/{p-8f99cd66.entry.js → p-e6d84ecf.entry.js} +1 -1
- package/dist/design-system/p-e7d7ceb4.entry.js +1 -0
- package/dist/design-system/{p-646ed990.entry.js → p-ea26b8e9.entry.js} +1 -1
- package/dist/design-system/p-f1b31194.entry.js +1 -0
- package/dist/design-system/p-f81d3798.entry.js +1 -0
- package/dist/design-system/p-xxEHPVkL.js +1 -0
- package/dist/esm/app-globals-DQuL1Twl.js +3 -0
- package/dist/esm/{select-keyboard-navigation-D8-D-mJX.js → base-dropdown-event-CRdYeSBK.js} +1 -37
- package/dist/esm/component.button-Dc4UTGgQ.js +113 -0
- package/dist/esm/design-system.js +4 -3
- package/dist/esm/{index-C_an1PQ3.js → index-B8tGP77V.js} +10 -117
- package/dist/esm/loader.js +4 -3
- package/dist/esm/sd-badge.entry.js +2 -2
- package/dist/esm/sd-button-v2.config-BWmcscrt.js +193 -0
- package/dist/esm/sd-button-v2.entry.js +84 -0
- package/dist/esm/sd-button_21.entry.js +116 -62
- package/dist/esm/sd-card.entry.js +2 -2
- package/dist/esm/sd-date-picker.entry.js +2 -2
- package/dist/esm/sd-dropdown-button.entry.js +272 -0
- package/dist/esm/sd-file-picker.entry.js +4 -4
- package/dist/esm/sd-form.entry.js +1 -1
- package/dist/esm/sd-guide.entry.js +3 -3
- package/dist/esm/sd-popover.entry.js +4 -4
- package/dist/esm/sd-progress.entry.js +3 -3
- package/dist/esm/sd-radio-button-group.entry.js +1 -1
- package/dist/esm/sd-radio-group.entry.js +1 -1
- package/dist/esm/sd-select-multiple-group.entry.js +3 -2
- package/dist/esm/sd-select-multiple.entry.js +4 -3
- package/dist/esm/sd-select-option-group.entry.js +4 -4
- package/dist/esm/sd-tabs.entry.js +7 -9
- package/dist/esm/sd-tag.entry.js +96 -38
- package/dist/esm/sd-toast.entry.js +3 -3
- package/dist/esm/sd-toggle-button.entry.js +2 -2
- package/dist/esm/sd-toggle.entry.js +2 -2
- package/dist/esm/select-keyboard-navigation-xxEHPVkL.js +37 -0
- package/dist/esm/{tooltipArrow-BTp0AVR2.js → tooltipArrow-Pdc3NIc9.js} +1 -1
- package/dist/types/components/sd-button-v2/sd-button-v2.config.d.ts +178 -0
- package/dist/types/components/sd-button-v2/sd-button-v2.d.ts +18 -0
- package/dist/types/components/sd-dropdown-button/sd-dropdown-button.config.d.ts +55 -0
- package/dist/types/components/sd-dropdown-button/sd-dropdown-button.d.ts +34 -0
- package/dist/types/components/sd-portal/sd-portal.d.ts +9 -0
- package/dist/types/components/sd-tabs/sd-tabs.d.ts +1 -1
- package/dist/types/components/sd-tag/sd-tag.config.d.ts +23 -0
- package/dist/types/components/sd-tag/sd-tag.d.ts +6 -10
- package/dist/types/components.d.ts +168 -27
- package/dist/types/index.d.ts +2 -0
- package/hydrate/index.js +1069 -755
- package/hydrate/index.mjs +1069 -755
- package/package.json +2 -2
- package/dist/components/p-B82gJZ4z.js +0 -1
- package/dist/components/p-C6J-ZZxF.js +0 -1
- package/dist/components/p-CDehvEQ5.js +0 -1
- package/dist/components/p-CHAh-_qx.js +0 -1
- package/dist/components/p-CaEyReID.js +0 -1
- package/dist/design-system/p-103de692.entry.js +0 -1
- package/dist/design-system/p-3edd59b5.entry.js +0 -1
- package/dist/design-system/p-55c13597.entry.js +0 -1
- package/dist/design-system/p-679e4367.entry.js +0 -1
- package/dist/design-system/p-822233ee.entry.js +0 -1
- package/dist/design-system/p-Bak0zfmv.js +0 -1
- package/dist/design-system/p-C_an1PQ3.js +0 -2
- package/dist/design-system/p-D8-D-mJX.js +0 -1
- package/dist/design-system/p-ab3b6f63.entry.js +0 -1
- package/dist/design-system/p-de339565.entry.js +0 -1
- package/dist/design-system/p-fc0e636b.entry.js +0 -1
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
import { BUTTON_CONFIG, BUTTON_FOCUS_RING_COLOR, BUTTON_ICON_SIZES, DISABLED_CONTENT, PRESET_BORDER_COLORS, PRESET_CONTENT_COLORS, PRESET_HOVER_BACKGROUNDS, getPresetName, isButtonV2Name, } from "./sd-button-v2.config";
|
|
3
|
+
export class SdButtonV2 {
|
|
4
|
+
name = 'primary_sm';
|
|
5
|
+
label = '';
|
|
6
|
+
icon;
|
|
7
|
+
ariaLabel = '';
|
|
8
|
+
disabled = false;
|
|
9
|
+
type = 'button';
|
|
10
|
+
click;
|
|
11
|
+
hasWarnedMissingAriaLabel = false;
|
|
12
|
+
handleClick = (event) => {
|
|
13
|
+
if (this.disabled) {
|
|
14
|
+
event.preventDefault();
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
this.click.emit(event);
|
|
18
|
+
};
|
|
19
|
+
get resolvedConfig() {
|
|
20
|
+
if (!isButtonV2Name(this.name)) {
|
|
21
|
+
throw new Error(`Invalid sd-button-v2 name: ${this.name}`);
|
|
22
|
+
}
|
|
23
|
+
const config = BUTTON_CONFIG[this.name];
|
|
24
|
+
const preset = getPresetName(this.name);
|
|
25
|
+
return {
|
|
26
|
+
config,
|
|
27
|
+
preset,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
getButtonClasses(preset, size, hasLabel, iconOnly) {
|
|
31
|
+
const classes = ['sd-button-v2', `sd-button-v2--${preset}`, `sd-button-v2--${size}`];
|
|
32
|
+
if (this.disabled) {
|
|
33
|
+
classes.push('sd-button-v2--disabled');
|
|
34
|
+
}
|
|
35
|
+
if (iconOnly) {
|
|
36
|
+
classes.push('sd-button-v2--icon-only');
|
|
37
|
+
}
|
|
38
|
+
if (hasLabel) {
|
|
39
|
+
classes.push('sd-button-v2--has-label');
|
|
40
|
+
}
|
|
41
|
+
return classes.join(' ');
|
|
42
|
+
}
|
|
43
|
+
componentWillRender() {
|
|
44
|
+
this.warnIfMissingAriaLabel();
|
|
45
|
+
}
|
|
46
|
+
warnIfMissingAriaLabel() {
|
|
47
|
+
const iconOnly = !this.label && Boolean(this.icon);
|
|
48
|
+
const missingAriaLabel = iconOnly && !this.ariaLabel.trim();
|
|
49
|
+
if (!missingAriaLabel) {
|
|
50
|
+
this.hasWarnedMissingAriaLabel = false;
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
if (this.hasWarnedMissingAriaLabel) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
console.warn(`[sd-button-v2] icon-only buttons require \`ariaLabel\`. Received name="${this.name}" icon="${this.icon}".`);
|
|
57
|
+
this.hasWarnedMissingAriaLabel = true;
|
|
58
|
+
}
|
|
59
|
+
render() {
|
|
60
|
+
const { config, preset } = this.resolvedConfig;
|
|
61
|
+
const hasLabel = Boolean(this.label);
|
|
62
|
+
const iconOnly = !this.label && Boolean(this.icon);
|
|
63
|
+
const accessibleName = iconOnly && this.ariaLabel.trim() ? this.ariaLabel : undefined;
|
|
64
|
+
const iconColor = this.disabled ? DISABLED_CONTENT : PRESET_CONTENT_COLORS[preset];
|
|
65
|
+
return (h("button", { key: '9adec3868e5337822463a5a37a741ef146a081be', class: this.getButtonClasses(preset, config.size, hasLabel, iconOnly), type: this.type, disabled: this.disabled, "aria-label": accessibleName, style: {
|
|
66
|
+
'--sd-button-v2-bg': config.variant === 'primary' ? config.color : '#FFFFFF',
|
|
67
|
+
'--sd-button-v2-bg-hover': PRESET_HOVER_BACKGROUNDS[preset],
|
|
68
|
+
'--sd-button-v2-border': PRESET_BORDER_COLORS[preset],
|
|
69
|
+
'--sd-button-v2-content': PRESET_CONTENT_COLORS[preset],
|
|
70
|
+
'--sd-button-v2-accent': BUTTON_FOCUS_RING_COLOR,
|
|
71
|
+
}, onClick: this.handleClick }, h("span", { key: '849c90886e77e792e4e34ef064352361a29664f0', class: "sd-button-v2__content" }, this.icon && (h("sd-icon", { key: '5c5bc61ab43aa17124337a7107a3e6ab82f566ae', class: "sd-button-v2__icon", name: this.icon, size: BUTTON_ICON_SIZES[config.size], color: iconColor })), this.label && h("span", { key: 'e2d1a5ce465f07310a4d03966609baaf7e968b0e', class: "sd-button-v2__label" }, this.label))));
|
|
72
|
+
}
|
|
73
|
+
static get is() { return "sd-button-v2"; }
|
|
74
|
+
static get originalStyleUrls() {
|
|
75
|
+
return {
|
|
76
|
+
"$": ["sd-button-v2.scss"]
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
static get styleUrls() {
|
|
80
|
+
return {
|
|
81
|
+
"$": ["sd-button-v2.css"]
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
static get properties() {
|
|
85
|
+
return {
|
|
86
|
+
"name": {
|
|
87
|
+
"type": "string",
|
|
88
|
+
"mutable": false,
|
|
89
|
+
"complexType": {
|
|
90
|
+
"original": "ButtonV2Name",
|
|
91
|
+
"resolved": "\"danger_lg\" | \"danger_md\" | \"danger_outline_lg\" | \"danger_outline_md\" | \"danger_outline_sm\" | \"danger_outline_xs\" | \"danger_sm\" | \"danger_xs\" | \"neutral_lg\" | \"neutral_md\" | \"neutral_outline_lg\" | \"neutral_outline_md\" | \"neutral_outline_sm\" | \"neutral_outline_xs\" | \"neutral_sm\" | \"neutral_xs\" | \"primary_lg\" | \"primary_md\" | \"primary_outline_lg\" | \"primary_outline_md\" | \"primary_outline_sm\" | \"primary_outline_xs\" | \"primary_sm\" | \"primary_xs\" | \"secondary_lg\" | \"secondary_md\" | \"secondary_sm\" | \"secondary_xs\"",
|
|
92
|
+
"references": {
|
|
93
|
+
"ButtonV2Name": {
|
|
94
|
+
"location": "import",
|
|
95
|
+
"path": "./sd-button-v2.config",
|
|
96
|
+
"id": "src/components/sd-button-v2/sd-button-v2.config.ts::ButtonV2Name",
|
|
97
|
+
"referenceLocation": "ButtonV2Name"
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"required": false,
|
|
102
|
+
"optional": false,
|
|
103
|
+
"docs": {
|
|
104
|
+
"tags": [],
|
|
105
|
+
"text": ""
|
|
106
|
+
},
|
|
107
|
+
"getter": false,
|
|
108
|
+
"setter": false,
|
|
109
|
+
"reflect": false,
|
|
110
|
+
"attribute": "name",
|
|
111
|
+
"defaultValue": "'primary_sm'"
|
|
112
|
+
},
|
|
113
|
+
"label": {
|
|
114
|
+
"type": "string",
|
|
115
|
+
"mutable": false,
|
|
116
|
+
"complexType": {
|
|
117
|
+
"original": "string",
|
|
118
|
+
"resolved": "string",
|
|
119
|
+
"references": {}
|
|
120
|
+
},
|
|
121
|
+
"required": false,
|
|
122
|
+
"optional": false,
|
|
123
|
+
"docs": {
|
|
124
|
+
"tags": [],
|
|
125
|
+
"text": ""
|
|
126
|
+
},
|
|
127
|
+
"getter": false,
|
|
128
|
+
"setter": false,
|
|
129
|
+
"reflect": false,
|
|
130
|
+
"attribute": "label",
|
|
131
|
+
"defaultValue": "''"
|
|
132
|
+
},
|
|
133
|
+
"icon": {
|
|
134
|
+
"type": "string",
|
|
135
|
+
"mutable": false,
|
|
136
|
+
"complexType": {
|
|
137
|
+
"original": "IconName",
|
|
138
|
+
"resolved": "\"add\" | \"alert\" | \"alignKorean\" | \"archive\" | \"arrow2Down\" | \"arrow2Left\" | \"arrow2Right\" | \"arrow2Up\" | \"arrow2UpDown\" | \"arrowDown\" | \"arrowLeft\" | \"arrowLeftEnd\" | \"arrowRight\" | \"arrowRightEnd\" | \"arrowUp\" | \"attachFile\" | \"badgeNew\" | \"barcode\" | \"bell\" | \"board\" | \"box\" | \"cancelFilled\" | \"cancelOutline\" | \"caretDown\" | \"caretLeft\" | \"caretRight\" | \"caretUp\" | \"check\" | \"checkFilled\" | \"checkOutline\" | \"clockFilled\" | \"clockOutline\" | \"close\" | \"copy\" | \"dashboard\" | \"date\" | \"download\" | \"drag\" | \"etc\" | \"event\" | \"global\" | \"helpFilled\" | \"helpOutline\" | \"history\" | \"imageFill\" | \"imageLine\" | \"inline\" | \"line\" | \"location\" | \"logout\" | \"minus\" | \"notificationFilled\" | \"notificationOutline\" | \"notion\" | \"outLine\" | \"pageEdit\" | \"pageMove\" | \"pdf\" | \"remove\" | \"reset\" | \"robot\" | \"row\" | \"search\" | \"setting\" | \"star\" | \"synchronize\" | \"user\" | \"visibilityOff\" | \"visibilityOn\" | \"warehouseLine\" | \"warehouseSolid\" | \"warningFilled\" | \"warningOutline\" | \"youtube\" | undefined",
|
|
139
|
+
"references": {
|
|
140
|
+
"IconName": {
|
|
141
|
+
"location": "global",
|
|
142
|
+
"id": "global::IconName"
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
"required": false,
|
|
147
|
+
"optional": true,
|
|
148
|
+
"docs": {
|
|
149
|
+
"tags": [],
|
|
150
|
+
"text": ""
|
|
151
|
+
},
|
|
152
|
+
"getter": false,
|
|
153
|
+
"setter": false,
|
|
154
|
+
"reflect": false,
|
|
155
|
+
"attribute": "icon"
|
|
156
|
+
},
|
|
157
|
+
"ariaLabel": {
|
|
158
|
+
"type": "string",
|
|
159
|
+
"mutable": false,
|
|
160
|
+
"complexType": {
|
|
161
|
+
"original": "string",
|
|
162
|
+
"resolved": "string",
|
|
163
|
+
"references": {}
|
|
164
|
+
},
|
|
165
|
+
"required": false,
|
|
166
|
+
"optional": false,
|
|
167
|
+
"docs": {
|
|
168
|
+
"tags": [],
|
|
169
|
+
"text": ""
|
|
170
|
+
},
|
|
171
|
+
"getter": false,
|
|
172
|
+
"setter": false,
|
|
173
|
+
"reflect": false,
|
|
174
|
+
"attribute": "aria-label",
|
|
175
|
+
"defaultValue": "''"
|
|
176
|
+
},
|
|
177
|
+
"disabled": {
|
|
178
|
+
"type": "boolean",
|
|
179
|
+
"mutable": false,
|
|
180
|
+
"complexType": {
|
|
181
|
+
"original": "boolean",
|
|
182
|
+
"resolved": "boolean",
|
|
183
|
+
"references": {}
|
|
184
|
+
},
|
|
185
|
+
"required": false,
|
|
186
|
+
"optional": false,
|
|
187
|
+
"docs": {
|
|
188
|
+
"tags": [],
|
|
189
|
+
"text": ""
|
|
190
|
+
},
|
|
191
|
+
"getter": false,
|
|
192
|
+
"setter": false,
|
|
193
|
+
"reflect": false,
|
|
194
|
+
"attribute": "disabled",
|
|
195
|
+
"defaultValue": "false"
|
|
196
|
+
},
|
|
197
|
+
"type": {
|
|
198
|
+
"type": "string",
|
|
199
|
+
"mutable": false,
|
|
200
|
+
"complexType": {
|
|
201
|
+
"original": "ButtonV2Type",
|
|
202
|
+
"resolved": "\"button\" | \"reset\" | \"submit\"",
|
|
203
|
+
"references": {
|
|
204
|
+
"ButtonV2Type": {
|
|
205
|
+
"location": "import",
|
|
206
|
+
"path": "./sd-button-v2.config",
|
|
207
|
+
"id": "src/components/sd-button-v2/sd-button-v2.config.ts::ButtonV2Type",
|
|
208
|
+
"referenceLocation": "ButtonV2Type"
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
"required": false,
|
|
213
|
+
"optional": false,
|
|
214
|
+
"docs": {
|
|
215
|
+
"tags": [],
|
|
216
|
+
"text": ""
|
|
217
|
+
},
|
|
218
|
+
"getter": false,
|
|
219
|
+
"setter": false,
|
|
220
|
+
"reflect": false,
|
|
221
|
+
"attribute": "type",
|
|
222
|
+
"defaultValue": "'button'"
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
static get events() {
|
|
227
|
+
return [{
|
|
228
|
+
"method": "click",
|
|
229
|
+
"name": "sdClick",
|
|
230
|
+
"bubbles": true,
|
|
231
|
+
"cancelable": true,
|
|
232
|
+
"composed": true,
|
|
233
|
+
"docs": {
|
|
234
|
+
"tags": [],
|
|
235
|
+
"text": ""
|
|
236
|
+
},
|
|
237
|
+
"complexType": {
|
|
238
|
+
"original": "MouseEvent",
|
|
239
|
+
"resolved": "MouseEvent",
|
|
240
|
+
"references": {
|
|
241
|
+
"MouseEvent": {
|
|
242
|
+
"location": "global",
|
|
243
|
+
"id": "global::MouseEvent"
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}];
|
|
248
|
+
}
|
|
249
|
+
}
|
|
@@ -3,7 +3,7 @@ export class SdCard {
|
|
|
3
3
|
bordered = false;
|
|
4
4
|
sdClass = '';
|
|
5
5
|
render() {
|
|
6
|
-
return (h(Fragment, { key: '
|
|
6
|
+
return (h(Fragment, { key: '3999f64f54054b3a1662fac4aacf9f6898acb957' }, h("div", { key: '666b8e849b92a5e75d259ff079237911fd591cdd', class: `sd-card ${this.bordered ? 'sd-card--bordered' : ''} ${this.sdClass}` }, h("slot", { key: 'dc8f4ae80e9aca7a0aecaed81f45d40e7df2c067' }))));
|
|
7
7
|
}
|
|
8
8
|
static get is() { return "sd-card"; }
|
|
9
9
|
static get originalStyleUrls() {
|
|
@@ -76,7 +76,7 @@ export class SdDatePicker {
|
|
|
76
76
|
this.isOpen = false;
|
|
77
77
|
};
|
|
78
78
|
render() {
|
|
79
|
-
return (h("div", { key: '
|
|
79
|
+
return (h("div", { key: 'cd2f9c240e1e67806d1d9334937a905330d29a1f', class: { 'sd-date-picker': true, 'sd-date-picker--disabled': this.disabled } }, h("sd-input", { key: '1d77404494bd1fadf15d82dfabecbf61b73e5da8', ref: el => (this.inputEl = el), value: this.value, label: this.label, "inside-label": true, readonly: true, disabled: this.disabled, placeholder: this.placeholder, inputClass: "sd-date-picker__input", onClick: () => this.openMenu() }, h("sd-icon", { key: '627b76b7d276cff34224a130bb2596ca6f2ff49e', slot: "prefix", name: "date", size: "16", color: this.disabled ? 'grey_65' : 'grey_70', class: "date-icon", onClick: () => this.openMenu() })), this.isOpen && (h("sd-portal", { key: '9dd006a9051c22dd8084ae9cb72e82c9c0b9be2b', open: this.isOpen, parentRef: this.inputEl, onSdClose: this.handleClose }, h("div", { key: '5090eb945c7241f3224b3d2c7a5a96221cc46c04', class: "sd-date-picker__menu" }, h("div", { key: 'fa127745062937dfe4f04773b7d6afa74d13bd7a', class: "sd-date-picker__header" }, h("div", { key: '7c59917872614d1351a3dfe3783017bd6bc6b75c', class: "year-nav" }, h("button", { key: '9e27d2d76ca72820d57c2d9ebc40fa842129da22', type: "button", name: "prev-year", title: "Previous Year", onClick: () => this.setCurrentYear(this.currentYear - 1) }, h("sd-icon", { key: '17c8f872b7cfb2825d4c9528b5838487b97529f0', name: "arrowLeft", size: "12", color: "#CCCCCC" })), h("span", { key: '41999c78367c90bc4d1d9bfdeb6e3d29d44df2c2', class: "year-nav__current" }, this.currentYear), h("button", { key: '52953ec66118afd480e7ce6207a551f18b61ac6d', type: "button", name: "next-year", title: "Next Year", onClick: () => this.setCurrentYear(this.currentYear + 1) }, h("sd-icon", { key: 'e740bcc2a23f4df850b4e2579ce0cae14419313c', name: "arrowRight", size: "12", color: "#CCCCCC" }))), h("div", { key: '7fac86c6405a3936a1f0bdb51e5ca61463ef463a', class: "month-nav" }, h("button", { key: '62e22a2063c7ea972bf74ea08af0d519a5250b3f', type: "button", name: "prev-month", title: "Previous ", onClick: () => this.handleUpdateMonth('prev') }, h("sd-icon", { key: 'fa53cbb5f2e61a3b1f0807639ce2c81516a1ca57', name: "arrowLeft", size: "12", color: "#CCCCCC" })), h("span", { key: '57eb7eaf1e3a11ba69cf4ef4af9852541abd7902', class: "month-nav__current" }, this.currentMonth, "\uC6D4"), h("button", { key: '08a783b73efd7a5df2638df7c8bcac5411b2e642', type: "button", name: "next-month", title: "Next Month", onClick: () => this.handleUpdateMonth('next') }, h("sd-icon", { key: '4a5bb4f4e6f3105fc9fda008eb51a47efe606b81', name: "arrowRight", size: "12", color: "#CCCCCC" })))), h("div", { key: '8dd540a7188716446b2e9bcda707d7458a2ea817', class: "sd-date-picker__days" }, ['일', '월', '화', '수', '목', '금', '토'].map(day => (h("div", { key: day, class: "day" }, day)))), h("div", { key: 'f2da8d2325cb2fb9cb89d9c93d850cefc62235bf', class: "sd-date-picker__body" }, [
|
|
80
80
|
...this.calendar.prevMonthDays,
|
|
81
81
|
...this.calendar.days,
|
|
82
82
|
...this.calendar.afterMonthDays,
|
|
@@ -155,10 +155,10 @@ export class SdDateRangePicker {
|
|
|
155
155
|
this.setHoverDate(hoverDate);
|
|
156
156
|
}
|
|
157
157
|
render() {
|
|
158
|
-
return (h("div", { key: '
|
|
158
|
+
return (h("div", { key: '1862958ea2e972700ea83ed61f0285f09cf52c02', class: {
|
|
159
159
|
'sd-date-range-picker': true,
|
|
160
160
|
'sd-date-range-picker--disabled': this.disabled,
|
|
161
|
-
} }, h("sd-input", { key: '
|
|
161
|
+
} }, h("sd-input", { key: '808670f22b59401c0125dd1191a6180cc6f72799', ref: el => (this.inputEl = el), value: !!this.dateRange[0] ? `${this.dateRange[0]} ~ ${this.dateRange[1]}` : '', label: this.label, "inside-label": true, readonly: true, disabled: this.disabled, placeholder: this.placeholder, inputClass: "sd-date-range-picker__input", onClick: () => this.openMenu() }, h("sd-icon", { key: '123e8beb77c3fceaaa3a8d994f8a8539fe35d317', slot: "prefix", name: "date", size: "16", color: this.disabled ? 'grey_65' : 'grey_70', class: "date-icon", onClick: () => this.openMenu() })), this.isOpen && (h("sd-portal", { key: '448c174030598565f910df316002d78bdfec3f89', open: this.isOpen, parentRef: this.inputEl, onSdClose: this.closeMenu }, h("div", { key: 'b5cf493587c7831e59a6156df87cb56be6bd585b', class: "sd-date-range-picker__menu" }, h("div", { key: 'c044d5377d0d88affecaa61eec2a2239b87158d8', class: "sd-date-range-picker__header mb-16pxr flex flex-nowrap items-center justify-center" }, h("button", { key: 'c497891fe1d06b8f6c1a79000edc0e4f4fd79735', type: "button", name: "prev", title: "Previous", onClick: () => this.setPrevYear(this.prevYear - 1) }, h("sd-icon", { key: 'ad899e9daec0752b744bc73e9cbd99c6a731b7db', name: "arrowLeft", size: "12", color: "#CCCCCC" })), h("div", { key: '595ac699adc90e8b15775ce47a2cda8bbc2f5c25', class: "header-label" }, this.prevYear), h("button", { key: '684ce75f14b08cd57ce6f019a1dfb3ab384b0c11', type: "button", name: "next", title: "Next", onClick: () => this.setPrevYear(this.prevYear + 1) }, h("sd-icon", { key: '31dde7526d0ee3e7abf965eea6f825d557e7c745', name: "arrowRight", size: "12", color: "#CCCCCC" }))), h("div", { key: '3e70334c95d29f302f2dc6d1cb7fbb3603c74a48', class: "sd-date-range-picker__body" }, [this.prevCalendar, this.nextCalendar].map((calendar, index) => (h(Fragment, null, index === 1 && h("div", { class: "separator" }), h("div", { key: index, class: "calendar-container" }, h("div", { class: "calendar-header" }, h("button", { type: "button", name: "month", title: "Month", class: index === 0 ? 'header-button-prev' : 'header-button-next', onClick: () => this.updateYearMonth(index === 0 ? 'prev' : 'next') }, h("sd-icon", { name: index === 0 ? 'arrowLeft' : 'arrowRight', size: "12", color: "#CCCCCC" })), index === 0
|
|
162
162
|
? `${this.prevYear}.${String(this.prevMonth).padStart(2, '0')}`
|
|
163
163
|
: `${this.nextYear}.${String(this.nextMonth).padStart(2, '0')}`), h("div", { class: "calendar-days" }, ['일', '월', '화', '수', '목', '금', '토'].map(day => (h("sd-date-box", { key: day, date: day, disabled: true, class: "day" })))), h("div", { class: "calendar-body mt-12pxr grid grid-cols-7 gap-y-8pxr" }, [...calendar.prevMonthDays, ...calendar.days, ...calendar.afterMonthDays].map((day, idx) => (h("sd-date-box", { key: `prev${day}_${idx}`, date: !day ? '' : Number(day), selected: this.dateRange.some(date => date === this.formatDate(index, Number(day))), type: this.getDateBoxType(this.formatDate(index, Number(day))), isToday: today === this.formatDate(index, Number(day)), disabled: !day ? true : this.isDisabledDate(this.formatDate(index, Number(day))), inRange: this.isDateInRange(this.formatDate(index, Number(day))), isStartDate: this.dateRange[0] === this.formatDate(index, Number(day)), isEndDate: this.dateRange[1] === this.formatDate(index, Number(day)), onSdClick: () => this.handleDateClick(index, Number(day)), onSdMouseOver: () => this.handleDateHover(index, Number(day)) }))))))))))))));
|
|
164
164
|
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import buttonTokens from "../../tokens/generated/component.button.json";
|
|
2
|
+
import systemTokens from "../../tokens/generated/system.json";
|
|
3
|
+
import { BUTTON_CONFIG, PRESET_BORDER_COLORS as BUTTON_PRESET_BORDER_COLORS, PRESET_CONTENT_COLORS as BUTTON_PRESET_CONTENT_COLORS, PRESET_HOVER_BACKGROUNDS as BUTTON_PRESET_HOVER_BACKGROUNDS, getPresetName, } from "../sd-button-v2/sd-button-v2.config";
|
|
4
|
+
const UNSUPPORTED_DROPDOWN_BUTTON_NAMES = new Set([
|
|
5
|
+
'neutral_xs',
|
|
6
|
+
'neutral_sm',
|
|
7
|
+
'neutral_md',
|
|
8
|
+
]);
|
|
9
|
+
const DROPDOWN_BUTTON_NAMES = Object.keys(BUTTON_CONFIG).filter((name) => !name.endsWith('_lg') && !UNSUPPORTED_DROPDOWN_BUTTON_NAMES.has(name));
|
|
10
|
+
export const DROPDOWN_BUTTON_CONFIG = Object.fromEntries(DROPDOWN_BUTTON_NAMES.map(name => [name, BUTTON_CONFIG[name]]));
|
|
11
|
+
export const DROPDOWN_BUTTON_MIN_WIDTHS = {
|
|
12
|
+
xs: buttonTokens.dropdown.xs.minWidth,
|
|
13
|
+
sm: buttonTokens.dropdown.sm.minWidth,
|
|
14
|
+
md: buttonTokens.dropdown.md.minWidth,
|
|
15
|
+
};
|
|
16
|
+
export const PRESET_HOVER_BACKGROUNDS = BUTTON_PRESET_HOVER_BACKGROUNDS;
|
|
17
|
+
export const PRESET_CONTENT_COLORS = BUTTON_PRESET_CONTENT_COLORS;
|
|
18
|
+
export const PRESET_BORDER_COLORS = BUTTON_PRESET_BORDER_COLORS;
|
|
19
|
+
export const PRESET_DIVIDER_COLORS = {
|
|
20
|
+
primary: buttonTokens.brand.strong.dropdown.divider,
|
|
21
|
+
secondary: buttonTokens.brand.subtle.dropdown.divider,
|
|
22
|
+
primary_outline: PRESET_BORDER_COLORS.primary_outline,
|
|
23
|
+
neutral: buttonTokens.neutral.outline.border,
|
|
24
|
+
neutral_outline: PRESET_BORDER_COLORS.neutral_outline,
|
|
25
|
+
danger: buttonTokens.danger.strong.dropdown.divider,
|
|
26
|
+
danger_outline: PRESET_BORDER_COLORS.danger_outline,
|
|
27
|
+
};
|
|
28
|
+
const MENU_ITEM_COLOR = systemTokens.color.text.secondary;
|
|
29
|
+
const MENU_ITEM_ACTIVE_BACKGROUND = systemTokens.color.bg.accent.default;
|
|
30
|
+
const MENU_ITEM_ACTIVE_COLOR = systemTokens.color.text.inverse;
|
|
31
|
+
export const PRESET_MENU_ITEM_COLORS = {
|
|
32
|
+
primary: MENU_ITEM_COLOR,
|
|
33
|
+
secondary: MENU_ITEM_COLOR,
|
|
34
|
+
primary_outline: MENU_ITEM_COLOR,
|
|
35
|
+
neutral: MENU_ITEM_COLOR,
|
|
36
|
+
neutral_outline: MENU_ITEM_COLOR,
|
|
37
|
+
danger: MENU_ITEM_COLOR,
|
|
38
|
+
danger_outline: MENU_ITEM_COLOR,
|
|
39
|
+
};
|
|
40
|
+
export const PRESET_MENU_ITEM_ACTIVE_BACKGROUNDS = {
|
|
41
|
+
primary: MENU_ITEM_ACTIVE_BACKGROUND,
|
|
42
|
+
secondary: MENU_ITEM_ACTIVE_BACKGROUND,
|
|
43
|
+
primary_outline: MENU_ITEM_ACTIVE_BACKGROUND,
|
|
44
|
+
neutral: MENU_ITEM_ACTIVE_BACKGROUND,
|
|
45
|
+
neutral_outline: MENU_ITEM_ACTIVE_BACKGROUND,
|
|
46
|
+
danger: MENU_ITEM_ACTIVE_BACKGROUND,
|
|
47
|
+
danger_outline: MENU_ITEM_ACTIVE_BACKGROUND,
|
|
48
|
+
};
|
|
49
|
+
export const PRESET_MENU_ITEM_ACTIVE_COLORS = {
|
|
50
|
+
primary: MENU_ITEM_ACTIVE_COLOR,
|
|
51
|
+
secondary: MENU_ITEM_ACTIVE_COLOR,
|
|
52
|
+
primary_outline: MENU_ITEM_ACTIVE_COLOR,
|
|
53
|
+
neutral: MENU_ITEM_ACTIVE_COLOR,
|
|
54
|
+
neutral_outline: MENU_ITEM_ACTIVE_COLOR,
|
|
55
|
+
danger: MENU_ITEM_ACTIVE_COLOR,
|
|
56
|
+
danger_outline: MENU_ITEM_ACTIVE_COLOR,
|
|
57
|
+
};
|
|
58
|
+
export const DROPDOWN_DISABLED_BACKGROUND = buttonTokens.bg.disabled;
|
|
59
|
+
export const DROPDOWN_DISABLED_CONTENT = buttonTokens.content.disabled;
|
|
60
|
+
export const DROPDOWN_DISABLED_BORDER = buttonTokens.border.disabled;
|
|
61
|
+
export const isDropdownButtonName = (value) => value in DROPDOWN_BUTTON_CONFIG;
|
|
62
|
+
export const getDropdownButtonPreset = (value) => getPresetName(value);
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
sd-dropdown-button {
|
|
2
|
+
display: inline-flex;
|
|
3
|
+
width: fit-content;
|
|
4
|
+
height: fit-content;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.sd-dropdown-button {
|
|
8
|
+
display: inline-flex;
|
|
9
|
+
position: relative;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.sd-dropdown-button__trigger {
|
|
13
|
+
--sd-dropdown-button-height: var(--sd-button-md-height, 34px);
|
|
14
|
+
--sd-dropdown-button-padding-x: var(--sd-button-md-padding-x, 20px);
|
|
15
|
+
--sd-dropdown-button-gap: var(--sd-button-md-gap, 8px);
|
|
16
|
+
--sd-dropdown-button-font-family: var(--sd-button-md-typography-font-family, inherit);
|
|
17
|
+
--sd-dropdown-button-font-size: var(--sd-button-md-typography-font-size, 12px);
|
|
18
|
+
--sd-dropdown-button-font-weight: var(--sd-button-md-typography-font-weight, 500);
|
|
19
|
+
--sd-dropdown-button-text-decoration: var(--sd-button-md-typography-text-decoration, none);
|
|
20
|
+
--sd-dropdown-button-bg: #025497;
|
|
21
|
+
--sd-dropdown-button-bg-hover: #004177;
|
|
22
|
+
--sd-dropdown-button-border: transparent;
|
|
23
|
+
--sd-dropdown-button-content: #ffffff;
|
|
24
|
+
--sd-dropdown-button-divider: #006ac1;
|
|
25
|
+
--sd-dropdown-button-accent: #006ac1;
|
|
26
|
+
--sd-dropdown-button-min-width: 106px;
|
|
27
|
+
--sd-dropdown-button-disabled-bg: var(--sd-button-bg-disabled, $grey_30);
|
|
28
|
+
--sd-dropdown-button-disabled-content: var(--sd-button-content-disabled, $grey_65);
|
|
29
|
+
--sd-dropdown-button-disabled-border: var(--sd-button-border-disabled, $grey_45);
|
|
30
|
+
display: inline-flex;
|
|
31
|
+
align-items: stretch;
|
|
32
|
+
justify-content: space-between;
|
|
33
|
+
min-width: var(--sd-dropdown-button-min-width);
|
|
34
|
+
min-height: var(--sd-dropdown-button-height);
|
|
35
|
+
padding: 0;
|
|
36
|
+
border: var(--sd-button-border-width-default, 1px) solid var(--sd-dropdown-button-border);
|
|
37
|
+
border-radius: var(--sd-button-radius-default, 4px);
|
|
38
|
+
background: var(--sd-dropdown-button-bg);
|
|
39
|
+
color: var(--sd-dropdown-button-content);
|
|
40
|
+
cursor: pointer;
|
|
41
|
+
box-sizing: border-box;
|
|
42
|
+
font-family: var(--sd-dropdown-button-font-family);
|
|
43
|
+
font-size: var(--sd-dropdown-button-font-size);
|
|
44
|
+
font-weight: var(--sd-dropdown-button-font-weight);
|
|
45
|
+
line-height: 1;
|
|
46
|
+
text-decoration: var(--sd-dropdown-button-text-decoration);
|
|
47
|
+
transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
|
|
48
|
+
white-space: nowrap;
|
|
49
|
+
}
|
|
50
|
+
.sd-dropdown-button__trigger:hover:not(.sd-dropdown-button__trigger--disabled) {
|
|
51
|
+
background: var(--sd-dropdown-button-bg-hover);
|
|
52
|
+
}
|
|
53
|
+
.sd-dropdown-button__trigger:focus-visible {
|
|
54
|
+
outline: 0;
|
|
55
|
+
box-shadow: 0 0 0 2px var(--sd-dropdown-button-accent);
|
|
56
|
+
}
|
|
57
|
+
.sd-dropdown-button__trigger--xs {
|
|
58
|
+
--sd-dropdown-button-height: var(--sd-button-xs-height, 24px);
|
|
59
|
+
--sd-dropdown-button-padding-x: var(--sd-button-xs-padding-x, 8px);
|
|
60
|
+
--sd-dropdown-button-gap: var(--sd-button-xs-gap, 4px);
|
|
61
|
+
--sd-dropdown-button-font-family: var(--sd-button-xs-typography-font-family, inherit);
|
|
62
|
+
--sd-dropdown-button-font-size: var(--sd-button-xs-typography-font-size, 12px);
|
|
63
|
+
--sd-dropdown-button-font-weight: var(--sd-button-xs-typography-font-weight, 500);
|
|
64
|
+
--sd-dropdown-button-text-decoration: var(--sd-button-xs-typography-text-decoration, none);
|
|
65
|
+
}
|
|
66
|
+
.sd-dropdown-button__trigger--sm {
|
|
67
|
+
--sd-dropdown-button-height: var(--sd-button-sm-height, 28px);
|
|
68
|
+
--sd-dropdown-button-padding-x: var(--sd-button-sm-padding-x, 12px);
|
|
69
|
+
--sd-dropdown-button-gap: var(--sd-button-sm-gap, 6px);
|
|
70
|
+
--sd-dropdown-button-font-family: var(--sd-button-sm-typography-font-family, inherit);
|
|
71
|
+
--sd-dropdown-button-font-size: var(--sd-button-sm-typography-font-size, 12px);
|
|
72
|
+
--sd-dropdown-button-font-weight: var(--sd-button-sm-typography-font-weight, 500);
|
|
73
|
+
--sd-dropdown-button-text-decoration: var(--sd-button-sm-typography-text-decoration, none);
|
|
74
|
+
}
|
|
75
|
+
.sd-dropdown-button__trigger--md {
|
|
76
|
+
--sd-dropdown-button-height: var(--sd-button-md-height, 34px);
|
|
77
|
+
--sd-dropdown-button-padding-x: var(--sd-button-md-padding-x, 20px);
|
|
78
|
+
--sd-dropdown-button-gap: var(--sd-button-md-gap, 8px);
|
|
79
|
+
--sd-dropdown-button-font-family: var(--sd-button-md-typography-font-family, inherit);
|
|
80
|
+
--sd-dropdown-button-font-size: var(--sd-button-md-typography-font-size, 16px);
|
|
81
|
+
--sd-dropdown-button-font-weight: var(--sd-button-md-typography-font-weight, 500);
|
|
82
|
+
--sd-dropdown-button-text-decoration: var(--sd-button-md-typography-text-decoration, none);
|
|
83
|
+
}
|
|
84
|
+
.sd-dropdown-button__trigger--disabled {
|
|
85
|
+
border-color: var(--sd-dropdown-button-disabled-border);
|
|
86
|
+
background: var(--sd-dropdown-button-disabled-bg);
|
|
87
|
+
color: var(--sd-dropdown-button-disabled-content);
|
|
88
|
+
cursor: not-allowed;
|
|
89
|
+
}
|
|
90
|
+
.sd-dropdown-button__trigger--disabled .sd-dropdown-button__trigger-divider {
|
|
91
|
+
background: var(--sd-dropdown-button-disabled-border);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.sd-dropdown-button__trigger-label,
|
|
95
|
+
.sd-dropdown-button__trigger-icon {
|
|
96
|
+
display: inline-flex;
|
|
97
|
+
align-items: center;
|
|
98
|
+
justify-content: center;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.sd-dropdown-button__trigger-label {
|
|
102
|
+
flex: 1 1 auto;
|
|
103
|
+
min-width: 0;
|
|
104
|
+
padding: 0 var(--sd-dropdown-button-padding-x);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.sd-dropdown-button__trigger-divider {
|
|
108
|
+
align-self: stretch;
|
|
109
|
+
width: 1px;
|
|
110
|
+
height: auto;
|
|
111
|
+
background: var(--sd-dropdown-button-divider);
|
|
112
|
+
opacity: 0.9;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.sd-dropdown-button__trigger-icon {
|
|
116
|
+
flex: 0 0 auto;
|
|
117
|
+
min-width: calc(var(--sd-dropdown-button-height) - 2px);
|
|
118
|
+
padding: 0 calc(var(--sd-dropdown-button-gap) + 2px);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.sd-dropdown-button__menu {
|
|
122
|
+
display: grid;
|
|
123
|
+
width: max-content;
|
|
124
|
+
min-width: max-content;
|
|
125
|
+
max-width: calc(100vw - 24px);
|
|
126
|
+
padding: 4px 0;
|
|
127
|
+
border: 0;
|
|
128
|
+
border-radius: 4px;
|
|
129
|
+
background: #FFFFFF;
|
|
130
|
+
box-shadow: 2px 2px 12px 2px rgba(0, 0, 0, 0.1019607843);
|
|
131
|
+
box-sizing: border-box;
|
|
132
|
+
overflow: hidden;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.sd-dropdown-button__menu-item {
|
|
136
|
+
display: inline-flex;
|
|
137
|
+
align-items: center;
|
|
138
|
+
gap: 8px;
|
|
139
|
+
min-height: 28px;
|
|
140
|
+
width: 100%;
|
|
141
|
+
padding: 0 12px;
|
|
142
|
+
border: 0;
|
|
143
|
+
border-radius: 0;
|
|
144
|
+
background: transparent;
|
|
145
|
+
color: var(--sd-dropdown-button-menu-item-color);
|
|
146
|
+
cursor: pointer;
|
|
147
|
+
box-sizing: border-box;
|
|
148
|
+
font: inherit;
|
|
149
|
+
text-align: left;
|
|
150
|
+
transition: background-color 0.15s ease, color 0.15s ease;
|
|
151
|
+
}
|
|
152
|
+
.sd-dropdown-button__menu-item--active {
|
|
153
|
+
background: var(--sd-dropdown-button-menu-item-active-bg);
|
|
154
|
+
color: var(--sd-dropdown-button-menu-item-active-color);
|
|
155
|
+
}
|
|
156
|
+
.sd-dropdown-button__menu-item--disabled {
|
|
157
|
+
color: var(--sd-dropdown-button-disabled-content);
|
|
158
|
+
cursor: not-allowed;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.sd-dropdown-button__menu-item-icon {
|
|
162
|
+
flex: 0 0 auto;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.sd-dropdown-button__menu-item-label {
|
|
166
|
+
display: inline-flex;
|
|
167
|
+
align-items: center;
|
|
168
|
+
min-width: 0;
|
|
169
|
+
white-space: nowrap;
|
|
170
|
+
font-size: 12px;
|
|
171
|
+
}
|