@sellmate/design-system 1.0.21 → 1.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/dist/cjs/app-globals-V2Kpy_OQ.js +5 -0
  2. package/dist/cjs/{select-keyboard-navigation-CtstKOb3.js → base-dropdown-event-BTPlZ1KF.js} +0 -38
  3. package/dist/cjs/component.button-C6xBMwHf.js +115 -0
  4. package/dist/cjs/design-system.cjs.js +4 -3
  5. package/dist/cjs/{index-D-PnW6jc.js → index-Qvv0fGgj.js} +9 -117
  6. package/dist/cjs/loader.cjs.js +4 -3
  7. package/dist/cjs/sd-badge.cjs.entry.js +2 -2
  8. package/dist/cjs/sd-button-v2.cjs.entry.js +86 -0
  9. package/dist/cjs/sd-button-v2.config-BK45EPK_.js +203 -0
  10. package/dist/cjs/sd-button_21.cjs.entry.js +121 -67
  11. package/dist/cjs/sd-card.cjs.entry.js +2 -2
  12. package/dist/cjs/sd-date-picker.cjs.entry.js +2 -2
  13. package/dist/cjs/sd-dropdown-button.cjs.entry.js +274 -0
  14. package/dist/cjs/sd-file-picker.cjs.entry.js +4 -4
  15. package/dist/cjs/sd-form.cjs.entry.js +1 -1
  16. package/dist/cjs/sd-guide.cjs.entry.js +3 -3
  17. package/dist/cjs/sd-popover.cjs.entry.js +4 -4
  18. package/dist/cjs/sd-progress.cjs.entry.js +3 -3
  19. package/dist/cjs/sd-radio-button-group.cjs.entry.js +1 -1
  20. package/dist/cjs/sd-radio-group.cjs.entry.js +1 -1
  21. package/dist/cjs/sd-select-multiple-group.cjs.entry.js +4 -3
  22. package/dist/cjs/sd-select-multiple.cjs.entry.js +5 -4
  23. package/dist/cjs/sd-select-option-group.cjs.entry.js +4 -4
  24. package/dist/cjs/sd-tabs.cjs.entry.js +7 -9
  25. package/dist/cjs/sd-tag.cjs.entry.js +96 -38
  26. package/dist/cjs/sd-toast.cjs.entry.js +3 -3
  27. package/dist/cjs/sd-toggle-button.cjs.entry.js +2 -2
  28. package/dist/cjs/sd-toggle.cjs.entry.js +2 -2
  29. package/dist/cjs/select-keyboard-navigation-s2wP37xZ.js +40 -0
  30. package/dist/cjs/{tooltipArrow-CMyNLSC-.js → tooltipArrow-Mb2Dhc7T.js} +1 -1
  31. package/dist/collection/collection-manifest.json +4 -2
  32. package/dist/collection/components/sd-badge/sd-badge.js +1 -1
  33. package/dist/collection/components/sd-button-v2/sd-button-v2.config.js +190 -0
  34. package/dist/collection/components/sd-button-v2/sd-button-v2.css +120 -0
  35. package/dist/collection/components/sd-button-v2/sd-button-v2.js +249 -0
  36. package/dist/collection/components/sd-card/sd-card.js +1 -1
  37. package/dist/collection/components/sd-date-picker/sd-date-picker.js +1 -1
  38. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +2 -2
  39. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.config.js +62 -0
  40. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.css +171 -0
  41. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +384 -0
  42. package/dist/collection/components/sd-field/sd-field.js +3 -3
  43. package/dist/collection/components/sd-file-picker/sd-file-picker.js +3 -3
  44. package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +1 -1
  45. package/dist/collection/components/sd-guide/sd-guide.js +2 -2
  46. package/dist/collection/components/sd-icon/sd-icon.js +1 -1
  47. package/dist/collection/components/sd-input/sd-input.js +1 -1
  48. package/dist/collection/components/sd-loading-spinner/sd-loading-spinner.js +1 -1
  49. package/dist/collection/components/sd-number-input/sd-number-input.js +4 -4
  50. package/dist/collection/components/sd-pagination/sd-pagination.js +2 -2
  51. package/dist/collection/components/sd-popover/sd-popover.js +2 -2
  52. package/dist/collection/components/sd-portal/sd-portal.js +89 -19
  53. package/dist/collection/components/sd-progress/sd-progress.js +2 -2
  54. package/dist/collection/components/sd-select/sd-select-dropdown/sd-select-dropdown.js +2 -2
  55. package/dist/collection/components/sd-select/sd-select-option/sd-select-option.js +1 -1
  56. package/dist/collection/components/sd-select/sd-select-search-input/sd-select-search-input.js +3 -3
  57. package/dist/collection/components/sd-select-multiple/sd-select-multiple.js +1 -1
  58. package/dist/collection/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.js +3 -3
  59. package/dist/collection/components/sd-tabs/sd-tabs.js +6 -8
  60. package/dist/collection/components/sd-tag/sd-tag.config.js +70 -0
  61. package/dist/collection/components/sd-tag/sd-tag.css +26 -56
  62. package/dist/collection/components/sd-tag/sd-tag.js +51 -104
  63. package/dist/collection/components/sd-textarea/sd-textarea.js +2 -2
  64. package/dist/collection/components/sd-toast/sd-toast.js +2 -2
  65. package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
  66. package/dist/collection/components/sd-toggle-button/sd-toggle-button.js +1 -1
  67. package/dist/components/index.js +1 -1
  68. package/dist/components/{p-DdOM8yc2.js → p-2FdkYfts.js} +1 -1
  69. package/dist/components/{p-CWg2auF3.js → p-B1o7vc2v.js} +1 -1
  70. package/dist/components/p-B1vJXa29.js +1 -0
  71. package/dist/components/p-BFO8hHjW.js +1 -0
  72. package/dist/components/{p-CbQobmaB.js → p-BKTfQGcR.js} +1 -1
  73. package/dist/components/{p-D0U1cMbs.js → p-BNuWMSR_.js} +1 -1
  74. package/dist/components/{p-B-UC5tW2.js → p-BxXKe48B.js} +1 -1
  75. package/dist/components/p-CAZeEBeS.js +1 -0
  76. package/dist/components/{p-D35gOcGh.js → p-CDzGasXW.js} +1 -1
  77. package/dist/components/{p-MmKik3mL.js → p-CVvYLd5J.js} +1 -1
  78. package/dist/components/{p-CU5TiEeI.js → p-CdCMe4bN.js} +1 -1
  79. package/dist/components/{p-rn5S2icF.js → p-CwM24aVj.js} +1 -1
  80. package/dist/components/p-Cy6HMEsK.js +1 -0
  81. package/dist/components/{p-BVFlD1Lp.js → p-CzHa12Ax.js} +1 -1
  82. package/dist/components/{p-Cef06v8S.js → p-Czq-8oT7.js} +1 -1
  83. package/dist/components/{p-DdNQILvd.js → p-D-ian_bu.js} +1 -1
  84. package/dist/components/{p-qSu-ayDy.js → p-D9mJxIjm.js} +1 -1
  85. package/dist/components/{p-J-Yn0oS3.js → p-DYoNy5I7.js} +1 -1
  86. package/dist/components/p-Dc4UTGgQ.js +1 -0
  87. package/dist/components/p-Dun2lZmi.js +1 -0
  88. package/dist/components/{p-C1XPuuO-.js → p-G4t0nGLP.js} +1 -1
  89. package/dist/components/p-NAapFxTw.js +1 -0
  90. package/dist/components/p-VKF2AWs1.js +1 -0
  91. package/dist/components/{p-C0yQ73oI.js → p-hfbNb5UF.js} +1 -1
  92. package/dist/components/sd-badge.js +1 -1
  93. package/dist/components/sd-button-v2.d.ts +11 -0
  94. package/dist/components/sd-button-v2.js +1 -0
  95. package/dist/components/sd-button.js +1 -1
  96. package/dist/components/sd-card.js +1 -1
  97. package/dist/components/sd-checkbox.js +1 -1
  98. package/dist/components/sd-date-box.js +1 -1
  99. package/dist/components/sd-date-picker.js +1 -1
  100. package/dist/components/sd-date-range-picker.js +1 -1
  101. package/dist/components/sd-dropdown-button.d.ts +11 -0
  102. package/dist/components/sd-dropdown-button.js +1 -0
  103. package/dist/components/sd-field.js +1 -1
  104. package/dist/components/sd-file-picker.js +1 -1
  105. package/dist/components/sd-floating-portal.js +1 -1
  106. package/dist/components/sd-form.js +1 -1
  107. package/dist/components/sd-guide.js +1 -1
  108. package/dist/components/sd-icon.js +1 -1
  109. package/dist/components/sd-input.js +1 -1
  110. package/dist/components/sd-loading-spinner.js +1 -1
  111. package/dist/components/sd-modal-card.js +1 -1
  112. package/dist/components/sd-number-input.js +1 -1
  113. package/dist/components/sd-pagination.js +1 -1
  114. package/dist/components/sd-popover.js +1 -1
  115. package/dist/components/sd-portal.js +1 -1
  116. package/dist/components/sd-progress.js +1 -1
  117. package/dist/components/sd-radio-button-group.js +1 -1
  118. package/dist/components/sd-radio-group.js +1 -1
  119. package/dist/components/sd-radio.js +1 -1
  120. package/dist/components/sd-select-dropdown.js +1 -1
  121. package/dist/components/sd-select-multiple-group.js +1 -1
  122. package/dist/components/sd-select-multiple.js +1 -1
  123. package/dist/components/sd-select-option-group.js +1 -1
  124. package/dist/components/sd-select-option.js +1 -1
  125. package/dist/components/sd-select-search-input.js +1 -1
  126. package/dist/components/sd-select.js +1 -1
  127. package/dist/components/sd-table.js +1 -1
  128. package/dist/components/sd-tabs.js +1 -1
  129. package/dist/components/sd-tag.js +1 -1
  130. package/dist/components/sd-textarea.js +1 -1
  131. package/dist/components/sd-toast.js +1 -1
  132. package/dist/components/sd-toggle-button.js +1 -1
  133. package/dist/components/sd-toggle.js +1 -1
  134. package/dist/components/sd-tooltip.js +1 -1
  135. package/dist/design-system/design-system.esm.js +1 -1
  136. package/dist/design-system/{p-3d03b19e.entry.js → p-02c5ab69.entry.js} +1 -1
  137. package/dist/design-system/{p-3301c280.entry.js → p-1b80635f.entry.js} +1 -1
  138. package/dist/design-system/p-285cc646.entry.js +1 -0
  139. package/dist/design-system/{p-8fde8570.entry.js → p-3565f871.entry.js} +1 -1
  140. package/dist/design-system/{p-0406b7f9.entry.js → p-5032c700.entry.js} +1 -1
  141. package/dist/design-system/{p-d6b38732.entry.js → p-5094848f.entry.js} +1 -1
  142. package/dist/design-system/p-59a52297.entry.js +1 -0
  143. package/dist/design-system/p-712c1ef1.entry.js +1 -0
  144. package/dist/design-system/{p-3e07e92a.entry.js → p-83f320e6.entry.js} +1 -1
  145. package/dist/design-system/{p-32c27eca.entry.js → p-8b013328.entry.js} +1 -1
  146. package/dist/design-system/{p-d021a375.entry.js → p-9563ffe1.entry.js} +1 -1
  147. package/dist/design-system/p-B8tGP77V.js +2 -0
  148. package/dist/design-system/p-BeCHKP_I.js +1 -0
  149. package/dist/design-system/p-CRdYeSBK.js +1 -0
  150. package/dist/design-system/p-DQuL1Twl.js +1 -0
  151. package/dist/design-system/p-Dc4UTGgQ.js +1 -0
  152. package/dist/design-system/p-VKF2AWs1.js +1 -0
  153. package/dist/design-system/p-a3025f1f.entry.js +1 -0
  154. package/dist/design-system/p-b1e45f3f.entry.js +1 -0
  155. package/dist/design-system/{p-d344fa9d.entry.js → p-c0655cd1.entry.js} +1 -1
  156. package/dist/design-system/p-d8a141e7.entry.js +1 -0
  157. package/dist/design-system/p-df3d3a2a.entry.js +1 -0
  158. package/dist/design-system/{p-8f99cd66.entry.js → p-e6d84ecf.entry.js} +1 -1
  159. package/dist/design-system/p-e7d7ceb4.entry.js +1 -0
  160. package/dist/design-system/{p-646ed990.entry.js → p-ea26b8e9.entry.js} +1 -1
  161. package/dist/design-system/p-f1b31194.entry.js +1 -0
  162. package/dist/design-system/p-f81d3798.entry.js +1 -0
  163. package/dist/design-system/p-xxEHPVkL.js +1 -0
  164. package/dist/esm/app-globals-DQuL1Twl.js +3 -0
  165. package/dist/esm/{select-keyboard-navigation-D8-D-mJX.js → base-dropdown-event-CRdYeSBK.js} +1 -37
  166. package/dist/esm/component.button-Dc4UTGgQ.js +113 -0
  167. package/dist/esm/design-system.js +4 -3
  168. package/dist/esm/{index-C_an1PQ3.js → index-B8tGP77V.js} +10 -117
  169. package/dist/esm/loader.js +4 -3
  170. package/dist/esm/sd-badge.entry.js +2 -2
  171. package/dist/esm/sd-button-v2.config-BWmcscrt.js +193 -0
  172. package/dist/esm/sd-button-v2.entry.js +84 -0
  173. package/dist/esm/sd-button_21.entry.js +116 -62
  174. package/dist/esm/sd-card.entry.js +2 -2
  175. package/dist/esm/sd-date-picker.entry.js +2 -2
  176. package/dist/esm/sd-dropdown-button.entry.js +272 -0
  177. package/dist/esm/sd-file-picker.entry.js +4 -4
  178. package/dist/esm/sd-form.entry.js +1 -1
  179. package/dist/esm/sd-guide.entry.js +3 -3
  180. package/dist/esm/sd-popover.entry.js +4 -4
  181. package/dist/esm/sd-progress.entry.js +3 -3
  182. package/dist/esm/sd-radio-button-group.entry.js +1 -1
  183. package/dist/esm/sd-radio-group.entry.js +1 -1
  184. package/dist/esm/sd-select-multiple-group.entry.js +3 -2
  185. package/dist/esm/sd-select-multiple.entry.js +4 -3
  186. package/dist/esm/sd-select-option-group.entry.js +4 -4
  187. package/dist/esm/sd-tabs.entry.js +7 -9
  188. package/dist/esm/sd-tag.entry.js +96 -38
  189. package/dist/esm/sd-toast.entry.js +3 -3
  190. package/dist/esm/sd-toggle-button.entry.js +2 -2
  191. package/dist/esm/sd-toggle.entry.js +2 -2
  192. package/dist/esm/select-keyboard-navigation-xxEHPVkL.js +37 -0
  193. package/dist/esm/{tooltipArrow-BTp0AVR2.js → tooltipArrow-Pdc3NIc9.js} +1 -1
  194. package/dist/types/components/sd-button-v2/sd-button-v2.config.d.ts +178 -0
  195. package/dist/types/components/sd-button-v2/sd-button-v2.d.ts +18 -0
  196. package/dist/types/components/sd-dropdown-button/sd-dropdown-button.config.d.ts +55 -0
  197. package/dist/types/components/sd-dropdown-button/sd-dropdown-button.d.ts +34 -0
  198. package/dist/types/components/sd-portal/sd-portal.d.ts +9 -0
  199. package/dist/types/components/sd-tabs/sd-tabs.d.ts +1 -1
  200. package/dist/types/components/sd-tag/sd-tag.config.d.ts +23 -0
  201. package/dist/types/components/sd-tag/sd-tag.d.ts +6 -10
  202. package/dist/types/components.d.ts +168 -27
  203. package/dist/types/index.d.ts +2 -0
  204. package/hydrate/index.js +1069 -755
  205. package/hydrate/index.mjs +1069 -755
  206. package/package.json +2 -2
  207. package/dist/components/p-B82gJZ4z.js +0 -1
  208. package/dist/components/p-C6J-ZZxF.js +0 -1
  209. package/dist/components/p-CDehvEQ5.js +0 -1
  210. package/dist/components/p-CHAh-_qx.js +0 -1
  211. package/dist/components/p-CaEyReID.js +0 -1
  212. package/dist/design-system/p-103de692.entry.js +0 -1
  213. package/dist/design-system/p-3edd59b5.entry.js +0 -1
  214. package/dist/design-system/p-55c13597.entry.js +0 -1
  215. package/dist/design-system/p-679e4367.entry.js +0 -1
  216. package/dist/design-system/p-822233ee.entry.js +0 -1
  217. package/dist/design-system/p-Bak0zfmv.js +0 -1
  218. package/dist/design-system/p-C_an1PQ3.js +0 -2
  219. package/dist/design-system/p-D8-D-mJX.js +0 -1
  220. package/dist/design-system/p-ab3b6f63.entry.js +0 -1
  221. package/dist/design-system/p-de339565.entry.js +0 -1
  222. package/dist/design-system/p-fc0e636b.entry.js +0 -1
