slexkit 0.2.0 → 0.3.1

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 (104) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/LICENSE +21 -21
  3. package/README.md +4 -3
  4. package/README.zh-CN.md +4 -3
  5. package/dist/ai/llms-authoring.txt +2 -0
  6. package/dist/ai/llms-capabilities.txt +126 -0
  7. package/dist/ai/llms-components.txt +29 -7
  8. package/dist/ai/llms-full.txt +1909 -153
  9. package/dist/ai/llms-runtime.txt +18 -13
  10. package/dist/ai/llms.txt +22 -1
  11. package/dist/ai/slexkit-ai-manifest.json +717 -62
  12. package/dist/base.css +359 -359
  13. package/dist/chunks/{accordion-cfjyxw93.js → button-53ccjq5p.js} +11 -11
  14. package/dist/chunks/{accordion-nw12ytps.js → button-cr1fhsa7.js} +48 -2
  15. package/dist/chunks/{accordion-5f0nvjjm.js → button-dsftwzvg.js} +4 -3
  16. package/dist/chunks/{accordion-hzyrngd6.js → button-faf563xf.js} +2 -2
  17. package/dist/chunks/{accordion-ehnhpeca.js → button-jxv4c65t.js} +2 -2
  18. package/dist/chunks/{accordion-cw5r75jm.js → button-xv2dz7vn.js} +1 -1
  19. package/dist/chunks/{accordion-830dw78f.js → button-z5yv24ks.js} +2 -2
  20. package/dist/components/accordion.js +2 -2
  21. package/dist/components/badge.js +2 -2
  22. package/dist/components/button.css +101 -101
  23. package/dist/components/button.js +3 -3
  24. package/dist/components/callout.js +4 -4
  25. package/dist/components/card.js +2 -2
  26. package/dist/components/checkbox.js +3 -2
  27. package/dist/components/choice.css +151 -151
  28. package/dist/components/code-block.js +2 -2
  29. package/dist/components/collapsible.js +2 -2
  30. package/dist/components/column.js +1 -1
  31. package/dist/components/content.css +273 -250
  32. package/dist/components/display.css +1 -1
  33. package/dist/components/divider.js +2 -2
  34. package/dist/components/grid.js +1 -1
  35. package/dist/components/index.js +13994 -172
  36. package/dist/components/input.css +786 -852
  37. package/dist/components/input.js +34 -144
  38. package/dist/components/link.js +2 -2
  39. package/dist/components/progress.js +2 -2
  40. package/dist/components/radio-group.js +3 -2
  41. package/dist/components/row.js +1 -1
  42. package/dist/components/section.js +2 -2
  43. package/dist/components/select.css +175 -181
  44. package/dist/components/select.js +3 -3
  45. package/dist/components/slider.css +125 -116
  46. package/dist/components/slider.js +2 -2
  47. package/dist/components/specs.js +34 -1
  48. package/dist/components/stat.js +2 -2
  49. package/dist/components/submit.css +8 -8
  50. package/dist/components/submit.js +1 -1
  51. package/dist/components/switch.css +105 -105
  52. package/dist/components/switch.js +4 -3
  53. package/dist/components/table.js +4 -4
  54. package/dist/components/tabs.css +95 -95
  55. package/dist/components/tabs.js +4 -4
  56. package/dist/components/text-input.css +26 -95
  57. package/dist/components/text.js +13 -1
  58. package/dist/components/toast.js +4 -4
  59. package/dist/components/tooling.css +0 -1
  60. package/dist/components/tooling.js +73 -8
  61. package/dist/runtime.cjs +1610 -17
  62. package/dist/runtime.js +1609 -16
  63. package/dist/slexkit.cjs +28191 -13865
  64. package/dist/slexkit.css +1525 -1569
  65. package/dist/slexkit.js +28190 -13864
  66. package/dist/tooling.js +117 -11
  67. package/dist/types/components/svelte/helpers.d.ts +8 -1
  68. package/dist/types/engine/capabilities.d.ts +54 -0
  69. package/dist/types/engine/index.d.ts +6 -0
  70. package/dist/types/engine/secure-runtime.d.ts +9 -1
  71. package/dist/types/engine/stdlib.d.ts +30 -0
  72. package/dist/types/engine/types.d.ts +1 -0
  73. package/dist/types/engine/validation.d.ts +28 -0
  74. package/dist/types/index.d.ts +6 -3
  75. package/dist/types/runtime.d.ts +6 -3
  76. package/dist/types/version.d.ts +2 -2
  77. package/dist/umd/slexkit.tooling.umd.js +45084 -44775
  78. package/dist/umd/slexkit.umd.js +28191 -13865
  79. package/package.json +5 -3
  80. package/skills/slexkit-host-integration/SKILL.md +1 -1
  81. package/src/components/svelte/content/Formula.svelte +27 -0
  82. package/src/components/svelte/content/Table.svelte +1 -1
  83. package/src/components/svelte/display/Text.svelte +14 -1
  84. package/src/components/svelte/helpers.ts +56 -1
  85. package/src/components/svelte/input/Checkbox.svelte +1 -1
  86. package/src/components/svelte/input/Input.svelte +0 -110
  87. package/src/components/svelte/input/RadioGroup.svelte +1 -1
  88. package/src/components/svelte/input/Select.svelte +2 -2
  89. package/src/components/svelte/input/Switch.svelte +2 -2
  90. package/src/components/svelte/input/Tabs.svelte +7 -7
  91. package/src/components/svelte/tooling/PlaygroundMarkdown.svelte +84 -2
  92. package/src/styles/components/button.css +101 -101
  93. package/src/styles/components/choice.css +152 -152
  94. package/src/styles/components/select.css +175 -181
  95. package/src/styles/components/slider.css +125 -116
  96. package/src/styles/components/submit.css +8 -8
  97. package/src/styles/components/switch.css +105 -105
  98. package/src/styles/components/tabs.css +95 -95
  99. package/src/styles/components/text-input.css +26 -95
  100. package/src/styles/content.css +274 -251
  101. package/src/styles/display.css +1 -1
  102. package/src/styles/input.css +8 -8
  103. package/src/styles/layout.css +360 -360
  104. package/src/styles/tooling.css +0 -1
