@sellmate/design-system 0.0.25 → 0.0.26

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 (130) hide show
  1. package/dist/cjs/design-system.cjs.js +2 -2
  2. package/dist/cjs/{index-BjPOPvqs.js → index-DXo1Fhkn.js} +3 -3
  3. package/dist/cjs/index-DXo1Fhkn.js.map +1 -0
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/cjs/sd-badge.cjs.entry.js +1 -1
  6. package/dist/cjs/sd-button.sd-checkbox.sd-guide.sd-icon.sd-input.sd-pagination.sd-portal.sd-select.sd-select-option.sd-table.sd-tooltip.sd-tooltip-portal.entry.cjs.js.map +1 -1
  7. package/dist/cjs/sd-button_12.cjs.entry.js +7 -7
  8. package/dist/cjs/sd-card.cjs.entry.js +1 -1
  9. package/dist/cjs/sd-date-box.cjs.entry.js +1 -1
  10. package/dist/cjs/sd-date-picker.cjs.entry.js +1 -1
  11. package/dist/cjs/sd-date-range-picker.cjs.entry.js +1 -1
  12. package/dist/cjs/sd-popover.cjs.entry.js +2 -2
  13. package/dist/cjs/sd-select-multiple-group.cjs.entry.js +1 -1
  14. package/dist/cjs/sd-select-multiple.cjs.entry.js +1 -1
  15. package/dist/cjs/sd-select-option-group.cjs.entry.js +1 -1
  16. package/dist/cjs/sd-tag.cjs.entry.js +1 -1
  17. package/dist/cjs/{tooltipArrow-qwvq153k.js → tooltipArrow-DNiGFQNW.js} +3 -3
  18. package/dist/cjs/{tooltipArrow-qwvq153k.js.map → tooltipArrow-DNiGFQNW.js.map} +1 -1
  19. package/dist/collection/components/sd-tooltip/sd-tooltip.css +67 -1
  20. package/dist/collection/components/sd-tooltip/sd-tooltip.js +4 -5
  21. package/dist/collection/components/sd-tooltip/sd-tooltip.js.map +1 -1
  22. package/dist/components/index.js +1 -1
  23. package/dist/components/{p-Db_plCmk.js → p-B9QE7fbR.js} +4 -4
  24. package/dist/components/{p-Db_plCmk.js.map → p-B9QE7fbR.js.map} +1 -1
  25. package/dist/components/{p-CpfDowFL.js → p-BWF8FOjZ.js} +4 -4
  26. package/dist/components/{p-CpfDowFL.js.map → p-BWF8FOjZ.js.map} +1 -1
  27. package/dist/components/{p-_8cdZlN5.js → p-BhRUodRD.js} +13 -14
  28. package/dist/components/p-BhRUodRD.js.map +1 -0
  29. package/dist/components/{p-DzIffEfK.js → p-BtS3tSh2.js} +3 -3
  30. package/dist/components/{p-DzIffEfK.js.map → p-BtS3tSh2.js.map} +1 -1
  31. package/dist/components/{p-Ed1-kFCj.js → p-BttJlXkp.js} +5 -5
  32. package/dist/components/{p-Ed1-kFCj.js.map → p-BttJlXkp.js.map} +1 -1
  33. package/dist/components/{p-Bfro0I6y.js → p-BvuTaRpn.js} +3 -3
  34. package/dist/components/{p-Bfro0I6y.js.map → p-BvuTaRpn.js.map} +1 -1
  35. package/dist/components/{p-BHl-WJWF.js → p-CMFEznYN.js} +4 -4
  36. package/dist/components/{p-BHl-WJWF.js.map → p-CMFEznYN.js.map} +1 -1
  37. package/dist/components/{p-e74imoE0.js → p-Cafw-qR4.js} +3 -3
  38. package/dist/components/{p-e74imoE0.js.map → p-Cafw-qR4.js.map} +1 -1
  39. package/dist/components/{p-DzRr3BEe.js → p-CbnL1UUF.js} +3 -3
  40. package/dist/components/p-CbnL1UUF.js.map +1 -0
  41. package/dist/components/{p-Dar88QJr.js → p-CkHD07WH.js} +9 -9
  42. package/dist/components/{p-Dar88QJr.js.map → p-CkHD07WH.js.map} +1 -1
  43. package/dist/components/{p-BRrY7yTi.js → p-Cs1Kf3Tx.js} +3 -3
  44. package/dist/components/{p-BRrY7yTi.js.map → p-Cs1Kf3Tx.js.map} +1 -1
  45. package/dist/components/{p-D9gy3nk_.js → p-DWYqZdbI.js} +5 -5
  46. package/dist/components/{p-D9gy3nk_.js.map → p-DWYqZdbI.js.map} +1 -1
  47. package/dist/components/{p-B_lWW-k_.js → p-DtOWZESA.js} +3 -3
  48. package/dist/components/{p-B_lWW-k_.js.map → p-DtOWZESA.js.map} +1 -1
  49. package/dist/components/{p-B0qn2Tb-.js → p-hf6YF2Mx.js} +4 -4
  50. package/dist/components/{p-B0qn2Tb-.js.map → p-hf6YF2Mx.js.map} +1 -1
  51. package/dist/components/{p-BvOGkIDI.js → p-wA4KCOG0.js} +3 -3
  52. package/dist/components/{p-BvOGkIDI.js.map → p-wA4KCOG0.js.map} +1 -1
  53. package/dist/components/sd-badge.js +1 -1
  54. package/dist/components/sd-button.js +1 -1
  55. package/dist/components/sd-card.js +1 -1
  56. package/dist/components/sd-checkbox.js +1 -1
  57. package/dist/components/sd-date-box.js +1 -1
  58. package/dist/components/sd-date-picker.js +5 -5
  59. package/dist/components/sd-date-range-picker.js +5 -5
  60. package/dist/components/sd-guide.js +4 -4
  61. package/dist/components/sd-icon.js +1 -1
  62. package/dist/components/sd-input.js +1 -1
  63. package/dist/components/sd-pagination.js +1 -1
  64. package/dist/components/sd-popover.js +5 -5
  65. package/dist/components/sd-portal.js +1 -1
  66. package/dist/components/sd-select-multiple-group.js +7 -7
  67. package/dist/components/sd-select-multiple.js +7 -7
  68. package/dist/components/sd-select-option-group.js +1 -1
  69. package/dist/components/sd-select-option.js +1 -1
  70. package/dist/components/sd-select.js +1 -1
  71. package/dist/components/sd-table.js +11 -11
  72. package/dist/components/sd-tag.js +1 -1
  73. package/dist/components/sd-tooltip-portal.js +1 -1
  74. package/dist/components/sd-tooltip.js +1 -1
  75. package/dist/design-system/design-system.css +1 -1
  76. package/dist/design-system/design-system.esm.js +1 -1
  77. package/dist/design-system/{p-ffe8c43b.entry.js → p-054ae376.entry.js} +2 -2
  78. package/dist/design-system/{p-fcbeccb8.entry.js → p-12134716.entry.js} +2 -2
  79. package/dist/design-system/{p-7a71b770.entry.js → p-12b6c1a5.entry.js} +2 -2
  80. package/dist/design-system/{p-33ce46fa.entry.js → p-3d9fccae.entry.js} +2 -2
  81. package/dist/design-system/{p-691dc436.entry.js → p-871c8d66.entry.js} +2 -2
  82. package/dist/design-system/{p-dc35d827.entry.js → p-9975f6f3.entry.js} +2 -2
  83. package/dist/design-system/{p-dc35d827.entry.js.map → p-9975f6f3.entry.js.map} +1 -1
  84. package/dist/design-system/{p-CqOU6L62.js → p-B2T3tS5r.js} +3 -3
  85. package/dist/design-system/p-B2T3tS5r.js.map +1 -0
  86. package/dist/design-system/p-BE6EMCXm.js +2 -0
  87. package/dist/design-system/{p-BUzABVug.js.map → p-BE6EMCXm.js.map} +1 -1
  88. package/dist/design-system/{p-58257c45.entry.js → p-a7ab1b43.entry.js} +2 -2
  89. package/dist/design-system/{p-b6bb891c.entry.js → p-af3a1dbb.entry.js} +2 -2
  90. package/dist/design-system/{p-52365554.entry.js → p-d1aa75e7.entry.js} +2 -2
  91. package/dist/design-system/{p-f00fc7be.entry.js → p-e061c4f8.entry.js} +2 -2
  92. package/dist/design-system/{p-c96e287b.entry.js → p-e25d96e4.entry.js} +2 -2
  93. package/dist/design-system/sd-button.sd-checkbox.sd-guide.sd-icon.sd-input.sd-pagination.sd-portal.sd-select.sd-select-option.sd-table.sd-tooltip.sd-tooltip-portal.entry.esm.js.map +1 -1
  94. package/dist/esm/design-system.js +3 -3
  95. package/dist/esm/{index-CqOU6L62.js → index-B2T3tS5r.js} +3 -3
  96. package/dist/esm/index-B2T3tS5r.js.map +1 -0
  97. package/dist/esm/loader.js +3 -3
  98. package/dist/esm/sd-badge.entry.js +1 -1
  99. package/dist/esm/sd-button.sd-checkbox.sd-guide.sd-icon.sd-input.sd-pagination.sd-portal.sd-select.sd-select-option.sd-table.sd-tooltip.sd-tooltip-portal.entry.js.map +1 -1
  100. package/dist/esm/sd-button_12.entry.js +7 -7
  101. package/dist/esm/sd-card.entry.js +1 -1
  102. package/dist/esm/sd-date-box.entry.js +1 -1
  103. package/dist/esm/sd-date-picker.entry.js +1 -1
  104. package/dist/esm/sd-date-range-picker.entry.js +1 -1
  105. package/dist/esm/sd-popover.entry.js +2 -2
  106. package/dist/esm/sd-select-multiple-group.entry.js +1 -1
  107. package/dist/esm/sd-select-multiple.entry.js +1 -1
  108. package/dist/esm/sd-select-option-group.entry.js +1 -1
  109. package/dist/esm/sd-tag.entry.js +1 -1
  110. package/dist/esm/{tooltipArrow-hOEWkZyH.js → tooltipArrow-Pa2XQhpp.js} +3 -3
  111. package/dist/esm/{tooltipArrow-hOEWkZyH.js.map → tooltipArrow-Pa2XQhpp.js.map} +1 -1
  112. package/hydrate/index.js +6 -6
  113. package/hydrate/index.mjs +6 -6
  114. package/package.json +2 -2
  115. package/dist/cjs/index-BjPOPvqs.js.map +0 -1
  116. package/dist/components/p-DzRr3BEe.js.map +0 -1
  117. package/dist/components/p-_8cdZlN5.js.map +0 -1
  118. package/dist/design-system/p-BUzABVug.js +0 -2
  119. package/dist/design-system/p-CqOU6L62.js.map +0 -1
  120. package/dist/esm/index-CqOU6L62.js.map +0 -1
  121. /package/dist/design-system/{p-ffe8c43b.entry.js.map → p-054ae376.entry.js.map} +0 -0
  122. /package/dist/design-system/{p-fcbeccb8.entry.js.map → p-12134716.entry.js.map} +0 -0
  123. /package/dist/design-system/{p-7a71b770.entry.js.map → p-12b6c1a5.entry.js.map} +0 -0
  124. /package/dist/design-system/{p-33ce46fa.entry.js.map → p-3d9fccae.entry.js.map} +0 -0
  125. /package/dist/design-system/{p-691dc436.entry.js.map → p-871c8d66.entry.js.map} +0 -0
  126. /package/dist/design-system/{p-58257c45.entry.js.map → p-a7ab1b43.entry.js.map} +0 -0
  127. /package/dist/design-system/{p-b6bb891c.entry.js.map → p-af3a1dbb.entry.js.map} +0 -0
  128. /package/dist/design-system/{p-52365554.entry.js.map → p-d1aa75e7.entry.js.map} +0 -0
  129. /package/dist/design-system/{p-f00fc7be.entry.js.map → p-e061c4f8.entry.js.map} +0 -0
  130. /package/dist/design-system/{p-c96e287b.entry.js.map → p-e25d96e4.entry.js.map} +0 -0
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BjPOPvqs.js');
3
+ var index = require('./index-DXo1Fhkn.js');
4
4
  var resolveColor = require('./resolveColor-DxvExwgo.js');
5
5
  var selectKeyboardNavigation = require('./select-keyboard-navigation-6fO_V4En.js');
6
- var tooltipArrow = require('./tooltipArrow-qwvq153k.js');
6
+ var tooltipArrow = require('./tooltipArrow-DNiGFQNW.js');
7
7
 
8
8
  const sdButtonCss = ".sd-button{text-decoration:none;cursor:pointer;border-radius:4px;transition:all 0.2s ease-in-out;position:relative;overflow:hidden;white-space:nowrap;-webkit-user-select:none;user-select:none;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}.sd-button--xs{padding:0 8px;font-size:12px;font-weight:500;line-height:20px;min-height:24px}.sd-button--sm{padding:0 12px;font-size:12px;font-weight:500;line-height:20px;min-height:28px}.sd-button--md{padding:0 20px;font-size:16px;font-weight:500;line-height:26px;min-height:34px}.sd-button--lg{padding:0 28px;font-size:18px;font-weight:500;line-height:30px;min-height:62px}.sd-button--primary{background-color:var(--button-color);color:white;transition:filter 0.2s ease}.sd-button--primary::before{content:\"\";position:absolute;inset:0;background:#000000;opacity:0;transition:opacity 0.2s ease;z-index:0}.sd-button--primary:hover:not(.sd-button--disabled):not(.sd-button--loading)::before{opacity:0.25}.sd-button--outline{background:white;border:1px solid var(--button-color);color:var(--button-color)}.sd-button--outline::before{content:\"\";position:absolute;inset:0;background:var(--button-color);opacity:0;transition:opacity 0.2s ease;z-index:0}.sd-button--outline:hover:not(.sd-button--disabled):not(.sd-button--loading)::before{opacity:0.15}.sd-button--outline .sd-button__content{position:relative;z-index:1}.sd-button--ghost{background-color:transparent;color:var(--button-color);border-color:transparent}.sd-button--ghost::before{content:\"\";position:absolute;inset:0;background:var(--button-color);opacity:0;transition:opacity 0.2s ease;z-index:0}.sd-button--ghost:hover:not(.sd-button--disabled):not(.sd-button--loading)::before{opacity:0.15}.sd-button--ghost .sd-button__content{position:relative;z-index:1}.sd-button--disabled{border:1px solid #cccccc;background:#e1e1e1;color:#888888;cursor:not-allowed !important}.sd-button--icon-only{padding:0;width:fit-content;height:fit-content;aspect-ratio:1/1}.sd-button--no-hover:hover::before{opacity:0 !important}.sd-button .sd-button__content{display:inline-flex;align-items:center;justify-content:center;gap:4px;z-index:1;font-weight:500}";
