@sondor-technology/sondor-components 1.0.0-1165-initial-setup.11 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/package.json +2 -3
  2. package/src/components/alert/alert.ts +100 -100
  3. package/src/components/badge/badge.ts +96 -96
  4. package/src/components/breadcrumb/breadcrumb.ts +98 -98
  5. package/src/components/button/button.ts +281 -281
  6. package/src/components/button-group/button-group.ts +67 -67
  7. package/src/components/card/card.ts +52 -52
  8. package/src/components/checkbox/checkbox.ts +238 -238
  9. package/src/components/code-block/code-block.ts +256 -256
  10. package/src/components/content-card/content-card.ts +133 -133
  11. package/src/components/divider/divider.ts +68 -68
  12. package/src/components/drawer/drawer.ts +217 -217
  13. package/src/components/field/field.ts +30 -30
  14. package/src/components/footer/footer.ts +58 -58
  15. package/src/components/form/form-step.ts +32 -32
  16. package/src/components/form/form.ts +376 -376
  17. package/src/components/grid/grid-row.ts +75 -75
  18. package/src/components/grid/grid.ts +36 -36
  19. package/src/components/icon/icon-paths.ts +124 -124
  20. package/src/components/icon/icon.ts +82 -82
  21. package/src/components/input/input.ts +248 -248
  22. package/src/components/link/link.ts +97 -97
  23. package/src/components/metadata/metadata.ts +66 -66
  24. package/src/components/modal/modal.ts +158 -158
  25. package/src/components/page-layout/page-layout.ts +704 -704
  26. package/src/components/radio/radio.ts +142 -142
  27. package/src/components/radio-group/radio-group.ts +157 -157
  28. package/src/components/router/router.ts +46 -46
  29. package/src/components/select/select.ts +161 -161
  30. package/src/components/skeleton/skeleton.ts +67 -67
  31. package/src/components/switch/switch.ts +181 -181
  32. package/src/components/table/data-table.ts +556 -556
  33. package/src/components/table/table.ts +153 -153
  34. package/src/components/tabs/tab-panel.ts +30 -30
  35. package/src/components/tabs/tab.ts +76 -76
  36. package/src/components/tabs/tabs.ts +88 -88
  37. package/src/components/textarea/textarea.ts +215 -215
  38. package/src/components/theme-toggle/theme-toggle.ts +131 -131
  39. package/src/components/vertical-nav/vertical-nav-group.ts +96 -96
  40. package/src/components/vertical-nav/vertical-nav-item.ts +49 -49
  41. package/src/styles/globals.css +58 -58
  42. package/src/styles/index.css +80 -80
  43. package/src/styles/reset.ts +50 -50
  44. package/src/styles/theme.css +58 -58
  45. package/src/styles/typography.css +25 -25
  46. package/tsconfig.json +15 -15
  47. package/README.md +0 -8
  48. package/dist/components/alert/alert.d.ts +0 -13
  49. package/dist/components/alert/alert.d.ts.map +0 -1
  50. package/dist/components/alert/alert.js +0 -105
  51. package/dist/components/badge/badge.d.ts +0 -13
  52. package/dist/components/badge/badge.d.ts.map +0 -1
  53. package/dist/components/badge/badge.js +0 -101
  54. package/dist/components/breadcrumb/breadcrumb.d.ts +0 -19
  55. package/dist/components/breadcrumb/breadcrumb.d.ts.map +0 -1
  56. package/dist/components/breadcrumb/breadcrumb.js +0 -99
  57. package/dist/components/button/button.d.ts +0 -23
  58. package/dist/components/button/button.d.ts.map +0 -1
  59. package/dist/components/button/button.js +0 -304
  60. package/dist/components/button-group/button-group.d.ts +0 -6
  61. package/dist/components/button-group/button-group.d.ts.map +0 -1
  62. package/dist/components/button-group/button-group.js +0 -74
  63. package/dist/components/card/card.d.ts +0 -11
  64. package/dist/components/card/card.d.ts.map +0 -1
  65. package/dist/components/card/card.js +0 -54
  66. package/dist/components/checkbox/checkbox.d.ts +0 -28
  67. package/dist/components/checkbox/checkbox.d.ts.map +0 -1
  68. package/dist/components/checkbox/checkbox.js +0 -247
  69. package/dist/components/code-block/code-block.d.ts +0 -20
  70. package/dist/components/code-block/code-block.d.ts.map +0 -1
  71. package/dist/components/code-block/code-block.js +0 -260
  72. package/dist/components/content-card/content-card.d.ts +0 -13
  73. package/dist/components/content-card/content-card.d.ts.map +0 -1
  74. package/dist/components/content-card/content-card.js +0 -140
  75. package/dist/components/divider/divider.d.ts +0 -16
  76. package/dist/components/divider/divider.d.ts.map +0 -1
  77. package/dist/components/divider/divider.js +0 -82
  78. package/dist/components/drawer/drawer.d.ts +0 -22
  79. package/dist/components/drawer/drawer.d.ts.map +0 -1
  80. package/dist/components/drawer/drawer.js +0 -226
  81. package/dist/components/field/field.d.ts +0 -11
  82. package/dist/components/field/field.d.ts.map +0 -1
  83. package/dist/components/field/field.js +0 -32
  84. package/dist/components/footer/footer.d.ts +0 -6
  85. package/dist/components/footer/footer.d.ts.map +0 -1
  86. package/dist/components/footer/footer.js +0 -65
  87. package/dist/components/form/form-step.d.ts +0 -13
  88. package/dist/components/form/form-step.d.ts.map +0 -1
  89. package/dist/components/form/form-step.js +0 -41
  90. package/dist/components/form/form.d.ts +0 -25
  91. package/dist/components/form/form.d.ts.map +0 -1
  92. package/dist/components/form/form.js +0 -358
  93. package/dist/components/grid/grid-row.d.ts +0 -17
  94. package/dist/components/grid/grid-row.d.ts.map +0 -1
  95. package/dist/components/grid/grid-row.js +0 -92
  96. package/dist/components/grid/grid.d.ts +0 -13
  97. package/dist/components/grid/grid.d.ts.map +0 -1
  98. package/dist/components/grid/grid.js +0 -42
  99. package/dist/components/icon/icon-paths.d.ts +0 -116
  100. package/dist/components/icon/icon-paths.d.ts.map +0 -1
  101. package/dist/components/icon/icon-paths.js +0 -121
  102. package/dist/components/icon/icon.d.ts +0 -16
  103. package/dist/components/icon/icon.d.ts.map +0 -1
  104. package/dist/components/icon/icon.js +0 -95
  105. package/dist/components/input/input.d.ts +0 -31
  106. package/dist/components/input/input.d.ts.map +0 -1
  107. package/dist/components/input/input.js +0 -268
  108. package/dist/components/link/link.d.ts +0 -16
  109. package/dist/components/link/link.d.ts.map +0 -1
  110. package/dist/components/link/link.js +0 -116
  111. package/dist/components/metadata/metadata.d.ts +0 -18
  112. package/dist/components/metadata/metadata.d.ts.map +0 -1
  113. package/dist/components/metadata/metadata.js +0 -71
  114. package/dist/components/modal/modal.d.ts +0 -24
  115. package/dist/components/modal/modal.d.ts.map +0 -1
  116. package/dist/components/modal/modal.js +0 -163
  117. package/dist/components/page-layout/page-layout.d.ts +0 -46
  118. package/dist/components/page-layout/page-layout.d.ts.map +0 -1
  119. package/dist/components/page-layout/page-layout.js +0 -697
  120. package/dist/components/radio/radio.d.ts +0 -16
  121. package/dist/components/radio/radio.d.ts.map +0 -1
  122. package/dist/components/radio/radio.js +0 -152
  123. package/dist/components/radio-group/radio-group.d.ts +0 -27
  124. package/dist/components/radio-group/radio-group.d.ts.map +0 -1
  125. package/dist/components/radio-group/radio-group.js +0 -161
  126. package/dist/components/router/router.d.ts +0 -7
  127. package/dist/components/router/router.d.ts.map +0 -1
  128. package/dist/components/router/router.js +0 -37
  129. package/dist/components/select/select.d.ts +0 -16
  130. package/dist/components/select/select.d.ts.map +0 -1
  131. package/dist/components/select/select.js +0 -172
  132. package/dist/components/skeleton/skeleton.d.ts +0 -17
  133. package/dist/components/skeleton/skeleton.d.ts.map +0 -1
  134. package/dist/components/skeleton/skeleton.js +0 -78
  135. package/dist/components/switch/switch.d.ts +0 -25
  136. package/dist/components/switch/switch.d.ts.map +0 -1
  137. package/dist/components/switch/switch.js +0 -185
  138. package/dist/components/table/data-table.d.ts +0 -72
  139. package/dist/components/table/data-table.d.ts.map +0 -1
  140. package/dist/components/table/data-table.js +0 -551
  141. package/dist/components/table/table.d.ts +0 -22
  142. package/dist/components/table/table.d.ts.map +0 -1
  143. package/dist/components/table/table.js +0 -167
  144. package/dist/components/tabs/tab-panel.d.ts +0 -8
  145. package/dist/components/tabs/tab-panel.d.ts.map +0 -1
  146. package/dist/components/tabs/tab-panel.js +0 -46
  147. package/dist/components/tabs/tab.d.ts +0 -9
  148. package/dist/components/tabs/tab.d.ts.map +0 -1
  149. package/dist/components/tabs/tab.js +0 -91
  150. package/dist/components/tabs/tabs.d.ts +0 -14
  151. package/dist/components/tabs/tabs.d.ts.map +0 -1
  152. package/dist/components/tabs/tabs.js +0 -85
  153. package/dist/components/textarea/textarea.d.ts +0 -36
  154. package/dist/components/textarea/textarea.d.ts.map +0 -1
  155. package/dist/components/textarea/textarea.js +0 -231
  156. package/dist/components/theme-toggle/theme-toggle.d.ts +0 -15
  157. package/dist/components/theme-toggle/theme-toggle.d.ts.map +0 -1
  158. package/dist/components/theme-toggle/theme-toggle.js +0 -130
  159. package/dist/components/vertical-nav/vertical-nav-group.d.ts +0 -9
  160. package/dist/components/vertical-nav/vertical-nav-group.d.ts.map +0 -1
  161. package/dist/components/vertical-nav/vertical-nav-group.js +0 -111
  162. package/dist/components/vertical-nav/vertical-nav-item.d.ts +0 -8
  163. package/dist/components/vertical-nav/vertical-nav-item.d.ts.map +0 -1
  164. package/dist/components/vertical-nav/vertical-nav-item.js +0 -65
  165. package/dist/styles/index.css +0 -171
  166. package/dist/styles/reset.d.ts +0 -2
  167. package/dist/styles/reset.d.ts.map +0 -1
  168. package/dist/styles/reset.js +0 -50
