lapikit 0.0.0-insiders.e85eaa9 → 0.0.0-insiders.e94247e

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 (102) hide show
  1. package/bin/configuration.js +304 -0
  2. package/bin/helper.js +23 -0
  3. package/bin/index.js +41 -0
  4. package/bin/lapikit.js +34 -3
  5. package/bin/legacy.js +34 -0
  6. package/bin/modules/adapter.js +3 -3
  7. package/bin/modules/plugin.js +223 -0
  8. package/bin/presets.js +26 -0
  9. package/bin/prompts.js +100 -0
  10. package/dist/colors.css +0 -0
  11. package/dist/components/accordion/accordion.svelte +118 -0
  12. package/dist/components/alert/alert.css +1 -0
  13. package/dist/components/alert/alert.svelte +122 -0
  14. package/dist/components/app/app.svelte +26 -3
  15. package/dist/components/appbar/appbar.css +4 -4
  16. package/dist/components/appbar/appbar.svelte +45 -0
  17. package/dist/components/aspect-ratio/aspect-ratio.svelte +23 -4
  18. package/dist/components/avatar/avatar.svelte +114 -0
  19. package/dist/components/button/button.css +14 -14
  20. package/dist/components/button/button.svelte +230 -0
  21. package/dist/components/card/card.css +4 -4
  22. package/dist/components/card/card.svelte +108 -0
  23. package/dist/components/chip/chip.css +13 -13
  24. package/dist/components/chip/chip.svelte +216 -3
  25. package/dist/components/chip/types.d.ts +1 -0
  26. package/dist/components/dialog/dialog.css +3 -1
  27. package/dist/components/dialog/dialog.svelte +144 -0
  28. package/dist/components/dropdown/dropdown.svelte +24 -0
  29. package/dist/components/icon/icon.css +5 -3
  30. package/dist/components/icon/icon.svelte +89 -0
  31. package/dist/components/list/list.css +8 -8
  32. package/dist/components/list/list.svelte +199 -0
  33. package/dist/components/list/modules/list-item.svelte +199 -0
  34. package/dist/components/modal/modal.css +8 -6
  35. package/dist/components/modal/modal.svelte +135 -0
  36. package/dist/components/popover/popover.svelte +24 -0
  37. package/dist/components/separator/separator.svelte +48 -0
  38. package/dist/components/spacer/spacer.svelte +5 -0
  39. package/dist/components/textfield/textfield.css +8 -8
  40. package/dist/components/textfield/textfield.svelte +270 -0
  41. package/dist/components/textfield/types.d.ts +2 -2
  42. package/dist/components/toolbar/toolbar.css +10 -10
  43. package/dist/components/toolbar/toolbar.svelte +135 -0
  44. package/dist/components/tooltip/tooltip.svelte +127 -0
  45. package/dist/index.d.ts +27 -1
  46. package/dist/index.js +27 -3
  47. package/dist/internal/config/presets.d.ts +136 -0
  48. package/dist/internal/config/presets.js +121 -0
  49. package/dist/internal/config/variables.d.ts +20 -0
  50. package/dist/internal/config/variables.js +20 -0
  51. package/dist/internal/core/formatter/component.d.ts +5 -0
  52. package/dist/internal/core/formatter/component.js +63 -0
  53. package/dist/internal/core/formatter/index.d.ts +6 -0
  54. package/dist/internal/core/formatter/index.js +30 -0
  55. package/dist/internal/core/formatter/styles.d.ts +4 -0
  56. package/dist/internal/core/formatter/styles.js +15 -0
  57. package/dist/internal/core/formatter/theme.d.ts +5 -0
  58. package/dist/internal/core/formatter/theme.js +28 -0
  59. package/dist/internal/core/formatter/typography.d.ts +5 -0
  60. package/dist/internal/core/formatter/typography.js +12 -0
  61. package/dist/internal/deepMerge.d.ts +44 -0
  62. package/dist/internal/deepMerge.js +80 -0
  63. package/dist/internal/helpers/parser.d.ts +10 -0
  64. package/dist/internal/helpers/parser.js +92 -0
  65. package/dist/internal/plugins/vite.d.ts +8 -0
  66. package/dist/internal/plugins/vite.js +25 -0
  67. package/dist/internal/types/configuration.d.ts +40 -0
  68. package/dist/internal/types/configuration.js +1 -0
  69. package/dist/internal/types/index.d.ts +1 -0
  70. package/dist/internal/types/index.js +1 -0
  71. package/dist/labs/index.d.ts +4 -0
  72. package/dist/labs/index.js +5 -0
  73. package/dist/labs/my-component-style-global.svelte +6 -0
  74. package/dist/labs/my-component-style-global.svelte.d.ts +18 -0
  75. package/dist/labs/my-component-style-import.svelte +15 -0
  76. package/dist/labs/my-component-style-import.svelte.d.ts +18 -0
  77. package/dist/labs/my-component-style-mixed.svelte +23 -0
  78. package/dist/labs/my-component-style-mixed.svelte.d.ts +18 -0
  79. package/dist/labs/my-component.svelte +16 -0
  80. package/dist/labs/my-component.svelte.d.ts +18 -0
  81. package/dist/labs/style-mixed.css +7 -0
  82. package/dist/labs/style.css +7 -0
  83. package/dist/labs.css +25 -0
  84. package/dist/plugin/css.d.ts +1 -0
  85. package/dist/plugin/css.js +73 -0
  86. package/dist/plugin/preset-v2.d.ts +108 -0
  87. package/dist/plugin/preset-v2.js +126 -0
  88. package/dist/plugin/vitejs.d.ts +5 -1
  89. package/dist/plugin/vitejs.js +32 -3
  90. package/dist/stores/breakpoints.d.ts +6 -0
  91. package/dist/stores/breakpoints.js +14 -0
  92. package/dist/stores/components.d.ts +8 -0
  93. package/dist/stores/components.js +26 -0
  94. package/dist/stores/devices.d.ts +6 -0
  95. package/dist/stores/devices.js +9 -0
  96. package/dist/stores/index.d.ts +4 -10
  97. package/dist/stores/index.js +4 -47
  98. package/dist/stores/themes.d.ts +8 -0
  99. package/dist/stores/themes.js +34 -0
  100. package/dist/utils/convert.d.ts +1 -0
  101. package/dist/utils/convert.js +17 -0
  102. package/package.json +15 -4
