@limetech/lime-elements 37.67.0 → 37.68.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 (112) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/lime-elements.cjs.js +1 -1
  3. package/dist/cjs/limel-action-bar_4.cjs.entry.js +1 -1
  4. package/dist/cjs/limel-callout.cjs.entry.js +1 -1
  5. package/dist/cjs/limel-chart.cjs.entry.js +216 -0
  6. package/dist/cjs/limel-chart.cjs.entry.js.map +1 -0
  7. package/dist/cjs/limel-chip_2.cjs.entry.js +1 -1
  8. package/dist/cjs/limel-file-viewer.cjs.entry.js +1 -1
  9. package/dist/cjs/limel-file.cjs.entry.js +1 -1
  10. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +1 -1
  11. package/dist/cjs/limel-icon.cjs.entry.js +208 -0
  12. package/dist/cjs/limel-icon.cjs.entry.js.map +1 -0
  13. package/dist/cjs/limel-linear-progress.cjs.entry.js +1 -1
  14. package/dist/cjs/{limel-icon_2.cjs.entry.js → limel-portal.cjs.entry.js} +1 -201
  15. package/dist/cjs/limel-portal.cjs.entry.js.map +1 -0
  16. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +1 -1
  17. package/dist/cjs/limel-snackbar.cjs.entry.js +1 -1
  18. package/dist/cjs/loader.cjs.js +1 -1
  19. package/dist/cjs/{translations-6c4447f4.js → translations-9ccca4b6.js} +9 -1
  20. package/dist/cjs/translations-9ccca4b6.js.map +1 -0
  21. package/dist/collection/collection-manifest.json +1 -0
  22. package/dist/collection/components/chart/chart.css +758 -0
  23. package/dist/collection/components/chart/chart.js +418 -0
  24. package/dist/collection/components/chart/chart.js.map +1 -0
  25. package/dist/collection/components/chart/chart.types.js +2 -0
  26. package/dist/collection/components/chart/chart.types.js.map +1 -0
  27. package/dist/collection/style/mixins.scss +16 -0
  28. package/dist/collection/translations/da.js +1 -0
  29. package/dist/collection/translations/da.js.map +1 -1
  30. package/dist/collection/translations/de.js +1 -0
  31. package/dist/collection/translations/de.js.map +1 -1
  32. package/dist/collection/translations/en.js +1 -0
  33. package/dist/collection/translations/en.js.map +1 -1
  34. package/dist/collection/translations/fi.js +1 -0
  35. package/dist/collection/translations/fi.js.map +1 -1
  36. package/dist/collection/translations/fr.js +1 -0
  37. package/dist/collection/translations/fr.js.map +1 -1
  38. package/dist/collection/translations/nl.js +1 -0
  39. package/dist/collection/translations/nl.js.map +1 -1
  40. package/dist/collection/translations/no.js +1 -0
  41. package/dist/collection/translations/no.js.map +1 -1
  42. package/dist/collection/translations/sv.js +1 -0
  43. package/dist/collection/translations/sv.js.map +1 -1
  44. package/dist/esm/lime-elements.js +1 -1
  45. package/dist/esm/limel-action-bar_4.entry.js +1 -1
  46. package/dist/esm/limel-callout.entry.js +1 -1
  47. package/dist/esm/limel-chart.entry.js +212 -0
  48. package/dist/esm/limel-chart.entry.js.map +1 -0
  49. package/dist/esm/limel-chip_2.entry.js +1 -1
  50. package/dist/esm/limel-file-viewer.entry.js +1 -1
  51. package/dist/esm/limel-file.entry.js +1 -1
  52. package/dist/esm/limel-flatpickr-adapter.entry.js +1 -1
  53. package/dist/esm/limel-icon.entry.js +204 -0
  54. package/dist/esm/limel-icon.entry.js.map +1 -0
  55. package/dist/esm/limel-linear-progress.entry.js +1 -1
  56. package/dist/esm/{limel-icon_2.entry.js → limel-portal.entry.js} +2 -201
  57. package/dist/esm/limel-portal.entry.js.map +1 -0
  58. package/dist/esm/limel-prosemirror-adapter.entry.js +1 -1
  59. package/dist/esm/limel-snackbar.entry.js +1 -1
  60. package/dist/esm/loader.js +1 -1
  61. package/dist/esm/{translations-26583a3b.js → translations-453e0db7.js} +9 -1
  62. package/dist/esm/translations-453e0db7.js.map +1 -0
  63. package/dist/lime-elements/lime-elements.esm.js +1 -1
  64. package/dist/lime-elements/lime-elements.esm.js.map +1 -1
  65. package/dist/lime-elements/{p-5d12d8d2.entry.js → p-0ee1d461.entry.js} +2 -2
  66. package/dist/lime-elements/{p-195df464.entry.js → p-1e99b371.entry.js} +2 -2
  67. package/dist/lime-elements/{p-4fd0ac1e.entry.js → p-2cbfe8f9.entry.js} +2 -2
  68. package/dist/lime-elements/{p-adfa2c05.entry.js → p-3fcb2b67.entry.js} +2 -2
  69. package/dist/lime-elements/{p-1a0aaf41.entry.js → p-488decb0.entry.js} +2 -2
  70. package/dist/lime-elements/{p-61047574.entry.js → p-589ba37a.entry.js} +2 -2
  71. package/dist/lime-elements/p-5d08ef7d.entry.js +2 -0
  72. package/dist/lime-elements/p-5d08ef7d.entry.js.map +1 -0
  73. package/dist/lime-elements/p-8915fa60.js +2 -0
  74. package/dist/lime-elements/p-8915fa60.js.map +1 -0
  75. package/dist/lime-elements/{p-fbaa1b19.entry.js → p-9d2f6454.entry.js} +2 -2
  76. package/dist/lime-elements/{p-03eea223.entry.js → p-a451cece.entry.js} +2 -2
  77. package/dist/lime-elements/p-d696f6b8.entry.js +2 -0
  78. package/dist/lime-elements/p-d696f6b8.entry.js.map +1 -0
  79. package/dist/lime-elements/p-d93f1964.entry.js +2 -0
  80. package/dist/lime-elements/p-d93f1964.entry.js.map +1 -0
  81. package/dist/lime-elements/{p-0f484317.entry.js → p-dd031410.entry.js} +2 -2
  82. package/dist/lime-elements/style/mixins.scss +16 -0
  83. package/dist/scss/mixins.scss +16 -0
  84. package/dist/types/components/chart/chart.d.ts +94 -0
  85. package/dist/types/components/chart/chart.types.d.ts +25 -0
  86. package/dist/types/components.d.ts +203 -0
  87. package/dist/types/translations/da.d.ts +1 -0
  88. package/dist/types/translations/de.d.ts +1 -0
  89. package/dist/types/translations/en.d.ts +1 -0
  90. package/dist/types/translations/fi.d.ts +1 -0
  91. package/dist/types/translations/fr.d.ts +1 -0
  92. package/dist/types/translations/nl.d.ts +1 -0
  93. package/dist/types/translations/no.d.ts +1 -0
  94. package/dist/types/translations/sv.d.ts +1 -0
  95. package/package.json +1 -1
  96. package/dist/cjs/limel-icon_2.cjs.entry.js.map +0 -1
  97. package/dist/cjs/translations-6c4447f4.js.map +0 -1
  98. package/dist/esm/limel-icon_2.entry.js.map +0 -1
  99. package/dist/esm/translations-26583a3b.js.map +0 -1
  100. package/dist/lime-elements/p-e78fcffb.entry.js +0 -2
  101. package/dist/lime-elements/p-e78fcffb.entry.js.map +0 -1
  102. package/dist/lime-elements/p-fe15bcbb.js +0 -2
  103. package/dist/lime-elements/p-fe15bcbb.js.map +0 -1
  104. /package/dist/lime-elements/{p-5d12d8d2.entry.js.map → p-0ee1d461.entry.js.map} +0 -0
  105. /package/dist/lime-elements/{p-195df464.entry.js.map → p-1e99b371.entry.js.map} +0 -0
  106. /package/dist/lime-elements/{p-4fd0ac1e.entry.js.map → p-2cbfe8f9.entry.js.map} +0 -0
  107. /package/dist/lime-elements/{p-adfa2c05.entry.js.map → p-3fcb2b67.entry.js.map} +0 -0
  108. /package/dist/lime-elements/{p-1a0aaf41.entry.js.map → p-488decb0.entry.js.map} +0 -0
  109. /package/dist/lime-elements/{p-61047574.entry.js.map → p-589ba37a.entry.js.map} +0 -0
  110. /package/dist/lime-elements/{p-fbaa1b19.entry.js.map → p-9d2f6454.entry.js.map} +0 -0
  111. /package/dist/lime-elements/{p-03eea223.entry.js.map → p-a451cece.entry.js.map} +0 -0
  112. /package/dist/lime-elements/{p-0f484317.entry.js.map → p-dd031410.entry.js.map} +0 -0
