slexkit 0.2.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 (221) hide show
  1. package/AGENTS.slexkit.md +29 -0
  2. package/CHANGELOG.md +90 -0
  3. package/LICENSE +21 -0
  4. package/README.md +165 -0
  5. package/README.zh-CN.md +165 -0
  6. package/dist/ai/llms-authoring.txt +44 -0
  7. package/dist/ai/llms-components.txt +669 -0
  8. package/dist/ai/llms-full.txt +6586 -0
  9. package/dist/ai/llms-runtime.txt +1475 -0
  10. package/dist/ai/llms-toolhost.txt +295 -0
  11. package/dist/ai/llms.txt +69 -0
  12. package/dist/ai/slexkit-ai-manifest.json +2922 -0
  13. package/dist/base.css +621 -0
  14. package/dist/chunks/accordion-5f0nvjjm.js +376 -0
  15. package/dist/chunks/accordion-830dw78f.js +221 -0
  16. package/dist/chunks/accordion-cfjyxw93.js +630 -0
  17. package/dist/chunks/accordion-cw5r75jm.js +424 -0
  18. package/dist/chunks/accordion-ehnhpeca.js +492 -0
  19. package/dist/chunks/accordion-hzyrngd6.js +2377 -0
  20. package/dist/chunks/accordion-nw12ytps.js +6823 -0
  21. package/dist/components/accordion.js +163 -0
  22. package/dist/components/badge.js +80 -0
  23. package/dist/components/button.css +114 -0
  24. package/dist/components/button.js +16 -0
  25. package/dist/components/callout.js +154 -0
  26. package/dist/components/card.js +95 -0
  27. package/dist/components/checkbox.js +114 -0
  28. package/dist/components/choice.css +165 -0
  29. package/dist/components/code-block.js +264 -0
  30. package/dist/components/collapsible.js +111 -0
  31. package/dist/components/column.js +49 -0
  32. package/dist/components/content.css +474 -0
  33. package/dist/components/disclosure.css +162 -0
  34. package/dist/components/display.css +259 -0
  35. package/dist/components/divider.js +98 -0
  36. package/dist/components/feedback.css +219 -0
  37. package/dist/components/grid.js +67 -0
  38. package/dist/components/index.js +13364 -0
  39. package/dist/components/input.css +1247 -0
  40. package/dist/components/input.js +384 -0
  41. package/dist/components/link.js +77 -0
  42. package/dist/components/progress.js +111 -0
  43. package/dist/components/radio-group.js +189 -0
  44. package/dist/components/row.js +200 -0
  45. package/dist/components/section.js +161 -0
  46. package/dist/components/select.css +260 -0
  47. package/dist/components/select.js +16 -0
  48. package/dist/components/slider.css +125 -0
  49. package/dist/components/slider.js +175 -0
  50. package/dist/components/specs.js +1090 -0
  51. package/dist/components/stat.js +178 -0
  52. package/dist/components/submit.css +9 -0
  53. package/dist/components/submit.js +77 -0
  54. package/dist/components/switch.css +114 -0
  55. package/dist/components/switch.js +114 -0
  56. package/dist/components/table.js +157 -0
  57. package/dist/components/tabs.css +192 -0
  58. package/dist/components/tabs.js +17 -0
  59. package/dist/components/text-input.css +245 -0
  60. package/dist/components/text.js +50 -0
  61. package/dist/components/toast.js +240 -0
  62. package/dist/components/tooling.css +1009 -0
  63. package/dist/components/tooling.js +48951 -0
  64. package/dist/runtime.cjs +3728 -0
  65. package/dist/runtime.js +3686 -0
  66. package/dist/slexkit.cjs +18539 -0
  67. package/dist/slexkit.css +4776 -0
  68. package/dist/slexkit.js +18497 -0
  69. package/dist/tooling.js +59141 -0
  70. package/dist/types/components/accordion.d.ts +2 -0
  71. package/dist/types/components/badge.d.ts +2 -0
  72. package/dist/types/components/button.d.ts +2 -0
  73. package/dist/types/components/callout.d.ts +2 -0
  74. package/dist/types/components/card.d.ts +2 -0
  75. package/dist/types/components/checkbox.d.ts +2 -0
  76. package/dist/types/components/code-block.d.ts +2 -0
  77. package/dist/types/components/collapsible.d.ts +2 -0
  78. package/dist/types/components/column.d.ts +2 -0
  79. package/dist/types/components/divider.d.ts +2 -0
  80. package/dist/types/components/entries/accordion.d.ts +3 -0
  81. package/dist/types/components/entries/badge.d.ts +3 -0
  82. package/dist/types/components/entries/button.d.ts +3 -0
  83. package/dist/types/components/entries/callout.d.ts +3 -0
  84. package/dist/types/components/entries/card.d.ts +3 -0
  85. package/dist/types/components/entries/checkbox.d.ts +3 -0
  86. package/dist/types/components/entries/code-block.d.ts +3 -0
  87. package/dist/types/components/entries/collapsible.d.ts +3 -0
  88. package/dist/types/components/entries/column.d.ts +3 -0
  89. package/dist/types/components/entries/divider.d.ts +3 -0
  90. package/dist/types/components/entries/grid.d.ts +3 -0
  91. package/dist/types/components/entries/input.d.ts +3 -0
  92. package/dist/types/components/entries/link.d.ts +3 -0
  93. package/dist/types/components/entries/progress.d.ts +3 -0
  94. package/dist/types/components/entries/radio-group.d.ts +3 -0
  95. package/dist/types/components/entries/row.d.ts +3 -0
  96. package/dist/types/components/entries/section.d.ts +3 -0
  97. package/dist/types/components/entries/select.d.ts +3 -0
  98. package/dist/types/components/entries/slider.d.ts +3 -0
  99. package/dist/types/components/entries/specs.d.ts +1 -0
  100. package/dist/types/components/entries/stat.d.ts +3 -0
  101. package/dist/types/components/entries/submit.d.ts +3 -0
  102. package/dist/types/components/entries/switch.d.ts +3 -0
  103. package/dist/types/components/entries/table.d.ts +3 -0
  104. package/dist/types/components/entries/tabs.d.ts +3 -0
  105. package/dist/types/components/entries/text.d.ts +3 -0
  106. package/dist/types/components/entries/toast.d.ts +3 -0
  107. package/dist/types/components/entries/tooling.d.ts +1 -0
  108. package/dist/types/components/grid.d.ts +2 -0
  109. package/dist/types/components/index.d.ts +6 -0
  110. package/dist/types/components/input.d.ts +2 -0
  111. package/dist/types/components/link.d.ts +2 -0
  112. package/dist/types/components/progress.d.ts +2 -0
  113. package/dist/types/components/radio-group.d.ts +2 -0
  114. package/dist/types/components/row.d.ts +2 -0
  115. package/dist/types/components/section.d.ts +2 -0
  116. package/dist/types/components/select.d.ts +2 -0
  117. package/dist/types/components/slider.d.ts +2 -0
  118. package/dist/types/components/spec-helpers.d.ts +23 -0
  119. package/dist/types/components/spec-registry.d.ts +12 -0
  120. package/dist/types/components/spec-schema.d.ts +74 -0
  121. package/dist/types/components/specs.d.ts +2 -0
  122. package/dist/types/components/stat.d.ts +2 -0
  123. package/dist/types/components/submit.d.ts +2 -0
  124. package/dist/types/components/svelte/adapter.d.ts +3 -0
  125. package/dist/types/components/svelte/bindProps.d.ts +2 -0
  126. package/dist/types/components/svelte/helpers.d.ts +33 -0
  127. package/dist/types/components/svelte/layout/balancedTiles.d.ts +14 -0
  128. package/dist/types/components/svelte/types.d.ts +12 -0
  129. package/dist/types/components/switch.d.ts +2 -0
  130. package/dist/types/components/table.d.ts +2 -0
  131. package/dist/types/components/tabs.d.ts +2 -0
  132. package/dist/types/components/text.d.ts +2 -0
  133. package/dist/types/components/toast.d.ts +2 -0
  134. package/dist/types/components/tooling.d.ts +2 -0
  135. package/dist/types/components-svelte.d.ts +5 -0
  136. package/dist/types/engine/component-scope.d.ts +14 -0
  137. package/dist/types/engine/component-state.d.ts +9 -0
  138. package/dist/types/engine/diagnostics.d.ts +24 -0
  139. package/dist/types/engine/engineering.d.ts +11 -0
  140. package/dist/types/engine/eval.d.ts +5 -0
  141. package/dist/types/engine/index.d.ts +26 -0
  142. package/dist/types/engine/markdown-runtime.d.ts +33 -0
  143. package/dist/types/engine/merge.d.ts +1 -0
  144. package/dist/types/engine/reactive.d.ts +11 -0
  145. package/dist/types/engine/registry.d.ts +4 -0
  146. package/dist/types/engine/renderer.d.ts +6 -0
  147. package/dist/types/engine/sandbox-runner.d.ts +2 -0
  148. package/dist/types/engine/secure-runtime.d.ts +214 -0
  149. package/dist/types/engine/store.d.ts +12 -0
  150. package/dist/types/engine/types.d.ts +58 -0
  151. package/dist/types/icons/manager.d.ts +17 -0
  152. package/dist/types/icons/phosphor.d.ts +45 -0
  153. package/dist/types/index.d.ts +61 -0
  154. package/dist/types/runtime.d.ts +32 -0
  155. package/dist/types/toolhost/index.d.ts +78 -0
  156. package/dist/types/tooling-umd.d.ts +47 -0
  157. package/dist/types/version.d.ts +8 -0
  158. package/dist/umd/slexkit.tooling.umd.js +66553 -0
  159. package/dist/umd/slexkit.umd.js +18552 -0
  160. package/package.json +136 -0
  161. package/scripts/cli.mjs +47 -0
  162. package/skills/slexkit/SKILL.md +27 -0
  163. package/skills/slexkit-author/SKILL.md +50 -0
  164. package/skills/slexkit-host-integration/SKILL.md +33 -0
  165. package/skills/slexkit-secure-runtime/SKILL.md +31 -0
  166. package/skills/slexkit-toolhost/SKILL.md +38 -0
  167. package/skills/slexkit-update/SKILL.md +23 -0
  168. package/src/components/svelte/InlineIcon.svelte +66 -0
  169. package/src/components/svelte/adapter.ts +76 -0
  170. package/src/components/svelte/bindProps.ts +9 -0
  171. package/src/components/svelte/content/Badge.svelte +19 -0
  172. package/src/components/svelte/content/Callout.svelte +57 -0
  173. package/src/components/svelte/content/CodeBlock.svelte +130 -0
  174. package/src/components/svelte/content/Divider.svelte +21 -0
  175. package/src/components/svelte/content/Link.svelte +21 -0
  176. package/src/components/svelte/content/Section.svelte +24 -0
  177. package/src/components/svelte/content/Table.svelte +44 -0
  178. package/src/components/svelte/disclosure/Accordion.svelte +100 -0
  179. package/src/components/svelte/disclosure/Collapsible.svelte +45 -0
  180. package/src/components/svelte/display/Stat.svelte +102 -0
  181. package/src/components/svelte/display/Text.svelte +11 -0
  182. package/src/components/svelte/feedback/Progress.svelte +34 -0
  183. package/src/components/svelte/feedback/Toast.svelte +105 -0
  184. package/src/components/svelte/helpers.ts +148 -0
  185. package/src/components/svelte/input/Button.svelte +78 -0
  186. package/src/components/svelte/input/Checkbox.svelte +52 -0
  187. package/src/components/svelte/input/Input.svelte +202 -0
  188. package/src/components/svelte/input/RadioGroup.svelte +71 -0
  189. package/src/components/svelte/input/Select.svelte +220 -0
  190. package/src/components/svelte/input/Slider.svelte +96 -0
  191. package/src/components/svelte/input/Submit.svelte +32 -0
  192. package/src/components/svelte/input/Switch.svelte +53 -0
  193. package/src/components/svelte/input/Tabs.svelte +188 -0
  194. package/src/components/svelte/layout/Card.svelte +17 -0
  195. package/src/components/svelte/layout/Column.svelte +15 -0
  196. package/src/components/svelte/layout/Grid.svelte +26 -0
  197. package/src/components/svelte/layout/Row.svelte +105 -0
  198. package/src/components/svelte/layout/balancedTiles.ts +85 -0
  199. package/src/components/svelte/tooling/CodeMirror.svelte +91 -0
  200. package/src/components/svelte/tooling/Playground.svelte +765 -0
  201. package/src/components/svelte/tooling/PlaygroundMarkdown.svelte +26 -0
  202. package/src/components/svelte/tooling/PlaygroundSlexCode.svelte +76 -0
  203. package/src/components/svelte/types.ts +17 -0
  204. package/src/styles/animation.css +98 -0
  205. package/src/styles/components/button.css +114 -0
  206. package/src/styles/components/choice.css +165 -0
  207. package/src/styles/components/select.css +260 -0
  208. package/src/styles/components/slider.css +125 -0
  209. package/src/styles/components/submit.css +9 -0
  210. package/src/styles/components/switch.css +114 -0
  211. package/src/styles/components/tabs.css +192 -0
  212. package/src/styles/components/text-input.css +245 -0
  213. package/src/styles/content.css +474 -0
  214. package/src/styles/disclosure.css +162 -0
  215. package/src/styles/display.css +259 -0
  216. package/src/styles/entry.css +34 -0
  217. package/src/styles/feedback.css +219 -0
  218. package/src/styles/input.css +8 -0
  219. package/src/styles/layout.css +365 -0
  220. package/src/styles/theme.css +31 -0
  221. package/src/styles/tooling.css +1009 -0