@@ -1,52 +1,110 @@
1
- import { r as registerInstance, a as getElement, h } from './index-C_an1PQ3.js';
1
+ import { r as registerInstance, h } from './index-B8tGP77V.js';
2
2
 
3
- const sdTagCss = () => `:host{display:inline-block}:host([full-width]){display:block}.sd-tag{display:inline-flex;width:100%;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__content{display:inline-block;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.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}`;
4
-
5
- const TAG_COLORS = {
6
- grey: 'bg-grey_20 text-grey_70',
7
- red: 'bg-red_15 text-red_70',
8
- orange: 'bg-orange_10 text-orange_65',
9
- yellow: 'bg-yellow_10 text-yellow_70',
10
- green: 'bg-green_15 text-green_75',
11
- blue: 'bg-brilliantblue_20 text-brilliantblue_75',
12
- darkblue: 'bg-oceanblue_15 text-oceanblue_70',
13
- indigo: 'bg-brilliantblue_10 text-brilliantblue_85',
3
+ const TAG_SHAPES = ['square', 'pill'];
4
+ const TAG_SIZES = ['sm', 'md', 'lg'];
5
+ const TAG_COLORS = [
6
+ 'grey',
7
+ 'red',
8
+ 'orange',
9
+ 'yellow',
10
+ 'green',
11
+ 'blue',
12
+ 'darkblue',
13
+ 'indigo',
14
+ ];
15
+ const TAG_COLOR_CONFIG = {
16
+ grey: { background: '#EEEEEE', content: '#737373', icon: '#737373' },
17
+ red: { background: '#FCEFEF', content: '#FB4444', icon: '#FB4444' },
18
+ orange: { background: '#FEF1EA', content: '#FF6B00', icon: '#FF6B00' },
19
+ yellow: { background: '#FFF7DD', content: '#916C0D', icon: '#CA9611' },
20
+ green: { background: '#E8F9EF', content: '#00973C', icon: '#12B553' },
21
+ blue: { background: '#E6F1FF', content: '#0075FF', icon: '#0075FF' },
22
+ darkblue: { background: '#EAF5FE', content: '#006AC1', icon: '#006AC1' },
23
+ indigo: { background: '#EFF6FF', content: '#004290', icon: '#004290' },
24
+ };
25
+ const SQUARE_SIZE_CONFIG = {
26
+ sm: {
27
+ height: '20px',
28
+ paddingX: '6px',
29
+ gap: '4px',
30
+ fontSize: '11px',
31
+ fontWeight: '500',
32
+ iconSize: 12,
33
+ radius: '4px',
34
+ },
35
+ md: {
36
+ height: '24px',
37
+ paddingX: '8px',
38
+ gap: '4px',
39
+ fontSize: '12px',
40
+ fontWeight: '700',
41
+ iconSize: 16,
42
+ radius: '4px',
43
+ },
44
+ lg: {
45
+ height: '28px',
46
+ paddingX: '10px',
47
+ gap: '4px',
48
+ fontSize: '14px',
49
+ fontWeight: '700',
50
+ iconSize: 16,
51
+ radius: '5px',
52
+ },
14
53
  };
54
+ const PILL_SIZE_CONFIG = {
55
+ sm: { ...SQUARE_SIZE_CONFIG.sm, radius: '999px' },
56
+ md: { ...SQUARE_SIZE_CONFIG.md, radius: '999px' },
57
+ lg: { ...SQUARE_SIZE_CONFIG.lg, radius: '999px' },
58
+ };
59
+ const TAG_CONFIG = Object.fromEntries(TAG_SHAPES.flatMap(shape => TAG_SIZES.flatMap(size => TAG_COLORS.map(color => {
60
+ const sizeConfig = shape === 'square' ? SQUARE_SIZE_CONFIG[size] : PILL_SIZE_CONFIG[size];
61
+ return [
62
+ `${shape}_${size}_${color}`,
63
+ {
64
+ shape,
65
+ size,
66
+ color,
67
+ ...sizeConfig,
68
+ ...TAG_COLOR_CONFIG[color],
69
+ },
70
+ ];
71
+ }))));
72
+ const isTagName = (value) => Object.prototype.hasOwnProperty.call(TAG_CONFIG, value);
73
+
74
+ const sdTagCss = () => `sd-tag{display:inline-flex;width:fit-content;height:fit-content}.sd-tag{display:inline-flex;align-items:center;justify-content:center;gap:var(--sd-tag-gap, 5px);min-height:var(--sd-tag-height, 24px);padding:0 var(--sd-tag-padding-x, 8px);border-radius:var(--sd-tag-radius, 4px);background:var(--sd-tag-background, #f3f3f3);color:var(--sd-tag-content, #7a7a7a);box-sizing:border-box;white-space:nowrap;-webkit-user-select:none;user-select:none}.sd-tag__icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center}.sd-tag__label{display:inline-flex;align-items:center;justify-content:center;min-width:0;font-size:var(--sd-tag-font-size, 12px);font-weight:var(--sd-tag-font-weight, 700);line-height:1}`;
75
+
15
76
  const SdTag = class {
16
77
  constructor(hostRef) {
17
78
  registerInstance(this, hostRef);
18
79
  }
19
- get el() { return getElement(this); }
20
- size = 'md';
21
- color = 'grey';
22
- rounded = false;
80
+ name = 'square_md_grey';
23
81
  label = '';
24
- bgColor;
25
- textColor;
26
- getTagClasses() {
27
- const classes = ['sd-tag', `sd-tag--${this.size}`];
28
- if (this.rounded) {
29
- classes.push('sd-tag--rounded');
30
- }
31
- if (this.color && !this.bgColor && !this.textColor) {
32
- classes.push(TAG_COLORS[this.color]);
33
- }
34
- if (this.bgColor || this.textColor) {
35
- classes.push('sd-tag--custom-color');
82
+ icon;
83
+ isLeft = true;
84
+ get resolvedConfig() {
85
+ if (!isTagName(this.name)) {
86
+ throw new Error(`Invalid sd-tag name: ${this.name}`);
36
87
  }
37
- return classes.join(' ');
88
+ return TAG_CONFIG[this.name];
38
89
  }
39
- renderContent() {
40
- return [
41
- h("span", { class: "sd-tag__content" }, h("slot", null, this.label)),
42
- ];
90
+ renderIcon(color, size) {
91
+ if (!this.icon)
92
+ return null;
93
+ return h("sd-icon", { class: "sd-tag__icon", name: this.icon, size: size, color: color });
43
94
  }
44
95
  render() {
45
- const tagClasses = this.getTagClasses();
46
- return (h("span", { key: '9745415753fe657bf5e7e5ca9eb6e02f8c953bfd', class: tagClasses, style: {
47
- '--tag-bg-color': this.bgColor,
48
- '--tag-text-color': this.textColor,
49
- }, "aria-label": this.label || 'tag' }, this.renderContent()));
96
+ const config = this.resolvedConfig;
97
+ const iconNode = this.renderIcon(config.icon, config.iconSize);
98
+ return (h("span", { key: '5f9ee005b146997dd13bb3e6a06680ff8574bd14', class: "sd-tag", style: {
99
+ '--sd-tag-background': config.background,
100
+ '--sd-tag-content': config.content,
101
+ '--sd-tag-height': config.height,
102
+ '--sd-tag-padding-x': config.paddingX,
103
+ '--sd-tag-gap': config.gap,
104
+ '--sd-tag-font-size': config.fontSize,
105
+ '--sd-tag-font-weight': config.fontWeight,
106
+ '--sd-tag-radius': config.radius,
107
+ }, "aria-label": this.label || 'tag' }, this.icon && this.isLeft && iconNode, h("span", { key: 'b123ab6ac015db640e4dc3edc5e2cf90ec5e0ecf', class: "sd-tag__label" }, this.label), this.icon && !this.isLeft && iconNode));
50
108
  }
51
109
  };
52
110
  SdTag.style = sdTagCss();
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-C_an1PQ3.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-B8tGP77V.js';
2
2
  import { r as resolveColor } from './resolveColor-DUqcOPNn.js';
3
3
 
4
4
  const sdToastCss = () => `sd-toast{display:block;width:fit-content;height:fit-content}sd-toast .sd-toast{display:flex;width:fit-content;align-items:center;gap:16px;padding:12px 24px;border-radius:4px;background-color:var(--sd-toast-bg);color:var(--sd-toast-text);transition:opacity 0.2s ease, visibility 0.2s ease;box-shadow:2px 2px 8px 2px rgba(0, 0, 0, 0.2)}sd-toast .sd-toast--hidden{opacity:0;visibility:hidden;pointer-events:none}sd-toast .sd-toast__icon{display:flex;align-items:center;flex-shrink:0}sd-toast .sd-toast__content{display:flex;flex:1}sd-toast .sd-toast__message{font-size:14px;line-height:20px;font-weight:400}sd-toast .sd-toast__link{font-size:14px;line-height:20px;color:var(--sd-toast-text);text-decoration:underline;cursor:pointer;transition:opacity 0.2s ease;margin-left:4px}sd-toast .sd-toast__link:hover{opacity:0.8}sd-toast .sd-toast__button{flex-shrink:0}sd-toast .sd-toast__button button{color:var(--button-text-color, inherit) !important}sd-toast .sd-toast__close{display:flex;align-items:center;justify-content:center;padding:4px;background-color:transparent;border:none;cursor:pointer;transition:opacity 0.2s ease;flex-shrink:0}sd-toast .sd-toast__close:hover{opacity:0.7}sd-toast .sd-toast__close:active{opacity:0.5}`;
@@ -47,10 +47,10 @@ const SdToast = class {
47
47
  background: resolveColor(colorTokens.background),
48
48
  text: resolveColor(colorTokens.text),
49
49
  };
50
- return (h("div", { key: '8118f67a55a3080ea91ffdfbd929bbe3464ab044', style: {
50
+ return (h("div", { key: '16579a21c0eec78e609b0cf82fcf2d040b8b3388', style: {
51
51
  '--sd-toast-bg': colors.background,
52
52
  '--sd-toast-text': colors.text,
53
- } }, h("div", { key: 'f05c16b0c8ef6de2d62161f80591cb3a82c24434', class: this.getContainerClasses(), role: "status", "aria-live": "polite", "aria-atomic": "true" }, this.icon && (h("div", { key: 'b16fee2031c4093c263229d2ef07ad8f6e69778b', class: "sd-toast__icon" }, h("sd-icon", { key: 'cd8b4c4d9cbc329fdfc99236ca56a49658c0ca8c', name: this.icon, size: 16, color: colors.text }))), h("div", { key: '888748872d886745ace2ef8491d7098528df8a46', class: "sd-toast__content" }, h("span", { key: '31b285a6b6a03b833577b4a9fb860fd76e066cb6', class: "sd-toast__message" }, this.message)), this.link && (h("a", { key: '61d1aacf70e7062abbedd2364474e7da990f485f', href: this.link, class: "sd-toast__link", target: "_blank", rel: "noopener noreferrer" }, this.linkLabel || this.link)), this.buttonLabel && (h("sd-button", { key: '94aa75ef25ee18f0577d5539337152d654dab5c1', class: `sd-toast__button ${this.type === 'basicLight' ? 'text-white' : ''}`, label: this.buttonLabel, variant: "primary", color: this.type === 'basicLight' ? 'oceanblue_75' : 'white', size: "sm", onSdClick: this.handleButtonClick, style: this.type !== 'basicLight' ? { '--button-text-color': resolveColor('grey_95') } : {} })), this.useClose && (h("button", { key: 'db0b83f7030feb5459597156c2d25f3437b91904', type: "button", class: "sd-toast__close", onClick: this.handleClose, "aria-label": "Close", title: "Close" }, h("sd-icon", { key: 'a3aab6c19c32043182f2d05d2583271520458493', name: "close", size: 12, color: colors.text }))))));
53
+ } }, h("div", { key: '108e47983e1ad99ed462a4fa00c29aa9e3393b8b', class: this.getContainerClasses(), role: "status", "aria-live": "polite", "aria-atomic": "true" }, this.icon && (h("div", { key: 'd034c9aaafc272d51de96de6ccefe49208aba7e3', class: "sd-toast__icon" }, h("sd-icon", { key: '14b97c4cbe7134f67d919abcf4e10cf673dd909d', name: this.icon, size: 16, color: colors.text }))), h("div", { key: '1cecb89bdb19742a7df04625e8f070cd2c207b5e', class: "sd-toast__content" }, h("span", { key: '1daf2a2bea963b7b68c580b30c4c8fa2f3a26c8f', class: "sd-toast__message" }, this.message)), this.link && (h("a", { key: '8f7961c2c14806aa1323e378f57d74e47614772c', href: this.link, class: "sd-toast__link", target: "_blank", rel: "noopener noreferrer" }, this.linkLabel || this.link)), this.buttonLabel && (h("sd-button", { key: '89cba5e58ff368aea05130b799d903d4cf85b120', class: `sd-toast__button ${this.type === 'basicLight' ? 'text-white' : ''}`, label: this.buttonLabel, variant: "primary", color: this.type === 'basicLight' ? 'oceanblue_75' : 'white', size: "sm", onSdClick: this.handleButtonClick, style: this.type !== 'basicLight' ? { '--button-text-color': resolveColor('grey_95') } : {} })), this.useClose && (h("button", { key: '0e7fc0737824b61166cbff82a410948ca1745842', type: "button", class: "sd-toast__close", onClick: this.handleClose, "aria-label": "Close", title: "Close" }, h("sd-icon", { key: '82d203f6eb584cb04566e8f3b1bd7a86ca50bba4', name: "close", size: 12, color: colors.text }))))));
54
54
  }
55
55
  };
56
56
  SdToast.style = sdToastCss();
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-C_an1PQ3.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-B8tGP77V.js';
2
2
 
3
3
  const sdToggleButtonCss = () => `sd-toggle-button{display:inline-block;line-height:0}.sd-toggle-button{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:4px 12px;gap:6px;border-radius:14px;border:1px solid #888888;background-color:#FFFFFF;color:#737373;font-size:12px;line-height:20px;font-weight:400;cursor:pointer;transition:border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;white-space:nowrap;user-select:none;box-sizing:border-box}.sd-toggle-button--active{border-color:#0075FF;color:#0075FF}.sd-toggle-button--disabled{background-color:#EEEEEE;border-color:#CCCCCC;color:#888888;cursor:not-allowed}.sd-toggle-button--disabled.sd-toggle-button--active{background-color:#EEEEEE;border-color:#CCCCCC;color:#888888}.sd-toggle-button:hover:not(.sd-toggle-button--disabled):not(.sd-toggle-button--active){border-color:#737373}.sd-toggle-button:hover:not(.sd-toggle-button--disabled).sd-toggle-button--active{border-color:#005CC9;color:#005CC9}`;
4
4
 
@@ -39,7 +39,7 @@ const SdToggleButton = class {
39
39
  this.change.emit(newValue);
40
40
  };
41
41
  render() {
42
- return (h("label", { key: '6f8d9e738490ef344ff26a4026b9de17af68041e', class: this.buttonClasses, "aria-label": this.label || 'toggle button' }, this.label, h("input", { key: '6d9d45c451301c4635e610fd70280be1fe65b316', style: { display: 'none' }, type: "checkbox", onInput: this.handleChange })));
42
+ return (h("label", { key: '174a62904591e559232574d207ff4ad9c0113ad8', class: this.buttonClasses, "aria-label": this.label || 'toggle button' }, this.label, h("input", { key: '7bbd96a0563a8cadcfb7ab9d8e1fb3767508d6bf', style: { display: 'none' }, type: "checkbox", onInput: this.handleChange })));
43
43
  }
44
44
  };
45
45
  SdToggleButton.style = sdToggleButtonCss();
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-C_an1PQ3.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-B8tGP77V.js';
2
2
 
3
3
  const sdToggleCss = () => `sd-toggle{display:inline-block;height:20px;line-height:0}sd-toggle .sd-toggle{cursor:pointer;display:inline-flex;align-items:center;gap:8px;height:20px}sd-toggle .sd-toggle>input{display:none}sd-toggle .sd-toggle__label{font-size:12px;color:#333333;line-height:20px}sd-toggle .sd-toggle__track{width:36px;height:20px;border-radius:12px;background:#CCCCCC;position:relative;transition:background-color 0.2s ease}sd-toggle .sd-toggle__thumb{width:16px;height:16px;border-radius:50%;background:white;position:absolute;top:2px;left:2px;transition:transform 0.2s ease}sd-toggle .sd-toggle--checked .sd-toggle__track{background:#0075FF}sd-toggle .sd-toggle--checked .sd-toggle__thumb{transform:translateX(16px)}sd-toggle .sd-toggle--disabled{cursor:not-allowed}sd-toggle .sd-toggle--disabled.sd-toggle--checked .sd-toggle__track{background:#BBDAFF}sd-toggle .sd-toggle--disabled.sd-toggle--unchecked .sd-toggle__track{background:#EEEEEE}sd-toggle .sd-toggle:hover:not(.sd-toggle--disabled).sd-toggle--checked .sd-toggle__track{background:#005CC9}sd-toggle .sd-toggle:hover:not(.sd-toggle--disabled).sd-toggle--unchecked .sd-toggle__track{background:#BBBBBB}`;
4
4
 
@@ -35,7 +35,7 @@ const SdToggle = class {
35
35
  this.change.emit(newValue);
36
36
  };
37
37
  render() {
38
- return (h("label", { key: 'c0fcd12c231fdb995b5edae756157c58b352fd0f', "aria-label": this.label || 'toggle', class: this.toggleClasses }, h("input", { key: 'e50042ae04830f4c276d8140725ab62cc2d0490d', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), this.label && h("span", { key: '99f9506a2dcea8cfd85aabf6b71243c116a2bf11', class: "sd-toggle__label" }, this.label), h("div", { key: '424e1ae78d5684051bd7a2b3ba89f6760f773f1c', class: "sd-toggle__track" }, h("div", { key: '29aab89e58022ce22f026fb694bb9b1e4531d8cf', class: "sd-toggle__thumb" }))));
38
+ return (h("label", { key: '9a8a0221e093040e446bc193f682070aa1f95c6c', "aria-label": this.label || 'toggle', class: this.toggleClasses }, h("input", { key: '4a2e3c626bfa4e439676cc40df619bd284d0178a', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), this.label && h("span", { key: '1eecfd810c17610604d6cf93c6f664690f17ff6a', class: "sd-toggle__label" }, this.label), h("div", { key: '9f082e2f6036e338f2afb6fb719b4ff8d3a01d99', class: "sd-toggle__track" }, h("div", { key: '1d8b1bd11b05091a368c681ead7e79a0e453d510', class: "sd-toggle__thumb" }))));
39
39
  }
40
40
  };
41
41
  SdToggle.style = sdToggleCss();
@@ -0,0 +1,37 @@
1
+ /* @ts-self-types="./index.d.ts" */
2
+ let urlAlphabet =
3
+ 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict';
4
+ let nanoid = (size = 21) => {
5
+ let id = '';
6
+ let i = size | 0;
7
+ while (i--) {
8
+ id += urlAlphabet[(Math.random() * 64) | 0];
9
+ }
10
+ return id
11
+ };
12
+
13
+ class SelectKeyboardNavigation {
14
+ isSearchable;
15
+ filteredOptions;
16
+ constructor(isSearchable, filteredOptions) {
17
+ this.isSearchable = isSearchable;
18
+ this.filteredOptions = filteredOptions;
19
+ }
20
+ getNavigationBounds() {
21
+ return {
22
+ minIndex: this.isSearchable ? -1 : 0,
23
+ maxIndex: this.filteredOptions.length - 1,
24
+ };
25
+ }
26
+ getNextIndex(currentIndex, direction) {
27
+ const { minIndex, maxIndex } = this.getNavigationBounds();
28
+ if (direction === 'ArrowUp') {
29
+ return currentIndex > minIndex ? currentIndex - 1 : maxIndex;
30
+ }
31
+ else {
32
+ return currentIndex < maxIndex ? currentIndex + 1 : minIndex;
33
+ }
34
+ }
35
+ }
36
+
37
+ export { SelectKeyboardNavigation as S, nanoid as n };
@@ -1,4 +1,4 @@
1
- import { h } from './index-C_an1PQ3.js';
1
+ import { h } from './index-B8tGP77V.js';
2
2
 
3
3
  const TooltipArrow = (props) => (h("svg", { width: "16", height: "12", viewBox: "0 0 16 12", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props }, 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" })));
4
4
 
@@ -0,0 +1,178 @@
1
+ export type ButtonV2Size = 'xs' | 'sm' | 'md' | 'lg';
2
+ export type ButtonV2Type = 'button' | 'submit' | 'reset';
3
+ export declare const BUTTON_FOCUS_RING_COLOR = "#0075FF";
4
+ export declare const BUTTON_CONFIG: {
5
+ readonly primary_xs: {
6
+ readonly variant: "primary";
7
+ readonly size: "xs";
8
+ readonly color: string;
9
+ };
10
+ readonly secondary_xs: {
11
+ readonly variant: "primary";
12
+ readonly size: "xs";
13
+ readonly color: string;
14
+ };
15
+ readonly primary_outline_xs: {
16
+ readonly variant: "outline";
17
+ readonly size: "xs";
18
+ readonly color: string;
19
+ };
20
+ readonly neutral_xs: {
21
+ readonly variant: "primary";
22
+ readonly size: "xs";
23
+ readonly color: string;
24
+ };
25
+ readonly neutral_outline_xs: {
26
+ readonly variant: "outline";
27
+ readonly size: "xs";
28
+ readonly color: string;
29
+ };
30
+ readonly danger_xs: {
31
+ readonly variant: "primary";
32
+ readonly size: "xs";
33
+ readonly color: string;
34
+ };
35
+ readonly danger_outline_xs: {
36
+ readonly variant: "outline";
37
+ readonly size: "xs";
38
+ readonly color: string;
39
+ };
40
+ readonly primary_sm: {
41
+ readonly variant: "primary";
42
+ readonly size: "sm";
43
+ readonly color: string;
44
+ };
45
+ readonly secondary_sm: {
46
+ readonly variant: "primary";
47
+ readonly size: "sm";
48
+ readonly color: string;
49
+ };
50
+ readonly primary_outline_sm: {
51
+ readonly variant: "outline";
52
+ readonly size: "sm";
53
+ readonly color: string;
54
+ };
55
+ readonly neutral_sm: {
56
+ readonly variant: "primary";
57
+ readonly size: "sm";
58
+ readonly color: string;
59
+ };
60
+ readonly neutral_outline_sm: {
61
+ readonly variant: "outline";
62
+ readonly size: "sm";
63
+ readonly color: string;
64
+ };
65
+ readonly danger_sm: {
66
+ readonly variant: "primary";
67
+ readonly size: "sm";
68
+ readonly color: string;
69
+ };
70
+ readonly danger_outline_sm: {
71
+ readonly variant: "outline";
72
+ readonly size: "sm";
73
+ readonly color: string;
74
+ };
75
+ readonly primary_md: {
76
+ readonly variant: "primary";
77
+ readonly size: "md";
78
+ readonly color: string;
79
+ };
80
+ readonly secondary_md: {
81
+ readonly variant: "primary";
82
+ readonly size: "md";
83
+ readonly color: string;
84
+ };
85
+ readonly primary_outline_md: {
86
+ readonly variant: "outline";
87
+ readonly size: "md";
88
+ readonly color: string;
89
+ };
90
+ readonly neutral_md: {
91
+ readonly variant: "primary";
92
+ readonly size: "md";
93
+ readonly color: string;
94
+ };
95
+ readonly neutral_outline_md: {
96
+ readonly variant: "outline";
97
+ readonly size: "md";
98
+ readonly color: string;
99
+ };
100
+ readonly danger_md: {
101
+ readonly variant: "primary";
102
+ readonly size: "md";
103
+ readonly color: string;
104
+ };
105
+ readonly danger_outline_md: {
106
+ readonly variant: "outline";
107
+ readonly size: "md";
108
+ readonly color: string;
109
+ };
110
+ readonly primary_lg: {
111
+ readonly variant: "primary";
112
+ readonly size: "lg";
113
+ readonly color: string;
114
+ };
115
+ readonly secondary_lg: {
116
+ readonly variant: "primary";
117
+ readonly size: "lg";
118
+ readonly color: string;
119
+ };
120
+ readonly primary_outline_lg: {
121
+ readonly variant: "outline";
122
+ readonly size: "lg";
123
+ readonly color: string;
124
+ };
125
+ readonly neutral_lg: {
126
+ readonly variant: "primary";
127
+ readonly size: "lg";
128
+ readonly color: string;
129
+ };
130
+ readonly neutral_outline_lg: {
131
+ readonly variant: "outline";
132
+ readonly size: "lg";
133
+ readonly color: string;
134
+ };
135
+ readonly danger_lg: {
136
+ readonly variant: "primary";
137
+ readonly size: "lg";
138
+ readonly color: string;
139
+ };
140
+ readonly danger_outline_lg: {
141
+ readonly variant: "outline";
142
+ readonly size: "lg";
143
+ readonly color: string;
144
+ };
145
+ };
146
+ export type ButtonV2Name = keyof typeof BUTTON_CONFIG;
147
+ export declare const BUTTON_ICON_SIZES: Record<ButtonV2Size, number>;
148
+ export declare const PRESET_HOVER_BACKGROUNDS: {
149
+ readonly primary: string;
150
+ readonly secondary: string;
151
+ readonly primary_outline: string;
152
+ readonly neutral: string;
153
+ readonly neutral_outline: string;
154
+ readonly danger: string;
155
+ readonly danger_outline: string;
156
+ };
157
+ export declare const PRESET_CONTENT_COLORS: {
158
+ readonly primary: string;
159
+ readonly secondary: string;
160
+ readonly primary_outline: string;
161
+ readonly neutral: string;
162
+ readonly neutral_outline: string;
163
+ readonly danger: string;
164
+ readonly danger_outline: string;
165
+ };
166
+ export declare const PRESET_BORDER_COLORS: {
167
+ readonly primary: "transparent";
168
+ readonly secondary: "transparent";
169
+ readonly primary_outline: string;
170
+ readonly neutral: "transparent";
171
+ readonly neutral_outline: string;
172
+ readonly danger: "transparent";
173
+ readonly danger_outline: string;
174
+ };
175
+ export type ButtonV2Preset = keyof typeof PRESET_CONTENT_COLORS;
176
+ export declare const DISABLED_CONTENT: string;
177
+ export declare const isButtonV2Name: (value: string) => value is ButtonV2Name;
178
+ export declare const getPresetName: (value: ButtonV2Name) => ButtonV2Preset;
@@ -0,0 +1,18 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ import { type ButtonV2Name, type ButtonV2Type } from './sd-button-v2.config';
3
+ export declare class SdButtonV2 {
4
+ name: ButtonV2Name;
5
+ label: string;
6
+ icon?: IconName;
7
+ ariaLabel: string;
8
+ disabled: boolean;
9
+ type: ButtonV2Type;
10
+ click: EventEmitter<MouseEvent>;
11
+ private hasWarnedMissingAriaLabel;
12
+ private handleClick;
13
+ private get resolvedConfig();
14
+ private getButtonClasses;
15
+ componentWillRender(): void;
16
+ private warnIfMissingAriaLabel;
17
+ render(): any;
18
+ }
@@ -0,0 +1,55 @@
1
+ import { type ButtonV2Name, type ButtonV2Preset } from '../sd-button-v2/sd-button-v2.config';
2
+ export interface DropdownButtonItem {
3
+ value: string | number;
4
+ label: string;
5
+ icon?: IconName;
6
+ disabled?: boolean;
7
+ }
8
+ export type DropdownButtonValue = DropdownButtonItem['value'];
9
+ export type DropdownButtonSize = 'xs' | 'sm' | 'md';
10
+ type UnsupportedDropdownButtonName = 'neutral_xs' | 'neutral_sm' | 'neutral_md' | `${string}_lg`;
11
+ export type DropdownButtonName = Exclude<ButtonV2Name, UnsupportedDropdownButtonName>;
12
+ export type DropdownButtonPreset = ButtonV2Preset;
13
+ export declare const DROPDOWN_BUTTON_CONFIG: Record<DropdownButtonName, {
14
+ variant: "primary" | "outline";
15
+ size: DropdownButtonSize;
16
+ color: string;
17
+ }>;
18
+ export declare const DROPDOWN_BUTTON_MIN_WIDTHS: Record<DropdownButtonSize, string>;
19
+ export declare const PRESET_HOVER_BACKGROUNDS: {
20
+ readonly primary: string;
21
+ readonly secondary: string;
22
+ readonly primary_outline: string;
23
+ readonly neutral: string;
24
+ readonly neutral_outline: string;
25
+ readonly danger: string;
26
+ readonly danger_outline: string;
27
+ };
28
+ export declare const PRESET_CONTENT_COLORS: {
29
+ readonly primary: string;
30
+ readonly secondary: string;
31
+ readonly primary_outline: string;
32
+ readonly neutral: string;
33
+ readonly neutral_outline: string;
34
+ readonly danger: string;
35
+ readonly danger_outline: string;
36
+ };
37
+ export declare const PRESET_BORDER_COLORS: {
38
+ readonly primary: "transparent";
39
+ readonly secondary: "transparent";
40
+ readonly primary_outline: string;
41
+ readonly neutral: "transparent";
42
+ readonly neutral_outline: string;
43
+ readonly danger: "transparent";
44
+ readonly danger_outline: string;
45
+ };
46
+ export declare const PRESET_DIVIDER_COLORS: Record<DropdownButtonPreset, string>;
47
+ export declare const PRESET_MENU_ITEM_COLORS: Record<DropdownButtonPreset, string>;
48
+ export declare const PRESET_MENU_ITEM_ACTIVE_BACKGROUNDS: Record<DropdownButtonPreset, string>;
49
+ export declare const PRESET_MENU_ITEM_ACTIVE_COLORS: Record<DropdownButtonPreset, string>;
50
+ export declare const DROPDOWN_DISABLED_BACKGROUND: string;
51
+ export declare const DROPDOWN_DISABLED_CONTENT: string;
52
+ export declare const DROPDOWN_DISABLED_BORDER: string;
53
+ export declare const isDropdownButtonName: (value: string) => value is DropdownButtonName;
54
+ export declare const getDropdownButtonPreset: (value: DropdownButtonName) => DropdownButtonPreset;
55
+ export {};
@@ -0,0 +1,34 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ import { BaseDropdownEvent } from '../../utils/base-dropdown-event';
3
+ import { type DropdownButtonItem, type DropdownButtonName, type DropdownButtonValue } from './sd-dropdown-button.config';
4
+ export declare class SdDropdownButton extends BaseDropdownEvent {
5
+ el: HTMLElement;
6
+ name: DropdownButtonName;
7
+ label: string;
8
+ items: DropdownButtonItem[];
9
+ disabled: boolean;
10
+ isOpen: boolean;
11
+ itemIndex: number;
12
+ private triggerRef?;
13
+ private menuRef?;
14
+ click: EventEmitter<DropdownButtonValue>;
15
+ dropDownShow: EventEmitter<{
16
+ isOpen: boolean;
17
+ }>;
18
+ handleOpenChange(isOpen: boolean): void;
19
+ componentWillLoad(): void;
20
+ disconnectedCallback(): void;
21
+ sdOpen(): Promise<void>;
22
+ sdClose(): Promise<void>;
23
+ closeDropdown: () => void;
24
+ protected handleDocumentClick(event: Event): void;
25
+ protected handleDocumentKeydown(event: KeyboardEvent): void;
26
+ private get resolvedConfig();
27
+ private getNextEnabledIndex;
28
+ private toggleDropdown;
29
+ private selectItem;
30
+ private getTriggerClasses;
31
+ private getMenuItemClasses;
32
+ private renderDropdown;
33
+ render(): any;
34
+ }
@@ -11,17 +11,26 @@ export declare class SdPortal {
11
11
  private wrapper?;
12
12
  private rafId?;
13
13
  private isInsideClick;
14
+ private readonly handleObservedScroll;
14
15
  private resizeObserver?;
15
16
  private mutationObserver?;
17
+ private scrollParents;
18
+ private isObserved;
19
+ handleOpenChange(): void;
16
20
  componentDidLoad(): void;
17
21
  componentDidRender(): void;
18
22
  disconnectedCallback(): void;
19
23
  private resolveContainer;
20
24
  private createWrapper;
25
+ private ensureWrapper;
26
+ private syncPortalState;
21
27
  private moveSlotContent;
22
28
  updatePosition(): void;
23
29
  private observeParent;
24
30
  private unobserveParent;
31
+ private observeScrollParents;
32
+ private unobserveScrollParents;
33
+ private getScrollParents;
25
34
  handleMouseDown(e: MouseEvent): void;
26
35
  handleWindowClick(e: MouseEvent): void;
27
36
  render(): any;
@@ -16,6 +16,6 @@ export declare class SdTabs {
16
16
  private isTabSelected;
17
17
  private getTabClasses;
18
18
  private getContainerClasses;
19
- private getBadgeColors;
19
+ private getBadgeName;
20
20
  render(): any;
21
21
  }
@@ -0,0 +1,23 @@
1
+ export declare const TAG_SHAPES: readonly ["square", "pill"];
2
+ export declare const TAG_SIZES: readonly ["sm", "md", "lg"];
3
+ export declare const TAG_COLORS: readonly ["grey", "red", "orange", "yellow", "green", "blue", "darkblue", "indigo"];
4
+ export type TagShape = (typeof TAG_SHAPES)[number];
5
+ export type TagSize = (typeof TAG_SIZES)[number];
6
+ export type TagColor = (typeof TAG_COLORS)[number];
7
+ export type TagName = `${TagShape}_${TagSize}_${TagColor}`;
8
+ export declare const TAG_CONFIG: Record<TagName, {
9
+ shape: TagShape;
10
+ size: TagSize;
11
+ color: TagColor;
12
+ background: string;
13
+ content: string;
14
+ icon: string;
15
+ height: string;
16
+ paddingX: string;
17
+ gap: string;
18
+ fontSize: string;
19
+ fontWeight: string;
20
+ iconSize: number;
21
+ radius: string;
22
+ }>;
23
+ export declare const isTagName: (value: string) => value is TagName;
@@ -1,14 +1,10 @@
1
- export type TagColor = 'grey' | 'red' | 'orange' | 'yellow' | 'green' | 'blue' | 'darkblue' | 'indigo';
2
- export type TagSize = 'sm' | 'md' | 'lg';
1
+ import { type TagName } from './sd-tag.config';
3
2
  export declare class SdTag {
4
- el: HTMLElement;
5
- size: TagSize;
6
- color: TagColor;
7
- rounded: boolean;
3
+ name: TagName;
8
4
  label: string;
9
- bgColor?: string;
10
- textColor?: string;
11
- private getTagClasses;
12
- private renderContent;
5
+ icon?: IconName;
6
+ isLeft: boolean;
7
+ private get resolvedConfig();
8
+ private renderIcon;
13
9
  render(): any;
14
10
  }