slexkit 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/LICENSE +21 -21
  3. package/dist/ai/llms-authoring.txt +2 -0
  4. package/dist/ai/llms-capabilities.txt +126 -0
  5. package/dist/ai/llms-components.txt +27 -6
  6. package/dist/ai/llms-full.txt +1729 -4
  7. package/dist/ai/llms-runtime.txt +7 -1
  8. package/dist/ai/llms.txt +22 -1
  9. package/dist/ai/slexkit-ai-manifest.json +674 -23
  10. package/dist/base.css +359 -359
  11. package/dist/chunks/{accordion-cfjyxw93.js → button-53ccjq5p.js} +11 -11
  12. package/dist/chunks/{accordion-nw12ytps.js → button-cr1fhsa7.js} +48 -2
  13. package/dist/chunks/{accordion-5f0nvjjm.js → button-dsftwzvg.js} +4 -3
  14. package/dist/chunks/{accordion-hzyrngd6.js → button-faf563xf.js} +2 -2
  15. package/dist/chunks/{accordion-ehnhpeca.js → button-jxv4c65t.js} +2 -2
  16. package/dist/chunks/{accordion-cw5r75jm.js → button-xv2dz7vn.js} +1 -1
  17. package/dist/chunks/{accordion-830dw78f.js → button-z5yv24ks.js} +2 -2
  18. package/dist/components/accordion.js +2 -2
  19. package/dist/components/badge.js +2 -2
  20. package/dist/components/button.css +101 -101
  21. package/dist/components/button.js +3 -3
  22. package/dist/components/callout.js +4 -4
  23. package/dist/components/card.js +2 -2
  24. package/dist/components/checkbox.js +2 -2
  25. package/dist/components/choice.css +151 -151
  26. package/dist/components/code-block.js +2 -2
  27. package/dist/components/collapsible.js +2 -2
  28. package/dist/components/column.js +1 -1
  29. package/dist/components/content.css +273 -250
  30. package/dist/components/divider.js +2 -2
  31. package/dist/components/grid.js +1 -1
  32. package/dist/components/index.js +13945 -26
  33. package/dist/components/input.css +777 -777
  34. package/dist/components/input.js +8 -8
  35. package/dist/components/link.js +2 -2
  36. package/dist/components/progress.js +2 -2
  37. package/dist/components/radio-group.js +2 -2
  38. package/dist/components/row.js +1 -1
  39. package/dist/components/section.js +2 -2
  40. package/dist/components/select.css +178 -178
  41. package/dist/components/select.js +3 -3
  42. package/dist/components/slider.css +116 -116
  43. package/dist/components/slider.js +2 -2
  44. package/dist/components/specs.js +32 -0
  45. package/dist/components/stat.js +2 -2
  46. package/dist/components/submit.css +8 -8
  47. package/dist/components/submit.js +1 -1
  48. package/dist/components/switch.css +105 -105
  49. package/dist/components/switch.js +3 -3
  50. package/dist/components/table.js +4 -4
  51. package/dist/components/tabs.css +95 -95
  52. package/dist/components/tabs.js +4 -4
  53. package/dist/components/text-input.css +23 -23
  54. package/dist/components/text.js +1 -1
  55. package/dist/components/toast.js +4 -4
  56. package/dist/components/tooling.js +73 -8
  57. package/dist/runtime.cjs +1590 -14
  58. package/dist/runtime.js +1589 -13
  59. package/dist/slexkit.cjs +28254 -13848
  60. package/dist/slexkit.css +1538 -1515
  61. package/dist/slexkit.js +28253 -13847
  62. package/dist/tooling.js +117 -11
  63. package/dist/types/components/svelte/helpers.d.ts +8 -1
  64. package/dist/types/engine/capabilities.d.ts +54 -0
  65. package/dist/types/engine/index.d.ts +6 -0
  66. package/dist/types/engine/secure-runtime.d.ts +9 -1
  67. package/dist/types/engine/stdlib.d.ts +30 -0
  68. package/dist/types/engine/types.d.ts +1 -0
  69. package/dist/types/engine/validation.d.ts +28 -0
  70. package/dist/types/index.d.ts +6 -3
  71. package/dist/types/runtime.d.ts +6 -3
  72. package/dist/types/version.d.ts +2 -2
  73. package/dist/umd/slexkit.tooling.umd.js +45016 -44626
  74. package/dist/umd/slexkit.umd.js +28255 -13849
  75. package/package.json +3 -2
  76. package/src/components/svelte/content/Formula.svelte +27 -0
  77. package/src/components/svelte/content/Table.svelte +1 -1
  78. package/src/components/svelte/helpers.ts +56 -1
  79. package/src/components/svelte/input/Input.svelte +7 -7
  80. package/src/components/svelte/input/Select.svelte +2 -2
  81. package/src/components/svelte/input/Switch.svelte +1 -1
  82. package/src/components/svelte/input/Tabs.svelte +7 -7
  83. package/src/components/svelte/tooling/PlaygroundMarkdown.svelte +84 -2
  84. package/src/styles/components/button.css +101 -101
  85. package/src/styles/components/choice.css +152 -152
  86. package/src/styles/components/select.css +178 -178
  87. package/src/styles/components/slider.css +116 -116
  88. package/src/styles/components/submit.css +8 -8
  89. package/src/styles/components/switch.css +105 -105
  90. package/src/styles/components/tabs.css +95 -95
  91. package/src/styles/components/text-input.css +23 -23
  92. package/src/styles/content.css +274 -251
  93. package/src/styles/input.css +8 -8
  94. package/src/styles/layout.css +360 -360
