kemet-ui 0.2.0 → 1.1.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 (87) hide show
  1. package/custom-elements.json +6323 -831
  2. package/dist/components/kemet-accordion/kemet-accordion-panel.js +178 -0
  3. package/dist/components/kemet-accordion/kemet-accordion.js +139 -0
  4. package/dist/components/kemet-badge/kemet-badge.js +102 -0
  5. package/dist/components/kemet-button/kemet-button.js +230 -0
  6. package/dist/components/kemet-carousel/kemet-carousel-current.js +36 -0
  7. package/dist/components/kemet-carousel/kemet-carousel-first.js +47 -0
  8. package/dist/components/kemet-carousel/kemet-carousel-last.js +47 -0
  9. package/dist/components/{kemet-carousel-link.js → kemet-carousel/kemet-carousel-link.js} +7 -2
  10. package/dist/components/{kemet-carousel-next.js → kemet-carousel/kemet-carousel-next.js} +3 -2
  11. package/dist/components/{kemet-carousel-prev.js → kemet-carousel/kemet-carousel-prev.js} +2 -1
  12. package/dist/components/kemet-carousel/kemet-carousel-slide.js +51 -0
  13. package/dist/components/kemet-carousel/kemet-carousel-total.js +36 -0
  14. package/dist/components/kemet-carousel/kemet-carousel.js +492 -0
  15. package/dist/components/kemet-checkbox/kemet-checkbox.js +298 -0
  16. package/dist/components/kemet-combo/kemet-combo.js +207 -0
  17. package/dist/components/kemet-count/kemet-count.js +112 -0
  18. package/dist/components/{kemet-draggable.js → kemet-draggable/kemet-draggable.js} +19 -6
  19. package/dist/components/{kemet-drawer.js → kemet-drawer/kemet-drawer.js} +38 -15
  20. package/dist/components/{kemet-drawer.styles.js → kemet-drawer/kemet-drawer.styles.js} +6 -0
  21. package/dist/components/kemet-field/kemet-field.js +233 -0
  22. package/dist/components/{kemet-flipcard-trigger.js → kemet-flipcard/kemet-flipcard-trigger.js} +4 -5
  23. package/dist/components/{kemet-flipcard.js → kemet-flipcard/kemet-flipcard.js} +26 -3
  24. package/dist/components/{kemet-icon.js → kemet-icon/kemet-icon.js} +19 -3
  25. package/dist/components/kemet-input/kemet-input.js +650 -0
  26. package/dist/components/kemet-modal/kemet-modal-close.js +38 -0
  27. package/dist/components/kemet-modal/kemet-modal.js +140 -0
  28. package/dist/components/{kemet-modal.styles.js → kemet-modal/kemet-modal.styles.js} +14 -2
  29. package/dist/components/{kemet-popover-close.js → kemet-popover/kemet-popover-close.js} +1 -1
  30. package/dist/components/{kemet-popover.effects.styles.js → kemet-popover/kemet-popover.effects.styles.js} +0 -0
  31. package/dist/components/{kemet-popover.js → kemet-popover/kemet-popover.js} +75 -12
  32. package/dist/components/{kemet-popover.tooltip.styles.js → kemet-popover/kemet-popover.tooltip.styles.js} +0 -0
  33. package/dist/components/kemet-radio/kemet-radio.js +214 -0
  34. package/dist/components/kemet-radio/kemet-radios.js +218 -0
  35. package/dist/components/{kemet-rotator.js → kemet-rotator/kemet-rotator.js} +23 -4
  36. package/dist/components/{kemet-scroll-link.js → kemet-scroll-link/kemet-scroll-link.js} +21 -2
  37. package/dist/components/{kemet-scroll-nav.js → kemet-scroll-nav/kemet-scroll-nav.js} +25 -2
  38. package/dist/components/{kemet-scroll-snap-paginator.js → kemet-scroll-snap/kemet-scroll-snap-paginator.js} +68 -26
  39. package/dist/components/{kemet-scroll-snap-slide.js → kemet-scroll-snap/kemet-scroll-snap-slide.js} +23 -13
  40. package/dist/components/{kemet-scroll-snap.js → kemet-scroll-snap/kemet-scroll-snap.js} +31 -16
  41. package/dist/components/kemet-select/kemet-option.js +45 -0
  42. package/dist/components/kemet-select/kemet-select.js +365 -0
  43. package/dist/components/{kemet-svg.js → kemet-svgs/kemet-svg.js} +18 -2
  44. package/dist/components/{kemet-svgs.js → kemet-svgs/kemet-svgs.js} +7 -3
  45. package/dist/components/{kemet-tab-panel.js → kemet-tabs/kemet-tab-panel.js} +15 -1
  46. package/dist/components/{kemet-tab.js → kemet-tabs/kemet-tab.js} +48 -1
  47. package/dist/components/kemet-tabs/kemet-tabs.js +556 -0
  48. package/dist/components/kemet-tabs/kemet-tabs.styles.js +200 -0
  49. package/dist/components/kemet-textarea/kemet-textarea.js +395 -0
  50. package/dist/components/kemet-toggle/kemet-toggle.js +225 -0
  51. package/dist/kemet-components.cjs +7251 -2465
  52. package/dist/kemet-components.js +7237 -2440
  53. package/dist/kemet-components.min.js +1641 -355
  54. package/dist/styles/components/_config.scss +4 -0
  55. package/dist/styles/components/accordion.scss +9 -0
  56. package/dist/styles/{scss/components → components}/drawer.scss +2 -2
  57. package/dist/styles/components/modal.scss +8 -0
  58. package/dist/styles/components/scrollsnap.scss +11 -0
  59. package/dist/styles/core/_config.scss +354 -0
  60. package/dist/styles/{scss/core → core}/_helpers.scss +113 -2
  61. package/dist/styles/{scss/core → core}/attributes.scss +16 -0
  62. package/dist/styles/core/base.scss +38 -0
  63. package/dist/styles/{scss/core → core}/layout.scss +6 -5
  64. package/dist/styles/kemet.components.css +12 -339
  65. package/dist/styles/kemet.components.css.map +1 -1
  66. package/dist/styles/{scss/kemet.components.scss → kemet.components.scss} +0 -3
  67. package/dist/styles/kemet.core.css +2371 -503
  68. package/dist/styles/kemet.core.css.map +1 -1
  69. package/dist/styles/kemet.core.scss +3 -0
  70. package/dist/utilities/controllers/forms.js +121 -0
  71. package/package.json +37 -57
  72. package/dist/components/kemet-accordion.js +0 -106
  73. package/dist/components/kemet-carousel-slide.js +0 -83
  74. package/dist/components/kemet-carousel.js +0 -236
  75. package/dist/components/kemet-modal-close.js +0 -19
  76. package/dist/components/kemet-modal.js +0 -75
  77. package/dist/components/kemet-ratio.js +0 -61
  78. package/dist/components/kemet-tabs.js +0 -350
  79. package/dist/styles/scss/components/_config.scss +0 -29
  80. package/dist/styles/scss/components/accordion.scss +0 -58
  81. package/dist/styles/scss/components/carousel.scss +0 -64
  82. package/dist/styles/scss/components/flipcard.scss +0 -14
  83. package/dist/styles/scss/components/modal.scss +0 -12
  84. package/dist/styles/scss/components/scrollsnap.scss +0 -68
  85. package/dist/styles/scss/components/tabs.scss +0 -73
  86. package/dist/styles/scss/core/_config.scss +0 -197
  87. package/dist/styles/scss/kemet.core.scss +0 -4