@@ -38,3 +38,48 @@
38
38
  {@render children?.()}
39
39
  </div>
40
40
  </svelte:element>
41
+
42
+ <style>/* root default*/
43
+ .kit-appbar {
44
+ --appbar-color: var(--on, var(--kit-on-surface));
45
+ --appbar-background: var(--base, var(--kit-surface));
46
+ --appbar-radius: var(--shape, 0);
47
+ --appbar-padding-wrapper: var(--prism-spacing) * 4;
48
+ }
49
+ .kit-appbar {
50
+ display: flex;
51
+ align-items: center;
52
+ border-style: solid;
53
+ border-width: 1px;
54
+ border-radius: var(--appbar-radius);
55
+ color: var(--appbar-color);
56
+ background-color: var(--appbar-background);
57
+ border-color: var(--appbar-background);
58
+ /* transition:
59
+ color 0.5s,
60
+ border-color 0.5s,
61
+ background-color 0.5s; */
62
+ }
63
+ /* wrapper */
64
+ .kit-appbar .kit-appbar--wrapper {
65
+ display: flex;
66
+ align-items: center;
67
+ flex-direction: row;
68
+ height: calc(100% - (var(--appbar-padding-wrapper) * 2));
69
+ width: calc(100% - (var(--appbar-padding-wrapper) * 2));
70
+ margin: 0 auto;
71
+ }
72
+ /* density */
73
+ .kit-appbar[breakpoint]kit-appbar--density-default {
74
+ height: 4rem;
75
+ padding-inline: calc(var(--prism-spacing) * 1.5);
76
+ }
77
+ .kit-appbar[breakpoint]kit-appbar--density-compact {
78
+ height: 3.5rem;
79
+ padding-inline: calc(var(--prism-spacing) * 0.75);
80
+ }
81
+ .kit-appbar[breakpoint]kit-appbar--density-comfortable {
82
+ height: 4.5rem;
83
+ padding-inline: calc(var(--prism-spacing) * 2.25);
84
+ }
85
+ </style>
@@ -24,8 +24,27 @@
24
24
  {@render children?.()}
25
25
  </div>
26
26
 
