slexkit 0.3.1 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/slexkit.css CHANGED
@@ -904,52 +904,6 @@ color-scheme: dark;
904
904
  box-sizing: border-box;
905
905
  }
906
906
 
907
- body[data-mobile-nav-open] {
908
- overflow: hidden;
909
- overscroll-behavior: contain;
910
- }
911
-
912
- #mobileNav {
913
- --mobile-nav-backdrop-opacity: 0;
914
- --mobile-nav-panel-translate: -100%;
915
- pointer-events: none;
916
- }
917
-
918
- #mobileNav[data-open="true"] {
919
- --mobile-nav-backdrop-opacity: 1;
920
- --mobile-nav-panel-translate: 0px;
921
- pointer-events: auto;
922
- }
923
-
924
- #mobileNav [data-mobile-nav-backdrop] {
925
- opacity: var(--mobile-nav-backdrop-opacity);
926
- touch-action: pan-y;
927
- transition: opacity 180ms ease;
928
- }
929
-
930
- #mobileNav [data-mobile-nav-panel] {
931
- transform: translateX(var(--mobile-nav-panel-translate));
932
- touch-action: pan-y;
933
- transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
934
- will-change: transform;
935
- }
936
-
937
- #mobileNav[data-dragging="true"] [data-mobile-nav-backdrop],
938
- #mobileNav[data-dragging="true"] [data-mobile-nav-panel] {
939
- transition: none;
940
- }
941
-
942
- @media (prefers-reduced-motion: reduce) {
943
- #mobileNav [data-mobile-nav-backdrop],
944
- #mobileNav [data-mobile-nav-panel] {
945
- transition: none;
946
- }
947
- }
948
-
949
- .slexkit-for-wrapper {
950
- display: contents;
951
- }
952
-
953
907
  .slexkit-source-toolbar {
954
908
  display: flex;
955
909
  align-items: center;
@@ -3206,22 +3160,71 @@ body[data-mobile-nav-open] {
3206
3160
  font-weight: 600;
3207
3161
  }
3208
3162
 
3163
+ .slex-slider-control {
3164
+ position: relative;
3165
+ box-sizing: border-box;
3166
+ width: 100%;
3167
+ height: 1rem;
3168
+ }
3169
+
3170
+ .slex-slider-track {
3171
+ position: absolute;
3172
+ inset-inline: 0;
3173
+ top: 50%;
3174
+ height: 0.5rem;
3175
+ border-radius: 999px;
3176
+ background: linear-gradient(
3177
+ to right,
3178
+ var(--primary) 0%,
3179
+ var(--primary) var(--slex-slider-progress, 0%),
3180
+ var(--secondary) var(--slex-slider-progress, 0%),
3181
+ var(--secondary) 100%
3182
+ );
3183
+ pointer-events: none;
3184
+ transform: translateY(-50%);
3185
+ }
3186
+
3209
3187
  .slex-slider {
3188
+ position: relative;
3189
+ z-index: 1;
3210
3190
  box-sizing: border-box;
3191
+ display: block;
3211
3192
  width: 100%;
3212
3193
  height: 1rem;
3194
+ margin: 0;
3213
3195
  padding: 0;
3214
3196
  border: 0;
3215
3197
  border-radius: 999px;
3216
3198
  -webkit-appearance: none;
3217
3199
  appearance: none;
3218
3200
  background: transparent;
3201
+ color: transparent;
3219
3202
  accent-color: var(--primary);
3220
3203
  cursor: pointer;
3221
3204
  overflow: visible;
3222
3205
  transition: box-shadow 150ms ease, filter 150ms ease;
3223
3206
  }
3224
3207
 
3208
+ .slexkit-root .slex-slider-control input.slex-slider {
3209
+ position: relative;
3210
+ z-index: 1;
3211
+ box-sizing: border-box;
3212
+ display: block;
3213
+ width: 100%;
3214
+ height: 1rem;
3215
+ min-height: 0;
3216
+ margin: 0;
3217
+ padding: 0;
3218
+ border: 0;
3219
+ border-radius: 999px;
3220
+ box-shadow: none;
3221
+ background: transparent;
3222
+ color: transparent;
3223
+ -webkit-appearance: none;
3224
+ appearance: none;
3225
+ overflow: visible;
3226
+ }
3227
+
3225
3228
  .slex-slider:focus-visible {
3226
3229
  outline: 2px solid var(--ring);
3227
3230
  outline-offset: 4px;
@@ -3231,7 +3234,7 @@ body[data-mobile-nav-open] {
3231
3234
  box-sizing: border-box;
3232
3235
  width: 1rem;
3233
3236
  height: 1rem;
3234
- margin-top: -0.25rem;
3237
+ margin-top: 0;
3235
3238
  border: 2px solid var(--primary);
3236
3239
  border-radius: 999px;
3237
3240
  background-color: var(--background);
@@ -3245,16 +3248,10 @@ body[data-mobile-nav-open] {
3245
3248
  .slex-slider::-webkit-slider-runnable-track {
3246
3249
  box-sizing: border-box;
3247
3250
  width: 100%;
3248
- height: 0.5rem;
3251
+ height: 1rem;
3249
3252
  border: 0;
3250
3253
  border-radius: 999px;
3251
- background: linear-gradient(
3252
- to right,
3253
- var(--primary) 0%,
3254
- var(--primary) var(--slex-slider-progress, 0%),
3255
- var(--secondary) var(--slex-slider-progress, 0%),
3256
- var(--secondary) 100%
3257
- );
3254
+ background: transparent;
3258
3255
  }
3259
3256
 
3260
3257
  .slex-slider::-moz-range-thumb {
@@ -3290,16 +3287,16 @@ body[data-mobile-nav-open] {
3290
3287
  }
3291
3288
 
3292
3289
  .slex-slider::-moz-range-track {
3293
- height: 0.5rem;
3290
+ height: 1rem;
3294
3291
  border: 0;
3295
3292
  border-radius: 999px;
3296
- background: var(--secondary);
3293
+ background: transparent;
3297
3294
  }
3298
3295
 
3299
3296
  .slex-slider::-moz-range-progress {
3300
- height: 0.5rem;
3297
+ height: 1rem;
3301
3298
  border-radius: 999px;
3302
- background: var(--primary);
3299
+ background: transparent;
3303
3300
  }
3304
3301
 
3305
3302
  .slex-slider-label-text {
@@ -3486,11 +3483,40 @@ body[data-mobile-nav-open] {
3486
3483
  transition: border-color 150ms ease, box-shadow 150ms ease;
3487
3484
  }
3488
3485
 
3486
+ .slexkit-root .slex-input-control input.slex-input {
3487
+ box-sizing: border-box;
3488
+ display: block;
3489
+ flex: 1 1 auto;
3490
+ width: 100%;
3491
+ min-width: 0;
3492
+ min-height: 2.5625rem;
3493
+ height: auto;
3494
+ margin: 0;
3495
+ padding: 0.5rem 0.75rem;
3496
+ border: 1px solid var(--input);
3497
+ border-radius: var(--radius);
3498
+ box-shadow: none;
3499
+ background: var(--background);
3500
+ background-clip: padding-box;
3501
+ color: var(--foreground);
3502
+ font-family: inherit;
3503
+ font-size: 0.875rem;
3504
+ line-height: 1.5;
3505
+ outline: none;
3506
+ -webkit-appearance: none;
3507
+ appearance: none;
3508
+ }
3509
+
3489
3510
  .slex-input-control[data-has-unit="true"] .slex-input {
3490
3511
  border-top-right-radius: 0;
3491
3512
  border-bottom-right-radius: 0;
3492
3513
  }
3493
3514
 
3515
+ .slexkit-root .slex-input-control[data-has-unit="true"] input.slex-input {
3516
+ border-top-right-radius: 0;
3517
+ border-bottom-right-radius: 0;
3518
+ }
3519
+
3494
3520
  .slex-input-unit {
3495
3521
  box-sizing: border-box;
3496
3522
  display: inline-flex;
package/dist/slexkit.js CHANGED
@@ -396,19 +396,31 @@ function configureComponentScope(options) {
396
396
  function createComponentAccessor(read) {
397
397
  const subscribers = new Set;
398
398
  let current = read();
399
- const accessor = () => current;
400
- accessor.subscribe = (run) => {
401
- subscribers.add(run);
402
- run(current);
403
- const stop = createEffect(() => {
399
+ let stopEffect;
400
+ const start = () => {
401
+ if (stopEffect)
402
+ return;
403
+ stopEffect = createEffect(() => {
404
404
  current = read();
405
- for (const subscriber of subscribers)
405
+ for (const subscriber of Array.from(subscribers))
406
406
  subscriber(current);
407
407
  flushDom?.();
408
408
  });
409
+ };
410
+ const accessor = () => current;
411
+ accessor.subscribe = (run) => {
412
+ const wasIdle = subscribers.size === 0;
413
+ subscribers.add(run);
414
+ if (wasIdle)
415
+ start();
416
+ else
417
+ run(current);
409
418
  return () => {
410
419
  subscribers.delete(run);
411
- stop();
420
+ if (subscribers.size === 0) {
421
+ stopEffect?.();
422
+ stopEffect = undefined;
423
+ }
412
424
  };
413
425
  };
414
426
  return accessor;
@@ -1259,9 +1271,10 @@ function renderForNode(fullKey, props, container, g, components, componentTypes,
1259
1271
  const renderer = getRenderer(type);
1260
1272
  if (!renderer)
1261
1273
  return;
1262
- const forWrapper = (container.ownerDocument || document).createElement("div");
1263
- forWrapper.className = "slexkit-for-wrapper";
1264
- container.appendChild(forWrapper);
1274
+ const doc = container.ownerDocument || document;
1275
+ const startAnchor = doc.createComment(`slexkit-for:${fullKey}:start`);
1276
+ const endAnchor = doc.createComment(`slexkit-for:${fullKey}:end`);
1277
+ container.append(startAnchor, endAnchor);
1265
1278
  const evalCtx = buildComponentEvalContext(g, components, componentTypes, api, forCtx);
1266
1279
  const items = createMemo(() => trackForCollection(evalRead(props.$for, evalCtx, ns, `${fullKey}:$for`)));
1267
1280
  const $keyProp = props.$key;
@@ -1274,8 +1287,10 @@ function renderForNode(fullKey, props, container, g, components, componentTypes,
1274
1287
  disposedSlots.add(slot);
1275
1288
  leavingSlots.delete(slot);
1276
1289
  callHook(g, name, "onUnmount");
1277
- disposeComponent(slot.el);
1278
- slot.el.remove();
1290
+ if (slot.el) {
1291
+ disposeComponent(slot.el);
1292
+ slot.el.remove();
1293
+ }
1279
1294
  if (slot.dispose)
1280
1295
  slot.dispose();
1281
1296
  };
@@ -1300,12 +1315,16 @@ function renderForNode(fullKey, props, container, g, components, componentTypes,
1300
1315
  }
1301
1316
  }
1302
1317
  for (const slot of deletedSlots) {
1303
- container.appendChild(slot.el);
1304
1318
  leavingSlots.add(slot);
1319
+ if (!slot.el) {
1320
+ disposeSlot(slot);
1321
+ continue;
1322
+ }
1305
1323
  applyLeaveAnimation(slot.el, slot.props, () => {
1306
1324
  disposeSlot(slot);
1307
1325
  });
1308
1326
  }
1327
+ let cursor = startAnchor;
1309
1328
  arr.forEach((item, index) => {
1310
1329
  item = asReactiveValue(item, g);
1311
1330
  const keyVal = newKeys[index];
@@ -1333,20 +1352,22 @@ function renderForNode(fullKey, props, container, g, components, componentTypes,
1333
1352
  const indexSignal = createSignal(index);
1334
1353
  const revisionSignal = createSignal(0);
1335
1354
  slot = renderAndMountSlot(item, index, keyVal, indexSignal, revisionSignal, renderer, type, name, props, container, g, components, componentTypes, api, forCtx, ns, fullKey, options);
1336
- if (slot.el) {
1337
- applyEnterAnimation(slot.el, slot.props);
1338
- callHook(g, name, "onMount");
1355
+ if (!slot.el) {
1356
+ disposeSlot(slot);
1357
+ return;
1339
1358
  }
1359
+ applyEnterAnimation(slot.el, slot.props);
1360
+ callHook(g, name, "onMount");
1340
1361
  slotMap.set(keyVal, slot);
1341
1362
  }
1342
- const refChild = forWrapper.children[index];
1343
- if (slot.el && refChild !== slot.el) {
1344
- forWrapper.insertBefore(slot.el, refChild ?? null);
1363
+ const nextChild = cursor.nextSibling;
1364
+ if (slot.el && nextChild !== slot.el) {
1365
+ container.insertBefore(slot.el, nextChild ?? endAnchor);
1366
+ }
1367
+ if (slot.el) {
1368
+ cursor = slot.el;
1345
1369
  }
1346
1370
  });
1347
- while (forWrapper.children.length > arr.length) {
1348
- forWrapper.lastChild.remove();
1349
- }
1350
1371
  });
1351
1372
  onCleanup(() => {
1352
1373
  for (const slot of Array.from(slotMap.values()))
@@ -1354,7 +1375,8 @@ function renderForNode(fullKey, props, container, g, components, componentTypes,
1354
1375
  slotMap.clear();
1355
1376
  for (const slot of Array.from(leavingSlots))
1356
1377
  disposeSlot(slot);
1357
- forWrapper.remove();
1378
+ startAnchor.remove();
1379
+ endAnchor.remove();
1358
1380
  });
1359
1381
  }
1360
1382
  function renderNormalNode(fullKey, props, container, g, components, componentTypes, api, forCtx, ns, options) {
@@ -1731,7 +1753,7 @@ ${parseSource}
1731
1753
  var parseSlexKitDsl = parseSlexSource;
1732
1754
 
1733
1755
  // src/version.ts
1734
- var SLEXKIT_VERSION = "0.3.1";
1756
+ var SLEXKIT_VERSION = "0.3.3";
1735
1757
  var SLEX_PROTOCOL_VERSION = "0.1";
1736
1758
  var SLEXKIT_COMPONENTS_VERSION = SLEXKIT_VERSION;
1737
1759
  function getSlexKitInfo() {
@@ -12138,7 +12160,7 @@ function Row($$anchor, $$props) {
12138
12160
  }
12139
12161
 
12140
12162
  // src/components/svelte/input/Slider.svelte
12141
- var root5 = from_html(`<div class="slex-slider-field"><div class="slex-slider-label"><span class="slex-slider-label-text"><!> <span> </span></span> <span class="slex-slider-value"> <!></span></div> <input type="range" class="slex-slider"/></div>`);
12163
+ var root5 = from_html(`<div class="slex-slider-field"><div class="slex-slider-label"><span class="slex-slider-label-text"><!> <span> </span></span> <span class="slex-slider-value"> <!></span></div> <div class="slex-slider-control"><span class="slex-slider-track" aria-hidden="true"></span> <input type="range" class="slex-slider"/></div></div>`);
12142
12164
  function Slider($$anchor, $$props) {
12143
12165
  push($$props, true);
12144
12166
  let p = state(proxy({}));
@@ -12238,30 +12260,32 @@ function Slider($$anchor, $$props) {
12238
12260
  }
12239
12261
  reset(span_2);
12240
12262
  reset(div_1);
12241
- var input_1 = sibling(div_1, 2);
12263
+ var div_2 = sibling(div_1, 2);
12264
+ var input_1 = sibling(child(div_2), 2);
12242
12265
  remove_input_defaults(input_1);
12266
+ reset(div_2);
12243
12267
  reset(div);
12244
12268
  template_effect(($0, $1, $2, $3, $4, $5, $6, $7, $8) => {
12245
12269
  set_attribute2(div, "data-orientation", $0);
12246
12270
  set_text(text_1, $1);
12247
12271
  set_text(text_2, $2);
12248
- set_attribute2(input_1, "min", $3);
12249
- set_attribute2(input_1, "max", $4);
12250
- set_attribute2(input_1, "step", $5);
12251
- set_value(input_1, $6);
12272
+ set_style(div_2, $3);
12273
+ set_attribute2(input_1, "min", $4);
12274
+ set_attribute2(input_1, "max", $5);
12275
+ set_attribute2(input_1, "step", $6);
12276
+ set_value(input_1, $7);
12252
12277
  input_1.disabled = !!get2(p).disabled;
12253
- set_attribute2(input_1, "aria-label", $7);
12254
- set_style(input_1, $8);
12278
+ set_attribute2(input_1, "aria-label", $8);
12255
12279
  }, [
12256
12280
  () => text2(get2(p).orientation, "horizontal"),
12257
12281
  () => text2(get2(p).label ?? $$props.componentName),
12258
12282
  () => text2(get2(value) ?? 0),
12283
+ () => `--slex-slider-progress: ${sliderProgress(get2(value), get2(p).min, get2(p).max)}`,
12259
12284
  () => Number(get2(p).min ?? 0),
12260
12285
  () => Number(get2(p).max ?? 100),
12261
12286
  () => Number(get2(p).step ?? 1),
12262
12287
  () => Number(get2(value) ?? 0),
12263
- () => text2(get2(p)["aria-label"] ?? get2(p).ariaLabel ?? get2(p).label ?? $$props.componentName),
12264
- () => `--slex-slider-progress: ${sliderProgress(get2(value), get2(p).min, get2(p).max)}`
12288
+ () => text2(get2(p)["aria-label"] ?? get2(p).ariaLabel ?? get2(p).label ?? $$props.componentName)
12265
12289
  ]);
12266
12290
  delegated("pointerdown", input_1, grabSlider);
12267
12291
  delegated("input", input_1, (event2) => choose(Number(event2.target.value)));
@@ -23,7 +23,7 @@ export type ForContext = {
23
23
  };
24
24
  export type ForSlot = {
25
25
  key: unknown;
26
- el: HTMLElement;
26
+ el: HTMLElement | null;
27
27
  forCtx: ForContext;
28
28
  index: number;
29
29
  item: unknown;
@@ -1,6 +1,6 @@
1
- export declare const SLEXKIT_VERSION = "0.3.1";
1
+ export declare const SLEXKIT_VERSION = "0.3.3";
2
2
  export declare const SLEX_PROTOCOL_VERSION = "0.1";
3
- export declare const SLEXKIT_COMPONENTS_VERSION = "0.3.1";
3
+ export declare const SLEXKIT_COMPONENTS_VERSION = "0.3.3";
4
4
  export declare function getSlexKitInfo(): {
5
5
  version: string;
6
6
  protocolVersion: string;
@@ -493,19 +493,31 @@
493
493
  function createComponentAccessor(read) {
494
494
  const subscribers = new Set;
495
495
  let current = read();
496
- const accessor = () => current;
497
- accessor.subscribe = (run) => {
498
- subscribers.add(run);
499
- run(current);
500
- const stop = createEffect(() => {
496
+ let stopEffect;
497
+ const start = () => {
498
+ if (stopEffect)
499
+ return;
500
+ stopEffect = createEffect(() => {
501
501
  current = read();
502
- for (const subscriber of subscribers)
502
+ for (const subscriber of Array.from(subscribers))
503
503
  subscriber(current);
504
504
  flushDom?.();
505
505
  });
506
+ };
507
+ const accessor = () => current;
508
+ accessor.subscribe = (run) => {
509
+ const wasIdle = subscribers.size === 0;
510
+ subscribers.add(run);
511
+ if (wasIdle)
512
+ start();
513
+ else
514
+ run(current);
506
515
  return () => {
507
516
  subscribers.delete(run);
508
- stop();
517
+ if (subscribers.size === 0) {
518
+ stopEffect?.();
519
+ stopEffect = undefined;
520
+ }
509
521
  };
510
522
  };
511
523
  return accessor;
@@ -1356,9 +1368,10 @@
1356
1368
  const renderer = getRenderer(type);
1357
1369
  if (!renderer)
1358
1370
  return;
1359
- const forWrapper = (container.ownerDocument || document).createElement("div");
1360
- forWrapper.className = "slexkit-for-wrapper";
1361
- container.appendChild(forWrapper);
1371
+ const doc = container.ownerDocument || document;
1372
+ const startAnchor = doc.createComment(`slexkit-for:${fullKey}:start`);
1373
+ const endAnchor = doc.createComment(`slexkit-for:${fullKey}:end`);
1374
+ container.append(startAnchor, endAnchor);
1362
1375
  const evalCtx = buildComponentEvalContext(g, components, componentTypes, api, forCtx);
1363
1376
  const items = createMemo(() => trackForCollection(evalRead(props.$for, evalCtx, ns, `${fullKey}:$for`)));
1364
1377
  const $keyProp = props.$key;
@@ -1371,8 +1384,10 @@
1371
1384
  disposedSlots.add(slot);
1372
1385
  leavingSlots.delete(slot);
1373
1386
  callHook(g, name, "onUnmount");
1374
- disposeComponent(slot.el);
1375
- slot.el.remove();
1387
+ if (slot.el) {
1388
+ disposeComponent(slot.el);
1389
+ slot.el.remove();
1390
+ }
1376
1391
  if (slot.dispose)
1377
1392
  slot.dispose();
1378
1393
  };
@@ -1397,12 +1412,16 @@
1397
1412
  }
1398
1413
  }
1399
1414
  for (const slot of deletedSlots) {
1400
- container.appendChild(slot.el);
1401
1415
  leavingSlots.add(slot);
1416
+ if (!slot.el) {
1417
+ disposeSlot(slot);
1418
+ continue;
1419
+ }
1402
1420
  applyLeaveAnimation(slot.el, slot.props, () => {
1403
1421
  disposeSlot(slot);
1404
1422
  });
1405
1423
  }
1424
+ let cursor = startAnchor;
1406
1425
  arr.forEach((item, index) => {
1407
1426
  item = asReactiveValue(item, g);
1408
1427
  const keyVal = newKeys[index];
@@ -1430,20 +1449,22 @@
1430
1449
  const indexSignal = createSignal(index);
1431
1450
  const revisionSignal = createSignal(0);
1432
1451
  slot = renderAndMountSlot(item, index, keyVal, indexSignal, revisionSignal, renderer, type, name, props, container, g, components, componentTypes, api, forCtx, ns, fullKey, options);
1433
- if (slot.el) {
1434
- applyEnterAnimation(slot.el, slot.props);
1435
- callHook(g, name, "onMount");
1452
+ if (!slot.el) {
1453
+ disposeSlot(slot);
1454
+ return;
1436
1455
  }
1456
+ applyEnterAnimation(slot.el, slot.props);
1457
+ callHook(g, name, "onMount");
1437
1458
  slotMap.set(keyVal, slot);
1438
1459
  }
1439
- const refChild = forWrapper.children[index];
1440
- if (slot.el && refChild !== slot.el) {
1441
- forWrapper.insertBefore(slot.el, refChild ?? null);
1460
+ const nextChild = cursor.nextSibling;
1461
+ if (slot.el && nextChild !== slot.el) {
1462
+ container.insertBefore(slot.el, nextChild ?? endAnchor);
1463
+ }
1464
+ if (slot.el) {
1465
+ cursor = slot.el;
1442
1466
  }
1443
1467
  });
1444
- while (forWrapper.children.length > arr.length) {
1445
- forWrapper.lastChild.remove();
1446
- }
1447
1468
  });
1448
1469
  onCleanup(() => {
1449
1470
  for (const slot of Array.from(slotMap.values()))
@@ -1451,7 +1472,8 @@
1451
1472
  slotMap.clear();
1452
1473
  for (const slot of Array.from(leavingSlots))
1453
1474
  disposeSlot(slot);
1454
- forWrapper.remove();
1475
+ startAnchor.remove();
1476
+ endAnchor.remove();
1455
1477
  });
1456
1478
  }
1457
1479
  function renderNormalNode(fullKey, props, container, g, components, componentTypes, api, forCtx, ns, options) {
@@ -11134,7 +11156,7 @@ ${pad}}`;
11134
11156
  }
11135
11157
 
11136
11158
  // src/components/svelte/input/Slider.svelte
11137
- var root5 = from_html(`<div class="slex-slider-field"><div class="slex-slider-label"><span class="slex-slider-label-text"><!> <span> </span></span> <span class="slex-slider-value"> <!></span></div> <input type="range" class="slex-slider"/></div>`);
11159
+ var root5 = from_html(`<div class="slex-slider-field"><div class="slex-slider-label"><span class="slex-slider-label-text"><!> <span> </span></span> <span class="slex-slider-value"> <!></span></div> <div class="slex-slider-control"><span class="slex-slider-track" aria-hidden="true"></span> <input type="range" class="slex-slider"/></div></div>`);
11138
11160
  function Slider($$anchor, $$props) {
11139
11161
  push($$props, true);
11140
11162
  let p = state(proxy({}));
@@ -11234,30 +11256,32 @@ ${pad}}`;
11234
11256
  }
11235
11257
  reset(span_2);
11236
11258
  reset(div_1);
11237
- var input_1 = sibling(div_1, 2);
11259
+ var div_2 = sibling(div_1, 2);
11260
+ var input_1 = sibling(child(div_2), 2);
11238
11261
  remove_input_defaults(input_1);
11262
+ reset(div_2);
11239
11263
  reset(div);
11240
11264
  template_effect(($0, $1, $2, $3, $4, $5, $6, $7, $8) => {
11241
11265
  set_attribute2(div, "data-orientation", $0);
11242
11266
  set_text(text_1, $1);
11243
11267
  set_text(text_2, $2);
11244
- set_attribute2(input_1, "min", $3);
11245
- set_attribute2(input_1, "max", $4);
11246
- set_attribute2(input_1, "step", $5);
11247
- set_value(input_1, $6);
11268
+ set_style(div_2, $3);
11269
+ set_attribute2(input_1, "min", $4);
11270
+ set_attribute2(input_1, "max", $5);
11271
+ set_attribute2(input_1, "step", $6);
11272
+ set_value(input_1, $7);
11248
11273
  input_1.disabled = !!get2(p).disabled;
11249
- set_attribute2(input_1, "aria-label", $7);
11250
- set_style(input_1, $8);
11274
+ set_attribute2(input_1, "aria-label", $8);
11251
11275
  }, [
11252
11276
  () => text2(get2(p).orientation, "horizontal"),
11253
11277
  () => text2(get2(p).label ?? $$props.componentName),
11254
11278
  () => text2(get2(value) ?? 0),
11279
+ () => `--slex-slider-progress: ${sliderProgress(get2(value), get2(p).min, get2(p).max)}`,
11255
11280
  () => Number(get2(p).min ?? 0),
11256
11281
  () => Number(get2(p).max ?? 100),
11257
11282
  () => Number(get2(p).step ?? 1),
11258
11283
  () => Number(get2(value) ?? 0),
11259
- () => text2(get2(p)["aria-label"] ?? get2(p).ariaLabel ?? get2(p).label ?? $$props.componentName),
11260
- () => `--slex-slider-progress: ${sliderProgress(get2(value), get2(p).min, get2(p).max)}`
11284
+ () => text2(get2(p)["aria-label"] ?? get2(p).ariaLabel ?? get2(p).label ?? $$props.componentName)
11261
11285
  ]);
11262
11286
  delegated("pointerdown", input_1, grabSlider);
11263
11287
  delegated("input", input_1, (event2) => choose(Number(event2.target.value)));