lapikit 0.6.4 → 0.6.6

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.
@@ -41,7 +41,20 @@
41
41
  const formatThickness = (value?: number | string) =>
42
42
  typeof thickness === 'number' ? `${value}px` : value;
43
43
 
44
- let mergedStyle = $derived([componentStyle].filter(Boolean).join('; '));
44
+ let resolvedStyle = $derived(
45
+ [
46
+ componentStyle,
47
+ color ? `--kit-separator-fg:${color && `var(--kit-color-${color})`}` : '',
48
+ thickness && orientation === 'horizontal'
49
+ ? `--kit-separator-top-width:${formatThickness(thickness)}`
50
+ : '',
51
+ thickness && orientation === 'vertical'
52
+ ? `--kit-separator-right-width:${formatThickness(thickness)}`
53
+ : ''
54
+ ]
55
+ .filter(Boolean)
56
+ .join('; ')
57
+ );
45
58
  </script>
46
59
 
47
60
  <svelte:element
@@ -49,14 +62,12 @@
49
62
  bind:this={ref}
50
63
  {...restProps}
51
64
  class={componentClass}
52
- style={mergedStyle}
65
+ style={resolvedStyle}
53
66
  role="separator"
54
67
  aria-orientation={orientation || 'horizontal'}
55
68
  data-inset={inset || undefined}
56
69
  data-orientation={orientation}
57
70
  style:--kit-separator-color={color && `var(--kit-color-${color})`}
58
- style:--kit-separator-top-width={orientation === 'horizontal' ? formatThickness(thickness) : ''}
59
- style:--kit-separator-right-width={orientation === 'vertical' ? formatThickness(thickness) : ''}
60
71
  />
61
72
 
62
73
  <style>
@@ -70,7 +70,15 @@
70
70
  })
71
71
  );
72
72
 
73
- let mergedStyle = $derived([componentStyle].filter(Boolean).join('; '));
73
+ let resolvedStyle = $derived(
74
+ [
75
+ componentStyle,
76
+ color ? `--kit-textfield-fg:${color && `var(--kit-color-${color})`}` : '',
77
+ background ? `--kit-textfield-bg:${background && `var(--kit-color-${background})`}` : ''
78
+ ]
79
+ .filter(Boolean)
80
+ .join('; ')
81
+ );
74
82
 
75
83
  let counterValue = $state(0);
76
84
  let displayMessage = $state(false);
@@ -122,7 +130,7 @@
122
130
  <div
123
131
  bind:this={ref}
124
132
  class={componentClass}
125
- style={mergedStyle}
133
+ style={resolvedStyle}
126
134
  {...restProps}
127
135
  data-size={size}
128
136
  data-variant={variant}
@@ -133,8 +141,6 @@
133
141
  data-hide-spin-buttons={type === 'number' && hideSpinButtons}
134
142
  data-rounded={rounded}
135
143
  data-with-message={(messageValue || messagePrefix || messageSuffix || counter) && true}
136
- style:--kit-textfield-fg={color && `var(--kit-color-${color})`}
137
- style:--kit-textfield-bg={background && `var(--kit-color-${background})`}
138
144
  >