@@ -1,697 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { LitElement, html, css } from 'lit';
8
- import { customElement, property, state } from 'lit/decorators.js';
9
- import { resetStyles } from '../../styles/reset.js';
10
- let StPageLayout = class StPageLayout extends LitElement {
11
- constructor() {
12
- super(...arguments);
13
- /**
14
- * Defines the structural layout variant to render.
15
- */
16
- this.variant = 'single-column';
17
- /**
18
- * Maximum width for the left sidebar section (e.g., '20rem', '300px').
19
- */
20
- this.sidebarWidth = '';
21
- /**
22
- * Maximum width for the right sidebar section (e.g., '16rem', '250px').
23
- */
24
- this.rightSidebarWidth = '';
25
- /**
26
- * Optional maximum width for the main content area (e.g., '48rem', '800px').
27
- */
28
- this.mainMaxWidth = '';
29
- /**
30
- * When true, expands the main content area to fill 100% of the available width between sidebars.
31
- */
32
- this.fillMain = false;
33
- this._mobileMenuOpen = false;
34
- this._touchStartX = 0;
35
- this._currentTranslateX = 0;
36
- this._isDragging = false;
37
- this._toggleMobileMenu = () => {
38
- this._mobileMenuOpen = !this._mobileMenuOpen;
39
- };
40
- this._closeMobileMenu = () => {
41
- this._mobileMenuOpen = false;
42
- };
43
- // Only close if an actual navigation link/item was clicked
44
- this._handleNavClick = (e) => {
45
- const path = e.composedPath();
46
- const clickedLink = path.some(node => {
47
- const el = node;
48
- return el.tagName === 'A' || el.tagName === 'ST-VERTICAL-NAV-ITEM';
49
- });
50
- if (clickedLink) {
51
- this._closeMobileMenu();
52
- }
53
- };
54
- this._handleTouchStart = (e) => {
55
- if (window.innerWidth >= 768)
56
- return;
57
- this._touchStartX = e.touches[0].clientX;
58
- this._isDragging = true;
59
- const sidebar = e.currentTarget;
60
- sidebar.style.transition = 'none';
61
- };
62
- this._handleTouchMove = (e) => {
63
- if (!this._isDragging || window.innerWidth >= 768)
64
- return;
65
- const currentX = e.touches[0].clientX;
66
- const diff = currentX - this._touchStartX;
67
- const sidebar = e.currentTarget;
68
- if (diff < 0) {
69
- this._currentTranslateX = diff;
70
- sidebar.style.transform = `translateX(${diff}px)`;
71
- }
72
- };
73
- this._handleTouchEnd = (e) => {
74
- if (!this._isDragging || window.innerWidth >= 768)
75
- return;
76
- this._isDragging = false;
77
- const sidebar = e.currentTarget;
78
- sidebar.style.transition = '';
79
- if (this._currentTranslateX < -70) {
80
- this._closeMobileMenu();
81
- sidebar.style.transform = '';
82
- }
83
- else {
84
- sidebar.style.transform = '';
85
- }
86
- this._currentTranslateX = 0;
87
- };
88
- this._resizeListener = () => {
89
- if (window.innerWidth >= 768 && this._mobileMenuOpen) {
90
- this._mobileMenuOpen = false;
91
- }
92
- };
93
- }
94
- updated(changedProperties) {
95
- super.updated(changedProperties);
96
- if (changedProperties.has('sidebarWidth')) {
97
- if (this.sidebarWidth) {
98
- this.style.setProperty('--layout-sidebar-width', this.sidebarWidth);
99
- }
100
- else {
101
- this.style.removeProperty('--layout-sidebar-width');
102
- }
103
- }
104
- if (changedProperties.has('rightSidebarWidth')) {
105
- if (this.rightSidebarWidth) {
106
- this.style.setProperty('--layout-right-sidebar-width', this.rightSidebarWidth);
107
- }
108
- else {
109
- this.style.removeProperty('--layout-right-sidebar-width');
110
- }
111
- }
112
- if (changedProperties.has('mainMaxWidth')) {
113
- if (this.mainMaxWidth) {
114
- this.style.setProperty('--layout-main-max-width', this.mainMaxWidth);
115
- }
116
- else {
117
- this.style.removeProperty('--layout-main-max-width');
118
- }
119
- }
120
- }
121
- connectedCallback() {
122
- super.connectedCallback();
123
- window.addEventListener('resize', this._resizeListener);
124
- }
125
- disconnectedCallback() {
126
- super.disconnectedCallback();
127
- window.removeEventListener('resize', this._resizeListener);
128
- }
129
- render() {
130
- const backdrop = html `
131
- <div
132
- class="mobile-backdrop ${this._mobileMenuOpen ? 'open' : ''}"
133
- @click=${this._closeMobileMenu}
134
- ></div>
135
- `;
136
- const hamburgerBtn = html `
137
- <button class="mobile-menu-btn" @click=${this._toggleMobileMenu} aria-label="Open Navigation Menu">
138
- <svg viewBox="0 0 24 24"><path d="M3 12h18M3 6h18M3 18h18"></path></svg>
139
- </button>
140
- `;
141
- const drawerHeader = html `
142
- <div class="mobile-drawer-header">
143
- <span class="mobile-drawer-title">Menu</span>
144
- <button class="mobile-close-btn" @click=${this._closeMobileMenu} aria-label="Close Navigation Menu">
145
- <svg viewBox="0 0 24 24"><path d="M18 6L6 18M6 6l12 12"></path></svg>
146
- </button>
147
- </div>
148
- `;
149
- if (this.variant === 'app-shell') {
150
- return html `
151
- ${backdrop}
152
- <div class="layout-app-shell">
153
- <aside
154
- class="app-shell-sidebar ${this._mobileMenuOpen ? 'open' : ''}"
155
- @click=${this._handleNavClick}
156
- @touchstart=${this._handleTouchStart}
157
- @touchmove=${this._handleTouchMove}
158
- @touchend=${this._handleTouchEnd}
159
- >
160
- ${drawerHeader}
161
- <div class="app-shell-sidebar-inner">
162
- <slot name="sidebar"></slot>
163
- </div>
164
- </aside>
165
-
166
- <div class="app-shell-content">
167
- <header class="app-shell-nav">
168
- ${hamburgerBtn}
169
- <slot name="nav"></slot>
170
- </header>
171
-
172
- <main class="app-shell-main">
173
- <slot></slot>
174
- </main>
175
-
176
- <footer class="app-shell-footer">
177
- <slot name="footer"></slot>
178
- </footer>
179
- </div>
180
- </div>
181
- `;
182
- }
183
- if (this.variant === 'content-sidebar') {
184
- return html `
185
- <div class="layout-content-sidebar">
186
- <header class="content-sidebar-nav">
187
- <div style="display: flex; align-items: center; padding: 0 var(--st-spacing-md); height: var(--layout-nav-height);">
188
- <slot name="nav"></slot>
189
- </div>
190
- </header>
191
-
192
- <div class="content-sidebar-container">
193
- <main class="content-sidebar-main">
194
- <slot></slot>
195
- </main>
196
-
197
- <aside class="content-sidebar-aside">
198
- <div class="content-sidebar-aside-inner">
199
- <slot name="aside"></slot>
200
- </div>
201
- </aside>
202
- </div>
203
-
204
- <footer class="content-sidebar-footer">
205
- <slot name="footer"></slot>
206
- </footer>
207
- </div>
208
- `;
209
- }
210
- if (this.variant === 'three-column') {
211
- return html `
212
- ${backdrop}
213
- <div class="layout-three-column">
214
- <header class="three-column-nav">
215
- ${hamburgerBtn}
216
- <slot name="nav"></slot>
217
- </header>
218
-
219
- <div class="three-column-body">
220
- <aside
221
- class="three-column-sidebar-left ${this._mobileMenuOpen ? 'open' : ''}"
222
- @click=${this._handleNavClick}
223
- @touchstart=${this._handleTouchStart}
224
- @touchmove=${this._handleTouchMove}
225
- @touchend=${this._handleTouchEnd}
226
- >
227
- ${drawerHeader}
228
- <div class="three-column-sidebar-left-inner">
229
- <slot name="sidebar-left"></slot>
230
- </div>
231
- </aside>
232
-
233
- <main class="three-column-main">
234
- <slot></slot>
235
- </main>
236
-
237
- <aside class="three-column-sidebar-right">
238
- <div class="three-column-sidebar-right-inner">
239
- <slot name="sidebar-right"></slot>
240
- </div>
241
- </aside>
242
- </div>
243
-
244
- <footer class="three-column-footer">
245
- <slot name="footer"></slot>
246
- </footer>
247
- </div>
248
- `;
249
- }
250
- return html `
251
- <div class="layout-single-column">
252
- <header class="single-column-nav">
253
- <div style="display: flex; align-items: center; padding: 0 var(--st-spacing-md); height: var(--layout-nav-height);">
254
- <slot name="nav"></slot>
255
- </div>
256
- </header>
257
-
258
- <main class="single-column-main">
259
- <slot></slot>
260
- </main>
261
-
262
- <footer class="single-column-footer">
263
- <slot name="footer"></slot>
264
- </footer>
265
- </div>
266
- `;
267
- }
268
- };
269
- StPageLayout.styles = [
270
- resetStyles,
271
- css `
272
- :host {
273
- display: block;
274
- box-sizing: border-box;
275
- --layout-bg-color: var(--st-color-bg, #ffffff);
276
- --layout-surface-color: var(--st-color-surface, #f8fafc);
277
- --layout-border-color: var(--st-color-border, #e2e8f0);
278
- --layout-sidebar-width: 16rem;
279
- --layout-right-sidebar-width: 14rem;
280
- --layout-main-max-width: none;
281
- --layout-nav-height: 4rem;
282
- }
283
-
284
- *, *::before, *::after {
285
- box-sizing: inherit;
286
- }
287
-
288
- /* ==========================================================
289
- Mobile Hamburger Toggle Button Styles
290
- ========================================================== */
291
- .mobile-menu-btn {
292
- display: flex;
293
- align-items: center;
294
- justify-content: center;
295
- background: transparent;
296
- border: 1px solid var(--layout-border-color);
297
- border-radius: var(--st-radius-sm, 0.375rem);
298
- width: 2.25rem;
299
- height: 2.25rem;
300
- cursor: pointer;
301
- color: var(--st-color-text);
302
- margin-right: var(--st-spacing-sm);
303
- flex-shrink: 0;
304
- }
305
-
306
- .mobile-menu-btn svg {
307
- width: 1.25rem;
308
- height: 1.25rem;
309
- stroke: currentColor;
310
- stroke-width: 2;
311
- stroke-linecap: round;
312
- stroke-linejoin: round;
313
- fill: none;
314
- }
315
-
316
- @media (min-width: 768px) {
317
- .mobile-menu-btn {
318
- display: none;
319
- }
320
- }
321
-
322
- /* ==========================================================
323
- Mobile Backdrop Overlay
324
- ========================================================== */
325
- .mobile-backdrop {
326
- position: fixed;
327
- top: 0;
328
- left: 0;
329
- width: 100vw;
330
- height: 100vh;
331
- background-color: rgba(0, 0, 0, 0.5);
332
- backdrop-filter: blur(2px);
333
- z-index: 1000;
334
- display: none;
335
- }
336
-
337
- .mobile-backdrop.open {
338
- display: block;
339
- }
340
-
341
- @media (min-width: 768px) {
342
- .mobile-backdrop {
343
- display: none !important;
344
- }
345
- }
346
-
347
- /* ==========================================================
348
- Mobile Drawer Header (Only visible < 768px)
349
- ========================================================== */
350
- .mobile-drawer-header {
351
- display: flex;
352
- align-items: center;
353
- justify-content: space-between;
354
- padding: var(--st-spacing-md) var(--st-spacing-lg);
355
- border-bottom: 1px solid var(--layout-border-color);
356
- flex-shrink: 0;
357
- }
358
-
359
- .mobile-drawer-title {
360
- font-weight: var(--st-font-weight-bold);
361
- font-size: var(--st-font-size-sm);
362
- color: var(--st-color-text);
363
- text-transform: uppercase;
364
- letter-spacing: 0.05em;
365
- }
366
-
367
- .mobile-close-btn {
368
- background: transparent;
369
- border: none;
370
- cursor: pointer;
371
- color: var(--st-color-text-muted);
372
- padding: 0.25rem;
373
- display: flex;
374
- align-items: center;
375
- justify-content: center;
376
- border-radius: var(--st-radius-sm, 0.375rem);
377
- }
378
-
379
- .mobile-close-btn:hover {
380
- color: var(--st-color-text);
381
- background-color: var(--st-color-surface-muted, #f1f5f9);
382
- }
383
-
384
- .mobile-close-btn svg {
385
- width: 1.25rem;
386
- height: 1.25rem;
387
- stroke: currentColor;
388
- stroke-width: 2;
389
- stroke-linecap: round;
390
- stroke-linejoin: round;
391
- fill: none;
392
- }
393
-
394
- @media (min-width: 768px) {
395
- .mobile-drawer-header {
396
- display: none !important;
397
- }
398
- }
399
-
400
- /* ==========================================================
401
- 1. App Shell Layout
402
- ========================================================== */
403
- .layout-app-shell {
404
- display: flex;
405
- height: 100vh;
406
- overflow: hidden;
407
- background-color: var(--layout-surface-color);
408
- }
409
-
410
- .app-shell-sidebar {
411
- display: none;
412
- border-right: 1px solid var(--layout-border-color);
413
- background: var(--layout-bg-color);
414
- }
415
-
416
- .app-shell-sidebar-inner {
417
- flex: 1;
418
- overflow-y: auto;
419
- }
420
-
421
- .app-shell-content {
422
- display: flex;
423
- flex-direction: column;
424
- flex: 1;
425
- width: 100%;
426
- }
427
-
428
- .app-shell-nav {
429
- height: var(--layout-nav-height);
430
- border-bottom: 1px solid var(--layout-border-color);
431
- background: var(--layout-bg-color);
432
- display: flex;
433
- align-items: center;
434
- padding: 0 var(--st-spacing-md);
435
- }
436
-
437
- .app-shell-main {
438
- flex: 1;
439
- overflow-y: auto;
440
- padding: var(--st-spacing-lg);
441
- }
442
-
443
- .app-shell-footer {
444
- background: var(--layout-bg-color);
445
- border-top: 1px solid var(--layout-border-color);
446
- padding: var(--st-spacing-md);
447
- }
448
-
449
- @media (min-width: 768px) {
450
- .app-shell-sidebar {
451
- display: flex;
452
- flex-direction: column;
453
- width: 100%;
454
- max-width: var(--layout-sidebar-width);
455
- flex-shrink: 0;
456
- }
457
- }
458
-
459
- /* ==========================================================
460
- 2. Content Sidebar Layout
461
- ========================================================== */
462
- .layout-content-sidebar {
463
- min-height: 100vh;
464
- display: flex;
465
- flex-direction: column;
466
- background: var(--layout-bg-color);
467
- }
468
-
469
- .content-sidebar-nav {
470
- border-bottom: 1px solid var(--layout-border-color);
471
- background: var(--layout-bg-color);
472
- }
473
-
474
- .content-sidebar-container {
475
- flex: 1;
476
- width: 100%;
477
- max-width: 72rem;
478
- margin: 0 auto;
479
- padding: var(--st-spacing-xl) var(--st-spacing-md);
480
- display: flex;
481
- flex-direction: column;
482
- gap: var(--st-spacing-xl);
483
- }
484
-
485
- .content-sidebar-main {
486
- flex: 1;
487
- max-width: 48rem;
488
- }
489
-
490
- .content-sidebar-aside {
491
- width: 100%;
492
- flex-shrink: 0;
493
- }
494
-
495
- .content-sidebar-footer {
496
- margin-top: auto;
497
- border-top: 1px solid var(--layout-border-color);
498
- background: var(--layout-surface-color);
499
- }
500
-
501
- @media (min-width: 1024px) {
502
- .content-sidebar-container {
503
- flex-direction: row;
504
- gap: 3rem;
505
- }
506
- .content-sidebar-aside {
507
- width: 100%;
508
- max-width: var(--layout-sidebar-width);
509
- }
510
- .content-sidebar-aside-inner {
511
- position: sticky;
512
- top: var(--st-spacing-lg);
513
- }
514
- }
515
-
516
- /* ==========================================================
517
- 3. Single Column Layout
518
- ========================================================== */
519
- .layout-single-column {
520
- min-height: 100vh;
521
- display: flex;
522
- flex-direction: column;
523
- background: var(--layout-bg-color);
524
- }
525
-
526
- .single-column-nav {
527
- position: sticky;
528
- top: 0;
529
- z-index: 50;
530
- width: 100%;
531
- background: var(--layout-bg-color);
532
- border-bottom: 1px solid var(--layout-border-color);
533
- }
534
-
535
- .single-column-main {
536
- flex: 1;
537
- display: flex;
538
- flex-direction: column;
539
- }
540
-
541
- .single-column-footer {
542
- margin-top: auto;
543
- }
544
-
545
- /* ==========================================================
546
- 4. Three-Column Layout (Docs Shell)
547
- ========================================================== */
548
- .layout-three-column {
549
- min-height: 100vh;
550
- display: flex;
551
- flex-direction: column;
552
- background: var(--layout-bg-color);
553
- }
554
-
555
- .three-column-nav {
556
- position: sticky;
557
- top: 0;
558
- z-index: 50;
559
- height: var(--layout-nav-height);
560
- border-bottom: 1px solid var(--layout-border-color);
561
- background: var(--layout-bg-color);
562
- display: flex;
563
- align-items: center;
564
- padding: 0 var(--st-spacing-md);
565
- }
566
-
567
- .three-column-body {
568
- flex: 1;
569
- width: 100%;
570
- max-width: 96rem;
571
- margin: 0 auto;
572
- display: flex;
573
- }
574
-
575
- :host([fill-main]) .three-column-body {
576
- max-width: 100%;
577
- }
578
-
579
- .three-column-sidebar-left {
580
- display: none;
581
- width: 100%;
582
- max-width: var(--layout-sidebar-width);
583
- flex-shrink: 0;
584
- border-right: 1px solid var(--layout-border-color);
585
- background: var(--layout-bg-color);
586
- }
587
-
588
- .three-column-sidebar-left-inner {
589
- position: sticky;
590
- top: calc(var(--layout-nav-height) + 1rem);
591
- height: calc(100vh - var(--layout-nav-height) - 2rem);
592
- overflow-y: auto;
593
- padding: var(--st-spacing-md) 0;
594
- }
595
-
596
- .three-column-main {
597
- flex: 1;
598
- min-width: 0;
599
- padding: var(--st-spacing-xl) var(--st-spacing-lg);
600
- max-width: var(--layout-main-max-width);
601
- margin-left: auto;
602
- margin-right: auto;
603
- }
604
-
605
- .three-column-sidebar-right {
606
- display: none;
607
- width: 100%;
608
- max-width: var(--layout-right-sidebar-width);
609
- flex-shrink: 0;
610
- border-left: 1px solid var(--layout-border-color);
611
- background: var(--layout-bg-color);
612
- }
613
-
614
- .three-column-sidebar-right-inner {
615
- position: sticky;
616
- top: calc(var(--layout-nav-height) + 1rem);
617
- height: calc(100vh - var(--layout-nav-height) - 2rem);
618
- overflow-y: auto;
619
- padding: var(--st-spacing-md) var(--st-spacing-sm);
620
- }
621
-
622
- .three-column-footer {
623
- border-top: 1px solid var(--layout-border-color);
624
- background: var(--layout-surface-color);
625
- padding: var(--st-spacing-lg);
626
- }
627
-
628
- @media (min-width: 768px) {
629
- .three-column-sidebar-left {
630
- display: block;
631
- }
632
- }
633
-
634
- @media (min-width: 1280px) {
635
- .three-column-sidebar-right {
636
- display: block;
637
- }
638
- }
639
-
640
- /* ==========================================================
641
- Mobile Drawer Transformation & Touch Support (< 768px)
642
- ========================================================== */
643
- @media (max-width: 767px) {
644
- .three-column-sidebar-left,
645
- .app-shell-sidebar {
646
- position: fixed;
647
- top: 0;
648
- left: 0;
649
- width: 100%;
650
- max-width: var(--layout-sidebar-width);
651
- height: 100vh;
652
- background: var(--layout-bg-color);
653
- z-index: 1001;
654
- box-shadow: 4px 0 24px rgba(0, 0, 0, 0.15);
655
- transform: translateX(-100%);
656
- transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
657
- display: flex !important;
658
- flex-direction: column;
659
- touch-action: pan-y;
660
- }
661
-
662
- .three-column-sidebar-left.open,
663
- .app-shell-sidebar.open {
664
- transform: translateX(0);
665
- }
666
-
667
- .three-column-sidebar-left-inner {
668
- position: static;
669
- height: auto;
670
- flex: 1;
671
- overflow-y: auto;
672
- }
673
- }
674
- `
675
- ];
676
- __decorate([
677
- property({ type: String, reflect: true })
678
- ], StPageLayout.prototype, "variant", void 0);
679
- __decorate([
680
- property({ type: String, attribute: 'sidebar-width' })
681
- ], StPageLayout.prototype, "sidebarWidth", void 0);
682
- __decorate([
683
- property({ type: String, attribute: 'right-sidebar-width' })
684
- ], StPageLayout.prototype, "rightSidebarWidth", void 0);
685
- __decorate([
686
- property({ type: String, attribute: 'main-max-width' })
687
- ], StPageLayout.prototype, "mainMaxWidth", void 0);
688
- __decorate([
689
- property({ type: Boolean, attribute: 'fill-main', reflect: true })
690
- ], StPageLayout.prototype, "fillMain", void 0);
691
- __decorate([
692
- state()
693
- ], StPageLayout.prototype, "_mobileMenuOpen", void 0);
694
- StPageLayout = __decorate([
695
- customElement('st-page-layout')
696
- ], StPageLayout);
697
- export { StPageLayout };
@@ -1,16 +0,0 @@
1
- import { LitElement } from "lit";
2
- export declare class StRadio extends LitElement {
3
- value: string;
4
- checked: boolean;
5
- disabled: boolean;
6
- ariaLabel: string;
7
- static styles: import("lit").CSSResult[];
8
- private _handleChange;
9
- render(): import("lit-html").TemplateResult<1>;
10
- }
11
- declare global {
12
- interface HTMLElementTagNameMap {
13
- "st-radio": StRadio;
14
- }
15
- }
16
- //# sourceMappingURL=radio.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["../../../src/components/radio/radio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAY,MAAM,KAAK,CAAC;AAI1C,qBACa,OAAQ,SAAQ,UAAU;IACX,KAAK,SAAM;IACK,OAAO,UAAS;IAChB,QAAQ,UAAS;IAEtB,SAAS,SAAM;IAEpD,MAAM,CAAC,MAAM,4BAyFX;IAEF,OAAO,CAAC,aAAa;IAgBrB,MAAM,yCAeL;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,OAAO,CAAC;KACrB;CACF"}