@sellmate/design-system 0.0.30 → 0.0.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/cjs/design-system.cjs.js +1 -1
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/sd-button_13.cjs.entry.js +6 -6
  4. package/dist/cjs/sd-progress.cjs.entry.js +44 -0
  5. package/dist/cjs/sd-progress.entry.cjs.js.map +1 -0
  6. package/dist/cjs/sd-select-multiple.cjs.entry.js +2 -2
  7. package/dist/cjs/sd-select-option-group.cjs.entry.js +3 -3
  8. package/dist/collection/collection-manifest.json +1 -0
  9. package/dist/collection/components/sd-progress/sd-progress.css +61 -0
  10. package/dist/collection/components/sd-progress/sd-progress.js +194 -0
  11. package/dist/collection/components/sd-progress/sd-progress.js.map +1 -0
  12. package/dist/collection/components/sd-select/sd-select-option/sd-select-option.js +1 -1
  13. package/dist/collection/components/sd-select-multiple/sd-select-multiple.js +2 -2
  14. package/dist/collection/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.js +3 -3
  15. package/dist/collection/components/sd-tooltip/sd-tooltip.js +4 -4
  16. package/dist/collection/components/sd-tooltip-portal/sd-tooltip-portal.js +1 -1
  17. package/dist/components/{p-CSxmWyJx.js → p-B18yJb2O.js} +5 -5
  18. package/dist/components/{p-CSxmWyJx.js.map → p-B18yJb2O.js.map} +1 -1
  19. package/dist/components/{p-c8NhJgfj.js → p-BLVHOrsi.js} +3 -3
  20. package/dist/components/{p-c8NhJgfj.js.map → p-BLVHOrsi.js.map} +1 -1
  21. package/dist/components/{p-B0JdV6r1.js → p-BNY55XpQ.js} +3 -3
  22. package/dist/components/{p-B0JdV6r1.js.map → p-BNY55XpQ.js.map} +1 -1
  23. package/dist/components/{p-Mc5Mv8aH.js → p-Dvtwm2UI.js} +7 -7
  24. package/dist/components/{p-Mc5Mv8aH.js.map → p-Dvtwm2UI.js.map} +1 -1
  25. package/dist/components/{p-DOUuhGVo.js → p-T0Fd7Ziu.js} +3 -3
  26. package/dist/components/{p-DOUuhGVo.js.map → p-T0Fd7Ziu.js.map} +1 -1
  27. package/dist/components/sd-popover.js +1 -1
  28. package/dist/components/sd-progress.d.ts +11 -0
  29. package/dist/components/sd-progress.js +70 -0
  30. package/dist/components/sd-progress.js.map +1 -0
  31. package/dist/components/sd-select-multiple-group.js +1 -1
  32. package/dist/components/sd-select-multiple.js +3 -3
  33. package/dist/components/sd-select-option-group.js +1 -1
  34. package/dist/components/sd-select-option.js +1 -1
  35. package/dist/components/sd-select.js +1 -1
  36. package/dist/components/sd-table.js +4 -4
  37. package/dist/components/sd-tooltip-portal.js +1 -1
  38. package/dist/components/sd-tooltip.js +1 -1
  39. package/dist/design-system/design-system.esm.js +1 -1
  40. package/dist/design-system/{p-ff4feeff.entry.js → p-1b6b3344.entry.js} +2 -2
  41. package/dist/design-system/p-6d1c2089.entry.js +2 -0
  42. package/dist/design-system/p-6d1c2089.entry.js.map +1 -0
  43. package/dist/design-system/{p-7a7cdc36.entry.js → p-760dafe5.entry.js} +2 -2
  44. package/dist/design-system/{p-e2a11135.entry.js → p-e9800353.entry.js} +2 -2
  45. package/dist/design-system/sd-progress.entry.esm.js.map +1 -0
  46. package/dist/esm/design-system.js +1 -1
  47. package/dist/esm/loader.js +1 -1
  48. package/dist/esm/sd-button_13.entry.js +6 -6
  49. package/dist/esm/sd-progress.entry.js +42 -0
  50. package/dist/esm/sd-progress.entry.js.map +1 -0
  51. package/dist/esm/sd-select-multiple.entry.js +2 -2
  52. package/dist/esm/sd-select-option-group.entry.js +3 -3
  53. package/dist/types/components/sd-progress/sd-progress.d.ts +12 -0
  54. package/dist/types/components.d.ts +55 -0
  55. package/hydrate/index.js +65 -11
  56. package/hydrate/index.mjs +65 -11
  57. package/package.json +2 -2
  58. /package/dist/design-system/{p-ff4feeff.entry.js.map → p-1b6b3344.entry.js.map} +0 -0
  59. /package/dist/design-system/{p-7a7cdc36.entry.js.map → p-760dafe5.entry.js.map} +0 -0
  60. /package/dist/design-system/{p-e2a11135.entry.js.map → p-e9800353.entry.js.map} +0 -0