@@ -1,120 +1,120 @@
1
- .slex-slider-container,
2
- .slex-slider-field {
3
- display: flex;
4
- flex-direction: column;
5
- gap: 0.5rem;
6
- width: 100%;
7
- }
8
-
9
- .slex-slider-field {
10
- padding: 0.25rem 0;
11
- }
12
-
1
+ .slex-slider-container,
2
+ .slex-slider-field {
3
+ display: flex;
4
+ flex-direction: column;
5
+ gap: 0.5rem;
6
+ width: 100%;
7
+ }
8
+
9
+ .slex-slider-field {
10
+ padding: 0.25rem 0;
11
+ }
12
+
13
13
  .slex-slider-label {
14
- display: flex;
15
- align-items: center;
16
- justify-content: space-between;
17
- color: var(--muted-foreground);
18
- font-size: 0.875rem;
19
- font-weight: 500;
20
- }
21
-
22
- .slex-slider-value {
23
- padding: 0.125rem 0.5rem;
24
- border: 1px solid var(--border);
25
- border-radius: calc(var(--radius) - 2px);
26
- background: var(--secondary);
27
- color: var(--secondary-foreground);
28
- font-family: var(--font-mono, "Geist Mono", "Noto Sans Mono", "Noto Sans Mono CJK SC", "SFMono-Regular", "Cascadia Code", Consolas, monospace);
29
- font-size: 0.875rem;
30
- font-weight: 600;
31
- }
32
-
33
- .slex-slider {
34
- box-sizing: border-box;
35
- width: 100%;
36
- height: 0.5rem;
37
- border-radius: 999px;
38
- -webkit-appearance: none;
39
- appearance: none;
40
- background: linear-gradient(
41
- to right,
42
- var(--primary) 0%,
43
- var(--primary) var(--slex-slider-progress, 0%),
44
- var(--secondary) var(--slex-slider-progress, 0%),
45
- var(--secondary) 100%
46
- );
47
- accent-color: var(--primary);
48
- cursor: pointer;
49
- transition: box-shadow 150ms ease, filter 150ms ease;
50
- }
51
-
52
- .slex-slider:hover {
53
- box-shadow: 0 0 0 4px color-mix(in oklab, var(--primary) 8%, transparent);
54
- }
55
-
56
- .slex-slider:active {
57
- box-shadow: 0 0 0 5px color-mix(in oklab, var(--primary) 12%, transparent);
58
- }
59
-
60
- .slex-slider:focus-visible {
61
- outline: 2px solid var(--ring);
62
- outline-offset: 4px;
63
- }
64
-
65
- .slex-slider::-webkit-slider-thumb {
66
- width: 1rem;
67
- height: 1rem;
68
- border: 2px solid var(--primary);
69
- border-radius: 999px;
70
- background: var(--background) !important;
71
- box-shadow: 0 1px 2px color-mix(in oklab, var(--foreground) 14%, transparent);
72
- -webkit-appearance: none;
73
- appearance: none;
74
- transition: border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease, transform 120ms ease;
75
- }
76
-
77
- .slex-slider::-moz-range-thumb {
78
- width: 1rem;
79
- height: 1rem;
80
- border: 2px solid var(--primary);
81
- border-radius: 999px;
82
- background: var(--background) !important;
83
- box-shadow: 0 1px 2px color-mix(in oklab, var(--foreground) 14%, transparent);
84
- transition: border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease, transform 120ms ease;
85
- }
86
-
87
- .slex-slider:hover::-webkit-slider-thumb {
88
- box-shadow: 0 0 0 5px color-mix(in oklab, var(--primary) 12%, transparent);
89
- transform: scale(1.06);
90
- }
91
-
92
- .slex-slider:hover::-moz-range-thumb {
93
- box-shadow: 0 0 0 5px color-mix(in oklab, var(--primary) 12%, transparent);
94
- transform: scale(1.06);
95
- }
96
-
97
- .slex-slider:active::-webkit-slider-thumb {
98
- box-shadow: 0 0 0 6px color-mix(in oklab, var(--primary) 16%, transparent);
99
- transform: scale(1.12);
100
- }
101
-
102
- .slex-slider:active::-moz-range-thumb {
103
- box-shadow: 0 0 0 6px color-mix(in oklab, var(--primary) 16%, transparent);
104
- transform: scale(1.12);
105
- }
106
-
107
- .slex-slider::-moz-range-track {
108
- height: 0.5rem;
109
- border: 0;
110
- border-radius: 999px;
111
- background: var(--secondary);
112
- }
113
-
114
- .slex-slider::-moz-range-progress {
115
- height: 0.5rem;
116
- border-radius: 999px;
117
- background: var(--primary);
14
+ display: flex;
15
+ align-items: center;
16
+ justify-content: space-between;
17
+ color: var(--muted-foreground);
18
+ font-size: 0.875rem;
19
+ font-weight: 500;
20
+ }
21
+
22
+ .slex-slider-value {
23
+ padding: 0.125rem 0.5rem;
24
+ border: 1px solid var(--border);
25
+ border-radius: calc(var(--radius) - 2px);
26
+ background: var(--secondary);
27
+ color: var(--secondary-foreground);
28
+ font-family: var(--font-mono, "Geist Mono", "Noto Sans Mono", "Noto Sans Mono CJK SC", "SFMono-Regular", "Cascadia Code", Consolas, monospace);
29
+ font-size: 0.875rem;
30
+ font-weight: 600;
31
+ }
32
+
33
+ .slex-slider {
34
+ box-sizing: border-box;
35
+ width: 100%;
36
+ height: 0.5rem;
37
+ border-radius: 999px;
38
+ -webkit-appearance: none;
39
+ appearance: none;
40
+ background: linear-gradient(
41
+ to right,
42
+ var(--primary) 0%,
43
+ var(--primary) var(--slex-slider-progress, 0%),
44
+ var(--secondary) var(--slex-slider-progress, 0%),
45
+ var(--secondary) 100%
46
+ );
47
+ accent-color: var(--primary);
48
+ cursor: pointer;
49
+ transition: box-shadow 150ms ease, filter 150ms ease;
50
+ }
51
+
52
+ .slex-slider:hover {
53
+ box-shadow: 0 0 0 4px color-mix(in oklab, var(--primary) 8%, transparent);
54
+ }
55
+
56
+ .slex-slider:active {
57
+ box-shadow: 0 0 0 5px color-mix(in oklab, var(--primary) 12%, transparent);
58
+ }
59
+
60
+ .slex-slider:focus-visible {
61
+ outline: 2px solid var(--ring);
62
+ outline-offset: 4px;
63
+ }
64
+
65
+ .slex-slider::-webkit-slider-thumb {
66
+ width: 1rem;
67
+ height: 1rem;
68
+ border: 2px solid var(--primary);
69
+ border-radius: 999px;
70
+ background: var(--background) !important;
71
+ box-shadow: 0 1px 2px color-mix(in oklab, var(--foreground) 14%, transparent);
72
+ -webkit-appearance: none;
73
+ appearance: none;
74
+ transition: border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease, transform 120ms ease;
75
+ }
76
+
77
+ .slex-slider::-moz-range-thumb {
78
+ width: 1rem;
79
+ height: 1rem;
80
+ border: 2px solid var(--primary);
81
+ border-radius: 999px;
82
+ background: var(--background) !important;
83
+ box-shadow: 0 1px 2px color-mix(in oklab, var(--foreground) 14%, transparent);
84
+ transition: border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease, transform 120ms ease;
85
+ }
86
+
87
+ .slex-slider:hover::-webkit-slider-thumb {
88
+ box-shadow: 0 0 0 5px color-mix(in oklab, var(--primary) 12%, transparent);
89
+ transform: scale(1.06);
90
+ }
91
+
92
+ .slex-slider:hover::-moz-range-thumb {
93
+ box-shadow: 0 0 0 5px color-mix(in oklab, var(--primary) 12%, transparent);
94
+ transform: scale(1.06);
95
+ }
96
+
97
+ .slex-slider:active::-webkit-slider-thumb {
98
+ box-shadow: 0 0 0 6px color-mix(in oklab, var(--primary) 16%, transparent);
99
+ transform: scale(1.12);
100
+ }
101
+
102
+ .slex-slider:active::-moz-range-thumb {
103
+ box-shadow: 0 0 0 6px color-mix(in oklab, var(--primary) 16%, transparent);
104
+ transform: scale(1.12);
105
+ }
106
+
107
+ .slex-slider::-moz-range-track {
108
+ height: 0.5rem;
109
+ border: 0;
110
+ border-radius: 999px;
111
+ background: var(--secondary);
112
+ }
113
+
114
+ .slex-slider::-moz-range-progress {
115
+ height: 0.5rem;
116
+ border-radius: 999px;
117
+ background: var(--primary);
118
118
  }
