lapikit 0.0.0-insiders.f0512a6 → 0.0.0-insiders.f325e60

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 (82) hide show
  1. package/bin/configuration.js +7 -3
  2. package/bin/presets.js +1 -0
  3. package/dist/actions/index.d.ts +0 -1
  4. package/dist/actions/index.js +0 -1
  5. package/dist/colors.css +0 -0
  6. package/dist/components/accordion/accordion.svelte +118 -0
  7. package/dist/components/alert/alert.svelte +122 -0
  8. package/dist/components/app/app.svelte +18 -0
  9. package/dist/components/appbar/appbar.css +4 -4
  10. package/dist/components/appbar/appbar.svelte +45 -0
  11. package/dist/components/aspect-ratio/aspect-ratio.svelte +23 -4
  12. package/dist/components/avatar/avatar.svelte +114 -0
  13. package/dist/components/button/button.css +14 -14
  14. package/dist/components/button/button.svelte +230 -0
  15. package/dist/components/card/card.css +4 -4
  16. package/dist/components/card/card.svelte +108 -0
  17. package/dist/components/chip/chip.css +9 -9
  18. package/dist/components/chip/chip.svelte +211 -0
  19. package/dist/components/dialog/dialog.svelte +144 -0
  20. package/dist/components/dropdown/dropdown.svelte +24 -0
  21. package/dist/components/icon/icon.css +5 -3
  22. package/dist/components/icon/icon.svelte +89 -0
  23. package/dist/components/list/list.css +8 -8
  24. package/dist/components/list/list.svelte +199 -0
  25. package/dist/components/list/modules/list-item.svelte +199 -0
  26. package/dist/components/modal/modal.svelte +135 -0
  27. package/dist/components/popover/popover.svelte +24 -0
  28. package/dist/components/separator/separator.svelte +48 -0
  29. package/dist/components/spacer/spacer.svelte +5 -0
  30. package/dist/components/textfield/textfield.css +8 -8
  31. package/dist/components/textfield/textfield.svelte +270 -0
  32. package/dist/components/toolbar/toolbar.css +9 -9
  33. package/dist/components/toolbar/toolbar.svelte +135 -0
  34. package/dist/components/tooltip/tooltip.svelte +127 -0
  35. package/dist/internal/config/presets.d.ts +125 -0
  36. package/dist/internal/config/presets.js +138 -0
  37. package/dist/internal/config/variables.d.ts +6 -0
  38. package/dist/internal/config/variables.js +6 -0
  39. package/dist/internal/core/formatter/component.d.ts +5 -0
  40. package/dist/internal/core/formatter/component.js +63 -0
  41. package/dist/internal/core/formatter/device.d.ts +5 -0
  42. package/dist/internal/core/formatter/device.js +65 -0
  43. package/dist/internal/core/formatter/index.d.ts +7 -0
  44. package/dist/internal/core/formatter/index.js +35 -0
  45. package/dist/internal/core/formatter/style.d.ts +4 -0
  46. package/dist/internal/core/formatter/style.js +15 -0
  47. package/dist/internal/core/formatter/theme.d.ts +5 -0
  48. package/dist/internal/core/formatter/theme.js +28 -0
  49. package/dist/internal/core/formatter/typography.d.ts +5 -0
  50. package/dist/internal/core/formatter/typography.js +12 -0
  51. package/dist/internal/helpers/parser.d.ts +10 -0
  52. package/dist/internal/helpers/parser.js +92 -0
  53. package/dist/internal/plugins/vite.d.ts +8 -0
  54. package/dist/internal/plugins/vite.js +31 -0
  55. package/dist/internal/ripple.js +3 -3
  56. package/dist/internal/types/configuration.d.ts +40 -0
  57. package/dist/internal/types/configuration.js +1 -0
  58. package/dist/internal/types/index.d.ts +1 -0
  59. package/dist/internal/types/index.js +1 -0
  60. package/dist/labs/index.d.ts +4 -0
  61. package/dist/labs/index.js +5 -0
  62. package/dist/labs/my-component-style-global.svelte +6 -0
  63. package/dist/labs/my-component-style-global.svelte.d.ts +18 -0
  64. package/dist/labs/my-component-style-import.svelte +15 -0
  65. package/dist/labs/my-component-style-import.svelte.d.ts +18 -0
  66. package/dist/labs/my-component-style-mixed.svelte +23 -0
  67. package/dist/labs/my-component-style-mixed.svelte.d.ts +18 -0
  68. package/dist/labs/my-component.svelte +16 -0
  69. package/dist/labs/my-component.svelte.d.ts +18 -0
  70. package/dist/labs/style-mixed.css +7 -0
  71. package/dist/labs/style.css +7 -0
  72. package/dist/labs.css +1 -0
  73. package/dist/plugin/css.d.ts +1 -0
  74. package/dist/plugin/css.js +73 -0
  75. package/dist/plugin/preset-v2.d.ts +108 -0
  76. package/dist/plugin/preset-v2.js +126 -0
  77. package/dist/plugin/vitejs.d.ts +1 -2
  78. package/dist/plugin/vitejs.js +31 -7
  79. package/dist/styles/animation.css +33 -0
  80. package/dist/styles/keyframes.css +30 -0
  81. package/dist/styles/reset.css +131 -0
  82. package/package.json +10 -2