@@ -0,0 +1,758 @@
1
+ @charset "UTF-8";
2
+ /**
3
+ * Note! This file is exported to `dist/scss/` in the published
4
+ * node module, for consumer projects to import.
5
+ * That means this file cannot import from any file that isn't
6
+ * also exported, keeping the same relative path.
7
+ *
8
+ * Or, just don't import anything, that works too.
9
+ */
10
+ /**
11
+ * This can be used on a trigger element that opens a dropdown menu or a popover.
12
+ */
13
+ /**
14
+ * This mixin will mask out the content that is close to
15
+ * the edges of a scrollable area.
16
+ * - If the scrollable content has `overflow-y`, use `vertically`
17
+ * as an argument for `$direction`.
18
+ - If the scrollable content has `overflow-x`, use `horizontally`
19
+ * as an argument for `$direction`.
20
+ *
21
+ * For the visual effect to work smoothly, we need to make sure that
22
+ * the size of the fade-out edge effect is the same as the
23
+ * internal paddings of the scrollable area. Otherwise, content of a
24
+ * scrollable area that does not have a padding will fade out before
25
+ * any scrolling has been done.
26
+ * This is why this mixin already adds paddings, which automatically
27
+ * default to the size of the fade-out effect.
28
+ * This size defaults to `1rem`, but to override the size use
29
+ * `--limel-top-edge-fade-height` & `--limel-bottom-edge-fade-height`
30
+ * when `vertically` argument is set, and use
31
+ * `--limel-left-edge-fade-width` & `--limel-right-edge-fade-width`
32
+ * when `horizontally` argument is set.
33
+ * Of course you can also programmatically increase and decrease the
34
+ * size of these variables for each edge, based on the amount of
35
+ * scrolling that has been done by the user. In this case, make sure
36
+ * to add a custom padding where the mixin is used, to override
37
+ * the paddings that are automatically added by the mixin in the
38
+ * compiled CSS code.
39
+ */
40
+ /**
41
+ * This mixin will add an animated underline to the bottom of an `a` elements.
42
+ * Note that you may need to add `all: unset;` –depending on your use case–
43
+ * before using this mixin.
44
+ */
45
+ /**
46
+ * This mixin creates a cross-browser font stack.
47
+ * - `sans-serif` can be used for the UI of the components.
48
+ * - `monospace` can be used for code.
49
+ *
50
+ * ⚠️ If we change the font stacks, we need to update
51
+ * 1. the consumer documentation in `README.md`, and
52
+ * 2. the CSS variables of `--kompendium-example-font-family`
53
+ * in the `<style>` tag of `index.html`.
54
+ */
55
+ /**
56
+ * This mixin is a hack, using old CSS syntax
57
+ * to enable you to truncate a piece of text,
58
+ * after a certain number of lines.
59
+ */
60
+ /**
61
+ * @prop --chart-background-color: Defines the background color of the chart. Defaults to `transparent` for _most_ chart types.
62
+ * @prop --chart-item-color: If no color is defined for chart items, this color will be use. Defaults to `rgb(var(--contrast-1100), 0.8)`.
63
+ * @prop --chart-item-divider-color: Defines the color that visually separates items in some charts, such as `stacked-bar` chart items. Defaults to `rgb(var(--color-white), 0.6)`.
64
+ * @prop --chart-axis-line-color: Defines color of the axis lines. Defaults to `--contrast-900`. Note that lines have opacity as well, and get opaque on hover.
65
+ * @prop --chart-item-border-radius: Defines the roundness of corners of items in a chart. Defaults to different values depending on the chart type. Does not have any effect on `pie` and `doughnut` types.
66
+ */
67
+ :host(limel-chart) {
68
+ --chart-axis-line-color: var(
69
+ --limel-chart-axis-line-color,
70
+ rgb(var(--contrast-900))
71
+ );
72
+ box-sizing: border-box;
73
+ isolation: isolate;
74
+ display: flex;
75
+ width: 100%;
76
+ height: 100%;
77
+ min-width: 0;
78
+ min-height: 0;
79
+ padding: var(--limel-chart-padding);
80
+ }
81
+
82
+ table {
83
+ all: unset;
84
+ border-collapse: collapse;
85
+ border-spacing: 0;
86
+ empty-cells: show;
87
+ position: relative;
88
+ display: flex;
89
+ width: 100%;
90
+ height: 100%;
91
+ min-width: 0;
92
+ min-height: 0;
93
+ }
94
+ table colgroup,
95
+ table thead,
96
+ table tbody,
97
+ table tr,
98
+ table th,
99
+ table td {
100
+ all: unset;
101
+ }
102
+ table caption,
103
+ table colgroup,
104
+ table thead,
105
+ table tfoot,
106
+ table th,
107
+ table td {
108
+ position: absolute;
109
+ width: 0;
110
+ height: 0;
111
+ margin: -1px;
112
+ padding: 0;
113
+ border: 0;
114
+ overflow: hidden;
115
+ clip: rect(0, 0, 0, 0);
116
+ clip-path: inset(50%);
117
+ white-space: nowrap;
118
+ }
119
+
120
+ *,
121
+ *:before,
122
+ *:after {
123
+ box-sizing: border-box;
124
+ }
125
+
126
+ .chart {
127
+ position: relative;
128
+ flex-grow: 1;
129
+ width: 100%;
130
+ height: 100%;
131
+ min-height: 0;
132
+ min-width: 0;
133
+ }
134
+ .chart:has(.item:hover) .item, .chart:has(.item:focus-visible) .item {
135
+ opacity: 0.4;
136
+ }
137
+
138
+ .item {
139
+ transition: background-color 0.2s ease, filter 0.2s ease, opacity 0.4s ease;
140
+ cursor: help;
141
+ }
142
+ .item:focus-visible, .item:hover {
143
+ opacity: 1 !important;
144
+ }
145
+
146
+ limel-spinner {
147
+ margin: auto;
148
+ }
149
+
150
+ :host(limel-chart[type=bar]) .chart,
151
+ :host(limel-chart[type=dot]) .chart,
152
+ :host(limel-chart[type=line]) .chart,
153
+ :host(limel-chart[type=area]) .chart {
154
+ display: flex;
155
+ background-color: var(--chart-background-color, transparent);
156
+ }
157
+ :host(limel-chart[type=bar]) .item,
158
+ :host(limel-chart[type=dot]) .item,
159
+ :host(limel-chart[type=line]) .item,
160
+ :host(limel-chart[type=area]) .item {
161
+ position: relative;
162
+ mix-blend-mode: hard-light;
163
+ }
164
+ :host(limel-chart[type=bar]) .item:focus,
165
+ :host(limel-chart[type=dot]) .item:focus,
166
+ :host(limel-chart[type=line]) .item:focus,
167
+ :host(limel-chart[type=area]) .item:focus {
168
+ outline: none;
169
+ }
170
+ :host(limel-chart[type=bar]) .item:focus-visible,
171
+ :host(limel-chart[type=dot]) .item:focus-visible,
172
+ :host(limel-chart[type=line]) .item:focus-visible,
173
+ :host(limel-chart[type=area]) .item:focus-visible {
174
+ outline: none;
175
+ box-shadow: var(--shadow-depth-8-focused);
176
+ }
177
+
178
+ :host(limel-chart[type=bar][orientation=landscape]),
179
+ :host(limel-chart[type=dot][orientation=landscape]),
180
+ :host(limel-chart[type=line][orientation=landscape]),
181
+ :host(limel-chart[type=area][orientation=landscape]) {
182
+ --limel-chart-padding: 0.5rem 0.5rem 0.5rem 2rem;
183
+ }
184
+ :host(limel-chart[type=bar][orientation=landscape]) .chart,
185
+ :host(limel-chart[type=dot][orientation=landscape]) .chart,
186
+ :host(limel-chart[type=line][orientation=landscape]) .chart,
187
+ :host(limel-chart[type=area][orientation=landscape]) .chart {
188
+ flex-direction: row;
189
+ align-items: flex-end;
190
+ overflow: auto hidden;
191
+ padding: 0 0.125rem;
192
+ }
193
+ :host(limel-chart[type=bar][orientation=landscape]) .item,
194
+ :host(limel-chart[type=dot][orientation=landscape]) .item,
195
+ :host(limel-chart[type=line][orientation=landscape]) .item,
196
+ :host(limel-chart[type=area][orientation=landscape]) .item {
197
+ min-width: 0.5rem;
198
+ width: inherit;
199
+ }
200
+
201
+ :host(limel-chart[type=bar][orientation=portrait]),
202
+ :host(limel-chart[type=dot][orientation=portrait]),
203
+ :host(limel-chart[type=line][orientation=portrait]),
204
+ :host(limel-chart[type=area][orientation=portrait]) {
205
+ --limel-chart-padding: 0.5rem 0.5rem 1rem 0.5rem;
206
+ }
207
+ :host(limel-chart[type=bar][orientation=portrait]) .chart,
208
+ :host(limel-chart[type=dot][orientation=portrait]) .chart,
209
+ :host(limel-chart[type=line][orientation=portrait]) .chart,
210
+ :host(limel-chart[type=area][orientation=portrait]) .chart {
211
+ flex-direction: column;
212
+ overflow: hidden auto;
213
+ padding: 0.125rem 0;
214
+ }
215
+ :host(limel-chart[type=bar][orientation=portrait]) .item,
216
+ :host(limel-chart[type=dot][orientation=portrait]) .item,
217
+ :host(limel-chart[type=line][orientation=portrait]) .item,
218
+ :host(limel-chart[type=area][orientation=portrait]) .item {
219
+ min-height: 0.5rem;
220
+ height: inherit;
221
+ }
222
+
223
+ :host(limel-chart[type=pie]) table,
224
+ :host(limel-chart[type=doughnut]) table,
225
+ :host(limel-chart[type=ring]) table {
226
+ min-height: 2rem;
227
+ min-width: 2rem;
228
+ }
229
+ :host(limel-chart[type=pie]) .chart,
230
+ :host(limel-chart[type=pie]) .item,
231
+ :host(limel-chart[type=doughnut]) .chart,
232
+ :host(limel-chart[type=doughnut]) .item,
233
+ :host(limel-chart[type=ring]) .chart,
234
+ :host(limel-chart[type=ring]) .item {
235
+ aspect-ratio: 1;
236
+ display: flex;
237
+ margin: auto;
238
+ }
239
+ :host(limel-chart[type=pie]) .chart,
240
+ :host(limel-chart[type=doughnut]) .chart,
241
+ :host(limel-chart[type=ring]) .chart {
242
+ justify-content: center;
243
+ align-items: center;
244
+ }
245
+ :host(limel-chart[type=pie]) .chart:before,
246
+ :host(limel-chart[type=doughnut]) .chart:before,
247
+ :host(limel-chart[type=ring]) .chart:before {
248
+ aspect-ratio: 1;
249
+ content: "";
250
+ position: absolute;
251
+ z-index: 0;
252
+ inset: 0;
253
+ margin: auto;
254
+ border-radius: 50%;
255
+ max-width: 100%;
256
+ max-height: 100%;
257
+ background-color: var(--chart-background-color, rgb(var(--contrast-200)));
258
+ }
259
+ :host(limel-chart[type=pie]) .item,
260
+ :host(limel-chart[type=doughnut]) .item,
261
+ :host(limel-chart[type=ring]) .item {
262
+ max-width: 100%;
263
+ max-height: 100%;
264
+ border-radius: 50%;
265
+ position: absolute;
266
+ inset: 0;
267
+ }
268
+
269
+ :host(limel-chart[type=bar]) .chart,
270
+ :host(limel-chart[type=dot]) .chart {
271
+ gap: 0.5rem;
272
+ }
273
+ :host(limel-chart[type=bar]) .item,
274
+ :host(limel-chart[type=dot]) .item {
275
+ display: flex;
276
+ align-items: center;
277
+ justify-content: center;
278
+ border-radius: var(--chart-item-border-radius, 0.125rem);
279
+ }
280
+
281
+ :host(limel-chart[type=bar]) .item {
282
+ background: var(--limel-chart-item-color, var(--chart-item-color, rgb(var(--contrast-1100), 0.8)));
283
+ }
284
+
285
+ :host(limel-chart[type=dot]) .item:before, :host(limel-chart[type=dot]) .item:after {
286
+ content: "";
287
+ position: absolute;
288
+ margin: auto;
289
+ width: 0.5rem;
290
+ height: 0.5rem;
291
+ border-radius: 50%;
292
+ }
293
+ :host(limel-chart[type=dot]) .item::after {
294
+ background-color: var(--limel-chart-item-color, var(--chart-item-color, rgb(var(--contrast-1100), 0.8)));
295
+ }
296
+ :host(limel-chart[type=dot]) .item.has-start-value:before {
297
+ background-color: var(--limel-chart-item-color, var(--chart-item-color, rgb(var(--contrast-1100), 0.8)));
298
+ }
299
+
300
+ :host(limel-chart[type=bar][orientation=landscape]) .item,
301
+ :host(limel-chart[type=dot][orientation=landscape]) .item {
302
+ height: calc(var(--limel-chart-item-size) * 1%);
303
+ bottom: calc(var(--limel-chart-item-offset) * 1%);
304
+ }
305
+ :host(limel-chart[type=bar][orientation=landscape]) .item.has-negative-value-only,
306
+ :host(limel-chart[type=dot][orientation=landscape]) .item.has-negative-value-only {
307
+ height: calc(var(--limel-chart-item-size) * -1%);
308
+ transform-origin: bottom;
309
+ transform: rotateX(180deg);
310
+ }
311
+
312
+ :host(limel-chart[type=dot][orientation=landscape]) .item.has-start-value, :host(limel-chart[type=dot][orientation=landscape]) .item:hover, :host(limel-chart[type=dot][orientation=landscape]) .item:focus-visible {
313
+ background: linear-gradient(to bottom, rgb(var(--contrast-800), 0.4) 0%, rgb(var(--contrast-800), 0.4) 100%) center/1px 100% no-repeat;
314
+ }
315
+ :host(limel-chart[type=dot][orientation=landscape]) .item:before {
316
+ inset: auto 0 0 0;
317
+ transform: translateY(50%);
318
+ }
319
+ :host(limel-chart[type=dot][orientation=landscape]) .item::after {
320
+ inset: 0 0 auto 0;
321
+ transform: translateY(-50%);
322
+ }
323
+
324
+ :host(limel-chart[type=bar][orientation=portrait]) .item,
325
+ :host(limel-chart[type=dot][orientation=portrait]) .item {
326
+ width: calc(var(--limel-chart-item-size) * 1%);
327
+ left: calc(var(--limel-chart-item-offset) * 1%);
328
+ }
329
+ :host(limel-chart[type=bar][orientation=portrait]) .item.has-negative-value-only,
330
+ :host(limel-chart[type=dot][orientation=portrait]) .item.has-negative-value-only {
331
+ width: calc(var(--limel-chart-item-size) * -1%);
332
+ transform-origin: left;
333
+ transform: rotateY(180deg);
334
+ }
335
+
336
+ :host(limel-chart[type=dot][orientation=portrait]) .item.has-start-value, :host(limel-chart[type=dot][orientation=portrait]) .item:hover, :host(limel-chart[type=dot][orientation=portrait]) .item:focus-visible {
337
+ background: linear-gradient(to right, rgb(var(--contrast-800), 0.4) 0%, rgb(var(--contrast-800), 0.4) 100%) center/100% 1px no-repeat;
338
+ }
339
+ :host(limel-chart[type=dot][orientation=portrait]) .item:before {
340
+ inset: 0 auto 0 0;
341
+ transform: translateX(-50%);
342
+ }
343
+ :host(limel-chart[type=dot][orientation=portrait]) .item:after {
344
+ inset: 0 0 0 auto;
345
+ transform: translateX(50%);
346
+ }
347
+
348
+ :host(limel-chart[type=area]) .item,
349
+ :host(limel-chart[type=line]) .item {
350
+ position: relative;
351
+ }
352
+ :host(limel-chart[type=area]) .item:after,
353
+ :host(limel-chart[type=line]) .item:after {
354
+ margin: auto;
355
+ width: 0.5rem;
356
+ height: 0.5rem;
357
+ border-radius: 50%;
358
+ border: 1px solid rgb(var(--contrast-100));
359
+ }
360
+ :host(limel-chart[type=area]) .item:before,
361
+ :host(limel-chart[type=line]) .item:before {
362
+ inset: 0;
363
+ }
364
+ :host(limel-chart[type=area]) .item:after, :host(limel-chart[type=area]) .item:before,
365
+ :host(limel-chart[type=line]) .item:after,
366
+ :host(limel-chart[type=line]) .item:before {
367
+ transition: border-color 0.2s ease, opacity 0.4s ease;
368
+ content: "";
369
+ position: absolute;
370
+ background: var(--limel-chart-item-color, var(--chart-item-color, rgb(var(--contrast-1100), 0.8)));
371
+ }
372
+ :host(limel-chart[type=area]) .item:hover:after, :host(limel-chart[type=area]) .item:focus-visible:after,
373
+ :host(limel-chart[type=line]) .item:hover:after,
374
+ :host(limel-chart[type=line]) .item:focus-visible:after {
375
+ border-color: transparent;
376
+ }
377
+
378
+ :host(limel-chart[type=line][orientation=landscape]) .item,
379
+ :host(limel-chart[type=area][orientation=landscape]) .item {
380
+ height: 100%;
381
+ }
382
+ :host(limel-chart[type=line][orientation=landscape]) .item:after,
383
+ :host(limel-chart[type=area][orientation=landscape]) .item:after {
384
+ transform: translateX(-50%) translateY(50%);
385
+ left: 0;
386
+ bottom: calc((var(--limel-chart-item-size) + var(--limel-chart-item-offset)) * 1%);
387
+ }
388
+
389
+ :host(limel-chart[type=line][orientation=portrait]) .item,
390
+ :host(limel-chart[type=area][orientation=portrait]) .item {
391
+ width: 100%;
392
+ }
393
+ :host(limel-chart[type=line][orientation=portrait]) .item:after,
394
+ :host(limel-chart[type=area][orientation=portrait]) .item:after {
395
+ transform: translateX(-50%) translateY(-50%);
396
+ left: calc((var(--limel-chart-item-size) + var(--limel-chart-item-offset)) * 1%);
397
+ }
398
+
399
+ :host(limel-chart[type=area]) .item:after {
400
+ opacity: 0;
401
+ }
402
+ :host(limel-chart[type=area]) .item:hover:after, :host(limel-chart[type=area]) .item:focus-visible:after {
403
+ opacity: 1;
404
+ }
405
+ :host(limel-chart[type=area]) .item:hover:before, :host(limel-chart[type=area]) .item:focus-visible:before {
406
+ opacity: 0.7;
407
+ }
408
+
409
+ :host(limel-chart[type=area][orientation=landscape]) {
410
+ /* prettier-ignore */
411
+ /* prettier-ignore */
412
+ }
413
+ :host(limel-chart[type=area][orientation=landscape]) .item:before {
414
+ clip-path: polygon(0 calc((100 - var(--limel-chart-item-offset)) * 1%), 0 calc((100 - (var(--limel-chart-item-size) + var(--limel-chart-item-offset))) * 1%), 100% calc((100 - (var(--limel-chart-next-item-size) + var(--limel-chart-next-item-offset))) * 1%), 100% calc((100 - var(--limel-chart-next-item-offset)) * 1%));
415
+ }
416
+
417
+ :host(limel-chart[type=area][orientation=portrait]) {
418
+ /* prettier-ignore */
419
+ /* prettier-ignore */
420
+ }
421
+ :host(limel-chart[type=area][orientation=portrait]) .item:before {
422
+ clip-path: polygon(calc(var(--limel-chart-item-offset) * 1%) 0, calc((var(--limel-chart-item-size) + var(--limel-chart-item-offset)) * 1%) 0, calc((var(--limel-chart-next-item-size) + var(--limel-chart-next-item-offset)) * 1%) 100%, calc(var(--limel-chart-next-item-offset) * 1%) 100%);
423
+ }
424
+
425
+ :host(limel-chart[type=line]) {
426
+ --limel-chart-line-thickness: 0.125rem;
427
+ }
428
+ :host(limel-chart[type=line]) .item:hover:before {
429
+ opacity: 0.4;
430
+ }
431
+
432
+ :host(limel-chart[type=line][orientation=landscape]) {
433
+ /* prettier-ignore */
434
+ /* prettier-ignore */
435
+ /* prettier-ignore */
436
+ /* prettier-ignore */
437
+ }
438
+ :host(limel-chart[type=line][orientation=landscape]) .item:hover {
439
+ background: linear-gradient(to bottom, rgb(var(--contrast-800), 0.4) 0%, rgb(var(--contrast-800), 0.4) 100%) left/1px 100% no-repeat;
440
+ }
441
+ :host(limel-chart[type=line][orientation=landscape]) .item:before {
442
+ clip-path: polygon(0 calc((100 - (var(--limel-chart-item-size) + var(--limel-chart-item-offset))) * 1%), 0 calc((100 - (var(--limel-chart-item-size) + var(--limel-chart-item-offset))) * 1% + var(--limel-chart-line-thickness)), 100% calc((100 - (var(--limel-chart-next-item-size) + var(--limel-chart-next-item-offset))) * 1% + var(--limel-chart-line-thickness)), 100% calc((100 - (var(--limel-chart-next-item-size) + var(--limel-chart-next-item-offset))) * 1%));
443
+ }
444
+
445
+ :host(limel-chart[type=line][orientation=portrait]) {
446
+ /* prettier-ignore */
447
+ /* prettier-ignore */
448
+ /* prettier-ignore */
449
+ /* prettier-ignore */
450
+ }
451
+ :host(limel-chart[type=line][orientation=portrait]) .item:hover {
452
+ background: linear-gradient(to right, rgb(var(--contrast-800), 0.4) 0%, rgb(var(--contrast-800), 0.4) 100%) top/100% 1px no-repeat;
453
+ }
454
+ :host(limel-chart[type=line][orientation=portrait]) .item:before {
455
+ clip-path: polygon(calc((var(--limel-chart-item-size) + var(--limel-chart-item-offset)) * 1%) 0, calc((var(--limel-chart-item-size) + var(--limel-chart-item-offset)) * 1% + var(--limel-chart-line-thickness)) 0, calc((var(--limel-chart-next-item-size) + var(--limel-chart-next-item-offset)) * 1% + var(--limel-chart-line-thickness)) 100%, calc((var(--limel-chart-next-item-size) + var(--limel-chart-next-item-offset)) * 1%) 100%);
456
+ }
457
+
458
+ :host(limel-chart[type=pie]) .item,
459
+ :host(limel-chart[type=doughnut]) .item {
460
+ background: conic-gradient(transparent 0 calc(var(--limel-chart-item-offset) * 1%), var(--limel-chart-item-color, var(--chart-item-color, rgb(var(--contrast-1100), 0.8))) calc(var(--limel-chart-item-offset) * 1%) calc(var(--limel-chart-item-offset) * 1% + var(--limel-chart-item-size) * 1%), transparent calc(var(--limel-chart-item-offset) * 1% + var(--limel-chart-item-size) * 1%));
461
+ }
462
+ :host(limel-chart[type=pie]) .item:focus, :host(limel-chart[type=pie]) .item:focus-visible,
463
+ :host(limel-chart[type=doughnut]) .item:focus,
464
+ :host(limel-chart[type=doughnut]) .item:focus-visible {
465
+ outline: none;
466
+ }
467
+ :host(limel-chart[type=pie]) .item,
468
+ :host(limel-chart[type=doughnut]) .item {
469
+ pointer-events: none;
470
+ }
471
+
472
+ :host(limel-chart[type=doughnut]) .chart:after {
473
+ aspect-ratio: 1;
474
+ content: "";
475
+ position: absolute;
476
+ inset: 0;
477
+ margin: auto;
478
+ max-width: 60%;
479
+ max-height: 60%;
480
+ border-radius: 50%;
481
+ background-color: rgb(var(--contrast-100));
482
+ }
483
+
484
+ :host(limel-chart[type=ring]) .chart:after {
485
+ content: "";
486
+ position: absolute;
487
+ inset: 0;
488
+ aspect-ratio: 1;
489
+ border-radius: 50%;
490
+ max-height: calc(100% - var(--limel-chart-number-of-items) * 100% / (var(--limel-chart-number-of-items) + 1));
491
+ max-width: calc(100% - var(--limel-chart-number-of-items) * 100% / (var(--limel-chart-number-of-items) + 1));
492
+ background-color: var(--limel-chart-background-color, rgb(var(--contrast-200)));
493
+ }
494
+ :host(limel-chart[type=ring]) .chart:has(.item:hover) .item, :host(limel-chart[type=ring]) .chart:has(.item:focus-visible) .item {
495
+ opacity: 1;
496
+ filter: grayscale(1);
497
+ }
498
+ :host(limel-chart[type=ring]) .chart:after,
499
+ :host(limel-chart[type=ring]) .item {
500
+ margin: auto;
501
+ border: 1px solid var(--limel-chart-background-color, rgb(var(--contrast-400)));
502
+ }
503
+ :host(limel-chart[type=ring]) .item {
504
+ background: conic-gradient(var(--limel-chart-item-color, var(--chart-item-color, rgb(var(--contrast-1100), 0.8))) 0 calc(var(--limel-chart-item-offset) * 1% + var(--limel-chart-item-size) * 1%), var(--chart-background-color, rgb(var(--contrast-200))) calc(var(--limel-chart-item-offset) * 1% + var(--limel-chart-item-size) * 1%));
505
+ max-width: calc(100% - var(--limel-chart-item-index) * 100% / (var(--limel-chart-number-of-items) + 1));
506
+ max-height: calc(100% - var(--limel-chart-item-index) * 100% / (var(--limel-chart-number-of-items) + 1));
507
+ }
508
+ :host(limel-chart[type=ring]) .item:focus {
509
+ outline: none;
510
+ }
511
+ :host(limel-chart[type=ring]) .item:focus-visible {
512
+ outline: none;
513
+ box-shadow: var(--shadow-depth-8-focused);
514
+ }
515
+ :host(limel-chart[type=ring]) .item:focus-visible, :host(limel-chart[type=ring]) .item:hover {
516
+ filter: grayscale(0) !important;
517
+ }
518
+
519
+ /**
520
+ * Note! This file is exported to `dist/scss/` in the published
521
+ * node module, for consumer projects to import.
522
+ * That means this file cannot import from any file that isn't
523
+ * also exported, keeping the same relative path.
524
+ *
525
+ * Or, just don't import anything, that works too.
526
+ */
527
+ /**
528
+ * This can be used on a trigger element that opens a dropdown menu or a popover.
529
+ */
530
+ /**
531
+ * This mixin will mask out the content that is close to
532
+ * the edges of a scrollable area.
533
+ * - If the scrollable content has `overflow-y`, use `vertically`
534
+ * as an argument for `$direction`.
535
+ - If the scrollable content has `overflow-x`, use `horizontally`
536
+ * as an argument for `$direction`.
537
+ *
538
+ * For the visual effect to work smoothly, we need to make sure that
539
+ * the size of the fade-out edge effect is the same as the
540
+ * internal paddings of the scrollable area. Otherwise, content of a
541
+ * scrollable area that does not have a padding will fade out before
542
+ * any scrolling has been done.
543
+ * This is why this mixin already adds paddings, which automatically
544
+ * default to the size of the fade-out effect.
545
+ * This size defaults to `1rem`, but to override the size use
546
+ * `--limel-top-edge-fade-height` & `--limel-bottom-edge-fade-height`
547
+ * when `vertically` argument is set, and use
548
+ * `--limel-left-edge-fade-width` & `--limel-right-edge-fade-width`
549
+ * when `horizontally` argument is set.
550
+ * Of course you can also programmatically increase and decrease the
551
+ * size of these variables for each edge, based on the amount of
552
+ * scrolling that has been done by the user. In this case, make sure
553
+ * to add a custom padding where the mixin is used, to override
554
+ * the paddings that are automatically added by the mixin in the
555
+ * compiled CSS code.
556
+ */
557
+ /**
558
+ * This mixin will add an animated underline to the bottom of an `a` elements.
559
+ * Note that you may need to add `all: unset;` –depending on your use case–
560
+ * before using this mixin.
561
+ */
562
+ /**
563
+ * This mixin creates a cross-browser font stack.
564
+ * - `sans-serif` can be used for the UI of the components.
565
+ * - `monospace` can be used for code.
566
+ *
567
+ * ⚠️ If we change the font stacks, we need to update
568
+ * 1. the consumer documentation in `README.md`, and
569
+ * 2. the CSS variables of `--kompendium-example-font-family`
570
+ * in the `<style>` tag of `index.html`.
571
+ */
572
+ /**
573
+ * This mixin is a hack, using old CSS syntax
574
+ * to enable you to truncate a piece of text,
575
+ * after a certain number of lines.
576
+ */
577
+ :host(limel-chart[type=stacked-bar]) .chart {
578
+ display: flex;
579
+ border-radius: 0.25rem;
580
+ overflow: hidden;
581
+ background-color: var(--chart-background-color, rgb(var(--contrast-800), 0.2));
582
+ }
583
+ :host(limel-chart[type=stacked-bar]) .item {
584
+ display: flex;
585
+ border-radius: var(--chart-item-border-radius, 0);
586
+ background: var(--limel-chart-item-color, var(--chart-item-color, rgb(var(--contrast-1100), 0.8)));
587
+ }
588
+ :host(limel-chart[type=stacked-bar]) .item:focus {
589
+ outline: none;
590
+ }
591
+ :host(limel-chart[type=stacked-bar]) .item:focus-visible {
592
+ outline: none;
593
+ box-shadow: var(--shadow-depth-8-focused);
594
+ }
595
+ :host(limel-chart[type=stacked-bar]) .item:last-of-type {
596
+ box-shadow: none !important;
597
+ }
598
+
599
+ :host(limel-chart[type=stacked-bar][orientation=landscape]) .chart {
600
+ flex-direction: row;
601
+ }
602
+ :host(limel-chart[type=stacked-bar][orientation=landscape]) .item {
603
+ min-height: 0.5rem;
604
+ width: calc(var(--limel-chart-item-size) * 1%);
605
+ box-shadow: -1px 0 0 0 var(--chart-item-divider-color, rgb(var(--color-white), 0.6)) inset;
606
+ }
607
+
608
+ :host(limel-chart[type=stacked-bar][orientation=portrait]) .chart {
609
+ flex-direction: column-reverse;
610
+ }
611
+ :host(limel-chart[type=stacked-bar][orientation=portrait]) .item {
612
+ min-width: 0.5rem;
613
+ height: calc(var(--limel-chart-item-size) * 1%);
614
+ box-shadow: 0 -1px 0 0 rgb(var(--color-white), 0.6) inset;
615
+ }
616
+
617
+ :host(limel-chart[type=nps]) {
618
+ --limel-chart-nps-gauge-angel: 220deg;
619
+ }
620
+ :host(limel-chart[type=nps]) table {
621
+ min-height: 4rem;
622
+ min-width: 4rem;
623
+ }
624
+ :host(limel-chart[type=nps]) .chart {
625
+ position: relative;
626
+ display: flex;
627
+ justify-content: center;
628
+ align-items: center;
629
+ aspect-ratio: 1;
630
+ margin: auto;
631
+ width: unset;
632
+ height: unset;
633
+ max-width: 100%;
634
+ max-height: 100%;
635
+ rotate: calc(var(--limel-chart-nps-gauge-angel) / 2 * -1);
636
+ transform: translate(-15%, -5%);
637
+ }
638
+ :host(limel-chart[type=nps]) .chart:before, :host(limel-chart[type=nps]) .chart:after {
639
+ content: "";
640
+ aspect-ratio: 1;
641
+ position: absolute;
642
+ border-radius: 50%;
643
+ z-index: -1;
644
+ min-height: 0;
645
+ min-width: 0;
646
+ }
647
+ :host(limel-chart[type=nps]) .chart:before {
648
+ height: 100%;
649
+ max-height: 100%;
650
+ background: conic-gradient(rgb(var(--color-coral-default)) 0deg calc(var(--limel-chart-nps-gauge-angel) / 2), rgb(var(--color-amber-light)) calc(var(--limel-chart-nps-gauge-angel) / 2) calc(var(--limel-chart-nps-gauge-angel) * 0.65), rgb(var(--color-lime-light)) calc(var(--limel-chart-nps-gauge-angel) * 0.65) calc(var(--limel-chart-nps-gauge-angel) * 0.85), rgb(var(--color-lime-default)) calc(var(--limel-chart-nps-gauge-angel) * 0.85) var(--limel-chart-nps-gauge-angel), transparent var(--limel-chart-nps-gauge-angel));
651
+ }
652
+ :host(limel-chart[type=nps]) .chart:after {
653
+ height: calc(100% - min(3rem, 20%) * 2);
654
+ max-height: calc(100% - min(3rem, 20%) * 2);
655
+ background: conic-gradient(var(--chart-background-color, rgb(var(--contrast-100))) 0deg var(--limel-chart-nps-gauge-angel), transparent var(--limel-chart-nps-gauge-angel));
656
+ }
657
+ :host(limel-chart[type=nps]) .item {
658
+ display: flex;
659
+ align-items: flex-start;
660
+ justify-content: center;
661
+ border-radius: 0.5rem;
662
+ position: absolute;
663
+ height: calc(50% - min(3rem, 20%) + 0.5rem);
664
+ width: 0.5rem;
665
+ transform: translateY(-50%) rotate(calc((var(--limel-chart-item-value) + 100) / 200 * var(--limel-chart-nps-gauge-angel)));
666
+ transform-origin: bottom;
667
+ }
668
+ :host(limel-chart[type=nps]) .item:focus {
669
+ outline: none;
670
+ }
671
+ :host(limel-chart[type=nps]) .item:focus-visible {
672
+ outline: none;
673
+ box-shadow: var(--shadow-depth-8-focused);
674
+ }
675
+ :host(limel-chart[type=nps]) .item:hover, :host(limel-chart[type=nps]) .item:focus-visible {
676
+ background: linear-gradient(to bottom, rgb(var(--contrast-800), 0.4) 0%, rgb(var(--contrast-800), 0.4) 100%) center/1px 100% no-repeat;
677
+ }
678
+ :host(limel-chart[type=nps]) .item:before, :host(limel-chart[type=nps]) .item:after {
679
+ content: "";
680
+ position: absolute;
681
+ }
682
+ :host(limel-chart[type=nps]) .item:before {
683
+ transform: translateY(-60%);
684
+ width: 0.4rem;
685
+ border-radius: 1rem;
686
+ border-color: var(--limel-chart-item-color, var(--chart-item-color, rgb(var(--contrast-1100), 0.8)));
687
+ border-style: solid;
688
+ border-bottom-width: 1.75rem;
689
+ border-right-color: transparent;
690
+ border-left-color: transparent;
691
+ border-top-color: transparent;
692
+ }
693
+ :host(limel-chart[type=nps]) .item:after {
694
+ border-radius: 50%;
695
+ background-color: var(--limel-chart-item-color, var(--chart-item-color, rgb(var(--contrast-1100), 0.8)));
696
+ aspect-ratio: 1;
697
+ height: clamp(0.75rem, 10%, 1.25rem);
698
+ border: 0.125rem solid rgb(var(--contrast-100), 0.8);
699
+ box-shadow: var(--shadow-depth-8);
700
+ }
701
+
702
+ .axises {
703
+ position: absolute;
704
+ display: flex;
705
+ justify-content: space-between;
706
+ min-height: 100%;
707
+ min-width: 100%;
708
+ height: 100%;
709
+ width: 100%;
710
+ }
711
+
712
+ .axis-line {
713
+ transition: opacity 0.4s ease;
714
+ position: relative;
715
+ opacity: 0.2;
716
+ font-size: 0.625rem;
717
+ border-color: var(--limel-chart-axis-line-color);
718
+ }
719
+ .axis-line:hover {
720
+ opacity: 0.6;
721
+ transition-duration: 0.2s;
722
+ }
723
+ .axis-line.zero-line {
724
+ opacity: 0.6;
725
+ z-index: 1;
726
+ }
727
+ .axis-line limel-badge {
728
+ --badge-background-color: transparent;
729
+ --badge-text-color: currentColor;
730
+ position: absolute;
731
+ text-align: right;
732
+ min-width: 2rem;
733
+ }
734
+
735
+ :host(limel-chart[orientation=landscape]) .axises {
736
+ flex-direction: column-reverse;
737
+ }
738
+ :host(limel-chart[orientation=landscape]) .axis-line {
739
+ border-bottom: 1px solid;
740
+ transform: translateY(50%);
741
+ }
742
+ :host(limel-chart[orientation=landscape]) .axis-line limel-badge {
743
+ bottom: 0;
744
+ left: -2rem;
745
+ transform: translateY(50%);
746
+ }
747
+
748
+ :host(limel-chart[orientation=portrait]) .axises {
749
+ flex-direction: row;
750
+ }
751
+ :host(limel-chart[orientation=portrait]) .axis-line {
752
+ border-left: 1px solid;
753
+ transform: translateX(-50%);
754
+ }
755
+ :host(limel-chart[orientation=portrait]) .axis-line limel-badge {
756
+ bottom: -1rem;
757
+ right: -1rem;
758
+ }