9
9
 
@@ -1476,7 +1476,7 @@ const SdTable = class {
1476
1476
  };
1477
1477
  SdTable.style = sdTableCss;
1478
1478
 
1479
- const sdTooltipCss = ".sd-tooltip{position:relative;cursor:pointer;display:inline-block}";
1479
+ const sdTooltipCss = "sd-tooltip [slot=content]{display:none}sd-tooltip .sd-tooltip{position:relative;cursor:pointer;display:inline-block}.sd-tooltip-menu{width:fit-content;padding:8px 16px;border-radius:4px;font-size:12px;position:relative;box-sizing:border-box;display:flex;align-items:start;justify-content:center;gap:12px}.sd-tooltip-menu--with-close{padding-right:12px !important}.sd-tooltip-menu__arrow{position:absolute;display:flex;width:9.6px;height:7.2px}.sd-tooltip-menu__arrow svg{width:100%;height:100%}.sd-tooltip-menu__arrow--top{bottom:-7.2px;left:50%;transform:translateX(-50%)}.sd-tooltip-menu__arrow--bottom{top:-7.2px;left:50%;transform:translateX(-50%) rotate(180deg)}.sd-tooltip-menu__arrow--left{right:-7.2px;top:50%;transform:translateY(-50%) rotate(-90deg)}.sd-tooltip-menu__arrow--right{left:-7.2px;top:50%;transform:translateY(-50%) rotate(90deg)}.sd-tooltip-menu__content{line-height:20px;font-weight:500}.sd-tooltip-menu__content p{margin:0}.sd-tooltip-menu__close-button{padding-top:4px;display:flex}.sd-tooltip-menu__close-button button{padding:0;background:none;border:none;cursor:pointer}";
1480
1480
 
1481
1481
  const SdTooltip = class {
1482
1482
  constructor(hostRef) {
@@ -1524,20 +1524,20 @@ const SdTooltip = class {
1524
1524
  : {
1525
1525
  onClick: () => (this.showTooltip = !this.showTooltip),
1526
1526
  };
1527
- return (index.h(index.Fragment, { key: '7d527b3422496e0bfa729f2ca983a11ef998eb26' }, this.label ? (index.h("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 })) : (index.h("sd-icon", { ref: el => (this.buttonEl = el), name: this.icon, size: this.iconSize, color: this.color, class: "sd-tooltip", ...handleTrigger })), this.showTooltip && (index.h("sd-tooltip-portal", { key: 'b07ccad73334de2c9780b810dc3f8a5f214aee9a', parentRef: this.buttonEl, onSdClose: () => this.handleClose(), placement: this.placement }, index.h("div", { key: 'e97fe4a6135e3373b5f989c1cde95a222437c355', class: {
1527
+ return (index.h(index.Fragment, { key: 'da480a55495b1311368ae55ef8827a54ea5de766' }, this.label ? (index.h("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 })) : (index.h("sd-icon", { ref: el => (this.buttonEl = el), name: this.icon, size: this.iconSize, color: this.color, class: "sd-tooltip", ...handleTrigger })), this.showTooltip && (index.h("sd-tooltip-portal", { key: '74be36575fbf97c9b51577fa5b24a4fbcfcf4c6b', parentRef: this.buttonEl, onSdClose: () => this.handleClose(), placement: this.placement }, index.h("div", { key: '63707a51fcc66a3a0c91fc7d409d30f61c0b1f17', class: {
1528
1528
  'sd-tooltip-menu': true,
1529
1529
  [`sd-tooltip-menu--${this.type}`]: true,
1530
1530
  [`sd-tooltip-menu--${this.placement}`]: true,
1531
1531
  'sd-tooltip-menu--with-close': this.useClose,
1532
1532
  [`bg-${SdTooltip.COLOR_OF_TYPE[this.type].background}`]: true,
1533
1533
  [`text-${SdTooltip.COLOR_OF_TYPE[this.type].text}`]: true,
1534
- } }, index.h("i", { key: '3ffa50df1b15c24670ce1c6199093b451df9ad93', class: `sd-tooltip-menu__arrow sd-tooltip-menu__arrow--${this.placement}` }, index.h(tooltipArrow.TooltipArrow, { key: 'fe1eb76008e4575b2d640f7e1269041e5e67e113', class: {
1534
+ } }, index.h("i", { key: 'a2c557e1457c293ef4a6fb3e23a70c9ff5b0b027', class: `sd-tooltip-menu__arrow sd-tooltip-menu__arrow--${this.placement}` }, index.h(tooltipArrow.TooltipArrow, { key: '7e7e471bb288680875fbbaa1d7b7df34b636c76f', class: {
1535
1535
  [`text-${SdTooltip.COLOR_OF_TYPE[this.type].background}`]: true,
1536
- } })), index.h("div", { key: 'e2dd1a1f895f114a393b44ee67518d2af74db891', class: "sd-tooltip-menu__content", ref: el => {
1536
+ } })), index.h("div", { key: 'c7f7a093907053c100fdb5f247d09d984f8cddd8', class: "sd-tooltip-menu__content", ref: el => {
1537
1537
  if (el && this.slotContent && !el.hasChildNodes()) {
1538
1538
  el.appendChild(this.slotContent.cloneNode(true));
1539
1539
  }
1540
- } }, !this.slotContent && index.h("span", { key: '0e45a93818843314bb407f95bced59249c7adbc1' }, this.el.textContent)), this.useClose && (index.h("div", { key: 'd55fad487b1a25c02acf95f8bb672001b68bc923', class: "sd-tooltip-menu__close-button" }, index.h("button", { key: 'bec4556571948b6ece4bb61ea3314c4a859feb4d', type: "button", "aria-label": "Close tooltip", title: "Close tooltip", onClick: () => this.handleClose() }, index.h("sd-icon", { key: '0e916c99996d6032f90f888151abcfec1fd85091', name: "close", size: "12", color: "#AAAAAA" })))))))));
1540
+ } }, !this.slotContent && index.h("span", { key: '14925b4653ca984bd6adf99f6297713dc8b2bafa' }, this.el.textContent)), this.useClose && (index.h("div", { key: '1a02cee06eaaf9068396fb0b489c93e23ba5c8b7', class: "sd-tooltip-menu__close-button" }, index.h("button", { key: '40973df40b2ec2ab887a47c7f3e466f6cae4e69f', type: "button", "aria-label": "Close tooltip", title: "Close tooltip", onClick: () => this.handleClose() }, index.h("sd-icon", { key: 'a02e35f80ae7d3c1414577ce253a67d6dfd64bc0', name: "close", size: "12", color: "#AAAAAA" })))))))));
1541
1541
  }
1542
1542
  };
1543
1543
  SdTooltip.style = sdTooltipCss;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BjPOPvqs.js');
3
+ var index = require('./index-DXo1Fhkn.js');
4
4
 
5
5
  const sdCardCss = "sd-card{display:block;height:fit-content}sd-card .sd-card{border-radius:8px;background:white}sd-card .sd-card.sd-card--bordered{border:1px solid #e1e1e1}";
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BjPOPvqs.js');
3
+ var index = require('./index-DXo1Fhkn.js');
4
4
 
5
5
  const sdDateBoxCss = ".sd-date-box.sc-sd-date-box-h{display:flex;align-items:center;justify-content:center;width:38px;height:36px;font-size:14px;position:relative;box-sizing:border-box;text-align:center;transition:background-color 150ms cubic-bezier(0.4, 0, 0.2, 1);border-radius:14px}.sd-date-box.sc-sd-date-box-h .sd-date-box__content.sc-sd-date-box{width:28px;height:28px;border-radius:14px;position:relative}.sd-date-box.sc-sd-date-box-h .sd-date-box__content.sc-sd-date-box .sd-date-box__label.sc-sd-date-box{position:relative;z-index:2;user-select:none;line-height:28px}.sd-date-box.sd-date-box--disabled.sc-sd-date-box-h{color:#cccccc;cursor:default !important;pointer-events:none}.sd-date-box.sc-sd-date-box-h:not(.sd-date-box--disabled){cursor:pointer}.sd-date-box.sd-hoverable.sc-sd-date-box-h:hover .sd-date-box__content.sc-sd-date-box{background:#d9eaff}.sd-date-box.sd-date-box--in-range.sc-sd-date-box-h:not(.sd-date-box--disabled) .sd-date-box__content.sc-sd-date-box::before{content:\"\";position:absolute;top:0;left:-5px;width:calc(100% + 10px);height:100%;background:#d9eaff}.sd-date-box.sd-date-box--in-range.sd-date-box--type-start.sc-sd-date-box-h .sd-date-box__content.sc-sd-date-box::before{left:auto !important;width:19px !important;right:-5px}.sd-date-box.sd-date-box--in-range.sd-date-box--type-end.sc-sd-date-box-h .sd-date-box__content.sc-sd-date-box::before{width:19px !important}.sd-date-box.sd-date-box--selected.sc-sd-date-box-h .sd-date-box__content.sc-sd-date-box::after,.sd-date-box.sd-date-box--type-start.sc-sd-date-box-h .sd-date-box__content.sc-sd-date-box::after,.sd-date-box.sd-date-box--type-end.sc-sd-date-box-h .sd-date-box__content.sc-sd-date-box::after{content:\"\";position:absolute;inset:0;background:#0075ff;border-radius:14px;z-index:1}.sd-date-box.sd-date-box--selected.sc-sd-date-box-h .sd-date-box__content.sc-sd-date-box .sd-date-box__label.sc-sd-date-box,.sd-date-box.sd-date-box--type-start.sc-sd-date-box-h .sd-date-box__content.sc-sd-date-box .sd-date-box__label.sc-sd-date-box,.sd-date-box.sd-date-box--type-end.sc-sd-date-box-h .sd-date-box__content.sc-sd-date-box .sd-date-box__label.sc-sd-date-box{color:white;font-weight:700}.sd-date-box.sd-date-box--today.sc-sd-date-box-h:not(.sd-date-box--selected) .sd-date-box__content.sc-sd-date-box::after{content:\"\";position:absolute;top:0;left:50%;transform:translateX(-50%);width:28px;height:28px;border:1px solid #e1e1e1 !important;border-radius:14px}";
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BjPOPvqs.js');
3
+ var index = require('./index-DXo1Fhkn.js');
4
4
  var useDatePicker = require('./useDatePicker-BZSOclaN.js');
5
5
 
6
6
  const sdDatePickerCss = ".sd-date-picker.sc-sd-date-picker-h{width:160px;display:inline-block}.sd-date-picker__menu.sc-sd-date-picker{width:304px;box-sizing:border-box;border-radius:8px;padding:24px 19px;box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.2);background:white}.sd-date-picker__menu.sc-sd-date-picker .sd-date-picker__header.sc-sd-date-picker{display:flex;flex-flow:row nowrap;align-items:center;gap:20px;font-size:14px;padding:0 5px;height:24px;line-height:24px}.sd-date-picker__menu.sc-sd-date-picker .sd-date-picker__header.sc-sd-date-picker .year-nav.sc-sd-date-picker,.sd-date-picker__menu.sc-sd-date-picker .sd-date-picker__header.sc-sd-date-picker .month-nav.sc-sd-date-picker{display:flex;flex-flow:row nowrap;align-items:center;gap:12px}.sd-date-picker__menu.sc-sd-date-picker .sd-date-picker__header.sc-sd-date-picker .year-nav.sc-sd-date-picker button.sc-sd-date-picker,.sd-date-picker__menu.sc-sd-date-picker .sd-date-picker__header.sc-sd-date-picker .month-nav.sc-sd-date-picker button.sc-sd-date-picker{background:none;border:none;cursor:pointer;margin:0;padding:0}.sd-date-picker__menu.sc-sd-date-picker .sd-date-picker__header.sc-sd-date-picker .year-nav__current.sc-sd-date-picker{width:40px;text-align:center}.sd-date-picker__menu.sc-sd-date-picker .sd-date-picker__header.sc-sd-date-picker .month-nav__current.sc-sd-date-picker{width:100px;text-align:center}.sd-date-picker__menu.sc-sd-date-picker .sd-date-picker__days.sc-sd-date-picker{margin-top:8px;display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));column-gap:10px;padding:0 5px}.sd-date-picker__menu.sc-sd-date-picker .sd-date-picker__days.sc-sd-date-picker .day.sc-sd-date-picker{width:28px;height:20px;font-size:12px;line-height:20px;text-align:center;color:#888888}.sd-date-picker__menu.sc-sd-date-picker .sd-date-picker__body.sc-sd-date-picker{margin-top:12px;display:grid;grid-template-columns:repeat(7, minmax(0, 1fr))}";
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BjPOPvqs.js');
3
+ var index = require('./index-DXo1Fhkn.js');
4
4
  var useDatePicker = require('./useDatePicker-BZSOclaN.js');
5
5
 
