@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
@@ -14,36 +14,40 @@ let StRadioGroup = class StRadioGroup extends LitElement {
14
14
  this.value = "";
15
15
  this.label = "";
16
16
  this.helpText = "";
17
+ this.layout = "vertical";
18
+ this.required = false;
17
19
  this.disabled = false;
18
20
  this.invalid = false;
21
+ this._handleRadioSelect = (e) => {
22
+ if (this.disabled)
23
+ return;
24
+ const customEvent = e;
25
+ this.value = customEvent.detail.value;
26
+ // 🚀 THE FIX: Clear the invalid visual state as soon as the user makes a selection
27
+ if (this.invalid) {
28
+ this.invalid = false;
29
+ }
30
+ this.dispatchEvent(new Event("change", { bubbles: true, composed: true }));
31
+ };
19
32
  this._internals = this.attachInternals();
20
- // 1. Trigger error state if the user clicks away and the field is invalid
33
+ this._internals.role = "radiogroup";
21
34
  this.addEventListener("change", () => {
22
35
  this.invalid = !this._internals.validity.valid;
23
36
  });
24
- // 2. Trigger error state if the st-form tries to submit and fails
25
37
  this.addEventListener("invalid", () => {
26
38
  this.invalid = true;
27
39
  });
28
40
  }
29
41
  connectedCallback() {
30
42
  super.connectedCallback();
31
- // Listen for selections from child radios
32
43
  this.addEventListener("st-radio-select", this._handleRadioSelect);
33
44
  }
34
45
  disconnectedCallback() {
35
46
  super.disconnectedCallback();
36
47
  this.removeEventListener("st-radio-select", this._handleRadioSelect);
37
48
  }
38
- _handleRadioSelect(e) {
39
- if (this.disabled)
40
- return;
41
- this.value = e.detail.value;
42
- this.dispatchEvent(new Event("change", { bubbles: true, composed: true }));
43
- }
44
49
  updated(changedProperties) {
45
50
  super.updated(changedProperties);
46
- // When the group's value changes, sync the form and update all child radios
47
51
  if (changedProperties.has("value")) {
48
52
  this._internals.setFormValue(this.value);
49
53
  this._syncRadios();
@@ -51,8 +55,18 @@ let StRadioGroup = class StRadioGroup extends LitElement {
51
55
  if (changedProperties.has("disabled")) {
52
56
  this._syncRadios();
53
57
  }
58
+ if (changedProperties.has("value") || changedProperties.has("required")) {
59
+ this._syncValidity();
60
+ }
61
+ }
62
+ _syncValidity() {
63
+ if (this.required && !this.value) {
64
+ this._internals.setValidity({ valueMissing: true }, "Please select an option.");
65
+ }
66
+ else {
67
+ this._internals.setValidity({});
68
+ }
54
69
  }
55
- // Loops through children and unchecks/checks them based on the group's current value
56
70
  _syncRadios() {
57
71
  if (!this._radios)
58
72
  return;
@@ -63,11 +77,19 @@ let StRadioGroup = class StRadioGroup extends LitElement {
63
77
  }
64
78
  });
65
79
  }
66
- // Fired natively by the browser if the parent <form> is reset
67
80
  formResetCallback() {
68
- this.value = "";
69
- this._internals.setFormValue("");
81
+ const initialValue = this.getAttribute("value") || "";
82
+ this.value = initialValue;
83
+ this._internals.setFormValue(initialValue);
70
84
  this._syncRadios();
85
+ this.updateComplete.then(() => this._syncValidity());
86
+ }
87
+ // Expose standard native methods
88
+ checkValidity() {
89
+ return this._internals.checkValidity();
90
+ }
91
+ reportValidity() {
92
+ return this._internals.reportValidity();
71
93
  }