27
- <style>
28
- .kit-aspect-ratio {
27
+ <style>.kit-aspect-ratio {
28
+ display: flex;
29
+ flex: 1 0 auto;
30
+ max-height: 100%;
31
+ max-width: 100%;
32
+ overflow: hidden;
33
+ position: relative;
34
+ }
35
+
36
+ .kit-aspect-ratio--inline {
37
+ display: inline-flex;
38
+ flex: 0 0 auto;
39
+ }
40
+
41
+ .kit-aspect-ratio--sizer {
42
+ flex: 1 0 0px;
43
+ transition: padding-bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
44
+ pointer-events: none;
45
+ }
46
+
47
+ .kit-aspect-ratio {
29
48
  display: flex;
30
49
  flex: 1 0 auto;
31
50
  max-height: 100%;
@@ -34,12 +53,12 @@
34
53
  position: relative;
35
54
  }
36
55
 
37
- .kit-aspect-ratio--inline {
56
+ .kit-aspect-ratio--inline {
38
57
  display: inline-flex;
39
58
  flex: 0 0 auto;
40
59
  }
41
60
 
42
- .kit-aspect-ratio--sizer {
61
+ .kit-aspect-ratio--sizer {
43
62
  flex: 1 0 0px;
44
63
  transition: padding-bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
45
64
  pointer-events: none;
@@ -44,3 +44,117 @@
44
44
  {@render children?.()}
45
45
  {/if}
46
46
  </svelte:element>
47
+
48
+ <style>.kit-avatar {
49
+ --avatar-color: var(--on, var(--kit-on-container));
50
+ --avatar-background: var(--base, var(--kit-container));
51
+ --avatar-radius: var(--shape, var(--kit-radius-full));
52
+
53
+ display: flex;
54
+ align-items: center;
55
+ justify-content: center;
56
+ white-space: nowrap;
57
+ padding-top: var(--avatar-spacing-x);
58
+ padding-bottom: var(--avatar-spacing-x);
59
+ padding-right: var(--avatar-spacing-y);
60
+ padding-left: var(--avatar-spacing-y);
61
+
62
+ border-width: 1px;
63
+ border-style: solid;
64
+ border-radius: var(--avatar-radius);
65
+
66
+ /* theme */
67
+ color: var(--avatar-color);
68
+ background-color: var(--avatar-background);
69
+ border-color: var(--avatar-background);
70
+ }
71
+
72
+ .kit-avatar.kit-avatar--image {
73
+ position: relative;
74
+ overflow: hidden;
75
+ }
76
+
77
+ .kit-avatar.kit-avatar--image img {
78
+ position: relative;
79
+ top: 0;
80
+ left: 0;
81
+ width: 100%;
82
+ height: 100%;
83
+ object-fit: cover;
84
+ }
85
+
86
+ /* size */
87
+
88
+ .kit-avatar[breakpoint]kit-avatar--size-xs {
89
+ --avatar-height: 1.75rem;
90
+ --avatar-multiplier-y: 2;
91
+ font-size: 0.75rem;
92
+ }
93
+
94
+ .kit-avatar[breakpoint]kit-avatar--size-sm {
95
+ --avatar-height: 2rem;
96
+ --avatar-multiplier-y: 3;
97
+ font-size: 0.875rem;
98
+ }
99
+
100
+ .kit-avatar[breakpoint]kit-avatar--size-md {
101
+ --avatar-height: 2.25rem;
102
+ --avatar-multiplier-y: 4;
103
+ font-size: 0.875rem;
104
+ }
105
+
106
+ .kit-avatar[breakpoint]kit-avatar--size-lg {
107
+ --avatar-height: 2.5rem;
108
+ --avatar-multiplier-y: 5;
109
+ font-size: 1rem;
110
+ }
111
+
112
+ .kit-avatar[breakpoint]kit-avatar--size-xl {
113
+ --avatar-height: 2.75rem;
114
+ --avatar-multiplier-y: 6;
115
+ font-size: 1.125rem;
116
+ }
117
+
118
+ /* density */
119
+
120
+ .kit-avatar[breakpoint]kit-avatar--density-default {
121
+ height: calc(var(--avatar-height));
122
+ width: calc(var(--avatar-height));
123
+ --avatar-spacing-x: 0;
124
+ --avatar-spacing-y: 0;
125
+ }
126
+
127
+ .kit-avatar[breakpoint]kit-avatar--density-compact {
128
+ height: calc(var(--avatar-height) - 0.25rem);
129
+ width: calc(var(--avatar-height) - 0.25rem);
130
+ --avatar-spacing-x: 0;
131
+ --avatar-spacing-y: 0;
132
+ }
133
+
134
+ .kit-avatar[breakpoint]kit-avatar--density-comfortable {
135
+ height: calc(var(--avatar-height) + 0.25rem);
136
+ width: calc(var(--avatar-height) + 0.25rem);
137
+ --avatar-spacing-x: 0;
138
+ --avatar-spacing-y: 0;
139
+ }
140
+
141
+ /* variant */
142
+
143
+ .kit-avatar[breakpoint]kit-avatar--variant-outline {
144
+ --avatar-color: var(--base, var(--kit-container));
145
+ background-color: transparent;
146
+ border: 1px solid currentColor;
147
+ }
148
+
149
+ .kit-avatar[breakpoint]kit-avatar--variant-text {
150
+ --avatar-color: var(--base, var(--kit-container));
151
+ background-color: transparent;
152
+ border-color: transparent;
153
+ }
154
+
155
+ .kit-avatar[breakpoint]kit-avatar--variant-dash {
156
+ --avatar-color: var(--base, var(--kit-container));
157
+ background-color: transparent;
158
+ border: 1px dashed currentColor;
159
+ }
160
+ </style>
@@ -29,8 +29,8 @@
29
29
  align-items: center;
30
30
  justify-content: center;
31
31
  white-space: nowrap;
32
- gap: calc(var(--kit-spacing) * var(--button-multiplier-gap));
33
- font-size: calc(var(--kit-spacing) * var(--button-multiplier-font-size));
32
+ gap: calc(var(--prism-spacing) * var(--button-multiplier-gap));
33
+ font-size: calc(var(--prism-spacing) * var(--button-multiplier-font-size));
34
34
  }
35
35
 
36
36
  .kit-button::after {
@@ -106,37 +106,37 @@
106
106
 
107
107
  /* density */
108
108
  .kit-button:not(.kit-button--icon)[breakpoint]kit-button--density-default {
109
- height: calc(var(--kit-spacing) * var(--button-multiplier-x));
109
+ height: calc(var(--prism-spacing) * var(--button-multiplier-x));
110
110
  --button-spacing-x: 0;
111
- --button-spacing-y: calc(var(--kit-spacing) * var(--button-multiplier-y));
111
+ --button-spacing-y: calc(var(--prism-spacing) * var(--button-multiplier-y));
112
112
  }
113
113
  .kit-button.kit-button--icon[breakpoint]kit-button--density-default {
114
- height: calc(var(--kit-spacing) * var(--button-multiplier-x));
115
- width: calc(var(--kit-spacing) * var(--button-multiplier-x));
114
+ height: calc(var(--prism-spacing) * var(--button-multiplier-x));
115
+ width: calc(var(--prism-spacing) * var(--button-multiplier-x));
116
116
  --button-spacing-x: 0;
117
117
  --button-spacing-y: 0;
118
118
  }
119
119
 
120
120
  .kit-button:not(.kit-button--icon)[breakpoint]kit-button--density-compact {
121
- height: calc(var(--kit-spacing) * var(--button-multiplier-x) - 0.25rem);
121
+ height: calc(var(--prism-spacing) * var(--button-multiplier-x) - 0.25rem);
122
122
  --button-spacing-x: 0;
123
- --button-spacing-y: calc(var(--kit-spacing) * var(--button-multiplier-y) - 0.25rem);
123
+ --button-spacing-y: calc(var(--prism-spacing) * var(--button-multiplier-y) - 0.25rem);
124
124
  }
125
125
  .kit-button.kit-button--icon[breakpoint]kit-button--density-compact {
126
- height: calc(var(--kit-spacing) * var(--button-multiplier-x) - 0.25rem);
127
- width: calc(var(--kit-spacing) * var(--button-multiplier-x) - 0.25rem);
126
+ height: calc(var(--prism-spacing) * var(--button-multiplier-x) - 0.25rem);
127
+ width: calc(var(--prism-spacing) * var(--button-multiplier-x) - 0.25rem);
128
128
  --button-spacing-x: 0;
129
129
  --button-spacing-y: 0;
130
130
  }
131
131
 
132
132
  .kit-button:not(.kit-button--icon)[breakpoint]kit-button--density-comfortable {
133
- height: calc(var(--kit-spacing) * var(--button-multiplier-x) + 0.25rem);
133
+ height: calc(var(--prism-spacing) * var(--button-multiplier-x) + 0.25rem);
134
134
  --button-spacing-x: 0;
135
- --button-spacing-y: calc(var(--kit-spacing) * var(--button-multiplier-y) + 0.25rem);
135
+ --button-spacing-y: calc(var(--prism-spacing) * var(--button-multiplier-y) + 0.25rem);
136
136
  }
137
137
  .kit-button.kit-button--icon[breakpoint]kit-button--density-comfortable {
138
- height: calc(var(--kit-spacing) * var(--button-multiplier-x) + 0.25rem);
139
- width: calc(var(--kit-spacing) * var(--button-multiplier-x) + 0.25rem);
138
+ height: calc(var(--prism-spacing) * var(--button-multiplier-x) + 0.25rem);
139
+ width: calc(var(--prism-spacing) * var(--button-multiplier-x) + 0.25rem);
140
140
  --button-spacing-x: 0;
141
141
  --button-spacing-y: 0;
142
142
  }
@@ -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>