@sondor-technology/sondor-components 1.0.4 → 1.0.6

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 (220) hide show
  1. package/dist/components/alert/alert.constants.d.ts +3 -0
  2. package/dist/components/alert/alert.constants.d.ts.map +1 -0
  3. package/dist/components/alert/alert.constants.js +2 -0
  4. package/dist/components/alert/alert.constants.js.map +1 -0
  5. package/dist/components/alert/alert.d.ts +4 -3
  6. package/dist/components/alert/alert.d.ts.map +1 -1
  7. package/dist/components/alert/alert.js +21 -11
  8. package/dist/components/alert/alert.js.map +1 -0
  9. package/dist/components/badge/badge.constants.d.ts +3 -0
  10. package/dist/components/badge/badge.constants.d.ts.map +1 -0
  11. package/dist/components/badge/badge.constants.js +2 -0
  12. package/dist/components/badge/badge.constants.js.map +1 -0
  13. package/dist/components/badge/badge.d.ts +1 -1
  14. package/dist/components/badge/badge.d.ts.map +1 -1
  15. package/dist/components/badge/badge.js +3 -2
  16. package/dist/components/badge/badge.js.map +1 -0
  17. package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -1
  18. package/dist/components/breadcrumb/breadcrumb.js +2 -1
  19. package/dist/components/breadcrumb/breadcrumb.js.map +1 -0
  20. package/dist/components/button/button.constants.d.ts +7 -0
  21. package/dist/components/button/button.constants.d.ts.map +1 -0
  22. package/dist/components/button/button.constants.js +4 -0
  23. package/dist/components/button/button.constants.js.map +1 -0
  24. package/dist/components/button/button.d.ts +8 -4
  25. package/dist/components/button/button.d.ts.map +1 -1
  26. package/dist/components/button/button.js +181 -137
  27. package/dist/components/button/button.js.map +1 -0
  28. package/dist/components/button-group/button-group.d.ts +6 -0
  29. package/dist/components/button-group/button-group.d.ts.map +1 -1
  30. package/dist/components/button-group/button-group.js +17 -21
  31. package/dist/components/button-group/button-group.js.map +1 -0
  32. package/dist/components/checkbox/checkbox.constants.d.ts +3 -0
  33. package/dist/components/checkbox/checkbox.constants.d.ts.map +1 -0
  34. package/dist/components/checkbox/checkbox.constants.js +2 -0
  35. package/dist/components/checkbox/checkbox.constants.js.map +1 -0
  36. package/dist/components/checkbox/checkbox.d.ts +5 -1
  37. package/dist/components/checkbox/checkbox.d.ts.map +1 -1
  38. package/dist/components/checkbox/checkbox.js +21 -5
  39. package/dist/components/checkbox/checkbox.js.map +1 -0
  40. package/dist/components/code-block/code-block.d.ts +12 -7
  41. package/dist/components/code-block/code-block.d.ts.map +1 -1
  42. package/dist/components/code-block/code-block.js +130 -66
  43. package/dist/components/code-block/code-block.js.map +1 -0
  44. package/dist/components/content-card/content-card.d.ts.map +1 -1
  45. package/dist/components/content-card/content-card.js +10 -15
  46. package/dist/components/content-card/content-card.js.map +1 -0
  47. package/dist/components/divider/divider.constants.d.ts +5 -0
  48. package/dist/components/divider/divider.constants.d.ts.map +1 -0
  49. package/dist/components/divider/divider.constants.js +3 -0
  50. package/dist/components/divider/divider.constants.js.map +1 -0
  51. package/dist/components/divider/divider.d.ts +4 -2
  52. package/dist/components/divider/divider.d.ts.map +1 -1
  53. package/dist/components/divider/divider.js +18 -9
  54. package/dist/components/divider/divider.js.map +1 -0
  55. package/dist/components/drawer/drawer.d.ts +7 -4
  56. package/dist/components/drawer/drawer.d.ts.map +1 -1
  57. package/dist/components/drawer/drawer.js +73 -30
  58. package/dist/components/drawer/drawer.js.map +1 -0
  59. package/dist/components/field/field.d.ts +2 -2
  60. package/dist/components/field/field.d.ts.map +1 -1
  61. package/dist/components/field/field.js +8 -9
  62. package/dist/components/field/field.js.map +1 -0
  63. package/dist/components/footer/footer.d.ts +8 -1
  64. package/dist/components/footer/footer.d.ts.map +1 -1
  65. package/dist/components/footer/footer.js +42 -12
  66. package/dist/components/footer/footer.js.map +1 -0
  67. package/dist/components/form/form-step.js +1 -0
  68. package/dist/components/form/form-step.js.map +1 -0
  69. package/dist/components/form/form.d.ts +3 -0
  70. package/dist/components/form/form.d.ts.map +1 -1
  71. package/dist/components/form/form.js +107 -67
  72. package/dist/components/form/form.js.map +1 -0
  73. package/dist/components/grid/grid-row.d.ts +3 -3
  74. package/dist/components/grid/grid-row.d.ts.map +1 -1
  75. package/dist/components/grid/grid-row.js +36 -22
  76. package/dist/components/grid/grid-row.js.map +1 -0
  77. package/dist/components/grid/grid.d.ts +2 -2
  78. package/dist/components/grid/grid.d.ts.map +1 -1
  79. package/dist/components/grid/grid.js +5 -2
  80. package/dist/components/grid/grid.js.map +1 -0
  81. package/dist/components/icon/icon-paths.js +1 -0
  82. package/dist/components/icon/icon-paths.js.map +1 -0
  83. package/dist/components/icon/icon.js +1 -0
  84. package/dist/components/icon/icon.js.map +1 -0
  85. package/dist/components/input/input.d.ts +14 -0
  86. package/dist/components/input/input.d.ts.map +1 -1
  87. package/dist/components/input/input.js +30 -37
  88. package/dist/components/input/input.js.map +1 -0
  89. package/dist/components/link/link.d.ts +6 -6
  90. package/dist/components/link/link.d.ts.map +1 -1
  91. package/dist/components/link/link.js +42 -19
  92. package/dist/components/link/link.js.map +1 -0
  93. package/dist/components/metadata/metadata.d.ts +3 -3
  94. package/dist/components/metadata/metadata.d.ts.map +1 -1
  95. package/dist/components/metadata/metadata.js +23 -20
  96. package/dist/components/metadata/metadata.js.map +1 -0
  97. package/dist/components/modal/modal.d.ts +4 -16
  98. package/dist/components/modal/modal.d.ts.map +1 -1
  99. package/dist/components/modal/modal.js +99 -62
  100. package/dist/components/modal/modal.js.map +1 -0
  101. package/dist/components/page-layout/page-layout.d.ts +4 -3
  102. package/dist/components/page-layout/page-layout.d.ts.map +1 -1
  103. package/dist/components/page-layout/page-layout.js +96 -69
  104. package/dist/components/page-layout/page-layout.js.map +1 -0
  105. package/dist/components/radio/radio.d.ts +8 -0
  106. package/dist/components/radio/radio.d.ts.map +1 -1
  107. package/dist/components/radio/radio.js +8 -12
  108. package/dist/components/radio/radio.js.map +1 -0
  109. package/dist/components/radio-group/radio-group.d.ts +6 -1
  110. package/dist/components/radio-group/radio-group.d.ts.map +1 -1
  111. package/dist/components/radio-group/radio-group.js +44 -18
  112. package/dist/components/radio-group/radio-group.js.map +1 -0
  113. package/dist/components/router/router.d.ts +5 -7
  114. package/dist/components/router/router.d.ts.map +1 -1
  115. package/dist/components/router/router.js +54 -38
  116. package/dist/components/router/router.js.map +1 -0
  117. package/dist/components/select/select.d.ts +41 -7
  118. package/dist/components/select/select.d.ts.map +1 -1
  119. package/dist/components/select/select.js +467 -150
  120. package/dist/components/select/select.js.map +1 -0
  121. package/dist/components/skeleton/skeleton.d.ts +3 -2
  122. package/dist/components/skeleton/skeleton.d.ts.map +1 -1
  123. package/dist/components/skeleton/skeleton.js +10 -13
  124. package/dist/components/skeleton/skeleton.js.map +1 -0
  125. package/dist/components/switch/switch.d.ts +12 -0
  126. package/dist/components/switch/switch.d.ts.map +1 -1
  127. package/dist/components/switch/switch.js +28 -22
  128. package/dist/components/switch/switch.js.map +1 -0
  129. package/dist/components/table/data-table.d.ts +3 -25
  130. package/dist/components/table/data-table.d.ts.map +1 -1
  131. package/dist/components/table/data-table.js +211 -146
  132. package/dist/components/table/data-table.js.map +1 -0
  133. package/dist/components/table/table.d.ts +3 -3
  134. package/dist/components/table/table.d.ts.map +1 -1
  135. package/dist/components/table/table.js +39 -20
  136. package/dist/components/table/table.js.map +1 -0
  137. package/dist/components/tabs/tab-panel.d.ts +8 -1
  138. package/dist/components/tabs/tab-panel.d.ts.map +1 -1
  139. package/dist/components/tabs/tab-panel.js +21 -11
  140. package/dist/components/tabs/tab-panel.js.map +1 -0
  141. package/dist/components/tabs/tab.d.ts +10 -1
  142. package/dist/components/tabs/tab.d.ts.map +1 -1
  143. package/dist/components/tabs/tab.js +46 -28
  144. package/dist/components/tabs/tab.js.map +1 -0
  145. package/dist/components/tabs/tabs.d.ts +9 -0
  146. package/dist/components/tabs/tabs.d.ts.map +1 -1
  147. package/dist/components/tabs/tabs.js +76 -13
  148. package/dist/components/tabs/tabs.js.map +1 -0
  149. package/dist/components/textarea/textarea.d.ts +13 -0
  150. package/dist/components/textarea/textarea.d.ts.map +1 -1
  151. package/dist/components/textarea/textarea.js +59 -13
  152. package/dist/components/textarea/textarea.js.map +1 -0
  153. package/dist/components/theme-toggle/theme-toggle.constants.d.ts +3 -0
  154. package/dist/components/theme-toggle/theme-toggle.constants.d.ts.map +1 -0
  155. package/dist/components/theme-toggle/theme-toggle.constants.js +2 -0
  156. package/dist/components/theme-toggle/theme-toggle.constants.js.map +1 -0
  157. package/dist/components/theme-toggle/theme-toggle.d.ts +3 -2
  158. package/dist/components/theme-toggle/theme-toggle.d.ts.map +1 -1
  159. package/dist/components/theme-toggle/theme-toggle.js +46 -19
  160. package/dist/components/theme-toggle/theme-toggle.js.map +1 -0
  161. package/dist/components/vertical-nav/vertical-nav-group.d.ts +5 -2
  162. package/dist/components/vertical-nav/vertical-nav-group.d.ts.map +1 -1
  163. package/dist/components/vertical-nav/vertical-nav-group.js +50 -14
  164. package/dist/components/vertical-nav/vertical-nav-group.js.map +1 -0
  165. package/dist/components/vertical-nav/vertical-nav-item.d.ts +3 -2
  166. package/dist/components/vertical-nav/vertical-nav-item.d.ts.map +1 -1
  167. package/dist/components/vertical-nav/vertical-nav-item.js +30 -8
  168. package/dist/components/vertical-nav/vertical-nav-item.js.map +1 -0
  169. package/dist/styles/index.css +50 -17
  170. package/dist/styles/reset.js +1 -0
  171. package/dist/styles/reset.js.map +1 -0
  172. package/package.json +2 -1
  173. package/src/components/alert/alert.constants.ts +2 -0
  174. package/src/components/alert/alert.ts +24 -15
  175. package/src/components/badge/badge.constants.ts +2 -0
  176. package/src/components/badge/badge.ts +3 -4
  177. package/src/components/breadcrumb/breadcrumb.ts +2 -2
  178. package/src/components/button/button.constants.ts +8 -0
  179. package/src/components/button/button.ts +184 -144
  180. package/src/components/button-group/button-group.ts +23 -21
  181. package/src/components/checkbox/checkbox.constants.ts +2 -0
  182. package/src/components/checkbox/checkbox.ts +33 -18
  183. package/src/components/code-block/code-block.ts +157 -84
  184. package/src/components/content-card/content-card.ts +10 -16
  185. package/src/components/divider/divider.constants.ts +5 -0
  186. package/src/components/divider/divider.ts +22 -11
  187. package/src/components/drawer/drawer.ts +79 -34
  188. package/src/components/field/field.ts +9 -11
  189. package/src/components/footer/footer.ts +43 -12
  190. package/src/components/form/form.ts +120 -83
  191. package/src/components/grid/grid-row.ts +45 -32
  192. package/src/components/grid/grid.ts +7 -4
  193. package/src/components/input/input.ts +37 -41
  194. package/src/components/link/link.ts +45 -21
  195. package/src/components/metadata/metadata.ts +26 -24
  196. package/src/components/modal/modal.ts +108 -74
  197. package/src/components/page-layout/page-layout.ts +98 -73
  198. package/src/components/radio/radio.ts +8 -13
  199. package/src/components/radio-group/radio-group.ts +45 -21
  200. package/src/components/router/router.ts +73 -50
  201. package/src/components/select/select.ts +502 -131
  202. package/src/components/skeleton/skeleton.ts +14 -14
  203. package/src/components/switch/switch.ts +31 -25
  204. package/src/components/table/data-table.ts +248 -177
  205. package/src/components/table/table.ts +52 -29
  206. package/src/components/tabs/tab-panel.ts +30 -13
  207. package/src/components/tabs/tab.ts +64 -33
  208. package/src/components/tabs/tabs.ts +82 -14
  209. package/src/components/textarea/textarea.ts +63 -15
  210. package/src/components/theme-toggle/theme-toggle.constants.ts +2 -0
  211. package/src/components/theme-toggle/theme-toggle.ts +47 -22
  212. package/src/components/vertical-nav/vertical-nav-group.ts +57 -18
  213. package/src/components/vertical-nav/vertical-nav-item.ts +35 -12
  214. package/src/styles/globals.css +27 -4
  215. package/src/styles/theme.css +39 -31
  216. package/tsconfig.json +2 -1
  217. package/dist/components/card/card.d.ts +0 -11
  218. package/dist/components/card/card.d.ts.map +0 -1
  219. package/dist/components/card/card.js +0 -54
  220. package/src/components/card/card.ts +0 -53