6
6
  const addDays = (inputDate, days) => {
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BjPOPvqs.js');
4
- var tooltipArrow = require('./tooltipArrow-qwvq153k.js');
3
+ var index = require('./index-DXo1Fhkn.js');
4
+ var tooltipArrow = require('./tooltipArrow-DNiGFQNW.js');
5
5
 
6
6
  const sdPopoverCss = ".sd-popover{position:relative;cursor:pointer;display:inline-block}";
7
7
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BjPOPvqs.js');
3
+ var index = require('./index-DXo1Fhkn.js');
4
4
  var selectKeyboardNavigation = require('./select-keyboard-navigation-6fO_V4En.js');
5
5
 
6
6
  const sdSelectMultipleGroupCss = ".sd-select-multiple-group__dropdown{overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth}.sd-select-multiple-group__dropdown::-webkit-scrollbar{opacity:0;background:#e5e5e5}.sd-select-multiple-group__dropdown::-webkit-scrollbar:horizontal{height:8px}.sd-select-multiple-group__dropdown::-webkit-scrollbar:vertical{width:8px}.sd-select-multiple-group__dropdown::-webkit-scrollbar-thumb{height:80px;background-color:#cccccc;border-radius:4px}.sd-select-multiple-group__dropdown::-webkit-scrollbar-track{background-color:transparent}sd-select-multiple-group{display:inline-block;height:fit-content}sd-select-multiple-group .sd-select-multiple-group{display:flex;flex-wrap:nowrap;width:var(--select-width, 200px);cursor:pointer;user-select:none;border:1px solid #aaaaaa;border-radius:4px;background-color:white;color:#333333}sd-select-multiple-group .sd-select-multiple-group:hover:not(.sd-select-multiple-group--disabled){background:#f6f6f6}sd-select-multiple-group .sd-select-multiple-group.sd-select-multiple-group--disabled{cursor:not-allowed;background-color:#eeeeee;border-color:#cccccc}sd-select-multiple-group .sd-select-multiple-group.sd-select-multiple-group--disabled .sd-select-multiple-group__label{border-right:1px solid #cccccc}sd-select-multiple-group .sd-select-multiple-group.sd-select-multiple-group--disabled .sd-select-multiple-group__trigger{color:#888888}sd-select-multiple-group .sd-select-multiple-group.sd-select-multiple-group--disabled .sd-select-multiple-group__trigger:focus,sd-select-multiple-group .sd-select-multiple-group.sd-select-multiple-group--disabled .sd-select-multiple-group__trigger:focus-visible,sd-select-multiple-group .sd-select-multiple-group.sd-select-multiple-group--disabled .sd-select-multiple-group__trigger:focus-within{outline:none !important}sd-select-multiple-group .sd-select-multiple-group__label{font-size:12px;font-weight:500;color:#333333;padding:4px 12px;border-right:1px solid #cccccc;border-radius:4px 0 0 4px;background-color:#f6f6f6}sd-select-multiple-group .sd-select-multiple-group__container{position:relative;width:100%;display:flex}sd-select-multiple-group .sd-select-multiple-group__container .sd-select-multiple-group__trigger{padding:4px 20px 4px 12px;display:flex;width:100%;align-items:center}sd-select-multiple-group .sd-select-multiple-group__container .sd-select-multiple-group__trigger .sd-select-multiple-group__value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:20px;font-size:12px;font-weight:400}sd-select-multiple-group .sd-select-multiple-group__container .sd-select-multiple-group__trigger .sd-select-multiple-group__clear{margin:0 4px;width:8px;height:8px;background-color:transparent;outline:none;border:none}sd-select-multiple-group .sd-select-multiple-group__container .sd-select-multiple-group__arrow{position:absolute;top:8px;right:8px;width:12px;height:12px;color:#888888;transition:transform 0.3s ease}sd-select-multiple-group .sd-select-multiple-group__container .sd-select-multiple-group__arrow--open{transform:rotate(180deg)}.sd-select-multiple-group__dropdown{width:var(--select-width, 200px);max-height:var(--select-dropdown-height, 260px);padding-bottom:2px;background-color:white;box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.1);border-radius:4px;overflow-y:auto;color:#333333}.sd-select-multiple-group__dropdown .sd-select-multiple-group__search-container{position:sticky;top:0;display:flex;width:100%;background-color:white;align-items:center;padding:4px 8px}.sd-select-multiple-group__dropdown .sd-select-multiple-group__search-container sd-input{width:100%}.sd-select-multiple-group__dropdown .sd-select-multiple-group__search-container--scrolled{box-shadow:2px 2px 8px 2px rgba(0, 0, 0, 0.2)}.sd-select-multiple-group__dropdown .sd-select-multiple-group__option-placeholder{padding:4px 12px;font-size:12px;line-height:20px}";
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BjPOPvqs.js');
3
+ var index = require('./index-DXo1Fhkn.js');
4
4
  var selectKeyboardNavigation = require('./select-keyboard-navigation-6fO_V4En.js');
5
5
 
6
6
  const sdSelectMultipleCss = ".sd-select-multiple__dropdown{overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth}.sd-select-multiple__dropdown::-webkit-scrollbar{opacity:0;background:#e5e5e5}.sd-select-multiple__dropdown::-webkit-scrollbar:horizontal{height:8px}.sd-select-multiple__dropdown::-webkit-scrollbar:vertical{width:8px}.sd-select-multiple__dropdown::-webkit-scrollbar-thumb{height:80px;background-color:#cccccc;border-radius:4px}.sd-select-multiple__dropdown::-webkit-scrollbar-track{background-color:transparent}:host{display:inline-block;height:fit-content;position:relative}.sd-select-multiple{display:flex;flex-wrap:nowrap;width:var(--select-width, 200px);height:28px;cursor:pointer;user-select:none;border:1px solid #aaaaaa;border-radius:4px;background-color:white}.sd-select-multiple:hover:not(.sd-select-multiple--disabled){background:#f6f6f6}.sd-select-multiple.sd-select-multiple--disabled{cursor:not-allowed;background-color:#eeeeee;border-color:#cccccc}.sd-select-multiple.sd-select-multiple--disabled .sd-select-multiple__label{border-right:1px solid #cccccc}.sd-select-multiple.sd-select-multiple--disabled .sd-select-multiple__trigger{color:#888888}.sd-select-multiple.sd-select-multiple--disabled .sd-select-multiple__trigger:focus,.sd-select-multiple.sd-select-multiple--disabled .sd-select-multiple__trigger:focus-visible,.sd-select-multiple.sd-select-multiple--disabled .sd-select-multiple__trigger:focus-within{outline:none !important}.sd-select-multiple__label{font-size:12px;font-weight:500;color:#333333;padding:4px 12px;border-right:1px solid #cccccc;border-radius:4px 0 0 4px;background-color:#f6f6f6}.sd-select-multiple__container{position:relative;width:100%;display:flex}.sd-select-multiple__container .sd-select-multiple__trigger{padding:4px 20px 4px 12px;display:flex;width:100%;align-items:center}.sd-select-multiple__container .sd-select-multiple__trigger .sd-select-multiple__value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:20px;font-size:12px;font-weight:400}.sd-select-multiple__container .sd-select-multiple__trigger .sd-select-multiple__clear{margin:0 4px;width:8px;height:8px;background-color:transparent;outline:none;border:none}.sd-select-multiple__container .sd-select-multiple__arrow{position:absolute;top:8px;right:8px;width:12px;height:12px;color:#888888;transition:transform 0.3s ease}.sd-select-multiple__container .sd-select-multiple__arrow--open{transform:rotate(180deg)}.sd-select-multiple__dropdown{width:var(--select-dropdown-width, 200px);max-height:var(--select-dropdown-height, 260px);padding-bottom:2px;background-color:white;box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.1);border-radius:4px;overflow-y:auto;color:#333333}.sd-select-multiple__dropdown .sd-select-multiple__search-container{position:sticky;top:0;display:flex;width:100%;background-color:white;align-items:center;padding:4px 8px;z-index:1}.sd-select-multiple__dropdown .sd-select-multiple__search-container--scrolled{box-shadow:2px 2px 8px 2px rgba(0, 0, 0, 0.2)}.sd-select-multiple__dropdown .sd-select-multiple__option-placeholder{padding:4px 12px;font-size:12px;line-height:20px;text-align:left}";
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BjPOPvqs.js');
3
+ var index = require('./index-DXo1Fhkn.js');
4
4
 
5
5
  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:28px;font-size:12px;line-height:20px}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}sd-select-option-group .sd-select__option-group.sd-select__option-group--group{padding-left:12px;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-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.sd-select__option-group--item sd-checkbox .sd-checkbox__bg{border-color:white !important}";
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BjPOPvqs.js');
3
+ var index = require('./index-DXo1Fhkn.js');
4
4
 
5
5
  const sdTagCss = ":host{display:inline-block}:host([full-width]){display:block}.sd-tag{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:1px solid transparent;border-radius:4px;transition:all 0.2s ease-in-out;position:relative;overflow:hidden;white-space:nowrap;-webkit-user-select:none;user-select:none;box-sizing:border-box}.sd-tag--custom-color{background:var(--tag-bg-color);color:var(--tag-text-color)}.sd-tag--sm{padding:0 6px;font-size:11px;line-height:18px;height:20px;border-radius:4px}.sd-tag--md{padding:0 8px;font-size:12px;font-weight:700;line-height:20px;height:24px;border-radius:4px}.sd-tag--lg{padding:0 10px;font-size:14px;font-weight:700;line-height:24px;min-height:28px;border-radius:5px}.sd-tag--rounded.sd-tag--sm{border-radius:20px}.sd-tag--rounded.sd-tag--md{border-radius:20px}.sd-tag--rounded.sd-tag--lg{border-radius:15px}";
6
6
 
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BjPOPvqs.js');
3
+ var index = require('./index-DXo1Fhkn.js');
4
4
 
5
5
  const TooltipArrow = (props) => (index.h("svg", { width: "16", height: "12", viewBox: "0 0 16 12", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props }, index.h("path", { d: "M8.83205 10.7519C8.43623 11.3457 7.56377 11.3457 7.16795 10.7519L1.04907e-06 -1.39876e-06L16 0L8.83205 10.7519Z", fill: "currentColor" })));
6
6
 
7
7
  exports.TooltipArrow = TooltipArrow;
8
- //# sourceMappingURL=tooltipArrow-qwvq153k.js.map
8
+ //# sourceMappingURL=tooltipArrow-DNiGFQNW.js.map
9
9
 
10
- //# sourceMappingURL=tooltipArrow-qwvq153k.js.map
10
+ //# sourceMappingURL=tooltipArrow-DNiGFQNW.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltipArrow-qwvq153k.js","sources":["src/components/assets/tooltipArrow.tsx"],"sourcesContent":["import { h } from '@stencil/core';\r\n\r\nexport const TooltipArrow = (props: SVGProps) => (\r\n <svg\r\n width=\"16\"\r\n height=\"12\"\r\n viewBox=\"0 0 16 12\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M8.83205 10.7519C8.43623 11.3457 7.56377 11.3457 7.16795 10.7519L1.04907e-06 -1.39876e-06L16 0L8.83205 10.7519Z\"\r\n fill=\"currentColor\"\r\n />\r\n </svg>\r\n);\r\n"],"names":["h"],"mappings":";;;;AAEa,MAAA,YAAY,GAAG,CAAC,KAAe,MAC3CA,OACC,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,KAC9B,KAAK,EAAA,EAETA,OACC,CAAA,MAAA,EAAA,EAAA,CAAC,EAAC,iHAAiH,EACnH,IAAI,EAAC,cAAc,EAAA,CAClB,CACG;;;;"}
1
+ {"version":3,"file":"tooltipArrow-DNiGFQNW.js","sources":["src/components/assets/tooltipArrow.tsx"],"sourcesContent":["import { h } from '@stencil/core';\r\n\r\nexport const TooltipArrow = (props: SVGProps) => (\r\n <svg\r\n width=\"16\"\r\n height=\"12\"\r\n viewBox=\"0 0 16 12\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M8.83205 10.7519C8.43623 11.3457 7.56377 11.3457 7.16795 10.7519L1.04907e-06 -1.39876e-06L16 0L8.83205 10.7519Z\"\r\n fill=\"currentColor\"\r\n />\r\n </svg>\r\n);\r\n"],"names":["h"],"mappings":";;;;AAEa,MAAA,YAAY,GAAG,CAAC,KAAe,MAC3CA,OACC,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,KAC9B,KAAK,EAAA,EAETA,OACC,CAAA,MAAA,EAAA,EAAA,CAAC,EAAC,iHAAiH,EACnH,IAAI,EAAC,cAAc,EAAA,CAClB,CACG;;;;"}
@@ -1,5 +1,71 @@
1
- .sd-tooltip {
1
+ sd-tooltip [slot=content] {
2
+ display: none;
3
+ }
4
+ sd-tooltip .sd-tooltip {
2
5
  position: relative;
3
6
  cursor: pointer;
4
7
  display: inline-block;
8
+ }
9
+
10
+ .sd-tooltip-menu {
11
+ width: fit-content;
12
+ padding: 8px 16px;
13
+ border-radius: 4px;
14
+ font-size: 12px;
15
+ position: relative;
16
+ box-sizing: border-box;
17
+ display: flex;
18
+ align-items: start;
19
+ justify-content: center;
20
+ gap: 12px;
21
+ }
22
+ .sd-tooltip-menu--with-close {
23
+ padding-right: 12px !important;
24
+ }
25
+ .sd-tooltip-menu__arrow {
26
+ position: absolute;
27
+ display: flex;
28
+ width: 9.6px;
29
+ height: 7.2px;
30
+ }
31
+ .sd-tooltip-menu__arrow svg {
32
+ width: 100%;
33
+ height: 100%;
34
+ }
35
+ .sd-tooltip-menu__arrow--top {
36
+ bottom: -7.2px;
37
+ left: 50%;
38
+ transform: translateX(-50%);
39
+ }
40
+ .sd-tooltip-menu__arrow--bottom {
41
+ top: -7.2px;
42
+ left: 50%;
43
+ transform: translateX(-50%) rotate(180deg);
44
+ }
45
+ .sd-tooltip-menu__arrow--left {
46
+ right: -7.2px;
47
+ top: 50%;
48
+ transform: translateY(-50%) rotate(-90deg);
49
+ }
50
+ .sd-tooltip-menu__arrow--right {
51
+ left: -7.2px;
52
+ top: 50%;
53
+ transform: translateY(-50%) rotate(90deg);
54
+ }
55
+ .sd-tooltip-menu__content {
56
+ line-height: 20px;
57
+ font-weight: 500;
58
+ }
59
+ .sd-tooltip-menu__content p {
60
+ margin: 0;
61
+ }
62
+ .sd-tooltip-menu__close-button {
63
+ padding-top: 4px;
64
+ display: flex;
65
+ }
66
+ .sd-tooltip-menu__close-button button {
67
+ padding: 0;
68
+ background: none;
69
+ border: none;
70
+ cursor: pointer;
5
71
  }
@@ -43,23 +43,22 @@ export class SdTooltip {
43
43
  : {
44
44
  onClick: () => (this.showTooltip = !this.showTooltip),
45
45
  };
46
- return (h(Fragment, { key: '7d527b3422496e0bfa729f2ca983a11ef998eb26' }, this.label ? (h("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 })) : (h("sd-icon", { ref: el => (this.buttonEl = el), name: this.icon, size: this.iconSize, color: this.color, class: "sd-tooltip", ...handleTrigger })), this.showTooltip && (h("sd-tooltip-portal", { key: 'b07ccad73334de2c9780b810dc3f8a5f214aee9a', parentRef: this.buttonEl, onSdClose: () => this.handleClose(), placement: this.placement }, h("div", { key: 'e97fe4a6135e3373b5f989c1cde95a222437c355', class: {
46
+ return (h(Fragment, { key: 'da480a55495b1311368ae55ef8827a54ea5de766' }, this.label ? (h("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 })) : (h("sd-icon", { ref: el => (this.buttonEl = el), name: this.icon, size: this.iconSize, color: this.color, class: "sd-tooltip", ...handleTrigger })), this.showTooltip && (h("sd-tooltip-portal", { key: '74be36575fbf97c9b51577fa5b24a4fbcfcf4c6b', parentRef: this.buttonEl, onSdClose: () => this.handleClose(), placement: this.placement }, h("div", { key: '63707a51fcc66a3a0c91fc7d409d30f61c0b1f17', class: {
47
47
  'sd-tooltip-menu': true,
48
48
  [`sd-tooltip-menu--${this.type}`]: true,
49
49
  [`sd-tooltip-menu--${this.placement}`]: true,
50
50
  'sd-tooltip-menu--with-close': this.useClose,
51
51
  [`bg-${SdTooltip.COLOR_OF_TYPE[this.type].background}`]: true,
52
52
  [`text-${SdTooltip.COLOR_OF_TYPE[this.type].text}`]: true,
53
- } }, h("i", { key: '3ffa50df1b15c24670ce1c6199093b451df9ad93', class: `sd-tooltip-menu__arrow sd-tooltip-menu__arrow--${this.placement}` }, h(TooltipArrow, { key: 'fe1eb76008e4575b2d640f7e1269041e5e67e113', class: {
53
+ } }, h("i", { key: 'a2c557e1457c293ef4a6fb3e23a70c9ff5b0b027', class: `sd-tooltip-menu__arrow sd-tooltip-menu__arrow--${this.placement}` }, h(TooltipArrow, { key: '7e7e471bb288680875fbbaa1d7b7df34b636c76f', class: {
54
54
  [`text-${SdTooltip.COLOR_OF_TYPE[this.type].background}`]: true,
55
- } })), h("div", { key: 'e2dd1a1f895f114a393b44ee67518d2af74db891', class: "sd-tooltip-menu__content", ref: el => {
55
+ } })), h("div", { key: 'c7f7a093907053c100fdb5f247d09d984f8cddd8', class: "sd-tooltip-menu__content", ref: el => {
56
56
  if (el && this.slotContent && !el.hasChildNodes()) {
57
57
  el.appendChild(this.slotContent.cloneNode(true));
58
58
  }
59
- } }, !this.slotContent && h("span", { key: '0e45a93818843314bb407f95bced59249c7adbc1' }, this.el.textContent)), this.useClose && (h("div", { key: 'd55fad487b1a25c02acf95f8bb672001b68bc923', class: "sd-tooltip-menu__close-button" }, h("button", { key: 'bec4556571948b6ece4bb61ea3314c4a859feb4d', type: "button", "aria-label": "Close tooltip", title: "Close tooltip", onClick: () => this.handleClose() }, h("sd-icon", { key: '0e916c99996d6032f90f888151abcfec1fd85091', name: "close", size: "12", color: "#AAAAAA" })))))))));
59
+ } }, !this.slotContent && h("span", { key: '14925b4653ca984bd6adf99f6297713dc8b2bafa' }, this.el.textContent)), this.useClose && (h("div", { key: '1a02cee06eaaf9068396fb0b489c93e23ba5c8b7', class: "sd-tooltip-menu__close-button" }, h("button", { key: '40973df40b2ec2ab887a47c7f3e466f6cae4e69f', type: "button", "aria-label": "Close tooltip", title: "Close tooltip", onClick: () => this.handleClose() }, h("sd-icon", { key: 'a02e35f80ae7d3c1414577ce253a67d6dfd64bc0', name: "close", size: "12", color: "#AAAAAA" })))))))));
60
60
  }