@@ -100,3 +100,233 @@
100
100
  </div>
101
101
  {/if}
102
102
  </svelte:element>
103
+
104
+ <style>/* root */
105
+ .kit-button {
106
+ --button-color: var(--on, var(--kit-on-container));
107
+ --button-background: var(--base, var(--kit-container));
108
+ --button-radius: var(--shape, var(--kit-radius-md));
109
+ }
110
+ .kit-button {
111
+ position: relative;
112
+ cursor: pointer;
113
+ border: none;
114
+ outline: none;
115
+ padding-top: var(--button-spacing-x);
116
+ padding-bottom: var(--button-spacing-x);
117
+ padding-right: var(--button-spacing-y);
118
+ padding-left: var(--button-spacing-y);
119
+ border-radius: var(--button-radius);
120
+ color: var(--button-color);
121
+ font-weight: 500;
122
+ text-decoration: none;
123
+ }
124
+ .kit-button,
125
+ .kit-button .kit-button-content,
126
+ .kit-button .kit-button-append,
127
+ .kit-button .kit-button-prepend,
128
+ .kit-button .kit-button-loading {
129
+ display: inline-flex;
130
+ align-items: center;
131
+ justify-content: center;
132
+ white-space: nowrap;
133
+ gap: calc(var(--prism-spacing) * var(--button-multiplier-gap));
134
+ font-size: calc(var(--prism-spacing) * var(--button-multiplier-font-size));
135
+ }
136
+ .kit-button::after {
137
+ content: '';
138
+ position: absolute;
139
+ inset: 0;
140
+ background-color: currentColor;
141
+ opacity: 0;
142
+ transition: opacity 150ms ease;
143
+ pointer-events: none;
144
+ border-radius: inherit;
145
+ }
146
+ .kit-button:hover::after {
147
+ opacity: 0.08;
148
+ }
149
+ .kit-button:active::after {
150
+ opacity: 0.12;
151
+ }
152
+ .kit-button:focus-visible::after {
153
+ opacity: 0.12;
154
+ }
155
+ /* size */
156
+ .kit-button[breakpoint]kit-button--size-xs {
157
+ --button-multiplier-x: 12;
158
+ --button-multiplier-y: 2;
159
+ --button-multiplier-gap: 2;
160
+ --button-multiplier-font-size: 6;
161
+ }
162
+ .kit-button[breakpoint]kit-button--size-xs .kit-icon[class*='kit-icon--size-md'] {
163
+ --icon-multiplier-parent-size: 7;
164
+ }
165
+ .kit-button[breakpoint]kit-button--size-sm {
166
+ --button-multiplier-x: 16;
167
+ --button-multiplier-y: 3;
168
+ --button-multiplier-gap: 4;
169
+ --button-multiplier-font-size: 7;
170
+ }
171
+ .kit-button[breakpoint]kit-button--size-sm .kit-icon[class*='kit-icon--size-md'] {
172
+ --icon-multiplier-parent-size: 8;
173
+ }
174
+ .kit-button[breakpoint]kit-button--size-md {
175
+ --button-multiplier-x: 20;
176
+ --button-multiplier-y: 4;
177
+ --button-multiplier-gap: 4;
178
+ --button-multiplier-font-size: 8;
179
+ }
180
+ .kit-button[breakpoint]kit-button--size-md .kit-icon[class*='kit-icon--size-md'] {
181
+ --icon-multiplier-parent-size: 9;
182
+ }
183
+ .kit-button[breakpoint]kit-button--size-lg {
184
+ --button-multiplier-x: 24;
185
+ --button-multiplier-y: 5;
186
+ --button-multiplier-gap: 4;
187
+ --button-multiplier-font-size: 9;
188
+ }
189
+ .kit-button[breakpoint]kit-button--size-lg .kit-icon[class*='kit-icon--size-md'] {
190
+ --icon-multiplier-parent-size: 10;
191
+ }
192
+ .kit-button[breakpoint]kit-button--size-xl {
193
+ --button-multiplier-x: 28;
194
+ --button-multiplier-y: 6;
195
+ --button-multiplier-gap: 5;
196
+ --button-multiplier-font-size: 10;
197
+ }
198
+ .kit-button[breakpoint]kit-button--size-xl .kit-icon[class*='kit-icon--size-md'] {
199
+ --icon-multiplier-parent-size: 11;
200
+ }
201
+ /* density */
202
+ .kit-button:not(.kit-button--icon)[breakpoint]kit-button--density-default {
203
+ height: calc(var(--prism-spacing) * var(--button-multiplier-x));
204
+ --button-spacing-x: 0;
205
+ --button-spacing-y: calc(var(--prism-spacing) * var(--button-multiplier-y));
206
+ }
207
+ .kit-button.kit-button--icon[breakpoint]kit-button--density-default {
208
+ height: calc(var(--prism-spacing) * var(--button-multiplier-x));
209
+ width: calc(var(--prism-spacing) * var(--button-multiplier-x));
210
+ --button-spacing-x: 0;
211
+ --button-spacing-y: 0;
212
+ }
213
+ .kit-button:not(.kit-button--icon)[breakpoint]kit-button--density-compact {
214
+ height: calc(var(--prism-spacing) * var(--button-multiplier-x) - 0.25rem);
215
+ --button-spacing-x: 0;
216
+ --button-spacing-y: calc(var(--prism-spacing) * var(--button-multiplier-y) - 0.25rem);
217
+ }
218
+ .kit-button.kit-button--icon[breakpoint]kit-button--density-compact {
219
+ height: calc(var(--prism-spacing) * var(--button-multiplier-x) - 0.25rem);
220
+ width: calc(var(--prism-spacing) * var(--button-multiplier-x) - 0.25rem);
221
+ --button-spacing-x: 0;
222
+ --button-spacing-y: 0;
223
+ }
224
+ .kit-button:not(.kit-button--icon)[breakpoint]kit-button--density-comfortable {
225
+ height: calc(var(--prism-spacing) * var(--button-multiplier-x) + 0.25rem);
226
+ --button-spacing-x: 0;
227
+ --button-spacing-y: calc(var(--prism-spacing) * var(--button-multiplier-y) + 0.25rem);
228
+ }
229
+ .kit-button.kit-button--icon[breakpoint]kit-button--density-comfortable {
230
+ height: calc(var(--prism-spacing) * var(--button-multiplier-x) + 0.25rem);
231
+ width: calc(var(--prism-spacing) * var(--button-multiplier-x) + 0.25rem);
232
+ --button-spacing-x: 0;
233
+ --button-spacing-y: 0;
234
+ }
235
+ /* variant */
236
+ .kit-button[breakpoint]kit-button--variant-filled {
237
+ background-color: var(--button-background);
238
+ }
239
+ .kit-button[breakpoint]kit-button--variant-outline {
240
+ --button-color: var(--on, var(--kit-on-container));
241
+ background-color: var(--button-background);
242
+ }
243
+ .kit-button[breakpoint]kit-button--variant-outline::before {
244
+ content: '';
245
+ position: absolute;
246
+ inset: 0;
247
+ border: 1px solid currentColor;
248
+ pointer-events: none;
249
+ border-radius: inherit;
250
+ }
251
+ .kit-button[breakpoint]kit-button--variant-text {
252
+ --button-color: var(--base, var(--kit-on-container));
253
+ background-color: transparent;
254
+ border: none;
255
+ }
256
+ /* state */
257
+ .kit-button.kit-button--info[class*='button--variant-filled'] {
258
+ --on: var(--kit-on-info);
259
+ --base: var(--kit-info);
260
+ }
261
+ .kit-button.kit-button--info[class*='button--variant-']:not([class*='variant-filled']) {
262
+ --base: var(--kit-info);
263
+ }
264
+ .kit-button.kit-button--success[class*='button--variant-filled'] {
265
+ --on: var(--kit-on-success);
266
+ --base: var(--kit-success);
267
+ }
268
+ .kit-button.kit-button--success[class*='button--variant-']:not([class*='variant-filled']) {
269
+ --base: var(--kit-success);
270
+ }
271
+ .kit-button.kit-button--warning[class*='button--variant-filled'] {
272
+ --on: var(--kit-on-warning);
273
+ --base: var(--kit-warning);
274
+ }
275
+ .kit-button.kit-button--warning[class*='button--variant-']:not([class*='variant-filled']) {
276
+ --base: var(--kit-warning);
277
+ }
278
+ .kit-button.kit-button--error[class*='button--variant-filled'] {
279
+ --on: var(--kit-on-error);
280
+ --base: var(--kit-error);
281
+ }
282
+ .kit-button.kit-button--error[class*='button--variant-']:not([class*='variant-filled']) {
283
+ --base: var(--kit-error);
284
+ }
285
+ /* events */
286
+ .kit-button[class*='button--variant-filled']:active,
287
+ .kit-button.kit-button--active[class*='button--variant-filled'] {
288
+ background-color: color-mix(in oklab, var(--button-background) 90%, var(--kit-scrim));
289
+ }
290
+ .kit-button.kit-button--active[class*='button--variant-']:not([class*='variant-filled']):active,
291
+ .kit-button.kit-button--active[class*='button--variant-']:not([class*='variant-filled']) {
292
+ background-color: color-mix(in oklab, currentColor 15%, transparent);
293
+ }
294
+ /* icon */
295
+ .kit-button i::before,
296
+ .kit-button .kit-icon {
297
+ --base-parent: var(--button-color);
298
+ }
299
+ /* disabled */
300
+ .kit-button.kit-button--disabled,
301
+ .kit-button[disabled],
302
+ .kit-button.kit-button--loading {
303
+ pointer-events: none;
304
+ user-select: none;
305
+ cursor: default;
306
+ }
307
+ .kit-button[class*='button--variant-filled'].kit-button--disabled {
308
+ color: color-mix(in oklab, var(--button-color) 40%, transparent) !important;
309
+ background-color: color-mix(in oklab, var(--button-background) 70%, transparent) !important;
310
+ }
311
+ .kit-button[class*='button--variant-filled'].kit-button--disabled i:before {
312
+ color: color-mix(in oklab, var(--button-color) 40%, transparent) !important;
313
+ }
314
+ .kit-button[class*='button--variant-']:not([class*='variant-filled']).kit-button--disabled,
315
+ .kit-button[class*='button--variant-']:not([class*='variant-filled']).kit-button--disabled
316
+ i::before {
317
+ color: color-mix(in oklab, var(--button-background) 40%, transparent) !important;
318
+ }
319
+ /* loading */
320
+ .kit-button.kit-button--loading > .kit-button-content,
321
+ .kit-button.kit-button--loading > .kit-button-append,
322
+ .kit-button.kit-button--loading > .kit-button-prepend {
323
+ visibility: hidden;
324
+ }
325
+ .kit-button.kit-button--loading > .kit-button-loading {
326
+ position: absolute;
327
+ min-width: fit-content;
328
+ }
329
+ .kit-button.kit-button--loading > .kit-button-loading .kit-icon-load {
330
+ animation: icon-rotate 1s ease-out infinite;
331
+ }
332
+ </style>
@@ -50,16 +50,16 @@
50
50
 