72
94
  render() {
73
95
  return html `
@@ -114,7 +136,6 @@ StRadioGroup.styles = [
114
136
  gap: var(--st-spacing-sm);
115
137
  }
116
138
 
117
- /* Horizontal layout modifier */
118
139
  :host([layout="horizontal"]) .options {
119
140
  flex-direction: row;
120
141
  gap: var(--st-spacing-md);
@@ -126,9 +147,7 @@ StRadioGroup.styles = [
126
147
  margin: 0;
127
148
  }
128
149
 
129
- :host([invalid]) .help-text {
130
- color: var(--st-color-error);
131
- }
150
+ :host([invalid]) .help-text,
132
151
  :host([invalid]) legend {
133
152
  color: var(--st-color-error);
134
153
  }
@@ -146,6 +165,12 @@ __decorate([
146
165
  __decorate([
147
166
  property({ attribute: "help-text" })
148
167
  ], StRadioGroup.prototype, "helpText", void 0);
168
+ __decorate([
169
+ property({ type: String, reflect: true })
170
+ ], StRadioGroup.prototype, "layout", void 0);
171
+ __decorate([
172
+ property({ type: Boolean, reflect: true })
173
+ ], StRadioGroup.prototype, "required", void 0);
149
174
  __decorate([
150
175
  property({ type: Boolean, reflect: true })
151
176
  ], StRadioGroup.prototype, "disabled", void 0);
@@ -159,3 +184,4 @@ StRadioGroup = __decorate([
159
184
  customElement("st-radio-group")
160
185
  ], StRadioGroup);
161
186
  export { StRadioGroup };
187
+ //# sourceMappingURL=radio-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-group.js","sourceRoot":"","sources":["../../../src/components/radio-group/radio-group.ts"],"names":[],"mappings":"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"}
@@ -12,18 +12,16 @@ export interface RouteMatch {
12
12
  export declare class AppRouter {
13
13
  private _routes;
14
14
  private _initialized;
15
+ private _boundNotify;
16
+ private _boundClick;
15
17
  constructor(routes?: RouteConfig);
16
18
  /**
17
- * Register or update the route configuration for this application.
19
+ * 🚀 FIX: Removes global listeners to prevent memory leaks during testing/teardown.
18
20
  */
21
+ destroy(): void;
22
+ private _handleClick;
19
23
  setRoutes(routes: RouteConfig): void;
20
- /**
21
- * Programmatically navigate to an internal path.
22
- */
23
24
  navigate(path: string): void;
24
- /**
25
- * Matches a URL path against the registered routes.
26
- */
27
25
  matchRoute(currentPath: string): RouteMatch | null;
28
26
  private _notify;
29
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/components/router/router.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAE1D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,UAAU,EAAE,eAAe,CAAC;CAC7B;AASD,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,YAAY,CAAS;IAE7B,YAAY,MAAM,CAAC,EAAE,WAAW,EA+B/B;IAED;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE,WAAW,QAUnC;IAED;;OAEG;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,QAG3B;IAED;;OAEG;IACI,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA+BxD;IAED,OAAO,CAAC,OAAO;CAahB;AAGD,eAAO,MAAM,MAAM,WAAkB,CAAC"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/components/router/router.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAE1D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,UAAU,EAAE,eAAe,CAAC;CAC7B;AASD,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,WAAW,CAA0B;IAE7C,YAAY,MAAM,CAAC,EAAE,WAAW,EAa/B;IAED;;OAEG;IACI,OAAO,SAKb;IAED,OAAO,CAAC,YAAY;IAgCb,SAAS,CAAC,MAAM,EAAE,WAAW,QAWnC;IAEM,QAAQ,CAAC,IAAI,EAAE,MAAM,QAK3B;IAEM,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA+BxD;IAED,OAAO,CAAC,OAAO;CAiBhB;AAED,eAAO,MAAM,MAAM,WAAkB,CAAC"}
@@ -1,67 +1,81 @@
1
1
  function getRouteWeight(pattern) {
2
- const segments = pattern.split('/').filter(Boolean);
2
+ const segments = pattern.split("/").filter(Boolean);
3
3
  return segments.reduce((weight, seg) => {
4
- return weight + (seg.startsWith(':') ? 1 : 10);
4
+ return weight + (seg.startsWith(":") ? 1 : 10);
5
5
  }, 0);
6
6
  }
7
7
  export class AppRouter {
8
8
  constructor(routes) {
9
9
  this._routes = {};
10
10
  this._initialized = false;
11
+ this._boundNotify = () => this._notify();
12
+ this._boundClick = (e) => this._handleClick(e);
11
13
  if (routes) {
12
14
  this.setRoutes(routes);
13
15
  }
14
- window.addEventListener('popstate', () => this._notify());
15
- document.addEventListener('click', (e) => {
16
- if (e.defaultPrevented || e.button !== 0 || e.metaKey || e.ctrlKey || e.shiftKey || e.altKey) {
17
- return;
18
- }
19
- const path = e.composedPath();
20
- const link = path.find((el) => el && typeof el.hasAttribute === 'function' && el.hasAttribute('href'));
21
- if (!link)
22
- return;
23
- const href = link.getAttribute('href');
24
- const target = link.getAttribute('target');
25
- if (!href || href.startsWith('http') || href.startsWith('mailto:') || target === '_blank') {
26
- return;
27
- }
28
- if (href.startsWith('/')) {
29
- e.preventDefault();
30
- this.navigate(href);
31
- }
32
- });
16
+ // 🚀 FIX: SSR Safety check. Prevents crashes during Node.js CI test imports.
17
+ if (typeof window !== "undefined") {
18
+ window.addEventListener("popstate", this._boundNotify);
19
+ document.addEventListener("click", this._boundClick);
20
+ }
33
21
  }
34
22
  /**
35
- * Register or update the route configuration for this application.
23
+ * 🚀 FIX: Removes global listeners to prevent memory leaks during testing/teardown.
36
24
  */
25
+ destroy() {
26
+ if (typeof window !== "undefined") {
27
+ window.removeEventListener("popstate", this._boundNotify);
28
+ document.removeEventListener("click", this._boundClick);
29
+ }
30
+ }
31
+ _handleClick(e) {
32
+ if (e.defaultPrevented || e.button !== 0 || e.metaKey || e.ctrlKey || e.shiftKey || e.altKey) {
33
+ return;
34
+ }
35
+ const path = e.composedPath();
36
+ const link = path.find((el) => el && typeof el.hasAttribute === "function" && el.hasAttribute("href"));
37
+ if (!link)
38
+ return;
39
+ const href = link.getAttribute("href");
40
+ const target = link.getAttribute("target");
41
+ // 🚀 FIX: Ignore links with the 'download' attribute so file downloads aren't hijacked
42
+ if (!href ||
43
+ href.startsWith("http") ||
44
+ href.startsWith("mailto:") ||
45
+ target === "_blank" ||
46
+ link.hasAttribute("download")) {
47
+ return;
48
+ }
49
+ if (href.startsWith("/")) {
50
+ e.preventDefault();
51
+ this.navigate(href);
52
+ }
53
+ }
37
54
  setRoutes(routes) {
38
55
  this._routes = routes;
39
- // Trigger initial route resolution once routes are registered
40
56
  if (!this._initialized) {
41
57
  this._initialized = true;
42
- setTimeout(() => this._notify(), 0);
58
+ if (typeof window !== "undefined") {
59
+ setTimeout(() => this._notify(), 0);
60
+ }
43
61
  }
44
62
  else {
45
63
  this._notify();
46
64
  }
47
65
  }
48
- /**
49
- * Programmatically navigate to an internal path.
50
- */
51
66
  navigate(path) {
52
- window.history.pushState(null, '', path);
67
+ if (typeof window !== "undefined") {
68
+ window.history.pushState(null, "", path);
69
+ }
53
70
  this._notify();
54
71
  }
55
- /**
56
- * Matches a URL path against the registered routes.
57
- */
58
72
  matchRoute(currentPath) {
59
73
  const sortedRoutes = Object.entries(this._routes).sort(([patternA], [patternB]) => getRouteWeight(patternB) - getRouteWeight(patternA));
60
74
  for (const [pattern, routeDef] of sortedRoutes) {
61
75
  const paramNames = [];
62
76
  const regexPath = pattern.replace(/:([a-zA-Z0-9_]+)/g, (_, paramName) => {
63
77
  paramNames.push(paramName);
64
- return '([^/]+)';
78
+ return "([^/]+)";
65
79
  });
66
80
  const regex = new RegExp(`^${regexPath}$`);
67
81
  const match = currentPath.match(regex);
@@ -74,24 +88,26 @@ export class AppRouter {
74
88
  path: currentPath,
75
89
  component: routeDef.component,
76
90
  params,
77
- definition: routeDef
91
+ definition: routeDef,
78
92
  };
79
93
  }
80
94
  }
81
95
  return null;
82
96
  }
83
97
  _notify() {
98
+ if (typeof window === "undefined")
99
+ return;
84
100
  const currentPath = window.location.pathname;
85
101
  const match = this.matchRoute(currentPath);
86
- window.dispatchEvent(new CustomEvent('route-changed', {
102
+ window.dispatchEvent(new CustomEvent("route-changed", {
87
103
  detail: {
88
104
  path: currentPath,
89
- component: match ? match.component : 'not-found-page',
105
+ component: match ? match.component : "not-found-page",
90
106
  params: match ? match.params : {},
91
- definition: match ? match.definition : null
92
- }
107
+ definition: match ? match.definition : null,
108
+ },
93
109
  }));
94
110
  }
95
111
  }
96
- // Export a singleton instance for standard app-wide use
97
112
  export const router = new AppRouter();
113
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/components/router/router.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,50 @@
1
- import { LitElement } from 'lit';
1
+ import { LitElement, PropertyValues } from "lit";
2
+ export interface SelectOption {
3
+ label: string;
4
+ value: string;
5
+ }
6
+ export type SelectAutocomplete = "on" | "off" | "name" | "honorific-prefix" | "given-name" | "additional-name" | "family-name" | "honorific-suffix" | "nickname" | "email" | "username" | "new-password" | "current-password" | "one-time-code" | "organization" | "organization-title" | "url" | "photo" | "webauthn" | "street-address" | "address-line1" | "address-line2" | "address-line3" | "address-level1" | "address-level2" | "address-level3" | "address-level4" | "country" | "country-name" | "postal-code" | "cc-name" | "cc-given-name" | "cc-additional-name" | "cc-family-name" | "cc-number" | "cc-exp" | "cc-exp-month" | "cc-exp-year" | "cc-csc" | "cc-type" | "transaction-currency" | "transaction-amount" | "language" | "bday" | "bday-day" | "bday-month" | "bday-year" | "sex" | "tel" | "tel-country-code" | "tel-national" | "tel-area-code" | "tel-local" | "tel-local-prefix" | "tel-local-suffix" | "tel-extension" | "impp" | (string & {});
2
7
  export declare class StSelect extends LitElement {
3
- size: 'sm' | 'md' | 'lg';
4
- variant: 'outline' | 'filled';
5
- color: 'default' | 'primary' | 'error';
6
- focused: boolean;
8
+ static formAssociated: boolean;
9
+ private internals;
10
+ name: string;
11
+ label: string;
12
+ value: string;
13
+ required: boolean;
14
+ multiple: boolean;
15
+ searchable: boolean;
16
+ options: SelectOption[];
17
+ error: string;
18
+ disabled: boolean;
19
+ invalid: boolean;
20
+ autocomplete: SelectAutocomplete;
21
+ private open;
22
+ private filterText;
23
+ private nativeError;
24
+ private touched;
25
+ private buttonElement;
26
+ private searchInputEl?;
27
+ static styles: import("lit").CSSResult;
7
28
  constructor();
8
- static styles: import("lit").CSSResult[];
29
+ checkValidity(): boolean;
30
+ reportValidity(): boolean;
31
+ focus(options?: FocusOptions): void;
32
+ connectedCallback(): void;
33
+ disconnectedCallback(): void;
34
+ willUpdate(changedProperties: PropertyValues): void;
35
+ private get selectedValues();
36
+ private validate;
37
+ formResetCallback(): void;
38
+ private handleClickOutside;
39
+ private toggleOpen;
40
+ private handleOptionClick;
41
+ private handleSearchInput;
42
+ private handleButtonKeydown;
9
43
  render(): import("lit-html").TemplateResult<1>;
10
44
  }
11
45
  declare global {
12
46
  interface HTMLElementTagNameMap {
13
- 'st-select': StSelect;
47
+ "st-select": StSelect;
14
48
  }
15
49
  }
16
50
  //# sourceMappingURL=select.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/components/select/select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAI5C,qBACa,QAAS,SAAQ,UAAU;IACK,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAChC,OAAO,EAAE,SAAS,GAAG,QAAQ,CAAa;IAC1C,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAa;IAGlD,OAAO,UAAS;IAE5D,cAKC;IAED,MAAM,CAAC,MAAM,4BA2HX;IAEF,MAAM,yCASL;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,QAAQ,CAAC;KACvB;CACF"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/components/select/select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAa,cAAc,EAAC,MAAM,KAAK,CAAC;AAI1D,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,kBAAkB,GAC1B,IAAI,GACJ,KAAK,GACL,MAAM,GACN,kBAAkB,GAClB,YAAY,GACZ,iBAAiB,GACjB,aAAa,GACb,kBAAkB,GAClB,UAAU,GACV,OAAO,GACP,UAAU,GACV,cAAc,GACd,kBAAkB,GAClB,eAAe,GACf,cAAc,GACd,oBAAoB,GACpB,KAAK,GACL,OAAO,GACP,UAAU,GACV,gBAAgB,GAChB,eAAe,GACf,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,SAAS,GACT,cAAc,GACd,aAAa,GACb,SAAS,GACT,eAAe,GACf,oBAAoB,GACpB,gBAAgB,GAChB,WAAW,GACX,QAAQ,GACR,cAAc,GACd,aAAa,GACb,QAAQ,GACR,SAAS,GACT,sBAAsB,GACtB,oBAAoB,GACpB,UAAU,GACV,MAAM,GACN,UAAU,GACV,YAAY,GACZ,WAAW,GACX,KAAK,GACL,KAAK,GACL,kBAAkB,GAClB,cAAc,GACd,eAAe,GACf,WAAW,GACX,kBAAkB,GAClB,kBAAkB,GAClB,eAAe,GACf,MAAM,GACN,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,qBACa,QAAS,SAAQ,UAAU;IACtC,MAAM,CAAC,cAAc,UAAQ;IAC7B,OAAO,CAAC,SAAS,CAAmB;IAEV,IAAI,SAAM;IACV,KAAK,SAAM;IACX,KAAK,SAAM;IACV,QAAQ,UAAS;IACjB,QAAQ,UAAS;IACjB,UAAU,UAAS;IACrB,OAAO,EAAE,YAAY,EAAE,CAAM;IAC5B,KAAK,SAAM;IAEK,QAAQ,UAAS;IACjB,OAAO,UAAS;IAChC,YAAY,EAAE,kBAAkB,CAAS;IAE1D,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,OAAO,CAAS;IAEb,OAAO,CAAC,aAAa,CAAe;IAChC,OAAO,CAAC,aAAa,CAAC,CAAmB;IAEjE,MAAM,CAAC,MAAM,0BAyJX;IAEF,cAIC;IAEM,aAAa,IAAI,OAAO,CAE9B;IAEM,cAAc,IAAI,OAAO,CAK/B;IAEe,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,QAE3C;IAED,iBAAiB,SAQhB;IAED,oBAAoB,SAGnB;IAEQ,UAAU,CAAC,iBAAiB,EAAE,cAAc,QASpD;IAED,OAAO,KAAK,cAAc,GAMzB;IAED,OAAO,CAAC,QAAQ;IAmBhB,iBAAiB,SAKhB;IAED,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,mBAAmB;IAS3B,MAAM,yCA6HL;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,QAAQ,CAAC;KACvB;CACF"}