@sellmate/design-system 0.0.30 → 0.0.32
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/design-system.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/sd-button.sd-checkbox.sd-guide.sd-icon.sd-input.sd-loading-spinner.sd-pagination.sd-portal.sd-select.sd-select-option.sd-table.sd-tooltip.sd-tooltip-portal.entry.cjs.js.map +1 -1
- package/dist/cjs/sd-button_13.cjs.entry.js +8 -8
- package/dist/cjs/sd-progress.cjs.entry.js +44 -0
- package/dist/cjs/sd-progress.entry.cjs.js.map +1 -0
- package/dist/cjs/sd-select-multiple-group.cjs.entry.js +30 -9
- package/dist/cjs/sd-select-multiple-group.entry.cjs.js.map +1 -1
- package/dist/cjs/sd-select-multiple.cjs.entry.js +2 -2
- package/dist/cjs/sd-select-option-group.cjs.entry.js +4 -4
- package/dist/cjs/sd-select-option-group.entry.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/sd-progress/sd-progress.css +61 -0
- package/dist/collection/components/sd-progress/sd-progress.js +194 -0
- package/dist/collection/components/sd-progress/sd-progress.js.map +1 -0
- package/dist/collection/components/sd-select/sd-select-option/sd-select-option.js +1 -1
- package/dist/collection/components/sd-select/sd-select.js +2 -2
- package/dist/collection/components/sd-select/sd-select.js.map +1 -1
- package/dist/collection/components/sd-select-multiple/sd-select-multiple.js +2 -2
- package/dist/collection/components/sd-select-multiple-group/sd-select-multiple-group.js +51 -10
- package/dist/collection/components/sd-select-multiple-group/sd-select-multiple-group.js.map +1 -1
- package/dist/collection/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.css +7 -4
- package/dist/collection/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.js +3 -3
- package/dist/collection/components/sd-tooltip/sd-tooltip.js +4 -4
- package/dist/collection/components/sd-tooltip-portal/sd-tooltip-portal.js +1 -1
- package/dist/components/{p-DOUuhGVo.js → p-B5RhRjFk.js} +5 -5
- package/dist/components/p-B5RhRjFk.js.map +1 -0
- package/dist/components/{p-c8NhJgfj.js → p-BLVHOrsi.js} +3 -3
- package/dist/components/{p-c8NhJgfj.js.map → p-BLVHOrsi.js.map} +1 -1
- package/dist/components/{p-B0JdV6r1.js → p-BNY55XpQ.js} +3 -3
- package/dist/components/{p-B0JdV6r1.js.map → p-BNY55XpQ.js.map} +1 -1
- package/dist/components/{p-CSxmWyJx.js → p-CDNsy2Lv.js} +6 -6
- package/dist/components/p-CDNsy2Lv.js.map +1 -0
- package/dist/components/{p-Mc5Mv8aH.js → p-Dvtwm2UI.js} +7 -7
- package/dist/components/{p-Mc5Mv8aH.js.map → p-Dvtwm2UI.js.map} +1 -1
- package/dist/components/sd-popover.js +1 -1
- package/dist/components/sd-progress.d.ts +11 -0
- package/dist/components/sd-progress.js +70 -0
- package/dist/components/sd-progress.js.map +1 -0
- package/dist/components/sd-select-multiple-group.js +33 -11
- package/dist/components/sd-select-multiple-group.js.map +1 -1
- package/dist/components/sd-select-multiple.js +3 -3
- package/dist/components/sd-select-option-group.js +1 -1
- package/dist/components/sd-select-option.js +1 -1
- package/dist/components/sd-select.js +1 -1
- package/dist/components/sd-table.js +4 -4
- package/dist/components/sd-tooltip-portal.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-56b88d9b.entry.js +2 -0
- package/dist/design-system/{p-ff4feeff.entry.js.map → p-56b88d9b.entry.js.map} +1 -1
- package/dist/design-system/{p-7a7cdc36.entry.js → p-7a9028ae.entry.js} +2 -2
- package/dist/design-system/p-93569289.entry.js +2 -0
- package/dist/design-system/p-93569289.entry.js.map +1 -0
- package/dist/design-system/p-ac7dbf3c.entry.js +2 -0
- package/dist/design-system/p-ac7dbf3c.entry.js.map +1 -0
- package/dist/design-system/{p-e2a11135.entry.js → p-e9800353.entry.js} +2 -2
- package/dist/design-system/sd-button.sd-checkbox.sd-guide.sd-icon.sd-input.sd-loading-spinner.sd-pagination.sd-portal.sd-select.sd-select-option.sd-table.sd-tooltip.sd-tooltip-portal.entry.esm.js.map +1 -1
- package/dist/design-system/sd-progress.entry.esm.js.map +1 -0
- package/dist/design-system/sd-select-multiple-group.entry.esm.js.map +1 -1
- package/dist/design-system/sd-select-option-group.entry.esm.js.map +1 -1
- package/dist/esm/design-system.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/sd-button.sd-checkbox.sd-guide.sd-icon.sd-input.sd-loading-spinner.sd-pagination.sd-portal.sd-select.sd-select-option.sd-table.sd-tooltip.sd-tooltip-portal.entry.js.map +1 -1
- package/dist/esm/sd-button_13.entry.js +8 -8
- package/dist/esm/sd-progress.entry.js +42 -0
- package/dist/esm/sd-progress.entry.js.map +1 -0
- package/dist/esm/sd-select-multiple-group.entry.js +31 -10
- package/dist/esm/sd-select-multiple-group.entry.js.map +1 -1
- package/dist/esm/sd-select-multiple.entry.js +2 -2
- package/dist/esm/sd-select-option-group.entry.js +4 -4
- package/dist/esm/sd-select-option-group.entry.js.map +1 -1
- package/dist/types/components/sd-progress/sd-progress.d.ts +12 -0
- package/dist/types/components/sd-select/sd-select.d.ts +1 -1
- package/dist/types/components/sd-select-multiple-group/sd-select-multiple-group.d.ts +10 -1
- package/dist/types/components.d.ts +63 -0
- package/hydrate/index.js +99 -23
- package/hydrate/index.mjs +99 -23
- package/package.json +2 -2
- package/dist/components/p-CSxmWyJx.js.map +0 -1
- package/dist/components/p-DOUuhGVo.js.map +0 -1
- package/dist/design-system/p-5e0ac5e6.entry.js +0 -2
- package/dist/design-system/p-5e0ac5e6.entry.js.map +0 -1
- package/dist/design-system/p-ff4feeff.entry.js +0 -2
- /package/dist/design-system/{p-7a7cdc36.entry.js.map → p-7a9028ae.entry.js.map} +0 -0
- /package/dist/design-system/{p-e2a11135.entry.js.map → p-e9800353.entry.js.map} +0 -0
|
@@ -353,6 +353,29 @@ export namespace Components {
|
|
|
353
353
|
*/
|
|
354
354
|
"zIndex": number;
|
|
355
355
|
}
|
|
356
|
+
interface SdProgress {
|
|
357
|
+
"label"?: string;
|
|
358
|
+
/**
|
|
359
|
+
* @default 0
|
|
360
|
+
*/
|
|
361
|
+
"percentage": number;
|
|
362
|
+
/**
|
|
363
|
+
* @default 80
|
|
364
|
+
*/
|
|
365
|
+
"size": number;
|
|
366
|
+
/**
|
|
367
|
+
* @default 'default'
|
|
368
|
+
*/
|
|
369
|
+
"status": 'default' | 'progress' | 'complete' | 'error';
|
|
370
|
+
/**
|
|
371
|
+
* @default 12
|
|
372
|
+
*/
|
|
373
|
+
"strokeWidth": number;
|
|
374
|
+
/**
|
|
375
|
+
* @default 'bar'
|
|
376
|
+
*/
|
|
377
|
+
"type": 'bar' | 'spinner';
|
|
378
|
+
}
|
|
356
379
|
interface SdSelect {
|
|
357
380
|
/**
|
|
358
381
|
* @default false
|
|
@@ -497,6 +520,10 @@ export namespace Components {
|
|
|
497
520
|
* @default {}
|
|
498
521
|
*/
|
|
499
522
|
"triggerStyle": SelectStyleProps['triggerStyle'];
|
|
523
|
+
/**
|
|
524
|
+
* @default false
|
|
525
|
+
*/
|
|
526
|
+
"useAll": boolean;
|
|
500
527
|
/**
|
|
501
528
|
* @default false
|
|
502
529
|
*/
|
|
@@ -952,6 +979,12 @@ declare global {
|
|
|
952
979
|
prototype: HTMLSdPortalElement;
|
|
953
980
|
new (): HTMLSdPortalElement;
|
|
954
981
|
};
|
|
982
|
+
interface HTMLSdProgressElement extends Components.SdProgress, HTMLStencilElement {
|
|
983
|
+
}
|
|
984
|
+
var HTMLSdProgressElement: {
|
|
985
|
+
prototype: HTMLSdProgressElement;
|
|
986
|
+
new (): HTMLSdProgressElement;
|
|
987
|
+
};
|
|
955
988
|
interface HTMLSdSelectElementEventMap {
|
|
956
989
|
"sdChange": SelectEvents['sdChange'];
|
|
957
990
|
"dropDownShow": SelectEvents['dropDownShow'];
|
|
@@ -1112,6 +1145,7 @@ declare global {
|
|
|
1112
1145
|
"sd-pagination": HTMLSdPaginationElement;
|
|
1113
1146
|
"sd-popover": HTMLSdPopoverElement;
|
|
1114
1147
|
"sd-portal": HTMLSdPortalElement;
|
|
1148
|
+
"sd-progress": HTMLSdProgressElement;
|
|
1115
1149
|
"sd-select": HTMLSdSelectElement;
|
|
1116
1150
|
"sd-select-multiple": HTMLSdSelectMultipleElement;
|
|
1117
1151
|
"sd-select-multiple-group": HTMLSdSelectMultipleGroupElement;
|
|
@@ -1464,6 +1498,29 @@ declare namespace LocalJSX {
|
|
|
1464
1498
|
*/
|
|
1465
1499
|
"zIndex"?: number;
|
|
1466
1500
|
}
|
|
1501
|
+
interface SdProgress {
|
|
1502
|
+
"label"?: string;
|
|
1503
|
+
/**
|
|
1504
|
+
* @default 0
|
|
1505
|
+
*/
|
|
1506
|
+
"percentage"?: number;
|
|
1507
|
+
/**
|
|
1508
|
+
* @default 80
|
|
1509
|
+
*/
|
|
1510
|
+
"size"?: number;
|
|
1511
|
+
/**
|
|
1512
|
+
* @default 'default'
|
|
1513
|
+
*/
|
|
1514
|
+
"status"?: 'default' | 'progress' | 'complete' | 'error';
|
|
1515
|
+
/**
|
|
1516
|
+
* @default 12
|
|
1517
|
+
*/
|
|
1518
|
+
"strokeWidth"?: number;
|
|
1519
|
+
/**
|
|
1520
|
+
* @default 'bar'
|
|
1521
|
+
*/
|
|
1522
|
+
"type"?: 'bar' | 'spinner';
|
|
1523
|
+
}
|
|
1467
1524
|
interface SdSelect {
|
|
1468
1525
|
/**
|
|
1469
1526
|
* @default false
|
|
@@ -1614,6 +1671,10 @@ declare namespace LocalJSX {
|
|
|
1614
1671
|
* @default {}
|
|
1615
1672
|
*/
|
|
1616
1673
|
"triggerStyle"?: SelectStyleProps['triggerStyle'];
|
|
1674
|
+
/**
|
|
1675
|
+
* @default false
|
|
1676
|
+
*/
|
|
1677
|
+
"useAll"?: boolean;
|
|
1617
1678
|
/**
|
|
1618
1679
|
* @default false
|
|
1619
1680
|
*/
|
|
@@ -1858,6 +1919,7 @@ declare namespace LocalJSX {
|
|
|
1858
1919
|
"sd-pagination": SdPagination;
|
|
1859
1920
|
"sd-popover": SdPopover;
|
|
1860
1921
|
"sd-portal": SdPortal;
|
|
1922
|
+
"sd-progress": SdProgress;
|
|
1861
1923
|
"sd-select": SdSelect;
|
|
1862
1924
|
"sd-select-multiple": SdSelectMultiple;
|
|
1863
1925
|
"sd-select-multiple-group": SdSelectMultipleGroup;
|
|
@@ -1887,6 +1949,7 @@ declare module "@stencil/core" {
|
|
|
1887
1949
|
"sd-pagination": LocalJSX.SdPagination & JSXBase.HTMLAttributes<HTMLSdPaginationElement>;
|
|
1888
1950
|
"sd-popover": LocalJSX.SdPopover & JSXBase.HTMLAttributes<HTMLSdPopoverElement>;
|
|
1889
1951
|
"sd-portal": LocalJSX.SdPortal & JSXBase.HTMLAttributes<HTMLSdPortalElement>;
|
|
1952
|
+
"sd-progress": LocalJSX.SdProgress & JSXBase.HTMLAttributes<HTMLSdProgressElement>;
|
|
1890
1953
|
"sd-select": LocalJSX.SdSelect & JSXBase.HTMLAttributes<HTMLSdSelectElement>;
|
|
1891
1954
|
"sd-select-multiple": LocalJSX.SdSelectMultiple & JSXBase.HTMLAttributes<HTMLSdSelectMultipleElement>;
|
|
1892
1955
|
"sd-select-multiple-group": LocalJSX.SdSelectMultipleGroup & JSXBase.HTMLAttributes<HTMLSdSelectMultipleGroupElement>;
|
package/hydrate/index.js
CHANGED
|
@@ -5440,6 +5440,59 @@ class SdPortal {
|
|
|
5440
5440
|
}; }
|
|
5441
5441
|
}
|
|
5442
5442
|
|
|
5443
|
+
const sdProgressCss = "sd-progress{display:block}sd-progress .sd-progress__bar{position:relative;width:360px;height:20px;overflow:hidden;border-radius:4px;background-color:#eeeeee;text-align:center}sd-progress .sd-progress__bar__percent{width:var(--progress-percentage);height:100%;border-radius:4px;background-color:var(--progress-color, #0075ff);transition:all 0.5s}sd-progress .sd-progress__bar__percent.proceed{border-top-right-radius:50%}sd-progress .sd-progress__bar__indicator{position:absolute;left:0;top:0;height:20px;width:100%;background-color:#eeeeee;line-height:21px;z-index:1}sd-progress .sd-progress__bar__indicator--left{color:var(--progress-color, #0075ff);clip-path:inset(0 0 0 var(--progress-percentage))}sd-progress .sd-progress__bar__indicator--right{color:white;background-color:var(--progress-color, #0075ff);clip-path:inset(0 calc(100% - var(--progress-percentage)) 0 0)}sd-progress .sd-progress__spinner{display:flex;flex-direction:column;align-items:center;justify-content:center}sd-progress .sd-progress__spinner svg{transform:rotate(-90deg)}sd-progress .sd-progress__spinner__label{margin-top:8px;font-size:16px;color:var(--progress-color, #0075ff)}sd-progress .sd-progress__label{margin-top:4px;font-size:12px;color:#222222;text-align:center}";
|
|
5444
|
+
|
|
5445
|
+
class SdProgress {
|
|
5446
|
+
constructor(hostRef) {
|
|
5447
|
+
registerInstance(this, hostRef);
|
|
5448
|
+
}
|
|
5449
|
+
type = 'bar';
|
|
5450
|
+
status = 'default';
|
|
5451
|
+
percentage = 0;
|
|
5452
|
+
size = 80;
|
|
5453
|
+
strokeWidth = 12;
|
|
5454
|
+
label;
|
|
5455
|
+
statusColor = {
|
|
5456
|
+
default: '#aaaaaa',
|
|
5457
|
+
progress: '#0075ff',
|
|
5458
|
+
complete: '#12B553',
|
|
5459
|
+
error: '#FB4444',
|
|
5460
|
+
};
|
|
5461
|
+
render() {
|
|
5462
|
+
return (hAsync(Host, { key: '2e2f7cf77bbc63dfb15910a3bc50ac45601020cd', style: {
|
|
5463
|
+
'--progress-color': this.statusColor[this.status],
|
|
5464
|
+
'--progress-percentage': `${this.percentage}%`,
|
|
5465
|
+
} }, this.type === 'bar' ? this.renderBarProgress() : this.renderSpinnerProgress(), this.label && hAsync("div", { key: '3e72a490e148886c59345e5ac3161f760e0f4e85', class: "sd-progress__label" }, this.label)));
|
|
5466
|
+
}
|
|
5467
|
+
renderBarProgress() {
|
|
5468
|
+
return (hAsync("div", { class: `sd-progress__bar sd-progress__bar--${this.status}` }, hAsync("div", { class: ['sd-progress__bar__percent', this.percentage < 100 ? 'proceed' : ''].join(' ') }), hAsync("div", { class: "sd-progress__bar__indicator sd-progress__bar__indicator--left" }, this.percentage, "%"), hAsync("div", { class: "sd-progress__bar__indicator sd-progress__bar__indicator--right" }, this.percentage, "%")));
|
|
5469
|
+
}
|
|
5470
|
+
renderSpinnerProgress() {
|
|
5471
|
+
const radius = (this.size - this.strokeWidth) / 2; // 원의 반지름
|
|
5472
|
+
const circumference = 2 * Math.PI * radius; // 원의 둘레
|
|
5473
|
+
const offset = circumference - (this.percentage / 100) * circumference; // 진행률에 따른 offset
|
|
5474
|
+
const progressBgSize = `${this.size}px`;
|
|
5475
|
+
const progressSize = `${this.size / 2}px`;
|
|
5476
|
+
return (hAsync("div", { class: `sd-progress__spinner sd-progress__spinner--${this.status}` }, hAsync("svg", { width: progressBgSize, height: progressBgSize }, hAsync("circle", { cx: progressSize, cy: progressSize, r: radius, stroke: "#EEEEEE", "stroke-width": this.strokeWidth, fill: "transparent" }), hAsync("circle", { cx: progressSize, cy: progressSize, r: radius, stroke: this.statusColor[this.status], "stroke-width": this.strokeWidth, fill: "transparent", "stroke-dasharray": circumference, "stroke-dashoffset": offset, "stroke-linecap": "round", class: "transition-all duration-500" })), hAsync("strong", { class: "sd-progress__spinner__label" }, this.percentage, " %")));
|
|
5477
|
+
}
|
|
5478
|
+
static get style() { return sdProgressCss; }
|
|
5479
|
+
static get cmpMeta() { return {
|
|
5480
|
+
"$flags$": 768,
|
|
5481
|
+
"$tagName$": "sd-progress",
|
|
5482
|
+
"$members$": {
|
|
5483
|
+
"type": [1],
|
|
5484
|
+
"status": [1],
|
|
5485
|
+
"percentage": [2],
|
|
5486
|
+
"size": [2],
|
|
5487
|
+
"strokeWidth": [2, "stroke-width"],
|
|
5488
|
+
"label": [1]
|
|
5489
|
+
},
|
|
5490
|
+
"$listeners$": undefined,
|
|
5491
|
+
"$lazyBundleId$": "-",
|
|
5492
|
+
"$attrsToReflect$": []
|
|
5493
|
+
}; }
|
|
5494
|
+
}
|
|
5495
|
+
|
|
5443
5496
|
class DropdownManager {
|
|
5444
5497
|
static instance;
|
|
5445
5498
|
activeDropdowns = new Set();
|
|
@@ -5756,11 +5809,11 @@ class SdSelect extends BaseDropdownEvent {
|
|
|
5756
5809
|
'--select-width': this.width || '200px',
|
|
5757
5810
|
'--select-dropdown-height': this.dropdownHeight || '260px',
|
|
5758
5811
|
};
|
|
5759
|
-
return (hAsync(Host, { key: '
|
|
5812
|
+
return (hAsync(Host, { key: '51133eafc1c4b8cb79845c3b36abeb933d92bd9d', style: style }, hAsync("div", { key: 'cdd8fb1798088a7ea4e44ce921dcc652a455cc39', class: {
|
|
5760
5813
|
'sd-select': true,
|
|
5761
5814
|
'sd-select--open': this.isOpen,
|
|
5762
5815
|
'sd-select--disabled': this.disabled,
|
|
5763
|
-
}, ref: el => (this.selectRef = el) }, this.renderLabel(this.label), hAsync("div", { key: '
|
|
5816
|
+
}, ref: el => (this.selectRef = el) }, this.renderLabel(this.label), hAsync("div", { key: '6e09cfbbb0807cbeff40a7dfe0a9d037a31e58bf', class: "sd-select__container" }, this.renderTrigger(), this.renderDropdown()))));
|
|
5764
5817
|
}
|
|
5765
5818
|
renderLabel(label) {
|
|
5766
5819
|
if (!label)
|
|
@@ -6037,11 +6090,11 @@ class SdSelectMultiple extends BaseDropdownEvent {
|
|
|
6037
6090
|
'--select-width': this.width || '200px',
|
|
6038
6091
|
'--select-dropdown-height': this.dropdownHeight || '260px',
|
|
6039
6092
|
};
|
|
6040
|
-
return (hAsync(Host, { key: '
|
|
6093
|
+
return (hAsync(Host, { key: 'c569bb885003048b6ec22bfb0688c671a70a27d5', style: style }, hAsync("div", { key: '94b43199502f44f7d663981c320696c6e8cf968f', class: {
|
|
6041
6094
|
'sd-select-multiple': true,
|
|
6042
6095
|
'sd-select-multiple--open': this.isOpen,
|
|
6043
6096
|
'sd-select-multiple--disabled': this.disabled,
|
|
6044
|
-
}, ref: el => (this.selectRef = el) }, this.renderLabel(this.label), hAsync("div", { key: '
|
|
6097
|
+
}, ref: el => (this.selectRef = el) }, this.renderLabel(this.label), hAsync("div", { key: 'd4fd6929b78add118c01d7b52c1c1e0be9867924', class: "sd-select-multiple__container" }, this.renderTrigger(), this.renderDropdown()))));
|
|
6045
6098
|
}
|
|
6046
6099
|
renderLabel(label) {
|
|
6047
6100
|
if (!label)
|
|
@@ -6129,6 +6182,7 @@ class SdSelectMultipleGroup extends BaseDropdownEvent {
|
|
|
6129
6182
|
clearable = false;
|
|
6130
6183
|
searchable = false;
|
|
6131
6184
|
useCheckbox = false;
|
|
6185
|
+
useAll = false;
|
|
6132
6186
|
// props - custom styles
|
|
6133
6187
|
containerStyle = {};
|
|
6134
6188
|
triggerStyle = {};
|
|
@@ -6254,6 +6308,16 @@ class SdSelectMultipleGroup extends BaseDropdownEvent {
|
|
|
6254
6308
|
this.dropDownShow?.emit({ isOpen: this.isOpen });
|
|
6255
6309
|
}
|
|
6256
6310
|
};
|
|
6311
|
+
handleAllOptionClick = (detail) => {
|
|
6312
|
+
if (detail.isSelected) {
|
|
6313
|
+
// 이미 선택된 옵션인 경우, 선택 해제
|
|
6314
|
+
this.value = [];
|
|
6315
|
+
}
|
|
6316
|
+
else {
|
|
6317
|
+
// 새로운 옵션 선택
|
|
6318
|
+
this.value = [...this.filteredOptions.filter(opt => opt.type === 'item' && !opt.disabled)];
|
|
6319
|
+
}
|
|
6320
|
+
};
|
|
6257
6321
|
handleOptionClick = (detail) => {
|
|
6258
6322
|
const { option, event } = detail;
|
|
6259
6323
|
event.stopPropagation();
|
|
@@ -6392,6 +6456,19 @@ class SdSelectMultipleGroup extends BaseDropdownEvent {
|
|
|
6392
6456
|
totalCount: children.length,
|
|
6393
6457
|
};
|
|
6394
6458
|
}
|
|
6459
|
+
isAllOptionsSelected() {
|
|
6460
|
+
const selectedOption = this.getSelectedOption();
|
|
6461
|
+
return (selectedOption.length === this.options.filter(opt => !opt.disabled && opt.type === 'item').length);
|
|
6462
|
+
}
|
|
6463
|
+
getTriggerLabel() {
|
|
6464
|
+
const selectedOption = this.getSelectedOption();
|
|
6465
|
+
if (!selectedOption)
|
|
6466
|
+
return '선택';
|
|
6467
|
+
if (selectedOption.length === 0)
|
|
6468
|
+
return this.placeholder;
|
|
6469
|
+
const isAllChecked = this.isAllOptionsSelected();
|
|
6470
|
+
return isAllChecked ? '전체' : selectedOption.map(option => option.label).join(', ');
|
|
6471
|
+
}
|
|
6395
6472
|
closeDropdown() {
|
|
6396
6473
|
this.isOpen = false;
|
|
6397
6474
|
}
|
|
@@ -6419,11 +6496,11 @@ class SdSelectMultipleGroup extends BaseDropdownEvent {
|
|
|
6419
6496
|
'--select-width': this.width || '200px',
|
|
6420
6497
|
'--select-dropdown-height': this.dropdownHeight || '260px',
|
|
6421
6498
|
};
|
|
6422
|
-
return (hAsync(Host, { key: '
|
|
6499
|
+
return (hAsync(Host, { key: '825a5e69af88a908c41c0c82bfb5fed4afeb9f5f', style: style }, hAsync("div", { key: '81827e04db3de7194162594db4d918b37e7bd3a2', class: {
|
|
6423
6500
|
'sd-select-multiple-group': true,
|
|
6424
6501
|
'sd-select-multiple-group--open': this.isOpen,
|
|
6425
6502
|
'sd-select-multiple-group--disabled': this.disabled,
|
|
6426
|
-
}, style: this.containerStyle, ref: el => (this.selectRef = el) }, this.renderLabel(this.label, this.labelStyle), hAsync("div", { key: '
|
|
6503
|
+
}, style: this.containerStyle, ref: el => (this.selectRef = el) }, this.renderLabel(this.label, this.labelStyle), hAsync("div", { key: '23be24a0f971270b3e449cad4f56699f65716fb0', class: "sd-select-multiple-group__container" }, this.renderTrigger(), this.renderDropdown()))));
|
|
6427
6504
|
}
|
|
6428
6505
|
renderLabel(label, labelStyle) {
|
|
6429
6506
|
if (!label)
|
|
@@ -6432,11 +6509,7 @@ class SdSelectMultipleGroup extends BaseDropdownEvent {
|
|
|
6432
6509
|
}
|
|
6433
6510
|
renderTrigger() {
|
|
6434
6511
|
const selectedOption = this.getSelectedOption();
|
|
6435
|
-
return (hAsync("div", { class: "sd-select-multiple-group__trigger", tabindex: this.disabled ? -1 : 0, onClick: this.handleTriggerClick, style: this.triggerStyle }, hAsync("span", { class: "sd-select-multiple-group__value" }, !
|
|
6436
|
-
? '선택'
|
|
6437
|
-
: selectedOption.length
|
|
6438
|
-
? selectedOption.map(option => option.label).join(', ')
|
|
6439
|
-
: this.placeholder), this.clearable && selectedOption?.length > 0 && !this.disabled && (hAsync("sd-icon", { key: "close-icon", name: "close", size: 10, color: "#888", class: "sd-select-multiple-group__clear", onClick: event => {
|
|
6512
|
+
return (hAsync("div", { class: "sd-select-multiple-group__trigger", tabindex: this.disabled ? -1 : 0, onClick: this.handleTriggerClick, style: this.triggerStyle }, hAsync("span", { class: "sd-select-multiple-group__value" }, this.getTriggerLabel()), this.clearable && selectedOption?.length > 0 && !this.disabled && (hAsync("sd-icon", { key: "close-icon", name: "close", size: 10, color: "#888", class: "sd-select-multiple-group__clear", onClick: event => {
|
|
6440
6513
|
event.stopPropagation();
|
|
6441
6514
|
this.value = null;
|
|
6442
6515
|
} })), hAsync("sd-icon", { key: "arrow-icon", name: "arrowDown", color: "#888", class: {
|
|
@@ -6461,14 +6534,15 @@ class SdSelectMultipleGroup extends BaseDropdownEvent {
|
|
|
6461
6534
|
}, onKeyDown: e => {
|
|
6462
6535
|
if (e.code === 'Enter')
|
|
6463
6536
|
e.stopPropagation();
|
|
6464
|
-
} }, hAsync("sd-icon", { name: "search", size: 16, color: "#737373", slot: "prefix" })))), this.filteredOptions.length > 0 ? (
|
|
6537
|
+
} }, hAsync("sd-icon", { name: "search", size: 16, color: "#737373", slot: "prefix" })))), this.filteredOptions.length > 0 ? (hAsync(Fragment, null, this.useAll && (hAsync("sd-select-option-group", { option: { label: '전체 선택', value: 'all', type: 'all' }, index: 0, isSelected: this.value?.length ===
|
|
6538
|
+
this.options.filter(opt => !opt.disabled && opt.type === 'item').length, isFocused: this.itemIndex === 0, optionStyle: this.optionStyle, onOptionClick: ({ detail, }) => this.handleAllOptionClick(detail), useCheckbox: this.useCheckbox, useIndicator: false })), this.filteredOptions.map((option, index) => (hAsync("slot", { name: `option-${option.value}` }, hAsync("sd-select-option-group", { option: option, index: index, isSelected: option.type === 'item'
|
|
6465
6539
|
? this.value?.some(selected => selected.value === option.value)
|
|
6466
6540
|
: this.isAllChildrenSelected(option), isFocused: index === this.itemIndex, optionStyle: this.optionStyle, onOptionClick: ({ detail, }) => {
|
|
6467
6541
|
if (option.type !== 'item' && !this.useCheckbox) {
|
|
6468
6542
|
return;
|
|
6469
6543
|
}
|
|
6470
6544
|
this.handleOptionClick(detail);
|
|
6471
|
-
}, useCheckbox: this.useCheckbox, ...(option.type !== 'item' && { countInfo: this.getChildrenOptions(option) }) }))))) : (hAsync("slot", { name: "option-placeholder" }, hAsync("div", { class: 'sd-select-multiple-group__option-placeholder', style: this.optionStyle }, this.optionPlaceholder))))));
|
|
6545
|
+
}, useCheckbox: this.useCheckbox, ...(option.type !== 'item' && { countInfo: this.getChildrenOptions(option) }) })))))) : (hAsync("slot", { name: "option-placeholder" }, hAsync("div", { class: 'sd-select-multiple-group__option-placeholder', style: this.optionStyle }, this.optionPlaceholder))))));
|
|
6472
6546
|
}
|
|
6473
6547
|
static get watchers() { return {
|
|
6474
6548
|
"value": ["valueChanged"],
|
|
@@ -6493,6 +6567,7 @@ class SdSelectMultipleGroup extends BaseDropdownEvent {
|
|
|
6493
6567
|
"clearable": [4],
|
|
6494
6568
|
"searchable": [4],
|
|
6495
6569
|
"useCheckbox": [4, "use-checkbox"],
|
|
6570
|
+
"useAll": [4, "use-all"],
|
|
6496
6571
|
"containerStyle": [16],
|
|
6497
6572
|
"triggerStyle": [16],
|
|
6498
6573
|
"dropdownStyle": [16],
|
|
@@ -6542,7 +6617,7 @@ class SdSelectOption {
|
|
|
6542
6617
|
}
|
|
6543
6618
|
};
|
|
6544
6619
|
render() {
|
|
6545
|
-
return (hAsync(Host, { key: '
|
|
6620
|
+
return (hAsync(Host, { key: '57acf795fbb642249d9716fc8fa4123f2d939d2b' }, hAsync("div", { key: '6653deafa3142a3bf9b67290dae411c29fc38f41', class: {
|
|
6546
6621
|
'sd-select__option': true,
|
|
6547
6622
|
'sd-select__option--selected': this.isSelected,
|
|
6548
6623
|
'sd-select__option--disabled': !!this.option.disabled,
|
|
@@ -6582,7 +6657,7 @@ class SdSelectOption {
|
|
|
6582
6657
|
}; }
|
|
6583
6658
|
}
|
|
6584
6659
|
|
|
6585
|
-
const sdSelectOptionGroupCss = "sd-select-option-group{display:block;height:fit-content}sd-select-option-group .sd-select__option-group{display:flex;padding:4px 12px;padding-left:
|
|
6660
|
+
const sdSelectOptionGroupCss = "sd-select-option-group{display:block;height:fit-content}sd-select-option-group .sd-select__option-group{display:flex;padding:4px 12px;padding-left:12px;font-size:12px;line-height:20px;cursor:pointer}sd-select-option-group .sd-select__option-group.sd-select__option-group--group:not(.sd-select__option-group--use-checkbox),sd-select-option-group .sd-select__option-group.sd-select__option-group--subgroup:not(.sd-select__option-group--use-checkbox){cursor:default !important}sd-select-option-group .sd-select__option-group.sd-select__option-group--group{background-color:#f5faff !important;color:#333333 !important;font-weight:700}sd-select-option-group .sd-select__option-group.sd-select__option-group--subgroup{padding-left:20px;background-color:#f9f9f9 !important;color:#333333 !important;font-weight:500}sd-select-option-group .sd-select__option-group.sd-select__option-group--item{padding-left:28px}sd-select-option-group .sd-select__option-group sd-checkbox__bg{border-color:#888888}sd-select-option-group .sd-select__option-group__label-wrapper{display:flex;width:100%;column-gap:8px;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}sd-select-option-group .sd-select__option-group__label-wrapper sd-checkbox{flex-shrink:0}sd-select-option-group .sd-select__option-group__label-wrapper .sd-select__option-group-label{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}sd-select-option-group .sd-select__option-group__label-wrapper .sd-select__option-group__count-indicator{width:fit-content;flex-shrink:0;font-size:12px;font-weight:500;color:#888888}sd-select-option-group .sd-select__option-group--focused{background-color:#e6f1ff}sd-select-option-group .sd-select__option-group--selected.sd-select__option-group--item:not(:hover):not(.sd-select__option-group--use-checkbox),sd-select-option-group .sd-select__option-group--focused.sd-select__option-group--item:not(:hover):not(.sd-select__option-group--use-checkbox){color:#0075ff;font-weight:700}sd-select-option-group .sd-select__option-group--disabled{color:#aaaaaa;cursor:not-allowed}sd-select-option-group .sd-select__option-group:hover:not(.sd-select__option-group--disabled){background-color:#0075ff;color:white}sd-select-option-group .sd-select__option-group:hover.sd-select__option-group--selected:not(.sd-select__option-group--group):not(.sd-select__option-group--subgroup) sd-checkbox .sd-checkbox__bg{border-color:white !important}";
|
|
6586
6661
|
|
|
6587
6662
|
class SdSelectOptionGroup {
|
|
6588
6663
|
constructor(hostRef) {
|
|
@@ -6628,7 +6703,7 @@ class SdSelectOptionGroup {
|
|
|
6628
6703
|
}
|
|
6629
6704
|
};
|
|
6630
6705
|
render() {
|
|
6631
|
-
return (hAsync("div", { key: '
|
|
6706
|
+
return (hAsync("div", { key: 'ab10e48405e8457f1319518f9790c5dd94d1b5e6', class: {
|
|
6632
6707
|
'sd-select__option-group': true,
|
|
6633
6708
|
'sd-select__option-group--selected': !!this.isSelected,
|
|
6634
6709
|
'sd-select__option-group--disabled': !!this.option.disabled,
|
|
@@ -6637,10 +6712,10 @@ class SdSelectOptionGroup {
|
|
|
6637
6712
|
'sd-select__option-group--group': this.option.type === 'group',
|
|
6638
6713
|
'sd-select__option-group--subgroup': this.option.type === 'subgroup',
|
|
6639
6714
|
'sd-select__option-group--item': this.option.type === 'item',
|
|
6640
|
-
}, onMouseEnter: () => (this.isHovered = true), onMouseLeave: () => (this.isHovered = false), style: this.optionStyle, "data-index": this.index, onClick: event => this.handleClick(this.option, this.isSelected, event) }, hAsync("div", { key: '
|
|
6715
|
+
}, onMouseEnter: () => (this.isHovered = true), onMouseLeave: () => (this.isHovered = false), style: this.optionStyle, "data-index": this.index, onClick: event => this.handleClick(this.option, this.isSelected, event) }, hAsync("div", { key: 'e9b0636bc98818aa48b5d486c3e5b4c216b76046', class: "sd-select__option-group__label-wrapper" }, this.useCheckbox && (hAsync("sd-checkbox", { key: 'b7495da88ddad187588569c64235ccc1697466fe', checked: this.isSelected, disabled: this.option.disabled, onClick: e => {
|
|
6641
6716
|
e.preventDefault();
|
|
6642
6717
|
this.handleClick(this.option, this.isSelected, e);
|
|
6643
|
-
} })), hAsync("span", { key: '
|
|
6718
|
+
} })), hAsync("span", { key: 'f8a51d2ea1a99ae17a1ba79fb6f802f0c2a27be1', class: "sd-select__option-group-label" }, this.option.label), this.useIndicator && this.option.type !== 'item' && (hAsync("span", { key: 'ee29e4503321462981c6d6fe497d70f271e5f814', class: "sd-select__option-group__count-indicator" }, `(${this.countInfo?.selectedCount}/${this.countInfo?.totalCount})`)))));
|
|
6644
6719
|
}
|
|
6645
6720
|
static get style() { return sdSelectOptionGroupCss; }
|
|
6646
6721
|
static get cmpMeta() { return {
|
|
@@ -7070,20 +7145,20 @@ class SdTooltip {
|
|
|
7070
7145
|
: {
|
|
7071
7146
|
onClick: () => (this.showTooltip = !this.showTooltip),
|
|
7072
7147
|
};
|
|
7073
|
-
return (hAsync(Fragment, { key: '
|
|
7148
|
+
return (hAsync(Fragment, { key: '45dbef1d93b082f8fe42c003f997aa80ad297ee5' }, this.label ? (hAsync("sd-button", { ref: el => (this.buttonEl = el), label: this.label, icon: this.icon, size: this.buttonSize, color: this.color, variant: this.buttonVariant, class: "sd-tooltip", ...handleTrigger })) : (hAsync("sd-icon", { ref: el => (this.buttonEl = el), name: this.icon, size: this.iconSize, color: this.color, class: "sd-tooltip", ...handleTrigger })), this.showTooltip && (hAsync("sd-tooltip-portal", { key: '7357fe6678832a74c567b24e404d14d75a77b13f', parentRef: this.buttonEl, onSdClose: () => this.handleClose(), placement: this.placement }, hAsync("div", { key: '3add41a611cb55fddaae7733b6db9ec996561723', class: {
|
|
7074
7149
|
'sd-tooltip-menu': true,
|
|
7075
7150
|
[`sd-tooltip-menu--${this.type}`]: true,
|
|
7076
7151
|
[`sd-tooltip-menu--${this.placement}`]: true,
|
|
7077
7152
|
'sd-tooltip-menu--with-close': this.useClose,
|
|
7078
7153
|
[`bg-${SdTooltip.COLOR_OF_TYPE[this.type].background}`]: true,
|
|
7079
7154
|
[`text-${SdTooltip.COLOR_OF_TYPE[this.type].text}`]: true,
|
|
7080
|
-
} }, hAsync("i", { key: '
|
|
7155
|
+
} }, hAsync("i", { key: 'f62cfc386831412cb958da88a41e0487be40d119', class: `sd-tooltip-menu__arrow sd-tooltip-menu__arrow--${this.placement}` }, hAsync(TooltipArrow, { key: 'daab1b1028832d95fb05456b96981cdeb1e31c4e', class: {
|
|
7081
7156
|
[`text-${SdTooltip.COLOR_OF_TYPE[this.type].background}`]: true,
|
|
7082
|
-
} })), hAsync("div", { key: '
|
|
7157
|
+
} })), hAsync("div", { key: 'ab7ca38aa68cf8279ff0d372651a4e26b217781c', class: "sd-tooltip-menu__content", ref: el => {
|
|
7083
7158
|
if (el && this.slotContent && !el.hasChildNodes()) {
|
|
7084
7159
|
el.appendChild(this.slotContent.cloneNode(true));
|
|
7085
7160
|
}
|
|
7086
|
-
} }, !this.slotContent && hAsync("span", { key: '
|
|
7161
|
+
} }, !this.slotContent && hAsync("span", { key: 'f5768e8b7e3033f64797aba77a504d57236e51e3' }, this.el.textContent)), this.useClose && (hAsync("div", { key: '94bdf692fabf190912a64d6051957031b2964ae5', class: "sd-tooltip-menu__close-button" }, hAsync("button", { key: '8826745fb1dab139358bc0d430d622abca333e5e', type: "button", "aria-label": "Close tooltip", title: "Close tooltip", onClick: () => this.handleClose() }, hAsync("sd-icon", { key: '863f114251ec302425224a7385dd23292f7f6340', name: "close", size: "12", color: "#AAAAAA" })))))))));
|
|
7087
7162
|
}
|
|
7088
7163
|
static get style() { return sdTooltipCss; }
|
|
7089
7164
|
static get cmpMeta() { return {
|
|
@@ -7258,7 +7333,7 @@ class SdTooltipPortal {
|
|
|
7258
7333
|
this.sdClose.emit();
|
|
7259
7334
|
}
|
|
7260
7335
|
render() {
|
|
7261
|
-
return hAsync("slot", { key: '
|
|
7336
|
+
return hAsync("slot", { key: '96e22fb7cd79afbef7bcb1a9b055e6a2bf54dd76' });
|
|
7262
7337
|
}
|
|
7263
7338
|
static get cmpMeta() { return {
|
|
7264
7339
|
"$flags$": 777,
|
|
@@ -7292,6 +7367,7 @@ registerComponents([
|
|
|
7292
7367
|
SdPagination,
|
|
7293
7368
|
SdPopover,
|
|
7294
7369
|
SdPortal,
|
|
7370
|
+
SdProgress,
|
|
7295
7371
|
SdSelect,
|
|
7296
7372
|
SdSelectMultiple,
|
|
7297
7373
|
SdSelectMultipleGroup,
|