@politiet/sheriff-web-components 2.5.1 → 2.6.1

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 (179) hide show
  1. package/custom-elements.json +1774 -1341
  2. package/dist/frameworks/preact.d.ts +12 -3
  3. package/dist/frameworks/preact.d.ts.map +1 -1
  4. package/dist/frameworks/react.d.ts +12 -3
  5. package/dist/frameworks/react.d.ts.map +1 -1
  6. package/dist/frameworks/solidjs.d.ts +3 -0
  7. package/dist/frameworks/solidjs.d.ts.map +1 -1
  8. package/dist/frameworks/svelte.d.ts +3 -0
  9. package/dist/frameworks/svelte.d.ts.map +1 -1
  10. package/dist/frameworks/vue.d.ts +3 -0
  11. package/dist/frameworks/vue.d.ts.map +1 -1
  12. package/dist/index.d.ts +8 -2
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +3 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/mixins/index.d.ts +6 -0
  17. package/dist/mixins/index.d.ts.map +1 -0
  18. package/dist/mixins/index.js +6 -0
  19. package/dist/mixins/index.js.map +1 -0
  20. package/dist/mixins/sds-delegate-interaction-mixin.d.ts +27 -0
  21. package/dist/mixins/sds-delegate-interaction-mixin.d.ts.map +1 -0
  22. package/dist/mixins/sds-delegate-interaction-mixin.js +29 -0
  23. package/dist/mixins/sds-delegate-interaction-mixin.js.map +1 -0
  24. package/dist/mixins/sds-dialog-target-mixin.d.ts +11 -0
  25. package/dist/mixins/sds-dialog-target-mixin.d.ts.map +1 -0
  26. package/dist/mixins/sds-dialog-target-mixin.js +95 -0
  27. package/dist/mixins/sds-dialog-target-mixin.js.map +1 -0
  28. package/dist/mixins/sds-event-dispatcher-mixin.d.ts +1 -2
  29. package/dist/mixins/sds-event-dispatcher-mixin.d.ts.map +1 -1
  30. package/dist/mixins/sds-event-dispatcher-mixin.js.map +1 -1
  31. package/dist/mixins/sds-form-control-mixin.d.ts +14 -0
  32. package/dist/mixins/sds-form-control-mixin.d.ts.map +1 -0
  33. package/dist/mixins/sds-form-control-mixin.js +40 -0
  34. package/dist/mixins/sds-form-control-mixin.js.map +1 -0
  35. package/dist/mixins/sds-popover-target-mixin.d.ts +8 -0
  36. package/dist/mixins/sds-popover-target-mixin.d.ts.map +1 -0
  37. package/dist/mixins/sds-popover-target-mixin.js +77 -0
  38. package/dist/mixins/sds-popover-target-mixin.js.map +1 -0
  39. package/dist/mixins/types.d.ts +2 -0
  40. package/dist/mixins/types.d.ts.map +1 -0
  41. package/dist/mixins/types.js +2 -0
  42. package/dist/mixins/types.js.map +1 -0
  43. package/dist/react-wrappers/SDSPopoverWrapper.d.ts +3 -0
  44. package/dist/react-wrappers/SDSPopoverWrapper.d.ts.map +1 -0
  45. package/dist/react-wrappers/SDSPopoverWrapper.js +10 -0
  46. package/dist/react-wrappers/SDSPopoverWrapper.js.map +1 -0
  47. package/dist/react-wrappers/SDSProcessStepWrapper.d.ts +3 -0
  48. package/dist/react-wrappers/SDSProcessStepWrapper.d.ts.map +1 -0
  49. package/dist/react-wrappers/SDSProcessStepWrapper.js +10 -0
  50. package/dist/react-wrappers/SDSProcessStepWrapper.js.map +1 -0
  51. package/dist/react-wrappers/SDSProcessWrapper.d.ts +3 -0
  52. package/dist/react-wrappers/SDSProcessWrapper.d.ts.map +1 -0
  53. package/dist/react-wrappers/SDSProcessWrapper.js +10 -0
  54. package/dist/react-wrappers/SDSProcessWrapper.js.map +1 -0
  55. package/dist/react-wrappers/index.d.ts +3 -0
  56. package/dist/react-wrappers/index.d.ts.map +1 -1
  57. package/dist/react-wrappers/index.js +3 -0
  58. package/dist/react-wrappers/index.js.map +1 -1
  59. package/dist/sds-alert/sds-alert.component.d.ts +1 -1
  60. package/dist/sds-button/sds-button.component.d.ts +6 -4
  61. package/dist/sds-button/sds-button.component.d.ts.map +1 -1
  62. package/dist/sds-button/sds-button.component.js +27 -15
  63. package/dist/sds-button/sds-button.component.js.map +1 -1
  64. package/dist/sds-checkbox/sds-checkbox.d.ts +8 -19
  65. package/dist/sds-checkbox/sds-checkbox.d.ts.map +1 -1
  66. package/dist/sds-checkbox/sds-checkbox.js +38 -63
  67. package/dist/sds-checkbox/sds-checkbox.js.map +1 -1
  68. package/dist/sds-checkbox/sds-checkbox.styles.d.ts.map +1 -1
  69. package/dist/sds-checkbox/sds-checkbox.styles.js +1 -0
  70. package/dist/sds-checkbox/sds-checkbox.styles.js.map +1 -1
  71. package/dist/sds-checkbox-group/sds-checkbox-group.d.ts +1 -1
  72. package/dist/sds-chip/sds-chip.d.ts +15 -22
  73. package/dist/sds-chip/sds-chip.d.ts.map +1 -1
  74. package/dist/sds-chip/sds-chip.js +28 -40
  75. package/dist/sds-chip/sds-chip.js.map +1 -1
  76. package/dist/sds-chip/sds-chip.styles.js +1 -1
  77. package/dist/sds-chip/sds-chip.styles.js.map +1 -1
  78. package/dist/sds-details/sds-details.d.ts +1 -1
  79. package/dist/sds-dialog/sds-dialog.component.d.ts +56 -0
  80. package/dist/sds-dialog/sds-dialog.component.d.ts.map +1 -0
  81. package/dist/sds-dialog/sds-dialog.component.js +181 -0
  82. package/dist/sds-dialog/sds-dialog.component.js.map +1 -0
  83. package/dist/sds-dialog/sds-dialog.d.ts +2 -49
  84. package/dist/sds-dialog/sds-dialog.d.ts.map +1 -1
  85. package/dist/sds-dialog/sds-dialog.js +2 -145
  86. package/dist/sds-dialog/sds-dialog.js.map +1 -1
  87. package/dist/sds-dialog/sds-dialog.spec.d.ts +2 -0
  88. package/dist/sds-dialog/sds-dialog.spec.d.ts.map +1 -0
  89. package/dist/sds-dialog/sds-dialog.spec.js +50 -0
  90. package/dist/sds-dialog/sds-dialog.spec.js.map +1 -0
  91. package/dist/sds-dialog/sds-dialog.styles.js +4 -4
  92. package/dist/sds-dialog/sds-dialog.styles.js.map +1 -1
  93. package/dist/sds-notification/sds-notification.d.ts +1 -1
  94. package/dist/sds-popover/assets/popover-styles.d.ts +3 -0
  95. package/dist/sds-popover/assets/popover-styles.d.ts.map +1 -0
  96. package/dist/sds-popover/assets/popover-styles.js +3 -0
  97. package/dist/sds-popover/assets/popover-styles.js.map +1 -0
  98. package/dist/sds-popover/assets/positioning.js +1 -0
  99. package/dist/sds-popover/sds-popover.d.ts +25 -0
  100. package/dist/sds-popover/sds-popover.d.ts.map +1 -0
  101. package/dist/sds-popover/sds-popover.js +43 -0
  102. package/dist/sds-popover/sds-popover.js.map +1 -0
  103. package/dist/sds-popover/sds-popover.styles.d.ts +2 -0
  104. package/dist/sds-popover/sds-popover.styles.d.ts.map +1 -0
  105. package/dist/sds-popover/sds-popover.styles.js +52 -0
  106. package/dist/sds-popover/sds-popover.styles.js.map +1 -0
  107. package/dist/sds-process/sds-process.d.ts +20 -0
  108. package/dist/sds-process/sds-process.d.ts.map +1 -0
  109. package/dist/sds-process/sds-process.js +29 -0
  110. package/dist/sds-process/sds-process.js.map +1 -0
  111. package/dist/sds-process/sds-process.styles.d.ts +2 -0
  112. package/dist/sds-process/sds-process.styles.d.ts.map +1 -0
  113. package/dist/sds-process/sds-process.styles.js +8 -0
  114. package/dist/sds-process/sds-process.styles.js.map +1 -0
  115. package/dist/sds-process-step/sds-process-step.d.ts +29 -0
  116. package/dist/sds-process-step/sds-process-step.d.ts.map +1 -0
  117. package/dist/sds-process-step/sds-process-step.js +75 -0
  118. package/dist/sds-process-step/sds-process-step.js.map +1 -0
  119. package/dist/sds-process-step/sds-process-step.styles.d.ts +2 -0
  120. package/dist/sds-process-step/sds-process-step.styles.d.ts.map +1 -0
  121. package/dist/sds-process-step/sds-process-step.styles.js +143 -0
  122. package/dist/sds-process-step/sds-process-step.styles.js.map +1 -0
  123. package/dist/sds-radio/sds-radio.d.ts +14 -20
  124. package/dist/sds-radio/sds-radio.d.ts.map +1 -1
  125. package/dist/sds-radio/sds-radio.js +45 -73
  126. package/dist/sds-radio/sds-radio.js.map +1 -1
  127. package/dist/sds-radio-group/sds-radio-group.d.ts +1 -1
  128. package/dist/sds-select/sds-select.component.d.ts +54 -0
  129. package/dist/sds-select/sds-select.component.d.ts.map +1 -0
  130. package/dist/sds-select/sds-select.component.js +290 -0
  131. package/dist/sds-select/sds-select.component.js.map +1 -0
  132. package/dist/sds-select/sds-select.d.ts +2 -64
  133. package/dist/sds-select/sds-select.d.ts.map +1 -1
  134. package/dist/sds-select/sds-select.js +2 -311
  135. package/dist/sds-select/sds-select.js.map +1 -1
  136. package/dist/sds-select/sds-select.styles.js +1 -1
  137. package/dist/sds-select/sds-select.styles.js.map +1 -1
  138. package/dist/sds-stepper/sds-stepper.d.ts +1 -2
  139. package/dist/sds-stepper/sds-stepper.d.ts.map +1 -1
  140. package/dist/sds-stepper/sds-stepper.js +2 -3
  141. package/dist/sds-stepper/sds-stepper.js.map +1 -1
  142. package/dist/sds-stepper/sds-stepper.styles.d.ts.map +1 -1
  143. package/dist/sds-stepper/sds-stepper.styles.js +2 -1
  144. package/dist/sds-stepper/sds-stepper.styles.js.map +1 -1
  145. package/dist/sds-stepper-step/sds-stepper-step.d.ts +1 -1
  146. package/dist/sds-stepper-step/sds-stepper-step.styles.d.ts.map +1 -1
  147. package/dist/sds-stepper-step/sds-stepper-step.styles.js +7 -5
  148. package/dist/sds-stepper-step/sds-stepper-step.styles.js.map +1 -1
  149. package/dist/sds-switch/sds-switch.d.ts +5 -14
  150. package/dist/sds-switch/sds-switch.d.ts.map +1 -1
  151. package/dist/sds-switch/sds-switch.js +13 -26
  152. package/dist/sds-switch/sds-switch.js.map +1 -1
  153. package/dist/sds-switch/sds-switch.styles.js +1 -1
  154. package/dist/sds-switch/sds-switch.styles.js.map +1 -1
  155. package/dist/sds-textarea/sds-textarea.d.ts +12 -24
  156. package/dist/sds-textarea/sds-textarea.d.ts.map +1 -1
  157. package/dist/sds-textarea/sds-textarea.js +3 -32
  158. package/dist/sds-textarea/sds-textarea.js.map +1 -1
  159. package/dist/sds-textarea/sds-textarea.styles.d.ts.map +1 -1
  160. package/dist/sds-textarea/sds-textarea.styles.js +8 -5
  161. package/dist/sds-textarea/sds-textarea.styles.js.map +1 -1
  162. package/dist/sds-textfield/sds-textfield.d.ts +11 -23
  163. package/dist/sds-textfield/sds-textfield.d.ts.map +1 -1
  164. package/dist/sds-textfield/sds-textfield.js +4 -33
  165. package/dist/sds-textfield/sds-textfield.js.map +1 -1
  166. package/dist/sds-textfield/sds-textfield.spec.js +3 -3
  167. package/dist/sds-textfield/sds-textfield.spec.js.map +1 -1
  168. package/dist/sds-textfield/sds-textfield.styles.d.ts.map +1 -1
  169. package/dist/sds-textfield/sds-textfield.styles.js +5 -1
  170. package/dist/sds-textfield/sds-textfield.styles.js.map +1 -1
  171. package/dist/sheriff-web-components.js +388 -170
  172. package/dist/skill/SKILL.md +172 -0
  173. package/dist/skill/references/components.md +481 -0
  174. package/dist/skill/references/react-wrappers.md +66 -0
  175. package/dist/types.d.ts +1 -0
  176. package/dist/types.d.ts.map +1 -1
  177. package/dist/types.js.map +1 -1
  178. package/package.json +23 -4
  179. package/web-types.json +1559 -840
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sds-form-control-mixin.js","sourceRoot":"","sources":["../../src/mixins/sds-form-control-mixin.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAe7C,MAAM,UAAU,mBAAmB,CAAsC,UAAa;IACrF,MAAM,cAAe,SAAQ,UAAU;QAetC,YAAY,GAAG,IAAW;YACzB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YAJa,aAAQ,GAAY,KAAK,CAAC;YACY,aAAQ,GAAY,KAAK,CAAC;YAI5F,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACzC,CAAC;QAED,IAAI,IAAI;YACP,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC5B,CAAC;QAED,oBAAoB,CAAC,QAAiB;YACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1B,CAAC;;IAzBM,6BAAc,GAAG,IAAI,AAAP,CAAQ;IACtB,gCAAiB,GAAmB;QAC1C,GAAG,UAAU,CAAC,iBAAiB;QAC/B,cAAc,EAAE,IAAI;KACpB,AAHuB,CAGtB;IAMyC;QAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gDAAe;IAC5B;QAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oDAA2B;IACY;QAAlE,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oDAA2B;IAgB9F,OAAO,cAAc,CAAC;AACvB,CAAC","sourcesContent":["import { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { Constructable } from './types';\n\nexport interface SDSFormControlProps {\n name?: string;\n disabled?: boolean;\n readOnly?: boolean;\n}\n\nexport interface SDSFormControlMixinInterface extends SDSFormControlProps {\n readonly internals: ElementInternals;\n readonly form: HTMLFormElement | null;\n formDisabledCallback(disabled: boolean): void;\n}\n\nexport function SDSFormControlMixin<T extends Constructable<LitElement>>(superClass: T): Constructable<SDSFormControlMixinInterface> & T {\n\tclass SDSFormControl extends superClass {\n\t\tstatic formAssociated = true;\n\t\tstatic shadowRootOptions: ShadowRootInit = {\n\t\t\t...LitElement.shadowRootOptions,\n\t\t\tdelegatesFocus: true,\n\t\t};\n\n\t\treadonly internals: ElementInternals;\n\n\t\t// Props\n\t\t// TODO: Add size: Extract<SDS_SIZES, 'lg' | 'md' | 'sm'> once legacy size aliases are removed from sds-chip and sds-switch\n\t\t@property({ type: String, reflect: true }) name?: string;\n\t\t@property({ type: Boolean }) disabled: boolean = false;\n\t\t@property({ type: Boolean, attribute: 'readonly', reflect: true }) readOnly: boolean = false;\n\n\t\tconstructor(...args: any[]) {\n\t\t\tsuper(...args);\n\t\t\tthis.internals = this.attachInternals();\n\t\t}\n\n\t\tget form(): HTMLFormElement | null {\n\t\t\treturn this.internals.form;\n\t\t}\n\n\t\tformDisabledCallback(disabled: boolean): void {\n\t\t\tthis.disabled = disabled;\n\t\t}\n\t}\n\n\treturn SDSFormControl;\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import { LitElement } from 'lit';
2
+ import { Constructable } from './types';
3
+ export interface SDSPopoverTargetMixinInterface {
4
+ popoverTarget?: string;
5
+ popoverTargetAction?: string;
6
+ }
7
+ export declare function SDSPopoverTargetMixin<T extends Constructable<LitElement>>(superClass: T): Constructable<SDSPopoverTargetMixinInterface> & T;
8
+ //# sourceMappingURL=sds-popover-target-mixin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sds-popover-target-mixin.d.ts","sourceRoot":"","sources":["../../src/mixins/sds-popover-target-mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAkB,MAAM,KAAK,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,WAAW,8BAA8B;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,aAAa,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,aAAa,CAAC,8BAA8B,CAAC,GAAG,CAAC,CA8E3I"}
@@ -0,0 +1,77 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { property } from 'lit/decorators.js';
8
+ export function SDSPopoverTargetMixin(superClass) {
9
+ class SDSPopoverTarget extends superClass {
10
+ updated(changed) {
11
+ super.updated(changed);
12
+ if (changed.has('popoverTarget') || changed.has('popoverTargetAction')) {
13
+ this._updatePopoverTarget();
14
+ }
15
+ }
16
+ disconnectedCallback() {
17
+ super.disconnectedCallback();
18
+ this._cleanupPopoverListener();
19
+ }
20
+ _cleanupPopoverListener() {
21
+ if (this._popoverToggleHandler && this._popoverElement) {
22
+ this._popoverElement.removeEventListener('toggle', this._popoverToggleHandler);
23
+ this._popoverToggleHandler = undefined;
24
+ this._popoverElement = undefined;
25
+ }
26
+ }
27
+ _updatePopoverTarget() {
28
+ const button = this.shadowRoot?.querySelector('#control');
29
+ if (!button) {
30
+ return;
31
+ }
32
+ this._cleanupPopoverListener();
33
+ if (this.popoverTarget) {
34
+ const root = this.getRootNode();
35
+ const targetElement = root.getElementById?.(this.popoverTarget) ?? document.getElementById(this.popoverTarget);
36
+ if (targetElement) {
37
+ button.popoverTargetElement = targetElement;
38
+ this._popoverElement = targetElement;
39
+ const targetRole = targetElement.getAttribute('role');
40
+ if (targetRole === 'tooltip') {
41
+ button.setAttribute('aria-describedby', this.popoverTarget);
42
+ }
43
+ else {
44
+ // Auto-toggle aria-expanded when the popover opens/closes
45
+ this._popoverToggleHandler = (e) => {
46
+ const expanded = e.newState === 'open';
47
+ button.setAttribute('aria-expanded', String(expanded));
48
+ };
49
+ targetElement.addEventListener('toggle', this._popoverToggleHandler);
50
+ button.setAttribute('aria-haspopup', targetRole || 'dialog');
51
+ button.setAttribute('aria-expanded', 'false');
52
+ button.setAttribute('aria-controls', this.popoverTarget);
53
+ }
54
+ }
55
+ if (this.popoverTargetAction) {
56
+ button.popoverTargetAction = this.popoverTargetAction;
57
+ }
58
+ }
59
+ else {
60
+ button.popoverTargetElement = null;
61
+ button.popoverTargetAction = '';
62
+ button.removeAttribute('aria-haspopup');
63
+ button.removeAttribute('aria-expanded');
64
+ button.removeAttribute('aria-controls');
65
+ button.removeAttribute('aria-describedby');
66
+ }
67
+ }
68
+ }
69
+ __decorate([
70
+ property({ type: String, attribute: 'popovertarget' })
71
+ ], SDSPopoverTarget.prototype, "popoverTarget", void 0);
72
+ __decorate([
73
+ property({ type: String, attribute: 'popovertargetaction' })
74
+ ], SDSPopoverTarget.prototype, "popoverTargetAction", void 0);
75
+ return SDSPopoverTarget;
76
+ }
77
+ //# sourceMappingURL=sds-popover-target-mixin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sds-popover-target-mixin.js","sourceRoot":"","sources":["../../src/mixins/sds-popover-target-mixin.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, PropertyValues } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { Constructable } from './types';\n\nexport interface SDSPopoverTargetMixinInterface {\n\tpopoverTarget?: string;\n\tpopoverTargetAction?: string;\n}\n\nexport function SDSPopoverTargetMixin<T extends Constructable<LitElement>>(superClass: T): Constructable<SDSPopoverTargetMixinInterface> & T {\n\tclass SDSPopoverTarget extends superClass {\n\t\t@property({ type: String, attribute: 'popovertarget' }) popoverTarget?: string;\n\t\t@property({ type: String, attribute: 'popovertargetaction' }) popoverTargetAction?: string;\n\n\t\tprivate _popoverElement?: Element;\n\t\tprivate _popoverToggleHandler?: EventListener;\n\n\t\toverride updated(changed: PropertyValues) {\n\t\t\tsuper.updated(changed);\n\n\t\t\tif (changed.has('popoverTarget') || changed.has('popoverTargetAction')) {\n\t\t\t\tthis._updatePopoverTarget();\n\t\t\t}\n\t\t}\n\n\t\toverride disconnectedCallback() {\n\t\t\tsuper.disconnectedCallback();\n\t\t\tthis._cleanupPopoverListener();\n\t\t}\n\n\t\tprivate _cleanupPopoverListener() {\n\t\t\tif (this._popoverToggleHandler && this._popoverElement) {\n\t\t\t\tthis._popoverElement.removeEventListener('toggle', this._popoverToggleHandler);\n\t\t\t\tthis._popoverToggleHandler = undefined;\n\t\t\t\tthis._popoverElement = undefined;\n\t\t\t}\n\t\t}\n\n\t\tprivate _updatePopoverTarget() {\n\t\t\tconst button = this.shadowRoot?.querySelector<HTMLButtonElement>('#control');\n\t\t\tif (!button) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._cleanupPopoverListener();\n\n\t\t\tif (this.popoverTarget) {\n\t\t\t\tconst root = this.getRootNode() as Document | ShadowRoot;\n\t\t\t\tconst targetElement = root.getElementById?.(this.popoverTarget) ?? document.getElementById(this.popoverTarget);\n\n\t\t\t\tif (targetElement) {\n\t\t\t\t\tbutton.popoverTargetElement = targetElement;\n\t\t\t\t\tthis._popoverElement = targetElement;\n\n\t\t\t\t\tconst targetRole = targetElement.getAttribute('role');\n\n\t\t\t\t\tif (targetRole === 'tooltip') {\n\t\t\t\t\t\tbutton.setAttribute('aria-describedby', this.popoverTarget);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Auto-toggle aria-expanded when the popover opens/closes\n\t\t\t\t\t\tthis._popoverToggleHandler = (e: Event) => {\n\t\t\t\t\t\t\tconst expanded = (e as ToggleEvent).newState === 'open';\n\t\t\t\t\t\t\tbutton.setAttribute('aria-expanded', String(expanded));\n\t\t\t\t\t\t};\n\t\t\t\t\t\ttargetElement.addEventListener('toggle', this._popoverToggleHandler);\n\n\t\t\t\t\t\tbutton.setAttribute('aria-haspopup', targetRole || 'dialog');\n\t\t\t\t\t\tbutton.setAttribute('aria-expanded', 'false');\n\t\t\t\t\t\tbutton.setAttribute('aria-controls', this.popoverTarget);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (this.popoverTargetAction) {\n\t\t\t\t\tbutton.popoverTargetAction = this.popoverTargetAction;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tbutton.popoverTargetElement = null;\n\t\t\t\tbutton.popoverTargetAction = '';\n\t\t\t\tbutton.removeAttribute('aria-haspopup');\n\t\t\t\tbutton.removeAttribute('aria-expanded');\n\t\t\t\tbutton.removeAttribute('aria-controls');\n\t\t\t\tbutton.removeAttribute('aria-describedby');\n\t\t\t}\n\t\t}\n\t}\n\n\treturn SDSPopoverTarget;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export type Constructable<T = object> = new (...args: any[]) => T;
2
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mixins/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/mixins/types.ts"],"names":[],"mappings":"","sourcesContent":["export type Constructable<T = object> = new (...args: any[]) => T;\n"]}
@@ -0,0 +1,3 @@
1
+ import { SDSPopover } from '../sds-popover/sds-popover';
2
+ export declare const SDSPopoverWrapper: import("@lit/react").ReactWebComponent<SDSPopover, {}>;
3
+ //# sourceMappingURL=SDSPopoverWrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SDSPopoverWrapper.d.ts","sourceRoot":"","sources":["../../src/react-wrappers/SDSPopoverWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,eAAO,MAAM,iBAAiB,wDAK5B,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { createComponent } from '@lit/react';
3
+ import { SDSPopover } from '../sds-popover/sds-popover';
4
+ export const SDSPopoverWrapper = createComponent({
5
+ tagName: 'sds-popover',
6
+ elementClass: SDSPopover,
7
+ react: React,
8
+ events: {},
9
+ });
10
+ //# sourceMappingURL=SDSPopoverWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SDSPopoverWrapper.js","sourceRoot":"","sources":["../../src/react-wrappers/SDSPopoverWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC;IAChD,OAAO,EAAE,aAAa;IACtB,YAAY,EAAE,UAAU;IACxB,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,EAAE;CACV,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport { createComponent } from '@lit/react';\nimport { SDSPopover } from '../sds-popover/sds-popover';\n\nexport const SDSPopoverWrapper = createComponent({\n\ttagName: 'sds-popover',\n\telementClass: SDSPopover,\n\treact: React,\n\tevents: {},\n});\n"]}
@@ -0,0 +1,3 @@
1
+ import { SDSProcessStep } from '../sds-process-step/sds-process-step';
2
+ export declare const SDSProcessStepWrapper: import("@lit/react").ReactWebComponent<SDSProcessStep, {}>;
3
+ //# sourceMappingURL=SDSProcessStepWrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SDSProcessStepWrapper.d.ts","sourceRoot":"","sources":["../../src/react-wrappers/SDSProcessStepWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAEtE,eAAO,MAAM,qBAAqB,4DAKhC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { createComponent } from '@lit/react';
2
+ import React from 'react';
3
+ import { SDSProcessStep } from '../sds-process-step/sds-process-step';
4
+ export const SDSProcessStepWrapper = createComponent({
5
+ tagName: 'sds-process-step',
6
+ elementClass: SDSProcessStep,
7
+ react: React,
8
+ events: {},
9
+ });
10
+ //# sourceMappingURL=SDSProcessStepWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SDSProcessStepWrapper.js","sourceRoot":"","sources":["../../src/react-wrappers/SDSProcessStepWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAEtE,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAe,CAAC;IACpD,OAAO,EAAE,kBAAkB;IAC3B,YAAY,EAAE,cAAc;IAC5B,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,EAAE;CACV,CAAC,CAAC","sourcesContent":["import { createComponent } from '@lit/react';\nimport React from 'react';\nimport { SDSProcessStep } from '../sds-process-step/sds-process-step';\n\nexport const SDSProcessStepWrapper = createComponent({\n\ttagName: 'sds-process-step',\n\telementClass: SDSProcessStep,\n\treact: React,\n\tevents: {},\n});\n"]}
@@ -0,0 +1,3 @@
1
+ import { SDSProcess } from '../sds-process/sds-process';
2
+ export declare const SDSProcessWrapper: import("@lit/react").ReactWebComponent<SDSProcess, {}>;
3
+ //# sourceMappingURL=SDSProcessWrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SDSProcessWrapper.d.ts","sourceRoot":"","sources":["../../src/react-wrappers/SDSProcessWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,eAAO,MAAM,iBAAiB,wDAK5B,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { createComponent } from '@lit/react';
2
+ import React from 'react';
3
+ import { SDSProcess } from '../sds-process/sds-process';
4
+ export const SDSProcessWrapper = createComponent({
5
+ tagName: 'sds-process',
6
+ elementClass: SDSProcess,
7
+ react: React,
8
+ events: {},
9
+ });
10
+ //# sourceMappingURL=SDSProcessWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SDSProcessWrapper.js","sourceRoot":"","sources":["../../src/react-wrappers/SDSProcessWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC;IAChD,OAAO,EAAE,aAAa;IACtB,YAAY,EAAE,UAAU;IACxB,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,EAAE;CACV,CAAC,CAAC","sourcesContent":["import { createComponent } from '@lit/react';\nimport React from 'react';\nimport { SDSProcess } from '../sds-process/sds-process';\n\nexport const SDSProcessWrapper = createComponent({\n\ttagName: 'sds-process',\n\telementClass: SDSProcess,\n\treact: React,\n\tevents: {},\n});\n"]}
@@ -10,6 +10,9 @@ export { SDSHeadingWrapper } from './SDSHeadingWrapper';
10
10
  export { SDSIconWrapper } from './SDSIconWrapper';
11
11
  export { SDSLoaderWrapper } from './SDSLoaderWrapper';
12
12
  export { SDSNotificationWrapper } from './SDSNotificationWrapper';
13
+ export { SDSProcessWrapper } from './SDSProcessWrapper';
14
+ export { SDSProcessStepWrapper } from './SDSProcessStepWrapper';
15
+ export { SDSPopoverWrapper } from './SDSPopoverWrapper';
13
16
  export { SDSRadioGroupWrapper } from './SDSRadioGroupWrapper';
14
17
  export { SDSRadioWrapper } from './SDSRadioWrapper';
15
18
  export { SDSSelectWrapper } from './SDSSelectWrapper';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react-wrappers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react-wrappers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -10,6 +10,9 @@ export { SDSHeadingWrapper } from './SDSHeadingWrapper';
10
10
  export { SDSIconWrapper } from './SDSIconWrapper';
11
11
  export { SDSLoaderWrapper } from './SDSLoaderWrapper';
12
12
  export { SDSNotificationWrapper } from './SDSNotificationWrapper';
13
+ export { SDSProcessWrapper } from './SDSProcessWrapper';
14
+ export { SDSProcessStepWrapper } from './SDSProcessStepWrapper';
15
+ export { SDSPopoverWrapper } from './SDSPopoverWrapper';
13
16
  export { SDSRadioGroupWrapper } from './SDSRadioGroupWrapper';
14
17
  export { SDSRadioWrapper } from './SDSRadioWrapper';
15
18
  export { SDSSelectWrapper } from './SDSSelectWrapper';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react-wrappers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC","sourcesContent":["export { SDSAlertWrapper } from './SDSAlertWrapper';\nexport { SDSButtonWrapper } from './SDSButtonWrapper';\nexport { SDSCardWrapper } from './SDSCardWrapper';\nexport { SDSCheckboxGroupWrapper } from './SDSCheckboxGroupWrapper';\nexport { SDSCheckboxWrapper } from './SDSCheckboxWrapper';\nexport { SDSChipWrapper } from './SDSChipWrapper';\nexport { SDSDialogWrapper } from './SDSDialogWrapper';\nexport { SDSDetailsWrapper } from './SDSDetailsWrapper';\nexport { SDSHeadingWrapper } from './SDSHeadingWrapper';\nexport { SDSIconWrapper } from './SDSIconWrapper';\nexport { SDSLoaderWrapper } from './SDSLoaderWrapper';\nexport { SDSNotificationWrapper } from './SDSNotificationWrapper';\nexport { SDSRadioGroupWrapper } from './SDSRadioGroupWrapper';\nexport { SDSRadioWrapper } from './SDSRadioWrapper';\nexport { SDSSelectWrapper } from './SDSSelectWrapper';\nexport { SDSStepperWrapper } from './SDSStepperWrapper';\nexport { SDSStepperStepWrapper } from './SDSStepperStepWrapper';\nexport { SDSSwitchWrapper } from './SDSSwitchWrapper';\nexport { SDSTagWrapper } from './SDSTagWrapper';\nexport { SDSTextAreaWrapper } from './SDSTextAreaWrapper';\nexport { SDSTextFieldWrapper } from './SDSTextFieldWrapper';\nexport { SDSTextWrapper } from './SDSTextWrapper';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react-wrappers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC","sourcesContent":["export { SDSAlertWrapper } from './SDSAlertWrapper';\nexport { SDSButtonWrapper } from './SDSButtonWrapper';\nexport { SDSCardWrapper } from './SDSCardWrapper';\nexport { SDSCheckboxGroupWrapper } from './SDSCheckboxGroupWrapper';\nexport { SDSCheckboxWrapper } from './SDSCheckboxWrapper';\nexport { SDSChipWrapper } from './SDSChipWrapper';\nexport { SDSDialogWrapper } from './SDSDialogWrapper';\nexport { SDSDetailsWrapper } from './SDSDetailsWrapper';\nexport { SDSHeadingWrapper } from './SDSHeadingWrapper';\nexport { SDSIconWrapper } from './SDSIconWrapper';\nexport { SDSLoaderWrapper } from './SDSLoaderWrapper';\nexport { SDSNotificationWrapper } from './SDSNotificationWrapper';\nexport { SDSProcessWrapper } from './SDSProcessWrapper';\nexport { SDSProcessStepWrapper } from './SDSProcessStepWrapper';\nexport { SDSPopoverWrapper } from './SDSPopoverWrapper';\nexport { SDSRadioGroupWrapper } from './SDSRadioGroupWrapper';\nexport { SDSRadioWrapper } from './SDSRadioWrapper';\nexport { SDSSelectWrapper } from './SDSSelectWrapper';\nexport { SDSStepperWrapper } from './SDSStepperWrapper';\nexport { SDSStepperStepWrapper } from './SDSStepperStepWrapper';\nexport { SDSSwitchWrapper } from './SDSSwitchWrapper';\nexport { SDSTagWrapper } from './SDSTagWrapper';\nexport { SDSTextAreaWrapper } from './SDSTextAreaWrapper';\nexport { SDSTextFieldWrapper } from './SDSTextFieldWrapper';\nexport { SDSTextWrapper } from './SDSTextWrapper';\n"]}
@@ -9,7 +9,7 @@ export interface SDSAlertProps {
9
9
  size?: AlertSize;
10
10
  'removable-label'?: string;
11
11
  }
12
- declare const SDSAlertComponent_base: (new (...args: any[]) => import("../mixins/sds-event-dispatcher-mixin").SDSEventDispatcherMixinInterface) & typeof LitElement;
12
+ declare const SDSAlertComponent_base: import("../mixins/types").Constructable<import("../mixins/sds-event-dispatcher-mixin").SDSEventDispatcherMixinInterface> & typeof LitElement;
13
13
  export declare class SDSAlertComponent extends SDSAlertComponent_base {
14
14
  static styles: import("lit").CSSResult[];
15
15
  variant: Variants;
@@ -5,19 +5,23 @@ type ButtonVariant = SDS_VARIANTS | 'critical';
5
5
  type ButtonSize = 'large' | 'medium' | 'small' | Extract<SDS_SIZES, 'lg' | 'md' | 'sm'>;
6
6
  type TargetTypes = '_self' | '_blank' | '_parent' | '_top';
7
7
  export interface SDSButtonProps {
8
+ command?: 'close' | 'request-close' | 'show-modal';
9
+ commandFor?: string;
8
10
  disabled?: boolean;
9
11
  form?: string;
10
12
  href?: string;
11
13
  icon?: boolean;
12
14
  loading?: boolean;
13
15
  name?: string;
16
+ popoverTarget?: string;
17
+ popoverTargetAction?: string;
14
18
  size?: ButtonSize;
15
19
  target?: TargetTypes;
16
20
  type?: ButtonType;
17
21
  value?: string;
18
22
  variant?: ButtonVariant;
19
23
  }
20
- declare const SDSButtonComponent_base: (new (...args: any[]) => import("../mixins/sds-event-dispatcher-mixin").SDSEventDispatcherMixinInterface) & typeof LitElement;
24
+ declare const SDSButtonComponent_base: import("../mixins/types").Constructable<import("../mixins/sds-dialog-target-mixin").SDSDialogTargetMixinInterface> & import("../mixins/types").Constructable<import("../mixins/sds-popover-target-mixin").SDSPopoverTargetMixinInterface> & import("../mixins/types").Constructable<import("../mixins/sds-delegate-interaction-mixin").DelegateInteractionMixinInterface> & import("../mixins/types").Constructable<import("../mixins/sds-event-dispatcher-mixin").SDSEventDispatcherMixinInterface> & typeof LitElement;
21
25
  export declare class SDSButtonComponent extends SDSButtonComponent_base {
22
26
  static styles: import("lit").CSSResult[];
23
27
  static formAssociated: boolean;
@@ -34,12 +38,10 @@ export declare class SDSButtonComponent extends SDSButtonComponent_base {
34
38
  type: ButtonType;
35
39
  value: string;
36
40
  variant: ButtonVariant;
41
+ control: HTMLButtonElement;
37
42
  constructor();
38
43
  updated(changed: PropertyValues): void;
39
44
  private readonly _handleClick;
40
- focus(): void;
41
- blur(): void;
42
- click(): void;
43
45
  render(): import("lit-html").TemplateResult<1>;
44
46
  }
45
47
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"sds-button.component.d.ts","sourceRoot":"","sources":["../../src/sds-button/sds-button.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAiB,MAAM,KAAK,CAAC;AAIhE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAInD,KAAK,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAChD,KAAK,aAAa,GAAG,YAAY,GAAG,UAAU,CAAC;AAC/C,KAAK,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AACxF,KAAK,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,aAAa,CAAC;CACxB;;AAED,qBAAa,kBAAmB,SAAQ,uBAAmC;IAC1E,OAAgB,MAAM,4BAAY;IAElC,MAAM,CAAC,cAAc,UAAQ;IAC7B,SAAgB,SAAS,EAAE,gBAAgB,CAAC;IAE5C,OAAgB,iBAAiB,EAAE,cAAc,CAG/C;IAE0C,QAAQ,EAAE,OAAO,CAAS;IAC1B,IAAI,EAAE,OAAO,CAAS;IACtB,OAAO,EAAE,OAAO,CAAS;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAQ;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,EAAE,UAAU,CAAY;IAC5B,KAAK,EAAE,MAAM,CAAM;IACnB,OAAO,EAAE,aAAa,CAAa;;IAOrE,OAAO,CAAC,OAAO,EAAE,cAAc;IAOxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAwC3B;IAEO,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI;IAIZ,KAAK,IAAI,IAAI;IAIb,MAAM;CA+Bf"}
1
+ {"version":3,"file":"sds-button.component.d.ts","sourceRoot":"","sources":["../../src/sds-button/sds-button.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAiB,MAAM,KAAK,CAAC;AAIhE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAInD,KAAK,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAChD,KAAK,aAAa,GAAG,YAAY,GAAG,UAAU,CAAC;AAC/C,KAAK,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AACxF,KAAK,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC9B,OAAO,CAAC,EAAE,OAAO,GAAG,eAAe,GAAG,YAAY,CAAC;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,aAAa,CAAC;CACxB;;AAED,qBAAa,kBAAmB,SAAQ,uBAA6G;IACpJ,OAAgB,MAAM,4BAAY;IAElC,MAAM,CAAC,cAAc,UAAQ;IAC7B,SAAgB,SAAS,EAAE,gBAAgB,CAAC;IAE5C,OAAgB,iBAAiB,EAAE,cAAc,CAG/C;IAE0C,QAAQ,EAAE,OAAO,CAAS;IAC1B,IAAI,EAAE,OAAO,CAAS;IACtB,OAAO,EAAE,OAAO,CAAS;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAQ;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,EAAE,UAAU,CAAY;IAC5B,KAAK,EAAE,MAAM,CAAM;IACnB,OAAO,EAAE,aAAa,CAAa;IAE3D,OAAO,EAAG,iBAAiB,CAAC;;IAOtC,OAAO,CAAC,OAAO,EAAE,cAAc;IASxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CA8D3B;IAEO,MAAM;CA+Bf"}
@@ -5,12 +5,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { LitElement, html, nothing } from 'lit';
8
- import { property } from 'lit/decorators.js';
8
+ import { property, query } from 'lit/decorators.js';
9
9
  import { classMap } from 'lit/directives/class-map.js';
10
10
  import { ifDefined } from 'lit/directives/if-defined.js';
11
11
  import { styles } from './sds-button.styles';
12
- import { SDSEventDispatcherMixin } from '../mixins/sds-event-dispatcher-mixin';
13
- export class SDSButtonComponent extends SDSEventDispatcherMixin(LitElement) {
12
+ import { SDSEventDispatcherMixin, SDSDelegateInteractionMixin, SDSDialogTargetMixin, SDSPopoverTargetMixin } from '../mixins';
13
+ export class SDSButtonComponent extends SDSDialogTargetMixin(SDSPopoverTargetMixin(SDSDelegateInteractionMixin(SDSEventDispatcherMixin(LitElement)))) {
14
14
  constructor() {
15
15
  super();
16
16
  this.disabled = false;
@@ -21,6 +21,26 @@ export class SDSButtonComponent extends SDSEventDispatcherMixin(LitElement) {
21
21
  this.value = '';
22
22
  this.variant = 'primary';
23
23
  this._handleClick = (event) => {
24
+ // For popover triggers, let the browser handle the toggle natively.
25
+ // Stop propagation and re-dispatch a composed click for listeners on the host.
26
+ if (this.popoverTarget) {
27
+ event.stopImmediatePropagation();
28
+ if (!this.disabled) {
29
+ this.dispatchSheriffEvent('click');
30
+ }
31
+ return;
32
+ }
33
+ // For dialog commands, emulate the native commandfor/command behavior on the host.
34
+ // Stop propagation and re-dispatch a composed click for listeners on the host.
35
+ if (this.commandFor && this.command) {
36
+ event.preventDefault();
37
+ event.stopImmediatePropagation();
38
+ if (!this.disabled) {
39
+ this.runDialogCommand();
40
+ this.dispatchSheriffEvent('click');
41
+ }
42
+ return;
43
+ }
24
44
  event.preventDefault();
25
45
  event.stopImmediatePropagation();
26
46
  if (!this.disabled) {
@@ -61,23 +81,12 @@ export class SDSButtonComponent extends SDSEventDispatcherMixin(LitElement) {
61
81
  this.internals = this.attachInternals();
62
82
  }
63
83
  updated(changed) {
84
+ super.updated(changed);
64
85
  // Cast critical variant to danger palette to prevent breaking changes
65
86
  if (changed.has('variant') && this.variant === 'critical') {
66
87
  this.setAttribute('data-palette', 'danger');
67
88
  }
68
89
  }
69
- focus() {
70
- if (!this.disabled)
71
- this.shadowRoot?.querySelector('button')?.focus();
72
- }
73
- blur() {
74
- if (!this.disabled)
75
- this.shadowRoot?.querySelector('button')?.blur();
76
- }
77
- click() {
78
- if (!this.disabled)
79
- this.shadowRoot?.querySelector('button')?.click();
80
- }
81
90
  render() {
82
91
  const buttonClasses = {
83
92
  'sds-button': true,
@@ -147,4 +156,7 @@ __decorate([
147
156
  __decorate([
148
157
  property({ type: String, reflect: true })
149
158
  ], SDSButtonComponent.prototype, "variant", void 0);
159
+ __decorate([
160
+ query('#control')
161
+ ], SDSButtonComponent.prototype, "control", void 0);
150
162
  //# sourceMappingURL=sds-button.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sds-button.component.js","sourceRoot":"","sources":["../../src/sds-button/sds-button.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, PropertyValues, html, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { SDS_SIZES, SDS_VARIANTS } from '../types';\nimport { styles } from './sds-button.styles';\nimport { SDSEventDispatcherMixin } from '../mixins/sds-event-dispatcher-mixin';\n\ntype ButtonType = 'button' | 'submit' | 'reset';\ntype ButtonVariant = SDS_VARIANTS | 'critical';\ntype ButtonSize = 'large' | 'medium' | 'small' | Extract<SDS_SIZES, 'lg' | 'md' | 'sm'>;\ntype TargetTypes = '_self' | '_blank' | '_parent' | '_top';\n\nexport interface SDSButtonProps {\n\tdisabled?: boolean;\n\tform?: string;\n\thref?: string;\n\ticon?: boolean;\n\tloading?: boolean;\n\tname?: string;\n\tsize?: ButtonSize;\n\ttarget?: TargetTypes;\n\ttype?: ButtonType;\n\tvalue?: string;\n\tvariant?: ButtonVariant;\n}\n\nexport class SDSButtonComponent extends SDSEventDispatcherMixin(LitElement) {\n\tstatic override styles = [styles];\n\n\tstatic formAssociated = true;\n\tpublic readonly internals: ElementInternals;\n\n\tstatic override shadowRootOptions: ShadowRootInit = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true,\n\t};\n\n\t@property({ type: Boolean, reflect: true }) disabled: boolean = false;\n\t@property({ type: Boolean, reflect: true }) icon: boolean = false;\n\t@property({ type: Boolean, reflect: true }) loading: boolean = false;\n\t@property({ type: String, reflect: true }) form?: string;\n\t@property({ type: String, reflect: true }) href?: string;\n\t@property({ type: String, reflect: true }) name?: string;\n\t@property({ type: String, reflect: true }) size: ButtonSize = 'lg';\n\t@property({ type: String, reflect: true }) target?: TargetTypes;\n\t@property({ type: String, reflect: true }) type: ButtonType = 'button';\n\t@property({ type: String, reflect: true }) value: string = '';\n\t@property({ type: String, reflect: true }) variant: ButtonVariant = 'primary';\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.internals = this.attachInternals();\n\t}\n\n\toverride updated(changed: PropertyValues) {\n\t\t// Cast critical variant to danger palette to prevent breaking changes\n\t\tif (changed.has('variant') && this.variant === 'critical') {\n\t\t\tthis.setAttribute('data-palette', 'danger');\n\t\t}\n\t}\n\n\tprivate readonly _handleClick = (event: MouseEvent) => {\n\t\tevent.preventDefault();\n\t\tevent.stopImmediatePropagation();\n\n\t\tif (!this.disabled) {\n\t\t\tswitch (this.type) {\n\t\t\t\tcase 'submit': {\n\t\t\t\t\tconst shouldSubmit = this.dispatchSheriffEvent('submit');\n\n\t\t\t\t\tif (shouldSubmit) {\n\t\t\t\t\t\tif (this.form) {\n\t\t\t\t\t\t\tconst root = this.getRootNode() as Document | ShadowRoot;\n\t\t\t\t\t\t\tconst formElement: HTMLFormElement | null = root.querySelector(`form#${this.form}`);\n\t\t\t\t\t\t\tformElement?.requestSubmit();\n\t\t\t\t\t\t} else if (this.internals.form) {\n\t\t\t\t\t\t\tthis.internals.form.requestSubmit();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'reset': {\n\t\t\t\t\tconst shouldReset = this.dispatchSheriffEvent('reset');\n\n\t\t\t\t\tif (shouldReset) {\n\t\t\t\t\t\tif (this.form) {\n\t\t\t\t\t\t\tconst root = this.getRootNode() as Document | ShadowRoot;\n\t\t\t\t\t\t\tconst formElement: HTMLFormElement | null = root.querySelector(`form#${this.form}`);\n\t\t\t\t\t\t\tformElement?.reset();\n\t\t\t\t\t\t} else if (this.internals.form) {\n\t\t\t\t\t\t\tthis.internals.form.reset();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tdefault:\n\t\t\t\t\tthis.dispatchSheriffEvent('click');\n\t\t\t}\n\t\t}\n\t};\n\n\toverride focus(): void {\n\t\tif (!this.disabled) this.shadowRoot?.querySelector('button')?.focus();\n\t}\n\n\toverride blur(): void {\n\t\tif (!this.disabled) this.shadowRoot?.querySelector('button')?.blur();\n\t}\n\n\toverride click(): void {\n\t\tif (!this.disabled) this.shadowRoot?.querySelector('button')?.click();\n\t}\n\n\toverride render() {\n\t\tconst buttonClasses = {\n\t\t\t'sds-button': true,\n\t\t\t'sds-button--as-link': !!this.href,\n\t\t};\n\n\t\tif (this.href) {\n\t\t\treturn html` <a id=\"link\" class=\"${classMap(buttonClasses)}\" href=\"${this.href}\" target=\"${ifDefined(this.target)}\">\n\t\t\t\t<slot name=\"before\"></slot>\n\t\t\t\t<slot></slot>\n\t\t\t\t<slot name=\"after\"></slot>\n\t\t\t</a>`;\n\t\t}\n\n\t\treturn html`\n\t\t\t<button\n\t\t\t\tid=\"control\"\n\t\t\t\tform=\"${ifDefined(this.form)}\"\n\t\t\t\tclass=\"${classMap(buttonClasses)}\"\n\t\t\t\ttype=\"${this.type}\"\n\t\t\t\tname=\"${ifDefined(this.name)}\"\n\t\t\t\tvalue=\"${ifDefined(this.value)}\"\n\t\t\t\t?disabled=\"${this.disabled}\"\n\t\t\t\t@click=\"${this._handleClick}\"\n\t\t\t>\n\t\t\t\t${this.loading ? html`<sds-loader slot=\"before\" ?contrast=\"${this.variant !== 'primary'}\"></sds-loader>` : nothing} ${this.loading ? nothing : html`<slot name=\"before\"></slot>`}\n\t\t\t\t<slot></slot>\n\t\t\t\t${this.loading ? nothing : html`<slot name=\"after\"></slot>`}\n\t\t\t</button>\n\t\t`;\n\t}\n}\n"]}
1
+ {"version":3,"file":"sds-button.component.js","sourceRoot":"","sources":["../../src/sds-button/sds-button.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, PropertyValues, html, nothing } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { SDS_SIZES, SDS_VARIANTS } from '../types';\nimport { styles } from './sds-button.styles';\nimport { SDSEventDispatcherMixin, SDSDelegateInteractionMixin, SDSDialogTargetMixin, SDSPopoverTargetMixin } from '../mixins';\n\ntype ButtonType = 'button' | 'submit' | 'reset';\ntype ButtonVariant = SDS_VARIANTS | 'critical';\ntype ButtonSize = 'large' | 'medium' | 'small' | Extract<SDS_SIZES, 'lg' | 'md' | 'sm'>;\ntype TargetTypes = '_self' | '_blank' | '_parent' | '_top';\n\nexport interface SDSButtonProps {\n\tcommand?: 'close' | 'request-close' | 'show-modal';\n\tcommandFor?: string;\n\tdisabled?: boolean;\n\tform?: string;\n\thref?: string;\n\ticon?: boolean;\n\tloading?: boolean;\n\tname?: string;\n\tpopoverTarget?: string;\n\tpopoverTargetAction?: string;\n\tsize?: ButtonSize;\n\ttarget?: TargetTypes;\n\ttype?: ButtonType;\n\tvalue?: string;\n\tvariant?: ButtonVariant;\n}\n\nexport class SDSButtonComponent extends SDSDialogTargetMixin(SDSPopoverTargetMixin(SDSDelegateInteractionMixin(SDSEventDispatcherMixin(LitElement)))) {\n\tstatic override styles = [styles];\n\n\tstatic formAssociated = true;\n\tpublic readonly internals: ElementInternals;\n\n\tstatic override shadowRootOptions: ShadowRootInit = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true,\n\t};\n\n\t@property({ type: Boolean, reflect: true }) disabled: boolean = false;\n\t@property({ type: Boolean, reflect: true }) icon: boolean = false;\n\t@property({ type: Boolean, reflect: true }) loading: boolean = false;\n\t@property({ type: String, reflect: true }) form?: string;\n\t@property({ type: String, reflect: true }) href?: string;\n\t@property({ type: String, reflect: true }) name?: string;\n\t@property({ type: String, reflect: true }) size: ButtonSize = 'lg';\n\t@property({ type: String, reflect: true }) target?: TargetTypes;\n\t@property({ type: String, reflect: true }) type: ButtonType = 'button';\n\t@property({ type: String, reflect: true }) value: string = '';\n\t@property({ type: String, reflect: true }) variant: ButtonVariant = 'primary';\n\n\t@query('#control') control!: HTMLButtonElement;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.internals = this.attachInternals();\n\t}\n\n\toverride updated(changed: PropertyValues) {\n\t\tsuper.updated(changed);\n\n\t\t// Cast critical variant to danger palette to prevent breaking changes\n\t\tif (changed.has('variant') && this.variant === 'critical') {\n\t\t\tthis.setAttribute('data-palette', 'danger');\n\t\t}\n\t}\n\n\tprivate readonly _handleClick = (event: MouseEvent) => {\n\t\t// For popover triggers, let the browser handle the toggle natively.\n\t\t// Stop propagation and re-dispatch a composed click for listeners on the host.\n\t\tif (this.popoverTarget) {\n\t\t\tevent.stopImmediatePropagation();\n\t\t\tif (!this.disabled) {\n\t\t\t\tthis.dispatchSheriffEvent('click');\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// For dialog commands, emulate the native commandfor/command behavior on the host.\n\t\t// Stop propagation and re-dispatch a composed click for listeners on the host.\n\t\tif (this.commandFor && this.command) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopImmediatePropagation();\n\t\t\tif (!this.disabled) {\n\t\t\t\tthis.runDialogCommand();\n\t\t\t\tthis.dispatchSheriffEvent('click');\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tevent.stopImmediatePropagation();\n\n\t\tif (!this.disabled) {\n\t\t\tswitch (this.type) {\n\t\t\t\tcase 'submit': {\n\t\t\t\t\tconst shouldSubmit = this.dispatchSheriffEvent('submit');\n\n\t\t\t\t\tif (shouldSubmit) {\n\t\t\t\t\t\tif (this.form) {\n\t\t\t\t\t\t\tconst root = this.getRootNode() as Document | ShadowRoot;\n\t\t\t\t\t\t\tconst formElement: HTMLFormElement | null = root.querySelector(`form#${this.form}`);\n\t\t\t\t\t\t\tformElement?.requestSubmit();\n\t\t\t\t\t\t} else if (this.internals.form) {\n\t\t\t\t\t\t\tthis.internals.form.requestSubmit();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'reset': {\n\t\t\t\t\tconst shouldReset = this.dispatchSheriffEvent('reset');\n\n\t\t\t\t\tif (shouldReset) {\n\t\t\t\t\t\tif (this.form) {\n\t\t\t\t\t\t\tconst root = this.getRootNode() as Document | ShadowRoot;\n\t\t\t\t\t\t\tconst formElement: HTMLFormElement | null = root.querySelector(`form#${this.form}`);\n\t\t\t\t\t\t\tformElement?.reset();\n\t\t\t\t\t\t} else if (this.internals.form) {\n\t\t\t\t\t\t\tthis.internals.form.reset();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tdefault:\n\t\t\t\t\tthis.dispatchSheriffEvent('click');\n\t\t\t}\n\t\t}\n\t};\n\n\toverride render() {\n\t\tconst buttonClasses = {\n\t\t\t'sds-button': true,\n\t\t\t'sds-button--as-link': !!this.href,\n\t\t};\n\n\t\tif (this.href) {\n\t\t\treturn html` <a id=\"link\" class=\"${classMap(buttonClasses)}\" href=\"${this.href}\" target=\"${ifDefined(this.target)}\">\n\t\t\t\t<slot name=\"before\"></slot>\n\t\t\t\t<slot></slot>\n\t\t\t\t<slot name=\"after\"></slot>\n\t\t\t</a>`;\n\t\t}\n\n\t\treturn html`\n\t\t\t<button\n\t\t\t\tid=\"control\"\n\t\t\t\tform=\"${ifDefined(this.form)}\"\n\t\t\t\tclass=\"${classMap(buttonClasses)}\"\n\t\t\t\ttype=\"${this.type}\"\n\t\t\t\tname=\"${ifDefined(this.name)}\"\n\t\t\t\tvalue=\"${ifDefined(this.value)}\"\n\t\t\t\t?disabled=\"${this.disabled}\"\n\t\t\t\t@click=\"${this._handleClick}\"\n\t\t\t>\n\t\t\t\t${this.loading ? html`<sds-loader slot=\"before\" ?contrast=\"${this.variant !== 'primary'}\"></sds-loader>` : nothing} ${this.loading ? nothing : html`<slot name=\"before\"></slot>`}\n\t\t\t\t<slot></slot>\n\t\t\t\t${this.loading ? nothing : html`<slot name=\"after\"></slot>`}\n\t\t\t</button>\n\t\t`;\n\t}\n}\n"]}
@@ -1,42 +1,35 @@
1
1
  import { LitElement, PropertyValues } from 'lit';
2
2
  import { SDS_SIZES } from '../types';
3
+ import type { SDSFormControlProps } from '../mixins/sds-form-control-mixin';
3
4
  type CheckboxSize = Extract<SDS_SIZES, 'lg' | 'md' | 'sm'>;
4
- export interface SDSCheckboxProps {
5
- name?: string;
5
+ export interface SDSCheckboxProps extends SDSFormControlProps {
6
6
  label?: string;
7
7
  value?: string;
8
8
  checked?: boolean;
9
- disabled?: boolean;
10
9
  error?: boolean;
11
10
  required?: boolean;
12
- readonly?: boolean;
13
11
  size?: CheckboxSize;
14
12
  'help-text'?: string;
15
13
  parentRequestDisabled?: boolean;
16
14
  }
17
- declare const SDSCheckbox_base: (new (...args: any[]) => import("../mixins/sds-event-dispatcher-mixin").SDSEventDispatcherMixinInterface) & typeof LitElement;
15
+ declare const SDSCheckbox_base: import("../mixins/types").Constructable<import("../mixins/sds-delegate-interaction-mixin").DelegateInteractionMixinInterface> & import("../mixins/types").Constructable<import("../mixins/sds-event-dispatcher-mixin").SDSEventDispatcherMixinInterface> & import("../mixins/types").Constructable<import("../mixins/sds-form-control-mixin").SDSFormControlMixinInterface> & typeof LitElement;
18
16
  export declare class SDSCheckbox extends SDSCheckbox_base {
19
17
  static styles: import("lit").CSSResult[];
20
- static formAssociated: boolean;
21
- readonly internals: ElementInternals;
22
- static shadowRootOptions: ShadowRootInit;
23
- name?: string;
24
18
  label?: string;
25
19
  value?: string;
26
20
  checked: boolean;
21
+ error: boolean;
22
+ required: boolean;
23
+ size: CheckboxSize;
24
+ helpText?: string;
27
25
  /**
28
26
  * disabled:
29
27
  * - If set directly (prop/attr), this checkbox becomes "self-controlled"
30
28
  * and ignores parentRequestDisabled.
31
29
  * - If not self-controlled, this follows parentRequestDisabled (group/form).
32
- */
30
+ */
33
31
  get disabled(): SDSCheckboxProps['disabled'];
34
32
  set disabled(value: SDSCheckboxProps['disabled']);
35
- error: boolean;
36
- required: boolean;
37
- size: CheckboxSize;
38
- helpText?: string;
39
- readOnly: boolean;
40
33
  /**
41
34
  * parentRequestDisabled:
42
35
  * - Set by SDSCheckboxGroup to request disabled/enabled.
@@ -50,7 +43,6 @@ export declare class SDSCheckbox extends SDSCheckbox_base {
50
43
  private _settingDisabledFromParent;
51
44
  private _parentRequestDisabled;
52
45
  private _initialChecked;
53
- constructor();
54
46
  connectedCallback(): void;
55
47
  firstUpdated(_changedProperties: PropertyValues): void;
56
48
  formResetCallback(): void;
@@ -58,9 +50,6 @@ export declare class SDSCheckbox extends SDSCheckbox_base {
58
50
  private readonly _handleChange;
59
51
  private readonly _handleFocus;
60
52
  private readonly _handleBlur;
61
- focus(): void;
62
- blur(): void;
63
- click(): void;
64
53
  updated(changedProperties: Map<string | number | symbol, unknown>): void;
65
54
  get type(): string;
66
55
  render(): import("lit-html").TemplateResult<1>;
@@ -1 +1 @@
1
- {"version":3,"file":"sds-checkbox.d.ts","sourceRoot":"","sources":["../../src/sds-checkbox/sds-checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAiB,MAAM,KAAK,CAAC;AAMhE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGrC,KAAK,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAChC;;AAED,qBACa,WAAY,SAAQ,gBAAmC;IAEnE,OAAgB,MAAM,4BAAY;IAElC,MAAM,CAAC,cAAc,UAAQ;IAC7B,SAAgB,SAAS,EAAE,gBAAgB,CAAC;IAE5C,OAAgB,iBAAiB,EAAE,cAAc,CAG/C;IAGyC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACC,OAAO,UAAS;IAE5D;;;;;OAKG;IACH,IACI,QAAQ,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAE3C;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAY/C;IAE2C,KAAK,UAAS;IACd,QAAQ,UAAS;IAClB,IAAI,EAAE,YAAY,CAAQ;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IACH,QAAQ,EAAE,OAAO,CAAS;IAE7F;;;;OAIG;IACH,IACI,qBAAqB,IAAI,gBAAgB,CAAC,uBAAuB,CAAC,CAErE;IACD,IAAI,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,EAczE;IAEkB,OAAO,EAAG,gBAAgB,CAAC;IAE9C,OAAO,CAAC,SAAS,CAAuC;IACxD,OAAO,CAAC,2BAA2B,CAAS;IAC5C,OAAO,CAAC,0BAA0B,CAAS;IAC3C,OAAO,CAAC,sBAAsB,CAAoD;IAClF,OAAO,CAAC,eAAe,CAAkB;;IAOhC,iBAAiB;IAUjB,YAAY,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;IAQ/D,iBAAiB;IAUjB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAa5B;IAEF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAG3B;IAEF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAG1B;IAEO,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI;IAIZ,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC;IAgB1E,IAAI,IAAI,IAAI,MAAM,CAEjB;IAEQ,MAAM;CAiCf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,cAAc,EAAE,WAAW,CAAC;KAC5B;CACD"}
1
+ {"version":3,"file":"sds-checkbox.d.ts","sourceRoot":"","sources":["../../src/sds-checkbox/sds-checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAiB,MAAM,KAAK,CAAC;AAMhE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,KAAK,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AAE3D,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAChC;;AAED,qBACa,WAAY,SAAQ,gBAAqF;IAErH,OAAgB,MAAM,4BAAY;IAGS,KAAK,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACC,OAAO,UAAS;IAChB,KAAK,UAAS;IACd,QAAQ,UAAS;IAClB,IAAI,EAAE,YAAY,CAAQ;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGtE;;;;;MAKE;IACF,IACa,QAAQ,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAEpD;IACD,IAAa,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAYxD;IAED;;;;OAIG;IACH,IACI,qBAAqB,IAAI,gBAAgB,CAAC,uBAAuB,CAAC,CAErE;IACD,IAAI,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,EAczE;IAEkB,OAAO,EAAG,gBAAgB,CAAC;IAE9C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,2BAA2B,CAAS;IAC5C,OAAO,CAAC,0BAA0B,CAAS;IAC3C,OAAO,CAAC,sBAAsB,CAAoD;IAClF,OAAO,CAAC,eAAe,CAAkB;IAEhC,iBAAiB;IAUjB,YAAY,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;IAQ/D,iBAAiB;IAUjB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAa5B;IAEF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAG3B;IAEF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAG1B;IAEO,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC;IAgB1E,IAAI,IAAI,IAAI,MAAM,CAEjB;IAEQ,MAAM;CAiCf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,cAAc,EAAE,WAAW,CAAC;KAC5B;CACD"}