139
145
  {#if prepend}
140
146
  <div class="kit-textfield__prepend">
@@ -315,21 +321,19 @@
315
321
  * @link nothing...
316
322
  */
317
323
  .kit-textfield[data-size='xs'] {
318
- --kit-textfield-h: 28px;
319
- --kit-textfield-px: 6px;
320
- --kit-textfield-py: 10px;
321
- --kit-textfield-gap: 8px;
322
- --kit-textfield-font: 12px;
324
+ --kit-textfield-h: 24px;
325
+ --kit-textfield-p: 8px;
326
+ --kit-textfield-gap: var(--kit-space-compact);
327
+ --kit-textfield-font: 13px;
323
328
  }
324
329
  .kit-textfield[data-size='xs'] :global(.kit-icon[data-size='default']) {
325
330
  --kit-icon-current-size: 0.875rem;
326
331
  }
327
332
  .kit-textfield[data-size='sm'] {
328
333
  --kit-textfield-h: 32px;
329
- --kit-textfield-px: 14px;
330
- --kit-textfield-py: 12px;
331
- --kit-textfield-gap: 6px;
332
- --kit-textfield-font: 13px;
334
+ --kit-textfield-p: 10px;
335
+ --kit-textfield-gap: var(--kit-space-default);
336
+ --kit-textfield-font: 14px;
333
337
  }
334
338
  .kit-textfield[data-size='sm'] :global(.kit-icon[data-size='default']) {
335
339
  --kit-icon-current-size: 1rem;
@@ -337,10 +341,9 @@
337
341
 
338
342
  .kit-textfield[data-size='md'] {
339
343
  --kit-textfield-h: 40px;
340
- --kit-textfield-px: 14px;
341
- --kit-textfield-py: 12px;
342
- --kit-textfield-gap: 8px;
343
- --kit-textfield-font: 14px;
344
+ --kit-textfield-p: 12px;
345
+ --kit-textfield-gap: var(--kit-space-default);
346
+ --kit-textfield-font: 16px;
344
347
  }
345
348
  .kit-textfield[data-size='md'] :global(.kit-icon[data-size='default']) {
346
349
  --kit-icon-current-size: 1.125rem;
@@ -348,10 +351,9 @@
348
351
 
349
352
  .kit-textfield[data-size='lg'] {
350
353
  --kit-textfield-h: 48px;
351
- --kit-textfield-px: 16px;
352
- --kit-textfield-py: 14px;
353
- --kit-textfield-gap: 10px;
354
- --kit-textfield-font: 15px;
354
+ --kit-textfield-p: 14px;
355
+ --kit-textfield-gap: var(--kit-space-default);
356
+ --kit-textfield-font: 16px;
355
357
  }
356
358
  .kit-textfield[data-size='lg'] :global(.kit-icon[data-size='default']) {
357
359
  --kit-icon-current-size: 1.25rem;
@@ -359,10 +361,9 @@
359
361
 
360
362
  .kit-textfield[data-size='xl'] {
361
363
  --kit-textfield-h: 56px;
362
- --kit-textfield-px: 18px;
363
- --kit-textfield-py: 16px;
364
- --kit-textfield-gap: 12px;
365
- --kit-textfield-font: 16px;
364
+ --kit-textfield-p: 16px;
365
+ --kit-textfield-gap: var(--kit-space-comfortable);
366
+ --kit-textfield-font: 17px;
366
367
  }
367
368
  .kit-textfield[data-size='xl'] :global(.kit-icon[data-size='default']) {
368
369
  --kit-icon-current-size: 1.375rem;
@@ -400,21 +401,14 @@
400
401
  * density
401
402
  * @link ...
402
403
  */
403
- .kit-textfield[data-density='none'] {
404
- --kit-textfield-density-scale: 0;
405
- --kit-textfield-density-h-scale: 0;
406
- }
407
404
  .kit-textfield[data-density='compact'] {
408
- --kit-textfield-density-scale: 0.9;
409
- --kit-textfield-density-h-scale: 0.92;
405
+ --kit-textfield-density-offset: var(--kit-density-compact);
410
406
  }
411
407
  .kit-textfield[data-density='default'] {
412
- --kit-textfield-density-scale: 1;
413
- --kit-textfield-density-h-scale: 1;
408
+ --kit-textfield-density-offset: var(--kit-density-default);
414
409
  }
415
410
  .kit-textfield[data-density='comfortable'] {
416
- --kit-textfield-density-scale: 1.1;
417
- --kit-textfield-density-h-scale: 1.15;
411
+ --kit-textfield-density-offset: var(--kit-density-comfortable);
418
412
  }
419
413
 
420
414
  /**
@@ -468,8 +462,8 @@
468
462
  gap: var(--kit-textfield-gap);
469
463
  width: 100%;
470
464
  min-width: 0;
471
- min-height: calc(var(--kit-textfield-h) * var(--kit-textfield-density-h-scale));
472
- padding: 0 calc(var(--kit-textfield-px) * var(--kit-textfield-density-scale));
465
+ min-height: calc(var(--kit-textfield-h) + var(--kit-textfield-density-offset) / 2);
466
+ padding: 0 calc(var(--kit-textfield-p) + var(--kit-textfield-density-offset) / 2);
473
467
  border-radius: var(--kit-textfield-radius);
474
468
  background: var(--kit-textfield-bg);
475
469
  color: var(--kit-textfield-fg);
@@ -557,7 +551,7 @@
557
551
 
558
552
  .kit-textfield__message {
559
553
  grid-area: message;
560
- padding-inline: var(--kit-textfield-px);
554
+ padding-inline: calc(var(--kit-textfield-p) + var(--kit-textfield-density-offset) / 2);
561
555
  font-size: 12px;
562
556
  opacity: 0;
563
557
  }
@@ -57,14 +57,22 @@
57
57
  })
58
58
  );
59
59
 
60
- let mergedStyle = $derived([componentStyle].filter(Boolean).join('; '));
60
+ let resolvedStyle = $derived(
61
+ [
62
+ componentStyle,
63
+ color ? `--kit-toolbar-fg:${color && `var(--kit-color-${color})`}` : '',
64
+ background ? `--kit-toolbar-bg:${background && `var(--kit-color-${background})`}` : ''
65
+ ]
66
+ .filter(Boolean)
67
+ .join('; ')
68
+ );
61
69
  </script>
62
70
 
63
71
  <svelte:element
64
72
  this={is}
65
73
  bind:this={ref}
66
74
  class={componentClass}
67
- style={mergedStyle}
75
+ style={resolvedStyle}
68
76
  {...restProps}
69
77
  role="toolbar"
70
78
  data-variant={variant}
@@ -75,8 +83,6 @@
75
83
  data-elevation={elevationState.base}
76
84
  data-elevation-hover={elevationState.hover}
77
85
  data-elevation-active={elevationState.active}
78
- style:--kit-toolbar-fg={color && `var(--kit-color-${color})`}
79
- style:--kit-toolbar-bg={background && `var(--kit-color-${background})`}
80
86
  >
81
87
  {#if variant === 'outline'}
82
88
  <span class="outline"></span>
@@ -89,15 +95,6 @@
89
95
 
90
96
  <style>
91
97
  .kit-toolbar {
92
- /* --kit-toolbar-bg: var(--kit-surface-2);
93
- --kit-toolbar-fg: var(--kit-fg);
94
- --kit-toolbar-bd: color-mix(in oklab, var(--kit-toolbar-fg), transparent 82%);
95
- --kit-toolbar-radius: 1rem;
96
- --kit-toolbar-gap: 0.5rem;
97
- --kit-toolbar-padding-x: 0.75rem;
98
- --kit-toolbar-padding-y: 0.5rem;
99
- --kit-toolbar-size: auto; */
100
-
101
98
  position: relative;
102
99
  display: inline-flex;
103
100
  max-width: 100%;
@@ -144,21 +141,14 @@
144
141
  * density
145
142
  * @link no links
146
143
  */
147
- .kit-toolbar[data-density='none'] {
148
- --kit-toolbar-density-scale: 0;
149
- --kit-toolbar-density-h-scale: 0;
150
- }
151
144
  .kit-toolbar[data-density='compact'] {
152
- --kit-toolbar-density-scale: 0.9;
153
- --kit-toolbar-density-h-scale: 0.92;
145
+ --kit-toolbar-density-offset: var(--kit-density-compact);
154
146
  }
155
147
  .kit-toolbar[data-density='default'] {
156
- --kit-toolbar-density-scale: 1;
157
- --kit-toolbar-density-h-scale: 1;
148
+ --kit-toolbar-density-offset: var(--kit-density-default);
158
149
  }
159
150
  .kit-toolbar[data-density='comfortable'] {
160
- --kit-toolbar-density-scale: 1.1;
161
- --kit-toolbar-density-h-scale: 1.15;
151
+ --kit-toolbar-density-offset: var(--kit-density-comfortable);
162
152
  }
163
153
 
164
154
  /**
@@ -193,34 +183,34 @@
193
183
  * @link nothing...
194
184
  */
195
185
  .kit-toolbar[data-size='xs'] {
196
- --kit-toolbar-h: 24px;
197
- --kit-toolbar-px: 6px;
198
- --kit-toolbar-gap: 4px;
199
- --kit-toolbar-font: 0.75rem;
186
+ --kit-toolbar-h: 32px;
187
+ --kit-toolbar-p: 8px;
188
+ --kit-toolbar-gap: var(--kit-space-compact);
189
+ --kit-toolbar-font: var(--kit-font-xs);
200
190
  }
201
191
  .kit-toolbar[data-size='sm'] {
202
- --kit-toolbar-h: 28px;
203
- --kit-toolbar-px: 8px;
204
- --kit-toolbar-gap: 6px;
205
- --kit-toolbar-font: 0.875rem;
192
+ --kit-toolbar-h: 40px;
193
+ --kit-toolbar-p: 10px;
194
+ --kit-toolbar-gap: var(--kit-space-default);
195
+ --kit-toolbar-font: var(--kit-font-sm);
206
196
  }
207
197
  .kit-toolbar[data-size='md'] {
208
- --kit-toolbar-h: 32px;
209
- --kit-toolbar-px: 10px;
210
- --kit-toolbar-gap: 8px;
211
- --kit-toolbar-font: 1rem;
198
+ --kit-toolbar-h: 48px;
199
+ --kit-toolbar-p: 12px;
200
+ --kit-toolbar-gap: var(--kit-space-default);
201
+ --kit-toolbar-font: var(--kit-font-md);
212
202
  }
213
203
  .kit-toolbar[data-size='lg'] {
214
- --kit-toolbar-h: 38px;
215
- --kit-toolbar-px: 12px;
216
- --kit-toolbar-gap: 10px;
217
- --kit-toolbar-font: 1.125rem;
204
+ --kit-toolbar-h: 56px;
205
+ --kit-toolbar-p: 16px;
206
+ --kit-toolbar-gap: var(--kit-space-default);
207
+ --kit-toolbar-font: var(--kit-font-lg);
218
208
  }
219
209
  .kit-toolbar[data-size='xl'] {
220
- --kit-toolbar-h: 42px;
221
- --kit-toolbar-px: 14px;
222
- --kit-toolbar-gap: 12px;
223
- --kit-toolbar-font: 1.25rem;
210
+ --kit-toolbar-h: 64px;
211
+ --kit-toolbar-p: 20px;
212
+ --kit-toolbar-gap: var(--kit-space-comfortable);
213
+ --kit-toolbar-font: var(--kit-font-xl);
224
214
  }
225
215
 
226
216
  .kit-toolbar .outline {
@@ -237,8 +227,8 @@
237
227
  display: inline-flex;
238
228
  align-items: center;
239
229
  justify-content: flex-start;
240
- min-height: calc(var(--kit-toolbar-h) * var(--kit-toolbar-density-h-scale));
241
- padding: calc(var(--kit-toolbar-px) * var(--kit-toolbar-density-scale));
230
+ min-height: calc(var(--kit-toolbar-h) + var(--kit-toolbar-density-offset) / 2);
231
+ padding: calc(var(--kit-toolbar-p) + var(--kit-toolbar-density-offset) / 2);
242
232
  gap: var(--kit-toolbar-gap);
243
233
  width: 100%;
244
234
  border-radius: inherit;
@@ -56,7 +56,15 @@
56
56
  })
57
57
  );
58
58
 
59
- let mergedStyle = $derived([componentStyle].filter(Boolean).join('; '));
59
+ let resolvedStyle = $derived(
60
+ [
61
+ componentStyle,
62
+ color ? `--kit-tooltip-fg:${color && `var(--kit-color-${color})`}` : '',
63
+ background ? `--kit-tooltip-bg:${background && `var(--kit-color-${background})`}` : ''
64
+ ]
65
+ .filter(Boolean)
66
+ .join('; ')
67
+ );
60
68
 
61
69
  const positioner = getPositionsTooltip();
62
70
 
@@ -174,12 +182,10 @@
174
182
  role="tooltip"
175
183
  aria-label={label}
176
184
  style={`transform: translate(${axis.x}px, ${axis.y}px); display:${open ? 'block' : 'none'}`}
177
- style:--kit-tooltip-fg={color && `var(--kit-color-${color})`}
178
- style:--kit-tooltip-bg={background && `var(--kit-color-${background})`}
179
185
  >
180
186
  <div
181
187
  class={componentClass}
182
- style={mergedStyle}
188
+ style={resolvedStyle}
183
189
  data-density={density}
184
190
  data-location={axis.location ?? location}
185
191
  data-variant={variant}
@@ -220,22 +226,19 @@
220
226
  .kit-tooltip__content {
221
227
  --kit-tooltip-bg: var(--kit-color-surface-2);
222
228
  --kit-tooltip-fg: var(--kit-color-text);
223
- --kit-tooltip-py: 0.15rem;
224
- --kit-tooltip-px: 0.625rem;
225
229
 
226
230
  position: relative;
227
231
  display: inline-block;
228
232
  width: max-content;
229
233
  max-width: min(20rem, calc(100vw - 1rem));
230
- padding: calc(var(--kit-tooltip-py) * var(--kit-tooltip-density-scale))
231
- calc(var(--kit-tooltip-px) * var(--kit-tooltip-density-scale));
234
+ padding: calc(var(--kit-space-default) + var(--kit-tooltip-density-offset) / 2);
232
235
  border: 0;
233
236
  border-radius: var(--kit-tooltip-radius);
234
237
  background: var(--kit-tooltip-bg);
235
238
  color: var(--kit-tooltip-fg);
236
239
  font-size: 0.875rem;
237
240
  overflow-wrap: break-word;
238
- box-shadow: 0 16px 29px -10px color-mix(in oklab, black 18%, transparent);
241
+ box-shadow: 0 16px 29px -10px color-mix(in oklab, var(--kit-color-shadow) 18%, transparent);
239
242
  animation: kit-tooltip-enter 150ms ease;
240
243
  }
241
244
 
@@ -243,17 +246,14 @@
243
246
  * density
244
247
  * @link no links
245
248
  */
246
- .kit-tooltip__content[data-density='none'] {
247
- --kit-tooltip-density-scale: 0;
248
- }
249
249
  .kit-tooltip__content[data-density='compact'] {
250
- --kit-tooltip-density-scale: 0.9;
250
+ --kit-tooltip-density-offset: var(--kit-density-compact);
251
251
  }
252
252
  .kit-tooltip__content[data-density='default'] {
253
- --kit-tooltip-density-scale: 1;
253
+ --kit-tooltip-density-offset: var(--kit-density-default);
254
254
  }
255
255
  .kit-tooltip__content[data-density='comfortable'] {
256
- --kit-tooltip-density-scale: 1.1;
256
+ --kit-tooltip-density-offset: var(--kit-density-comfortable);
257
257
  }
258
258
 
259
259
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lapikit",
3
- "version": "0.6.4",
3
+ "version": "0.6.6",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public"