package/hydrate/index.mjs CHANGED
@@ -5438,6 +5438,59 @@ class SdPortal {
5438
5438
  }; }
5439
5439
  }
5440
5440
 
5441
+ 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:4px;font-size:16px;color:var(--progress-color, #0075ff)}sd-progress .sd-progress__label{margin-top:4px;font-size:12px;color:#222222;text-align:center}";
5442
+
5443
+ class SdProgress {
5444
+ constructor(hostRef) {
5445
+ registerInstance(this, hostRef);
5446
+ }
5447
+ type = 'bar';
5448
+ status = 'default';
5449
+ percentage = 0;
5450
+ size = 80;
5451
+ strokeWidth = 12;
5452
+ label;
5453
+ statusColor = {
5454
+ default: '#aaaaaa',
5455
+ progress: '#0075ff',
5456
+ complete: '#12B553',
5457
+ error: '#FB4444',
5458
+ };
5459
+ render() {
5460
+ return (hAsync(Host, { key: '2e2f7cf77bbc63dfb15910a3bc50ac45601020cd', style: {
5461
+ '--progress-color': this.statusColor[this.status],
5462
+ '--progress-percentage': `${this.percentage}%`,
5463
+ } }, this.type === 'bar' ? this.renderBarProgress() : this.renderSpinnerProgress(), this.label && hAsync("div", { key: '3e72a490e148886c59345e5ac3161f760e0f4e85', class: "sd-progress__label" }, this.label)));
5464
+ }
5465
+ renderBarProgress() {
5466
+ 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, "%")));
5467
+ }
5468
+ renderSpinnerProgress() {
5469
+ const radius = (this.size - this.strokeWidth) / 2; // 원의 반지름
5470
+ const circumference = 2 * Math.PI * radius; // 원의 둘레
5471
+ const offset = circumference - (this.percentage / 100) * circumference; // 진행률에 따른 offset
5472
+ const progressBgSize = `${this.size}px`;
5473
+ const progressSize = `${this.size / 2}px`;
5474
+ 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, " %")));
5475
+ }
5476
+ static get style() { return sdProgressCss; }
5477
+ static get cmpMeta() { return {
5478
+ "$flags$": 768,
5479
+ "$tagName$": "sd-progress",
5480
+ "$members$": {
5481
+ "type": [1],
5482
+ "status": [1],
5483
+ "percentage": [2],
5484
+ "size": [2],
5485
+ "strokeWidth": [2, "stroke-width"],
5486
+ "label": [1]
5487
+ },
5488
+ "$listeners$": undefined,
5489
+ "$lazyBundleId$": "-",
5490
+ "$attrsToReflect$": []
5491
+ }; }
5492
+ }
5493
+
5441
5494
  class DropdownManager {
5442
5495
  static instance;
5443
5496
  activeDropdowns = new Set();
@@ -6035,11 +6088,11 @@ class SdSelectMultiple extends BaseDropdownEvent {
6035
6088
  '--select-width': this.width || '200px',
6036
6089
  '--select-dropdown-height': this.dropdownHeight || '260px',
6037
6090
  };
6038
- return (hAsync(Host, { key: '8f2df6c0a3b6e8d2300a77bd84b993101824cae1', style: style }, hAsync("div", { key: '9587ca5bb88d7767b5f48344063deef220964027', class: {
6091
+ return (hAsync(Host, { key: 'c569bb885003048b6ec22bfb0688c671a70a27d5', style: style }, hAsync("div", { key: '94b43199502f44f7d663981c320696c6e8cf968f', class: {
6039
6092
  'sd-select-multiple': true,
6040
6093
  'sd-select-multiple--open': this.isOpen,
6041
6094
  'sd-select-multiple--disabled': this.disabled,
6042
- }, ref: el => (this.selectRef = el) }, this.renderLabel(this.label), hAsync("div", { key: 'f00fa7d7c2cbc6f751cc89411b1d77037a950e3e', class: "sd-select-multiple__container" }, this.renderTrigger(), this.renderDropdown()))));
6095
+ }, ref: el => (this.selectRef = el) }, this.renderLabel(this.label), hAsync("div", { key: 'd4fd6929b78add118c01d7b52c1c1e0be9867924', class: "sd-select-multiple__container" }, this.renderTrigger(), this.renderDropdown()))));
6043
6096
  }
