@sellmate/design-system 1.0.21 → 1.0.22

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 (161) hide show
  1. package/dist/cjs/{select-keyboard-navigation-CtstKOb3.js → base-dropdown-event-BTPlZ1KF.js} +0 -38
  2. package/dist/cjs/component.button-C6xBMwHf.js +115 -0
  3. package/dist/cjs/design-system.cjs.js +1 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/sd-button-v2.cjs.entry.js +86 -0
  6. package/dist/cjs/sd-button-v2.config-BK45EPK_.js +203 -0
  7. package/dist/cjs/sd-button_21.cjs.entry.js +119 -65
  8. package/dist/cjs/sd-card.cjs.entry.js +1 -1
  9. package/dist/cjs/sd-date-picker.cjs.entry.js +1 -1
  10. package/dist/cjs/sd-dropdown-button.cjs.entry.js +274 -0
  11. package/dist/cjs/sd-file-picker.cjs.entry.js +3 -3
  12. package/dist/cjs/sd-guide.cjs.entry.js +2 -2
  13. package/dist/cjs/sd-popover.cjs.entry.js +2 -2
  14. package/dist/cjs/sd-progress.cjs.entry.js +2 -2
  15. package/dist/cjs/sd-select-multiple-group.cjs.entry.js +3 -2
  16. package/dist/cjs/sd-select-multiple.cjs.entry.js +4 -3
  17. package/dist/cjs/sd-select-option-group.cjs.entry.js +3 -3
  18. package/dist/cjs/sd-toggle-button.cjs.entry.js +1 -1
  19. package/dist/cjs/sd-toggle.cjs.entry.js +1 -1
  20. package/dist/cjs/select-keyboard-navigation-s2wP37xZ.js +40 -0
  21. package/dist/collection/collection-manifest.json +3 -1
  22. package/dist/collection/components/sd-button-v2/sd-button-v2.config.js +190 -0
  23. package/dist/collection/components/sd-button-v2/sd-button-v2.css +120 -0
  24. package/dist/collection/components/sd-button-v2/sd-button-v2.js +249 -0
  25. package/dist/collection/components/sd-card/sd-card.js +1 -1
  26. package/dist/collection/components/sd-date-picker/sd-date-picker.js +1 -1
  27. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +2 -2
  28. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.config.js +62 -0
  29. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.css +171 -0
  30. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +384 -0
  31. package/dist/collection/components/sd-field/sd-field.js +3 -3
  32. package/dist/collection/components/sd-file-picker/sd-file-picker.js +3 -3
  33. package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +1 -1
  34. package/dist/collection/components/sd-guide/sd-guide.js +2 -2
  35. package/dist/collection/components/sd-icon/sd-icon.js +1 -1
  36. package/dist/collection/components/sd-input/sd-input.js +1 -1
  37. package/dist/collection/components/sd-loading-spinner/sd-loading-spinner.js +1 -1
  38. package/dist/collection/components/sd-number-input/sd-number-input.js +4 -4
  39. package/dist/collection/components/sd-pagination/sd-pagination.js +2 -2
  40. package/dist/collection/components/sd-popover/sd-popover.js +2 -2
  41. package/dist/collection/components/sd-portal/sd-portal.js +89 -19
  42. package/dist/collection/components/sd-progress/sd-progress.js +2 -2
  43. package/dist/collection/components/sd-select/sd-select-dropdown/sd-select-dropdown.js +2 -2
  44. package/dist/collection/components/sd-select/sd-select-option/sd-select-option.js +1 -1
  45. package/dist/collection/components/sd-select/sd-select-search-input/sd-select-search-input.js +3 -3
  46. package/dist/collection/components/sd-select-multiple/sd-select-multiple.js +1 -1
  47. package/dist/collection/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.js +3 -3
  48. package/dist/collection/components/sd-textarea/sd-textarea.js +2 -2
  49. package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
  50. package/dist/collection/components/sd-toggle-button/sd-toggle-button.js +1 -1
  51. package/dist/components/{p-D0U1cMbs.js → p-B4p2JGMI.js} +1 -1
  52. package/dist/components/p-Bd9o9P1x.js +1 -0
  53. package/dist/components/{p-rn5S2icF.js → p-BsQEKShq.js} +1 -1
  54. package/dist/components/{p-CbQobmaB.js → p-CAJmL8nc.js} +1 -1
  55. package/dist/components/p-CWlCxabU.js +1 -0
  56. package/dist/components/p-Cy6HMEsK.js +1 -0
  57. package/dist/components/{p-C1XPuuO-.js → p-CysnHGj4.js} +1 -1
  58. package/dist/components/{p-qSu-ayDy.js → p-D4kmO3k7.js} +1 -1
  59. package/dist/components/{p-DdOM8yc2.js → p-DB52ADSW.js} +1 -1
  60. package/dist/components/{p-J-Yn0oS3.js → p-DExqkuUY.js} +1 -1
  61. package/dist/components/{p-MmKik3mL.js → p-DF2wExtn.js} +1 -1
  62. package/dist/components/{p-D35gOcGh.js → p-DFgtwoFG.js} +1 -1
  63. package/dist/components/{p-BVFlD1Lp.js → p-DYsHXden.js} +1 -1
  64. package/dist/components/{p-CWg2auF3.js → p-DZqrfwuw.js} +1 -1
  65. package/dist/components/p-Dc4UTGgQ.js +1 -0
  66. package/dist/components/{p-CU5TiEeI.js → p-DyeU47vV.js} +1 -1
  67. package/dist/components/p-Hvt2oWRk.js +1 -0
  68. package/dist/components/{p-Cef06v8S.js → p-JyVgfdnC.js} +1 -1
  69. package/dist/components/p-VKF2AWs1.js +1 -0
  70. package/dist/components/sd-button-v2.d.ts +11 -0
  71. package/dist/components/sd-button-v2.js +1 -0
  72. package/dist/components/sd-button.js +1 -1
  73. package/dist/components/sd-card.js +1 -1
  74. package/dist/components/sd-checkbox.js +1 -1
  75. package/dist/components/sd-date-picker.js +1 -1
  76. package/dist/components/sd-date-range-picker.js +1 -1
  77. package/dist/components/sd-dropdown-button.d.ts +11 -0
  78. package/dist/components/sd-dropdown-button.js +1 -0
  79. package/dist/components/sd-field.js +1 -1
  80. package/dist/components/sd-file-picker.js +1 -1
  81. package/dist/components/sd-floating-portal.js +1 -1
  82. package/dist/components/sd-guide.js +1 -1
  83. package/dist/components/sd-icon.js +1 -1
  84. package/dist/components/sd-input.js +1 -1
  85. package/dist/components/sd-loading-spinner.js +1 -1
  86. package/dist/components/sd-modal-card.js +1 -1
  87. package/dist/components/sd-number-input.js +1 -1
  88. package/dist/components/sd-pagination.js +1 -1
  89. package/dist/components/sd-popover.js +1 -1
  90. package/dist/components/sd-portal.js +1 -1
  91. package/dist/components/sd-progress.js +1 -1
  92. package/dist/components/sd-select-dropdown.js +1 -1
  93. package/dist/components/sd-select-multiple-group.js +1 -1
  94. package/dist/components/sd-select-multiple.js +1 -1
  95. package/dist/components/sd-select-option-group.js +1 -1
  96. package/dist/components/sd-select-option.js +1 -1
  97. package/dist/components/sd-select-search-input.js +1 -1
  98. package/dist/components/sd-select.js +1 -1
  99. package/dist/components/sd-table.js +1 -1
  100. package/dist/components/sd-textarea.js +1 -1
  101. package/dist/components/sd-toast.js +1 -1
  102. package/dist/components/sd-toggle-button.js +1 -1
  103. package/dist/components/sd-toggle.js +1 -1
  104. package/dist/components/sd-tooltip.js +1 -1
  105. package/dist/design-system/design-system.esm.js +1 -1
  106. package/dist/design-system/p-2ca338f9.entry.js +1 -0
  107. package/dist/design-system/p-322dbf53.entry.js +1 -0
  108. package/dist/design-system/p-3885ca10.entry.js +1 -0
  109. package/dist/design-system/{p-d6b38732.entry.js → p-40da6e22.entry.js} +1 -1
  110. package/dist/design-system/{p-679e4367.entry.js → p-47d37199.entry.js} +1 -1
  111. package/dist/design-system/{p-3301c280.entry.js → p-6c34df5b.entry.js} +1 -1
  112. package/dist/design-system/p-7d35c7a7.entry.js +1 -0
  113. package/dist/design-system/{p-3d03b19e.entry.js → p-938940a7.entry.js} +1 -1
  114. package/dist/design-system/p-9650c304.entry.js +1 -0
  115. package/dist/design-system/{p-8f99cd66.entry.js → p-9ad83ffb.entry.js} +1 -1
  116. package/dist/design-system/p-CRdYeSBK.js +1 -0
  117. package/dist/design-system/p-Dc4UTGgQ.js +1 -0
  118. package/dist/design-system/p-VKF2AWs1.js +1 -0
  119. package/dist/design-system/{p-d344fa9d.entry.js → p-a547f366.entry.js} +1 -1
  120. package/dist/design-system/{p-3e07e92a.entry.js → p-b2ab1c50.entry.js} +1 -1
  121. package/dist/design-system/p-d38f59b3.entry.js +1 -0
  122. package/dist/design-system/{p-822233ee.entry.js → p-e5c3927f.entry.js} +1 -1
  123. package/dist/design-system/p-xxEHPVkL.js +1 -0
  124. package/dist/esm/{select-keyboard-navigation-D8-D-mJX.js → base-dropdown-event-CRdYeSBK.js} +1 -37
  125. package/dist/esm/component.button-Dc4UTGgQ.js +113 -0
  126. package/dist/esm/design-system.js +1 -1
  127. package/dist/esm/loader.js +1 -1
  128. package/dist/esm/sd-button-v2.config-BWmcscrt.js +193 -0
  129. package/dist/esm/sd-button-v2.entry.js +84 -0
  130. package/dist/esm/sd-button_21.entry.js +114 -60
  131. package/dist/esm/sd-card.entry.js +1 -1
  132. package/dist/esm/sd-date-picker.entry.js +1 -1
  133. package/dist/esm/sd-dropdown-button.entry.js +272 -0
  134. package/dist/esm/sd-file-picker.entry.js +3 -3
  135. package/dist/esm/sd-guide.entry.js +2 -2
  136. package/dist/esm/sd-popover.entry.js +2 -2
  137. package/dist/esm/sd-progress.entry.js +2 -2
  138. package/dist/esm/sd-select-multiple-group.entry.js +2 -1
  139. package/dist/esm/sd-select-multiple.entry.js +3 -2
  140. package/dist/esm/sd-select-option-group.entry.js +3 -3
  141. package/dist/esm/sd-toggle-button.entry.js +1 -1
  142. package/dist/esm/sd-toggle.entry.js +1 -1
  143. package/dist/esm/select-keyboard-navigation-xxEHPVkL.js +37 -0
  144. package/dist/types/components/sd-button-v2/sd-button-v2.config.d.ts +178 -0
  145. package/dist/types/components/sd-button-v2/sd-button-v2.d.ts +18 -0
  146. package/dist/types/components/sd-dropdown-button/sd-dropdown-button.config.d.ts +55 -0
  147. package/dist/types/components/sd-dropdown-button/sd-dropdown-button.d.ts +34 -0
  148. package/dist/types/components/sd-portal/sd-portal.d.ts +9 -0
  149. package/dist/types/components.d.ts +153 -0
  150. package/dist/types/index.d.ts +2 -0
  151. package/hydrate/index.js +881 -148
  152. package/hydrate/index.mjs +881 -148
  153. package/package.json +2 -2
  154. package/dist/components/p-B82gJZ4z.js +0 -1
  155. package/dist/components/p-C6J-ZZxF.js +0 -1
  156. package/dist/components/p-CHAh-_qx.js +0 -1
  157. package/dist/design-system/p-103de692.entry.js +0 -1
  158. package/dist/design-system/p-55c13597.entry.js +0 -1
  159. package/dist/design-system/p-D8-D-mJX.js +0 -1
  160. package/dist/design-system/p-de339565.entry.js +0 -1
  161. package/dist/design-system/p-fc0e636b.entry.js +0 -1