51
51
  /* density */
52
52
  .kit-card[breakpoint]kit-card--density-default {
53
- --card-spacing-x: calc(var(--kit-spacing) * 2);
54
- --card-spacing-y: calc(var(--kit-spacing) * 2);
53
+ --card-spacing-x: calc(var(--prism-spacing) * 2);
54
+ --card-spacing-y: calc(var(--prism-spacing) * 2);
55
55
  }
56
56
  .kit-card[breakpoint]kit-card--density-compact {
57
57
  --card-spacing-x: 0;
58
58
  --card-spacing-y: 0;
59
59
  }
60
60
  .kit-card[breakpoint]kit-card--density-comfortable {
61
- --card-spacing-x: calc(var(--kit-spacing) * 4);
62
- --card-spacing-y: calc(var(--kit-spacing) * 4);
61
+ --card-spacing-x: calc(var(--prism-spacing) * 4);
62
+ --card-spacing-y: calc(var(--prism-spacing) * 4);
63
63
  }
64
64
 
65
65
  /* variant */
@@ -61,3 +61,111 @@
61
61
  >
62
62
  {@render children?.()}
63
63
  </svelte:element>
64
+
65
+ <style>/* root */
66
+ .kit-card {
67
+ --card-color: var(--on, var(--kit-on-surface));
68
+ --card-background: var(--base, var(--kit-surface));
69
+ --card-radius: var(--shape, var(--kit-radius-md));
70
+ }
71
+ .kit-card {
72
+ position: relative;
73
+ display: flex;
74
+ flex-direction: column;
75
+ text-align: start;
76
+ overflow: hidden;
77
+ /* transition:
78
+ color 0.5s,
79
+ background-color 0.5s; */
80
+ padding-top: var(--card-spacing-x);
81
+ padding-bottom: var(--card-spacing-x);
82
+ padding-right: var(--card-spacing-y);
83
+ padding-left: var(--card-spacing-y);
84
+ border-radius: var(--card-radius);
85
+ font-weight: 500;
86
+ color: var(--card-color);
87
+ text-decoration: none;
88
+ }
89
+ .kit-card.kit-card--clickable {
90
+ cursor: pointer;
91
+ }
92
+ .kit-card.kit-card--clickable::after {
93
+ content: '';
94
+ position: absolute;
95
+ inset: 0;
96
+ background-color: currentColor;
97
+ opacity: 0;
98
+ transition: opacity 150ms ease;
99
+ pointer-events: none;
100
+ border-radius: inherit;
101
+ }
102
+ .kit-card.kit-card--clickable:hover::after {
103
+ opacity: 0.08;
104
+ }
105
+ .kit-card.kit-card--clickable:active::after {
106
+ opacity: 0.12;
107
+ }
108
+ .kit-card.kit-card--clickable:focus-visible::after {
109
+ opacity: 0.12;
110
+ }
111
+ /* density */
112
+ .kit-card[breakpoint]kit-card--density-default {
113
+ --card-spacing-x: calc(var(--prism-spacing) * 2);
114
+ --card-spacing-y: calc(var(--prism-spacing) * 2);
115
+ }
116
+ .kit-card[breakpoint]kit-card--density-compact {
117
+ --card-spacing-x: 0;
118
+ --card-spacing-y: 0;
119
+ }
120
+ .kit-card[breakpoint]kit-card--density-comfortable {
121
+ --card-spacing-x: calc(var(--prism-spacing) * 4);
122
+ --card-spacing-y: calc(var(--prism-spacing) * 4);
123
+ }
124
+ /* variant */
125
+ .kit-card[breakpoint]kit-card--variant-filled {
126
+ background-color: var(--card-background);
127
+ }
128
+ .kit-card[breakpoint]kit-card--variant-outline {
129
+ --card-color: var(--base, var(--kit-on-surface));
130
+ background-color: transparent;
131
+ }
132
+ .kit-card[breakpoint]kit-card--variant-outline::before {
133
+ content: '';
134
+ position: absolute;
135
+ inset: 0;
136
+ border: 1px solid currentColor;
137
+ pointer-events: none;
138
+ border-radius: inherit;
139
+ }
140
+ .kit-card[breakpoint]kit-card--variant-text {
141
+ --card-color: var(--base, var(--kit-on-surface));
142
+ background-color: transparent;
143
+ border: none;
144
+ }
145
+ /* events */
146
+ .kit-card[class*='card--variant-filled'].kit-card--clickable:active,
147
+ .kit-card.kit-card--active[class*='card--variant-filled'].kit-card--clickable {
148
+ background-color: color-mix(in oklab, var(--card-background) 90%, var(--kit-scrim));
149
+ }
150
+ .kit-card.kit-card--active[class*='card--variant-']:not(
151
+ [class*='variant-filled']
152
+ ).kit-card--clickable:active,
153
+ .kit-card.kit-card--active[class*='card--variant-']:not(
154
+ [class*='variant-filled']
155
+ ).kit-card--clickable {
156
+ background-color: color-mix(in oklab, currentColor 15%, transparent);
157
+ }
158
+ /* disabled */
159
+ .kit-card.kit-card--disabled,
160
+ .kit-card[disabled],
161
+ .kit-card:disabled {
162
+ pointer-events: none;
163
+ user-select: none;
164
+ opacity: 0.6;
165
+ }
166
+ .kit-card.kit-card--disabled > *,
167
+ .kit-card[disabled] > *,
168
+ .kit-card:disabled > * {
169
+ opacity: 0.6;
170
+ }
171
+ </style>
@@ -6,7 +6,7 @@
6
6
  }
