@govtechsg/sgds-web-component 3.17.1-rc.0 → 3.18.0

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 (115) hide show
  1. package/base/card-element.d.ts +1 -0
  2. package/base/card-element.js +14 -0
  3. package/base/card-element.js.map +1 -1
  4. package/base/card.js +1 -1
  5. package/components/Breadcrumb/index.umd.min.js +10 -16
  6. package/components/Breadcrumb/index.umd.min.js.map +1 -1
  7. package/components/Card/index.umd.min.js +2 -2
  8. package/components/Card/index.umd.min.js.map +1 -1
  9. package/components/Card/sgds-card.js +3 -9
  10. package/components/Card/sgds-card.js.map +1 -1
  11. package/components/ComboBox/index.umd.min.js +1 -1
  12. package/components/ComboBox/index.umd.min.js.map +1 -1
  13. package/components/Datepicker/index.umd.min.js +1 -1
  14. package/components/Datepicker/index.umd.min.js.map +1 -1
  15. package/components/Dropdown/dropdown-menu.js +1 -1
  16. package/components/Dropdown/dropdown.js +1 -1
  17. package/components/Dropdown/index.umd.min.js +3 -9
  18. package/components/Dropdown/index.umd.min.js.map +1 -1
  19. package/components/Dropdown/sgds-dropdown.js +19 -11
  20. package/components/Dropdown/sgds-dropdown.js.map +1 -1
  21. package/components/IconCard/index.umd.min.js +3 -3
  22. package/components/IconCard/index.umd.min.js.map +1 -1
  23. package/components/IconCard/sgds-icon-card.js +3 -9
  24. package/components/IconCard/sgds-icon-card.js.map +1 -1
  25. package/components/ImageCard/index.umd.min.js +2 -2
  26. package/components/ImageCard/index.umd.min.js.map +1 -1
  27. package/components/ImageCard/sgds-image-card.js +3 -9
  28. package/components/ImageCard/sgds-image-card.js.map +1 -1
  29. package/components/Mainnav/index.umd.min.js +10 -16
  30. package/components/Mainnav/index.umd.min.js.map +1 -1
  31. package/components/OverflowMenu/index.umd.min.js +3 -9
  32. package/components/OverflowMenu/index.umd.min.js.map +1 -1
  33. package/components/Select/index.umd.min.js +1 -1
  34. package/components/Select/index.umd.min.js.map +1 -1
  35. package/components/Stepper/index.d.ts +0 -2
  36. package/components/Stepper/index.js +0 -2
  37. package/components/Stepper/index.js.map +1 -1
  38. package/components/Stepper/index.umd.min.js +23 -47
  39. package/components/Stepper/index.umd.min.js.map +1 -1
  40. package/components/Stepper/sgds-stepper.d.ts +2 -23
  41. package/components/Stepper/sgds-stepper.js +11 -79
  42. package/components/Stepper/sgds-stepper.js.map +1 -1
  43. package/components/Stepper/stepper.js +1 -1
  44. package/components/Stepper/types.d.ts +0 -1
  45. package/components/ThumbnailCard/index.umd.min.js +5 -5
  46. package/components/ThumbnailCard/index.umd.min.js.map +1 -1
  47. package/components/ThumbnailCard/sgds-thumbnail-card.js +6 -9
  48. package/components/ThumbnailCard/sgds-thumbnail-card.js.map +1 -1
  49. package/components/index.umd.min.js +9 -17
  50. package/components/index.umd.min.js.map +1 -1
  51. package/css/fouc.css +0 -1
  52. package/custom-elements.json +99 -201
  53. package/index.umd.min.js +43 -73
  54. package/index.umd.min.js.map +1 -1
  55. package/package.json +1 -1
  56. package/react/base/card-element.cjs.js +14 -0
  57. package/react/base/card-element.cjs.js.map +1 -1
  58. package/react/base/card-element.js +14 -0
  59. package/react/base/card-element.js.map +1 -1
  60. package/react/base/card.cjs.js +1 -1
  61. package/react/base/card.js +1 -1
  62. package/react/components/Card/sgds-card.cjs.js +3 -9
  63. package/react/components/Card/sgds-card.cjs.js.map +1 -1
  64. package/react/components/Card/sgds-card.js +3 -9
  65. package/react/components/Card/sgds-card.js.map +1 -1
  66. package/react/components/Dropdown/dropdown-menu.cjs.js +1 -1
  67. package/react/components/Dropdown/dropdown-menu.js +1 -1
  68. package/react/components/Dropdown/dropdown.cjs.js +1 -1
  69. package/react/components/Dropdown/dropdown.js +1 -1
  70. package/react/components/Dropdown/sgds-dropdown.cjs.js +19 -11
  71. package/react/components/Dropdown/sgds-dropdown.cjs.js.map +1 -1
  72. package/react/components/Dropdown/sgds-dropdown.js +19 -11
  73. package/react/components/Dropdown/sgds-dropdown.js.map +1 -1
  74. package/react/components/IconCard/sgds-icon-card.cjs.js +3 -9
  75. package/react/components/IconCard/sgds-icon-card.cjs.js.map +1 -1
  76. package/react/components/IconCard/sgds-icon-card.js +3 -9
  77. package/react/components/IconCard/sgds-icon-card.js.map +1 -1
  78. package/react/components/ImageCard/sgds-image-card.cjs.js +3 -9
  79. package/react/components/ImageCard/sgds-image-card.cjs.js.map +1 -1
  80. package/react/components/ImageCard/sgds-image-card.js +3 -9
  81. package/react/components/ImageCard/sgds-image-card.js.map +1 -1
  82. package/react/components/Stepper/sgds-stepper.cjs.js +10 -78
  83. package/react/components/Stepper/sgds-stepper.cjs.js.map +1 -1
  84. package/react/components/Stepper/sgds-stepper.js +11 -79
  85. package/react/components/Stepper/sgds-stepper.js.map +1 -1
  86. package/react/components/Stepper/stepper.cjs.js +1 -1
  87. package/react/components/Stepper/stepper.js +1 -1
  88. package/react/components/ThumbnailCard/sgds-thumbnail-card.cjs.js +6 -9
  89. package/react/components/ThumbnailCard/sgds-thumbnail-card.cjs.js.map +1 -1
  90. package/react/components/ThumbnailCard/sgds-thumbnail-card.js +6 -9
  91. package/react/components/ThumbnailCard/sgds-thumbnail-card.js.map +1 -1
  92. package/react/index.cjs.js +38 -40
  93. package/react/index.cjs.js.map +1 -1
  94. package/react/index.d.ts +0 -1
  95. package/react/index.js +0 -1
  96. package/react/index.js.map +1 -1
  97. package/types/react.d.ts +3 -18
  98. package/components/Stepper/sgds-step.d.ts +0 -42
  99. package/components/Stepper/sgds-step.js +0 -118
  100. package/components/Stepper/sgds-step.js.map +0 -1
  101. package/components/Stepper/step.js +0 -6
  102. package/components/Stepper/step.js.map +0 -1
  103. package/react/components/Stepper/sgds-step.cjs.js +0 -124
  104. package/react/components/Stepper/sgds-step.cjs.js.map +0 -1
  105. package/react/components/Stepper/sgds-step.js +0 -119
  106. package/react/components/Stepper/sgds-step.js.map +0 -1
  107. package/react/components/Stepper/step.cjs.js +0 -11
  108. package/react/components/Stepper/step.cjs.js.map +0 -1
  109. package/react/components/Stepper/step.js +0 -7
  110. package/react/components/Stepper/step.js.map +0 -1
  111. package/react/step/index.cjs.js +0 -40
  112. package/react/step/index.cjs.js.map +0 -1
  113. package/react/step/index.d.ts +0 -2
  114. package/react/step/index.js +0 -16
  115. package/react/step/index.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { __decorate } from 'tslib';
3
3
  import { html } from 'lit';
4
- import { property, queryAssignedElements } from 'lit/decorators.js';
4
+ import { property } from 'lit/decorators.js';
5
5
  import { classMap } from 'lit/directives/class-map.js';
6
6
  import SgdsElement from '../../base/sgds-element.js';
7
7
  import { defaultValue } from '../../utils/defaultvalue.js';
@@ -18,14 +18,13 @@ import { SgdsIcon } from '../Icon/sgds-icon.js';
18
18
  * @event sgds-first-step - Emitted on hide after animation has completed. Event is fired when firstStep method is called.
19
19
  * @event sgds-arrived - Emitted right after the activeStep has updated its state, when upcoming step has arrived. Call `getMethod()` on this event to get the current step's component.
20
20
  * @event sgds-reset - Emitted right before the step is reset to its defaultActiveStep. Event is fired when reset method is called.
21
- * @slot default - slot for sgds-step children
22
21
  *
23
22
  */
