@sondor-technology/sondor-components 1.0.1-develop.12 → 1.0.1-develop.14

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 (226) 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 +1 -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 +7 -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 +109 -69
  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.d.ts +161 -86
  82. package/dist/components/icon/icon-paths.d.ts.map +1 -1
  83. package/dist/components/icon/icon-paths.js +176 -106
  84. package/dist/components/icon/icon-paths.js.map +1 -0
  85. package/dist/components/icon/icon.d.ts +1 -1
  86. package/dist/components/icon/icon.d.ts.map +1 -1
  87. package/dist/components/icon/icon.js +6 -5
  88. package/dist/components/icon/icon.js.map +1 -0
  89. package/dist/components/input/input.d.ts +9 -0
  90. package/dist/components/input/input.d.ts.map +1 -1
  91. package/dist/components/input/input.js +30 -37
  92. package/dist/components/input/input.js.map +1 -0
  93. package/dist/components/link/link.d.ts +6 -6
  94. package/dist/components/link/link.d.ts.map +1 -1
  95. package/dist/components/link/link.js +42 -19
  96. package/dist/components/link/link.js.map +1 -0
  97. package/dist/components/metadata/metadata.d.ts +3 -3
  98. package/dist/components/metadata/metadata.d.ts.map +1 -1
  99. package/dist/components/metadata/metadata.js +23 -20
  100. package/dist/components/metadata/metadata.js.map +1 -0
  101. package/dist/components/modal/modal.d.ts +4 -16
  102. package/dist/components/modal/modal.d.ts.map +1 -1
  103. package/dist/components/modal/modal.js +99 -62
  104. package/dist/components/modal/modal.js.map +1 -0
  105. package/dist/components/page-layout/page-layout.d.ts +4 -3
  106. package/dist/components/page-layout/page-layout.d.ts.map +1 -1
  107. package/dist/components/page-layout/page-layout.js +95 -68
  108. package/dist/components/page-layout/page-layout.js.map +1 -0
  109. package/dist/components/radio/radio.d.ts +8 -0
  110. package/dist/components/radio/radio.d.ts.map +1 -1
  111. package/dist/components/radio/radio.js +8 -12
  112. package/dist/components/radio/radio.js.map +1 -0
  113. package/dist/components/radio-group/radio-group.d.ts +6 -1
  114. package/dist/components/radio-group/radio-group.d.ts.map +1 -1
  115. package/dist/components/radio-group/radio-group.js +44 -18
  116. package/dist/components/radio-group/radio-group.js.map +1 -0
  117. package/dist/components/router/router.d.ts +5 -7
  118. package/dist/components/router/router.d.ts.map +1 -1
  119. package/dist/components/router/router.js +54 -38
  120. package/dist/components/router/router.js.map +1 -0
  121. package/dist/components/select/select.d.ts +6 -3
  122. package/dist/components/select/select.d.ts.map +1 -1
  123. package/dist/components/select/select.js +14 -5
  124. package/dist/components/select/select.js.map +1 -0
  125. package/dist/components/skeleton/skeleton.d.ts +3 -2
  126. package/dist/components/skeleton/skeleton.d.ts.map +1 -1
  127. package/dist/components/skeleton/skeleton.js +10 -13
  128. package/dist/components/skeleton/skeleton.js.map +1 -0
  129. package/dist/components/switch/switch.d.ts +12 -0
  130. package/dist/components/switch/switch.d.ts.map +1 -1
  131. package/dist/components/switch/switch.js +28 -22
  132. package/dist/components/switch/switch.js.map +1 -0
  133. package/dist/components/table/data-table.d.ts +3 -25
  134. package/dist/components/table/data-table.d.ts.map +1 -1
  135. package/dist/components/table/data-table.js +211 -146
  136. package/dist/components/table/data-table.js.map +1 -0
  137. package/dist/components/table/table.d.ts +3 -3
  138. package/dist/components/table/table.d.ts.map +1 -1
  139. package/dist/components/table/table.js +39 -20
  140. package/dist/components/table/table.js.map +1 -0
  141. package/dist/components/tabs/tab-panel.d.ts +3 -1
  142. package/dist/components/tabs/tab-panel.d.ts.map +1 -1
  143. package/dist/components/tabs/tab-panel.js +21 -11
  144. package/dist/components/tabs/tab-panel.js.map +1 -0
  145. package/dist/components/tabs/tab.d.ts +5 -1
  146. package/dist/components/tabs/tab.d.ts.map +1 -1
  147. package/dist/components/tabs/tab.js +46 -28
  148. package/dist/components/tabs/tab.js.map +1 -0
  149. package/dist/components/tabs/tabs.d.ts +4 -0
  150. package/dist/components/tabs/tabs.d.ts.map +1 -1
  151. package/dist/components/tabs/tabs.js +76 -13
  152. package/dist/components/tabs/tabs.js.map +1 -0
  153. package/dist/components/textarea/textarea.d.ts +13 -0
  154. package/dist/components/textarea/textarea.d.ts.map +1 -1
  155. package/dist/components/textarea/textarea.js +59 -13
  156. package/dist/components/textarea/textarea.js.map +1 -0
  157. package/dist/components/theme-toggle/theme-toggle.constants.d.ts +3 -0
  158. package/dist/components/theme-toggle/theme-toggle.constants.d.ts.map +1 -0
  159. package/dist/components/theme-toggle/theme-toggle.constants.js +2 -0
  160. package/dist/components/theme-toggle/theme-toggle.constants.js.map +1 -0
  161. package/dist/components/theme-toggle/theme-toggle.d.ts +3 -2
  162. package/dist/components/theme-toggle/theme-toggle.d.ts.map +1 -1
  163. package/dist/components/theme-toggle/theme-toggle.js +46 -19
  164. package/dist/components/theme-toggle/theme-toggle.js.map +1 -0
  165. package/dist/components/vertical-nav/vertical-nav-group.d.ts +5 -2
  166. package/dist/components/vertical-nav/vertical-nav-group.d.ts.map +1 -1
  167. package/dist/components/vertical-nav/vertical-nav-group.js +50 -14
  168. package/dist/components/vertical-nav/vertical-nav-group.js.map +1 -0
  169. package/dist/components/vertical-nav/vertical-nav-item.d.ts +3 -2
  170. package/dist/components/vertical-nav/vertical-nav-item.d.ts.map +1 -1
  171. package/dist/components/vertical-nav/vertical-nav-item.js +30 -8
  172. package/dist/components/vertical-nav/vertical-nav-item.js.map +1 -0
  173. package/dist/styles/index.css +48 -17
  174. package/dist/styles/reset.js +1 -0
  175. package/dist/styles/reset.js.map +1 -0
  176. package/package.json +2 -1
  177. package/src/components/alert/alert.constants.ts +2 -0
  178. package/src/components/alert/alert.ts +24 -15
  179. package/src/components/badge/badge.constants.ts +2 -0
  180. package/src/components/badge/badge.ts +3 -4
  181. package/src/components/breadcrumb/breadcrumb.ts +2 -2
  182. package/src/components/button/button.constants.ts +8 -0
  183. package/src/components/button/button.ts +184 -144
  184. package/src/components/button-group/button-group.ts +18 -22
  185. package/src/components/checkbox/checkbox.constants.ts +2 -0
  186. package/src/components/checkbox/checkbox.ts +33 -18
  187. package/src/components/code-block/code-block.ts +151 -84
  188. package/src/components/content-card/content-card.ts +10 -16
  189. package/src/components/divider/divider.constants.ts +5 -0
  190. package/src/components/divider/divider.ts +22 -11
  191. package/src/components/drawer/drawer.ts +79 -34
  192. package/src/components/field/field.ts +9 -11
  193. package/src/components/footer/footer.ts +43 -12
  194. package/src/components/form/form.ts +121 -84
  195. package/src/components/grid/grid-row.ts +45 -32
  196. package/src/components/grid/grid.ts +7 -4
  197. package/src/components/icon/icon-paths.ts +175 -106
  198. package/src/components/icon/icon.ts +6 -6
  199. package/src/components/input/input.ts +32 -42
  200. package/src/components/link/link.ts +45 -21
  201. package/src/components/metadata/metadata.ts +26 -24
  202. package/src/components/modal/modal.ts +108 -74
  203. package/src/components/page-layout/page-layout.ts +97 -72
  204. package/src/components/radio/radio.ts +8 -13
  205. package/src/components/radio-group/radio-group.ts +45 -21
  206. package/src/components/router/router.ts +73 -50
  207. package/src/components/select/select.ts +23 -18
  208. package/src/components/skeleton/skeleton.ts +14 -14
  209. package/src/components/switch/switch.ts +31 -25
  210. package/src/components/table/data-table.ts +248 -177
  211. package/src/components/table/table.ts +52 -29
  212. package/src/components/tabs/tab-panel.ts +25 -13
  213. package/src/components/tabs/tab.ts +58 -33
  214. package/src/components/tabs/tabs.ts +77 -15
  215. package/src/components/textarea/textarea.ts +63 -15
  216. package/src/components/theme-toggle/theme-toggle.constants.ts +2 -0
  217. package/src/components/theme-toggle/theme-toggle.ts +47 -22
  218. package/src/components/vertical-nav/vertical-nav-group.ts +57 -18
  219. package/src/components/vertical-nav/vertical-nav-item.ts +35 -12
  220. package/src/styles/globals.css +27 -4
  221. package/src/styles/theme.css +38 -32
  222. package/tsconfig.json +2 -1
  223. package/dist/components/card/card.d.ts +0 -11
  224. package/dist/components/card/card.d.ts.map +0 -1
  225. package/dist/components/card/card.js +0 -54
  226. package/src/components/card/card.ts +0 -53