@@ -0,0 +1,384 @@
1
+ import {
2
+ append,
3
+ bindPropStore,
4
+ bind_value,
5
+ bool,
6
+ child,
7
+ createSvelteRenderer,
8
+ delegate,
9
+ delegated,
10
+ emit,
11
+ from_html,
12
+ get,
13
+ if_block,
14
+ pop,
15
+ proxy,
16
+ push,
17
+ remove_input_defaults,
18
+ reset,
19
+ set,
20
+ set_attribute,
21
+ set_text,
22
+ sibling,
23
+ state,
24
+ template_effect,
25
+ text1 as text,
26
+ user_derived,
27
+ user_effect
28
+ } from "../chunks/accordion-nw12ytps.js";
29
+
30
+ // src/components/entries/input.ts
31
+ import { register } from "../runtime.js";
32
+
33
+ // src/engine/engineering.ts
34
+ var NUMBER_RE = /^[+-]?(?:(?:\d+(?:\.\d*)?)|(?:\.\d+))(?:[eE][+-]?\d+)?/;
35
+ var PREFIX_FACTORS = {
36
+ p: 0.000000000001,
37
+ n: 0.000000001,
38
+ u: 0.000001,
39
+ "µ": 0.000001,
40
+ m: 0.001,
41
+ k: 1000,
42
+ K: 1000,
43
+ M: 1e6,
44
+ meg: 1e6,
45
+ G: 1e9,
46
+ T: 1000000000000
47
+ };
48
+ var PREFIXES = ["meg", "p", "n", "u", "µ", "m", "k", "K", "M", "G", "T"];
49
+ function invalid(raw, error) {
50
+ return {
51
+ raw,
52
+ number: null,
53
+ valid: false,
54
+ prefix: "",
55
+ unit: "",
56
+ normalized: "",
57
+ error
58
+ };
59
+ }
60
+ function parseSuffix(suffix) {
61
+ const compact = suffix.trim();
62
+ if (!compact)
63
+ return { prefix: "", unit: "" };
64
+ for (const prefix of PREFIXES) {
65
+ if (prefix === "meg") {
66
+ if (compact.toLowerCase().startsWith("meg")) {
67
+ return { prefix: "meg", unit: compact.slice(3).trim() };
68
+ }
69
+ continue;
70
+ }
71
+ if (compact.startsWith(prefix)) {
72
+ return { prefix, unit: compact.slice(prefix.length).trim() };
73
+ }
74
+ }
75
+ return { prefix: "", unit: compact };
76
+ }
77
+ function parseEngineeringNumber(input) {
78
+ const raw = input == null ? "" : String(input);
79
+ const source = raw.trim();
80
+ if (!source) {
81
+ return {
82
+ raw,
83
+ number: null,
84
+ valid: false,
85
+ prefix: "",
86
+ unit: "",
87
+ normalized: "",
88
+ error: "empty"
89
+ };
90
+ }
91
+ const numberMatch = source.match(NUMBER_RE);
92
+ if (!numberMatch)
93
+ return invalid(raw, "invalid_number");
94
+ const numberText = numberMatch[0];
95
+ const rest = source.slice(numberText.length).trim();
96
+ const base = Number(numberText);
97
+ if (!Number.isFinite(base))
98
+ return invalid(raw, "invalid_number");
99
+ const { prefix, unit } = parseSuffix(rest);
100
+ const multiplier = prefix ? PREFIX_FACTORS[prefix] : 1;
101
+ if (!Number.isFinite(multiplier))
102
+ return invalid(raw, "invalid_prefix");
103
+ const number = base * multiplier;
104
+ if (!Number.isFinite(number))
105
+ return invalid(raw, "out_of_range");
106
+ return {
107
+ raw,
108
+ number,
109
+ valid: true,
110
+ prefix,
111
+ unit,
112
+ normalized: `${number}${unit ? ` ${unit}` : ""}`
113
+ };
114
+ }
115
+
116
+ // src/components/svelte/input/Input.svelte
117
+ var nextInputId = 0;
118
+ var root_1 = from_html(`<label class="slex-input-label"> </label>`);
119
+ var root_2 = from_html(`<span class="slex-input-unit" aria-hidden="true"> </span>`);
120
+ var root_3 = from_html(`<span class="slex-input-controls"><button class="slex-input-step" type="button">-</button> <button class="slex-input-step" type="button">+</button></span>`);
121
+ var root_4 = from_html(`<div class="slex-input-description"> </div>`);
122
+ var root_5 = from_html(`<div class="slex-input-error" role="alert"> </div>`);
123
+ var root = from_html(`<div class="slex-input-field"><!> <div class="slex-input-control"><input class="slex-input"/> <!> <!></div> <!> <!></div>`);
124
+ function Input($$anchor, $$props) {
125
+ push($$props, true);
126
+ const engineeringPrefixFactors = {
127
+ p: 0.000000000001,
128
+ n: 0.000000001,
129
+ u: 0.000001,
130
+ "µ": 0.000001,
131
+ "碌": 0.000001,
132
+ m: 0.001,
133
+ k: 1000,
134
+ K: 1000,
135
+ M: 1e6,
136
+ meg: 1e6,
137
+ G: 1e9,
138
+ T: 1000000000000
139
+ };
140
+ let p = state(proxy({}));
141
+ let value = state("");
142
+ const fallbackId = `slex-input-${++nextInputId}`;
143
+ const labelText = user_derived(() => text(get(p).label));
144
+ const unitText = user_derived(() => text(get(p).unit));
145
+ const descriptionText = user_derived(() => text(get(p).description ?? get(p).help ?? get(p).hint));
146
+ const errorText = user_derived(() => text(get(p).error ?? get(p).errorMessage));
147
+ const disabled = user_derived(() => bool(get(p).disabled));
148
+ const readonly = user_derived(() => bool(get(p).readonly) || bool(get(p).readOnly));
149
+ const required = user_derived(() => bool(get(p).required));
150
+ const invalid2 = user_derived(() => bool(get(p).invalid) || !!get(errorText));
151
+ const steppable = user_derived(isSteppableInput);
152
+ const controls = user_derived(() => get(steppable) && get(p).controls !== false && get(p).controls !== "false");
153
+ const componentId = user_derived(() => safeId($$props.componentName));
154
+ const inputId = user_derived(() => text(get(p).id) || (get(componentId) ? `slex-input-${get(componentId)}` : fallbackId));
155
+ const descriptionId = user_derived(() => `${get(inputId)}-description`);
156
+ const errorId = user_derived(() => `${get(inputId)}-error`);
157
+ const explicitAriaLabel = user_derived(() => text(get(p)["aria-label"] ?? get(p).ariaLabel));
158
+ const computedAriaLabel = user_derived(() => get(explicitAriaLabel) || (get(labelText) ? "" : text(get(p).placeholder)));
159
+ const describedBy = user_derived(() => [
160
+ get(descriptionText) ? get(descriptionId) : "",
161
+ get(errorText) ? get(errorId) : ""
162
+ ].filter(Boolean).join(" "));
163
+ const numericValue = user_derived(readNumericValue);
164
+ const controlLabel = user_derived(() => get(labelText) || text(get(p).placeholder) || $$props.componentName || "input");
165
+ const decrementDisabled = user_derived(() => !canStep(-1));
166
+ const incrementDisabled = user_derived(() => !canStep(1));
167
+ user_effect(() => bindPropStore($$props.props, (next) => {
168
+ set(p, next, true);
169
+ set(value, text(next.value), true);
170
+ }));
171
+ function safeId(value2) {
172
+ return value2.trim().replace(/[^\w-]+/g, "-");
173
+ }
174
+ function inputType() {
175
+ return text(get(p).type, "text") === "engineering" ? "text" : text(get(p).type, "text");
176
+ }
177
+ function isSteppableInput() {
178
+ const kind = text(get(p).type, "text");
179
+ return kind === "number" || kind === "engineering" || get(p).min !== undefined || get(p).max !== undefined || get(p).step !== undefined;
180
+ }
181
+ function numericProp(input) {
182
+ if (input === undefined || input === null || input === "")
183
+ return;
184
+ const next = Number(input);
185
+ return Number.isFinite(next) ? next : undefined;
186
+ }
187
+ function stepSize() {
188
+ const next = numericProp(get(p).step);
189
+ if (next !== undefined && next > 0)
190
+ return next;
191
+ if (text(get(p).type, "text") !== "engineering")
192
+ return 1;
193
+ const parsed = parseEngineeringNumber(get(value));
194
+ if (!parsed.valid || !parsed.prefix)
195
+ return 1;
196
+ return engineeringPrefixFactors[parsed.prefix] ?? 1;
197
+ }
198
+ function readNumericValue() {
199
+ if (text(get(p).type, "text") === "engineering") {
200
+ const parsed = parseEngineeringNumber(get(value));
201
+ return parsed.valid && parsed.number !== null ? parsed.number : null;
202
+ }
203
+ const next = Number(get(value));
204
+ return Number.isFinite(next) ? next : null;
205
+ }
206
+ function clamp(next) {
207
+ const min = numericProp(get(p).min);
208
+ const max = numericProp(get(p).max);
209
+ let clamped = next;
210
+ if (min !== undefined)
211
+ clamped = Math.max(min, clamped);
212
+ if (max !== undefined)
213
+ clamped = Math.min(max, clamped);
214
+ return clamped;
215
+ }
216
+ function canStep(direction) {
217
+ if (!get(controls) || get(disabled) || get(readonly) || get(numericValue) === null)
218
+ return false;
219
+ return clamp(get(numericValue) + direction * stepSize()) !== get(numericValue);
220
+ }
221
+ function formatSteppedValue(next) {
222
+ if (text(get(p).type, "text") !== "engineering")
223
+ return text(next);
224
+ const parsed = parseEngineeringNumber(get(value));
225
+ if (!parsed.valid)
226
+ return text(next);
227
+ const factor = parsed.prefix ? engineeringPrefixFactors[parsed.prefix] : undefined;
228
+ const visibleNumber = factor ? next / factor : next;
229
+ return `${formatNumber(visibleNumber)}${parsed.prefix}${parsed.unit}`;
230
+ }
231
+ function formatNumber(next) {
232
+ return text(Number(next.toPrecision(12)));
233
+ }
234
+ function emitValue(nextValue) {
235
+ set(value, nextValue, true);
236
+ emit($$props.ctx, "change", text(get(p).type, "text") === "engineering" ? parseEngineeringNumber(get(value)) : get(value));
237
+ }
238
+ function stepBy(direction) {
239
+ if (!canStep(direction) || get(numericValue) === null)
240
+ return;
241
+ emitValue(formatSteppedValue(clamp(get(numericValue) + direction * stepSize())));
242
+ }
243
+ function update(event) {
244
+ if (get(disabled) || get(readonly))
245
+ return;
246
+ set(value, event.target.value, true);
247
+ emit($$props.ctx, "change", text(get(p).type, "text") === "engineering" ? parseEngineeringNumber(get(value)) : get(value));
248
+ }
249
+ var div = root();
250
+ var node = child(div);
251
+ {
252
+ var consequent = ($$anchor2) => {
253
+ var label = root_1();
254
+ var text_1 = child(label, true);
255
+ reset(label);
256
+ template_effect(() => {
257
+ set_attribute(label, "for", get(inputId));
258
+ set_text(text_1, get(labelText));
259
+ });
260
+ append($$anchor2, label);
261
+ };
262
+ if_block(node, ($$render) => {
263
+ if (get(labelText))
264
+ $$render(consequent);
265
+ });
266
+ }
267
+ var div_1 = sibling(node, 2);
268
+ var input_1 = child(div_1);
269
+ remove_input_defaults(input_1);
270
+ var node_1 = sibling(input_1, 2);
271
+ {
272
+ var consequent_1 = ($$anchor2) => {
273
+ var span = root_2();
274
+ var text_2 = child(span, true);
275
+ reset(span);
276
+ template_effect(() => set_text(text_2, get(unitText)));
277
+ append($$anchor2, span);
278
+ };
279
+ if_block(node_1, ($$render) => {
280
+ if (get(unitText))
281
+ $$render(consequent_1);
282
+ });
283
+ }
284
+ var node_2 = sibling(node_1, 2);
285
+ {
286
+ var consequent_2 = ($$anchor2) => {
287
+ var span_1 = root_3();
288
+ var button = child(span_1);
289
+ var button_1 = sibling(button, 2);
290
+ reset(span_1);
291
+ template_effect(() => {
292
+ set_attribute(button, "aria-label", `Decrease ${get(controlLabel)}`);
293
+ button.disabled = get(decrementDisabled);
294
+ set_attribute(button_1, "aria-label", `Increase ${get(controlLabel)}`);
295
+ button_1.disabled = get(incrementDisabled);
296
+ });
297
+ delegated("click", button, () => stepBy(-1));
298
+ delegated("click", button_1, () => stepBy(1));
299
+ append($$anchor2, span_1);
300
+ };
301
+ if_block(node_2, ($$render) => {
302
+ if (get(controls))
303
+ $$render(consequent_2);
304
+ });
305
+ }
306
+ reset(div_1);
307
+ var node_3 = sibling(div_1, 2);
308
+ {
309
+ var consequent_3 = ($$anchor2) => {
310
+ var div_2 = root_4();
311
+ var text_3 = child(div_2, true);
312
+ reset(div_2);
313
+ template_effect(() => {
314
+ set_attribute(div_2, "id", get(descriptionId));
315
+ set_text(text_3, get(descriptionText));
316
+ });
317
+ append($$anchor2, div_2);
318
+ };
319
+ if_block(node_3, ($$render) => {
320
+ if (get(descriptionText))
321
+ $$render(consequent_3);
322
+ });
323
+ }
324
+ var node_4 = sibling(node_3, 2);
325
+ {
326
+ var consequent_4 = ($$anchor2) => {
327
+ var div_3 = root_5();
328
+ var text_4 = child(div_3, true);
329
+ reset(div_3);
330
+ template_effect(() => {
331
+ set_attribute(div_3, "id", get(errorId));
332
+ set_text(text_4, get(errorText));
333
+ });
334
+ append($$anchor2, div_3);
335
+ };
336
+ if_block(node_4, ($$render) => {
337
+ if (get(errorText))
338
+ $$render(consequent_4);
339
+ });
340
+ }
341
+ reset(div);
342
+ template_effect(($0, $1, $2, $3, $4, $5, $6) => {
343
+ set_attribute(div, "data-invalid", get(invalid2) ? "true" : undefined);
344
+ set_attribute(div, "data-required", get(required) ? "true" : undefined);
345
+ set_attribute(div, "data-readonly", get(readonly) ? "true" : undefined);
346
+ set_attribute(div_1, "data-has-unit", get(unitText) ? "true" : undefined);
347
+ set_attribute(div_1, "data-has-controls", get(controls) ? "true" : undefined);
348
+ set_attribute(input_1, "id", get(inputId));
349
+ set_attribute(input_1, "type", $0);
350
+ set_attribute(input_1, "inputmode", $1);
351
+ set_attribute(input_1, "name", $2);
352
+ set_attribute(input_1, "placeholder", $3);
353
+ input_1.disabled = get(disabled);
354
+ input_1.readOnly = get(readonly);
355
+ input_1.required = get(required);
356
+ set_attribute(input_1, "min", $4);
357
+ set_attribute(input_1, "max", $5);
358
+ set_attribute(input_1, "step", $6);
359
+ set_attribute(input_1, "aria-label", get(computedAriaLabel) || undefined);
360
+ set_attribute(input_1, "aria-describedby", get(describedBy) || undefined);
361
+ set_attribute(input_1, "aria-invalid", get(invalid2) ? "true" : undefined);
362
+ }, [
363
+ () => inputType(),
364
+ () => text(get(p).type, "text") === "engineering" ? "decimal" : undefined,
365
+ () => text(get(p).name) || undefined,
366
+ () => text(get(p).placeholder),
367
+ () => get(p).min === undefined ? undefined : text(get(p).min),
368
+ () => get(p).max === undefined ? undefined : text(get(p).max),
369
+ () => get(p).step === undefined ? undefined : text(get(p).step)
370
+ ]);
371
+ delegated("input", input_1, update);
372
+ bind_value(input_1, () => get(value), ($$value) => set(value, $$value));
373
+ append($$anchor, div);
374
+ pop();
375
+ }
376
+ delegate(["input", "click"]);
377
+
378
+ // src/components/entries/input.ts
379
+ register("input", createSvelteRenderer("input", Input), { state: "value" });
380
+ var input_default = Input;
381
+ export {
382
+ input_default as default,
383
+ Input
384
+ };
@@ -0,0 +1,77 @@
1
+ import {
2
+ InlineIcon
3
+ } from "../chunks/accordion-cw5r75jm.js";
4
+ import {
5
+ append,
6
+ bindPropStore,
7
+ child,
8
+ createSvelteRenderer,
9
+ from_html,
10
+ get,
11
+ if_block,
12
+ pop,
13
+ proxy,
14
+ push,
15
+ reset,
16
+ set,
17
+ set_attribute,
18
+ set_text,
19
+ sibling,
20
+ state,
21
+ template_effect,
22
+ text1 as text,
23
+ user_effect
24
+ } from "../chunks/accordion-nw12ytps.js";
25
+
26
+ // src/components/entries/link.ts
27
+ import { register } from "../runtime.js";
28
+
29
+ // src/components/svelte/content/Link.svelte
30
+ var root = from_html(`<a class="slex-link"><!> <span> </span></a>`);
31
+ function Link($$anchor, $$props) {
32
+ push($$props, true);
33
+ let p = state(proxy({}));
34
+ user_effect(() => bindPropStore($$props.props, (next) => set(p, next, true)));
35
+ var a = root();
36
+ var node = child(a);
37
+ {
38
+ var consequent = ($$anchor2) => {
39
+ InlineIcon($$anchor2, {
40
+ get name() {
41
+ return get(p).icon;
42
+ },
43
+ className: "slex-link-icon"
44
+ });
45
+ };
46
+ if_block(node, ($$render) => {
47
+ if (get(p).icon)
48
+ $$render(consequent);
49
+ });
50
+ }
51
+ var span = sibling(node, 2);
52
+ var text_1 = child(span, true);
53
+ reset(span);
54
+ reset(a);
55
+ template_effect(($0, $1, $2, $3) => {
56
+ set_attribute(a, "data-variant", $0);
57
+ set_attribute(a, "href", $1);
58
+ set_attribute(a, "target", $2);
59
+ set_attribute(a, "rel", get(p).target === "_blank" ? "noreferrer" : undefined);
60
+ set_text(text_1, $3);
61
+ }, [
62
+ () => text(get(p).variant),
63
+ () => text(get(p).href, "#"),
64
+ () => text(get(p).target) || undefined,
65
+ () => text(get(p).text ?? get(p).label ?? get(p).content ?? get(p).href)
66
+ ]);
67
+ append($$anchor, a);
68
+ pop();
69
+ }
70
+
71
+ // src/components/entries/link.ts
72
+ register("link", createSvelteRenderer("link", Link), { state: "readable" });
73
+ var link_default = Link;
74
+ export {
75
+ link_default as default,
76
+ Link
77
+ };
@@ -0,0 +1,111 @@
1
+ import {
2
+ InlineIcon
3
+ } from "../chunks/accordion-cw5r75jm.js";
4
+ import {
5
+ append,
6
+ bindPropStore,
7
+ child,
8
+ createSvelteRenderer,
9
+ from_html,
10
+ get,
11
+ if_block,
12
+ pop,
13
+ proxy,
14
+ push,
15
+ reset,
16
+ set,
17
+ set_attribute,
18
+ set_style,
19
+ set_text,
20
+ sibling,
21
+ state,
22
+ template_effect,
23
+ text1 as text,
24
+ user_effect
25
+ } from "../chunks/accordion-nw12ytps.js";
26
+
27
+ // src/components/entries/progress.ts
28
+ import { register } from "../runtime.js";
29
+
30
+ // src/components/svelte/feedback/Progress.svelte
31
+ var root_3 = from_html(`<span> </span>`);
32
+ var root_1 = from_html(`<div class="slex-progress-label"><!> <!></div>`);
33
+ var root = from_html(`<div class="slex-progress" data-scope="progress" role="progressbar"><!> <div class="slex-progress-track"><div class="slex-progress-range"></div></div></div>`);
34
+ function Progress($$anchor, $$props) {
35
+ push($$props, true);
36
+ let p = state(proxy({}));
37
+ user_effect(() => bindPropStore($$props.props, (next) => set(p, next, true)));
38
+ function value() {
39
+ const next = Number(get(p).value ?? 0);
40
+ return Number.isFinite(next) ? Math.min(100, Math.max(0, next)) : 0;
41
+ }
42
+ var div = root();
43
+ var node = child(div);
44
+ {
45
+ var consequent_2 = ($$anchor2) => {
46
+ var div_1 = root_1();
47
+ var node_1 = child(div_1);
48
+ {
49
+ var consequent = ($$anchor3) => {
50
+ InlineIcon($$anchor3, {
51
+ get name() {
52
+ return get(p).icon;
53
+ },
54
+ className: "slex-progress-icon"
55
+ });
56
+ };
57
+ if_block(node_1, ($$render) => {
58
+ if (get(p).icon)
59
+ $$render(consequent);
60
+ });
61
+ }
62
+ var node_2 = sibling(node_1, 2);
63
+ {
64
+ var consequent_1 = ($$anchor3) => {
65
+ var span = root_3();
66
+ var text_1 = child(span, true);
67
+ reset(span);
68
+ template_effect(($0) => set_text(text_1, $0), [() => text(get(p).label)]);
69
+ append($$anchor3, span);
70
+ };
71
+ if_block(node_2, ($$render) => {
72
+ if (get(p).label)
73
+ $$render(consequent_1);
74
+ });
75
+ }
76
+ reset(div_1);
77
+ append($$anchor2, div_1);
78
+ };
79
+ if_block(node, ($$render) => {
80
+ if (get(p).label || get(p).icon)
81
+ $$render(consequent_2);
82
+ });
83
+ }
84
+ var div_2 = sibling(node, 2);
85
+ var div_3 = child(div_2);
86
+ let styles;
87
+ reset(div_2);
88
+ reset(div);
89
+ template_effect(($0, $1, $2) => {
90
+ set_attribute(div, "data-state", get(p).indeterminate ? "indeterminate" : "determinate");
91
+ set_attribute(div, "aria-label", $0);
92
+ set_attribute(div, "aria-valuemin", get(p).indeterminate ? undefined : 0);
93
+ set_attribute(div, "aria-valuemax", get(p).indeterminate ? undefined : 100);
94
+ set_attribute(div, "aria-valuenow", $1);
95
+ styles = set_style(div_3, "", styles, $2);
96
+ }, [
97
+ () => text(get(p)["aria-label"] ?? get(p).ariaLabel ?? get(p).label) || undefined,
98
+ () => get(p).indeterminate ? undefined : value(),
99
+ () => ({ width: `${value()}%` })
100
+ ]);
101
+ append($$anchor, div);
102
+ pop();
103
+ }
104
+
105
+ // src/components/entries/progress.ts
106
+ register("progress", createSvelteRenderer("progress", Progress), { state: "readable" });
107
+ var progress_default = Progress;
108
+ export {
109
+ progress_default as default,
110
+ Progress
111
+ };