7
7
 
8
8
  .kit-chip {
9
- min-width: calc(var(--kit-spacing) * var(--chip-multiplier-x));
9
+ min-width: calc(var(--prism-spacing) * var(--chip-multiplier-x));
10
10
  position: relative;
11
11
  border: none;
12
12
  outline: none;
@@ -34,8 +34,8 @@
34
34
  align-items: center;
35
35
  justify-content: center;
36
36
  white-space: nowrap;
37
- gap: calc(var(--kit-spacing) * var(--chip-multiplier-gap));
38
- font-size: calc(var(--kit-spacing) * var(--chip-multiplier-font-size));
37
+ gap: calc(var(--prism-spacing) * var(--chip-multiplier-gap));
38
+ font-size: calc(var(--prism-spacing) * var(--chip-multiplier-font-size));
39
39
  line-height: 0;
40
40
  }
41
41
 
@@ -130,21 +130,21 @@
130
130
 
131
131
  /* density */
132
132
  .kit-chip[breakpoint]kit-chip--density-default {
133
- height: calc(var(--kit-spacing) * var(--chip-multiplier-x));
133
+ height: calc(var(--prism-spacing) * var(--chip-multiplier-x));
134
134
  --chip-spacing-x: 0;
135
- --chip-spacing-y: calc(var(--kit-spacing) * var(--chip-multiplier-y));
135
+ --chip-spacing-y: calc(var(--prism-spacing) * var(--chip-multiplier-y));
136
136
  }