24
23
  class SgdsStepper extends SgdsElement {
25
24
  constructor() {
26
25
  super(...arguments);
27
- /** The metadata of stepper, type `IStepMetaData`. Deprecated: use sgds-step child components instead.
28
- * @deprecated Use sgds-step child components instead of the steps property
26
+ /** The metadata of stepper, type `IStepMetaData`, that consist of `stepHeader: string`, `component:unknown`, `iconName:string`. `stepHeader` is the name of the step and `component` is the content that should appear at the each step. `component` is set to `unknown` to allow users to pass in their desired component based on the framework of choice. e.g. pass in your own react/angular/vue component or it can also be a text content.
27
+ * It is required to populate this array to properly render the stepper. By default, stepper markers will render numbers. For icon stepper markers, pass the name of sgds icon via `iconName` key. `iconName` is optional.
29
28
  */
30
29
  this.steps = [];
31
30
  /** The current state of active step. Defaults to 0 */
@@ -34,56 +33,17 @@ class SgdsStepper extends SgdsElement {
34
33
  this.orientation = "horizontal";
35
34
  /** When true, the stepper's steps will be clickable */
36
35
  this.clickable = false;
37
- /** When true, the stepper's steps can only be clicked in a linear manner */
38
- this.linear = false;
39
36
  /** @internal Gets or sets the default activeStep used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */
40
37
  this.defaultActiveStep = 0;
41
- this._totalSteps = 0;
42
- /** @internal Bound i-sgds-click handler for proper event listener removal */
43
- this._boundHandleItemClick = this._handleStepClick.bind(this);
44
- }
45
- connectedCallback() {
46
- super.connectedCallback();
47
- this._totalSteps = this.steps.length;
48
- this.addEventListener("i-sgds-click", this._boundHandleItemClick);
49
- }
50
- /** @internal */
51
- _handleSlotChange() {
52
- this._items = this._slotNodes;
53
- this._totalSteps = this._items.length;
54
- this._updateStepItems();
55
- }
56
- /** @internal Updates step item properties based on active step and clickable state */
57
- _updateStepItems() {
58
- if (this._items && this._items.length > 0) {
59
- this._items.forEach((item, index) => {
60
- item.stepIndex = index;
61
- item.active = this.activeStep === index;
62
- item._isCompleted = item.completed || this.activeStep > index;
63
- item.isClickable = this.linear
64
- ? !item.disabled && this.clickable && (this.activeStep - 1 == index || this.activeStep + 1 == index)
65
- : !item.disabled && this.clickable;
66
- item.orientation = this.orientation;
67
- if (this._items.length > 1) {
68
- item.isFirstOfType = index === 0;
69
- item.classList.toggle("last", index === this._items.length - 1);
70
- }
71
- });
72
- }
73
38
  }
74
39
  /** By default, it returns the corresponding component of the current activeStep as defined in the steps metadata. To get other components, pass in your desired step number as the parameter*/
75
40
  getComponent(step = this.activeStep) {
76
- var _a, _b;
77
- const items = this._slotNodes.length > 1 ? this._items : this.steps;
78
- if (items && items.length > 0) {
79
- return (_a = items[step]) === null || _a === void 0 ? void 0 : _a.component;
80
- }
81
- return (_b = this.steps[step]) === null || _b === void 0 ? void 0 : _b.component;
41
+ return this.steps[step].component;
82
42
  }
83
43
  /** Moves the active step forward one step */
84
44
  nextStep() {
85
45
  this.emit("sgds-next-step");
86
- if (this.activeStep < this._totalSteps - 1) {
46
+ if (this.activeStep < this.steps.length - 1) {
87
47
  this.activeStep++;
88
48
  }
89
49
  }
@@ -97,8 +57,8 @@ class SgdsStepper extends SgdsElement {
97
57
  /** Changes the active step to the last step */
98
58
  lastStep() {
99
59
  this.emit("sgds-last-step");
100
- if (this.activeStep !== this._totalSteps - 1) {
101
- this.activeStep = this._totalSteps - 1;
60
+ if (this.activeStep !== this.steps.length - 1) {
61
+ this.activeStep = this.steps.length - 1;
102
62
  }
103
63
  }
104
64
  /** Changes active step to the first step */
@@ -115,35 +75,21 @@ class SgdsStepper extends SgdsElement {
115
75
  }
116
76
  /**@internal */
117
77
  _onStepperItemClick(index) {
118
- this.activeStep = index;
78
+ //emit an event before moving to next step
79
+ if (this.activeStep > index) {
80
+ this.activeStep = index;
81
+ }
119
82
  }
120
83
  /**@internal */
121
84
  _handleActiveStepChange() {
122
- this._updateStepItems();
123
85
  this.emit("sgds-arrived");
124
86
  }
125
87
  /**@internal */
126
- _handleClickableChange() {
127
- this._updateStepItems();
128
- }
129
- /**@internal */
130
- _handleOrientationChange() {
131
- this._updateStepItems();
132
- }
133
- /**@internal */
134
88
  _handleKeyDown(event, index) {
135
89
  if (event.key === "Enter") {
136
90
  this._onStepperItemClick(index);
137
91
  }
138
92
  }
139
- /**@internal */
140
- _handleStepClick(e) {
141
- var _a;
142
- const event = e;
143
- e.stopPropagation();
144
- const stepIndex = (_a = event.detail) === null || _a === void 0 ? void 0 : _a.stepIndex;
145
- this._onStepperItemClick(stepIndex);
146
- }
147
93
  render() {
148
94
  return html `
149
95
  <div
@@ -152,8 +98,6 @@ class SgdsStepper extends SgdsElement {
152
98
  clickable: this.clickable
153
99
  })}"
154
100
  >
155
- <slot @slotchange=${this._handleSlotChange}></slot>
156
-
157
101
  ${this.steps.map(({ stepHeader: step, iconName }, index) => {
158
102
  return html `
159
103
  <div class="stepper-item-container">
@@ -196,24 +140,12 @@ __decorate([
196
140
  __decorate([
197
141
  property({ type: Boolean, reflect: true })
198
142
  ], SgdsStepper.prototype, "clickable", void 0);
199
- __decorate([
200
- property({ type: Boolean, reflect: true })
201
- ], SgdsStepper.prototype, "linear", void 0);
202
143
  __decorate([
203
144
  defaultValue("activeStep")
204
145
  ], SgdsStepper.prototype, "defaultActiveStep", void 0);
205
- __decorate([
206
- queryAssignedElements()
207
- ], SgdsStepper.prototype, "_slotNodes", void 0);
208
146
  __decorate([
209
147
  watch("activeStep", { waitUntilFirstUpdate: true })
210
148
  ], SgdsStepper.prototype, "_handleActiveStepChange", null);
211
- __decorate([
212
- watch("clickable", { waitUntilFirstUpdate: true })
213
- ], SgdsStepper.prototype, "_handleClickableChange", null);
214
- __decorate([
215
- watch("orientation", { waitUntilFirstUpdate: true })
216
- ], SgdsStepper.prototype, "_handleOrientationChange", null);
217
149
 
218
150
  export { SgdsStepper, SgdsStepper as default };
219
151
  //# sourceMappingURL=sgds-stepper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sgds-stepper.js","sources":["../../../../src/components/Stepper/sgds-stepper.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { property, queryAssignedElements } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport { watch } from \"../../utils/watch\";\nimport stepperStyle from \"./stepper.css\";\nimport SgdsIcon from \"../Icon/sgds-icon\";\nimport { IStepMetaData } from \"./types\";\nimport type SgdsStep from \"./sgds-step\";\nexport type { IStepMetaData };\n\n/**\n * @summary Steppers are used to inform users which step they are at in a form or a process\n *\n * @event sgds-next-step - Emitted right before the next step is reached. Event is fired when nextStep method is called.\n * @event sgds-previous-step - Emitted right before the previous step is reached. Event is fired when previousStep method is called.\n * @event sgds-last-step - Emitted right before the last step is reached. Event is fired when lastStep method is called.\n * @event sgds-first-step - Emitted on hide after animation has completed. Event is fired when firstStep method is called.\n * @event sgds-arrived - Emitted right after the activeStep has updated its state, when upcoming step has arrived. Call `getMethod()` on this event to get the current step's component.\n * @event sgds-reset - Emitted right before the step is reset to its defaultActiveStep. Event is fired when reset method is called.\n * @slot default - slot for sgds-step children\n *\n */\nexport class SgdsStepper extends SgdsElement {\n static styles = [...SgdsElement.styles, stepperStyle];\n /** @internal */\n static dependencies = { \"sgds-icon\": SgdsIcon };\n /** The metadata of stepper, type `IStepMetaData`. Deprecated: use sgds-step child components instead.\n * @deprecated Use sgds-step child components instead of the steps property\n */\n @property({ type: Array })\n steps: IStepMetaData[] = [];\n\n /** The current state of active step. Defaults to 0 */\n @property({ type: Number, reflect: true })\n activeStep = 0;\n\n /** The orientation of stepper. By default, the stepper is of horizontal orientation */\n @property({ type: String, reflect: true }) orientation: StepperOrientation = \"horizontal\";\n\n /** When true, the stepper's steps will be clickable */\n @property({ type: Boolean, reflect: true }) clickable = false;\n\n /** When true, the stepper's steps can only be clicked in a linear manner */\n @property({ type: Boolean, reflect: true }) linear = false;\n\n /** @internal Gets or sets the default activeStep used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue(\"activeStep\")\n defaultActiveStep = 0;\n\n /** @internal */\n @queryAssignedElements() private _slotNodes!: SgdsStep[];\n\n /** @internal */\n private _items!: SgdsStep[];\n private _totalSteps = 0;\n\n /** @internal Bound i-sgds-click handler for proper event listener removal */\n private _boundHandleItemClick = this._handleStepClick.bind(this);\n\n connectedCallback() {\n super.connectedCallback();\n\n this._totalSteps = this.steps.length;\n this.addEventListener(\"i-sgds-click\", this._boundHandleItemClick);\n }\n\n /** @internal */\n private _handleSlotChange() {\n this._items = this._slotNodes;\n this._totalSteps = this._items.length;\n\n this._updateStepItems();\n }\n\n /** @internal Updates step item properties based on active step and clickable state */\n private _updateStepItems() {\n if (this._items && this._items.length > 0) {\n this._items.forEach((item, index) => {\n item.stepIndex = index;\n item.active = this.activeStep === index;\n item._isCompleted = item.completed || this.activeStep > index;\n item.isClickable = this.linear\n ? !item.disabled && this.clickable && (this.activeStep - 1 == index || this.activeStep + 1 == index)\n : !item.disabled && this.clickable;\n item.orientation = this.orientation;\n\n if (this._items.length > 1) {\n item.isFirstOfType = index === 0;\n item.classList.toggle(\"last\", index === this._items.length - 1);\n }\n });\n }\n }\n\n /** By default, it returns the corresponding component of the current activeStep as defined in the steps metadata. To get other components, pass in your desired step number as the parameter*/\n public getComponent(step: number = this.activeStep) {\n const items = this._slotNodes.length > 1 ? this._items : this.steps;\n if (items && items.length > 0) {\n return items[step]?.component;\n }\n return this.steps[step]?.component;\n }\n\n /** Moves the active step forward one step */\n public nextStep() {\n this.emit(\"sgds-next-step\");\n if (this.activeStep < this._totalSteps - 1) {\n this.activeStep++;\n }\n }\n\n /** Moves the active step back one step */\n public previousStep() {\n this.emit(\"sgds-previous-step\");\n\n if (this.activeStep > 0) {\n this.activeStep--;\n }\n }\n\n /** Changes the active step to the last step */\n public lastStep() {\n this.emit(\"sgds-last-step\");\n if (this.activeStep !== this._totalSteps - 1) {\n this.activeStep = this._totalSteps - 1;\n }\n }\n\n /** Changes active step to the first step */\n public firstStep() {\n this.emit(\"sgds-first-step\");\n if (this.activeStep > 0) {\n this.activeStep = 0;\n }\n }\n\n /** Resets the Stepper to its initial active step state */\n public reset() {\n this.emit(\"sgds-reset\");\n this.activeStep = this.defaultActiveStep;\n }\n\n /**@internal */\n _onStepperItemClick(index: number) {\n this.activeStep = index;\n }\n\n /**@internal */\n @watch(\"activeStep\", { waitUntilFirstUpdate: true })\n _handleActiveStepChange() {\n this._updateStepItems();\n this.emit(\"sgds-arrived\");\n }\n\n /**@internal */\n @watch(\"clickable\", { waitUntilFirstUpdate: true })\n _handleClickableChange() {\n this._updateStepItems();\n }\n\n /**@internal */\n @watch(\"orientation\", { waitUntilFirstUpdate: true })\n _handleOrientationChange() {\n this._updateStepItems();\n }\n\n /**@internal */\n _handleKeyDown(event: KeyboardEvent, index: number) {\n if (event.key === \"Enter\") {\n this._onStepperItemClick(index);\n }\n }\n\n /**@internal */\n _handleStepClick(e: Event) {\n const event = e as CustomEvent;\n e.stopPropagation();\n\n const stepIndex = event.detail?.stepIndex;\n this._onStepperItemClick(stepIndex);\n }\n\n render() {\n return html`\n <div\n class=\"stepper ${classMap({\n [`${this.orientation}`]: this.orientation,\n clickable: this.clickable\n })}\"\n >\n <slot @slotchange=${this._handleSlotChange}></slot>\n\n ${this.steps.map(({ stepHeader: step, iconName }, index) => {\n return html`\n <div class=\"stepper-item-container\">\n <div\n class=\"stepper-item ${classMap({\n \"is-active\": this.activeStep === index,\n \"is-completed\": this.activeStep > index,\n \"is-clickable\": this.clickable && this.activeStep > index\n })}\"\n tabindex=${this.clickable && this.activeStep > index ? \"0\" : \"-1\"}\n aria-current=${this.activeStep === index ? \"step\" : \"false\"}\n aria-disabled=${this.activeStep <= index ? \"true\" : \"false\"}\n @click=\"${this.clickable ? () => this._onStepperItemClick(index) : null}\"\n @keydown=${this.clickable ? (e: KeyboardEvent) => this._handleKeyDown(e, index) : null}\n >\n <div class=\"stepper-marker\">\n ${iconName ? html`<sgds-icon name=${iconName} size=\"md\"></sgds-icon>` : index + 1}\n </div>\n <div class=\"stepper-detail\">${step}</div>\n </div>\n </div>\n `;\n })}\n </div>\n `;\n }\n}\n\nexport type StepperOrientation = \"horizontal\" | \"vertical\";\n\nexport default SgdsStepper;\n"],"names":["stepperStyle"],"mappings":"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"}
1
+ {"version":3,"file":"sgds-stepper.js","sources":["../../../../src/components/Stepper/sgds-stepper.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport { watch } from \"../../utils/watch\";\nimport stepperStyle from \"./stepper.css\";\nimport SgdsIcon from \"../Icon/sgds-icon\";\nimport { IStepMetaData } from \"./types\";\nexport type { IStepMetaData };\n/**\n * @summary Steppers are used to inform users which step they are at in a form or a process\n *\n * @event sgds-next-step - Emitted right before the next step is reached. Event is fired when nextStep method is called.\n * @event sgds-previous-step - Emitted right before the previous step is reached. Event is fired when previousStep method is called.\n * @event sgds-last-step - Emitted right before the last step is reached. Event is fired when lastStep method is called.\n * @event sgds-first-step - Emitted on hide after animation has completed. Event is fired when firstStep method is called.\n * @event sgds-arrived - Emitted right after the activeStep has updated its state, when upcoming step has arrived. Call `getMethod()` on this event to get the current step's component.\n * @event sgds-reset - Emitted right before the step is reset to its defaultActiveStep. Event is fired when reset method is called.\n *\n */\nexport class SgdsStepper extends SgdsElement {\n static styles = [...SgdsElement.styles, stepperStyle];\n /** @internal */\n static dependencies = { \"sgds-icon\": SgdsIcon };\n /** The metadata of stepper, type `IStepMetaData`, that consist of `stepHeader: string`, `component:unknown`, `iconName:string`. `stepHeader` is the name of the step and `component` is the content that should appear at the each step. `component` is set to `unknown` to allow users to pass in their desired component based on the framework of choice. e.g. pass in your own react/angular/vue component or it can also be a text content.\n * It is required to populate this array to properly render the stepper. By default, stepper markers will render numbers. For icon stepper markers, pass the name of sgds icon via `iconName` key. `iconName` is optional.\n */\n @property({ type: Array })\n steps: IStepMetaData[] = [];\n\n /** The current state of active step. Defaults to 0 */\n @property({ type: Number, reflect: true })\n activeStep = 0;\n\n /** The orientation of stepper. By default, the stepper is of horizontal orientation */\n @property({ type: String, reflect: true }) orientation: StepperOrientation = \"horizontal\";\n\n /** When true, the stepper's steps will be clickable */\n @property({ type: Boolean, reflect: true }) clickable = false;\n\n /** @internal Gets or sets the default activeStep used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue(\"activeStep\")\n defaultActiveStep = 0;\n\n /** By default, it returns the corresponding component of the current activeStep as defined in the steps metadata. To get other components, pass in your desired step number as the parameter*/\n public getComponent(step: number = this.activeStep) {\n return this.steps[step].component;\n }\n /** Moves the active step forward one step */\n public nextStep() {\n this.emit(\"sgds-next-step\");\n if (this.activeStep < this.steps.length - 1) {\n this.activeStep++;\n }\n }\n\n /** Moves the active step back one step */\n public previousStep() {\n this.emit(\"sgds-previous-step\");\n\n if (this.activeStep > 0) {\n this.activeStep--;\n }\n }\n\n /** Changes the active step to the last step */\n public lastStep() {\n this.emit(\"sgds-last-step\");\n if (this.activeStep !== this.steps.length - 1) {\n this.activeStep = this.steps.length - 1;\n }\n }\n\n /** Changes active step to the first step */\n public firstStep() {\n this.emit(\"sgds-first-step\");\n if (this.activeStep > 0) {\n this.activeStep = 0;\n }\n }\n\n /** Resets the Stepper to its initial active step state */\n public reset() {\n this.emit(\"sgds-reset\");\n this.activeStep = this.defaultActiveStep;\n }\n\n /**@internal */\n _onStepperItemClick(index: number) {\n //emit an event before moving to next step\n if (this.activeStep > index) {\n this.activeStep = index;\n }\n }\n\n /**@internal */\n @watch(\"activeStep\", { waitUntilFirstUpdate: true })\n _handleActiveStepChange() {\n this.emit(\"sgds-arrived\");\n }\n\n /**@internal */\n _handleKeyDown(event: KeyboardEvent, index: number) {\n if (event.key === \"Enter\") {\n this._onStepperItemClick(index);\n }\n }\n\n render() {\n return html`\n <div\n class=\"stepper ${classMap({\n [`${this.orientation}`]: this.orientation,\n clickable: this.clickable\n })}\"\n >\n ${this.steps.map(({ stepHeader: step, iconName }, index) => {\n return html`\n <div class=\"stepper-item-container\">\n <div\n class=\"stepper-item ${classMap({\n \"is-active\": this.activeStep === index,\n \"is-completed\": this.activeStep > index,\n \"is-clickable\": this.clickable && this.activeStep > index\n })}\"\n tabindex=${this.clickable && this.activeStep > index ? \"0\" : \"-1\"}\n aria-current=${this.activeStep === index ? \"step\" : \"false\"}\n aria-disabled=${this.activeStep <= index ? \"true\" : \"false\"}\n @click=\"${this.clickable ? () => this._onStepperItemClick(index) : null}\"\n @keydown=${this.clickable ? (e: KeyboardEvent) => this._handleKeyDown(e, index) : null}\n >\n <div class=\"stepper-marker\">\n ${iconName ? html`<sgds-icon name=${iconName} size=\"md\"></sgds-icon>` : index + 1}\n </div>\n <div class=\"stepper-detail\">${step}</div>\n </div>\n </div>\n `;\n })}\n </div>\n `;\n }\n}\n\nexport type StepperOrientation = \"horizontal\" | \"vertical\";\n\nexport default SgdsStepper;\n"],"names":["stepperStyle"],"mappings":"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"}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var lit = require('lit');
7
7
 
8
- var css_248z = lit.css`.stepper{display:flex;flex-wrap:wrap}.stepper.vertical{flex-direction:column}.stepper.horizontal .stepper-item-container{align-items:center;display:flex;flex-basis:1em;flex-direction:column;flex-grow:1;flex-shrink:1;position:relative}.stepper.vertical .stepper-item-container{position:relative;width:fit-content}.stepper .stepper-item{align-items:center;display:flex;flex-direction:column;gap:var(--sgds-gap-sm)}.stepper.vertical .stepper-item{align-items:flex-start;flex-direction:row}.stepper.vertical .stepper-item-container:not(:last-child) .stepper-item{margin-bottom:var(--sgds-padding-xl)}.stepper .stepper-item.is-clickable:focus-visible{outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}.stepper.horizontal .stepper-item-container:not(:first-of-type) .stepper-item:before{background:var(--sgds-border-color-translucent);bottom:0;content:" ";height:var(--sgds-dimension-2);left:calc(-50% + 16px);position:absolute;top:15px;width:calc(100% - var(--sgds-dimension-32))}.stepper.vertical .stepper-item-container:not(:last-child) .stepper-item:after{background:var(--sgds-bg-translucent);bottom:0;content:" ";height:calc(100% - var(--sgds-dimension-32));left:15px;position:absolute;top:32px;width:var(--sgds-dimension-2)}.stepper.horizontal .stepper-item-container .stepper-item.is-active:before,.stepper.horizontal .stepper-item-container .stepper-item.is-completed:before,.stepper.vertical .stepper-item-container .stepper-item.is-completed:after{background:var(--sgds-primary-border-color-default)}.stepper .stepper-item.is-clickable{cursor:pointer}.stepper .stepper-marker{align-items:center;background:var(--sgds-bg-translucent);border:var(--sgds-border-width-2) solid var(--sgds-border-color-transparent);border-radius:50%;color:var(--sgds-color-default);display:flex;height:var(--sgds-dimension-32);justify-content:center;width:var(--sgds-dimension-32);z-index:1}.stepper:not(.vertical) .stepper-detail{max-width:var(--sgds-dimension-128);text-align:center}.stepper.vertical .stepper-detail{padding:var(--sgds-padding-2-xs) 0 0;text-align:left}.stepper .stepper-item:not(.is-active):not(.is-completed) .stepper-detail{color:var(--sgds-color-subtle)}.stepper .stepper-item.is-clickable:focus .stepper-marker,.stepper .stepper-item.is-clickable:focus-visible .stepper-marker,.stepper .stepper-item.is-clickable:hover .stepper-marker{background-color:var(--sgds-primary-surface-emphasis);border-color:var(--sgds-border-color-transparent);color:var(--sgds-color-fixed-light)}.stepper .stepper-item.is-clickable:focus .stepper-detail,.stepper .stepper-item.is-clickable:focus-visible .stepper-detail,.stepper .stepper-item.is-clickable:hover .stepper-detail{color:var(--sgds-primary-color-emphasis)}.stepper .stepper-item.is-clickable .stepper-detail,.stepper.clickable .stepper-item.is-active .stepper-detail{color:var(--sgds-primary-color-default)}.stepper .stepper-item.is-active .stepper-marker{background-color:var(--sgds-primary-surface-default);color:var(--sgds-color-fixed-light)}.stepper .stepper-item.is-completed .stepper-marker{background-color:var(--sgds-bg-transparent);border:var(--sgds-border-width-2) solid var(--sgds-primary-border-color-default);color:var(--sgds-primary-color-default)}`;
8
+ var css_248z = lit.css`.stepper{display:flex;flex-wrap:wrap}.stepper.vertical{flex-direction:column}.stepper.horizontal .stepper-item-container{align-items:center;display:flex;flex-basis:1em;flex-direction:column;flex-grow:1;flex-shrink:1;position:relative}.stepper.vertical .stepper-item-container{position:relative;width:fit-content}.stepper .stepper-item{align-items:center;display:flex;flex-direction:column;gap:var(--sgds-gap-sm)}.stepper.vertical .stepper-item{align-items:flex-start;flex-direction:row}.stepper.vertical .stepper-item-container:not(:last-child) .stepper-item{margin-bottom:var(--sgds-padding-xl)}.stepper .stepper-item.is-clickable:focus-visible{outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}.stepper.horizontal .stepper-item-container:not(:first-child) .stepper-item:before{background:var(--sgds-border-color-translucent);bottom:0;content:" ";height:var(--sgds-dimension-2);left:calc(-50% + 16px);position:absolute;top:15px;width:calc(100% - var(--sgds-dimension-32))}.stepper.vertical .stepper-item-container:not(:last-child) .stepper-item:after{background:var(--sgds-bg-translucent);bottom:0;content:" ";height:calc(100% - var(--sgds-dimension-32));left:15px;position:absolute;top:32px;width:var(--sgds-dimension-2)}.stepper.horizontal .stepper-item-container .stepper-item.is-active:before,.stepper.horizontal .stepper-item-container .stepper-item.is-completed:before,.stepper.vertical .stepper-item-container .stepper-item.is-completed:after{background:var(--sgds-primary-border-color-default)}.stepper .stepper-item.is-clickable{cursor:pointer}.stepper .stepper-marker{align-items:center;background:var(--sgds-bg-translucent);border:var(--sgds-border-width-2) solid var(--sgds-border-color-transparent);border-radius:50%;color:var(--sgds-color-default);display:flex;height:var(--sgds-dimension-32);justify-content:center;width:var(--sgds-dimension-32);z-index:1}.stepper:not(.vertical) .stepper-detail{max-width:var(--sgds-dimension-128);text-align:center}.stepper.vertical .stepper-detail{padding:var(--sgds-padding-2-xs) 0 0;text-align:left}.stepper .stepper-item:not(.is-active):not(.is-completed) .stepper-detail{color:var(--sgds-color-subtle)}.stepper .stepper-item.is-clickable:focus .stepper-marker,.stepper .stepper-item.is-clickable:focus-visible .stepper-marker,.stepper .stepper-item.is-clickable:hover .stepper-marker{background-color:var(--sgds-primary-surface-emphasis);border-color:var(--sgds-border-color-transparent);color:var(--sgds-color-fixed-light)}.stepper .stepper-item.is-clickable:focus .stepper-detail,.stepper .stepper-item.is-clickable:focus-visible .stepper-detail,.stepper .stepper-item.is-clickable:hover .stepper-detail{color:var(--sgds-primary-color-emphasis)}.stepper .stepper-item.is-clickable .stepper-detail,.stepper.clickable .stepper-item.is-active .stepper-detail{color:var(--sgds-primary-color-default)}.stepper .stepper-item.is-active .stepper-marker{background-color:var(--sgds-primary-surface-default);color:var(--sgds-color-fixed-light)}.stepper .stepper-item.is-completed .stepper-marker{background-color:var(--sgds-bg-transparent);border:var(--sgds-border-width-2) solid var(--sgds-primary-border-color-default);color:var(--sgds-primary-color-default)}`;
9
9
 
10
10
  exports["default"] = css_248z;
11
11
  //# sourceMappingURL=stepper.cjs.js.map
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { css } from 'lit';
3
3
 
4
- var css_248z = css`.stepper{display:flex;flex-wrap:wrap}.stepper.vertical{flex-direction:column}.stepper.horizontal .stepper-item-container{align-items:center;display:flex;flex-basis:1em;flex-direction:column;flex-grow:1;flex-shrink:1;position:relative}.stepper.vertical .stepper-item-container{position:relative;width:fit-content}.stepper .stepper-item{align-items:center;display:flex;flex-direction:column;gap:var(--sgds-gap-sm)}.stepper.vertical .stepper-item{align-items:flex-start;flex-direction:row}.stepper.vertical .stepper-item-container:not(:last-child) .stepper-item{margin-bottom:var(--sgds-padding-xl)}.stepper .stepper-item.is-clickable:focus-visible{outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}.stepper.horizontal .stepper-item-container:not(:first-of-type) .stepper-item:before{background:var(--sgds-border-color-translucent);bottom:0;content:" ";height:var(--sgds-dimension-2);left:calc(-50% + 16px);position:absolute;top:15px;width:calc(100% - var(--sgds-dimension-32))}.stepper.vertical .stepper-item-container:not(:last-child) .stepper-item:after{background:var(--sgds-bg-translucent);bottom:0;content:" ";height:calc(100% - var(--sgds-dimension-32));left:15px;position:absolute;top:32px;width:var(--sgds-dimension-2)}.stepper.horizontal .stepper-item-container .stepper-item.is-active:before,.stepper.horizontal .stepper-item-container .stepper-item.is-completed:before,.stepper.vertical .stepper-item-container .stepper-item.is-completed:after{background:var(--sgds-primary-border-color-default)}.stepper .stepper-item.is-clickable{cursor:pointer}.stepper .stepper-marker{align-items:center;background:var(--sgds-bg-translucent);border:var(--sgds-border-width-2) solid var(--sgds-border-color-transparent);border-radius:50%;color:var(--sgds-color-default);display:flex;height:var(--sgds-dimension-32);justify-content:center;width:var(--sgds-dimension-32);z-index:1}.stepper:not(.vertical) .stepper-detail{max-width:var(--sgds-dimension-128);text-align:center}.stepper.vertical .stepper-detail{padding:var(--sgds-padding-2-xs) 0 0;text-align:left}.stepper .stepper-item:not(.is-active):not(.is-completed) .stepper-detail{color:var(--sgds-color-subtle)}.stepper .stepper-item.is-clickable:focus .stepper-marker,.stepper .stepper-item.is-clickable:focus-visible .stepper-marker,.stepper .stepper-item.is-clickable:hover .stepper-marker{background-color:var(--sgds-primary-surface-emphasis);border-color:var(--sgds-border-color-transparent);color:var(--sgds-color-fixed-light)}.stepper .stepper-item.is-clickable:focus .stepper-detail,.stepper .stepper-item.is-clickable:focus-visible .stepper-detail,.stepper .stepper-item.is-clickable:hover .stepper-detail{color:var(--sgds-primary-color-emphasis)}.stepper .stepper-item.is-clickable .stepper-detail,.stepper.clickable .stepper-item.is-active .stepper-detail{color:var(--sgds-primary-color-default)}.stepper .stepper-item.is-active .stepper-marker{background-color:var(--sgds-primary-surface-default);color:var(--sgds-color-fixed-light)}.stepper .stepper-item.is-completed .stepper-marker{background-color:var(--sgds-bg-transparent);border:var(--sgds-border-width-2) solid var(--sgds-primary-border-color-default);color:var(--sgds-primary-color-default)}`;
4
+ var css_248z = css`.stepper{display:flex;flex-wrap:wrap}.stepper.vertical{flex-direction:column}.stepper.horizontal .stepper-item-container{align-items:center;display:flex;flex-basis:1em;flex-direction:column;flex-grow:1;flex-shrink:1;position:relative}.stepper.vertical .stepper-item-container{position:relative;width:fit-content}.stepper .stepper-item{align-items:center;display:flex;flex-direction:column;gap:var(--sgds-gap-sm)}.stepper.vertical .stepper-item{align-items:flex-start;flex-direction:row}.stepper.vertical .stepper-item-container:not(:last-child) .stepper-item{margin-bottom:var(--sgds-padding-xl)}.stepper .stepper-item.is-clickable:focus-visible{outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}.stepper.horizontal .stepper-item-container:not(:first-child) .stepper-item:before{background:var(--sgds-border-color-translucent);bottom:0;content:" ";height:var(--sgds-dimension-2);left:calc(-50% + 16px);position:absolute;top:15px;width:calc(100% - var(--sgds-dimension-32))}.stepper.vertical .stepper-item-container:not(:last-child) .stepper-item:after{background:var(--sgds-bg-translucent);bottom:0;content:" ";height:calc(100% - var(--sgds-dimension-32));left:15px;position:absolute;top:32px;width:var(--sgds-dimension-2)}.stepper.horizontal .stepper-item-container .stepper-item.is-active:before,.stepper.horizontal .stepper-item-container .stepper-item.is-completed:before,.stepper.vertical .stepper-item-container .stepper-item.is-completed:after{background:var(--sgds-primary-border-color-default)}.stepper .stepper-item.is-clickable{cursor:pointer}.stepper .stepper-marker{align-items:center;background:var(--sgds-bg-translucent);border:var(--sgds-border-width-2) solid var(--sgds-border-color-transparent);border-radius:50%;color:var(--sgds-color-default);display:flex;height:var(--sgds-dimension-32);justify-content:center;width:var(--sgds-dimension-32);z-index:1}.stepper:not(.vertical) .stepper-detail{max-width:var(--sgds-dimension-128);text-align:center}.stepper.vertical .stepper-detail{padding:var(--sgds-padding-2-xs) 0 0;text-align:left}.stepper .stepper-item:not(.is-active):not(.is-completed) .stepper-detail{color:var(--sgds-color-subtle)}.stepper .stepper-item.is-clickable:focus .stepper-marker,.stepper .stepper-item.is-clickable:focus-visible .stepper-marker,.stepper .stepper-item.is-clickable:hover .stepper-marker{background-color:var(--sgds-primary-surface-emphasis);border-color:var(--sgds-border-color-transparent);color:var(--sgds-color-fixed-light)}.stepper .stepper-item.is-clickable:focus .stepper-detail,.stepper .stepper-item.is-clickable:focus-visible .stepper-detail,.stepper .stepper-item.is-clickable:hover .stepper-detail{color:var(--sgds-primary-color-emphasis)}.stepper .stepper-item.is-clickable .stepper-detail,.stepper.clickable .stepper-item.is-active .stepper-detail{color:var(--sgds-primary-color-default)}.stepper .stepper-item.is-active .stepper-marker{background-color:var(--sgds-primary-surface-default);color:var(--sgds-color-fixed-light)}.stepper .stepper-item.is-completed .stepper-marker{background-color:var(--sgds-bg-transparent);border:var(--sgds-border-width-2) solid var(--sgds-primary-border-color-default);color:var(--sgds-primary-color-default)}`;
5
5
 
6
6
  export { css_248z as default };
7
7
  //# sourceMappingURL=stepper.js.map
@@ -49,20 +49,17 @@ class SgdsThumbnailCard extends cardElement.CardElement {
49
49
  }
50
50
  }
51
51
  _handleFooterSlotChange(e) {
52
- var _a;
53
52
  const assignedElements = e.target.assignedElements({ flatten: true });
54
- const footerHref = (_a = this._getAnchorFromSlot(assignedElements)) === null || _a === void 0 ? void 0 : _a.href;
55
- if (this.stretchedLink && footerHref) {
56
- this.card.setAttribute("href", footerHref);
57
- }
53
+ const anchor = this._getAnchorFromSlot(assignedElements);
54
+ if (this.stretchedLink)
55
+ this._forwardAnchorAttributes(anchor);
58
56
  }
59
57
  _handleLinkSlotChange(e) {
60
- var _a;
61
58
  this.warnLinkSlotMisused(e);
62
59
  const assignedElements = e.target.assignedElements({ flatten: true });
63
- const linkHref = (_a = this._getAnchorFromSlot(assignedElements)) === null || _a === void 0 ? void 0 : _a.href;
64
- if (this.stretchedLink && linkHref)
65
- this.card.setAttribute("href", linkHref);
60
+ const anchor = this._getAnchorFromSlot(assignedElements);
61
+ if (this.stretchedLink)
62
+ this._forwardAnchorAttributes(anchor);
66
63
  }
67
64
  render() {
68
65
  const tag = this.stretchedLink ? staticHtml_js.literal `a` : staticHtml_js.literal `div`;
@@ -1 +1 @@
1
- {"version":3,"file":"sgds-thumbnail-card.cjs.js","sources":["../../../../src/components/ThumbnailCard/sgds-thumbnail-card.ts"],"sourcesContent":["import { nothing } from \"lit\";\nimport { property, queryAssignedNodes } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html, literal } from \"lit/static-html.js\";\nimport { CardElement } from \"../../base/card-element\";\nimport thumbnailCardStyle from \"./thumbnail-card.css\";\n\n/**\n * @summary Thumbnail cards can be used for headers and footers, a wide variety of content, contain contextual background colors and images.\n * @slot default - The content area of the card, placed directly under the title. Accepts any HTML or custom elements.\n * @slot thumbnail - Accepts a small image or visual element typically displayed alongside the card's title or content to provide quick visual context.\n * @slot upper - Accepts any content to be displayed at the top of the subtitle. Commonly used for badges, status indicators, or decorative elements.\n * @slot subtitle - The subtitle of the card\n * @slot title - The title of the card\n * @slot description - The paragrapher text of the card\n * @slot lower - Accepts any additional content to be displayed below the card description, such as badges, metadata, or supplementary information.\n * @slot footer - Footer area of the card. Accepts links, actions, or any custom content.\n * @slot link - (@deprecated) Deprecated since 3.3.2 in favour of `footer` slot.\n * Legacy slot for anchor elements. Use `footer` instead.\n */\nexport class SgdsThumbnailCard extends CardElement {\n static styles = [...CardElement.styles, thumbnailCardStyle];\n\n /** @internal */\n @queryAssignedNodes({ slot: \"upper\", flatten: true })\n _upperNode!: Array<Node>;\n\n /** Removes the card's internal padding when set to true. */\n @property({ type: Boolean, reflect: true }) noPadding = false;\n\n private _getAnchorFromSlot(elements: Element[]): HTMLAnchorElement | null {\n if (!elements || elements.length === 0) return null;\n const element = elements[0] as HTMLElement;\n return (element.querySelector(\"a\") || element) as HTMLAnchorElement;\n }\n private _handleThumbnailSlotChange(e: Event) {\n const thumbnailNode = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n if (thumbnailNode.length === 0) {\n if ((this.orientation === \"vertical\" && this._upperNode.length === 0) || this.orientation === \"horizontal\") {\n const media = this.shadowRoot.querySelector(\".card-media\") as HTMLDivElement;\n media.style.display = \"none\";\n\n const body = this.shadowRoot.querySelector(\".card-body\") as HTMLDivElement;\n if (this.noPadding) body.style.padding = \"0px\";\n }\n }\n }\n private _handleFooterSlotChange(e: Event) {\n const assignedElements = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n const footerHref = this._getAnchorFromSlot(assignedElements)?.href;\n\n if (this.stretchedLink && footerHref) {\n this.card.setAttribute(\"href\", footerHref);\n }\n }\n\n private _handleLinkSlotChange(e: Event) {\n this.warnLinkSlotMisused(e);\n const assignedElements = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n const linkHref = this._getAnchorFromSlot(assignedElements)?.href;\n if (this.stretchedLink && linkHref) this.card.setAttribute(\"href\", linkHref);\n }\n\n render() {\n const tag = this.stretchedLink ? literal`a` : literal`div`;\n const cardTabIndex = !this.stretchedLink || this.disabled ? -1 : 0;\n\n return html`\n <${tag} \n class=\"card ${classMap({\n disabled: this.disabled\n })}\"\n tabindex=${cardTabIndex}\n > \n ${this.tinted && !this.noPadding ? html`<div class=\"card-tinted-bg\"></div>` : nothing}\n <div class=\"card-media\">\n <slot name=\"thumbnail\" @slotchange=${this._handleThumbnailSlotChange}></slot>\n\t\t\t\t\t${this.orientation === \"vertical\" ? html`<slot name=\"upper\"></slot>` : nothing}\n </div>\n <div class=\"card-body\">\n\t\t\t\t\t${this.orientation === \"horizontal\" ? html`<slot name=\"upper\"></slot>` : nothing}\n <div class=\"card-header-container\">\n <div class=\"card-header\">\n <slot name=\"subtitle\"></slot>\n <h3 class=\"card-title\"><slot name=\"title\" @slotchange=${this.handleTitleSlotChange}></slot></h3>\n </div>\n <slot></slot>\n </div>\n <slot name=\"description\"></slot>\n <slot name=\"lower\"></slot>\n <slot name=\"footer\" @slotchange=${this._handleFooterSlotChange}>\n <slot name=\"link\" @slotchange=${this._handleLinkSlotChange}></slot>\n </slot>\n </div>\n </${tag}>\n `;\n }\n}\n\nexport default SgdsThumbnailCard;\n"],"names":["CardElement","literal","html","classMap","nothing","thumbnailCardStyle","__decorate","queryAssignedNodes","property"],"mappings":"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"}
1
+ {"version":3,"file":"sgds-thumbnail-card.cjs.js","sources":["../../../../src/components/ThumbnailCard/sgds-thumbnail-card.ts"],"sourcesContent":["import { nothing } from \"lit\";\nimport { property, queryAssignedNodes } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html, literal } from \"lit/static-html.js\";\nimport { CardElement } from \"../../base/card-element\";\nimport thumbnailCardStyle from \"./thumbnail-card.css\";\n\n/**\n * @summary Thumbnail cards can be used for headers and footers, a wide variety of content, contain contextual background colors and images.\n * @slot default - The content area of the card, placed directly under the title. Accepts any HTML or custom elements.\n * @slot thumbnail - Accepts a small image or visual element typically displayed alongside the card's title or content to provide quick visual context.\n * @slot upper - Accepts any content to be displayed at the top of the subtitle. Commonly used for badges, status indicators, or decorative elements.\n * @slot subtitle - The subtitle of the card\n * @slot title - The title of the card\n * @slot description - The paragrapher text of the card\n * @slot lower - Accepts any additional content to be displayed below the card description, such as badges, metadata, or supplementary information.\n * @slot footer - Footer area of the card. Accepts links, actions, or any custom content.\n * @slot link - (@deprecated) Deprecated since 3.3.2 in favour of `footer` slot.\n * Legacy slot for anchor elements. Use `footer` instead.\n */\nexport class SgdsThumbnailCard extends CardElement {\n static styles = [...CardElement.styles, thumbnailCardStyle];\n\n /** @internal */\n @queryAssignedNodes({ slot: \"upper\", flatten: true })\n _upperNode!: Array<Node>;\n\n /** Removes the card's internal padding when set to true. */\n @property({ type: Boolean, reflect: true }) noPadding = false;\n\n private _getAnchorFromSlot(elements: Element[]): HTMLAnchorElement | null {\n if (!elements || elements.length === 0) return null;\n const element = elements[0] as HTMLElement;\n return (element.querySelector(\"a\") || element) as HTMLAnchorElement;\n }\n private _handleThumbnailSlotChange(e: Event) {\n const thumbnailNode = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n if (thumbnailNode.length === 0) {\n if ((this.orientation === \"vertical\" && this._upperNode.length === 0) || this.orientation === \"horizontal\") {\n const media = this.shadowRoot.querySelector(\".card-media\") as HTMLDivElement;\n media.style.display = \"none\";\n\n const body = this.shadowRoot.querySelector(\".card-body\") as HTMLDivElement;\n if (this.noPadding) body.style.padding = \"0px\";\n }\n }\n }\n private _handleFooterSlotChange(e: Event) {\n const assignedElements = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n const anchor = this._getAnchorFromSlot(assignedElements);\n if (this.stretchedLink) this._forwardAnchorAttributes(anchor);\n }\n\n private _handleLinkSlotChange(e: Event) {\n this.warnLinkSlotMisused(e);\n const assignedElements = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n const anchor = this._getAnchorFromSlot(assignedElements);\n if (this.stretchedLink) this._forwardAnchorAttributes(anchor);\n }\n\n render() {\n const tag = this.stretchedLink ? literal`a` : literal`div`;\n const cardTabIndex = !this.stretchedLink || this.disabled ? -1 : 0;\n\n return html`\n <${tag} \n class=\"card ${classMap({\n disabled: this.disabled\n })}\"\n tabindex=${cardTabIndex}\n > \n ${this.tinted && !this.noPadding ? html`<div class=\"card-tinted-bg\"></div>` : nothing}\n <div class=\"card-media\">\n <slot name=\"thumbnail\" @slotchange=${this._handleThumbnailSlotChange}></slot>\n\t\t\t\t\t${this.orientation === \"vertical\" ? html`<slot name=\"upper\"></slot>` : nothing}\n </div>\n <div class=\"card-body\">\n\t\t\t\t\t${this.orientation === \"horizontal\" ? html`<slot name=\"upper\"></slot>` : nothing}\n <div class=\"card-header-container\">\n <div class=\"card-header\">\n <slot name=\"subtitle\"></slot>\n <h3 class=\"card-title\"><slot name=\"title\" @slotchange=${this.handleTitleSlotChange}></slot></h3>\n </div>\n <slot></slot>\n </div>\n <slot name=\"description\"></slot>\n <slot name=\"lower\"></slot>\n <slot name=\"footer\" @slotchange=${this._handleFooterSlotChange}>\n <slot name=\"link\" @slotchange=${this._handleLinkSlotChange}></slot>\n </slot>\n </div>\n </${tag}>\n `;\n }\n}\n\nexport default SgdsThumbnailCard;\n"],"names":["CardElement","literal","html","classMap","nothing","thumbnailCardStyle","__decorate","queryAssignedNodes","property"],"mappings":"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"}
@@ -45,20 +45,17 @@ class SgdsThumbnailCard extends CardElement {
45
45
  }
46
46
  }
47
47
  _handleFooterSlotChange(e) {
48
- var _a;
49
48
  const assignedElements = e.target.assignedElements({ flatten: true });
50
- const footerHref = (_a = this._getAnchorFromSlot(assignedElements)) === null || _a === void 0 ? void 0 : _a.href;
51
- if (this.stretchedLink && footerHref) {
52
- this.card.setAttribute("href", footerHref);
53
- }
49
+ const anchor = this._getAnchorFromSlot(assignedElements);
50
+ if (this.stretchedLink)
51
+ this._forwardAnchorAttributes(anchor);
54
52
  }
55
53
  _handleLinkSlotChange(e) {
56
- var _a;
57
54
  this.warnLinkSlotMisused(e);
58
55
  const assignedElements = e.target.assignedElements({ flatten: true });
59
- const linkHref = (_a = this._getAnchorFromSlot(assignedElements)) === null || _a === void 0 ? void 0 : _a.href;
60
- if (this.stretchedLink && linkHref)
61
- this.card.setAttribute("href", linkHref);
56
+ const anchor = this._getAnchorFromSlot(assignedElements);
57
+ if (this.stretchedLink)
58
+ this._forwardAnchorAttributes(anchor);
62
59
  }
63
60
  render() {
64
61
  const tag = this.stretchedLink ? literal `a` : literal `div`;
@@ -1 +1 @@
1
- {"version":3,"file":"sgds-thumbnail-card.js","sources":["../../../../src/components/ThumbnailCard/sgds-thumbnail-card.ts"],"sourcesContent":["import { nothing } from \"lit\";\nimport { property, queryAssignedNodes } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html, literal } from \"lit/static-html.js\";\nimport { CardElement } from \"../../base/card-element\";\nimport thumbnailCardStyle from \"./thumbnail-card.css\";\n\n/**\n * @summary Thumbnail cards can be used for headers and footers, a wide variety of content, contain contextual background colors and images.\n * @slot default - The content area of the card, placed directly under the title. Accepts any HTML or custom elements.\n * @slot thumbnail - Accepts a small image or visual element typically displayed alongside the card's title or content to provide quick visual context.\n * @slot upper - Accepts any content to be displayed at the top of the subtitle. Commonly used for badges, status indicators, or decorative elements.\n * @slot subtitle - The subtitle of the card\n * @slot title - The title of the card\n * @slot description - The paragrapher text of the card\n * @slot lower - Accepts any additional content to be displayed below the card description, such as badges, metadata, or supplementary information.\n * @slot footer - Footer area of the card. Accepts links, actions, or any custom content.\n * @slot link - (@deprecated) Deprecated since 3.3.2 in favour of `footer` slot.\n * Legacy slot for anchor elements. Use `footer` instead.\n */\nexport class SgdsThumbnailCard extends CardElement {\n static styles = [...CardElement.styles, thumbnailCardStyle];\n\n /** @internal */\n @queryAssignedNodes({ slot: \"upper\", flatten: true })\n _upperNode!: Array<Node>;\n\n /** Removes the card's internal padding when set to true. */\n @property({ type: Boolean, reflect: true }) noPadding = false;\n\n private _getAnchorFromSlot(elements: Element[]): HTMLAnchorElement | null {\n if (!elements || elements.length === 0) return null;\n const element = elements[0] as HTMLElement;\n return (element.querySelector(\"a\") || element) as HTMLAnchorElement;\n }\n private _handleThumbnailSlotChange(e: Event) {\n const thumbnailNode = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n if (thumbnailNode.length === 0) {\n if ((this.orientation === \"vertical\" && this._upperNode.length === 0) || this.orientation === \"horizontal\") {\n const media = this.shadowRoot.querySelector(\".card-media\") as HTMLDivElement;\n media.style.display = \"none\";\n\n const body = this.shadowRoot.querySelector(\".card-body\") as HTMLDivElement;\n if (this.noPadding) body.style.padding = \"0px\";\n }\n }\n }\n private _handleFooterSlotChange(e: Event) {\n const assignedElements = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n const footerHref = this._getAnchorFromSlot(assignedElements)?.href;\n\n if (this.stretchedLink && footerHref) {\n this.card.setAttribute(\"href\", footerHref);\n }\n }\n\n private _handleLinkSlotChange(e: Event) {\n this.warnLinkSlotMisused(e);\n const assignedElements = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n const linkHref = this._getAnchorFromSlot(assignedElements)?.href;\n if (this.stretchedLink && linkHref) this.card.setAttribute(\"href\", linkHref);\n }\n\n render() {\n const tag = this.stretchedLink ? literal`a` : literal`div`;\n const cardTabIndex = !this.stretchedLink || this.disabled ? -1 : 0;\n\n return html`\n <${tag} \n class=\"card ${classMap({\n disabled: this.disabled\n })}\"\n tabindex=${cardTabIndex}\n > \n ${this.tinted && !this.noPadding ? html`<div class=\"card-tinted-bg\"></div>` : nothing}\n <div class=\"card-media\">\n <slot name=\"thumbnail\" @slotchange=${this._handleThumbnailSlotChange}></slot>\n\t\t\t\t\t${this.orientation === \"vertical\" ? html`<slot name=\"upper\"></slot>` : nothing}\n </div>\n <div class=\"card-body\">\n\t\t\t\t\t${this.orientation === \"horizontal\" ? html`<slot name=\"upper\"></slot>` : nothing}\n <div class=\"card-header-container\">\n <div class=\"card-header\">\n <slot name=\"subtitle\"></slot>\n <h3 class=\"card-title\"><slot name=\"title\" @slotchange=${this.handleTitleSlotChange}></slot></h3>\n </div>\n <slot></slot>\n </div>\n <slot name=\"description\"></slot>\n <slot name=\"lower\"></slot>\n <slot name=\"footer\" @slotchange=${this._handleFooterSlotChange}>\n <slot name=\"link\" @slotchange=${this._handleLinkSlotChange}></slot>\n </slot>\n </div>\n </${tag}>\n `;\n }\n}\n\nexport default SgdsThumbnailCard;\n"],"names":["thumbnailCardStyle"],"mappings":";;;;;;;;;AAOA;;;;;;;;;;;;AAYG;AACG,MAAO,iBAAkB,SAAQ,WAAW,CAAA;AAAlD,IAAA,WAAA,GAAA;;;QAQ8C,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;KAqE/D;AAnES,IAAA,kBAAkB,CAAC,QAAmB,EAAA;AAC5C,QAAA,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,IAAI,CAAC;AACpD,QAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAgB,CAAC;QAC3C,QAAQ,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,OAAO,EAAuB;KACrE;AACO,IAAA,0BAA0B,CAAC,CAAQ,EAAA;AACzC,QAAA,MAAM,aAAa,GAAI,CAAC,CAAC,MAA0B,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACxF,QAAA,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,KAAK,IAAI,CAAC,WAAW,KAAK,YAAY,EAAE;gBAC1G,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAmB,CAAC;AAC7E,gBAAA,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBAE7B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,YAAY,CAAmB,CAAC;gBAC3E,IAAI,IAAI,CAAC,SAAS;AAAE,oBAAA,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;aAChD;SACF;KACF;AACO,IAAA,uBAAuB,CAAC,CAAQ,EAAA;;AACtC,QAAA,MAAM,gBAAgB,GAAI,CAAC,CAAC,MAA0B,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3F,MAAM,UAAU,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,CAAC;AAEnE,QAAA,IAAI,IAAI,CAAC,aAAa,IAAI,UAAU,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;SAC5C;KACF;AAEO,IAAA,qBAAqB,CAAC,CAAQ,EAAA;;AACpC,QAAA,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAC5B,QAAA,MAAM,gBAAgB,GAAI,CAAC,CAAC,MAA0B,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3F,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,CAAC;AACjE,QAAA,IAAI,IAAI,CAAC,aAAa,IAAI,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KAC9E;IAED,MAAM,GAAA;AACJ,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,GAAG,OAAO,CAAA,GAAG,GAAG,OAAO,CAAA,KAAK,CAAC;AAC3D,QAAA,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAEnE,QAAA,OAAO,IAAI,CAAA,CAAA;SACN,GAAG,CAAA;AACU,oBAAA,EAAA,QAAQ,CAAC;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAA;mBACS,YAAY,CAAA;;AAErB,QAAA,EAAA,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA,CAAA,kCAAA,CAAoC,GAAG,OAAO,CAAA;;AAE9C,6CAAA,EAAA,IAAI,CAAC,0BAA0B,CAAA;AACvE,KAAA,EAAA,IAAI,CAAC,WAAW,KAAK,UAAU,GAAG,IAAI,CAAA,CAAA,0BAAA,CAA4B,GAAG,OAAO,CAAA;;;AAG5E,KAAA,EAAA,IAAI,CAAC,WAAW,KAAK,YAAY,GAAG,IAAI,CAAA,CAAA,0BAAA,CAA4B,GAAG,OAAO,CAAA;;;;AAIf,oEAAA,EAAA,IAAI,CAAC,qBAAqB,CAAA;;;;;;AAMpD,0CAAA,EAAA,IAAI,CAAC,uBAAuB,CAAA;AAC5B,0CAAA,EAAA,IAAI,CAAC,qBAAqB,CAAA;;;UAG5D,GAAG,CAAA;KACR,CAAC;KACH;;AA3EM,iBAAM,CAAA,MAAA,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAEA,QAAkB,CAA7C,CAA+C;AAI5D,UAAA,CAAA;IADC,kBAAkB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGmB,UAAA,CAAA;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAmB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"sgds-thumbnail-card.js","sources":["../../../../src/components/ThumbnailCard/sgds-thumbnail-card.ts"],"sourcesContent":["import { nothing } from \"lit\";\nimport { property, queryAssignedNodes } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html, literal } from \"lit/static-html.js\";\nimport { CardElement } from \"../../base/card-element\";\nimport thumbnailCardStyle from \"./thumbnail-card.css\";\n\n/**\n * @summary Thumbnail cards can be used for headers and footers, a wide variety of content, contain contextual background colors and images.\n * @slot default - The content area of the card, placed directly under the title. Accepts any HTML or custom elements.\n * @slot thumbnail - Accepts a small image or visual element typically displayed alongside the card's title or content to provide quick visual context.\n * @slot upper - Accepts any content to be displayed at the top of the subtitle. Commonly used for badges, status indicators, or decorative elements.\n * @slot subtitle - The subtitle of the card\n * @slot title - The title of the card\n * @slot description - The paragrapher text of the card\n * @slot lower - Accepts any additional content to be displayed below the card description, such as badges, metadata, or supplementary information.\n * @slot footer - Footer area of the card. Accepts links, actions, or any custom content.\n * @slot link - (@deprecated) Deprecated since 3.3.2 in favour of `footer` slot.\n * Legacy slot for anchor elements. Use `footer` instead.\n */\nexport class SgdsThumbnailCard extends CardElement {\n static styles = [...CardElement.styles, thumbnailCardStyle];\n\n /** @internal */\n @queryAssignedNodes({ slot: \"upper\", flatten: true })\n _upperNode!: Array<Node>;\n\n /** Removes the card's internal padding when set to true. */\n @property({ type: Boolean, reflect: true }) noPadding = false;\n\n private _getAnchorFromSlot(elements: Element[]): HTMLAnchorElement | null {\n if (!elements || elements.length === 0) return null;\n const element = elements[0] as HTMLElement;\n return (element.querySelector(\"a\") || element) as HTMLAnchorElement;\n }\n private _handleThumbnailSlotChange(e: Event) {\n const thumbnailNode = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n if (thumbnailNode.length === 0) {\n if ((this.orientation === \"vertical\" && this._upperNode.length === 0) || this.orientation === \"horizontal\") {\n const media = this.shadowRoot.querySelector(\".card-media\") as HTMLDivElement;\n media.style.display = \"none\";\n\n const body = this.shadowRoot.querySelector(\".card-body\") as HTMLDivElement;\n if (this.noPadding) body.style.padding = \"0px\";\n }\n }\n }\n private _handleFooterSlotChange(e: Event) {\n const assignedElements = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n const anchor = this._getAnchorFromSlot(assignedElements);\n if (this.stretchedLink) this._forwardAnchorAttributes(anchor);\n }\n\n private _handleLinkSlotChange(e: Event) {\n this.warnLinkSlotMisused(e);\n const assignedElements = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n const anchor = this._getAnchorFromSlot(assignedElements);\n if (this.stretchedLink) this._forwardAnchorAttributes(anchor);\n }\n\n render() {\n const tag = this.stretchedLink ? literal`a` : literal`div`;\n const cardTabIndex = !this.stretchedLink || this.disabled ? -1 : 0;\n\n return html`\n <${tag} \n class=\"card ${classMap({\n disabled: this.disabled\n })}\"\n tabindex=${cardTabIndex}\n > \n ${this.tinted && !this.noPadding ? html`<div class=\"card-tinted-bg\"></div>` : nothing}\n <div class=\"card-media\">\n <slot name=\"thumbnail\" @slotchange=${this._handleThumbnailSlotChange}></slot>\n\t\t\t\t\t${this.orientation === \"vertical\" ? html`<slot name=\"upper\"></slot>` : nothing}\n </div>\n <div class=\"card-body\">\n\t\t\t\t\t${this.orientation === \"horizontal\" ? html`<slot name=\"upper\"></slot>` : nothing}\n <div class=\"card-header-container\">\n <div class=\"card-header\">\n <slot name=\"subtitle\"></slot>\n <h3 class=\"card-title\"><slot name=\"title\" @slotchange=${this.handleTitleSlotChange}></slot></h3>\n </div>\n <slot></slot>\n </div>\n <slot name=\"description\"></slot>\n <slot name=\"lower\"></slot>\n <slot name=\"footer\" @slotchange=${this._handleFooterSlotChange}>\n <slot name=\"link\" @slotchange=${this._handleLinkSlotChange}></slot>\n </slot>\n </div>\n </${tag}>\n `;\n }\n}\n\nexport default SgdsThumbnailCard;\n"],"names":["thumbnailCardStyle"],"mappings":"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"}
@@ -56,26 +56,25 @@ var index$N = require('./sidenav-link/index.cjs.js');
56
56
  var index$O = require('./sidenav/index.cjs.js');
57
57
  var index$P = require('./skeleton/index.cjs.js');
58
58
  var index$Q = require('./spinner/index.cjs.js');
59
- var index$R = require('./step/index.cjs.js');
60
- var index$S = require('./stepper/index.cjs.js');
61
- var index$T = require('./subnav-item/index.cjs.js');
62
- var index$U = require('./subnav/index.cjs.js');
63
- var index$V = require('./switch/index.cjs.js');
64
- var index$W = require('./system-banner-item/index.cjs.js');
65
- var index$X = require('./system-banner/index.cjs.js');
66
- var index$Y = require('./tab-group/index.cjs.js');
67
- var index$Z = require('./tab-panel/index.cjs.js');
68
- var index$_ = require('./tab/index.cjs.js');
69
- var index$$ = require('./table-cell/index.cjs.js');
70
- var index$10 = require('./table-head/index.cjs.js');
71
- var index$11 = require('./table-row/index.cjs.js');
72
- var index$12 = require('./table/index.cjs.js');
73
- var index$13 = require('./table-of-contents/index.cjs.js');
74
- var index$14 = require('./textarea/index.cjs.js');
75
- var index$15 = require('./thumbnail-card/index.cjs.js');
76
- var index$16 = require('./toast-container/index.cjs.js');
77
- var index$17 = require('./toast/index.cjs.js');
78
- var index$18 = require('./tooltip/index.cjs.js');
59
+ var index$R = require('./stepper/index.cjs.js');
60
+ var index$S = require('./subnav-item/index.cjs.js');
61
+ var index$T = require('./subnav/index.cjs.js');
62
+ var index$U = require('./switch/index.cjs.js');
63
+ var index$V = require('./system-banner-item/index.cjs.js');
64
+ var index$W = require('./system-banner/index.cjs.js');
65
+ var index$X = require('./tab-group/index.cjs.js');
66
+ var index$Y = require('./tab-panel/index.cjs.js');
67
+ var index$Z = require('./tab/index.cjs.js');
68
+ var index$_ = require('./table-cell/index.cjs.js');
69
+ var index$$ = require('./table-head/index.cjs.js');
70
+ var index$10 = require('./table-row/index.cjs.js');
71
+ var index$11 = require('./table/index.cjs.js');
72
+ var index$12 = require('./table-of-contents/index.cjs.js');
73
+ var index$13 = require('./textarea/index.cjs.js');
74
+ var index$14 = require('./thumbnail-card/index.cjs.js');
75
+ var index$15 = require('./toast-container/index.cjs.js');
76
+ var index$16 = require('./toast/index.cjs.js');
77
+ var index$17 = require('./tooltip/index.cjs.js');
79
78
 
80
79
 
81
80
 
@@ -132,24 +131,23 @@ exports.SgdsSidenavLink = index$N["default"];
132
131
  exports.SgdsSidenav = index$O["default"];
133
132
  exports.SgdsSkeleton = index$P["default"];
134
133
  exports.SgdsSpinner = index$Q["default"];
135
- exports.SgdsStep = index$R["default"];
136
- exports.SgdsStepper = index$S["default"];
137
- exports.SgdsSubnavItem = index$T["default"];
138
- exports.SgdsSubnav = index$U["default"];
139
- exports.SgdsSwitch = index$V["default"];
140
- exports.SgdsSystemBannerItem = index$W["default"];
141
- exports.SgdsSystemBanner = index$X["default"];
142
- exports.SgdsTabGroup = index$Y["default"];
143
- exports.SgdsTabPanel = index$Z["default"];
144
- exports.SgdsTab = index$_["default"];
145
- exports.SgdsTableCell = index$$["default"];
146
- exports.SgdsTableHead = index$10["default"];
147
- exports.SgdsTableRow = index$11["default"];
148
- exports.SgdsTable = index$12["default"];
149
- exports.SgdsTableOfContents = index$13["default"];
150
- exports.SgdsTextarea = index$14["default"];
151
- exports.SgdsThumbnailCard = index$15["default"];
152
- exports.SgdsToastContainer = index$16["default"];
153
- exports.SgdsToast = index$17["default"];
154
- exports.SgdsTooltip = index$18["default"];
134
+ exports.SgdsStepper = index$R["default"];
135
+ exports.SgdsSubnavItem = index$S["default"];
136
+ exports.SgdsSubnav = index$T["default"];
137
+ exports.SgdsSwitch = index$U["default"];
138
+ exports.SgdsSystemBannerItem = index$V["default"];
139
+ exports.SgdsSystemBanner = index$W["default"];
140
+ exports.SgdsTabGroup = index$X["default"];
141
+ exports.SgdsTabPanel = index$Y["default"];
142
+ exports.SgdsTab = index$Z["default"];
143
+ exports.SgdsTableCell = index$_["default"];
144
+ exports.SgdsTableHead = index$$["default"];
145
+ exports.SgdsTableRow = index$10["default"];
146
+ exports.SgdsTable = index$11["default"];
147
+ exports.SgdsTableOfContents = index$12["default"];
148
+ exports.SgdsTextarea = index$13["default"];
149
+ exports.SgdsThumbnailCard = index$14["default"];
150
+ exports.SgdsToastContainer = index$15["default"];
151
+ exports.SgdsToast = index$16["default"];
152
+ exports.SgdsTooltip = index$17["default"];
155
153
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/react/index.d.ts CHANGED
@@ -51,7 +51,6 @@ export { default as SgdsSidenavLink } from './sidenav-link';
51
51
  export { default as SgdsSidenav } from './sidenav';
52
52
  export { default as SgdsSkeleton } from './skeleton';
53
53
  export { default as SgdsSpinner } from './spinner';
54
- export { default as SgdsStep } from './step';
55
54
  export { default as SgdsStepper } from './stepper';
56
55
  export { default as SgdsSubnavItem } from './subnav-item';
57
56
  export { default as SgdsSubnav } from './subnav';
package/react/index.js CHANGED
@@ -52,7 +52,6 @@ export { default as SgdsSidenavLink } from './sidenav-link/index.js';
52
52
  export { default as SgdsSidenav } from './sidenav/index.js';
53
53
  export { default as SgdsSkeleton } from './skeleton/index.js';
54
54
  export { default as SgdsSpinner } from './spinner/index.js';
55
- export { default as SgdsStep } from './step/index.js';
56
55
  export { default as SgdsStepper } from './stepper/index.js';
57
56
  export { default as SgdsSubnavItem } from './subnav-item/index.js';
58
57
  export { default as SgdsSubnav } from './subnav/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/types/react.d.ts CHANGED
@@ -29,7 +29,7 @@ export {};
29
29
  type SgdsEventHandler = (event: CustomEvent) => void;
30
30
 
31
31
  /** Common props shared by every SGDS element */
32
- interface SgdsBaseProps extends React.HTMLAttributes<HTMLElement>, React.RefAttributes<HTMLElement> {
32
+ interface SgdsBaseProps extends React.HTMLAttributes<HTMLElement> {
33
33
  /** Override the CSS `class` attribute (use `className` in JSX for React) */
34
34
  class?: string;
35
35
  }
@@ -76,7 +76,6 @@ interface IStepMetaData {
76
76
  component: unknown;
77
77
  stepHeader: string;
78
78
  iconName?: string;
79
- isCompleted?: boolean;
80
79
  }
81
80
 
82
81
  // ── Switch ─────────────────────────────────────────────────────────────
@@ -1191,21 +1190,11 @@ interface SgdsSpinnerProps extends SgdsBaseProps {
1191
1190
  orientation?: "horizontal" | "vertical";
1192
1191
  }
1193
1192
 
1194
- // ── Step ─────────────────────────────────────────────────────────────
1195
-
1196
- interface SgdsStepProps extends SgdsBaseProps {
1197
- /** The header text for the step */
1198
- stepHeader?: string;
1199
- /** Optional icon name to display instead of step number */
1200
- iconName?: string | undefined;
1201
- /** Optional component to render for this step */
1202
- component?: unknown;
1203
- }
1204
-
1205
1193
  // ── Stepper ─────────────────────────────────────────────────────────────
1206
1194
 
1207
1195
  interface SgdsStepperProps extends SgdsBaseProps {
1208
- /** The metadata of stepper, type `IStepMetaData`. Deprecated: use sgds-step child components instead. */
1196
+ /** The metadata of stepper, type `IStepMetaData`, that consist of `stepHeader: string`, `component:unknown`, `iconName:string`. `stepHeader` is the name of the step and `component` is the content that should appear at the each step. `component` is set to `unknown` to allow users to pass in their desired component based on the framework of choice. e.g. pass in your own react/angular/vue component or it can also be a text content.
1197
+ It is required to populate this array to properly render the stepper. By default, stepper markers will render numbers. For icon stepper markers, pass the name of sgds icon via `iconName` key. `iconName` is optional. */
1209
1198
  steps?: IStepMetaData[];
1210
1199
  /** The current state of active step. Defaults to 0 */
1211
1200
  activeStep?: number;
@@ -1213,8 +1202,6 @@ interface SgdsStepperProps extends SgdsBaseProps {
1213
1202
  orientation?: "horizontal" | "vertical";
1214
1203
  /** When true, the stepper's steps will be clickable */
1215
1204
  clickable?: boolean;
1216
- /** When true, the stepper's steps can only be clicked in a linear manner */
1217
- linear?: boolean;
1218
1205
  "onsgds-next-step"?: SgdsEventHandler;
1219
1206
  "onsgds-previous-step"?: SgdsEventHandler;
1220
1207
  "onsgds-last-step"?: SgdsEventHandler;
@@ -1551,7 +1538,6 @@ declare module "react" {
1551
1538
  "sgds-sidenav": SgdsSidenavProps;
1552
1539
  "sgds-skeleton": SgdsSkeletonProps;
1553
1540
  "sgds-spinner": SgdsSpinnerProps;
1554
- "sgds-step": SgdsStepProps;
1555
1541
  "sgds-stepper": SgdsStepperProps;
1556
1542
  "sgds-subnav-item": SgdsSubnavItemProps;
1557
1543
  "sgds-subnav": SgdsSubnavProps;
@@ -1634,7 +1620,6 @@ declare global {
1634
1620
  "sgds-sidenav": HTMLElement;
1635
1621
  "sgds-skeleton": HTMLElement;
1636
1622
  "sgds-spinner": HTMLElement;
1637
- "sgds-step": HTMLElement;
1638
1623
  "sgds-stepper": HTMLElement;
1639
1624
  "sgds-subnav-item": HTMLElement;
1640
1625
  "sgds-subnav": HTMLElement;