@@ -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;
@@ -6,8 +6,10 @@
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
8
  import { ButtonSize, ButtonVariant } from "./components/sd-button/sd-button";
9
+ import { ButtonV2Name, ButtonV2Type } from "./components/sd-button-v2/sd-button-v2.config";
9
10
  import { CheckedType } from "./components/sd-checkbox/sd-checkbox";
10
11
  import { Type } from "./components/sd-date-box/sd-date-box";
12
+ import { DropdownButtonItem, DropdownButtonName, DropdownButtonValue } from "./components/sd-dropdown-button/sd-dropdown-button.config";
11
13
  import { Rule } from "./types/form";
12
14
  import { SdTooltipProps } from "./components/sd-tooltip/sd-tooltip";
13
15
  import { ValidatableField } from "./components/sd-form/sd-form";
@@ -28,8 +30,10 @@ import { TabOption } from "./components/sd-tabs/sd-tabs";
28
30
  import { TagColor, TagSize } from "./components/sd-tag/sd-tag";
29
31
  import { ToastType } from "./components/sd-toast/sd-toast";
30
32
  export { ButtonSize, ButtonVariant } from "./components/sd-button/sd-button";
33
+ export { ButtonV2Name, ButtonV2Type } from "./components/sd-button-v2/sd-button-v2.config";
31
34
  export { CheckedType } from "./components/sd-checkbox/sd-checkbox";