6044
6097
  renderLabel(label) {
6045
6098
  if (!label)
@@ -6540,7 +6593,7 @@ class SdSelectOption {
6540
6593
  }
6541
6594
  };
6542
6595
  render() {
6543
- return (hAsync(Host, { key: 'f627f75ea5e3765390729eac31e02e78ca084e95' }, hAsync("div", { key: 'ce5f8aa53fb8ae3a3b165c5778aa352a99d0ddf8', class: {
6596
+ return (hAsync(Host, { key: '57acf795fbb642249d9716fc8fa4123f2d939d2b' }, hAsync("div", { key: '6653deafa3142a3bf9b67290dae411c29fc38f41', class: {
6544
6597
  'sd-select__option': true,
6545
6598
  'sd-select__option--selected': this.isSelected,
6546
6599
  'sd-select__option--disabled': !!this.option.disabled,
@@ -6626,7 +6679,7 @@ class SdSelectOptionGroup {
6626
6679
  }
6627
6680
  };
6628
6681
  render() {
6629
- return (hAsync("div", { key: '6365bd1ae57487d7bbccf25637770aedecc2bc6c', class: {
6682
+ return (hAsync("div", { key: 'ab10e48405e8457f1319518f9790c5dd94d1b5e6', class: {
6630
6683
  'sd-select__option-group': true,
6631
6684
  'sd-select__option-group--selected': !!this.isSelected,
6632
6685
  'sd-select__option-group--disabled': !!this.option.disabled,
@@ -6635,10 +6688,10 @@ class SdSelectOptionGroup {
6635
6688
  'sd-select__option-group--group': this.option.type === 'group',
6636
6689
  'sd-select__option-group--subgroup': this.option.type === 'subgroup',
6637
6690
  'sd-select__option-group--item': this.option.type === 'item',
6638
- }, 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: 'b48606dad43a722f434df8b384e3c92332d59f94', class: "sd-select__option-group__label-wrapper" }, this.useCheckbox && (hAsync("sd-checkbox", { key: '2c564c5480482ade27ebb0cb066cc3c971d1f8f2', checked: this.isSelected, disabled: this.option.disabled, onClick: e => {
6691
+ }, 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 => {
6639
6692
  e.preventDefault();
6640
6693
  this.handleClick(this.option, this.isSelected, e);
6641
- } })), hAsync("span", { key: '2175b4ec10bf631a419f5cfa439e0c24f6ccf5a7', class: "sd-select__option-group-label" }, this.option.label), this.useIndicator && this.option.type !== 'item' && (hAsync("span", { key: 'bbb57f2a8c00e2bb56a4f6a5b68cb5d09d81d9c7', class: "sd-select__option-group__count-indicator" }, `(${this.countInfo?.selectedCount}/${this.countInfo?.totalCount})`)))));
6694
+ } })), 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})`)))));
6642
6695
  }
6643
6696
  static get style() { return sdSelectOptionGroupCss; }
6644
6697
  static get cmpMeta() { return {
@@ -7068,20 +7121,20 @@ class SdTooltip {
7068
7121
  : {
7069
7122
  onClick: () => (this.showTooltip = !this.showTooltip),
7070
7123
  };
7071
- return (hAsync(Fragment, { key: '2a4473864df0253d22d03a7b1512d6261d2c5f1e' }, 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: '48ba8d56f7ee68ac71bd7076c98f8e7081635de5', parentRef: this.buttonEl, onSdClose: () => this.handleClose(), placement: this.placement }, hAsync("div", { key: 'edb64ac6facd530f02a3c663a4d7e728270bb914', class: {
7124
+ 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: {
7072
7125
  'sd-tooltip-menu': true,
7073
7126
  [`sd-tooltip-menu--${this.type}`]: true,
7074
7127
  [`sd-tooltip-menu--${this.placement}`]: true,
7075
7128
  'sd-tooltip-menu--with-close': this.useClose,
7076
7129
  [`bg-${SdTooltip.COLOR_OF_TYPE[this.type].background}`]: true,
7077
7130
  [`text-${SdTooltip.COLOR_OF_TYPE[this.type].text}`]: true,
7078
- } }, hAsync("i", { key: '2907f18d268eed0d0e70707b1fb113ca1b6ce1a6', class: `sd-tooltip-menu__arrow sd-tooltip-menu__arrow--${this.placement}` }, hAsync(TooltipArrow, { key: 'fd6417e7cad6464f5830accca7842f9c2d5431ca', class: {
7131
+ } }, hAsync("i", { key: 'f62cfc386831412cb958da88a41e0487be40d119', class: `sd-tooltip-menu__arrow sd-tooltip-menu__arrow--${this.placement}` }, hAsync(TooltipArrow, { key: 'daab1b1028832d95fb05456b96981cdeb1e31c4e', class: {
7079
7132
  [`text-${SdTooltip.COLOR_OF_TYPE[this.type].background}`]: true,
7080
- } })), hAsync("div", { key: '30e7d57e6bdd47ca5da01c8e94e6d29cc174de58', class: "sd-tooltip-menu__content", ref: el => {
7133
+ } })), hAsync("div", { key: 'ab7ca38aa68cf8279ff0d372651a4e26b217781c', class: "sd-tooltip-menu__content", ref: el => {
7081
7134
  if (el && this.slotContent && !el.hasChildNodes()) {
7082
7135
  el.appendChild(this.slotContent.cloneNode(true));
7083
7136
  }
7084
- } }, !this.slotContent && hAsync("span", { key: '9e6afb40c06db772ed94fd90c73713a1134e2866' }, this.el.textContent)), this.useClose && (hAsync("div", { key: '8679d07e7d2e027f4a96ebaecd64b1fac9ecf503', class: "sd-tooltip-menu__close-button" }, hAsync("button", { key: 'aa018b14eeeb08f872af25d93c0bd36708bf36e8', type: "button", "aria-label": "Close tooltip", title: "Close tooltip", onClick: () => this.handleClose() }, hAsync("sd-icon", { key: '0a0d3c6c246adccdb9b31502f13a1189a0a94554', name: "close", size: "12", color: "#AAAAAA" })))))))));
7137
+ } }, !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" })))))))));
7085
7138
  }
7086
7139
  static get style() { return sdTooltipCss; }
7087
7140
  static get cmpMeta() { return {
@@ -7256,7 +7309,7 @@ class SdTooltipPortal {
7256
7309
  this.sdClose.emit();
7257
7310
  }
7258
7311
  render() {
7259
- return hAsync("slot", { key: '094d59498ba589963103957db54a7eae9e9771c4' });
7312
+ return hAsync("slot", { key: '96e22fb7cd79afbef7bcb1a9b055e6a2bf54dd76' });
7260
7313
  }
7261
7314
  static get cmpMeta() { return {
7262
7315
  "$flags$": 777,
@@ -7290,6 +7343,7 @@ registerComponents([
7290
7343
  SdPagination,
7291
7344
  SdPopover,
7292
7345
  SdPortal,
7346
+ SdProgress,
7293
7347
  SdSelect,
7294
7348
  SdSelectMultiple,
7295
7349
  SdSelectMultipleGroup,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellmate/design-system",
3
- "version": "0.0.30",
3
+ "version": "0.0.31",
4
4
  "description": "Sellmate Design System - Web Components Library built with Stencil",
5
5
  "keywords": [
6
6
  "web-components",
@@ -90,5 +90,5 @@
90
90
  "@stencil/react-output-target": "^1.2.0",
91
91
  "@stencil/vue-output-target": "^0.11.8"
92
92
  },
93
- "gitHead": "1ab846f36402540f9dd1e3da7a308033ca226680"
93
+ "gitHead": "41f495e4833d6f6ab1be62f7f88272c24a60037e"
94
94
  }