@@ -1,350 +0,0 @@
1
- /* eslint-disable no-lonely-if */
2
- /* eslint-disable no-case-declarations */
3
- import { LitElement, html, css } from 'lit';
4
-
5
- export class KemetTabs extends LitElement {
6
- static get styles() {
7
- return [
8
- css`
9
- :host {
10
- display: block;
11
- overflow: hidden;
12
- }
13
-
14
- ::slotted([slot='links']) {
15
- overflow: auto;
16
- }
17
-
18
- ::slotted([slot='panels']) {
19
- display: flex;
20
- }
21
-
22
- :host([panel-effect='slide']) #panels {
23
- transition: transform var(--kemet-tabs-transition-speed, 0.5s) linear;
24
- }
25
-
26
- :host([panel-effect='fade']) ::slotted([slot='panels']) {
27
- flex-flow: row nowrap;
28
- }
29
- `,
30
- ];
31
- }
32
-
33
- static get properties() {
34
- return {
35
- selected: {
36
- type: String,
37
- reflect: true,
38
- },
39
- selectedIndex: {
40
- type: Number,
41
- },
42
- panelPosition: {
43
- type: Number,
44
- },
45
- panelEffect: {
46
- type: String,
47
- reflect: true,
48
- attribute: 'panel-effect',
49
- },
50
- swipe: {
51
- type: Boolean,
52
- },
53
- };
54
- }
55
-
56
- constructor() {
57
- super();
58
-
59
- // managed properties
60
- this.selectedIndex = 0;
61
- this.panelPosition = 0;
62
- this.panelEffect = 'none';
63
-
64
- // standard properties
65
- this.tabs = [];
66
- this.panels = [];
67
- this.xDown = null;
68
- this.yDown = null;
69
-
70
- this.keyCodes = {
71
- ENTER: 13,
72
- SPACE: 32,
73
- HOME: 36,
74
- END: 35,
75
- RIGHT: 39,
76
- LEFT: 37,
77
- };
78
-
79
- this.addEventListener('kemet-tab-selected', this.tabSelectedChange.bind(this));
80
- window.addEventListener('resize', this.handleResize.bind(this));
81
- }
82
-
83
- render() {
84
- return html`
85
- <slot name="links"></slot>
86
- <section id="panels" part="panels" style="transform: translateX(${this.panelPosition}px)">
87
- <slot name="panels"></slot>
88
- </section>
89
- `;
90
- }
91
-
92
- firstUpdated() {
93
- this.init();
94
- }
95
-
96
- updated() {
97
- this.selectTab();
98
- this.selectPanel();
99
- this.determineFade();
100
- }
101
-
102
- init() {
103
- const tabs = this.querySelectorAll('kemet-tab');
104
- const panels = this.querySelectorAll('kemet-tab-panel');
105
- const panelElement = this.shadowRoot.getElementById('panels');
106
- const index = {
107
- tabs: 0,
108
- panels: 0,
109
- };
110
-
111
- tabs.forEach((tab) => {
112
- // give each tab an index to select by if link/panel is not used
113
- tab.index = index.tabs;
114
- index.tabs += 1;
115
-
116
- // store the list of tabs
117
- this.tabs = this.tabs.concat(tab);
118
-
119
- // add keyboard support
120
- tab.addEventListener('keydown', event => this.handleTabKeydown(event));
121
- });
122
-
123
- panels.forEach((panel) => {
124
- // give each panel an index to select by if link/panel is not used
125
- panel.index = index.panels;
126
- index.panels += 1;
127
-
128
- // store the list of panels
129
- this.panels = this.panels.concat(panel);
130
- });
131
-
132
- // default to the first tab/panel selected
133
- if (this.tabs.length > 0) this.tabs[0].selected = true;
134
- if (this.panels.length > 0) this.panels[0].selected = true;
135
-
136
- // add swipe support
137
- if (this.swipe) {
138
- panelElement.addEventListener('touchstart', event => this.handleTouchStart(event), false);
139
- panelElement.addEventListener('touchmove', event => this.handleTouchMove(event), false);
140
- }
141
- }
142
-
143
- selectTab() {
144
- // if the user uses the selected attribute select by it
145
- if (this.selected) {
146
- this.tabs.forEach((tab) => {
147
- const tabName = tab.getAttribute('link');
148
-
149
- if (tabName === this.selected) {
150
- tab.selected = true;
151
- this.selected = tabName;
152
- } else {
153
- tab.selected = false;
154
- }
155
- });
156
-
157
- // otherwise select by index
158
- } else {
159
- this.tabs.forEach((tab) => {
160
- if (this.selectedIndex === tab.index) {
161
- tab.selected = true;
162
- } else {
163
- tab.selected = false;
164
- }
165
- });
166
- }
167
- }
168
-
169
- selectPanel() {
170
- // if the user uses the selected attribute select by it
171
- if (this.selected) {
172
- this.panels.forEach((panel) => {
173
- const panelName = panel.getAttribute('panel');
174
-
175
- if (this.panelEffect === 'fade' && panel.index !== 0) {
176
- panel.classList.add('push');
177
- }
178
-
179
- if (panelName === this.selected) {
180
- panel.selected = true;
181
- this.animatePanel(panelName, null);
182
- } else {
183
- panel.selected = false;
184
- }
185
- });
186
-
187
- // otherwise select by index
188
- } else {
189
- this.panels.forEach((panel) => {
190
- if (this.panelEffect === 'fade' && panel.index !== 0) {
191
- panel.classList.add('push');
192
- }
193
-
194
- if (this.selectedIndex === panel.index) {
195
- panel.selected = true;
196
- this.animatePanel(null, panel.index);
197
- } else {
198
- panel.selected = false;
199
- }
200
- });
201
- }
202
- }
203
-
204
- dispatchTabChange() {
205
- const tabChanged = new CustomEvent('kemet-tab-changed', {
206
- bubbles: true,
207
- composed: true,
208
- detail: this.selected,
209
- });
210
-
211
- this.dispatchEvent(tabChanged);
212
- }
213
-
214
- tabSelectedChange(event) {
215
- if (this.selected) {
216
- // if selected has been set, use the string attribute
217
- this.selected = event.detail.getAttribute('link');
218
- } else {
219
- // otherwise use the generated index
220
- this.selectedIndex = event.detail.index;
221
- }
222
-
223
- this.dispatchTabChange();
224
- }
225
-
226
- determineFade() {
227
- this.panels.forEach((panel) => {
228
- // add fade class if panel effect is fade
229
- if (this.panelEffect === 'fade') panel.classList.add('fade');
230
- });
231
- }
232
-
233
- handleResize() {
234
- if (this.selected) {
235
- this.animatePanel(this.selected, null);
236
- } else {
237
- this.animatePanel(null, this.selectedIndex);
238
- }
239
- }
240
-
241
- animatePanel(panelName, panelIndex) {
242
- if (panelName) {
243
- const selectedPanel = this.querySelector(`[panel="${panelName}"]`);
244
- if (selectedPanel) this.panelPosition = selectedPanel.offsetLeft * -1;
245
- } else {
246
- this.panelPosition = this.panels[panelIndex].offsetLeft * -1;
247
- }
248
- }
249
-
250
- handleTabKeydown(event) {
251
- if (this.selected) {
252
- switch (event.keyCode) {
253
- case this.keyCodes.HOME:
254
- this.selected = this.tabs[0].getAttribute('link');
255
- break;
256
- case this.keyCodes.END:
257
- this.selected = this.tabs[this.tabs.length - 1].getAttribute('link');
258
- break;
259
- case this.keyCodes.RIGHT:
260
- const nextLinkElement = this.querySelector('kemet-tab[selected]').nextElementSibling;
261
- const nextLink = nextLinkElement ? nextLinkElement.getAttribute('link') : false;
262
-
263
- if (nextLink) {
264
- this.selected = nextLink;
265
- }
266
- break;
267
- case this.keyCodes.LEFT:
268
- const previousLinkElement = this.querySelector('kemet-tab[selected]').previousElementSibling;
269
- const previousLink = previousLinkElement ? previousLinkElement.getAttribute('link') : false;
270
-
271
- if (previousLink) {
272
- this.selected = previousLink;
273
- }
274
- break;
275
- default: break;
276
- }
277
-
278
- this.querySelector(`[link=${this.selected}]`).focus();
279
- } else {
280
- switch (event.keyCode) {
281
- case this.keyCodes.HOME:
282
- this.selectedIndex = 0;
283
- break;
284
- case this.keyCodes.END:
285
- this.selectedIndex = this.tabs.length - 1;
286
- break;
287
- case this.keyCodes.RIGHT:
288
- if (this.selectedIndex < this.tabs.length - 1) {
289
- this.selectedIndex += 1;
290
- } else {
291
- this.selectedIndex = this.tabs.length - 1;
292
- }
293
- break;
294
- case this.keyCodes.LEFT:
295
- if (this.selectedIndex < 1) {
296
- this.selectedIndex = 0;
297
- } else {
298
- this.selectedIndex -= 1;
299
- }
300
- break;
301
- default: break;
302
- }
303
-
304
- this.tabs[this.selectedIndex].focus();
305
- }
306
- }
307
-
308
- handleTouchStart(event) {
309
- this.xDown = event.touches[0].clientX;
310
- this.yDown = event.touches[0].clientY;
311
- }
312
-
313
- handleTouchMove(event) {
314
- if (!this.xDown || !this.yDown) {
315
- return;
316
- }
317
-
318
- const xUp = event.touches[0].clientX;
319
- const yUp = event.touches[0].clientY;
320
- const xDiff = this.xDown - xUp;
321
- const yDiff = this.yDown - yUp;
322
-
323
- if (Math.abs(xDiff) > Math.abs(yDiff)) {
324
- if (xDiff > 0) {
325
- if (this.selected) {
326
- const nextElement = this.querySelector('kemet-tab-panel[selected]').nextElementSibling;
327
- const next = nextElement ? nextElement.getAttribute('panel') : false;
328
-
329
- if (next) this.selected = next;
330
- } else {
331
- this.selectedIndex += 1;
332
- }
333
- } else {
334
- if (this.selected) {
335
- const previousElement = this.querySelector('kemet-tab-panel[selected]').previousElementSibling;
336
- const previous = previousElement ? previousElement.getAttribute('panel') : false;
337
-
338
- if (previous) this.selected = previous;
339
- } else {
340
- this.selectedIndex -= 1;
341
- }
342
- }
343
- }
344
-
345
- this.xDown = null;
346
- this.yDown = null;
347
- }
348
- }
349
-
350
- window.customElements.define('kemet-tabs', KemetTabs);
@@ -1,29 +0,0 @@
1
- $header-height: 64px;
2
- $drawer-width: 280px;
3
- $drawer-height: 280px;
4
- $carousel-height: 18rem;
5
-
6
- $colors: (
7
- white-75: rgba(255, 255, 255, 0.75),
8
- white-rich: rgba(242, 242, 242, 1),
9
-
10
- black-10: rgba(0, 0, 0, 0.1),
11
- black-25: rgba(0, 0, 0, 0.25),
12
-
13
- primary: rgba(12, 74, 110, 1),
14
- primary-75: rgba(12, 74, 110, 0.75),
15
-
16
- link: rgba(0, 125, 193, 1)
17
- );
18
-
19
- :root {
20
- --kemet-color-white: #fff;
21
- --kemet-color-white-75: #{map-get($colors, 'white-75')};
22
- --kemet-color-white-rich: #{map-get($colors, 'white-rich')};
23
- --kemet-color-black: #000;
24
- --kemet-color-black-25: #{map-get($colors, 'black-25')};
25
- --kemet-color-black-10: #{map-get($colors, 'black-10')};
26
- --kemet-color-primary: #{map-get($colors, 'primary')};
27
- --kemet-color-primary-75: #{map-get($colors, 'primary-75')};
28
- --kemet-color-link: #{map-get($colors, 'link')};
29
- }
@@ -1,58 +0,0 @@
1
- @use 'config' as *;
2
-
3
- kemet-accordion {
4
- background: #{map-get($colors, 'white')};
5
- box-shadow: 0 15px 30px -10px var(--kemet-color-black-10);
6
- }
7
-
8
- kemet-accordion [slot='trigger'] {
9
- display: flex;
10
- align-items: center;
11
- padding: 1rem;
12
- border-bottom: 1px solid var(--kemet-color-primary);
13
- }
14
-
15
- kemet-accordion [slot='trigger'] > :first-child {
16
- color: var(--kemet-color-primary);
17
- flex: 1;
18
- }
19
-
20
- kemet-accordion .plus,
21
- kemet-accordion .minus {
22
- width: 24px;
23
- height: 24px;
24
- position: relative;
25
- border-radius: 50%;
26
- border: 1px solid var(--kemet-color-primary);
27
- }
28
-
29
- kemet-accordion .plus::before,
30
- kemet-accordion .minus::before {
31
- line-height: 0;
32
- position: absolute;
33
- top: 50%;
34
- left: 50%;
35
- transform: translate(-50%, -50%);
36
- }
37
-
38
- kemet-accordion .plus::before {
39
- content: '+';
40
- }
41
-
42
- kemet-accordion .minus::before {
43
- content: '-';
44
- }
45
-
46
- kemet-accordion .plus,
47
- kemet-accordion[opened] .minus {
48
- display: block;
49
- }
50
-
51
- kemet-accordion[opened] .plus,
52
- kemet-accordion .minus {
53
- display: none;
54
- }
55
-
56
- kemet-accordion [slot='panel'] {
57
- padding: 1rem;
58
- }
@@ -1,64 +0,0 @@
1
- @use 'config' as *;
2
-
3
- kemet-carousel {
4
- --kemet-carousel-height: 18rem;
5
- margin-bottom: 1rem;
6
- }
7
-
8
- kemet-carousel[pagination='bottom'] {
9
- margin-bottom: 3.5rem;
10
- }
11
-
12
- kemet-carousel [slot='slides'] {
13
- height: 100%;
14
- border-radius: 1rem;
15
- border: 2px solid var(--kemet-color-primary);
16
- }
17
-
18
- kemet-carousel [slot='pagination'],
19
- kemet-carousel[pagination='top'] [slot='pagination'] > *,
20
- kemet-carousel[pagination='bottom'] [slot='pagination'] > * {
21
- display: flex;
22
- }
23
-
24
- kemet-carousel[pagination='bottom'] [slot='pagination'] {
25
- margin-top: 1rem;
26
- }
27
-
28
- kemet-carousel[pagination='top'] [slot='pagination'] {
29
- margin-bottom: 0.5rem;
30
- }
31
-
32
- kemet-carousel[pagination='left'] [slot='pagination'],
33
- kemet-carousel[pagination='right'] [slot='pagination'] {
34
- width: 3rem;
35
- height: 100%;
36
- align-items: center;
37
- justify-content: space-between;
38
- flex-direction: column;
39
- }
40
-
41
- kemet-carousel[pagination='left'] [slot='pagination'] > *,
42
- kemet-carousel[pagination='right'] [slot='pagination'] > * {
43
- margin: 0.5rem;
44
- }
45
-
46
- kemet-carousel-slide {
47
- display: flex;
48
- }
49
-
50
- kemet-carousel-slide img,
51
- kemet-carousel-slide iframe {
52
- width: 100%;
53
- border-radius: 1rem;
54
- }
55
-
56
- kemet-carousel-slide > div {
57
- margin: auto;
58
- }
59
-
60
- kemet-carousel-link {
61
- position: relative;
62
- top: 1px;
63
- margin: 0 0.5rem;
64
- }
@@ -1,14 +0,0 @@
1
- kemet-flipcard-trigger.full-image {
2
- display: flex;
3
- }
4
-
5
- kemet-flipcard-trigger.full-image img {
6
- max-width: 100%;
7
- }
8
-
9
- kemet-flipcard::part(front),
10
- kemet-flipcard::part(back) {
11
- border: 2px solid var(--kemet-color-primary);
12
- border-radius: 1rem;
13
- overflow: hidden;
14
- }
@@ -1,12 +0,0 @@
1
- @use 'config' as *;
2
-
3
- kemet-modal {
4
- --kemet-modal-max-width: 75vw;
5
- }
6
-
7
- kemet-modal .content {
8
- padding: 1rem 2rem 2rem;
9
- border-radius: 1rem;
10
- color: var(--kemet-color-white-rich);
11
- background: var(--kemet-color-primary);
12
- }
@@ -1,68 +0,0 @@
1
- @use 'config' as *;
2
-
3
- kemet-scroll-snap-slide {
4
- padding: 2rem;
5
- box-sizing: border-box;
6
- }
7
-
8
- kemet-scroll-snap-paginator {
9
- font-size: 3rem;
10
- display: block;
11
- text-align: center;
12
- }
13
-
14
- kemet-scroll-snap-paginator ul {
15
- display: inline-flex;
16
- gap: 0.5rem;
17
- margin: 0;
18
- padding: 0;
19
- list-style: none;
20
- }
21
-
22
- kemet-scroll-snap-paginator .link {
23
- cursor: pointer;
24
- color: var(--kemet-color-link);
25
- }
26
-
27
- /* horizontal */
28
- kemet-scroll-snap[axis='horizontal'] kemet-scroll-snap {
29
- max-width: 1440px;
30
- }
31
-
32
- @media screen and (min-width: 640px) {
33
- kemet-scroll-snap[axis='horizontal'] kemet-scroll-snap-slide {
34
- max-width: 48vw;
35
- }
36
- }
37
-
38
- @media screen and (min-width: 1025px) {
39
- kemet-scroll-snap[axis='horizontal'] kemet-scroll-snap-slide {
40
- max-width: 33vw;
41
- }
42
- }
43
-
44
- kemet-scroll-snap[axis='horizontal'] [slot='slides'] {
45
- scrollbar-width: none;
46
- }
47
-
48
- kemet-scroll-snap[axis='horizontal'] [slot='slides']::-webkit-scrollbar {
49
- display: none;
50
- width: 0;
51
- background: transparent;
52
- }
53
-
54
- /* vertical */
55
- html[kemet-scroll-snap-axis='vertical'] {
56
- overflow: hidden;
57
- }
58
-
59
- kemet-scroll-snap[axis='vertical'] [slot='slides'] {
60
- overflow-x: hidden;
61
- }
62
-
63
- kemet-scroll-snap[axis='vertical'] kemet-scroll-snap-slide {
64
- --kemet-scroll-snap-slide-align: start;
65
-
66
- max-width: 1440px;
67
- margin: auto;
68
- }
@@ -1,73 +0,0 @@
1
- @use 'config' as *;
2
-
3
- kemet-tabs.horizontal [slot='links'] {
4
- margin: 1rem 0;
5
- display: flex;
6
- flex-direction: column;
7
- justify-content: space-around;
8
- }
9
-
10
- @media screen and (min-width: 768px) {
11
- kemet-tabs.horizontal [slot='links'] {
12
- flex-direction: row;
13
- border-bottom: 1px solid var(--kemet-color-primary);
14
- }
15
- }
16
-
17
- kemet-tabs.horizontal kemet-tab {
18
- white-space: nowrap;
19
- padding: 0.5rem 1rem;
20
- border-left: 4px solid transparent;
21
- }
22
-
23
- @media screen and (min-width: 768px) {
24
- kemet-tabs.horizontal kemet-tab {
25
- padding: 1rem;
26
- }
27
- }
28
-
29
- kemet-tabs.horizontal kemet-tab[selected] {
30
- border-left: 4px solid var(--kemet-color-primary);
31
- }
32
-
33
- @media screen and (min-width: 768px) {
34
- kemet-tabs.horizontal kemet-tab[selected] {
35
- border-left: 0;
36
- border-bottom: 4px solid var(--kemet-color-primary);
37
- }
38
- }
39
-
40
-
41
- kemet-tabs.vertical {
42
- display: flex;
43
- flex-direction: column;
44
- }
45
-
46
- @media screen and (min-width: 768px) {
47
- kemet-tabs.vertical {
48
- flex-direction: row;
49
- }
50
- }
51
-
52
- kemet-tabs.vertical [slot='links'] {
53
- display: flex;
54
- flex-direction: column;
55
- height: 100%;
56
- justify-content: space-around;
57
- }
58
-
59
- @media screen and (min-width: 768px) {
60
- kemet-tabs.vertical [slot='links'] {
61
- min-width: 148px;
62
- margin-right: 2rem;
63
- border-right: 1px solid var(--kemet-color-primary);
64
- }
65
- }
66
-
67
- kemet-tabs.vertical kemet-tab {
68
- padding: 1rem 0;
69
- }
70
-
71
- kemet-tabs.vertical kemet-tab[selected] {
72
- border-right: 4px solid var(--kemet-color-primary);
73
- }