@@ -4,15 +4,16 @@ import {
4
4
  setTabsContext,
5
5
  tv,
6
6
  warnThemeDeprecation
7
- } from "./accordion-hzyrngd6.js";
7
+ } from "./button-faf563xf.js";
8
8
  import {
9
9
  InlineIcon
10
- } from "./accordion-cw5r75jm.js";
10
+ } from "./button-xv2dz7vn.js";
11
11
  import {
12
12
  action,
13
13
  append,
14
14
  attribute_effect,
15
15
  bindPropStore,
16
+ cancelScheduledFrame,
16
17
  child,
17
18
  clsx,
18
19
  clsx_default,
@@ -37,6 +38,7 @@ import {
37
38
  push,
38
39
  reset,
39
40
  rest_props,
41
+ scheduleFrame,
40
42
  set,
41
43
  setContext,
42
44
  set_attribute,
@@ -51,7 +53,7 @@ import {
51
53
  untrack,
52
54
  user_derived,
53
55
  user_effect
54
- } from "./accordion-nw12ytps.js";
56
+ } from "./button-cr1fhsa7.js";
55
57
 
56
58
  // node_modules/.bun/flowbite-svelte@1.33.1+c74efb4fcdd27e5c/node_modules/flowbite-svelte/dist/utils/singleselection.svelte.js
57
59
  var SINGLE_SELECTION_KEY = Symbol("singleton");
@@ -409,14 +411,13 @@ function Tabs2($$anchor, $$props) {
409
411
  };
410
412
  }