32
35
  export { Type } from "./components/sd-date-box/sd-date-box";
36
+ export { DropdownButtonItem, DropdownButtonName, DropdownButtonValue } from "./components/sd-dropdown-button/sd-dropdown-button.config";
33
37
  export { Rule } from "./types/form";
34
38
  export { SdTooltipProps } from "./components/sd-tooltip/sd-tooltip";
35
39
  export { ValidatableField } from "./components/sd-form/sd-form";
@@ -102,6 +106,29 @@ export namespace Components {
102
106
  */
103
107
  "variant"?: ButtonVariant;
104
108
  }
109
+ interface SdButtonV2 {
110
+ /**
111
+ * @default ''
112
+ */
113
+ "ariaLabel": string;
114
+ /**
115
+ * @default false
116
+ */
117
+ "disabled": boolean;
118
+ "icon"?: IconName;
119
+ /**
120
+ * @default ''
121
+ */
122
+ "label": string;
123
+ /**
124
+ * @default 'primary_sm'
125
+ */
126
+ "name": ButtonV2Name;
127
+ /**
128
+ * @default 'button'
129
+ */
130
+ "type": ButtonV2Type;
131
+ }
105
132
  interface SdCard {
106
133
  /**
107
134
  * @default false
@@ -199,6 +226,26 @@ export namespace Components {
199
226
  */
200
227
  "value": [string, string];
201
228
  }