119
119
 
120
120
  .slex-slider-label-text {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  InlineIcon
3
- } from "../chunks/accordion-cw5r75jm.js";
3
+ } from "../chunks/button-xv2dz7vn.js";
4
4
  import {
5
5
  append,
6
6
  bindPropStore,
@@ -28,7 +28,7 @@ import {
28
28
  text,
29
29
  text1 as text2,
30
30
  user_effect
31
- } from "../chunks/accordion-nw12ytps.js";
31
+ } from "../chunks/button-cr1fhsa7.js";
32
32
 
33
33
  // src/components/entries/slider.ts
34
34
  import { register } from "../runtime.js";
@@ -408,6 +408,37 @@ var dividerSpec = component({
408
408
  })]
409
409
  });
410
410
 
411
+ // src/components/entries/formula.spec.ts
412
+ var formulaSpec = component({
413
+ type: "formula",
414
+ category: "Display",
415
+ title: "Formula",
416
+ summary: "Reactive KaTeX formula display.",
417
+ description: "Use formula to render SlexKit state and computed values through KaTeX.",
418
+ props: {
419
+ tex: { type: "string", dynamic: true, description: "KaTeX source to render." },
420
+ formula: { type: "string", dynamic: true, description: "Alias for tex." },
421
+ value: { type: "string", dynamic: true, description: "Alias for tex." },
422
+ displayMode: { type: "boolean", default: true, description: "Render as display math when true; inline math when false." },
423
+ display: { type: "boolean", default: true, description: "Alias for displayMode." },
424
+ block: { type: "boolean", default: true, description: "Alias for displayMode." }
425
+ },
426
+ children: noChildren,
427
+ examples: [example("formula", {
428
+ namespace: "doc_formula_typical",
429
+ g: {
430
+ r: 1e4,
431
+ c: 100,
432
+ fc: 159.15
433
+ },
434
+ layout: {
435
+ "formula:cutoff": {
436
+ $tex: "'f_c = \\\\frac{1}{2\\\\pi RC} = ' + g.fc + '\\\\text{ Hz}'"
437
+ }
438
+ }
439
+ })]
440
+ });
441
+
411
442
  // src/components/entries/grid.spec.ts