411
413
  function annotateTabs(node) {
412
- let raf;
414
+ let frame;
413
415
  let resizeObserver;
414
416
  let indicatorReady = false;
415
417
  function scheduleIndicatorUpdate(list3, selectedTrigger) {
416
- if (raf !== undefined)
417
- cancelAnimationFrame(raf);
418
- raf = requestAnimationFrame(() => {
419
- raf = undefined;
418
+ cancelScheduledFrame($$props.ctx, frame);
419
+ frame = scheduleFrame($$props.ctx, () => {
420
+ frame = undefined;
420
421
  if (!selectedTrigger) {
421
422
  list3.style.setProperty("--slex-tabs-indicator-opacity", "0");
422
423
  return;
@@ -443,7 +444,7 @@ function Tabs2($$anchor, $$props) {
443
444
  list3.style.setProperty("--slex-tabs-indicator-opacity", "1");
444
445
  if (!indicatorReady) {
445
446
  indicatorReady = true;
446
- requestAnimationFrame(() => {
447
+ scheduleFrame($$props.ctx, () => {
447
448
  list3.dataset.indicatorReady = "true";
448
449
  });
449
450
  }
@@ -484,8 +485,7 @@ function Tabs2($$anchor, $$props) {
484
485
  apply();
485
486
  },
486
487
  destroy() {
487
- if (raf !== undefined)
488
- cancelAnimationFrame(raf);
488
+ cancelScheduledFrame($$props.ctx, frame);
489
489
  resizeObserver?.disconnect();
490
490
  }
491
491
  };
@@ -6756,13 +6756,16 @@ function readColumnLabel(column, fallback2) {
6756
6756
  }
6757
6757
  return text2(column, fallback2);
6758
6758
  }
6759
- function readCell(row, column) {
6759
+ function readCell(row, column, index2) {
6760
+ if (Array.isArray(row))
6761
+ return text2(typeof index2 === "number" ? row[index2] : undefined);
6760
6762
  if (row && typeof row === "object")
6761
6763
  return text2(row[column]);
6762
6764
  return text2(row);
6763
6765
  }
6764
6766
  function renderChildren(node, ctx) {
6765
6767
  if (ctx.children && Object.keys(ctx.children).length > 0) {
6768
+ node.replaceChildren();
6766
6769
  ctx.renderTree(ctx.children, node, ctx.forCtx);
6767
6770
  }
6768
6771
  return {
@@ -6774,6 +6777,49 @@ function renderChildren(node, ctx) {
6774
6777
  function emit(ctx, event2, data) {
6775
6778
  ctx.emit(event2, data);
6776
6779
  }
6780
+ function scheduleFrame(ctx, fn) {
6781
+ const handle = { kind: "microtask", canceled: false };
6782
+ const run3 = (time) => {
6783
+ if (!handle.canceled)
6784
+ fn(time);
6785
+ };
6786
+ const apiRaf = ctx.api?.raf;
6787
+ if (typeof apiRaf === "function") {
6788
+ try {
6789
+ handle.kind = "api";
6790
+ handle.id = apiRaf(run3);
6791
+ return handle;
6792
+ } catch {
6793
+ handle.kind = "microtask";
6794
+ handle.id = undefined;
6795
+ }
6796
+ }
6797
+ const ownerWindow = ctx.document.defaultView;
6798
+ if (ownerWindow && typeof ownerWindow.requestAnimationFrame === "function") {
6799
+ try {
6800
+ handle.kind = "native";
6801
+ handle.id = ownerWindow.requestAnimationFrame(run3);
6802
+ return handle;
6803
+ } catch {
6804
+ handle.kind = "microtask";
6805
+ handle.id = undefined;
6806
+ }
6807
+ }
6808
+ queueMicrotask(() => run3());
6809
+ return handle;
6810
+ }
6811
+ function cancelScheduledFrame(ctx, handle) {
6812
+ if (!handle || handle.canceled)
6813
+ return;
6814
+ handle.canceled = true;
6815
+ if (handle.kind === "api" && typeof ctx.api?.cancelRaf === "function") {
6816
+ try {
6817
+ ctx.api.cancelRaf(handle.id);
6818
+ } catch {}
6819
+ } else if (handle.kind === "native" && typeof handle.id === "number") {
6820
+ ctx.document.defaultView?.cancelAnimationFrame(handle.id);
6821
+ }
6822
+ }
6777
6823
  function formatScriptKey(key2) {
6778
6824
  return /^[A-Za-z_$][\w$]*$/.test(key2) ? key2 : JSON.stringify(key2);
6779
6825
  }
@@ -6820,4 +6866,4 @@ function stringifySource(source2) {
6820
6866
  }`;
6821
6867
  }
6822
6868
 
6823
- export { dev_fallback_default, noop, reset, next, enable_legacy_mode_flag, createContext, getContext, setContext, push, pop, user_derived, state, set, proxy, child, first_child, sibling, remove_textarea_child, user_effect, template_effect, get2 as get, untrack, replay_events, event, delegated, delegate, from_html, from_svg, text, comment, append, props_id, set_text, mount, unmount, if_block, index, each, html, snippet, component, transition, element, action, clsx_default, clsx2 as clsx, set_class, set_style, bind_select_value, remove_input_defaults, set_value, set_checked, set_attribute2 as set_attribute, attribute_effect, customizable_select, bind_value, bind_checked, bind_this, rest_props, spread_props, prop, onMount, onDestroy, createSvelteRenderer, bindPropStore, text2 as text1, label, bool, list, rows, readColumns, readColumnLabel, readCell, renderChildren, emit, stringifySource };
6869
+ export { dev_fallback_default, noop, reset, next, enable_legacy_mode_flag, createContext, getContext, setContext, push, pop, user_derived, state, set, proxy, child, first_child, sibling, remove_textarea_child, user_effect, template_effect, get2 as get, untrack, replay_events, event, delegated, delegate, from_html, from_svg, text, comment, append, props_id, set_text, mount, unmount, if_block, index, each, html, snippet, component, transition, element, action, clsx_default, clsx2 as clsx, set_class, set_style, bind_select_value, remove_input_defaults, set_value, set_checked, set_attribute2 as set_attribute, attribute_effect, customizable_select, bind_value, bind_checked, bind_this, rest_props, spread_props, prop, onMount, onDestroy, createSvelteRenderer, bindPropStore, text2 as text1, label, bool, list, rows, readColumns, readColumnLabel, readCell, renderChildren, emit, scheduleFrame, cancelScheduledFrame, stringifySource };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  InlineIcon
3
- } from "./accordion-cw5r75jm.js";
3
+ } from "./button-xv2dz7vn.js";
4
4
  import {
5
5
  append,
6
6
  bindPropStore,
@@ -24,6 +24,7 @@ import {
24
24
  proxy,
25
25
  push,
26
26
  reset,
27
+ scheduleFrame,
27
28
  set,
28
29
  set_attribute,
29
30
  set_class,
@@ -34,7 +35,7 @@ import {
34
35
  text1 as text,
35
36
  user_derived,
36
37
  user_effect
37
- } from "./accordion-nw12ytps.js";
38
+ } from "./button-cr1fhsa7.js";
38
39
 
39
40
  // src/components/svelte/input/Select.svelte
40
41
  var root_3 = from_html(`<span> </span>`);
@@ -129,7 +130,7 @@ function Select($$anchor, $$props) {
129
130
  set(open, false);
130
131
  set(activeIndex, selectedIndex(), true);
131
132
  if (focusTrigger)
132
- requestAnimationFrame(() => get(triggerEl)?.focus());
133
+ scheduleFrame($$props.ctx, () => get(triggerEl)?.focus());
133
134
  }
134
135
  function toggle() {
135
136
  if (get(open))
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createContext,
3
3
  dev_fallback_default
4
- } from "./accordion-nw12ytps.js";
4
+ } from "./button-cr1fhsa7.js";
5
5
 
6
6
  // node_modules/.bun/flowbite-svelte@1.33.1+c74efb4fcdd27e5c/node_modules/flowbite-svelte/dist/context.js
7
7
  function createSafeContext() {
@@ -2374,4 +2374,4 @@ var cnMerge = (...classnames) => {
2374
2374
  };
2375
2375
  var { createTV, tv } = getTailwindVariants(cnMerge);
2376
2376
 
2377
- export { tv, getTabsContext, setTabsContext, getTheme, warnThemeDeprecation };
2377
+ export { getTabsContext, setTabsContext, getTheme, warnThemeDeprecation, tv };
@@ -2,7 +2,7 @@ import {
2
2
  getTheme,
3
3
  tv,
4
4
  warnThemeDeprecation
5
- } from "./accordion-hzyrngd6.js";
5
+ } from "./button-faf563xf.js";
6
6
  import {
7
7
  append,
8
8
  attribute_effect,
@@ -33,7 +33,7 @@ import {
33
33
  transition,
34
34
  untrack,
35
35
  user_derived
36
- } from "./accordion-nw12ytps.js";
36
+ } from "./button-cr1fhsa7.js";
37
37
 
38
38
  // node_modules/.bun/flowbite-svelte@1.33.1+c74efb4fcdd27e5c/node_modules/flowbite-svelte/dist/utils/theme.js
39
39
  var closeButton = tv({
@@ -19,7 +19,7 @@ import {
19
19
  text1 as text,
20
20
  user_derived,
21
21
  user_effect
22
- } from "./accordion-nw12ytps.js";
22
+ } from "./button-cr1fhsa7.js";
23
23
 
24
24
  // svg-raw:@phosphor-icons/core/assets/regular/caret-down.svg
25
25
  var caret_down_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="currentColor"><path d="M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z"/></svg>';
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  InlineIcon,
3
3
  resolveIconWeight
4
- } from "./accordion-cw5r75jm.js";
4
+ } from "./button-xv2dz7vn.js";
5
5
  import {
6
6
  append,
7
7
  bindPropStore,
@@ -30,7 +30,7 @@ import {
30
30
  text1 as text2,
31
31
  user_derived,
32
32
  user_effect
33
- } from "./accordion-nw12ytps.js";
33
+ } from "./button-cr1fhsa7.js";
34
34
 
35
35
  // src/components/svelte/input/Button.svelte
36
36
  var root_3 = from_html(`<span class="slex-sr-only"> </span>`);
@@ -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/accordion.ts
35
35
  import { register } from "../runtime.js";
@@ -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,
@@ -21,7 +21,7 @@ import {
21
21
  template_effect,
22
22
  text1 as text,
23
23
  user_effect
24
- } from "../chunks/accordion-nw12ytps.js";
24
+ } from "../chunks/button-cr1fhsa7.js";
25
25
 
26
26
  // src/components/entries/badge.ts
27
27
  import { register } from "../runtime.js";
@@ -1,104 +1,104 @@
1
- .slex-button {
2
- display: inline-flex;
3
- align-items: center;
4
- justify-content: center;
5
- gap: 0.5rem;
6
- max-width: 100%;
7
- min-width: 0;
8
- padding: 0.5rem 1rem;
9
- border: 1px solid transparent;
10
- border-radius: var(--radius);
11
- font-family: inherit;
12
- font-size: 0.875rem;
13
- font-weight: 500;
14
- line-height: 1.25;
15
- white-space: nowrap;
16
- text-overflow: ellipsis;
17
- overflow: hidden;
18
- cursor: pointer;
19
- user-select: none;
20
- transition:
21
- background 150ms ease,
22
- border-color 150ms ease,
23
- color 150ms ease,
24
- box-shadow 150ms ease,
25
- transform 150ms ease;
26
- }
27
-
28
- .slex-button--primary {
29
- background: var(--primary);
30
- color: var(--primary-foreground);
31
- border-color: var(--primary);
32
- }
33
-
34
- .slex-button--primary:hover:not(:disabled):not(.slex-button--disabled) {
35
- background: color-mix(in oklab, var(--primary) 90%, transparent);
36
- border-color: color-mix(in oklab, var(--primary) 90%, transparent);
37
- color: var(--primary-foreground);
38
- transform: translateY(-1px);
39
- box-shadow: var(--shadow-md);
40
- }
41
-
42
- .slex-button--secondary {
43
- background: var(--secondary);
44
- color: var(--secondary-foreground);
45
- border-color: var(--border);
46
- }
47
-
48
- .slex-button--secondary:hover:not(:disabled):not(.slex-button--disabled) {
49
- background: var(--accent);
50
- color: var(--accent-foreground);
51
- border-color: var(--border);
52
- }
53
-
54
- .slex-button--danger {
55
- background: var(--destructive);
56
- color: var(--destructive-foreground);
57
- border-color: var(--destructive);
58
- }
59
-
60
- .slex-button--danger:hover:not(:disabled):not(.slex-button--disabled) {
61
- background: color-mix(in oklab, var(--destructive) 90%, transparent);
62
- border-color: color-mix(in oklab, var(--destructive) 90%, transparent);
63
- }
64
-
65
- .slex-button--ghost {
66
- background: transparent;
67
- color: var(--muted-foreground);
68
- border-color: transparent;
69
- }
70
-
71
- .slex-button--ghost:hover:not(:disabled):not(.slex-button--disabled) {
72
- background: var(--accent);
73
- color: var(--accent-foreground);
74
- }
75
-
76
- .slex-button:disabled,
77
- .slex-button[disabled],
78
- .slex-button--disabled {
79
- opacity: 0.5;
80
- cursor: not-allowed;
81
- pointer-events: none;
82
- transform: none;
83
- box-shadow: none;
84
- }
85
-
86
- .slex-button:active:not(:disabled):not(.slex-button--disabled) {
87
- transform: translateY(0);
88
- box-shadow: var(--shadow-sm);
89
- }
90
-
91
- .slex-button:focus-visible {
92
- outline: 2px solid var(--ring);
93
- outline-offset: 2px;
94
- }
95
-
96
- .slex-button--icon {
97
- width: var(--slex-control-height, 2.25rem);
98
- min-height: var(--slex-control-height, 2.25rem);
99
- padding-inline: 0;
100
- }
101
-
1
+ .slex-button {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ gap: 0.5rem;
6
+ max-width: 100%;
7
+ min-width: 0;
8
+ padding: 0.5rem 1rem;
9
+ border: 1px solid transparent;
10
+ border-radius: var(--radius);
11
+ font-family: inherit;
12
+ font-size: 0.875rem;
13
+ font-weight: 500;
14
+ line-height: 1.25;
15
+ white-space: nowrap;
16
+ text-overflow: ellipsis;
17
+ overflow: hidden;
18
+ cursor: pointer;
19
+ user-select: none;
20
+ transition:
21
+ background 150ms ease,
22
+ border-color 150ms ease,
23
+ color 150ms ease,
24
+ box-shadow 150ms ease,
25
+ transform 150ms ease;
26
+ }
27
+
28
+ .slex-button--primary {
29
+ background: var(--primary);
30
+ color: var(--primary-foreground);
31
+ border-color: var(--primary);
32
+ }
33
+
34
+ .slex-button--primary:hover:not(:disabled):not(.slex-button--disabled) {
35
+ background: color-mix(in oklab, var(--primary) 90%, transparent);
36
+ border-color: color-mix(in oklab, var(--primary) 90%, transparent);
37
+ color: var(--primary-foreground);
38
+ transform: translateY(-1px);
39
+ box-shadow: var(--shadow-md);
40
+ }
41
+
42
+ .slex-button--secondary {
43
+ background: var(--secondary);
44
+ color: var(--secondary-foreground);
45
+ border-color: var(--border);
46
+ }
47
+
48
+ .slex-button--secondary:hover:not(:disabled):not(.slex-button--disabled) {
49
+ background: var(--accent);
50
+ color: var(--accent-foreground);
51
+ border-color: var(--border);
52
+ }
53
+
54
+ .slex-button--danger {
55
+ background: var(--destructive);
56
+ color: var(--destructive-foreground);
57
+ border-color: var(--destructive);
58
+ }
59
+
60
+ .slex-button--danger:hover:not(:disabled):not(.slex-button--disabled) {
61
+ background: color-mix(in oklab, var(--destructive) 90%, transparent);
62
+ border-color: color-mix(in oklab, var(--destructive) 90%, transparent);
63
+ }
64
+
65
+ .slex-button--ghost {
66
+ background: transparent;
67
+ color: var(--muted-foreground);
68
+ border-color: transparent;
69
+ }
70
+
71
+ .slex-button--ghost:hover:not(:disabled):not(.slex-button--disabled) {
72
+ background: var(--accent);
73
+ color: var(--accent-foreground);
74
+ }
75
+
76
+ .slex-button:disabled,
77
+ .slex-button[disabled],
78
+ .slex-button--disabled {
79
+ opacity: 0.5;
80
+ cursor: not-allowed;
81
+ pointer-events: none;
82
+ transform: none;
83
+ box-shadow: none;
84
+ }
85
+
86
+ .slex-button:active:not(:disabled):not(.slex-button--disabled) {
87
+ transform: translateY(0);
88
+ box-shadow: var(--shadow-sm);
89
+ }
90
+
91
+ .slex-button:focus-visible {
92
+ outline: 2px solid var(--ring);
93
+ outline-offset: 2px;
94
+ }
95
+
96
+ .slex-button--icon {
97
+ width: var(--slex-control-height, 2.25rem);
98
+ min-height: var(--slex-control-height, 2.25rem);
99
+ padding-inline: 0;
100
+ }
101
+
102
102
  .slex-button-icon {
103
103
  display: inline-flex;
104
104
  width: 1.125rem;
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  Button
3
- } from "../chunks/accordion-830dw78f.js";
4
- import"../chunks/accordion-cw5r75jm.js";
3
+ } from "../chunks/button-z5yv24ks.js";
4
+ import"../chunks/button-xv2dz7vn.js";
5
5
  import {
6
6
  createSvelteRenderer
7
- } from "../chunks/accordion-nw12ytps.js";
7
+ } from "../chunks/button-cr1fhsa7.js";
8
8
 
9
9
  // src/components/entries/button.ts
10
10
  import { register } from "../runtime.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  Toast
3
- } from "../chunks/accordion-ehnhpeca.js";
4
- import"../chunks/accordion-hzyrngd6.js";
3
+ } from "../chunks/button-jxv4c65t.js";
4
+ import"../chunks/button-faf563xf.js";
5
5
  import {
6
6
  InlineIcon
7
- } from "../chunks/accordion-cw5r75jm.js";
7
+ } from "../chunks/button-xv2dz7vn.js";
8
8
  import {
9
9
  action,
10
10
  append,
@@ -28,7 +28,7 @@ import {
28
28
  text1 as text,
29
29
  user_derived,
30
30
  user_effect
31
- } from "../chunks/accordion-nw12ytps.js";
31
+ } from "../chunks/button-cr1fhsa7.js";
32
32
 
33
33
  // src/components/entries/callout.ts
34
34
  import { register } from "../runtime.js";
@@ -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
  action,
6
6
  append,
@@ -23,7 +23,7 @@ import {
23
23
  template_effect,
24
24
  text1 as text,
25
25
  user_effect
26
- } from "../chunks/accordion-nw12ytps.js";
26
+ } from "../chunks/button-cr1fhsa7.js";
27
27
 
28
28
  // src/components/entries/card.ts
29
29
  import { register } from "../runtime.js";
@@ -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/checkbox.ts
32
32
  import { register } from "../runtime.js";
@@ -88,6 +88,7 @@ function Checkbox($$anchor, $$props) {
88
88
  reset(label);
89
89
  reset(span);
90
90
  template_effect(($0, $1) => {
91
+ set_attribute(label, "data-disabled", get(p).disabled ? "true" : undefined);
91
92
  input.disabled = !!get(p).disabled;
92
93
  set_attribute(input, "data-state", get(checked) ? "checked" : "unchecked");
93
94
  set_attribute(input, "aria-label", $0);