@limetech/lime-elements 40.6.1 → 40.6.3

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 (75) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/{component-CFk7Dfoi.js → component-Cz24PdGy.js} +3 -3
  3. package/dist/cjs/{component-BrNWuGdj.js → component-DNiVfYHV.js} +1 -1
  4. package/dist/cjs/{component-y8swlNNR.js → component-GW2n79GH.js} +1 -1
  5. package/dist/cjs/{component-UyqdiWGc.js → component-xiw46M1b.js} +1 -1
  6. package/dist/cjs/{isArrayLikeObject-BhSkOTkw.js → isArrayLikeObject-U2Ddbw4n.js} +0 -17
  7. package/dist/cjs/{keycodes-k-EdzcMX.js → keycodes-BQ_AERli.js} +4 -0
  8. package/dist/cjs/limel-breadcrumbs_6.cjs.entry.js +6 -6
  9. package/dist/cjs/limel-chip-set.cjs.entry.js +5 -5
  10. package/dist/cjs/limel-chip_2.cjs.entry.js +1 -1
  11. package/dist/cjs/limel-date-picker.cjs.entry.js +4 -4
  12. package/dist/cjs/limel-dialog.cjs.entry.js +2 -2
  13. package/dist/cjs/limel-form.cjs.entry.js +18 -2
  14. package/dist/cjs/limel-helper-line_3.cjs.entry.js +2 -2
  15. package/dist/cjs/limel-pagination-jump.cjs.entry.js +1 -1
  16. package/dist/cjs/limel-picker.cjs.entry.js +1 -1
  17. package/dist/cjs/limel-popover_2.cjs.entry.js +1 -1
  18. package/dist/cjs/limel-select.cjs.entry.js +3 -3
  19. package/dist/cjs/limel-tab-bar.cjs.entry.js +176 -1985
  20. package/dist/cjs/limel-text-editor-link-menu.cjs.entry.js +1 -1
  21. package/dist/cjs/{ponyfill-BgIFyUG5.js → ponyfill-CHp7Zocr.js} +0 -1
  22. package/dist/collection/components/tab-bar/tab-bar.css +145 -434
  23. package/dist/collection/components/tab-bar/tab-bar.js +36 -59
  24. package/dist/collection/util/keyboard-navigation.js +144 -0
  25. package/dist/collection/util/keycodes.js +2 -0
  26. package/dist/esm/{component-wGVqvUmL.js → component-CVihTrav.js} +3 -3
  27. package/dist/esm/{component-7QB0OUSF.js → component-CrjPGt1I.js} +1 -1
  28. package/dist/esm/{component-D4qgwaTf.js → component-CyFeUQ0l.js} +1 -1
  29. package/dist/esm/{component-B2Vy44Z3.js → component-kP1jCDLp.js} +1 -1
  30. package/dist/esm/{isArrayLikeObject-tmUOLOWr.js → isArrayLikeObject-CJB8HbtH.js} +1 -17
  31. package/dist/esm/{keycodes-C4_9qUMP.js → keycodes-DQ5DmW_Y.js} +3 -1
  32. package/dist/esm/limel-breadcrumbs_6.entry.js +6 -6
  33. package/dist/esm/limel-chip-set.entry.js +5 -5
  34. package/dist/esm/limel-chip_2.entry.js +1 -1
  35. package/dist/esm/limel-date-picker.entry.js +4 -4
  36. package/dist/esm/limel-dialog.entry.js +2 -2
  37. package/dist/esm/limel-form.entry.js +17 -1
  38. package/dist/esm/limel-helper-line_3.entry.js +2 -2
  39. package/dist/esm/limel-pagination-jump.entry.js +1 -1
  40. package/dist/esm/limel-picker.entry.js +1 -1
  41. package/dist/esm/limel-popover_2.entry.js +1 -1
  42. package/dist/esm/limel-select.entry.js +3 -3
  43. package/dist/esm/limel-tab-bar.entry.js +176 -1985
  44. package/dist/esm/limel-text-editor-link-menu.entry.js +1 -1
  45. package/dist/esm/{ponyfill-ChRGk668.js → ponyfill-6YuZiAPi.js} +1 -1
  46. package/dist/lime-elements/lime-elements.esm.js +1 -1
  47. package/dist/lime-elements/{p-6adc7c88.entry.js → p-02a06cf7.entry.js} +1 -1
  48. package/dist/lime-elements/{p-80153f45.entry.js → p-0ece667e.entry.js} +1 -1
  49. package/dist/lime-elements/p-107654bb.entry.js +13 -0
  50. package/dist/lime-elements/{p-440a0b43.entry.js → p-120ca628.entry.js} +1 -1
  51. package/dist/lime-elements/{p-BwJGg-WI.js → p-1CgnIGyd.js} +4 -4
  52. package/dist/lime-elements/{p-5386c629.entry.js → p-45461ec5.entry.js} +1 -1
  53. package/dist/lime-elements/{p-8988b7e1.entry.js → p-5e448070.entry.js} +1 -1
  54. package/dist/lime-elements/{p-ChRGk668.js → p-6YuZiAPi.js} +3 -3
  55. package/dist/lime-elements/{p-159603cf.entry.js → p-74060535.entry.js} +3 -3
  56. package/dist/lime-elements/{p-b6c0dc91.entry.js → p-7fa85785.entry.js} +2 -2
  57. package/dist/lime-elements/p-958396b5.entry.js +1 -0
  58. package/dist/lime-elements/{p-92669910.entry.js → p-970e0810.entry.js} +1 -1
  59. package/dist/lime-elements/{p-BN1-aIOw.js → p-BZXGwiAr.js} +1 -1
  60. package/dist/lime-elements/{p-DZkKQUDM.js → p-C1FFnUvf.js} +3 -3
  61. package/dist/lime-elements/{p-C9yTLqR8.js → p-CmtleG1y.js} +1 -1
  62. package/dist/lime-elements/{p-C4_9qUMP.js → p-DQ5DmW_Y.js} +1 -1
  63. package/dist/lime-elements/{p-31f314e6.entry.js → p-a42f8c2d.entry.js} +1 -1
  64. package/dist/lime-elements/p-b35a912c.entry.js +1 -0
  65. package/dist/lime-elements/{p-f04e2897.entry.js → p-d1b7cc55.entry.js} +1 -1
  66. package/dist/lime-elements/p-pk5KIdKH.js +1 -0
  67. package/dist/types/components/tab-bar/tab-bar.d.ts +4 -7
  68. package/dist/types/components.d.ts +4 -0
  69. package/dist/types/util/keyboard-navigation.d.ts +105 -0
  70. package/dist/types/util/keycodes.d.ts +2 -0
  71. package/package.json +1 -1
  72. package/dist/lime-elements/p-31226737.entry.js +0 -13
  73. package/dist/lime-elements/p-4dfd1962.entry.js +0 -67
  74. package/dist/lime-elements/p-DWMfAkOE.js +0 -1
  75. package/dist/lime-elements/p-ab8021b9.entry.js +0 -1