229
+ interface SdDropdownButton {
230
+ /**
231
+ * @default false
232
+ */
233
+ "disabled": boolean;
234
+ /**
235
+ * @default []
236
+ */
237
+ "items": DropdownButtonItem[];
238
+ /**
239
+ * @default ''
240
+ */
241
+ "label": string;
242
+ /**
243
+ * @default 'primary_sm'
244
+ */
245
+ "name": DropdownButtonName;
246
+ "sdClose": () => Promise<void>;
247
+ "sdOpen": () => Promise<void>;
248
+ }
202
249
  interface SdField {
203
250
  /**
204
251
  * @default false
@@ -1288,6 +1335,10 @@ export interface SdButtonCustomEvent<T> extends CustomEvent<T> {
1288
1335
  detail: T;
1289
1336
  target: HTMLSdButtonElement;
1290
1337
  }
1338
+ export interface SdButtonV2CustomEvent<T> extends CustomEvent<T> {
1339
+ detail: T;
1340
+ target: HTMLSdButtonV2Element;
1341
+ }
1291
1342
  export interface SdCheckboxCustomEvent<T> extends CustomEvent<T> {
1292
1343
  detail: T;
1293
1344
  target: HTMLSdCheckboxElement;
@@ -1304,6 +1355,10 @@ export interface SdDateRangePickerCustomEvent<T> extends CustomEvent<T> {
1304
1355
  detail: T;
1305
1356
  target: HTMLSdDateRangePickerElement;
1306
1357
  }
1358
+ export interface SdDropdownButtonCustomEvent<T> extends CustomEvent<T> {
1359
+ detail: T;
1360
+ target: HTMLSdDropdownButtonElement;
1361
+ }
1307
1362
  export interface SdFilePickerCustomEvent<T> extends CustomEvent<T> {
1308
1363
  detail: T;
1309
1364
  target: HTMLSdFilePickerElement;
@@ -1424,6 +1479,23 @@ declare global {
1424
1479
  prototype: HTMLSdButtonElement;
1425
1480
  new (): HTMLSdButtonElement;
1426
1481
  };
1482
+ interface HTMLSdButtonV2ElementEventMap {
1483
+ "sdClick": MouseEvent;
1484
+ }
1485
+ interface HTMLSdButtonV2Element extends Components.SdButtonV2, HTMLStencilElement {
1486
+ addEventListener<K extends keyof HTMLSdButtonV2ElementEventMap>(type: K, listener: (this: HTMLSdButtonV2Element, ev: SdButtonV2CustomEvent<HTMLSdButtonV2ElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1487
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1488
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1489
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1490
+ removeEventListener<K extends keyof HTMLSdButtonV2ElementEventMap>(type: K, listener: (this: HTMLSdButtonV2Element, ev: SdButtonV2CustomEvent<HTMLSdButtonV2ElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1491
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1492
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1493
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1494
+ }
1495
+ var HTMLSdButtonV2Element: {
1496
+ prototype: HTMLSdButtonV2Element;
1497
+ new (): HTMLSdButtonV2Element;
1498
+ };
1427
1499
  interface HTMLSdCardElement extends Components.SdCard, HTMLStencilElement {
1428
1500
  }
1429
1501
  var HTMLSdCardElement: {
@@ -1499,6 +1571,24 @@ declare global {
1499
1571
  prototype: HTMLSdDateRangePickerElement;
1500
1572
  new (): HTMLSdDateRangePickerElement;
1501
1573
  };
1574
+ interface HTMLSdDropdownButtonElementEventMap {
1575
+ "sdClick": DropdownButtonValue;
1576
+ "sdDropDownShow": { isOpen: boolean };
1577
+ }
1578
+ interface HTMLSdDropdownButtonElement extends Components.SdDropdownButton, HTMLStencilElement {
1579
+ addEventListener<K extends keyof HTMLSdDropdownButtonElementEventMap>(type: K, listener: (this: HTMLSdDropdownButtonElement, ev: SdDropdownButtonCustomEvent<HTMLSdDropdownButtonElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1580
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1581
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1582
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1583
+ removeEventListener<K extends keyof HTMLSdDropdownButtonElementEventMap>(type: K, listener: (this: HTMLSdDropdownButtonElement, ev: SdDropdownButtonCustomEvent<HTMLSdDropdownButtonElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1584
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1585
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1586
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1587
+ }
1588
+ var HTMLSdDropdownButtonElement: {
1589
+ prototype: HTMLSdDropdownButtonElement;
1590
+ new (): HTMLSdDropdownButtonElement;
1591
+ };
1502
1592
  interface HTMLSdFieldElement extends Components.SdField, HTMLStencilElement {
1503
1593
  }
1504
1594
  var HTMLSdFieldElement: {
@@ -1988,11 +2078,13 @@ declare global {
1988
2078
  interface HTMLElementTagNameMap {
1989
2079
  "sd-badge": HTMLSdBadgeElement;
1990
2080
  "sd-button": HTMLSdButtonElement;
2081
+ "sd-button-v2": HTMLSdButtonV2Element;
1991
2082
  "sd-card": HTMLSdCardElement;
1992
2083
  "sd-checkbox": HTMLSdCheckboxElement;
1993
2084
  "sd-date-box": HTMLSdDateBoxElement;
1994
2085
  "sd-date-picker": HTMLSdDatePickerElement;
1995
2086
  "sd-date-range-picker": HTMLSdDateRangePickerElement;
2087
+ "sd-dropdown-button": HTMLSdDropdownButtonElement;
1996
2088
  "sd-field": HTMLSdFieldElement;
1997
2089
  "sd-file-picker": HTMLSdFilePickerElement;
1998
2090
  "sd-floating-portal": HTMLSdFloatingPortalElement;
@@ -2083,6 +2175,30 @@ declare namespace LocalJSX {
2083
2175
  */
2084
2176
  "variant"?: ButtonVariant;
2085
2177
  }