@@ -13,242 +13,279 @@ let StButton = class StButton extends LitElement {
13
13
  this.target = "_self";
14
14
  this.disabled = false;
15
15
  this.loading = false;
16
- this.variant = "primary";
16
+ this.variant = "solid";
17
+ this.color = "default";
17
18
  this.size = "md";
18
- this.color = "primary";
19
19
  this.active = false;
20
20
  this.ariaLabel = null;
21
+ this.type = "button";
22
+ this.block = false;
23
+ }
24
+ disconnectedCallback() {
25
+ super.disconnectedCallback();
26
+ this.removeEventListener("click", this._handleClick);
21
27
  }
22
28
  render() {
23
29
  const content = html `<slot></slot>`;
24
30
  if (this.href) {
25
- return html `<a href="${this.href}" target="${this.target}" class="btn" color="${this.color}" aria-label=${this.ariaLabel || nothing}
31
+ return html `<a
32
+ href="${this.href}"
33
+ target="${this.target}"
34
+ class="btn"
35
+ aria-label=${this.ariaLabel || nothing}
26
36
  >${content}</a
27
37
  >`;
28
38
  }
39
+ // ADDED: Passing this.type to the native button element
29
40
  return html `
30
- <button class="btn" ?disabled=${this.disabled || this.loading}>
31
- ${this.loading
32
- ? html `
33
- <svg class="spinner" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
34
- <path
35
- opacity="0.2"
36
- fill-rule="evenodd"
37
- clip-rule="evenodd"
38
- d="M12 19C15.866 19 19 15.866 19 12C19 8.13401 15.866 5 12 5C8.13401 5 5 8.13401 5 12C5 15.866 8.13401 19 12 19ZM12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z"
39
- fill="currentColor"
40
- />
41
- <path
42
- d="M2 12C2 6.47715 6.47715 2 12 2V5C8.13401 5 5 8.13401 5 12H2Z"
43
- fill="currentColor"
44
- />
45
- </svg>
46
- `
47
- : html `<slot name="prefix"></slot>`}
41
+ <button
42
+ class="btn"
43
+ type="${this.type}"
44
+ ?disabled=${this.disabled || this.loading}
45
+ @click="${this._handleClick}"
46
+ >
47
+ ${this.renderLoadingSpinner()}
48
+ ${this.renderPrefixSlot()}
48
49
  ${content}
49
50
  <slot name="suffix"></slot>
50
51
  </button>
51
52
  `;
52
53
  }
54
+ renderLoadingSpinner() {
55
+ if (!this.loading) {
56
+ return html ``;
57
+ }
58
+ return html `<svg class="spinner" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
59
+ <path
60
+ opacity="0.2"
61
+ fill-rule="evenodd"
62
+ clip-rule="evenodd"
63
+ d="M12 19C15.866 19 19 15.866 19 12C19 8.13401 15.866 5 12 5C8.13401 5 5 8.13401 5 12C5 15.866 8.13401 19 12 19ZM12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z"
64
+ fill="currentColor"
65
+ />
66
+ <path d="M2 12C2 6.47715 6.47715 2 12 2V5C8.13401 5 5 8.13401 5 12H2Z" fill="currentColor" />
67
+ </svg>`;
68
+ }
69
+ renderPrefixSlot() {
70
+ if (this.loading) {
71
+ return html ``;
72
+ }
73
+ return html `<slot name="prefix"></slot>`;
74
+ }
75
+ _handleClick(e) {
76
+ if (this.disabled || this.loading) {
77
+ e.preventDefault();
78
+ e.stopPropagation();
79
+ return;
80
+ }
81
+ if (this.type === "submit") {
82
+ const form = this.closest("form");
83
+ if (form) {
84
+ e.preventDefault(); // Prevent duplicate events
85
+ form.requestSubmit(); // Natively triggers the form's submit event and validation
86
+ }
87
+ }
88
+ else if (this.type === "reset") {
89
+ const form = this.closest("form");
90
+ if (form) {
91
+ e.preventDefault();
92
+ form.reset();
93
+ }
94
+ }
95
+ }
53
96
  };
54
97
  StButton.styles = [
55
98
  resetStyles,
56
99
  css `
57
100
  :host {
58
- /* ==========================================================
59
- 1. Base Palette (Defaults to Primary Theme)
60
- ========================================================== */
61
- --_palette-base: var(--st-color-primary);
62
- --_palette-hover: var(--st-color-primary-hover);
63
- --_palette-surface: var(--st-color-surface);
64
- --_palette-surface-hover: var(--st-color-border);
65
-
66
- --_palette-text-on-base: var(--st-color-surface);
67
- --_palette-text-on-surface: var(--st-color-text);
68
-
69
- /* Sizing Tokens */
70
101
  --_btn-padding: var(--st-spacing-sm) var(--st-spacing-md);
71
102
  --_btn-font-size: var(--st-font-size-sm);
72
103
  --_btn-radius: 4px;
73
104
  --_btn-gap: var(--st-spacing-sm);
74
-
75
105
  display: inline-block;
76
106
  }
77
107
 
78
108
  /* ==========================================================
79
- 2. Semantic Color Overrides (Swaps the active palette)
109
+ VARIANT: SOLID (Filled background, contrasting text)
80
110
  ========================================================== */
81
- :host([color="error"]) {
82
- --_palette-base: var(--st-color-error);
83
- --_palette-hover: color-mix(in srgb, var(--st-color-error), black 15%);
84
- --_palette-surface: var(--st-color-error-bg);
85
- --_palette-surface-hover: color-mix(in srgb, var(--st-color-error-bg), black 10%);
86
- --_palette-text-on-base: var(--st-white); /* Force white text */
87
- --_palette-text-on-surface: var(--st-color-error);
111
+ /* 'default' consumes surface-hover and text, which naturally invert */
112
+ :host([variant="solid"][color="default"]) {
113
+ --_bg: var(--st-color-surface-hover);
114
+ --_text: var(--st-color-text);
88
115
  }
89
-
90
- :host([color="success"]) {
91
- --_palette-base: var(--st-color-success);
92
- --_palette-hover: color-mix(in srgb, var(--st-color-success), black 15%);
93
- --_palette-surface: var(--st-color-success-bg);
94
- --_palette-surface-hover: color-mix(in srgb, var(--st-color-success-bg), black 10%);
95
- --_palette-text-on-base: var(--st-white);
96
- --_palette-text-on-surface: var(--st-color-success);
116
+ /* Semantic colors use the semantic token for bg, and the global app bg (white/dark gray) for text */
117
+ :host([variant="solid"][color="primary"]) {
118
+ --_bg: var(--st-color-primary);
119
+ --_text: var(--st-color-bg);
97
120
  }
98
-
99
- :host([color="warning"]) {
100
- --_palette-base: var(--st-color-warning);
101
- --_palette-hover: color-mix(in srgb, var(--st-color-warning), black 15%);
102
- --_palette-surface: var(--st-color-warning-bg);
103
- --_palette-surface-hover: color-mix(in srgb, var(--st-color-warning-bg), black 10%);
104
- --_palette-text-on-base: var(--st-gray-900); /* Amber needs dark text for contrast */
105
- --_palette-text-on-surface: var(--st-color-warning);
121
+ :host([variant="solid"][color="error"]) {
122
+ --_bg: var(--st-color-error);
123
+ --_text: var(--st-color-bg);
124
+ }
125
+ :host([variant="solid"][color="success"]) {
126
+ --_bg: var(--st-color-success);
127
+ --_text: var(--st-color-bg);
128
+ }
129
+ :host([variant="solid"][color="warning"]) {
130
+ --_bg: var(--st-color-warning);
131
+ --_text: var(--st-color-bg);
132
+ }
133
+ :host([variant="solid"][color="info"]) {
134
+ --_bg: var(--st-color-info);
135
+ --_text: var(--st-color-bg);
106
136
  }
107
137
 
108
- :host([color="info"]) {
109
- --_palette-base: var(--st-color-info);
110
- --_palette-hover: color-mix(in srgb, var(--st-color-info), black 15%);
111
- --_palette-surface: var(--st-color-info-bg);
112
- --_palette-surface-hover: color-mix(in srgb, var(--st-color-info-bg), black 10%);
113
- --_palette-text-on-base: var(--st-white);
114
- --_palette-text-on-surface: var(--st-color-info);
138
+ :host([variant="solid"]) .btn:hover {
139
+ filter: brightness(var(--st-hover-brightness, 0.9));
115
140
  }
116
141
 
117
142
  /* ==========================================================
118
- 3. Visual Variants (Consumes the active palette)
143
+ VARIANT: OUTLINE (Transparent bg, semantic text/border)
119
144
  ========================================================== */
145
+ :host([variant="outline"]) {
146
+ --_bg: transparent;
147
+ }
148
+ :host([variant="outline"][color="default"]) {
149
+ --_border: var(--st-gray-500, #71717a);
150
+ --_text: var(--st-color-text);
151
+ }
152
+ :host([variant="outline"][color="primary"]) {
153
+ --_border: var(--st-color-primary-text);
154
+ --_text: var(--st-color-primary-text);
155
+ }
156
+ :host([variant="outline"][color="error"]) {
157
+ --_border: var(--st-color-error-text);
158
+ --_text: var(--st-color-error-text);
159
+ }
160
+ :host([variant="outline"][color="success"]) {
161
+ --_border: var(--st-color-success);
162
+ --_text: var(--st-color-success);
163
+ }
164
+ :host([variant="outline"][color="warning"]) {
165
+ --_border: var(--st-color-warning);
166
+ --_text: var(--st-color-warning);
167
+ }
168
+ :host([variant="outline"][color="info"]) {
169
+ --_border: var(--st-color-info-text);
170
+ --_text: var(--st-color-info-text);
171
+ }
120
172
 
121
- /* Base (Primary / Solid) */
122
- :host {
123
- --_btn-bg: var(--_palette-base);
124
- --_btn-bg-hover: var(--_palette-hover);
125
- --_btn-text: var(--_palette-text-on-base);
126
- --_btn-border: transparent;
173
+ :host([variant="outline"]) .btn:hover {
174
+ background-color: var(--st-color-surface-hover);
127
175
  }
128
176
 
129
- /* Secondary Variant */
130
- :host([variant="secondary"]) {
131
- --_btn-bg: var(--_palette-surface);
132
- --_btn-bg-hover: var(--_palette-surface-hover);
133
- --_btn-text: var(--_palette-text-on-surface);
134
- --_btn-border: transparent;
177
+ /* ==========================================================
178
+ VARIANT: SECONDARY (Soft background, semantic text)
179
+ ========================================================== */
180
+ :host([variant="secondary"][color="default"]) {
181
+ --_bg: var(--st-color-surface);
182
+ --_text: var(--st-color-text);
183
+ }
184
+ :host([variant="secondary"][color="primary"]) {
185
+ --_bg: var(--st-color-primary-bg);
186
+ --_text: var(--st-color-primary-text);
187
+ }
188
+ :host([variant="secondary"][color="error"]) {
189
+ --_bg: var(--st-color-error-bg);
190
+ --_text: var(--st-color-error-text);
191
+ }
192
+ :host([variant="secondary"][color="success"]) {
193
+ --_bg: var(--st-color-success-bg);
194
+ --_text: var(--st-color-success);
195
+ }
196
+ :host([variant="secondary"][color="warning"]) {
197
+ --_bg: var(--st-color-warning-bg);
198
+ --_text: var(--st-color-warning);
199
+ }
200
+ :host([variant="secondary"][color="info"]) {
201
+ --_bg: var(--st-color-info-bg);
202
+ --_text: var(--st-color-info-text);
135
203
  }
136
204
 
137
- /* Outline Variant */
138
- :host([variant="outline"]) {
139
- --_btn-bg: transparent;
140
- --_btn-bg-hover: var(--_palette-surface);
141
- --_btn-text: var(--_palette-base);
142
- --_btn-border: var(--_palette-base);
205
+ :host([variant="secondary"]) .btn:hover {
206
+ filter: brightness(var(--st-hover-brightness, 0.9));
143
207
  }
144
208
 
145
209
  /* ==========================================================
146
- 4. Size Variants
210
+ LAYOUT, SIZE & BASE APPLICATION
147
211
  ========================================================== */
212
+ :host([block]) {
213
+ display: block;
214
+ width: 100%;
215
+ }
216
+ :host([block]) .btn {
217
+ width: 100%;
218
+ }
219
+
148
220
  :host([size="sm"]) {
149
221
  --_btn-padding: var(--st-spacing-xs) var(--st-spacing-sm);
150
222
  --_btn-font-size: var(--st-font-size-xs);
151
223
  --_btn-radius: 2px;
152
224
  --_btn-gap: var(--st-spacing-xs);
153
225
  }
154
-
155
226
  :host([size="lg"]) {
156
227
  --_btn-padding: var(--st-spacing-md) var(--st-spacing-lg);
157
228
  --_btn-font-size: var(--st-font-size-base);
158
229
  --_btn-radius: 6px;
159
- --_btn-gap: var(--st-spacing-sm);
160
230
  }
161
231
 
162
- /* ==========================================================
163
- 5. Base Button Rules
164
- ========================================================== */
165
232
  .btn {
166
233
  display: inline-flex;
167
234
  align-items: center;
168
235
  justify-content: center;
169
236
  gap: var(--_btn-gap);
170
237
 
171
- background-color: var(--_btn-bg);
172
- color: var(--_btn-text);
173
- border: 1px solid var(--_btn-border);
238
+ background-color: var(--_bg);
239
+ color: var(--_text);
240
+ border: 1px solid var(--_border, transparent);
241
+
174
242
  padding: var(--_btn-padding);
175
243
  font-size: var(--_btn-font-size);
176
- border-radius: var(--_btn-radius);
177
244
  line-height: 1;
178
245
 
179
246
  cursor: pointer;
180
- font-weight: var(--st-font-weight-medium);
247
+ font-weight: var(--st-font-weight-medium, 500);
181
248
  transition: all 0.2s ease;
182
- padding: 0.5rem 1rem;
249
+ text-decoration: none;
183
250
 
184
- /* 1. Split the border radius into 4 independent corners */
185
251
  border-radius: var(--btn-radius-tl, var(--st-radius-md, 0.5rem))
186
252
  var(--btn-radius-tr, var(--st-radius-md, 0.5rem))
187
253
  var(--btn-radius-br, var(--st-radius-md, 0.5rem))
188
254
  var(--btn-radius-bl, var(--st-radius-md, 0.5rem));
189
-
190
- /* 2. Add a hook for the group wrapper to inject a divider line */
191
- box-shadow: var(--btn-divider, none);
192
-
193
- font-weight: 500;
194
- text-decoration: none;
195
- border: 1px solid transparent;
196
- }
197
-
198
- .btn:hover {
199
- color: var(--_btn-text);
200
- background-color: var(--_btn-bg-hover);
201
255
  }
202
256
 
203
- /* ==========================================================
204
- Logical Active States (Selected/Toggled)
205
- ========================================================== */
206
257
  :host([active]) .btn {
207
258
  filter: brightness(0.9);
208
259
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.2);
209
- border-color: transparent;
210
- color: var(--_btn-text);
211
- background-color: var(--_btn-bg-hover);
212
- }
213
-
214
- :host([active]) .btn[color="primary"] {
215
- filter: brightness(0.85);
216
- box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2); /* Inset shadow gives a pressed look */
260
+ background-color: var(--_bg); /* Retain base background */
217
261
  }
218
262
 
219
- /* ==========================================================
220
- Focus State (Accessibility)
221
- ========================================================== */
222
- /* focus-visible ensures this only shows for keyboard navigation, not mouse clicks */
223
263
  .btn:focus-visible {
224
- outline: 2px solid var(--st-color-primary);
225
- outline-offset: 2px;
226
- z-index: 1; /* Pulls the focused button forward if it's in a button group */
264
+ outline: none;
265
+ box-shadow:
266
+ 0 0 0 2px var(--st-color-bg, #ffffff),
267
+ 0 0 0 4px var(--st-color-primary);
268
+ z-index: 1;
227
269
  }
228
270
 
229
- /* ==========================================================
230
- Physical Active State (Mouse down)
231
- ========================================================== */
232
271
  .btn:active {
233
272
  transform: scale(0.98);
234
273
  }
235
274
 
236
- /* Disabled & Loading */
237
275
  :host([disabled]),
238
276
  :host([loading]) {
239
277
  pointer-events: none;
240
278
  }
241
279
 
242
- :host([disabled]) button {
280
+ :host([disabled]) .btn {
243
281
  opacity: 0.5;
244
282
  cursor: not-allowed;
245
283
  }
246
284
 
247
- :host([loading]) button {
285
+ :host([loading]) .btn {
248
286
  opacity: 0.8;
249
287
  }
250
288
 
251
- /* Icons & Spinner */
252
289
  ::slotted(svg),
253
290
  svg.spinner {
254
291
  width: 1.25em;
@@ -288,17 +325,24 @@ __decorate([
288
325
  ], StButton.prototype, "variant", void 0);
289
326
  __decorate([
290
327
  property({ type: String, reflect: true })
291
- ], StButton.prototype, "size", void 0);
328
+ ], StButton.prototype, "color", void 0);
292
329
  __decorate([
293
330
  property({ type: String, reflect: true })
294
- ], StButton.prototype, "color", void 0);
331
+ ], StButton.prototype, "size", void 0);
295
332
  __decorate([
296
333
  property({ type: Boolean, reflect: true })
297
334
  ], StButton.prototype, "active", void 0);
298
335
  __decorate([
299
- property({ type: String, attribute: 'aria-label' })
336
+ property({ type: String, attribute: "aria-label" })
300
337
  ], StButton.prototype, "ariaLabel", void 0);
338
+ __decorate([
339
+ property({ type: String, reflect: true })
340
+ ], StButton.prototype, "type", void 0);
341
+ __decorate([
342
+ property({ type: Boolean, reflect: true })
343
+ ], StButton.prototype, "block", void 0);
301
344
  StButton = __decorate([
302
345
  customElement("st-button")
303
346
  ], StButton);
304
347
  export { StButton };
348
+ //# sourceMappingURL=button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/components/button/button.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { LitElement } from "lit";
2
2
  export declare class StButtonGroup extends LitElement {
3
3
  static styles: import("lit").CSSResult[];
4
+ connectedCallback(): void;
4
5
  render(): import("lit-html").TemplateResult<1>;
5
6
  }
6
7
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"button-group.d.ts","sourceRoot":"","sources":["../../../src/components/button-group/button-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAY,MAAM,KAAK,CAAC;AAI1C,qBACa,aAAc,SAAQ,UAAU;IAC3C,MAAM,CAAC,MAAM,4BAmDX;IAEF,MAAM,yCAML;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,aAAa,CAAC;KAClC;CACF"}
1
+ {"version":3,"file":"button-group.d.ts","sourceRoot":"","sources":["../../../src/components/button-group/button-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAY,MAAM,KAAK,CAAC;AAI1C,qBACa,aAAc,SAAQ,UAAU;IAC3C,MAAM,CAAC,MAAM,4BA0CX;IAEF,iBAAiB,SAOhB;IAED,MAAM,yCAEL;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,aAAa,CAAC;KAClC;CACF"}
@@ -8,12 +8,16 @@ import { LitElement, html, css } from "lit";
8
8
  import { customElement } from "lit/decorators.js";
9
9
  import { resetStyles } from "../../styles/reset";
10
10
  let StButtonGroup = class StButtonGroup extends LitElement {
11
+ connectedCallback() {
12
+ super.connectedCallback();
13
+ // Automatically apply the semantic role to the host if the developer omits it.
14
+ // This allows them to just write: <st-button-group aria-label="Pagination">
15
+ if (!this.hasAttribute("role")) {
16
+ this.setAttribute("role", "group");
17
+ }
18
+ }
11
19
  render() {
12
- return html `
13
- <div class="group" role="group" aria-label="button group">
14
- <slot></slot>
15
- </div>
16
- `;
20
+ return html `<slot></slot>`;
17
21
  }
18
22
  };
19
23
  StButtonGroup.styles = [
@@ -24,10 +28,6 @@ StButtonGroup.styles = [
24
28
  align-items: center;
25
29
  }
26
30
 
27
- .group {
28
- display: inline-flex;
29
- }
30
-
31
31
  /* 1. Flatten all corners by default */
32
32
  ::slotted(st-button) {
33
33
  --btn-radius-tl: 0px;
@@ -49,21 +49,16 @@ StButtonGroup.styles = [
49
49
  --btn-radius-br: var(--st-radius-md, 0.5rem);
50
50
  }
51
51
 
52
- /* 4. Collapse borders by hiding the left border of adjacent default buttons */
53
- ::slotted(st-button[color="default"]:not(:first-child)) {
52
+ /* 4. Collapse borders by pulling adjacent buttons left */
53
+ ::slotted(st-button:not(:first-child)) {
54
54
  margin-left: -1px;
55
55
  }
56
56
 
57
- /* 5. Prevent Primary buttons from overlapping at all, use box-shadow for the divider */
58
- ::slotted(st-button[color="primary"]:not(:first-child)) {
59
- --btn-divider: inset 1px 0 0 0 rgba(255, 255, 255, 0.3);
60
- margin-left: 0; /* Override any inherited negative margins */
61
- }
62
-
63
- /* 6. Pull active/hovered default buttons forward so their full border shows */
64
- ::slotted(st-button[color="default"]:hover),
65
- ::slotted(st-button[color="default"]:focus-within),
66
- ::slotted(st-button[color="default"]:active) {
57
+ /* 5. Pull active/hovered buttons forward so their full border shows */
58
+ ::slotted(st-button:hover),
59
+ ::slotted(st-button:focus-within),
60
+ ::slotted(st-button:active),
61
+ ::slotted(st-button[active]) {
67
62
  z-index: 1;
68
63
  }
69
64
  `,
@@ -72,3 +67,4 @@ StButtonGroup = __decorate([
72
67
  customElement("st-button-group")
73
68
  ], StButtonGroup);
74
69
  export { StButtonGroup };
70
+ //# sourceMappingURL=button-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-group.js","sourceRoot":"","sources":["../../../src/components/button-group/button-group.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,UAAU,EAAE,IAAI,EAAE,GAAG,EAAC,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAGxC,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,UAAU;IA6C3C,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,+EAA+E;QAC/E,4EAA4E;QAC5E,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;CACF,CAAA;AAxDQ,oBAAM,GAAG;IACd,WAAW;IACX,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuCF;CACF,AA1CY,CA0CX;AA3CS,aAAa;IADzB,aAAa,CAAC,iBAAiB,CAAC;GACpB,aAAa,CAyDzB"}
@@ -0,0 +1,3 @@
1
+ export declare const checkboxSizes: readonly ["sm", "md", "lg"];
2
+ export type CheckboxSize = (typeof checkboxSizes)[number];
3
+ //# sourceMappingURL=checkbox.constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.constants.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/checkbox.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,YAAI,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AACzD,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export const checkboxSizes = ["sm", "md", "lg"];
2
+ //# sourceMappingURL=checkbox.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.constants.js","sourceRoot":"","sources":["../../../src/components/checkbox/checkbox.constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import { LitElement, PropertyValues } from "lit";
2
+ import { CheckboxSize } from "./checkbox.constants.js";
2
3
  export declare class StCheckbox extends LitElement {
3
4
  static formAssociated: boolean;
4
5
  private _internals;
5
6
  private _inputEl;
6
- size: "sm" | "md" | "lg";
7
+ size: CheckboxSize;
7
8
  name: string;
8
9
  value: string;
9
10
  checked: boolean;
@@ -19,6 +20,9 @@ export declare class StCheckbox extends LitElement {
19
20
  private _syncValidity;
20
21
  checkValidity(): boolean;
21
22
  reportValidity(): boolean;
23
+ get validity(): ValidityState;
24
+ get validationMessage(): string;
25
+ get willValidate(): boolean;
22
26
  formResetCallback(): void;
23
27
  private _handleChange;
24
28
  render(): import("lit-html").TemplateResult<1>;
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAa,cAAc,EAAC,MAAM,KAAK,CAAC;AAI1D,qBACa,UAAW,SAAQ,UAAU;IACxC,MAAM,CAAC,cAAc,UAAQ;IAC7B,OAAO,CAAC,UAAU,CAAmB;IAErB,OAAO,CAAC,QAAQ,CAAoB;IAEX,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAChC,IAAI,SAAM;IACzB,KAAK,SAAQ;IAEG,OAAO,UAAS;IAChB,aAAa,UAAS;IAEtB,QAAQ,UAAS;IACjB,OAAO,UAAS;IAChB,QAAQ,UAAS;IACjC,YAAY,SAAM;IAEP,SAAS,SAAM;IAEpD,cAWC;IAED,MAAM,CAAC,MAAM,4BA6GX;IAEO,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,QAWvD;IAED,OAAO,CAAC,aAAa;IAmBd,aAAa,IAAI,OAAO,CAkB9B;IAEM,cAAc,IAAI,OAAO,CAK/B;IAED,iBAAiB,SAMhB;IAED,OAAO,CAAC,aAAa;IAkBrB,MAAM,yCAwBL;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
1
+ {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAa,cAAc,EAAC,MAAM,KAAK,CAAC;AAG1D,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAErD,qBACa,UAAW,SAAQ,UAAU;IACxC,MAAM,CAAC,cAAc,UAAQ;IAC7B,OAAO,CAAC,UAAU,CAAmB;IAErB,OAAO,CAAC,QAAQ,CAAoB;IAEX,IAAI,EAAE,YAAY,CAAQ;IAC1B,IAAI,SAAM;IACzB,KAAK,SAAQ;IAEG,OAAO,UAAS;IAChB,aAAa,UAAS;IAEtB,QAAQ,UAAS;IACjB,OAAO,UAAS;IAChB,QAAQ,UAAS;IACjC,YAAY,SAAM;IAEP,SAAS,SAAM;IAEpD,cAWC;IAED,MAAM,CAAC,MAAM,4BA6GX;IAEO,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,QAevD;IAED,OAAO,CAAC,aAAa;IAkBd,aAAa,IAAI,OAAO,CAiB9B;IAEM,cAAc,IAAI,OAAO,CAK/B;IAED,IAAW,QAAQ,IAAI,aAAa,CAEnC;IAED,IAAW,iBAAiB,IAAI,MAAM,CAErC;IAED,IAAW,YAAY,IAAI,OAAO,CAEjC;IAED,iBAAiB,SAMhB;IAED,OAAO,CAAC,aAAa;IAkBrB,MAAM,yCAwBL;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
@@ -21,16 +21,18 @@ let StCheckbox = class StCheckbox extends LitElement {
21
21
  this.errorMessage = "";
22
22
  this.ariaLabel = "";
23
23
  this._internals = this.attachInternals();
24
- this.addEventListener('focusout', () => {
24
+ this.addEventListener("focusout", () => {
25
25
  this.invalid = !this.checkValidity();
26
26
  });
27
- this.addEventListener('invalid', () => {
27
+ this.addEventListener("invalid", () => {
28
28
  this.invalid = !this.checkValidity();
29
29
  });
30
30
  }
31
31
  updated(changedProperties) {
32
32
  super.updated(changedProperties);
33
- if (changedProperties.has("checked") || changedProperties.has("value") || changedProperties.has("errorMessage")) {
33
+ if (changedProperties.has("checked") ||
34
+ changedProperties.has("value") ||
35
+ changedProperties.has("errorMessage")) {
34
36
  this._internals.setFormValue(this.checked ? this.value : null);
35
37
  this._syncValidity();
36
38
  }
@@ -42,7 +44,9 @@ let StCheckbox = class StCheckbox extends LitElement {
42
44
  if (!this._inputEl)
43
45
  return;
44
46
  if (this.required && !this.checked) {
45
- const message = this.errorMessage || this._inputEl.validationMessage || "Please check this box if you want to proceed.";
47
+ const message = this.errorMessage ||
48
+ this._inputEl.validationMessage ||
49
+ "Please check this box if you want to proceed.";
46
50
  this._internals.setValidity({ valueMissing: true }, message, this._inputEl);
47
51
  }
48
52
  else {
@@ -53,7 +57,9 @@ let StCheckbox = class StCheckbox extends LitElement {
53
57
  if (!this._inputEl)
54
58
  return true;
55
59
  if (this.required && !this.checked) {
56
- const message = this.errorMessage || this._inputEl.validationMessage || "Please check this box if you want to proceed.";
60
+ const message = this.errorMessage ||
61
+ this._inputEl.validationMessage ||
62
+ "Please check this box if you want to proceed.";
57
63
  this._internals.setValidity({ valueMissing: true }, message, this._inputEl);
58
64
  this.invalid = true;
59
65
  return false;
@@ -69,6 +75,15 @@ let StCheckbox = class StCheckbox extends LitElement {
69
75
  this.invalid = !isValid;
70
76
  return isValid;
71
77
  }
78
+ get validity() {
79
+ return this._internals.validity;
80
+ }
81
+ get validationMessage() {
82
+ return this._internals.validationMessage;
83
+ }
84
+ get willValidate() {
85
+ return this._internals.willValidate;
86
+ }
72
87
  formResetCallback() {
73
88
  this.checked = false;
74
89
  this.indeterminate = false;
@@ -263,3 +278,4 @@ StCheckbox = __decorate([
263
278
  customElement("st-checkbox")
264
279
  ], StCheckbox);
265
280
  export { StCheckbox };
281
+ //# sourceMappingURL=checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../../src/components/checkbox/checkbox.ts"],"names":[],"mappings":"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"}