412
443
  var gridSpec = component({
413
444
  type: "grid",
@@ -1066,6 +1097,7 @@ var componentSpecs = [
1066
1097
  collapsibleSpec,
1067
1098
  columnSpec,
1068
1099
  dividerSpec,
1100
+ formulaSpec,
1069
1101
  gridSpec,
1070
1102
  iconSpec,
1071
1103
  inputSpec,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  InlineIcon
3
- } from "../chunks/accordion-cw5r75jm.js";
3
+ } from "../chunks/button-xv2dz7vn.js";
4
4
  import {
5
5
  append,
6
6
  bindPropStore,
@@ -23,7 +23,7 @@ import {
23
23
  text1 as text,
24
24
  user_derived,
25
25
  user_effect
26
- } from "../chunks/accordion-nw12ytps.js";
26
+ } from "../chunks/button-cr1fhsa7.js";
27
27
 
28
28
  // src/components/entries/stat.ts
29
29
  import { register } from "../runtime.js";
@@ -1,9 +1,9 @@
1
- .slex-submit-bar {
2
- display: flex;
3
- align-items: center;
4
- justify-content: flex-end;
5
- gap: 0.75rem;
6
- flex-wrap: wrap;
7
- padding-top: 0.75rem;
8
- border-top: 1px solid var(--border);
1
+ .slex-submit-bar {
2
+ display: flex;
3
+ align-items: center;
4
+ justify-content: flex-end;
5
+ gap: 0.75rem;
6
+ flex-wrap: wrap;
7
+ padding-top: 0.75rem;
8
+ border-top: 1px solid var(--border);
9
9
  }
@@ -18,7 +18,7 @@ import {
18
18
  state,
19
19
  template_effect,
20
20
  user_effect
21
- } from "../chunks/accordion-nw12ytps.js";
21
+ } from "../chunks/button-cr1fhsa7.js";
22
22
 
23
23
  // src/components/entries/submit.ts
24
24
  import { register } from "../runtime.js";
@@ -1,114 +1,114 @@
1
- .slex-switch {
2
- display: inline-flex;
3
- align-items: center;
4
- gap: 0.5rem;
5
- cursor: pointer;
6
- }
7
-
8
- .slex-switch-event-layer {
9
- display: inline-flex;
10
- }
11
-
12
- .slex-choice-event-layer {
13
- display: inline-flex;
14
- }
15
-
1
+ .slex-switch {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ gap: 0.5rem;
5
+ cursor: pointer;
6
+ }
7
+
8
+ .slex-switch-event-layer {
9
+ display: inline-flex;
10
+ }
11
+
12
+ .slex-choice-event-layer {
13
+ display: inline-flex;
14
+ }
15
+
16
16
  .slex-switch-label {
17
17
  display: inline-flex;
18
18
  align-items: center;
19
19
  gap: 0.375rem;
20
20
  min-width: 0;
21
21
  color: var(--foreground);
22
- font-size: 0.8125rem;
23
- font-weight: 500;
24
- }
25
-
26
- .slex-switch-input {
27
- position: absolute;
28
- width: 1px;
29
- height: 1px;
30
- padding: 0;
31
- margin: -1px;
32
- overflow: hidden;
33
- clip: rect(0, 0, 0, 0);
34
- white-space: nowrap;
35
- border: 0;
36
- }
37
-
38
- .slex-switch-control {
39
- box-sizing: border-box;
40
- position: relative;
41
- display: inline-flex;
42
- align-items: center;
43
- flex: 0 0 auto;
44
- width: 2.75rem;
45
- height: 1.5rem;
46
- margin-inline-end: 0;
47
- padding: 0;
48
- border: 2px solid transparent;
22
+ font-size: 0.8125rem;
23
+ font-weight: 500;
24
+ }
25
+
26
+ .slex-switch-input {
27
+ position: absolute;
28
+ width: 1px;
29
+ height: 1px;
30
+ padding: 0;
31
+ margin: -1px;
32
+ overflow: hidden;
33
+ clip: rect(0, 0, 0, 0);
34
+ white-space: nowrap;
35
+ border: 0;
36
+ }
37
+
38
+ .slex-switch-control {
39
+ box-sizing: border-box;
40
+ position: relative;
41
+ display: inline-flex;
42
+ align-items: center;
43
+ flex: 0 0 auto;
44
+ width: 2.75rem;
45
+ height: 1.5rem;
46
+ margin-inline-end: 0;
47
+ padding: 0;
48
+ border: 2px solid transparent;
49
49
  border-radius: 9999px;
50
- background: var(--input);
51
- transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
52
- }
53
-
54
- .slex-switch-control::after {
55
- content: "";
56
- display: block;
57
- width: 1.25rem;
58
- height: 1.25rem;
59
- border: 0;
50
+ background: var(--input);
51
+ transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
52
+ }
53
+
54
+ .slex-switch-control::after {
55
+ content: "";
56
+ display: block;
57
+ width: 1.25rem;
58
+ height: 1.25rem;
59
+ border: 0;
60
60
  border-radius: 9999px;
61
- background: var(--background);
62
- box-shadow: 0 1px 2px color-mix(in oklab, var(--foreground) 12%, transparent);
63
- transition: border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
64
- transform: translateX(0);
65
- will-change: transform;
66
- }
67
-
68
- .slex-switch:hover .slex-switch-control {
69
- border-color: color-mix(in oklab, var(--primary) 42%, var(--input));
70
- box-shadow: 0 0 0 4px color-mix(in oklab, var(--primary) 8%, transparent);
71
- }
72
-
73
- .slex-switch:hover .slex-switch-control::after {
74
- box-shadow: 0 0 0 4px color-mix(in oklab, var(--primary) 10%, transparent);
75
- }
76
-
77
- .slex-switch:active .slex-switch-control::after {
78
- box-shadow: 0 0 0 5px color-mix(in oklab, var(--primary) 16%, transparent);
79
- }
80
-
81
- .slex-switch-input:checked + .slex-switch-control {
82
- border-color: var(--primary);
83
- background: var(--primary);
84
- }
85
-
86
- .slex-switch:hover .slex-switch-input:checked + .slex-switch-control {
87
- background: color-mix(in oklab, var(--primary) 88%, var(--background));
88
- }
89
-
90
- .slex-switch-input:checked + .slex-switch-control::after {
91
- background: var(--background);
92
- transform: translateX(1.25rem);
93
- }
94
-
95
- .slexkit-root[dir="rtl"] .slex-switch-input:checked + .slex-switch-control::after {
96
- transform: translateX(-1.25rem);
97
- }
98
-
99
- .slex-switch-input:focus-visible + .slex-switch-control {
100
- box-shadow: 0 0 0 3px color-mix(in oklab, var(--ring) 18%, transparent);
101
- }
102
-
103
- .slex-switch-input:disabled + .slex-switch-control {
104
- opacity: 0.55;
105
- }
106
-
107
- .slex-switch:has(.slex-switch-input:disabled) {
108
- cursor: not-allowed;
109
- }
110
-
111
- .slex-switch:has(.slex-switch-input:disabled):hover .slex-switch-control,
112
- .slex-switch:has(.slex-switch-input:disabled):hover .slex-switch-control::after {
113
- box-shadow: none;
61
+ background: var(--background);
62
+ box-shadow: 0 1px 2px color-mix(in oklab, var(--foreground) 12%, transparent);
63
+ transition: border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
64
+ transform: translateX(0);
65
+ will-change: transform;
66
+ }
67
+
68
+ .slex-switch:hover .slex-switch-control {
69
+ border-color: color-mix(in oklab, var(--primary) 42%, var(--input));
70
+ box-shadow: 0 0 0 4px color-mix(in oklab, var(--primary) 8%, transparent);
71
+ }
72
+
73
+ .slex-switch:hover .slex-switch-control::after {
74
+ box-shadow: 0 0 0 4px color-mix(in oklab, var(--primary) 10%, transparent);
75
+ }
76
+
77
+ .slex-switch:active .slex-switch-control::after {
78
+ box-shadow: 0 0 0 5px color-mix(in oklab, var(--primary) 16%, transparent);
79
+ }
80
+
81
+ .slex-switch-input:checked + .slex-switch-control {
82
+ border-color: var(--primary);
83
+ background: var(--primary);
84
+ }
85
+
86
+ .slex-switch:hover .slex-switch-input:checked + .slex-switch-control {
87
+ background: color-mix(in oklab, var(--primary) 88%, var(--background));
88
+ }
89
+
90
+ .slex-switch-input:checked + .slex-switch-control::after {
91
+ background: var(--background);
92
+ transform: translateX(1.25rem);
93
+ }
94
+
95
+ .slexkit-root[dir="rtl"] .slex-switch-input:checked + .slex-switch-control::after {
96
+ transform: translateX(-1.25rem);
97
+ }
98
+
99
+ .slex-switch-input:focus-visible + .slex-switch-control {
100
+ box-shadow: 0 0 0 3px color-mix(in oklab, var(--ring) 18%, transparent);
101
+ }
102
+
103
+ .slex-switch-input:disabled + .slex-switch-control {
104
+ opacity: 0.55;
105
+ }
106
+
107
+ .slex-switch:has(.slex-switch-input:disabled) {
108
+ cursor: not-allowed;
109
+ }
110
+
111
+ .slex-switch:has(.slex-switch-input:disabled):hover .slex-switch-control,
112
+ .slex-switch:has(.slex-switch-input:disabled):hover .slex-switch-control::after {
113
+ box-shadow: none;
114
114
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  InlineIcon
3
- } from "../chunks/accordion-cw5r75jm.js";
3
+ } from "../chunks/button-xv2dz7vn.js";
4
4
  import {
5
5
  append,
6
6
  bindPropStore,
@@ -26,7 +26,7 @@ import {
26
26
  template_effect,
27
27
  text1 as text,
28
28
  user_effect
29
- } from "../chunks/accordion-nw12ytps.js";
29
+ } from "../chunks/button-cr1fhsa7.js";
30
30
 