2178
+ interface SdButtonV2 {
2179
+ /**
2180
+ * @default ''
2181
+ */
2182
+ "ariaLabel"?: string;
2183
+ /**
2184
+ * @default false
2185
+ */
2186
+ "disabled"?: boolean;
2187
+ "icon"?: IconName;
2188
+ /**
2189
+ * @default ''
2190
+ */
2191
+ "label"?: string;
2192
+ /**
2193
+ * @default 'primary_sm'
2194
+ */
2195
+ "name"?: ButtonV2Name;
2196
+ "onSdClick"?: (event: SdButtonV2CustomEvent<MouseEvent>) => void;
2197
+ /**
2198
+ * @default 'button'
2199
+ */
2200
+ "type"?: ButtonV2Type;
2201
+ }
2086
2202
  interface SdCard {
2087
2203
  /**
2088
2204
  * @default false
@@ -2188,6 +2304,26 @@ declare namespace LocalJSX {
2188
2304
  */
2189
2305
  "value"?: [string, string];
2190
2306
  }
2307
+ interface SdDropdownButton {
2308
+ /**
2309
+ * @default false
2310
+ */
2311
+ "disabled"?: boolean;
2312
+ /**
2313
+ * @default []
2314
+ */
2315
+ "items"?: DropdownButtonItem[];
2316
+ /**
2317
+ * @default ''
2318
+ */
2319
+ "label"?: string;
2320
+ /**
2321
+ * @default 'primary_sm'
2322
+ */
2323
+ "name"?: DropdownButtonName;
2324
+ "onSdClick"?: (event: SdDropdownButtonCustomEvent<DropdownButtonValue>) => void;
2325
+ "onSdDropDownShow"?: (event: SdDropdownButtonCustomEvent<{ isOpen: boolean }>) => void;
2326
+ }
2191
2327
  interface SdField {
2192
2328
  /**
2193
2329
  * @default false
@@ -3306,6 +3442,14 @@ declare namespace LocalJSX {
3306
3442
  "noHover": boolean;
3307
3443
  "sdClass": string;
3308
3444
  }
3445
+ interface SdButtonV2Attributes {
3446
+ "name": ButtonV2Name;
3447
+ "label": string;
3448
+ "icon": IconName;
3449
+ "ariaLabel": string;
3450
+ "disabled": boolean;
3451
+ "type": ButtonV2Type;
3452
+ }
3309
3453
  interface SdCardAttributes {
3310
3454
  "bordered": boolean;
3311
3455
  "sdClass": string;
@@ -3338,6 +3482,11 @@ declare namespace LocalJSX {
3338
3482
  "disabled": boolean;
3339
3483
  "placeholder": string;
3340
3484
  }
3485
+ interface SdDropdownButtonAttributes {
3486
+ "name": DropdownButtonName;
3487
+ "label": string;
3488
+ "disabled": boolean;
3489
+ }
3341
3490
  interface SdFieldAttributes {
3342
3491
  "name": string;
3343
3492
  "error": boolean;
@@ -3633,11 +3782,13 @@ declare namespace LocalJSX {
3633
3782
  interface IntrinsicElements {
3634
3783
  "sd-badge": Omit<SdBadge, keyof SdBadgeAttributes> & { [K in keyof SdBadge & keyof SdBadgeAttributes]?: SdBadge[K] } & { [K in keyof SdBadge & keyof SdBadgeAttributes as `attr:${K}`]?: SdBadgeAttributes[K] } & { [K in keyof SdBadge & keyof SdBadgeAttributes as `prop:${K}`]?: SdBadge[K] };
3635
3784
  "sd-button": Omit<SdButton, keyof SdButtonAttributes> & { [K in keyof SdButton & keyof SdButtonAttributes]?: SdButton[K] } & { [K in keyof SdButton & keyof SdButtonAttributes as `attr:${K}`]?: SdButtonAttributes[K] } & { [K in keyof SdButton & keyof SdButtonAttributes as `prop:${K}`]?: SdButton[K] };
3785
+ "sd-button-v2": Omit<SdButtonV2, keyof SdButtonV2Attributes> & { [K in keyof SdButtonV2 & keyof SdButtonV2Attributes]?: SdButtonV2[K] } & { [K in keyof SdButtonV2 & keyof SdButtonV2Attributes as `attr:${K}`]?: SdButtonV2Attributes[K] } & { [K in keyof SdButtonV2 & keyof SdButtonV2Attributes as `prop:${K}`]?: SdButtonV2[K] };
3636
3786
  "sd-card": Omit<SdCard, keyof SdCardAttributes> & { [K in keyof SdCard & keyof SdCardAttributes]?: SdCard[K] } & { [K in keyof SdCard & keyof SdCardAttributes as `attr:${K}`]?: SdCardAttributes[K] } & { [K in keyof SdCard & keyof SdCardAttributes as `prop:${K}`]?: SdCard[K] };
3637
3787
  "sd-checkbox": Omit<SdCheckbox, keyof SdCheckboxAttributes> & { [K in keyof SdCheckbox & keyof SdCheckboxAttributes]?: SdCheckbox[K] } & { [K in keyof SdCheckbox & keyof SdCheckboxAttributes as `attr:${K}`]?: SdCheckboxAttributes[K] } & { [K in keyof SdCheckbox & keyof SdCheckboxAttributes as `prop:${K}`]?: SdCheckbox[K] } & OneOf<"value", SdCheckbox["value"], SdCheckboxAttributes["value"]>;
3638
3788
  "sd-date-box": Omit<SdDateBox, keyof SdDateBoxAttributes> & { [K in keyof SdDateBox & keyof SdDateBoxAttributes]?: SdDateBox[K] } & { [K in keyof SdDateBox & keyof SdDateBoxAttributes as `attr:${K}`]?: SdDateBoxAttributes[K] } & { [K in keyof SdDateBox & keyof SdDateBoxAttributes as `prop:${K}`]?: SdDateBox[K] };
3639
3789
  "sd-date-picker": Omit<SdDatePicker, keyof SdDatePickerAttributes> & { [K in keyof SdDatePicker & keyof SdDatePickerAttributes]?: SdDatePicker[K] } & { [K in keyof SdDatePicker & keyof SdDatePickerAttributes as `attr:${K}`]?: SdDatePickerAttributes[K] } & { [K in keyof SdDatePicker & keyof SdDatePickerAttributes as `prop:${K}`]?: SdDatePicker[K] };
3640
3790
  "sd-date-range-picker": Omit<SdDateRangePicker, keyof SdDateRangePickerAttributes> & { [K in keyof SdDateRangePicker & keyof SdDateRangePickerAttributes]?: SdDateRangePicker[K] } & { [K in keyof SdDateRangePicker & keyof SdDateRangePickerAttributes as `attr:${K}`]?: SdDateRangePickerAttributes[K] } & { [K in keyof SdDateRangePicker & keyof SdDateRangePickerAttributes as `prop:${K}`]?: SdDateRangePicker[K] };
3791
+ "sd-dropdown-button": Omit<SdDropdownButton, keyof SdDropdownButtonAttributes> & { [K in keyof SdDropdownButton & keyof SdDropdownButtonAttributes]?: SdDropdownButton[K] } & { [K in keyof SdDropdownButton & keyof SdDropdownButtonAttributes as `attr:${K}`]?: SdDropdownButtonAttributes[K] } & { [K in keyof SdDropdownButton & keyof SdDropdownButtonAttributes as `prop:${K}`]?: SdDropdownButton[K] };
3641
3792
  "sd-field": Omit<SdField, keyof SdFieldAttributes> & { [K in keyof SdField & keyof SdFieldAttributes]?: SdField[K] } & { [K in keyof SdField & keyof SdFieldAttributes as `attr:${K}`]?: SdFieldAttributes[K] } & { [K in keyof SdField & keyof SdFieldAttributes as `prop:${K}`]?: SdField[K] };
3642
3793
  "sd-file-picker": Omit<SdFilePicker, keyof SdFilePickerAttributes> & { [K in keyof SdFilePicker & keyof SdFilePickerAttributes]?: SdFilePicker[K] } & { [K in keyof SdFilePicker & keyof SdFilePickerAttributes as `attr:${K}`]?: SdFilePickerAttributes[K] } & { [K in keyof SdFilePicker & keyof SdFilePickerAttributes as `prop:${K}`]?: SdFilePicker[K] };
3643
3794
  "sd-floating-portal": Omit<SdFloatingPortal, keyof SdFloatingPortalAttributes> & { [K in keyof SdFloatingPortal & keyof SdFloatingPortalAttributes]?: SdFloatingPortal[K] } & { [K in keyof SdFloatingPortal & keyof SdFloatingPortalAttributes as `attr:${K}`]?: SdFloatingPortalAttributes[K] } & { [K in keyof SdFloatingPortal & keyof SdFloatingPortalAttributes as `prop:${K}`]?: SdFloatingPortal[K] };
@@ -3678,11 +3829,13 @@ declare module "@stencil/core" {
3678
3829
  interface IntrinsicElements {
3679
3830
  "sd-badge": LocalJSX.IntrinsicElements["sd-badge"] & JSXBase.HTMLAttributes<HTMLSdBadgeElement>;
3680
3831
  "sd-button": LocalJSX.IntrinsicElements["sd-button"] & JSXBase.HTMLAttributes<HTMLSdButtonElement>;
3832
+ "sd-button-v2": LocalJSX.IntrinsicElements["sd-button-v2"] & JSXBase.HTMLAttributes<HTMLSdButtonV2Element>;
3681
3833
  "sd-card": LocalJSX.IntrinsicElements["sd-card"] & JSXBase.HTMLAttributes<HTMLSdCardElement>;
3682
3834
  "sd-checkbox": LocalJSX.IntrinsicElements["sd-checkbox"] & JSXBase.HTMLAttributes<HTMLSdCheckboxElement>;
3683
3835
  "sd-date-box": LocalJSX.IntrinsicElements["sd-date-box"] & JSXBase.HTMLAttributes<HTMLSdDateBoxElement>;
3684
3836
  "sd-date-picker": LocalJSX.IntrinsicElements["sd-date-picker"] & JSXBase.HTMLAttributes<HTMLSdDatePickerElement>;
3685
3837
  "sd-date-range-picker": LocalJSX.IntrinsicElements["sd-date-range-picker"] & JSXBase.HTMLAttributes<HTMLSdDateRangePickerElement>;
3838
+ "sd-dropdown-button": LocalJSX.IntrinsicElements["sd-dropdown-button"] & JSXBase.HTMLAttributes<HTMLSdDropdownButtonElement>;
3686
3839
  "sd-field": LocalJSX.IntrinsicElements["sd-field"] & JSXBase.HTMLAttributes<HTMLSdFieldElement>;
3687
3840
  "sd-file-picker": LocalJSX.IntrinsicElements["sd-file-picker"] & JSXBase.HTMLAttributes<HTMLSdFilePickerElement>;
3688
3841
  "sd-floating-portal": LocalJSX.IntrinsicElements["sd-floating-portal"] & JSXBase.HTMLAttributes<HTMLSdFloatingPortalElement>;
@@ -10,3 +10,5 @@
10
10
  export { format } from './utils/utils';
11
11
  export type * from './components.d.ts';
12
12
  export type { SdTableSortDir, SdTableColumn, Row } from './components/sd-table/sd-table';
13
+ export type { ButtonV2Name, ButtonV2Size, ButtonV2Type, } from './components/sd-button-v2/sd-button-v2.config';
14
+ export type { DropdownButtonItem, DropdownButtonName, DropdownButtonSize, DropdownButtonValue, } from './components/sd-dropdown-button/sd-dropdown-button.config';