@@ -1,30 +1,15 @@
1
- import { LitElement, html, css, PropertyValues, nothing } from 'lit';
2
- import { customElement, property, query } from 'lit/decorators.js';
3
- import { resetStyles } from '../../styles/reset.js';
1
+ import {LitElement, html, css, PropertyValues, nothing} from "lit";
2
+ import {customElement, property, query} from "lit/decorators.js";
3
+ import {resetStyles} from "../../styles/reset.js";
4
4
 
5
- @customElement('st-modal')
5
+ @customElement("st-modal")
6
6
  export class StModal extends LitElement {
7
- /**
8
- * Controls whether the modal is open.
9
- */
10
- @property({ type: Boolean, reflect: true }) open = false;
7
+ @property({type: Boolean, reflect: true}) open = false;
8
+ @property({type: String}) heading = "";
9
+ @property({type: String}) size: "sm" | "md" | "lg" | "xl" | "xxl" = "md";
10
+ @property({type: Boolean}) static = false;
11
11
 
12
- /**
13
- * Title text displayed in the modal header.
14
- */
15
- @property({ type: String }) heading = '';
16
-
17
- /**
18
- * Size of the modal (sm, md, lg, xl, xxl).
19
- */
20
- @property({ type: String }) size: 'sm' | 'md' | 'lg' | 'xl' | 'xxl' = 'md';
21
-
22
- /**
23
- * If true, the modal cannot be closed by clicking the backdrop or pressing Esc.
24
- */
25
- @property({ type: Boolean }) static = false;
26
-
27
- @query('dialog') private dialogEl!: HTMLDialogElement;
12
+ @query("dialog") private dialogEl!: HTMLDialogElement;
28
13
 
29
14
  private isClosing = false;
30
15
 
@@ -41,43 +26,72 @@ export class StModal extends LitElement {
41
26
  border-radius: var(--st-radius-lg, 0.5rem);
42
27
  background-color: var(--st-color-surface);
43
28
  color: var(--st-color-text);
44
-
45
- /* Responsive width calculation */
29
+
46
30
  width: calc(100% - 2rem);
47
31
  margin: auto;
48
-
49
- box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
32
+
33
+ box-shadow:
34
+ 0 20px 25px -5px rgb(0 0 0 / 0.1),
35
+ 0 8px 10px -6px rgb(0 0 0 / 0.1);
50
36
  font-family: var(--st-font-family, inherit);
51
37
  }
52
38
 
53
- /* Sizes */
54
- dialog.size-sm { max-width: 400px; }
55
- dialog.size-md { max-width: 500px; }
56
- dialog.size-lg { max-width: 800px; }
57
- dialog.size-xl { max-width: 1024px; }
58
- dialog.size-xxl { max-width: 1280px; }
39
+ dialog.size-sm {
40
+ max-width: 400px;
41
+ }
42
+ dialog.size-md {
43
+ max-width: 500px;
44
+ }
45
+ dialog.size-lg {
46
+ max-width: 800px;
47
+ }
48
+ dialog.size-xl {
49
+ max-width: 1024px;
50
+ }
51
+ dialog.size-xxl {
52
+ max-width: 1280px;
53
+ }
59
54
 
60
55
  dialog::backdrop {
61
56
  background-color: rgba(0, 0, 0, 0.5);
62
57
  backdrop-filter: blur(2px);
63
58
  }
64
59
 
65
- /* Animations */
66
60
  @keyframes fade-in {
67
- from { opacity: 0; }
68
- to { opacity: 1; }
61
+ from {
62
+ opacity: 0;
63
+ }
64
+ to {
65
+ opacity: 1;
66
+ }
69
67
  }
70
68
  @keyframes fade-out {
71
- from { opacity: 1; }
72
- to { opacity: 0; }
69
+ from {
70
+ opacity: 1;
71
+ }
72
+ to {
73
+ opacity: 0;
74
+ }
73
75
  }
74
76
  @keyframes slide-up {
75
- from { opacity: 0; transform: translateY(20px) scale(0.95); }
76
- to { opacity: 1; transform: translateY(0) scale(1); }
77
+ from {
78
+ opacity: 0;
79
+ transform: translateY(20px) scale(0.95);
80
+ }
81
+ to {
82
+ opacity: 1;
83
+ transform: translateY(0) scale(1);
84
+ }
77
85
  }
78
86
  @keyframes slide-down {
79
- from { opacity: 1; transform: translateY(0) scale(1); }
80
- to { opacity: 0; transform: translateY(20px) scale(0.95); }
87
+ from {
88
+ opacity: 1;
89
+ transform: translateY(0) scale(1);
90
+ }
91
+ to {
92
+ opacity: 0;
93
+ transform: translateY(20px) scale(0.95);
94
+ }
81
95
  }
82
96
 
83
97
  dialog[open] {
@@ -86,7 +100,7 @@ export class StModal extends LitElement {
86
100
  dialog[open]::backdrop {
87
101
  animation: fade-in 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
88
102
  }
89
-
103
+
90
104
  dialog.closing {
91
105
  animation: slide-down 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
92
106
  }
@@ -118,7 +132,9 @@ export class StModal extends LitElement {
118
132
  align-items: center;
119
133
  justify-content: center;
120
134
  border-radius: var(--st-radius-sm);
121
- transition: color 0.2s, background-color 0.2s;
135
+ transition:
136
+ color 0.2s,
137
+ background-color 0.2s;
122
138
  }
123
139
 
124
140
  .close-btn:hover {
@@ -141,13 +157,16 @@ export class StModal extends LitElement {
141
157
  border-top: 1px solid var(--st-color-border);
142
158
  background-color: var(--st-color-surface-muted, #f8fafc);
143
159
  }
144
- `
160
+ `,
145
161
  ];
146
162
 
147
- updated(changedProperties: PropertyValues) {
148
- if (changedProperties.has('open')) {
163
+ // 🚀 FIX: Typed strictly and calls super
164
+ override updated(changedProperties: PropertyValues<this>) {
165
+ super.updated(changedProperties);
166
+
167
+ if (changedProperties.has("open")) {
149
168
  if (this.open) {
150
- this.dialogEl.classList.remove('closing');
169
+ this.dialogEl.classList.remove("closing");
151
170
  this.isClosing = false;
152
171
  if (!this.dialogEl.open) {
153
172
  this.dialogEl.showModal();
@@ -161,27 +180,27 @@ export class StModal extends LitElement {
161
180
  private closeWithAnimation() {
162
181
  if (this.isClosing) return;
163
182
  this.isClosing = true;
164
- this.dialogEl.classList.add('closing');
165
-
183
+ this.dialogEl.classList.add("closing");
184
+
166
185
  const onAnimationEnd = () => {
167
- this.dialogEl.removeEventListener('animationend', onAnimationEnd);
168
- this.dialogEl.classList.remove('closing');
186
+ this.dialogEl.classList.remove("closing");
169
187
  this.isClosing = false;
170
188
  if (!this.open) {
171
189
  this.dialogEl.close();
172
190
  }
173
191
  };
174
-
175
- this.dialogEl.addEventListener('animationend', onAnimationEnd);
192
+
193
+ // 🚀 FIX: Prevent listener stacking on rapid toggles
194
+ this.dialogEl.addEventListener("animationend", onAnimationEnd, {once: true});
176
195
  }
177
196
 
178
197
  private handleClose() {
179
198
  this.open = false;
180
- this.dispatchEvent(new CustomEvent('st-close', { bubbles: true, composed: true }));
199
+ this.dispatchEvent(new CustomEvent("st-close", {bubbles: true, composed: true}));
181
200
  }
182
201
 
183
202
  private handleCancel(e: Event) {
184
- e.preventDefault();
203
+ e.preventDefault();
185
204
  if (!this.static) {
186
205
  this.handleClose();
187
206
  }
@@ -190,7 +209,7 @@ export class StModal extends LitElement {
190
209
  private onDialogClose() {
191
210
  if (this.open) {
192
211
  this.open = false;
193
- this.dispatchEvent(new CustomEvent('st-close', { bubbles: true, composed: true }));
212
+ this.dispatchEvent(new CustomEvent("st-close", {bubbles: true, composed: true}));
194
213
  }
195
214
  }
196
215
 
@@ -198,7 +217,7 @@ export class StModal extends LitElement {
198
217
  if (this.static) return;
199
218
 
200
219
  const rect = this.dialogEl.getBoundingClientRect();
201
- const clickedOutside =
220
+ const clickedOutside =
202
221
  e.clientX < rect.left ||
203
222
  e.clientX > rect.right ||
204
223
  e.clientY < rect.top ||
@@ -211,28 +230,43 @@ export class StModal extends LitElement {
211
230
 
212
231
  render() {
213
232
  return html`
214
- <dialog
233
+ <dialog
215
234
  class="size-${this.size}"
216
- aria-labelledby=${this.heading ? 'modal-heading' : nothing}
217
- @cancel=${this.handleCancel}
218
- @click=${this.handleBackdropClick}
235
+ aria-labelledby=${this.heading ? "modal-heading" : nothing}
236
+ @cancel=${this.handleCancel}
237
+ @click=${this.handleBackdropClick}
219
238
  @close=${this.onDialogClose}
220
239
  >
221
- <div class="modal-header" @click=${(e: MouseEvent) => e.stopPropagation()}>
240
+ <!-- 🚀 FIX: Removed @click=stopPropagation from all inner wrappers -->
241
+ <div class="modal-header">
222
242
  <slot name="header">
223
243
  <h3 class="modal-title" id="modal-heading">${this.heading}</h3>
224
244
  </slot>
225
-
226
- ${!this.static ? html`
227
- <button class="close-btn" @click=${this.handleClose} aria-label="Close modal">
228
- <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>
229
- </button>
230
- ` : nothing}
245
+
246
+ ${!this.static
247
+ ? html`
248
+ <button class="close-btn" @click=${this.handleClose} aria-label="Close modal">
249
+ <svg
250
+ width="18"
251
+ height="18"
252
+ viewBox="0 0 24 24"
253
+ fill="none"
254
+ stroke="currentColor"
255
+ stroke-width="2"
256
+ stroke-linecap="round"
257
+ stroke-linejoin="round"
258
+ >
259
+ <line x1="18" y1="6" x2="6" y2="18"></line>
260
+ <line x1="6" y1="6" x2="18" y2="18"></line>
261
+ </svg>
262
+ </button>
263
+ `
264
+ : nothing}
231
265
  </div>
232
- <div class="modal-body" @click=${(e: MouseEvent) => e.stopPropagation()}>
266
+ <div class="modal-body">
233
267
  <slot></slot>
234
268
  </div>
235
- <div class="modal-footer" @click=${(e: MouseEvent) => e.stopPropagation()}>
269
+ <div class="modal-footer">
236
270
  <slot name="footer"></slot>
237
271
  </div>
238
272
  </dialog>
@@ -242,6 +276,6 @@ export class StModal extends LitElement {
242
276
 
243
277
  declare global {
244
278
  interface HTMLElementTagNameMap {
245
- 'st-modal': StModal;
279
+ "st-modal": StModal;
246
280
  }
247
- }
281
+ }