137
137
 
138
138
  .kit-chip[breakpoint]kit-chip--density-compact {
139
- height: calc(var(--kit-spacing) * var(--chip-multiplier-x) - 0.25rem);
139
+ height: calc(var(--prism-spacing) * var(--chip-multiplier-x) - 0.25rem);
140
140
  --chip-spacing-x: 0;
141
- --chip-spacing-y: calc(var(--kit-spacing) * var(--chip-multiplier-y) - 0.25rem);
141
+ --chip-spacing-y: calc(var(--prism-spacing) * var(--chip-multiplier-y) - 0.25rem);
142
142
  }
143
143
 
144
144
  .kit-chip[breakpoint]kit-chip--density-comfortable {
145
- height: calc(var(--kit-spacing) * var(--chip-multiplier-x) + 0.25rem);
145
+ height: calc(var(--prism-spacing) * var(--chip-multiplier-x) + 0.25rem);
146
146
  --chip-spacing-x: 0;
147
- --chip-spacing-y: calc(var(--kit-spacing) * var(--chip-multiplier-y) + 0.25rem);
147
+ --chip-spacing-y: calc(var(--prism-spacing) * var(--chip-multiplier-y) + 0.25rem);
148
148
  }
149
149
 
150
150
  /* state */
@@ -129,3 +129,214 @@
129
129
  {/if}