31
31
  // src/components/entries/switch.ts
32
32
  import { register } from "../runtime.js";
@@ -40,7 +40,7 @@ function Switch($$anchor, $$props) {
40
40
  let lastHapticAt = 0;
41
41
  user_effect(() => bindPropStore($$props.props, (next) => {
42
42
  set(p, next, true);
43
- set(enabled, !!next.enabled);
43
+ set(enabled, !!(next.enabled ?? next.checked ?? next.value));
44
44
  }));
45
45
  function toggle(event) {
46
46
  if (get(p).disabled)
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  InlineIcon
3
- } from "../chunks/accordion-cw5r75jm.js";
3
+ } from "../chunks/button-xv2dz7vn.js";
4
4
  import {
5
5
  append,
6
6
  bindPropStore,
@@ -29,7 +29,7 @@ import {
29
29
  text1 as text,
30
30
  user_derived,
31
31
  user_effect
32
- } from "../chunks/accordion-nw12ytps.js";
32
+ } from "../chunks/button-cr1fhsa7.js";
33
33
 
34
34
  // src/components/entries/table.ts
35
35
  import { register } from "../runtime.js";
@@ -99,11 +99,11 @@ function Table($$anchor, $$props) {
99
99
  var consequent_2 = ($$anchor3) => {
100
100
  var fragment_1 = comment();
101
101
  var node_3 = first_child(fragment_1);
102
- each(node_3, 17, () => readColumns(get(p).columns), index, ($$anchor4, column) => {
102
+ each(node_3, 17, () => readColumns(get(p).columns), index, ($$anchor4, column, index2) => {
103
103
  var td = root_6();
104
104
  var text_2 = child(td, true);
105
105
  reset(td);
106
- template_effect(($0) => set_text(text_2, $0), [() => readCell(get(row), get(column))]);
106
+ template_effect(($0) => set_text(text_2, $0), [() => readCell(get(row), get(column), index2)]);
107
107
  append($$anchor4, td);
108
108
  });
109
109
  append($$anchor3, fragment_1);