61
61
  static get is() { return "sd-tooltip"; }
62
- static get encapsulation() { return "shadow"; }
63
62
  static get originalStyleUrls() {
64
63
  return {
65
64
  "$": ["sd-tooltip.scss"]
@@ -1 +1 @@
1
- {"version":3,"file":"sd-tooltip.js","sourceRoot":"","sources":["../../../src/components/sd-tooltip/sd-tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Fragment, Prop, State, h } from '@stencil/core';\r\nimport { HTMLStencilElement } from '@stencil/core/internal';\r\nimport { ButtonSize, ButtonVariant } from '../sd-button/sd-button';\r\nimport { TooltipArrow } from '../assets/tooltipArrow';\r\n\r\n@Component({\r\n tag: 'sd-tooltip',\r\n styleUrl: 'sd-tooltip.scss',\r\n shadow: true,\r\n})\r\nexport class SdTooltip {\r\n @Element() el!: HTMLElement;\r\n\r\n @Prop() trigger: 'hover' | 'click' = 'hover';\r\n @Prop() placement: 'top' | 'bottom' | 'left' | 'right' = 'top';\r\n @Prop() color: string = '#01BB4B';\r\n @Prop() type: 'default' | 'caution' | 'notice' | 'accent' = 'default';\r\n\r\n @Prop() icon: IconName = 'helpOutline';\r\n @Prop() iconSize: number = 12;\r\n\r\n @Prop() label: string = '';\r\n @Prop() buttonSize: ButtonSize = 'sm';\r\n @Prop() buttonVariant: ButtonVariant = 'primary';\r\n\r\n @Prop() noHover: boolean = true;\r\n\r\n @Prop() useClose: boolean = false;\r\n\r\n @State() showTooltip: boolean = false;\r\n @State() slotContent: HTMLElement | null = null;\r\n\r\n private static readonly COLOR_OF_TYPE = {\r\n default: { background: 'oceanblue_85', text: 'white' },\r\n caution: { background: 'red_20', text: 'red_70' },\r\n notice: { background: 'orange_10', text: 'orange_65' },\r\n accent: { background: 'brilliantblue_20', text: 'brilliantblue_75' },\r\n };\r\n\r\n private buttonEl?: HTMLStencilElement;\r\n\r\n private handleClose = () => {\r\n this.showTooltip = false;\r\n };\r\n\r\n // 현재 tooltip popover가 조건부 렌더링이여서 초기 slot이 렌더링 되지 않은 시점에\r\n // 데이터 매핑에 실패 (light dom에 저장된 slot내용을 shadow dom을 찾지못해 매핑 실패)\r\n // 따라서 slot내용을 받은 후에 복제하여 state에 저장\r\n componentWillLoad() {\r\n const contentEl = this.el.querySelector('[slot=\"content\"]');\r\n if (contentEl) {\r\n this.slotContent = contentEl.cloneNode(true) as HTMLElement;\r\n }\r\n }\r\n\r\n render() {\r\n const handleTrigger =\r\n this.trigger === 'hover'\r\n ? {\r\n onMouseEnter: () => (this.showTooltip = true),\r\n onMouseLeave: () => (this.showTooltip = false),\r\n }\r\n : {\r\n onClick: () => (this.showTooltip = !this.showTooltip),\r\n };\r\n\r\n return (\r\n <Fragment>\r\n {this.label ? (\r\n <sd-button\r\n ref={el => (this.buttonEl = el)}\r\n label={this.label}\r\n icon={this.icon}\r\n size={this.buttonSize}\r\n color={this.color}\r\n variant={this.buttonVariant}\r\n class=\"sd-tooltip\"\r\n {...handleTrigger}\r\n ></sd-button>\r\n ) : (\r\n <sd-icon\r\n ref={el => (this.buttonEl = el)}\r\n name={this.icon}\r\n size={this.iconSize}\r\n color={this.color}\r\n class=\"sd-tooltip\"\r\n {...handleTrigger}\r\n ></sd-icon>\r\n )}\r\n\r\n {this.showTooltip && (\r\n <sd-tooltip-portal\r\n parentRef={this.buttonEl}\r\n onSdClose={() => this.handleClose()}\r\n placement={this.placement}\r\n >\r\n <div\r\n class={{\r\n 'sd-tooltip-menu': true,\r\n [`sd-tooltip-menu--${this.type}`]: true,\r\n [`sd-tooltip-menu--${this.placement}`]: true,\r\n 'sd-tooltip-menu--with-close': this.useClose,\r\n [`bg-${SdTooltip.COLOR_OF_TYPE[this.type].background}`]: true,\r\n [`text-${SdTooltip.COLOR_OF_TYPE[this.type].text}`]: true,\r\n }}\r\n >\r\n <i class={`sd-tooltip-menu__arrow sd-tooltip-menu__arrow--${this.placement}`}>\r\n <TooltipArrow\r\n class={{\r\n [`text-${SdTooltip.COLOR_OF_TYPE[this.type].background}`]: true,\r\n }}\r\n ></TooltipArrow>\r\n </i>\r\n\r\n <div\r\n class=\"sd-tooltip-menu__content\"\r\n ref={el => {\r\n if (el && this.slotContent && !el.hasChildNodes()) {\r\n el.appendChild(this.slotContent.cloneNode(true));\r\n }\r\n }}\r\n >\r\n {!this.slotContent && <span>{this.el.textContent}</span>}\r\n </div>\r\n\r\n {this.useClose && (\r\n <div class=\"sd-tooltip-menu__close-button\">\r\n <button\r\n type=\"button\"\r\n aria-label=\"Close tooltip\"\r\n title=\"Close tooltip\"\r\n onClick={() => this.handleClose()}\r\n >\r\n <sd-icon name=\"close\" size=\"12\" color=\"#AAAAAA\"></sd-icon>\r\n </button>\r\n </div>\r\n )}\r\n </div>\r\n </sd-tooltip-portal>\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"sd-tooltip.js","sourceRoot":"","sources":["../../../src/components/sd-tooltip/sd-tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Fragment, Prop, State, h } from '@stencil/core';\r\nimport { HTMLStencilElement } from '@stencil/core/internal';\r\nimport { ButtonSize, ButtonVariant } from '../sd-button/sd-button';\r\nimport { TooltipArrow } from '../assets/tooltipArrow';\r\n\r\n@Component({\r\n tag: 'sd-tooltip',\r\n styleUrl: 'sd-tooltip.scss',\r\n})\r\nexport class SdTooltip {\r\n @Element() el!: HTMLElement;\r\n\r\n @Prop() trigger: 'hover' | 'click' = 'hover';\r\n @Prop() placement: 'top' | 'bottom' | 'left' | 'right' = 'top';\r\n @Prop() color: string = '#01BB4B';\r\n @Prop() type: 'default' | 'caution' | 'notice' | 'accent' = 'default';\r\n\r\n @Prop() icon: IconName = 'helpOutline';\r\n @Prop() iconSize: number = 12;\r\n\r\n @Prop() label: string = '';\r\n @Prop() buttonSize: ButtonSize = 'sm';\r\n @Prop() buttonVariant: ButtonVariant = 'primary';\r\n\r\n @Prop() noHover: boolean = true;\r\n\r\n @Prop() useClose: boolean = false;\r\n\r\n @State() showTooltip: boolean = false;\r\n @State() slotContent: HTMLElement | null = null;\r\n\r\n private static readonly COLOR_OF_TYPE = {\r\n default: { background: 'oceanblue_85', text: 'white' },\r\n caution: { background: 'red_20', text: 'red_70' },\r\n notice: { background: 'orange_10', text: 'orange_65' },\r\n accent: { background: 'brilliantblue_20', text: 'brilliantblue_75' },\r\n };\r\n\r\n private buttonEl?: HTMLStencilElement;\r\n\r\n private handleClose = () => {\r\n this.showTooltip = false;\r\n };\r\n\r\n // 현재 tooltip popover가 조건부 렌더링이여서 초기 slot이 렌더링 되지 않은 시점에\r\n // 데이터 매핑에 실패 (light dom에 저장된 slot내용을 shadow dom을 찾지못해 매핑 실패)\r\n // 따라서 slot내용을 받은 후에 복제하여 state에 저장\r\n componentWillLoad() {\r\n const contentEl = this.el.querySelector('[slot=\"content\"]');\r\n if (contentEl) {\r\n this.slotContent = contentEl.cloneNode(true) as HTMLElement;\r\n }\r\n }\r\n\r\n render() {\r\n const handleTrigger =\r\n this.trigger === 'hover'\r\n ? {\r\n onMouseEnter: () => (this.showTooltip = true),\r\n onMouseLeave: () => (this.showTooltip = false),\r\n }\r\n : {\r\n onClick: () => (this.showTooltip = !this.showTooltip),\r\n };\r\n\r\n return (\r\n <Fragment>\r\n {this.label ? (\r\n <sd-button\r\n ref={el => (this.buttonEl = el)}\r\n label={this.label}\r\n icon={this.icon}\r\n size={this.buttonSize}\r\n color={this.color}\r\n variant={this.buttonVariant}\r\n class=\"sd-tooltip\"\r\n {...handleTrigger}\r\n ></sd-button>\r\n ) : (\r\n <sd-icon\r\n ref={el => (this.buttonEl = el)}\r\n name={this.icon}\r\n size={this.iconSize}\r\n color={this.color}\r\n class=\"sd-tooltip\"\r\n {...handleTrigger}\r\n ></sd-icon>\r\n )}\r\n\r\n {this.showTooltip && (\r\n <sd-tooltip-portal\r\n parentRef={this.buttonEl}\r\n onSdClose={() => this.handleClose()}\r\n placement={this.placement}\r\n >\r\n <div\r\n class={{\r\n 'sd-tooltip-menu': true,\r\n [`sd-tooltip-menu--${this.type}`]: true,\r\n [`sd-tooltip-menu--${this.placement}`]: true,\r\n 'sd-tooltip-menu--with-close': this.useClose,\r\n [`bg-${SdTooltip.COLOR_OF_TYPE[this.type].background}`]: true,\r\n [`text-${SdTooltip.COLOR_OF_TYPE[this.type].text}`]: true,\r\n }}\r\n >\r\n <i class={`sd-tooltip-menu__arrow sd-tooltip-menu__arrow--${this.placement}`}>\r\n <TooltipArrow\r\n class={{\r\n [`text-${SdTooltip.COLOR_OF_TYPE[this.type].background}`]: true,\r\n }}\r\n ></TooltipArrow>\r\n </i>\r\n\r\n <div\r\n class=\"sd-tooltip-menu__content\"\r\n ref={el => {\r\n if (el && this.slotContent && !el.hasChildNodes()) {\r\n el.appendChild(this.slotContent.cloneNode(true));\r\n }\r\n }}\r\n >\r\n {!this.slotContent && <span>{this.el.textContent}</span>}\r\n </div>\r\n\r\n {this.useClose && (\r\n <div class=\"sd-tooltip-menu__close-button\">\r\n <button\r\n type=\"button\"\r\n aria-label=\"Close tooltip\"\r\n title=\"Close tooltip\"\r\n onClick={() => this.handleClose()}\r\n >\r\n <sd-icon name=\"close\" size=\"12\" color=\"#AAAAAA\"></sd-icon>\r\n </button>\r\n </div>\r\n )}\r\n </div>\r\n </sd-tooltip-portal>\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n}\r\n"]}
@@ -1,4 +1,4 @@
1
- export { g as getAssetPath, r as render, s as setAssetPath, a as setNonce, b as setPlatformOptions } from './p-DzRr3BEe.js';
1
+ export { g as getAssetPath, r as render, s as setAssetPath, a as setNonce, b as setPlatformOptions } from './p-CbnL1UUF.js';
2
2
 
3
3
  function format(first, middle, last) {
4
4
  return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');
@@ -1,5 +1,5 @@
1
- import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-DzRr3BEe.js';
2
- import { d as defineCustomElement$1 } from './p-DzIffEfK.js';
1
+ import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-CbnL1UUF.js';
2
+ import { d as defineCustomElement$1 } from './p-BtS3tSh2.js';
3
3
 
4
4
  const sdInputCss = "sd-icon{line-height:0}sd-icon .sd-icon{line-height:0;vertical-align:middle}sd-icon .sd-icon--rotate-90{transform:rotate(90deg)}sd-icon .sd-icon--rotate-180{transform:rotate(180deg)}sd-icon .sd-icon--rotate-270{transform:rotate(270deg)}.sd-input{display:flex;width:var(--input-width, 100%);align-items:center;height:28px;padding:4px 8px;border:1px solid #aaaaaa;border-radius:4px;color:#333333;font-size:12px;line-height:20px;background:white}.sd-input--hovered,.sd-input--focused{border-color:#0075ff;box-shadow:0 0 4px 0 rgba(0, 113, 255, 0.4)}.sd-input.sd-input--error{border-color:#fb4444}.sd-input.sd-input--pass{border-color:#2bce6c}.sd-input.sd-input--barcode:not(.sd-input--disabled){background-color:#fafaa1}.sd-input.sd-input--disabled{background-color:#eeeeee !important;border-color:#cccccc !important;cursor:not-allowed !important;box-shadow:none !important}.sd-input.sd-input--disabled .sd-input__native_element{color:#888888 !important}.sd-input .sd-input__native_element{display:block;width:100%;height:20px;line-height:20px;border:none;outline:none;background:transparent;font-size:inherit;color:#333333;margin-left:4px;margin-right:4px;padding-block:0;padding-inline:0}.sd-input .sd-input__native_element::placeholder{font-size:12px;height:20px;line-height:20px;color:#aaaaaa}.sd-input .sd-input__clear-icon{cursor:pointer;margin-left:8px}";
5
5
 
@@ -162,6 +162,6 @@ function defineCustomElement() {
162
162
  }
163
163
 
164
164
  export { SdInput as S, defineCustomElement as d };
165
- //# sourceMappingURL=p-Db_plCmk.js.map
165
+ //# sourceMappingURL=p-B9QE7fbR.js.map
166
166
 
167
- //# sourceMappingURL=p-Db_plCmk.js.map
167
+ //# sourceMappingURL=p-B9QE7fbR.js.map
@@ -1 +1 @@
1
- {"file":"p-Db_plCmk.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sd-input/sd-input.scss?tag=sd-input","src/components/sd-input/sd-input.tsx"],"sourcesContent":["@import 'variables';\r\n@import '../sd-icon/sd-icon.scss';\r\n\r\n.sd-input {\r\n display: flex;\r\n width: var(--input-width, 100%);\r\n align-items: center;\r\n height: 28px;\r\n padding: 4px 8px;\r\n border: 1px solid $grey_55;\r\n border-radius: 4px;\r\n color: $grey_90;\r\n font-size: 12px;\r\n line-height: 20px;\r\n background: white;\r\n\r\n &--hovered,\r\n &--focused {\r\n border-color: $brilliantblue_75;\r\n box-shadow: 0 0 4px 0 #0071ff66;\r\n }\r\n\r\n &.sd-input--error {\r\n border-color: $red_70;\r\n }\r\n\r\n &.sd-input--pass {\r\n border-color: $green_65;\r\n }\r\n\r\n &.sd-input--barcode:not(.sd-input--disabled) {\r\n background-color: $olive_15;\r\n }\r\n\r\n &.sd-input--disabled {\r\n background-color: $grey_20 !important;\r\n border-color: $grey_45 !important;\r\n cursor: not-allowed !important;\r\n box-shadow: none !important;\r\n .sd-input__native_element {\r\n color: $grey_65 !important;\r\n }\r\n }\r\n\r\n .sd-input__native_element {\r\n display: block;\r\n width: 100%;\r\n height: 20px;\r\n line-height: 20px;\r\n border: none;\r\n outline: none;\r\n background: transparent;\r\n font-size: inherit;\r\n color: $grey_90;\r\n margin-left: 4px;\r\n margin-right: 4px;\r\n padding-block: 0;\r\n padding-inline: 0;\r\n\r\n &::placeholder {\r\n font-size: 12px;\r\n height: 20px;\r\n line-height: 20px;\r\n color: $grey_55;\r\n }\r\n }\r\n\r\n .sd-input__clear-icon {\r\n cursor: pointer;\r\n margin-left: 8px;\r\n }\r\n}\r\n","import {\r\n Component,\r\n Element,\r\n Host,\r\n Prop,\r\n State,\r\n Watch,\r\n Event,\r\n EventEmitter,\r\n h,\r\n Method,\r\n} from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'sd-input',\r\n styleUrl: 'sd-input.scss',\r\n})\r\nexport class SdInput {\r\n @Element() el!: HTMLElement;\r\n\r\n @Prop({ mutable: true }) value?: string | number | null = null;\r\n @Prop() label?: string;\r\n @Prop() placeholder: string = '입력해 주세요.';\r\n @Prop() disabled: boolean = false;\r\n @Prop() clearable: boolean = false;\r\n @Prop() width?: number | string;\r\n @Prop() barcode?: boolean = false;\r\n @Prop() rules?: Array<(value: string | number | null) => boolean | string>;\r\n @Prop() autoFocus: boolean = false;\r\n @Prop() status?: 'default' | 'pass' | 'error';\r\n @Prop() inputClass: string = '';\r\n @Prop() readonly: boolean = false;\r\n\r\n // props - custom styles\r\n @Prop() inputStyle: { [key: string]: string } = {};\r\n\r\n @State() private internalValue: string | number | null = null;\r\n @State() private error: boolean = false;\r\n @State() private focused: boolean = false;\r\n @State() private hovered: boolean = false;\r\n\r\n private nativeEl: HTMLInputElement | undefined = undefined;\r\n\r\n @Event() sdClick?: EventEmitter<string | number | null>;\r\n @Event() sdInput?: EventEmitter<string | number | null>;\r\n @Event() sdChange?: EventEmitter<string | number | null>;\r\n @Event() sdFocus?: EventEmitter<Event>;\r\n @Event() sdBlur?: EventEmitter<Event>;\r\n\r\n @Watch('value')\r\n valueChanged(newValue: string | number | null) {\r\n this.internalValue = newValue;\r\n }\r\n\r\n @Watch('internalValue')\r\n internalValueChanged(newValue: string | number | null) {\r\n if (newValue !== this.value) {\r\n this.value = newValue;\r\n this.sdInput?.emit(this.value);\r\n }\r\n\r\n if (!this.rules || this.rules.length === 0) return;\r\n this.error = false;\r\n for (const rule of this.rules) {\r\n const result = rule(newValue);\r\n if (result !== true) {\r\n this.error = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n @Method()\r\n async getNativeElement(): Promise<HTMLInputElement | null> {\r\n return this.nativeEl || null;\r\n }\r\n\r\n componentWillLoad() {\r\n if (this.value) {\r\n this.internalValue = this.value;\r\n }\r\n }\r\n\r\n private handleInput = (event: Event) => {\r\n const target = event.target as HTMLInputElement;\r\n this.internalValue = target.value;\r\n this.sdInput?.emit(this.internalValue);\r\n };\r\n\r\n private handleChange = (event: Event) => {\r\n const target = event.target as HTMLInputElement;\r\n this.internalValue = target.value;\r\n this.sdChange?.emit(this.internalValue);\r\n };\r\n\r\n private handleFocus = (type: 'focus' | 'blur', event: Event) => {\r\n this.focused = type === 'focus';\r\n\r\n if (type === 'blur') this.sdBlur?.emit(event);\r\n else this.sdFocus?.emit(event);\r\n };\r\n\r\n getInputStatus() {\r\n // input 상태 우선순위: hovered > focused > status(상태 주입) > error(rules 검사)\r\n if (this.disabled) return 'sd-input--disabled';\r\n if (this.hovered) return 'sd-input--hovered';\r\n if (this.focused) return 'sd-input--focused';\r\n if (this.status) return `sd-input--${this.status}`;\r\n if (this.error) return 'sd-input--error';\r\n return '';\r\n }\r\n\r\n render() {\r\n const inputWidth = this.width\r\n ? {\r\n '--input-width': typeof this.width === 'number' ? `${this.width}px` : this.width,\r\n }\r\n : {};\r\n\r\n return (\r\n <Host style={inputWidth}>\r\n {this.label && <div class=\"sd-input__label\">{this.label}</div>}\r\n <label\r\n class={{\r\n 'sd-input': true,\r\n [this.getInputStatus()]: true,\r\n 'sd-input--barcode': !!this.barcode,\r\n }}\r\n onMouseEnter={() => (this.hovered = true)}\r\n onMouseLeave={() => (this.hovered = false)}\r\n style={this.inputStyle}\r\n >\r\n <slot name=\"prefix\"></slot>\r\n <input\r\n ref={el => (this.nativeEl = el)}\r\n class={`sd-input__native_element ${this.inputClass}`}\r\n type=\"text\"\r\n value={this.internalValue || ''}\r\n placeholder={this.placeholder}\r\n disabled={this.disabled}\r\n readonly={this.readonly}\r\n autofocus={this.autoFocus}\r\n onInput={this.handleInput}\r\n onChange={this.handleChange}\r\n onFocus={event => this.handleFocus('focus', event)}\r\n onBlur={event => this.handleFocus('blur', event)}\r\n />\r\n <slot name=\"suffix\"></slot>\r\n {this.clearable && this.internalValue && (\r\n <sd-icon\r\n name=\"close\"\r\n color=\"#888\"\r\n class=\"sd-input__clear-icon\"\r\n onClick={() => {\r\n this.internalValue = '';\r\n this.sdChange?.emit(this.internalValue);\r\n this.sdInput?.emit(this.internalValue);\r\n }}\r\n />\r\n )}\r\n </label>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"p-B9QE7fbR.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sd-input/sd-input.scss?tag=sd-input","src/components/sd-input/sd-input.tsx"],"sourcesContent":["@import 'variables';\r\n@import '../sd-icon/sd-icon.scss';\r\n\r\n.sd-input {\r\n display: flex;\r\n width: var(--input-width, 100%);\r\n align-items: center;\r\n height: 28px;\r\n padding: 4px 8px;\r\n border: 1px solid $grey_55;\r\n border-radius: 4px;\r\n color: $grey_90;\r\n font-size: 12px;\r\n line-height: 20px;\r\n background: white;\r\n\r\n &--hovered,\r\n &--focused {\r\n border-color: $brilliantblue_75;\r\n box-shadow: 0 0 4px 0 #0071ff66;\r\n }\r\n\r\n &.sd-input--error {\r\n border-color: $red_70;\r\n }\r\n\r\n &.sd-input--pass {\r\n border-color: $green_65;\r\n }\r\n\r\n &.sd-input--barcode:not(.sd-input--disabled) {\r\n background-color: $olive_15;\r\n }\r\n\r\n &.sd-input--disabled {\r\n background-color: $grey_20 !important;\r\n border-color: $grey_45 !important;\r\n cursor: not-allowed !important;\r\n box-shadow: none !important;\r\n .sd-input__native_element {\r\n color: $grey_65 !important;\r\n }\r\n }\r\n\r\n .sd-input__native_element {\r\n display: block;\r\n width: 100%;\r\n height: 20px;\r\n line-height: 20px;\r\n border: none;\r\n outline: none;\r\n background: transparent;\r\n font-size: inherit;\r\n color: $grey_90;\r\n margin-left: 4px;\r\n margin-right: 4px;\r\n padding-block: 0;\r\n padding-inline: 0;\r\n\r\n &::placeholder {\r\n font-size: 12px;\r\n height: 20px;\r\n line-height: 20px;\r\n color: $grey_55;\r\n }\r\n }\r\n\r\n .sd-input__clear-icon {\r\n cursor: pointer;\r\n margin-left: 8px;\r\n }\r\n}\r\n","import {\r\n Component,\r\n Element,\r\n Host,\r\n Prop,\r\n State,\r\n Watch,\r\n Event,\r\n EventEmitter,\r\n h,\r\n Method,\r\n} from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'sd-input',\r\n styleUrl: 'sd-input.scss',\r\n})\r\nexport class SdInput {\r\n @Element() el!: HTMLElement;\r\n\r\n @Prop({ mutable: true }) value?: string | number | null = null;\r\n @Prop() label?: string;\r\n @Prop() placeholder: string = '입력해 주세요.';\r\n @Prop() disabled: boolean = false;\r\n @Prop() clearable: boolean = false;\r\n @Prop() width?: number | string;\r\n @Prop() barcode?: boolean = false;\r\n @Prop() rules?: Array<(value: string | number | null) => boolean | string>;\r\n @Prop() autoFocus: boolean = false;\r\n @Prop() status?: 'default' | 'pass' | 'error';\r\n @Prop() inputClass: string = '';\r\n @Prop() readonly: boolean = false;\r\n\r\n // props - custom styles\r\n @Prop() inputStyle: { [key: string]: string } = {};\r\n\r\n @State() private internalValue: string | number | null = null;\r\n @State() private error: boolean = false;\r\n @State() private focused: boolean = false;\r\n @State() private hovered: boolean = false;\r\n\r\n private nativeEl: HTMLInputElement | undefined = undefined;\r\n\r\n @Event() sdClick?: EventEmitter<string | number | null>;\r\n @Event() sdInput?: EventEmitter<string | number | null>;\r\n @Event() sdChange?: EventEmitter<string | number | null>;\r\n @Event() sdFocus?: EventEmitter<Event>;\r\n @Event() sdBlur?: EventEmitter<Event>;\r\n\r\n @Watch('value')\r\n valueChanged(newValue: string | number | null) {\r\n this.internalValue = newValue;\r\n }\r\n\r\n @Watch('internalValue')\r\n internalValueChanged(newValue: string | number | null) {\r\n if (newValue !== this.value) {\r\n this.value = newValue;\r\n this.sdInput?.emit(this.value);\r\n }\r\n\r\n if (!this.rules || this.rules.length === 0) return;\r\n this.error = false;\r\n for (const rule of this.rules) {\r\n const result = rule(newValue);\r\n if (result !== true) {\r\n this.error = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n @Method()\r\n async getNativeElement(): Promise<HTMLInputElement | null> {\r\n return this.nativeEl || null;\r\n }\r\n\r\n componentWillLoad() {\r\n if (this.value) {\r\n this.internalValue = this.value;\r\n }\r\n }\r\n\r\n private handleInput = (event: Event) => {\r\n const target = event.target as HTMLInputElement;\r\n this.internalValue = target.value;\r\n this.sdInput?.emit(this.internalValue);\r\n };\r\n\r\n private handleChange = (event: Event) => {\r\n const target = event.target as HTMLInputElement;\r\n this.internalValue = target.value;\r\n this.sdChange?.emit(this.internalValue);\r\n };\r\n\r\n private handleFocus = (type: 'focus' | 'blur', event: Event) => {\r\n this.focused = type === 'focus';\r\n\r\n if (type === 'blur') this.sdBlur?.emit(event);\r\n else this.sdFocus?.emit(event);\r\n };\r\n\r\n getInputStatus() {\r\n // input 상태 우선순위: hovered > focused > status(상태 주입) > error(rules 검사)\r\n if (this.disabled) return 'sd-input--disabled';\r\n if (this.hovered) return 'sd-input--hovered';\r\n if (this.focused) return 'sd-input--focused';\r\n if (this.status) return `sd-input--${this.status}`;\r\n if (this.error) return 'sd-input--error';\r\n return '';\r\n }\r\n\r\n render() {\r\n const inputWidth = this.width\r\n ? {\r\n '--input-width': typeof this.width === 'number' ? `${this.width}px` : this.width,\r\n }\r\n : {};\r\n\r\n return (\r\n <Host style={inputWidth}>\r\n {this.label && <div class=\"sd-input__label\">{this.label}</div>}\r\n <label\r\n class={{\r\n 'sd-input': true,\r\n [this.getInputStatus()]: true,\r\n 'sd-input--barcode': !!this.barcode,\r\n }}\r\n onMouseEnter={() => (this.hovered = true)}\r\n onMouseLeave={() => (this.hovered = false)}\r\n style={this.inputStyle}\r\n >\r\n <slot name=\"prefix\"></slot>\r\n <input\r\n ref={el => (this.nativeEl = el)}\r\n class={`sd-input__native_element ${this.inputClass}`}\r\n type=\"text\"\r\n value={this.internalValue || ''}\r\n placeholder={this.placeholder}\r\n disabled={this.disabled}\r\n readonly={this.readonly}\r\n autofocus={this.autoFocus}\r\n onInput={this.handleInput}\r\n onChange={this.handleChange}\r\n onFocus={event => this.handleFocus('focus', event)}\r\n onBlur={event => this.handleFocus('blur', event)}\r\n />\r\n <slot name=\"suffix\"></slot>\r\n {this.clearable && this.internalValue && (\r\n <sd-icon\r\n name=\"close\"\r\n color=\"#888\"\r\n class=\"sd-input__clear-icon\"\r\n onClick={() => {\r\n this.internalValue = '';\r\n this.sdChange?.emit(this.internalValue);\r\n this.sdInput?.emit(this.internalValue);\r\n }}\r\n />\r\n )}\r\n </label>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1,5 +1,5 @@
1
- import { p as proxyCustomElement, H, d as createEvent, h } from './p-DzRr3BEe.js';
2
- import { d as defineCustomElement$1 } from './p-DzIffEfK.js';
1
+ import { p as proxyCustomElement, H, d as createEvent, h } from './p-CbnL1UUF.js';
2
+ import { d as defineCustomElement$1 } from './p-BtS3tSh2.js';
3
3
 
4
4
  const sdCheckboxCss = "sd-checkbox{display:inline-block;height:20px;line-height:0}sd-checkbox .sd-checkbox{cursor:pointer;display:inline-flex;align-items:center;gap:8px;height:20px;max-height:20px}sd-checkbox .sd-checkbox>input{display:none}sd-checkbox .sd-checkbox:hover.sd-checkbox--checked .sd-checkbox__bg,sd-checkbox .sd-checkbox:hover.sd-checkbox--indeterminate .sd-checkbox__bg{border-color:#005cc9;background:#005cc9}sd-checkbox .sd-checkbox:hover.sd-checkbox--unchecked .sd-checkbox__bg{border:1px solid #0075ff;background:#d9eaff}sd-checkbox .sd-checkbox:hover.sd-checkbox--disabled .sd-checkbox__bg{border:1px solid transparent;background:#eeeeee}sd-checkbox .sd-checkbox__bg{width:16px;height:16px;border-radius:2px;border:1px solid #888888;box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;overflow:hidden;line-height:0}sd-checkbox .sd-checkbox__label{font-size:12px;color:#333333;line-height:20px}sd-checkbox .sd-checkbox--checked.sd-checkbox--disabled .sd-checkbox__bg,sd-checkbox .sd-checkbox--indeterminate.sd-checkbox--disabled .sd-checkbox__bg{background:#eeeeee;border:1px solid #cccccc !important}sd-checkbox .sd-checkbox--checked .sd-checkbox__bg,sd-checkbox .sd-checkbox--indeterminate .sd-checkbox__bg{border:1px solid #0075ff;background:#0075ff}sd-checkbox .sd-checkbox--unchecked .sd-checkbox__bg{background:white}sd-checkbox .sd-checkbox--disabled{cursor:not-allowed}sd-checkbox .sd-checkbox--disabled .sd-checkbox__bg{background:#eeeeee;border:1px solid #cccccc !important}";
5
5
 
@@ -113,6 +113,6 @@ function defineCustomElement() {
113
113
  }
114
114
 
115
115
  export { SdCheckbox as S, defineCustomElement as d };
116
- //# sourceMappingURL=p-CpfDowFL.js.map
116
+ //# sourceMappingURL=p-BWF8FOjZ.js.map
117
117
 
118
- //# sourceMappingURL=p-CpfDowFL.js.map
118
+ //# sourceMappingURL=p-BWF8FOjZ.js.map
@@ -1 +1 @@
1
- {"file":"p-CpfDowFL.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sd-checkbox/sd-checkbox.scss?tag=sd-checkbox","src/components/sd-checkbox/sd-checkbox.tsx"],"sourcesContent":["@import 'variables';\r\n\r\nsd-checkbox {\r\n display: inline-block;\r\n height: 20px;\r\n line-height: 0;\r\n\r\n .sd-checkbox {\r\n cursor: pointer;\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 8px;\r\n height: 20px;\r\n max-height: 20px;\r\n\r\n > input {\r\n display: none;\r\n }\r\n\r\n &:hover {\r\n &.sd-checkbox--checked,\r\n &.sd-checkbox--indeterminate {\r\n .sd-checkbox__bg {\r\n border-color: $brilliantblue_80;\r\n background: $brilliantblue_80;\r\n }\r\n }\r\n\r\n &.sd-checkbox--unchecked {\r\n .sd-checkbox__bg {\r\n border: 1px solid $brilliantblue_75;\r\n background: $brilliantblue_25;\r\n }\r\n }\r\n\r\n &.sd-checkbox--disabled {\r\n .sd-checkbox__bg {\r\n border: 1px solid transparent;\r\n background: $grey_20;\r\n }\r\n }\r\n }\r\n\r\n &__bg {\r\n width: 16px;\r\n height: 16px;\r\n border-radius: 2px;\r\n border: 1px solid $grey_65;\r\n box-sizing: border-box;\r\n display: inline-flex;\r\n justify-content: center;\r\n align-items: center;\r\n overflow: hidden;\r\n line-height: 0;\r\n }\r\n\r\n &__label {\r\n font-size: 12px;\r\n color: $grey_90;\r\n line-height: 20px;\r\n }\r\n\r\n &--checked,\r\n &--indeterminate {\r\n &.sd-checkbox--disabled {\r\n .sd-checkbox__bg {\r\n background: $grey_20;\r\n border: 1px solid $grey_45 !important;\r\n }\r\n }\r\n\r\n .sd-checkbox__bg {\r\n border: 1px solid $brilliantblue_75;\r\n background: $brilliantblue_75;\r\n }\r\n }\r\n\r\n &--unchecked {\r\n .sd-checkbox__bg {\r\n background: white;\r\n }\r\n }\r\n\r\n &--disabled {\r\n cursor: not-allowed;\r\n .sd-checkbox__bg {\r\n background: $grey_20;\r\n border: 1px solid $grey_45 !important;\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, Prop, h, Element, Event, EventEmitter, State, Watch } from '@stencil/core';\r\n\r\nexport type CheckedType = boolean | any[] | null;\r\n\r\n@Component({\r\n tag: 'sd-checkbox',\r\n styleUrl: 'sd-checkbox.scss',\r\n})\r\nexport class SdCheckbox {\r\n @Element() el!: HTMLElement;\r\n\r\n /** 현재 선택 상태 또는 배열 형태의 값 */\r\n @Prop() checked!: CheckedType;\r\n\r\n /** 배열 모드에서의 개별 값 */\r\n @Prop() val?: any;\r\n\r\n /** 비활성화 여부 */\r\n @Prop() disabled: boolean = false;\r\n\r\n /** 표시할 라벨 텍스트 */\r\n @Prop() label: string = '';\r\n\r\n /** 내부 체크 상태 */\r\n @State() private isChecked: boolean | null = false;\r\n\r\n /** 값 변경 이벤트 */\r\n @Event() sdChange!: EventEmitter<CheckedType>;\r\n\r\n componentWillLoad() {\r\n this.updateCheckedState(this.checked);\r\n }\r\n\r\n componentWillRender() {\r\n this.updateCheckedState(this.checked);\r\n }\r\n\r\n @Watch('checked')\r\n watchValueHandler(newValue: CheckedType) {\r\n this.updateCheckedState(newValue);\r\n }\r\n\r\n private get checkboxClasses(): string {\r\n const classes = [\r\n 'sd-checkbox',\r\n `sd-checkbox--${this.isChecked ? 'checked' : this.isChecked === null ? 'indeterminate' : 'unchecked'}`,\r\n ];\r\n\r\n if (this.disabled) {\r\n classes.push('sd-checkbox--disabled');\r\n }\r\n\r\n return classes.join(' ');\r\n }\r\n\r\n private updateCheckedState(value: CheckedType) {\r\n if (value === null) {\r\n this.isChecked = null;\r\n } else if (typeof value === 'boolean') {\r\n this.isChecked = value;\r\n } else if (Array.isArray(value)) {\r\n this.isChecked = this.val !== undefined && value.includes(this.val);\r\n } else {\r\n this.isChecked = false;\r\n }\r\n }\r\n\r\n private handleChange = () => {\r\n if (this.disabled) return;\r\n\r\n let newValue: CheckedType;\r\n\r\n if (typeof this.checked === 'boolean') {\r\n newValue = !this.checked;\r\n } else if (Array.isArray(this.checked)) {\r\n if (this.val === undefined) {\r\n console.warn('A \"val\" property is required when using an array for the \"value\" property.');\r\n }\r\n\r\n const valueSet = new Set(this.checked);\r\n valueSet.has(this.val) ? valueSet.delete(this.val) : valueSet.add(this.val);\r\n newValue = Array.from(valueSet);\r\n } else {\r\n newValue = !this.isChecked;\r\n }\r\n\r\n this.sdChange.emit(newValue);\r\n };\r\n\r\n render() {\r\n return (\r\n <label\r\n aria-checked={this.isChecked === null ? 'mixed' : this.isChecked.toString()}\r\n aria-disabled={this.disabled.toString()}\r\n role=\"checkbox\"\r\n aria-label={this.label || 'checkbox'}\r\n class={this.checkboxClasses}\r\n >\r\n <input\r\n type=\"checkbox\"\r\n value={this.val}\r\n checked={!!this.isChecked}\r\n disabled={this.disabled}\r\n onChange={this.handleChange}\r\n name={this.label || 'checkbox'}\r\n />\r\n <div class=\"sd-checkbox__bg\">\r\n {this.isChecked !== false ? (\r\n <sd-icon\r\n name={this.isChecked === true ? 'check' : 'minus'}\r\n size={12}\r\n color={this.disabled ? '#888888' : 'white'}\r\n />\r\n ) : null}\r\n </div>\r\n {this.label && <span class=\"sd-checkbox__label\">{this.label}</span>}\r\n </label>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"p-BWF8FOjZ.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sd-checkbox/sd-checkbox.scss?tag=sd-checkbox","src/components/sd-checkbox/sd-checkbox.tsx"],"sourcesContent":["@import 'variables';\r\n\r\nsd-checkbox {\r\n display: inline-block;\r\n height: 20px;\r\n line-height: 0;\r\n\r\n .sd-checkbox {\r\n cursor: pointer;\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 8px;\r\n height: 20px;\r\n max-height: 20px;\r\n\r\n > input {\r\n display: none;\r\n }\r\n\r\n &:hover {\r\n &.sd-checkbox--checked,\r\n &.sd-checkbox--indeterminate {\r\n .sd-checkbox__bg {\r\n border-color: $brilliantblue_80;\r\n background: $brilliantblue_80;\r\n }\r\n }\r\n\r\n &.sd-checkbox--unchecked {\r\n .sd-checkbox__bg {\r\n border: 1px solid $brilliantblue_75;\r\n background: $brilliantblue_25;\r\n }\r\n }\r\n\r\n &.sd-checkbox--disabled {\r\n .sd-checkbox__bg {\r\n border: 1px solid transparent;\r\n background: $grey_20;\r\n }\r\n }\r\n }\r\n\r\n &__bg {\r\n width: 16px;\r\n height: 16px;\r\n border-radius: 2px;\r\n border: 1px solid $grey_65;\r\n box-sizing: border-box;\r\n display: inline-flex;\r\n justify-content: center;\r\n align-items: center;\r\n overflow: hidden;\r\n line-height: 0;\r\n }\r\n\r\n &__label {\r\n font-size: 12px;\r\n color: $grey_90;\r\n line-height: 20px;\r\n }\r\n\r\n &--checked,\r\n &--indeterminate {\r\n &.sd-checkbox--disabled {\r\n .sd-checkbox__bg {\r\n background: $grey_20;\r\n border: 1px solid $grey_45 !important;\r\n }\r\n }\r\n\r\n .sd-checkbox__bg {\r\n border: 1px solid $brilliantblue_75;\r\n background: $brilliantblue_75;\r\n }\r\n }\r\n\r\n &--unchecked {\r\n .sd-checkbox__bg {\r\n background: white;\r\n }\r\n }\r\n\r\n &--disabled {\r\n cursor: not-allowed;\r\n .sd-checkbox__bg {\r\n background: $grey_20;\r\n border: 1px solid $grey_45 !important;\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, Prop, h, Element, Event, EventEmitter, State, Watch } from '@stencil/core';\r\n\r\nexport type CheckedType = boolean | any[] | null;\r\n\r\n@Component({\r\n tag: 'sd-checkbox',\r\n styleUrl: 'sd-checkbox.scss',\r\n})\r\nexport class SdCheckbox {\r\n @Element() el!: HTMLElement;\r\n\r\n /** 현재 선택 상태 또는 배열 형태의 값 */\r\n @Prop() checked!: CheckedType;\r\n\r\n /** 배열 모드에서의 개별 값 */\r\n @Prop() val?: any;\r\n\r\n /** 비활성화 여부 */\r\n @Prop() disabled: boolean = false;\r\n\r\n /** 표시할 라벨 텍스트 */\r\n @Prop() label: string = '';\r\n\r\n /** 내부 체크 상태 */\r\n @State() private isChecked: boolean | null = false;\r\n\r\n /** 값 변경 이벤트 */\r\n @Event() sdChange!: EventEmitter<CheckedType>;\r\n\r\n componentWillLoad() {\r\n this.updateCheckedState(this.checked);\r\n }\r\n\r\n componentWillRender() {\r\n this.updateCheckedState(this.checked);\r\n }\r\n\r\n @Watch('checked')\r\n watchValueHandler(newValue: CheckedType) {\r\n this.updateCheckedState(newValue);\r\n }\r\n\r\n private get checkboxClasses(): string {\r\n const classes = [\r\n 'sd-checkbox',\r\n `sd-checkbox--${this.isChecked ? 'checked' : this.isChecked === null ? 'indeterminate' : 'unchecked'}`,\r\n ];\r\n\r\n if (this.disabled) {\r\n classes.push('sd-checkbox--disabled');\r\n }\r\n\r\n return classes.join(' ');\r\n }\r\n\r\n private updateCheckedState(value: CheckedType) {\r\n if (value === null) {\r\n this.isChecked = null;\r\n } else if (typeof value === 'boolean') {\r\n this.isChecked = value;\r\n } else if (Array.isArray(value)) {\r\n this.isChecked = this.val !== undefined && value.includes(this.val);\r\n } else {\r\n this.isChecked = false;\r\n }\r\n }\r\n\r\n private handleChange = () => {\r\n if (this.disabled) return;\r\n\r\n let newValue: CheckedType;\r\n\r\n if (typeof this.checked === 'boolean') {\r\n newValue = !this.checked;\r\n } else if (Array.isArray(this.checked)) {\r\n if (this.val === undefined) {\r\n console.warn('A \"val\" property is required when using an array for the \"value\" property.');\r\n }\r\n\r\n const valueSet = new Set(this.checked);\r\n valueSet.has(this.val) ? valueSet.delete(this.val) : valueSet.add(this.val);\r\n newValue = Array.from(valueSet);\r\n } else {\r\n newValue = !this.isChecked;\r\n }\r\n\r\n this.sdChange.emit(newValue);\r\n };\r\n\r\n render() {\r\n return (\r\n <label\r\n aria-checked={this.isChecked === null ? 'mixed' : this.isChecked.toString()}\r\n aria-disabled={this.disabled.toString()}\r\n role=\"checkbox\"\r\n aria-label={this.label || 'checkbox'}\r\n class={this.checkboxClasses}\r\n >\r\n <input\r\n type=\"checkbox\"\r\n value={this.val}\r\n checked={!!this.isChecked}\r\n disabled={this.disabled}\r\n onChange={this.handleChange}\r\n name={this.label || 'checkbox'}\r\n />\r\n <div class=\"sd-checkbox__bg\">\r\n {this.isChecked !== false ? (\r\n <sd-icon\r\n name={this.isChecked === true ? 'check' : 'minus'}\r\n size={12}\r\n color={this.disabled ? '#888888' : 'white'}\r\n />\r\n ) : null}\r\n </div>\r\n {this.label && <span class=\"sd-checkbox__label\">{this.label}</span>}\r\n </label>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1,10 +1,10 @@
1
- import { p as proxyCustomElement, H, h, F as Fragment } from './p-DzRr3BEe.js';
2
- import { T as TooltipArrow } from './p-BvOGkIDI.js';
3
- import { d as defineCustomElement$3 } from './p-B0qn2Tb-.js';
4
- import { d as defineCustomElement$2 } from './p-DzIffEfK.js';
5
- import { d as defineCustomElement$1 } from './p-BRrY7yTi.js';
1
+ import { p as proxyCustomElement, H, h, F as Fragment } from './p-CbnL1UUF.js';
2
+ import { T as TooltipArrow } from './p-wA4KCOG0.js';
3
+ import { d as defineCustomElement$3 } from './p-hf6YF2Mx.js';
4
+ import { d as defineCustomElement$2 } from './p-BtS3tSh2.js';
5
+ import { d as defineCustomElement$1 } from './p-Cs1Kf3Tx.js';
6
6
 
7
- const sdTooltipCss = ".sd-tooltip{position:relative;cursor:pointer;display:inline-block}";
7
+ const sdTooltipCss = "sd-tooltip [slot=content]{display:none}sd-tooltip .sd-tooltip{position:relative;cursor:pointer;display:inline-block}.sd-tooltip-menu{width:fit-content;padding:8px 16px;border-radius:4px;font-size:12px;position:relative;box-sizing:border-box;display:flex;align-items:start;justify-content:center;gap:12px}.sd-tooltip-menu--with-close{padding-right:12px !important}.sd-tooltip-menu__arrow{position:absolute;display:flex;width:9.6px;height:7.2px}.sd-tooltip-menu__arrow svg{width:100%;height:100%}.sd-tooltip-menu__arrow--top{bottom:-7.2px;left:50%;transform:translateX(-50%)}.sd-tooltip-menu__arrow--bottom{top:-7.2px;left:50%;transform:translateX(-50%) rotate(180deg)}.sd-tooltip-menu__arrow--left{right:-7.2px;top:50%;transform:translateY(-50%) rotate(-90deg)}.sd-tooltip-menu__arrow--right{left:-7.2px;top:50%;transform:translateY(-50%) rotate(90deg)}.sd-tooltip-menu__content{line-height:20px;font-weight:500}.sd-tooltip-menu__content p{margin:0}.sd-tooltip-menu__close-button{padding-top:4px;display:flex}.sd-tooltip-menu__close-button button{padding:0;background:none;border:none;cursor:pointer}";
8
8
 
9
9
  const SdTooltip = /*@__PURE__*/ proxyCustomElement(class SdTooltip extends H {
10
10
  constructor(registerHost) {
@@ -12,7 +12,6 @@ const SdTooltip = /*@__PURE__*/ proxyCustomElement(class SdTooltip extends H {
12
12
  if (registerHost !== false) {
13
13
  this.__registerHost();
14
14
  }
15
- this.__attachShadow();
16
15
  }
17
16
  get el() { return this; }
18
17
  trigger = 'hover';
@@ -56,23 +55,23 @@ const SdTooltip = /*@__PURE__*/ proxyCustomElement(class SdTooltip extends H {
56
55
  : {
57
56
  onClick: () => (this.showTooltip = !this.showTooltip),
58
57
  };
59
- return (h(Fragment, { key: '7d527b3422496e0bfa729f2ca983a11ef998eb26' }, this.label ? (h("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 })) : (h("sd-icon", { ref: el => (this.buttonEl = el), name: this.icon, size: this.iconSize, color: this.color, class: "sd-tooltip", ...handleTrigger })), this.showTooltip && (h("sd-tooltip-portal", { key: 'b07ccad73334de2c9780b810dc3f8a5f214aee9a', parentRef: this.buttonEl, onSdClose: () => this.handleClose(), placement: this.placement }, h("div", { key: 'e97fe4a6135e3373b5f989c1cde95a222437c355', class: {
58
+ return (h(Fragment, { key: 'da480a55495b1311368ae55ef8827a54ea5de766' }, this.label ? (h("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 })) : (h("sd-icon", { ref: el => (this.buttonEl = el), name: this.icon, size: this.iconSize, color: this.color, class: "sd-tooltip", ...handleTrigger })), this.showTooltip && (h("sd-tooltip-portal", { key: '74be36575fbf97c9b51577fa5b24a4fbcfcf4c6b', parentRef: this.buttonEl, onSdClose: () => this.handleClose(), placement: this.placement }, h("div", { key: '63707a51fcc66a3a0c91fc7d409d30f61c0b1f17', class: {
60
59
  'sd-tooltip-menu': true,
61
60
  [`sd-tooltip-menu--${this.type}`]: true,
62
61
  [`sd-tooltip-menu--${this.placement}`]: true,
63
62
  'sd-tooltip-menu--with-close': this.useClose,
64
63
  [`bg-${SdTooltip.COLOR_OF_TYPE[this.type].background}`]: true,
65
64
  [`text-${SdTooltip.COLOR_OF_TYPE[this.type].text}`]: true,
66
- } }, h("i", { key: '3ffa50df1b15c24670ce1c6199093b451df9ad93', class: `sd-tooltip-menu__arrow sd-tooltip-menu__arrow--${this.placement}` }, h(TooltipArrow, { key: 'fe1eb76008e4575b2d640f7e1269041e5e67e113', class: {
65
+ } }, h("i", { key: 'a2c557e1457c293ef4a6fb3e23a70c9ff5b0b027', class: `sd-tooltip-menu__arrow sd-tooltip-menu__arrow--${this.placement}` }, h(TooltipArrow, { key: '7e7e471bb288680875fbbaa1d7b7df34b636c76f', class: {
67
66
  [`text-${SdTooltip.COLOR_OF_TYPE[this.type].background}`]: true,
68
- } })), h("div", { key: 'e2dd1a1f895f114a393b44ee67518d2af74db891', class: "sd-tooltip-menu__content", ref: el => {
67
+ } })), h("div", { key: 'c7f7a093907053c100fdb5f247d09d984f8cddd8', class: "sd-tooltip-menu__content", ref: el => {
69
68
  if (el && this.slotContent && !el.hasChildNodes()) {
70
69
  el.appendChild(this.slotContent.cloneNode(true));
71
70
  }
72
- } }, !this.slotContent && h("span", { key: '0e45a93818843314bb407f95bced59249c7adbc1' }, this.el.textContent)), this.useClose && (h("div", { key: 'd55fad487b1a25c02acf95f8bb672001b68bc923', class: "sd-tooltip-menu__close-button" }, h("button", { key: 'bec4556571948b6ece4bb61ea3314c4a859feb4d', type: "button", "aria-label": "Close tooltip", title: "Close tooltip", onClick: () => this.handleClose() }, h("sd-icon", { key: '0e916c99996d6032f90f888151abcfec1fd85091', name: "close", size: "12", color: "#AAAAAA" })))))))));
71
+ } }, !this.slotContent && h("span", { key: '14925b4653ca984bd6adf99f6297713dc8b2bafa' }, this.el.textContent)), this.useClose && (h("div", { key: '1a02cee06eaaf9068396fb0b489c93e23ba5c8b7', class: "sd-tooltip-menu__close-button" }, h("button", { key: '40973df40b2ec2ab887a47c7f3e466f6cae4e69f', type: "button", "aria-label": "Close tooltip", title: "Close tooltip", onClick: () => this.handleClose() }, h("sd-icon", { key: 'a02e35f80ae7d3c1414577ce253a67d6dfd64bc0', name: "close", size: "12", color: "#AAAAAA" })))))))));
73
72
  }
74
73
  static get style() { return sdTooltipCss; }
75
- }, [769, "sd-tooltip", {
74
+ }, [768, "sd-tooltip", {
76
75
  "trigger": [1],
77
76
  "placement": [1],
78
77
  "color": [1],
@@ -117,6 +116,6 @@ function defineCustomElement() {
117
116
  }
118
117
 
119
118
  export { SdTooltip as S, defineCustomElement as d };
120
- //# sourceMappingURL=p-_8cdZlN5.js.map
119
+ //# sourceMappingURL=p-BhRUodRD.js.map
121
120
 
122
- //# sourceMappingURL=p-_8cdZlN5.js.map
121
+ //# sourceMappingURL=p-BhRUodRD.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-BhRUodRD.js","mappings":";;;;;;AAAA,MAAM,YAAY,GAAG,6kCAA6kC;;MCSrlC,SAAS,iBAAAA,kBAAA,CAAA,MAAA,SAAA,SAAAC,CAAA,CAAA;;;;;;;;IAGb,OAAO,GAAsB,OAAO;IACpC,SAAS,GAAwC,KAAK;IACtD,KAAK,GAAW,SAAS;IACzB,IAAI,GAAgD,SAAS;IAE7D,IAAI,GAAa,aAAa;IAC9B,QAAQ,GAAW,EAAE;IAErB,KAAK,GAAW,EAAE;IAClB,UAAU,GAAe,IAAI;IAC7B,aAAa,GAAkB,SAAS;IAExC,OAAO,GAAY,IAAI;IAEvB,QAAQ,GAAY,KAAK;IAExB,WAAW,GAAY,KAAK;IAC5B,WAAW,GAAuB,IAAI;IAEvC,OAAgB,aAAa,GAAG;QACvC,OAAO,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE;QACtD,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjD,MAAM,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE;QACtD,MAAM,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE;KACpE;AAEO,IAAA,QAAQ;IAER,WAAW,GAAG,MAAK;AAC1B,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AACzB,KAAC;;;;IAKD,iBAAiB,GAAA;QAChB,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,kBAAkB,CAAC;QAC3D,IAAI,SAAS,EAAE;YACd,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAgB;;;IAI7D,MAAM,GAAA;AACL,QAAA,MAAM,aAAa,GAClB,IAAI,CAAC,OAAO,KAAK;AAChB,cAAE;gBACC,YAAY,EAAE,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC7C,YAAY,EAAE,OAAO,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AAC9C;AACH,cAAE;AACC,gBAAA,OAAO,EAAE,OAAO,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;aACrD;AAEL,QAAA,QACC,EAAC,QAAQ,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACP,IAAI,CAAC,KAAK,IACV,CAAA,CAAA,WAAA,EAAA,EACC,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,EAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,UAAU,EACrB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,KAAK,EAAC,YAAY,EACd,GAAA,aAAa,GACL,KAEb,CAAA,CAAA,SAAA,EAAA,EACC,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,EAC/B,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,QAAQ,EACnB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,KAAK,EAAC,YAAY,EAAA,GACd,aAAa,EAAA,CACP,CACX,EAEA,IAAI,CAAC,WAAW,KAChB,CAAA,CAAA,mBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACC,SAAS,EAAE,IAAI,CAAC,QAAQ,EACxB,SAAS,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,EACnC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAA,EAEzB,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACC,KAAK,EAAE;AACN,gBAAA,iBAAiB,EAAE,IAAI;AACvB,gBAAA,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;AACvC,gBAAA,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAE,CAAA,GAAG,IAAI;gBAC5C,6BAA6B,EAAE,IAAI,CAAC,QAAQ;AAC5C,gBAAA,CAAC,CAAM,GAAA,EAAA,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAE,CAAA,GAAG,IAAI;AAC7D,gBAAA,CAAC,CAAQ,KAAA,EAAA,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;AACzD,aAAA,EAAA,EAED,CAAA,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAG,KAAK,EAAE,CAAkD,+CAAA,EAAA,IAAI,CAAC,SAAS,CAAE,CAAA,EAAA,EAC3E,CAAC,CAAA,YAAY,EACZ,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE;AACN,gBAAA,CAAC,CAAQ,KAAA,EAAA,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAE,CAAA,GAAG,IAAI;aAC/D,EAAA,CACc,CACb,EAEJ,CACC,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,0BAA0B,EAChC,GAAG,EAAE,EAAE,IAAG;AACT,gBAAA,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE;AAClD,oBAAA,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;;aAEjD,EAEA,EAAA,CAAC,IAAI,CAAC,WAAW,IAAI,CAAO,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAA,IAAI,CAAC,EAAE,CAAC,WAAW,CAAQ,CACnD,EAEL,IAAI,CAAC,QAAQ,KACb,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,+BAA+B,EAAA,EACzC,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACC,IAAI,EAAC,QAAQ,gBACF,eAAe,EAC1B,KAAK,EAAC,eAAe,EACrB,OAAO,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,EAAA,EAEjC,CAAS,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,SAAS,EAAW,CAAA,CAClD,CACJ,CACN,CACI,CACa,CACpB,CACS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sd-tooltip/sd-tooltip.scss?tag=sd-tooltip","src/components/sd-tooltip/sd-tooltip.tsx"],"sourcesContent":["sd-tooltip {\r\n [slot='content'] {\r\n display: none;\r\n }\r\n\r\n .sd-tooltip {\r\n position: relative;\r\n cursor: pointer;\r\n display: inline-block;\r\n }\r\n}\r\n\r\n.sd-tooltip-menu {\r\n width: fit-content;\r\n padding: 8px 16px;\r\n border-radius: 4px;\r\n font-size: 12px;\r\n position: relative;\r\n box-sizing: border-box;\r\n display: flex;\r\n align-items: start;\r\n justify-content: center;\r\n gap: 12px;\r\n\r\n &--with-close {\r\n padding-right: 12px !important;\r\n }\r\n\r\n &__arrow {\r\n position: absolute;\r\n display: flex;\r\n width: 9.6px;\r\n height: 7.2px;\r\n svg {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n &--top {\r\n bottom: -7.2px;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n }\r\n &--bottom {\r\n top: -7.2px;\r\n left: 50%;\r\n transform: translateX(-50%) rotate(180deg);\r\n }\r\n &--left {\r\n right: -7.2px;\r\n top: 50%;\r\n transform: translateY(-50%) rotate(-90deg);\r\n }\r\n &--right {\r\n left: -7.2px;\r\n top: 50%;\r\n transform: translateY(-50%) rotate(90deg);\r\n }\r\n }\r\n\r\n &__content {\r\n line-height: 20px;\r\n font-weight: 500;\r\n\r\n p {\r\n margin: 0;\r\n }\r\n }\r\n\r\n &__close-button {\r\n padding-top: 4px;\r\n display: flex;\r\n button {\r\n padding: 0;\r\n background: none;\r\n border: none;\r\n cursor: pointer;\r\n }\r\n }\r\n}\r\n","import { Component, Element, Fragment, Prop, State, h } from '@stencil/core';\r\nimport { HTMLStencilElement } from '@stencil/core/internal';\r\nimport { ButtonSize, ButtonVariant } from '../sd-button/sd-button';\r\nimport { TooltipArrow } from '../assets/tooltipArrow';\r\n\r\n@Component({\r\n tag: 'sd-tooltip',\r\n styleUrl: 'sd-tooltip.scss',\r\n})\r\nexport class SdTooltip {\r\n @Element() el!: HTMLElement;\r\n\r\n @Prop() trigger: 'hover' | 'click' = 'hover';\r\n @Prop() placement: 'top' | 'bottom' | 'left' | 'right' = 'top';\r\n @Prop() color: string = '#01BB4B';\r\n @Prop() type: 'default' | 'caution' | 'notice' | 'accent' = 'default';\r\n\r\n @Prop() icon: IconName = 'helpOutline';\r\n @Prop() iconSize: number = 12;\r\n\r\n @Prop() label: string = '';\r\n @Prop() buttonSize: ButtonSize = 'sm';\r\n @Prop() buttonVariant: ButtonVariant = 'primary';\r\n\r\n @Prop() noHover: boolean = true;\r\n\r\n @Prop() useClose: boolean = false;\r\n\r\n @State() showTooltip: boolean = false;\r\n @State() slotContent: HTMLElement | null = null;\r\n\r\n private static readonly COLOR_OF_TYPE = {\r\n default: { background: 'oceanblue_85', text: 'white' },\r\n caution: { background: 'red_20', text: 'red_70' },\r\n notice: { background: 'orange_10', text: 'orange_65' },\r\n accent: { background: 'brilliantblue_20', text: 'brilliantblue_75' },\r\n };\r\n\r\n private buttonEl?: HTMLStencilElement;\r\n\r\n private handleClose = () => {\r\n this.showTooltip = false;\r\n };\r\n\r\n // 현재 tooltip popover가 조건부 렌더링이여서 초기 slot이 렌더링 되지 않은 시점에\r\n // 데이터 매핑에 실패 (light dom에 저장된 slot내용을 shadow dom을 찾지못해 매핑 실패)\r\n // 따라서 slot내용을 받은 후에 복제하여 state에 저장\r\n componentWillLoad() {\r\n const contentEl = this.el.querySelector('[slot=\"content\"]');\r\n if (contentEl) {\r\n this.slotContent = contentEl.cloneNode(true) as HTMLElement;\r\n }\r\n }\r\n\r\n render() {\r\n const handleTrigger =\r\n this.trigger === 'hover'\r\n ? {\r\n onMouseEnter: () => (this.showTooltip = true),\r\n onMouseLeave: () => (this.showTooltip = false),\r\n }\r\n : {\r\n onClick: () => (this.showTooltip = !this.showTooltip),\r\n };\r\n\r\n return (\r\n <Fragment>\r\n {this.label ? (\r\n <sd-button\r\n ref={el => (this.buttonEl = el)}\r\n label={this.label}\r\n icon={this.icon}\r\n size={this.buttonSize}\r\n color={this.color}\r\n variant={this.buttonVariant}\r\n class=\"sd-tooltip\"\r\n {...handleTrigger}\r\n ></sd-button>\r\n ) : (\r\n <sd-icon\r\n ref={el => (this.buttonEl = el)}\r\n name={this.icon}\r\n size={this.iconSize}\r\n color={this.color}\r\n class=\"sd-tooltip\"\r\n {...handleTrigger}\r\n ></sd-icon>\r\n )}\r\n\r\n {this.showTooltip && (\r\n <sd-tooltip-portal\r\n parentRef={this.buttonEl}\r\n onSdClose={() => this.handleClose()}\r\n placement={this.placement}\r\n >\r\n <div\r\n class={{\r\n 'sd-tooltip-menu': true,\r\n [`sd-tooltip-menu--${this.type}`]: true,\r\n [`sd-tooltip-menu--${this.placement}`]: true,\r\n 'sd-tooltip-menu--with-close': this.useClose,\r\n [`bg-${SdTooltip.COLOR_OF_TYPE[this.type].background}`]: true,\r\n [`text-${SdTooltip.COLOR_OF_TYPE[this.type].text}`]: true,\r\n }}\r\n >\r\n <i class={`sd-tooltip-menu__arrow sd-tooltip-menu__arrow--${this.placement}`}>\r\n <TooltipArrow\r\n class={{\r\n [`text-${SdTooltip.COLOR_OF_TYPE[this.type].background}`]: true,\r\n }}\r\n ></TooltipArrow>\r\n </i>\r\n\r\n <div\r\n class=\"sd-tooltip-menu__content\"\r\n ref={el => {\r\n if (el && this.slotContent && !el.hasChildNodes()) {\r\n el.appendChild(this.slotContent.cloneNode(true));\r\n }\r\n }}\r\n >\r\n {!this.slotContent && <span>{this.el.textContent}</span>}\r\n </div>\r\n\r\n {this.useClose && (\r\n <div class=\"sd-tooltip-menu__close-button\">\r\n <button\r\n type=\"button\"\r\n aria-label=\"Close tooltip\"\r\n title=\"Close tooltip\"\r\n onClick={() => this.handleClose()}\r\n >\r\n <sd-icon name=\"close\" size=\"12\" color=\"#AAAAAA\"></sd-icon>\r\n </button>\r\n </div>\r\n )}\r\n </div>\r\n </sd-tooltip-portal>\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1,4 +1,4 @@
1
- import { h, p as proxyCustomElement, H } from './p-DzRr3BEe.js';
1
+ import { h, p as proxyCustomElement, H } from './p-CbnL1UUF.js';
2
2
  import { r as resolveColor } from './p-BYf-ybt2.js';
3
3
 
4
4
  const Check12 = (props) => {
@@ -391,6 +391,6 @@ function defineCustomElement() {
391
391
  }
392
392
 
393
393
  export { SdIcon as S, defineCustomElement as d };
394
- //# sourceMappingURL=p-DzIffEfK.js.map
394
+ //# sourceMappingURL=p-BtS3tSh2.js.map
395
395
 
396
- //# sourceMappingURL=p-DzIffEfK.js.map
396
+ //# sourceMappingURL=p-BtS3tSh2.js.map