@@ -2,7 +2,7 @@
2
2
 
3
3
  var index = require('./index-BlsqxTB1.js');
4
4
  var translations = require('./translations-CNTWud2a.js');
5
- var keycodes = require('./keycodes-k-EdzcMX.js');
5
+ var keycodes = require('./keycodes-BQ_AERli.js');
6
6
  require('./language-v-MMS6ym.js');
7
7
 
8
8
  const editorLinkMenuCss = () => `:host(limel-text-editor-link-menu){animation:fade 0.2s ease forwards;animation-delay:0.1s;opacity:0;display:flex;flex-direction:column;gap:0.5rem;padding:0.5rem;max-width:calc(100vw - 2rem);border-radius:0.5rem;background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--shadow-depth-16)}.actions{display:flex;justify-content:end;gap:0.5rem}@keyframes fade{0%{scale:0.86;opacity:0}100%{scale:1;opacity:1}}`;
@@ -328,7 +328,6 @@ function estimateScrollWidth(element) {
328
328
  exports.MDCComponent = MDCComponent;
329
329
  exports.MDCFoundation = MDCFoundation;
330
330
  exports.__extends = __extends;
331
- exports.__read = __read;
332
331
  exports.__values = __values;
333
332
  exports.closest = closest;
334
333
  exports.estimateScrollWidth = estimateScrollWidth;
@@ -1,401 +1,114 @@
1
+ @charset "UTF-8";
1
2
  /**
2
- * @license
3
- * Copyright 2018 Google Inc.
3
+ * Note! This file is forwarded via `src/style/exports.scss`
4
+ * and exposed to consumers through the root `index.scss`.
4
5
  *
5
- * Permission is hereby granted, free of charge, to any person obtaining a copy
6
- * of this software and associated documentation files (the "Software"), to deal
7
- * in the Software without restriction, including without limitation the rights
8
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- * copies of the Software, and to permit persons to whom the Software is
10
- * furnished to do so, subject to the following conditions:
6
+ * Consumers import it using:
7
+ * `@use '@limetech/lime-elements' as lime-elements;`
11
8
  *
12
- * The above copyright notice and this permission notice shall be included in
13
- * all copies or substantial portions of the Software.
14
- *
15
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- * THE SOFTWARE.
9
+ * Legacy import paths (`dist/scss/mixins`) are maintained
10
+ * for backward compatibility via copy rules in the Stencil config.
22
11
  */
23
- .mdc-tab-bar {
24
- width: 100%;
25
- }
26
-
27
- .mdc-tab {
28
- height: 48px;
29
- }
30
-
31
- .mdc-tab--stacked {
32
- height: 72px;
33
- }
34
-
35
12
  /**
36
- * @license
37
- * Copyright 2018 Google Inc.
38
- *
39
- * Permission is hereby granted, free of charge, to any person obtaining a copy
40
- * of this software and associated documentation files (the "Software"), to deal
41
- * in the Software without restriction, including without limitation the rights
42
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
43
- * copies of the Software, and to permit persons to whom the Software is
44
- * furnished to do so, subject to the following conditions:
13
+ * Neutralizes the user-agent styles that browsers apply to `<button>` elements
14
+ * (their default background, border, padding, font, etc.), without stripping
15
+ * the useful defaults that `all: unset;` would also remove
16
+ * (such as `display`, `cursor`, and focus behavior).
45
17
  *
46
- * The above copyright notice and this permission notice shall be included in
47
- * all copies or substantial portions of the Software.
18
+ * Prefer this mixin over `all: unset;` on `<button>` elements, then layer
19
+ * the styling you want on top — often one of the `is-*-clickable` mixins.
20
+ */
21
+ /**
22
+ * This can be used on a trigger element that opens a dropdown menu or a popover.
23
+ */
24
+ /**
25
+ * This mixin will mask out the content that is close to
26
+ * the edges of a scrollable area.
27
+ * - If the scrollable content has `overflow-y`, use `vertically`
28
+ * as an argument for `$direction`.
29
+ - If the scrollable content has `overflow-x`, use `horizontally`
30
+ * as an argument for `$direction`.
31
+ *
32
+ * For the visual effect to work smoothly, we need to make sure that
33
+ * the size of the fade-out edge effect is the same as the
34
+ * internal paddings of the scrollable area. Otherwise, content of a
35
+ * scrollable area that does not have a padding will fade out before
36
+ * any scrolling has been done.
37
+ * This is why this mixin already adds paddings, which automatically
38
+ * default to the size of the fade-out effect.
39
+ * This size defaults to `1rem`, but to override the size use
40
+ * `--limel-top-edge-fade-height` & `--limel-bottom-edge-fade-height`
41
+ * when `vertically` argument is set, and use
42
+ * `--limel-left-edge-fade-width` & `--limel-right-edge-fade-width`
43
+ * when `horizontally` argument is set.
44
+ * Of course you can also programmatically increase and decrease the
45
+ * size of these variables for each edge, based on the amount of
46
+ * scrolling that has been done by the user. In this case, make sure
47
+ * to add a custom padding where the mixin is used, to override
48
+ * the paddings that are automatically added by the mixin in the
49
+ * compiled CSS code.
50
+ */
51
+ /**
52
+ * This mixin will add an animated underline to the bottom of an `a` elements.
53
+ * Note that you may need to add `all: unset;` –depending on your use case–
54
+ * before using this mixin.
55
+ */
56
+ /**
57
+ * This mixin creates a cross-browser font stack.
58
+ * - `sans-serif` can be used for the UI of the components.
59
+ * - `monospace` can be used for code.
48
60
  *
49
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
50
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
51
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
52
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
53
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
54
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
55
- * THE SOFTWARE.
61
+ * ⚠️ If we change the font stacks, we need to update
62
+ * 1. the consumer documentation in `README.md`, and
63
+ * 2. the CSS variables of `--kompendium-example-font-family`
64
+ * in the `<style>` tag of `index.html`.
56
65
  */
57
- .mdc-tab-indicator .mdc-tab-indicator__content--underline {
58
- border-color: #6200ee;
59
- /* @alternate */
60
- border-color: var(--mdc-theme-primary, #6200ee);
61
- }
62
- .mdc-tab-indicator .mdc-tab-indicator__content--icon {
63
- color: #018786;
64
- /* @alternate */
65
- color: var(--mdc-theme-secondary, #018786);
66
- }
67
- .mdc-tab-indicator .mdc-tab-indicator__content--underline {
68
- border-top-width: 2px;
69
- }
70
- .mdc-tab-indicator .mdc-tab-indicator__content--icon {
71
- height: 34px;
72
- font-size: 34px;
73
- }
74
-
75
- .mdc-tab-indicator {
76
- display: flex;
77
- position: absolute;
78
- top: 0;
79
- left: 0;
80
- justify-content: center;
81
- width: 100%;
82
- height: 100%;
83
- pointer-events: none;
84
- z-index: 1;
85
- }
86
-
87
- .mdc-tab-indicator__content {
88
- transform-origin: left;
89
- opacity: 0;
90
- }
91
-
92
- .mdc-tab-indicator__content--underline {
93
- align-self: flex-end;
94
- box-sizing: border-box;
95
- width: 100%;
96
- border-top-style: solid;
97
- }
98
-
99
- .mdc-tab-indicator__content--icon {
100
- align-self: center;
101
- margin: 0 auto;
102
- }
103
-
104
- .mdc-tab-indicator--active .mdc-tab-indicator__content {
105
- opacity: 1;
106
- }
107
-
108
- .mdc-tab-indicator .mdc-tab-indicator__content {
109
- transition: 250ms transform cubic-bezier(0.4, 0, 0.2, 1);
110
- }
111
-
112
- .mdc-tab-indicator--no-transition .mdc-tab-indicator__content {
113
- transition: none;
114
- }
115
-
116
- .mdc-tab-indicator--fade .mdc-tab-indicator__content {
117
- transition: 150ms opacity linear;
118
- }
119
-
120
- .mdc-tab-indicator--active.mdc-tab-indicator--fade .mdc-tab-indicator__content {
121
- transition-delay: 100ms;
122
- }
123
-
124
- .mdc-tab {
125
- -moz-osx-font-smoothing: grayscale;
126
- -webkit-font-smoothing: antialiased;
127
- font-family: Roboto, sans-serif;
128
- /* @alternate */
129
- font-family: var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
130
- font-size: 0.875rem;
131
- /* @alternate */
132
- font-size: var(--mdc-typography-button-font-size, 0.875rem);
133
- line-height: 2.25rem;
134
- /* @alternate */
135
- line-height: var(--mdc-typography-button-line-height, 2.25rem);
136
- font-weight: 500;
137
- /* @alternate */
138
- font-weight: var(--mdc-typography-button-font-weight, 500);
139
- letter-spacing: 0.0892857143em;
140
- /* @alternate */
141
- letter-spacing: var(--mdc-typography-button-letter-spacing, 0.0892857143em);
142
- text-decoration: none;
143
- /* @alternate */
144
- text-decoration: var(--mdc-typography-button-text-decoration, none);
145
- text-transform: uppercase;
146
- /* @alternate */
147
- text-transform: var(--mdc-typography-button-text-transform, uppercase);
148
- }
149
- .mdc-tab .mdc-tab__text-label {
150
- color: rgba(0, 0, 0, 0.6);
151
- }
152
- .mdc-tab .mdc-tab__icon {
153
- color: rgba(0, 0, 0, 0.54);
154
- fill: currentColor;
155
- }
156
- .mdc-tab {
157
- position: relative;
158
- }
159
-
160
- .mdc-tab__content {
161
- position: relative;
162
- }
163
-
164
- .mdc-tab__icon {
165
- width: 24px;
166
- height: 24px;
167
- font-size: 24px;
168
- }
169
-
170
- .mdc-tab--active .mdc-tab__text-label {
171
- color: #6200ee;
172
- /* @alternate */
173
- color: var(--mdc-theme-primary, #6200ee);
174
- }
175
- .mdc-tab--active .mdc-tab__icon {
176
- color: #6200ee;
177
- /* @alternate */
178
- color: var(--mdc-theme-primary, #6200ee);
179
- fill: currentColor;
180
- }
181
-
182
- .mdc-tab {
183
- background: none;
184
- }
185
-
186
- .mdc-tab {
187
- min-width: 90px;
188
- padding-right: 24px;
189
- padding-left: 24px;
190
- display: flex;
191
- flex: 1 0 auto;
192
- justify-content: center;
193
- box-sizing: border-box;
194
- margin: 0;
195
- padding-top: 0;
196
- padding-bottom: 0;
197
- border: none;
198
- outline: none;
199
- text-align: center;
200
- white-space: nowrap;
201
- cursor: pointer;
202
- -webkit-appearance: none;
203
- z-index: 1;
204
- }
205
- .mdc-tab::-moz-focus-inner {
206
- padding: 0;
207
- border: 0;
208
- }
209
-
210
- .mdc-tab--min-width {
211
- flex: 0 1 auto;
212
- }
213
-
214
- .mdc-tab__content {
215
- display: flex;
216
- align-items: center;
217
- justify-content: center;
218
- height: inherit;
219
- pointer-events: none;
220
- }
221
-
222
- .mdc-tab__text-label {
223
- transition: 150ms color linear;
224
- display: inline-block;
225
- line-height: 1;
226
- z-index: 2;
227
- }
228
-
229
- .mdc-tab__icon {
230
- transition: 150ms color linear;
231
- z-index: 2;
232
- }
233
-
234
- .mdc-tab--stacked .mdc-tab__content {
235
- flex-direction: column;
236
- align-items: center;
237
- justify-content: center;
238
- }
239
- .mdc-tab--stacked .mdc-tab__text-label {
240
- padding-top: 6px;
241
- padding-bottom: 4px;
242
- }
243
-
244
- .mdc-tab--active .mdc-tab__text-label,
245
- .mdc-tab--active .mdc-tab__icon {
246
- transition-delay: 100ms;
247
- }
248
-
249
- .mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon + .mdc-tab__text-label {
250
- /* @noflip */ /*rtl:ignore*/
251
- padding-left: 8px;
252
- /* @noflip */ /*rtl:ignore*/
253
- padding-right: 0;
254
- }
255
- [dir=rtl] .mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon + .mdc-tab__text-label, .mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon + .mdc-tab__text-label[dir=rtl] {
256
- /*rtl:begin:ignore*/
257
- /* @noflip */ /*rtl:ignore*/
258
- padding-left: 0;
259
- /* @noflip */ /*rtl:ignore*/
260
- padding-right: 8px;
261
- /*rtl:end:ignore*/
262
- }
263
-
264
- @keyframes mdc-ripple-fg-radius-in {
265
- from {
266
- animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
267
- transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1);
268
- }
269
- to {
270
- transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
271
- }
272
- }
273
- @keyframes mdc-ripple-fg-opacity-in {
274
- from {
275
- animation-timing-function: linear;
276
- opacity: 0;
277
- }
278
- to {
279
- opacity: var(--mdc-ripple-fg-opacity, 0);
280
- }
281
- }
282
- @keyframes mdc-ripple-fg-opacity-out {
283
- from {
284
- animation-timing-function: linear;
285
- opacity: var(--mdc-ripple-fg-opacity, 0);
286
- }
287
- to {
288
- opacity: 0;
289
- }
290
- }
291
- .mdc-tab {
292
- --mdc-ripple-fg-size: 0;
293
- --mdc-ripple-left: 0;
294
- --mdc-ripple-top: 0;
295
- --mdc-ripple-fg-scale: 1;
296
- --mdc-ripple-fg-translate-end: 0;
297
- --mdc-ripple-fg-translate-start: 0;
298
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
299
- }
300
- .mdc-tab .mdc-tab__ripple::before,
301
- .mdc-tab .mdc-tab__ripple::after {
302
- position: absolute;
303
- border-radius: 50%;
304
- opacity: 0;
305
- pointer-events: none;
306
- content: "";
307
- }
308
- .mdc-tab .mdc-tab__ripple::before {
309
- transition: opacity 15ms linear, background-color 15ms linear;
310
- z-index: 1;
311
- /* @alternate */
312
- z-index: var(--mdc-ripple-z-index, 1);
313
- }
314
- .mdc-tab .mdc-tab__ripple::after {
315
- z-index: 0;
316
- /* @alternate */
317
- z-index: var(--mdc-ripple-z-index, 0);
318
- }
319
- .mdc-tab.mdc-ripple-upgraded .mdc-tab__ripple::before {
320
- transform: scale(var(--mdc-ripple-fg-scale, 1));
321
- }
322
- .mdc-tab.mdc-ripple-upgraded .mdc-tab__ripple::after {
323
- top: 0;
324
- /* @noflip */ /*rtl:ignore*/
325
- left: 0;
326
- transform: scale(0);
327
- transform-origin: center center;
328
- }
329
- .mdc-tab.mdc-ripple-upgraded--unbounded .mdc-tab__ripple::after {
330
- top: var(--mdc-ripple-top, 0);
331
- /* @noflip */ /*rtl:ignore*/
332
- left: var(--mdc-ripple-left, 0);
333
- }
334
- .mdc-tab.mdc-ripple-upgraded--foreground-activation .mdc-tab__ripple::after {
335
- animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
336
- }
337
- .mdc-tab.mdc-ripple-upgraded--foreground-deactivation .mdc-tab__ripple::after {
338
- animation: mdc-ripple-fg-opacity-out 150ms;
339
- transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
340
- }
341
- .mdc-tab .mdc-tab__ripple::before,
342
- .mdc-tab .mdc-tab__ripple::after {
343
- top: calc(50% - 100%);
344
- /* @noflip */ /*rtl:ignore*/
345
- left: calc(50% - 100%);
346
- width: 200%;
347
- height: 200%;
348
- }
349
- .mdc-tab.mdc-ripple-upgraded .mdc-tab__ripple::after {
350
- width: var(--mdc-ripple-fg-size, 100%);
351
- height: var(--mdc-ripple-fg-size, 100%);
352
- }
353
- .mdc-tab .mdc-tab__ripple::before, .mdc-tab .mdc-tab__ripple::after {
354
- background-color: #6200ee;
355
- /* @alternate */
356
- background-color: var(--mdc-ripple-color, var(--mdc-theme-primary, #6200ee));
357
- }
358
- .mdc-tab:hover .mdc-tab__ripple::before, .mdc-tab.mdc-ripple-surface--hover .mdc-tab__ripple::before {
359
- opacity: 0.04;
360
- /* @alternate */
361
- opacity: var(--mdc-ripple-hover-opacity, 0.04);
362
- }
363
- .mdc-tab.mdc-ripple-upgraded--background-focused .mdc-tab__ripple::before, .mdc-tab:not(.mdc-ripple-upgraded):focus .mdc-tab__ripple::before {
364
- transition-duration: 75ms;
365
- opacity: 0.12;
366
- /* @alternate */
367
- opacity: var(--mdc-ripple-focus-opacity, 0.12);
368
- }
369
- .mdc-tab:not(.mdc-ripple-upgraded) .mdc-tab__ripple::after {
370
- transition: opacity 150ms linear;
371
- }
372
- .mdc-tab:not(.mdc-ripple-upgraded):active .mdc-tab__ripple::after {
373
- transition-duration: 75ms;
374
- opacity: 0.12;
375
- /* @alternate */
376
- opacity: var(--mdc-ripple-press-opacity, 0.12);
377
- }
378
- .mdc-tab.mdc-ripple-upgraded {
379
- --mdc-ripple-fg-opacity: var(--mdc-ripple-press-opacity, 0.12);
380
- }
381
-
382
- .mdc-tab__ripple {
383
- position: absolute;
384
- top: 0;
385
- left: 0;
386
- width: 100%;
387
- height: 100%;
388
- overflow: hidden;
389
- will-change: transform, opacity;
390
- }
391
-
66
+ /**
67
+ * This mixin is a hack, using old CSS syntax
68
+ * to enable you to truncate a piece of text,
69
+ * after a certain number of lines.
70
+ */
71
+ /**
72
+ * This mixin will add a chessboard background pattern,
73
+ * typically used to visualize transparency.
74
+ */
75
+ /**
76
+ * Make a container resizable by the user.
77
+ * This is used in the documentations and examples
78
+ * of some components, to demonstrate how the component
79
+ * behaves in a resizable container.
80
+ */
81
+ /**
82
+ * Drag to reorder mixins
83
+ */
84
+ /**
85
+ * The breakpoints below are used to create responsive designs
86
+ * in Lime's products. Therefore, they are here to get distributed
87
+ * to all components in other private repos, which rely on this `mixins`
88
+ * file, to create consistent styles.
89
+ *
90
+ * :::important
91
+ * In very rare cases you should used media queries!
92
+ * Nowadays, there are many better ways of achieving responsive design
93
+ * without media queries. For example, using CSS Grid, Flexbox, and their features.
94
+ * :::
95
+ */
96
+ /**
97
+ * Media query mixins for responsive design based on screen width.
98
+ * Note that these mixins do not detect the device type!
99
+ */
392
100
  :host(limel-tab-bar) {
393
101
  --limel-tab-background-color: var(--contrast-300);
394
102
  --limel-tab-border-radius: 0.625rem;
103
+ --limel-tab-content-inset: 0.25rem;
395
104
  --limel-active-tab-background-color: var(
396
105
  --tab-panel-background-color,
397
106
  rgb(var(--contrast-100))
398
107
  );
108
+ --limel-active-tab-color: var(
109
+ --lime-primary-color,
110
+ var(--limel-theme-primary-color)
111
+ );
399
112
  --limel-tab-active-outer-edge-curve-size: 0.75rem;
400
113
  --limel-tab-separator-width: 0.125rem;
401
114
  --limel-tab-separator-background-color: rgb(var(--contrast-600));
@@ -411,44 +124,34 @@ limel-scroller {
411
124
  background-color: rgb(var(--limel-tab-background-color));
412
125
  }
413
126
 
414
- :host(.has-tabs-with-equal-width) .mdc-tab {
127
+ :host(.has-tabs-with-equal-width) button {
415
128
  flex: 1 0 auto;
416
129
  }
417
130
 
418
- .mdc-tab {
419
- font-family: inherit;
420
- font-weight: 400;
421
- letter-spacing: normal;
422
- font-size: var(--limel-theme-default-font-size);
423
- text-transform: none;
424
- }
425
-
426
- .mdc-tab-indicator .mdc-tab-indicator__content {
131
+ button {
132
+ appearance: none;
133
+ background: none;
427
134
  border: none;
428
- }
429
-
430
- .mdc-tab__ripple {
135
+ padding: 0;
136
+ margin: 0;
137
+ font: inherit;
138
+ color: inherit;
139
+ text-align: inherit;
140
+ position: relative;
141
+ display: flex;
431
142
  box-sizing: border-box;
432
- border-radius: var(--limel-tab-border-radius);
433
- border-style: solid;
434
- border-color: transparent;
435
- border-width: 0.25rem;
436
- opacity: 0.7;
437
- }
438
- .mdc-tab__ripple:before, .mdc-tab__ripple:after {
439
- transition: background-color 0.5s ease;
440
- }
441
-
442
- .mdc-tab {
443
143
  border-radius: 0;
444
- padding-right: 1rem;
445
- padding-left: 1rem;
144
+ padding: var(--limel-tab-content-inset);
446
145
  min-width: 2.5rem;
447
146
  background-color: transparent;
448
147
  flex: 0 0 auto;
449
148
  height: 2.5rem;
149
+ outline: none;
150
+ cursor: pointer;
151
+ white-space: nowrap;
152
+ font-size: var(--limel-theme-default-font-size);
450
153
  }
451
- .mdc-tab:not(.mdc-tab--active):after {
154
+ button:not([aria-selected=true]):after {
452
155
  content: "";
453
156
  display: block;
454
157
  background-color: var(--limel-tab-separator-background-color);
@@ -461,24 +164,34 @@ limel-scroller {
461
164
  border-radius: 1rem;
462
165
  right: calc(-1 * var(--limel-tab-separator-width));
463
166
  }
464
- .mdc-tab:not(.mdc-tab--active):last-of-type:after {
167
+ button:not([aria-selected=true]):last-of-type:after {
465
168
  display: none;
466
169
  }
467
- .mdc-tab .mdc-tab__icon {
170
+ button limel-icon {
171
+ transition: color 0.2s ease;
468
172
  color: rgb(var(--contrast-800));
469
173
  margin-left: -0.25rem;
470
174
  }
471
- .mdc-tab limel-badge {
175
+ button span.text {
176
+ transition: color 0.2s ease;
177
+ line-height: 1;
178
+ color: var(--limel-theme-on-surface-color);
179
+ }
180
+ button:hover span.text {
181
+ color: var(--limel-theme-text-primary-on-background-color);
182
+ }
183
+ button limel-badge {
472
184
  margin-right: -0.25rem;
473
185
  box-shadow: 0 0 0 1px rgb(var(--contrast-600));
186
+ pointer-events: none;
474
187
  }
475
188
 
476
- .mdc-tab--active {
189
+ button[aria-selected=true] {
477
190
  border-radius: var(--limel-tab-border-radius) var(--limel-tab-border-radius) 0 0;
478
191
  background-color: var(--limel-active-tab-background-color);
479
192
  z-index: 2;
480
193
  }
481
- .mdc-tab--active:before, .mdc-tab--active:after {
194
+ button[aria-selected=true]:before, button[aria-selected=true]:after {
482
195
  content: "";
483
196
  display: block;
484
197
  width: var(--limel-tab-active-outer-edge-curve-size);
@@ -489,33 +202,31 @@ limel-scroller {
489
202
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20fill-rule='evenodd'%20stroke-linejoin='round'%20stroke-miterlimit='2'%20clip-rule='evenodd'%20viewBox='0%200%2050%2050'%3E%3Cdefs/%3E%3Cpath%20d='M0%200c0%2027.594%2022.406%2050%2050%2050H0V0z'/%3E%3C/svg%3E");
490
203
  mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20fill-rule='evenodd'%20stroke-linejoin='round'%20stroke-miterlimit='2'%20clip-rule='evenodd'%20viewBox='0%200%2050%2050'%3E%3Cdefs/%3E%3Cpath%20d='M0%200c0%2027.594%2022.406%2050%2050%2050H0V0z'/%3E%3C/svg%3E");
491
204
  }
492
- .mdc-tab--active:before {
205
+ button[aria-selected=true]:before {
493
206
  left: calc(-1 * var(--limel-tab-active-outer-edge-curve-size));
494
207
  transform: rotateY(180deg);
495
208
  }
496
- .mdc-tab--active:after {
209
+ button[aria-selected=true]:after {
497
210
  right: calc(-1 * var(--limel-tab-active-outer-edge-curve-size));
498
211
  }
499
- .mdc-tab--active .mdc-ripple-upgraded--background-focused:before {
500
- background-color: transparent;
501
- transition: background-color 1s ease;
212
+ button[aria-selected=true] limel-icon {
213
+ color: var(--limel-active-tab-color);
502
214
  }
503
- .mdc-tab--active .mdc-tab__icon {
504
- color: var(--mdc-theme-primary);
215
+ button[aria-selected=true] span.text {
216
+ color: var(--limel-active-tab-color);
505
217
  }
506
218
 
507
- .mdc-tab__content {
219
+ span.content {
220
+ transition: box-shadow 0.2s ease;
221
+ display: flex;
222
+ flex-grow: 1;
223
+ align-items: center;
224
+ justify-content: center;
508
225
  gap: 0.375rem;
226
+ padding: 0 0.75rem;
227
+ border-radius: calc(var(--limel-tab-border-radius) - var(--limel-tab-content-inset));
509
228
  }
510
-
511
- .mdc-tab .mdc-tab__text-label {
512
- transition: color 0.2s ease;
513
- padding-left: 0 !important;
514
- color: var(--limel-theme-on-surface-color);
515
- }
516
- .mdc-tab:hover .mdc-tab__text-label {
517
- color: var(--limel-theme-text-primary-on-background-color);
518
- }
519
- .mdc-tab.mdc-tab--active .mdc-tab__text-label {
520
- color: var(--lime-primary-color, var(--limel-theme-primary-color));
229
+ button:focus-visible span.content {
230
+ transition-duration: 0.3s;
231
+ box-shadow: var(--shadow-depth-8-focused);
521
232
  }