130
130
  </svelte:element>
131
131
  {/if}
132
+
133
+ <style>/* root */
134
+ .kit-chip {
135
+ --chip-color: var(--on, var(--kit-on-container));
136
+ --chip-background: var(--base, var(--kit-container));
137
+ --chip-radius: var(--shape, var(--kit-radius-full));
138
+ }
139
+ .kit-chip {
140
+ min-width: calc(var(--prism-spacing) * var(--chip-multiplier-x));
141
+ position: relative;
142
+ border: none;
143
+ outline: none;
144
+ padding-top: var(--chip-spacing-x);
145
+ padding-bottom: var(--chip-spacing-x);
146
+ padding-right: var(--chip-spacing-y);
147
+ padding-left: var(--chip-spacing-y);
148
+ border-radius: var(--chip-radius);
149
+ color: var(--chip-color);
150
+ font-weight: 500;
151
+ text-decoration: none;
152
+ }
153
+ .kit-chip:not(div):not(span):not(.kit-chip--readonly) {
154
+ cursor: pointer;
155
+ }
156
+ .kit-chip,
157
+ .kit-chip .kit-chip-content,
158
+ .kit-chip .kit-chip-append,
159
+ .kit-chip .kit-chip-prepend,
160
+ .kit-chip .kit-chip--close,
161
+ .kit-chip .kit-chip-loading {
162
+ display: inline-flex;
163
+ align-items: center;
164
+ justify-content: center;
165
+ white-space: nowrap;
166
+ gap: calc(var(--prism-spacing) * var(--chip-multiplier-gap));
167
+ font-size: calc(var(--prism-spacing) * var(--chip-multiplier-font-size));
168
+ line-height: 0;
169
+ }
170
+ .kit-chip:not(div):not(span)::after {
171
+ content: '';
172
+ position: absolute;
173
+ inset: 0;
174
+ background-color: currentColor;
175
+ opacity: 0;
176
+ transition: opacity 150ms ease;
177
+ pointer-events: none;
178
+ border-radius: inherit;
179
+ }
180
+ .kit-chip:not(div):not(span):not(.kit-chip--readonly):hover::after {
181
+ opacity: 0.08;
182
+ }
183
+ .kit-chip:not(div):not(span):not(.kit-chip--readonly):active::after {
184
+ opacity: 0.12;
185
+ }
186
+ .kit-chip:not(div):not(span):not(.kit-chip--readonly):focus-visible::after {
187
+ opacity: 0.12;
188
+ }
189
+ /* size */
190
+ .kit-chip[breakpoint]kit-chip--size-xs {
191
+ --chip-multiplier-x: 12;
192
+ --chip-multiplier-y: 2;
193
+ --chip-multiplier-gap: 2;
194
+ --chip-multiplier-font-size: 6;
195
+ }
196
+ .kit-chip[breakpoint]kit-chip--size-xs .kit-icon[class*='kit-icon--size-md'] {
197
+ --icon-multiplier-parent-size: 7;
198
+ }
199
+ .kit-chip[breakpoint]kit-chip--size-sm {
200
+ --chip-multiplier-x: 14;
201
+ --chip-multiplier-y: 2;
202
+ --chip-multiplier-gap: 2;
203
+ --chip-multiplier-font-size: 6.5;
204
+ }
205
+ .kit-chip[breakpoint]kit-chip--size-sm .kit-icon[class*='kit-icon--size-md'] {
206
+ --icon-multiplier-parent-size: 8;
207
+ }
208
+ .kit-chip[breakpoint]kit-chip--size-md {
209
+ --chip-multiplier-x: 16;
210
+ --chip-multiplier-y: 3;
211
+ --chip-multiplier-gap: 4;
212
+ --chip-multiplier-font-size: 7;
213
+ }
214
+ .kit-chip[breakpoint]kit-chip--size-md .kit-icon[class*='kit-icon--size-md'] {
215
+ --icon-multiplier-parent-size: 9;
216
+ }
217
+ .kit-chip[breakpoint]kit-chip--size-lg {
218
+ --chip-multiplier-x: 18;
219
+ --chip-multiplier-y: 3;
220
+ --chip-multiplier-gap: 4;
221
+ --chip-multiplier-font-size: 8;
222
+ }
223
+ .kit-chip[breakpoint]kit-chip--size-lg .kit-icon[class*='kit-icon--size-md'] {
224
+ --icon-multiplier-parent-size: 10;
225
+ }
226
+ .kit-chip[breakpoint]kit-chip--size-xl {
227
+ --chip-multiplier-x: 20;
228
+ --chip-multiplier-y: 4;
229
+ --chip-multiplier-gap: 4;
230
+ --chip-multiplier-font-size: 9;
231
+ }
232
+ .kit-chip[breakpoint]kit-chip--size-xl .kit-icon[class*='kit-icon--size-md'] {
233
+ --icon-multiplier-parent-size: 11;
234
+ }
235
+ /* variant */
236
+ .kit-chip[breakpoint]kit-chip--variant-filled {
237
+ background-color: var(--chip-background);
238
+ }
239
+ .kit-chip[breakpoint]kit-chip--variant-outline {
240
+ --chip-color: var(--on, var(--kit-on-container));
241
+ background-color: var(--chip-background);
242
+ }
243
+ .kit-chip[breakpoint]kit-chip--variant-outline::before {
244
+ content: '';
245
+ position: absolute;
246
+ inset: 0;
247
+ border: 1px solid currentColor;
248
+ pointer-events: none;
249
+ border-radius: inherit;
250
+ }
251
+ /* density */
252
+ .kit-chip[breakpoint]kit-chip--density-default {
253
+ height: calc(var(--prism-spacing) * var(--chip-multiplier-x));
254
+ --chip-spacing-x: 0;
255
+ --chip-spacing-y: calc(var(--prism-spacing) * var(--chip-multiplier-y));
256
+ }
257
+ .kit-chip[breakpoint]kit-chip--density-compact {
258
+ height: calc(var(--prism-spacing) * var(--chip-multiplier-x) - 0.25rem);
259
+ --chip-spacing-x: 0;
260
+ --chip-spacing-y: calc(var(--prism-spacing) * var(--chip-multiplier-y) - 0.25rem);
261
+ }
262
+ .kit-chip[breakpoint]kit-chip--density-comfortable {
263
+ height: calc(var(--prism-spacing) * var(--chip-multiplier-x) + 0.25rem);
264
+ --chip-spacing-x: 0;
265
+ --chip-spacing-y: calc(var(--prism-spacing) * var(--chip-multiplier-y) + 0.25rem);
266
+ }
267
+ /* state */
268
+ .kit-chip.kit-chip--info[class*='chip--variant-filled'] {
269
+ --on: var(--kit-on-info);
270
+ --base: var(--kit-info);
271
+ }
272
+ .kit-chip.kit-chip--info[class*='chip--variant-']:not([class*='variant-filled']) {
273
+ --base: var(--kit-info);
274
+ }
275
+ .kit-chip.kit-chip--success[class*='chip--variant-filled'] {
276
+ --on: var(--kit-on-success);
277
+ --base: var(--kit-success);
278
+ }
279
+ .kit-chip.kit-chip--success[class*='chip--variant-']:not([class*='variant-filled']) {
280
+ --base: var(--kit-success);
281
+ }
282
+ .kit-chip.kit-chip--warning[class*='chip--variant-filled'] {
283
+ --on: var(--kit-on-warning);
284
+ --base: var(--kit-warning);
285
+ }
286
+ .kit-chip.kit-chip--warning[class*='chip--variant-']:not([class*='variant-filled']) {
287
+ --base: var(--kit-warning);
288
+ }
289
+ .kit-chip.kit-chip--error[class*='chip--variant-filled'] {
290
+ --on: var(--kit-on-error);
291
+ --base: var(--kit-error);
292
+ }
293
+ .kit-chip.kit-chip--error[class*='chip--variant-']:not([class*='variant-filled']) {
294
+ --base: var(--kit-error);
295
+ }
296
+ /* events */
297
+ .kit-chip[class*='chip--variant-filled']:active,
298
+ .kit-chip.kit-chip--active[class*='chip--variant-filled'] {
299
+ background-color: color-mix(in oklab, var(--chip-background) 90%, var(--kit-scrim));
300
+ }
301
+ .kit-chip.kit-chip--active[class*='chip--variant-']:not([class*='variant-filled']):active,
302
+ .kit-chip.kit-chip--active[class*='chip--variant-']:not([class*='variant-filled']) {
303
+ background-color: color-mix(in oklab, currentColor 15%, transparent);
304
+ }
305
+ /* disabled */
306
+ .kit-chip.kit-chip--disabled,
307
+ .kit-chip[disabled],
308
+ .kit-chip.kit-chip--loading {
309
+ pointer-events: none;
310
+ user-select: none;
311
+ cursor: default;
312
+ }
313
+ .kit-chip[class*='chip--variant-filled'].kit-chip--disabled {
314
+ color: color-mix(in oklab, var(--chip-color) 40%, transparent) !important;
315
+ background-color: color-mix(in oklab, var(--chip-background) 70%, transparent) !important;
316
+ }
317
+ .kit-chip[class*='chip--variant-filled'].kit-chip--disabled i:before {
318
+ color: color-mix(in oklab, var(--chip-color) 40%, transparent) !important;
319
+ }
320
+ .kit-chip[class*='chip--variant-']:not([class*='variant-filled']).kit-chip--disabled,
321
+ .kit-chip[class*='chip--variant-']:not([class*='variant-filled']).kit-chip--disabled i::before {
322
+ color: color-mix(in oklab, var(--chip-background) 40%, transparent) !important;
323
+ }
324
+ /* icon */
325
+ .kit-chip i::before,
326
+ .kit-chip .kit-icon {
327
+ --base-parent: var(--chip-color);
328
+ }
329
+ /* loading */
330
+ .kit-chip.kit-chip--loading > .kit-chip-content,
331
+ .kit-chip.kit-chip--loading > .kit-chip-append,
332
+ .kit-chip.kit-chip--loading > .kit-chip-prepend {
333
+ visibility: hidden;
334
+ }
335
+ .kit-chip.kit-chip--loading > .kit-chip-loading {
336
+ position: absolute;
337
+ min-width: fit-content;
338
+ }
339
+ .kit-chip.kit-chip--loading > .kit-chip-loading .kit-icon-load {
340
+ animation: icon-rotate 1s ease-out infinite;
341
+ }
342
+ </style>