@seed-ship/mcp-ui-solid 4.0.6 → 4.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 (73) hide show
  1. package/dist/components/AgentCard.cjs +122 -0
  2. package/dist/components/AgentCard.cjs.map +1 -0
  3. package/dist/components/AgentCard.d.ts +20 -0
  4. package/dist/components/AgentCard.d.ts.map +1 -0
  5. package/dist/components/AgentCard.js +122 -0
  6. package/dist/components/AgentCard.js.map +1 -0
  7. package/dist/components/AgentHandoff.cjs +49 -0
  8. package/dist/components/AgentHandoff.cjs.map +1 -0
  9. package/dist/components/AgentHandoff.d.ts +12 -0
  10. package/dist/components/AgentHandoff.d.ts.map +1 -0
  11. package/dist/components/AgentHandoff.js +49 -0
  12. package/dist/components/AgentHandoff.js.map +1 -0
  13. package/dist/components/BriefingDiff.cjs +165 -0
  14. package/dist/components/BriefingDiff.cjs.map +1 -0
  15. package/dist/components/BriefingDiff.d.ts +12 -0
  16. package/dist/components/BriefingDiff.d.ts.map +1 -0
  17. package/dist/components/BriefingDiff.js +165 -0
  18. package/dist/components/BriefingDiff.js.map +1 -0
  19. package/dist/components/FormFieldRenderer.cjs +314 -264
  20. package/dist/components/FormFieldRenderer.cjs.map +1 -1
  21. package/dist/components/FormFieldRenderer.d.ts.map +1 -1
  22. package/dist/components/FormFieldRenderer.js +315 -265
  23. package/dist/components/FormFieldRenderer.js.map +1 -1
  24. package/dist/components/FormRenderer.cjs +74 -17
  25. package/dist/components/FormRenderer.cjs.map +1 -1
  26. package/dist/components/FormRenderer.d.ts.map +1 -1
  27. package/dist/components/FormRenderer.js +76 -19
  28. package/dist/components/FormRenderer.js.map +1 -1
  29. package/dist/components/ScratchpadPanel.cjs +618 -411
  30. package/dist/components/ScratchpadPanel.cjs.map +1 -1
  31. package/dist/components/ScratchpadPanel.d.ts.map +1 -1
  32. package/dist/components/ScratchpadPanel.js +619 -412
  33. package/dist/components/ScratchpadPanel.js.map +1 -1
  34. package/dist/components/SplitStepper.cjs +121 -0
  35. package/dist/components/SplitStepper.cjs.map +1 -0
  36. package/dist/components/SplitStepper.d.ts +12 -0
  37. package/dist/components/SplitStepper.d.ts.map +1 -0
  38. package/dist/components/SplitStepper.js +121 -0
  39. package/dist/components/SplitStepper.js.map +1 -0
  40. package/dist/components/index.d.ts +8 -0
  41. package/dist/components/index.d.ts.map +1 -1
  42. package/dist/components.cjs +9 -0
  43. package/dist/components.cjs.map +1 -1
  44. package/dist/components.d.cts +8 -0
  45. package/dist/components.d.ts +8 -0
  46. package/dist/components.js +9 -0
  47. package/dist/components.js.map +1 -1
  48. package/dist/index.cjs +9 -0
  49. package/dist/index.cjs.map +1 -1
  50. package/dist/index.d.cts +9 -1
  51. package/dist/index.d.ts +9 -1
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +9 -0
  54. package/dist/index.js.map +1 -1
  55. package/dist/types/chat-bus.d.ts +81 -1
  56. package/dist/types/chat-bus.d.ts.map +1 -1
  57. package/dist/types/index.d.ts +15 -0
  58. package/dist/types/index.d.ts.map +1 -1
  59. package/dist/types.d.cts +15 -0
  60. package/dist/types.d.ts +15 -0
  61. package/package.json +1 -1
  62. package/src/components/AgentCard.tsx +109 -0
  63. package/src/components/AgentHandoff.tsx +64 -0
  64. package/src/components/BriefingDiff.tsx +93 -0
  65. package/src/components/FormFieldRenderer.tsx +35 -4
  66. package/src/components/FormRenderer.tsx +74 -4
  67. package/src/components/ScratchpadPanel.tsx +131 -49
  68. package/src/components/SplitStepper.tsx +111 -0
  69. package/src/components/index.ts +13 -0
  70. package/src/index.ts +15 -0
  71. package/src/types/chat-bus.ts +70 -1
  72. package/src/types/index.ts +18 -0
  73. package/tsconfig.tsbuildinfo +1 -1
@@ -1,7 +1,22 @@
1
1
  import { delegateEvents, createComponent, getNextElement, template, getNextMarker, insert, effect, setAttribute, className, memo, setProperty, runHydrationEvents } from "solid-js/web";
2
- import { Show, Switch, Match, For, createSignal, onCleanup } from "solid-js";
2
+ import { createSignal, Show, Switch, Match, For, onCleanup } from "solid-js";
3
3
  import { useConditionalField } from "../hooks/useConditionalField.js";
4
- var _tmpl$ = /* @__PURE__ */ template(`<span class="text-red-500 ml-1"aria-hidden=true>*`), _tmpl$2 = /* @__PURE__ */ template(`<span class="ml-2 text-[10px] font-medium bg-orange-100 dark:bg-orange-900/30 text-orange-600 dark:text-orange-400 px-1.5 py-0.5 rounded">Not supported`), _tmpl$3 = /* @__PURE__ */ template(`<span class="ml-2 text-[10px] font-medium bg-yellow-100 dark:bg-yellow-900/30 text-yellow-600 dark:text-yellow-400 px-1.5 py-0.5 rounded">?`), _tmpl$4 = /* @__PURE__ */ template(`<label><!$><!/><!$><!/><!$><!/><!$><!/>`), _tmpl$5 = /* @__PURE__ */ template(`<input>`), _tmpl$6 = /* @__PURE__ */ template(`<input type=number>`), _tmpl$7 = /* @__PURE__ */ template(`<input type=date>`), _tmpl$8 = /* @__PURE__ */ template(`<textarea>`), _tmpl$9 = /* @__PURE__ */ template(`<option value disabled>`), _tmpl$0 = /* @__PURE__ */ template(`<select><!$><!/><!$><!/>`), _tmpl$1 = /* @__PURE__ */ template(`<label class="flex items-center gap-2 cursor-pointer"><input type=checkbox class="w-4 h-4 rounded border-gray-300 text-blue-600 focus:ring-blue-500 dark:border-gray-600 dark:bg-gray-700"><span class="text-sm text-gray-700 dark:text-gray-300"><!$><!/><!$><!/>`), _tmpl$10 = /* @__PURE__ */ template(`<div class=space-y-2 role=radiogroup>`), _tmpl$11 = /* @__PURE__ */ template(`<div class="flex items-center gap-3"><input type=range class="flex-1 h-2 bg-gray-200 dark:bg-gray-600 rounded-lg appearance-none cursor-pointer accent-blue-600"><span class="text-sm font-mono text-gray-700 dark:text-gray-300 min-w-[3rem] text-right">`), _tmpl$12 = /* @__PURE__ */ template(`<label class="flex items-center gap-2 cursor-pointer"><button type=button role=switch><span></span></button><span class="text-sm text-gray-700 dark:text-gray-300">`), _tmpl$13 = /* @__PURE__ */ template(`<fieldset class="border border-gray-200 dark:border-gray-600 rounded-lg p-3"><legend class="text-xs font-medium text-gray-500 dark:text-gray-400 px-1"></legend><p class="text-xs text-gray-400">`), _tmpl$14 = /* @__PURE__ */ template(`<input type=text>`), _tmpl$15 = /* @__PURE__ */ template(`<p class="text-xs text-amber-500 mt-0.5">Unknown field type: <!$><!/>`), _tmpl$16 = /* @__PURE__ */ template(`<p>`), _tmpl$17 = /* @__PURE__ */ template(`<p class="text-xs text-gray-500 dark:text-gray-400">`), _tmpl$18 = /* @__PURE__ */ template(`<p role=alert class="text-xs text-red-600 dark:text-red-400">`), _tmpl$19 = /* @__PURE__ */ template(`<div class=space-y-1><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/>`), _tmpl$20 = /* @__PURE__ */ template(`<option>`), _tmpl$21 = /* @__PURE__ */ template(`<label class="flex items-center gap-2 cursor-pointer"><input type=radio class="w-4 h-4 border-gray-300 text-blue-600 focus:ring-blue-500 dark:border-gray-600"><span class="text-sm text-gray-700 dark:text-gray-300">`), _tmpl$22 = /* @__PURE__ */ template(`<div class="flex flex-wrap gap-1 mb-1">`), _tmpl$23 = /* @__PURE__ */ template(`<div class="p-2 border-b border-gray-200 dark:border-gray-600 flex-shrink-0"><input type=text placeholder=Filter... class="w-full px-2 py-1 text-sm border border-gray-200 dark:border-gray-600 rounded bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:border-blue-400 outline-none"autofocus>`), _tmpl$24 = /* @__PURE__ */ template(`<p class="px-3 py-2 text-sm text-gray-400">No matches`), _tmpl$25 = /* @__PURE__ */ template(`<div class="absolute z-50 mt-1 w-full bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-md shadow-lg"style=max-height:320px;display:flex;flex-direction:column><!$><!/><div style=overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch><!$><!/><!$><!/>`), _tmpl$26 = /* @__PURE__ */ template(`<div class=relative><!$><!/><button type=button><span></span><svg class="w-4 h-4 text-gray-400"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M19 9l-7 7-7-7"></path></svg></button><!$><!/>`), _tmpl$27 = /* @__PURE__ */ template(`<span class="inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300 rounded-full"><!$><!/><button type=button class="hover:text-blue-900 dark:hover:text-blue-100">&times;`), _tmpl$28 = /* @__PURE__ */ template(`<label class="flex items-center gap-2 px-3 py-2 hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer text-sm"><input type=checkbox class="w-4 h-4 rounded border-gray-300 text-blue-600 focus:ring-blue-500 dark:border-gray-600"><span class="text-gray-900 dark:text-white">`), _tmpl$29 = /* @__PURE__ */ template(`<div class="absolute z-20 mt-1 w-full bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-md shadow-lg max-h-72 overflow-y-auto">`), _tmpl$30 = /* @__PURE__ */ template(`<div class=relative><!$><!/><input type=text autocomplete=off><!$><!/>`), _tmpl$31 = /* @__PURE__ */ template(`<span class="ml-2 text-xs">&#10003;`), _tmpl$32 = /* @__PURE__ */ template(`<button type=button><!$><!/><!$><!/>`), _tmpl$33 = /* @__PURE__ */ template(`<div><!$><!/><input type=text>`);
4
+ var _tmpl$ = /* @__PURE__ */ template(`<span class=mr-1>`), _tmpl$2 = /* @__PURE__ */ template(`<span class="text-red-500 ml-1"aria-hidden=true>*`), _tmpl$3 = /* @__PURE__ */ template(`<span class="ml-2 text-[10px] font-medium bg-orange-100 dark:bg-orange-900/30 text-orange-600 dark:text-orange-400 px-1.5 py-0.5 rounded">Not supported`), _tmpl$4 = /* @__PURE__ */ template(`<span class="ml-2 text-[10px] font-medium bg-yellow-100 dark:bg-yellow-900/30 text-yellow-600 dark:text-yellow-400 px-1.5 py-0.5 rounded">?`), _tmpl$5 = /* @__PURE__ */ template(`<label><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/>`), _tmpl$6 = /* @__PURE__ */ template(`<input>`), _tmpl$7 = /* @__PURE__ */ template(`<input type=number>`), _tmpl$8 = /* @__PURE__ */ template(`<input type=date>`), _tmpl$9 = /* @__PURE__ */ template(`<textarea>`), _tmpl$0 = /* @__PURE__ */ template(`<option value disabled>`), _tmpl$1 = /* @__PURE__ */ template(`<select><!$><!/><!$><!/>`), _tmpl$10 = /* @__PURE__ */ template(`<label class="flex items-center gap-2 cursor-pointer"><input type=checkbox class="w-4 h-4 rounded border-gray-300 text-blue-600 focus:ring-blue-500 dark:border-gray-600 dark:bg-gray-700"><span class="text-sm text-gray-700 dark:text-gray-300"><!$><!/><!$><!/>`), _tmpl$11 = /* @__PURE__ */ template(`<div class=space-y-2 role=radiogroup>`), _tmpl$12 = /* @__PURE__ */ template(`<div class="flex items-center gap-3"><input type=range class="flex-1 h-2 bg-gray-200 dark:bg-gray-600 rounded-lg appearance-none cursor-pointer accent-blue-600"><span class="text-sm font-mono text-gray-700 dark:text-gray-300 min-w-[3rem] text-right">`), _tmpl$13 = /* @__PURE__ */ template(`<label class="flex items-center gap-2 cursor-pointer"><button type=button role=switch><span></span></button><span class="text-sm text-gray-700 dark:text-gray-300">`), _tmpl$14 = /* @__PURE__ */ template(`<fieldset class="border border-gray-200 dark:border-gray-600 rounded-lg p-3"><legend class="text-xs font-medium text-gray-500 dark:text-gray-400 px-1"></legend><p class="text-xs text-gray-400">`), _tmpl$15 = /* @__PURE__ */ template(`<input type=text>`), _tmpl$16 = /* @__PURE__ */ template(`<p class="text-xs text-amber-500 mt-0.5">Unknown field type: <!$><!/>`), _tmpl$17 = /* @__PURE__ */ template(`<p>`), _tmpl$18 = /* @__PURE__ */ template(`<p class="text-xs text-gray-500 dark:text-gray-400">`), _tmpl$19 = /* @__PURE__ */ template(`<p role=alert class="text-xs text-red-600 dark:text-red-400">`), _tmpl$20 = /* @__PURE__ */ template(`<div class=space-y-1><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/>`), _tmpl$21 = /* @__PURE__ */ template(`<option>`), _tmpl$22 = /* @__PURE__ */ template(`<label class="flex items-center gap-2 cursor-pointer"><input type=radio class="w-4 h-4 border-gray-300 text-blue-600 focus:ring-blue-500 dark:border-gray-600"><span class="text-sm text-gray-700 dark:text-gray-300">`), _tmpl$23 = /* @__PURE__ */ template(`<div class="flex flex-wrap gap-1 mb-1">`), _tmpl$24 = /* @__PURE__ */ template(`<div class="p-2 border-b border-gray-200 dark:border-gray-600 flex-shrink-0"><input type=text placeholder=Filter... class="w-full px-2 py-1 text-sm border border-gray-200 dark:border-gray-600 rounded bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:border-blue-400 outline-none"autofocus>`), _tmpl$25 = /* @__PURE__ */ template(`<p class="px-3 py-2 text-sm text-gray-400">No matches`), _tmpl$26 = /* @__PURE__ */ template(`<div class="absolute z-50 mt-1 w-full bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-md shadow-lg"style=max-height:320px;display:flex;flex-direction:column><!$><!/><div style=overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch><!$><!/><!$><!/>`), _tmpl$27 = /* @__PURE__ */ template(`<div class=relative><!$><!/><button type=button><span></span><svg class="w-4 h-4 text-gray-400"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M19 9l-7 7-7-7"></path></svg></button><!$><!/>`), _tmpl$28 = /* @__PURE__ */ template(`<span class="inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300 rounded-full"><!$><!/><button type=button class="hover:text-blue-900 dark:hover:text-blue-100">&times;`), _tmpl$29 = /* @__PURE__ */ template(`<label class="flex items-center gap-2 px-3 py-2 hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer text-sm"><input type=checkbox class="w-4 h-4 rounded border-gray-300 text-blue-600 focus:ring-blue-500 dark:border-gray-600"><span class="text-gray-900 dark:text-white">`), _tmpl$30 = /* @__PURE__ */ template(`<div class="absolute z-20 mt-1 w-full bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-md shadow-lg max-h-72 overflow-y-auto">`), _tmpl$31 = /* @__PURE__ */ template(`<div class=relative><!$><!/><input type=text autocomplete=off><!$><!/>`), _tmpl$32 = /* @__PURE__ */ template(`<span class="ml-2 text-xs">&#10003;`), _tmpl$33 = /* @__PURE__ */ template(`<button type=button><!$><!/><!$><!/>`), _tmpl$34 = /* @__PURE__ */ template(`<div><!$><!/><input type=text>`);
5
+ const SOURCE_BADGES = {
6
+ detected: {
7
+ icon: "✅",
8
+ title: "Detected from message"
9
+ },
10
+ inferred: {
11
+ icon: "🔗",
12
+ title: "Inferred from context"
13
+ },
14
+ user: {
15
+ icon: "✏️",
16
+ title: "Previously provided"
17
+ },
18
+ default: null
19
+ };
5
20
  const FormFieldRenderer = (props) => {
6
21
  const {
7
22
  isVisible
@@ -9,9 +24,18 @@ const FormFieldRenderer = (props) => {
9
24
  condition: props.field.showWhen,
10
25
  formData: props.formData || (() => ({}))
11
26
  });
27
+ const [isMuted, setIsMuted] = createSignal(!!props.field.muted);
28
+ const handleFieldFocus = () => {
29
+ if (isMuted()) setIsMuted(false);
30
+ };
12
31
  const status = () => props.field.fieldStatus || "optional";
13
32
  const isUnsupported = () => status() === "unsupported";
14
33
  const isFieldDisabled = () => props.disabled || isUnsupported();
34
+ const sourceBadge = () => {
35
+ const src = props.field.source;
36
+ if (!src) return null;
37
+ return SOURCE_BADGES[src];
38
+ };
15
39
  const baseInputClass = () => `
16
40
  w-full px-3 py-2 border rounded-md
17
41
  focus:ring-2 focus:ring-blue-500 focus:border-blue-500
@@ -19,6 +43,7 @@ const FormFieldRenderer = (props) => {
19
43
  ${props.error ? "border-red-500 focus:ring-red-500" : "border-gray-300 dark:border-gray-600"}
20
44
  dark:bg-gray-700 dark:text-white
21
45
  ${isUnsupported() ? "opacity-50" : ""}
46
+ ${isMuted() ? "bg-gray-50 dark:bg-gray-700/50 text-gray-500 dark:text-gray-400" : ""}
22
47
  `;
23
48
  const fieldId = () => `field-${props.field.name}`;
24
49
  const errorId = () => `${props.field.name}-error`;
@@ -27,40 +52,53 @@ const FormFieldRenderer = (props) => {
27
52
  return isVisible();
28
53
  },
29
54
  get children() {
30
- var _el$ = getNextElement(_tmpl$19), _el$49 = _el$.firstChild, [_el$50, _co$0] = getNextMarker(_el$49.nextSibling), _el$51 = _el$50.nextSibling, [_el$52, _co$1] = getNextMarker(_el$51.nextSibling), _el$53 = _el$52.nextSibling, [_el$54, _co$10] = getNextMarker(_el$53.nextSibling), _el$55 = _el$54.nextSibling, [_el$56, _co$11] = getNextMarker(_el$55.nextSibling), _el$57 = _el$56.nextSibling, [_el$58, _co$12] = getNextMarker(_el$57.nextSibling);
55
+ var _el$ = getNextElement(_tmpl$20), _el$53 = _el$.firstChild, [_el$54, _co$1] = getNextMarker(_el$53.nextSibling), _el$55 = _el$54.nextSibling, [_el$56, _co$10] = getNextMarker(_el$55.nextSibling), _el$57 = _el$56.nextSibling, [_el$58, _co$11] = getNextMarker(_el$57.nextSibling), _el$59 = _el$58.nextSibling, [_el$60, _co$12] = getNextMarker(_el$59.nextSibling), _el$61 = _el$60.nextSibling, [_el$62, _co$13] = getNextMarker(_el$61.nextSibling), _el$63 = _el$62.nextSibling, [_el$64, _co$14] = getNextMarker(_el$63.nextSibling);
56
+ _el$.$$click = handleFieldFocus;
57
+ _el$.$$focusin = handleFieldFocus;
31
58
  insert(_el$, createComponent(Show, {
32
59
  get when() {
33
60
  return memo(() => !!props.field.label)() && props.field.type !== "checkbox";
34
61
  },
35
62
  get children() {
36
- var _el$2 = getNextElement(_tmpl$4), _el$6 = _el$2.firstChild, [_el$7, _co$] = getNextMarker(_el$6.nextSibling), _el$8 = _el$7.nextSibling, [_el$9, _co$2] = getNextMarker(_el$8.nextSibling), _el$0 = _el$9.nextSibling, [_el$1, _co$3] = getNextMarker(_el$0.nextSibling), _el$10 = _el$1.nextSibling, [_el$11, _co$4] = getNextMarker(_el$10.nextSibling);
37
- insert(_el$2, () => props.field.label, _el$7, _co$);
63
+ var _el$2 = getNextElement(_tmpl$5), _el$7 = _el$2.firstChild, [_el$8, _co$] = getNextMarker(_el$7.nextSibling), _el$9 = _el$8.nextSibling, [_el$0, _co$2] = getNextMarker(_el$9.nextSibling), _el$1 = _el$0.nextSibling, [_el$10, _co$3] = getNextMarker(_el$1.nextSibling), _el$11 = _el$10.nextSibling, [_el$12, _co$4] = getNextMarker(_el$11.nextSibling), _el$13 = _el$12.nextSibling, [_el$14, _co$5] = getNextMarker(_el$13.nextSibling);
64
+ insert(_el$2, createComponent(Show, {
65
+ get when() {
66
+ return sourceBadge();
67
+ },
68
+ get children() {
69
+ var _el$3 = getNextElement(_tmpl$);
70
+ insert(_el$3, () => sourceBadge().icon);
71
+ effect(() => setAttribute(_el$3, "title", sourceBadge().title));
72
+ return _el$3;
73
+ }
74
+ }), _el$8, _co$);
75
+ insert(_el$2, () => props.field.label, _el$0, _co$2);
38
76
  insert(_el$2, createComponent(Show, {
39
77
  get when() {
40
78
  return props.field.required || status() === "required";
41
79
  },
42
80
  get children() {
43
- return getNextElement(_tmpl$);
81
+ return getNextElement(_tmpl$2);
44
82
  }
45
- }), _el$9, _co$2);
83
+ }), _el$10, _co$3);
46
84
  insert(_el$2, createComponent(Show, {
47
85
  get when() {
48
86
  return isUnsupported();
49
87
  },
50
88
  get children() {
51
- return getNextElement(_tmpl$2);
89
+ return getNextElement(_tmpl$3);
52
90
  }
53
- }), _el$1, _co$3);
91
+ }), _el$12, _co$4);
54
92
  insert(_el$2, createComponent(Show, {
55
93
  get when() {
56
94
  return status() === "unknown";
57
95
  },
58
96
  get children() {
59
- return getNextElement(_tmpl$3);
97
+ return getNextElement(_tmpl$4);
60
98
  }
61
- }), _el$11, _co$4);
99
+ }), _el$14, _co$5);
62
100
  effect((_p$) => {
63
- var _v$ = fieldId(), _v$2 = `block text-sm font-medium ${isUnsupported() ? "text-gray-400 dark:text-gray-500" : "text-gray-700 dark:text-gray-300"}`;
101
+ var _v$ = fieldId(), _v$2 = `block text-sm font-medium ${isUnsupported() ? "text-gray-400 dark:text-gray-500" : isMuted() ? "text-gray-400 dark:text-gray-500" : "text-gray-700 dark:text-gray-300"}`;
64
102
  _v$ !== _p$.e && setAttribute(_el$2, "for", _p$.e = _v$);
65
103
  _v$2 !== _p$.t && className(_el$2, _p$.t = _v$2);
66
104
  return _p$;
@@ -70,7 +108,7 @@ const FormFieldRenderer = (props) => {
70
108
  });
71
109
  return _el$2;
72
110
  }
73
- }), _el$50, _co$0);
111
+ }), _el$54, _co$1);
74
112
  insert(_el$, createComponent(Switch, {
75
113
  get children() {
76
114
  return [createComponent(Match, {
@@ -78,22 +116,22 @@ const FormFieldRenderer = (props) => {
78
116
  return props.field.type === "text" || props.field.type === "email" || props.field.type === "password";
79
117
  },
80
118
  get children() {
81
- var _el$12 = getNextElement(_tmpl$5);
82
- _el$12.$$input = (e) => props.onChange(e.currentTarget.value);
119
+ var _el$15 = getNextElement(_tmpl$6);
120
+ _el$15.$$input = (e) => props.onChange(e.currentTarget.value);
83
121
  effect((_p$) => {
84
122
  var _v$3 = fieldId(), _v$4 = props.field.type, _v$5 = props.field.name, _v$6 = props.field.placeholder, _v$7 = props.disabled, _v$8 = props.field.required, _v$9 = props.field.minLength, _v$0 = props.field.maxLength, _v$1 = props.field.pattern, _v$10 = !!props.error, _v$11 = props.error ? errorId() : void 0, _v$12 = baseInputClass();
85
- _v$3 !== _p$.e && setAttribute(_el$12, "id", _p$.e = _v$3);
86
- _v$4 !== _p$.t && setAttribute(_el$12, "type", _p$.t = _v$4);
87
- _v$5 !== _p$.a && setAttribute(_el$12, "name", _p$.a = _v$5);
88
- _v$6 !== _p$.o && setAttribute(_el$12, "placeholder", _p$.o = _v$6);
89
- _v$7 !== _p$.i && setProperty(_el$12, "disabled", _p$.i = _v$7);
90
- _v$8 !== _p$.n && setProperty(_el$12, "required", _p$.n = _v$8);
91
- _v$9 !== _p$.s && setAttribute(_el$12, "minlength", _p$.s = _v$9);
92
- _v$0 !== _p$.h && setAttribute(_el$12, "maxlength", _p$.h = _v$0);
93
- _v$1 !== _p$.r && setAttribute(_el$12, "pattern", _p$.r = _v$1);
94
- _v$10 !== _p$.d && setAttribute(_el$12, "aria-invalid", _p$.d = _v$10);
95
- _v$11 !== _p$.l && setAttribute(_el$12, "aria-describedby", _p$.l = _v$11);
96
- _v$12 !== _p$.u && className(_el$12, _p$.u = _v$12);
123
+ _v$3 !== _p$.e && setAttribute(_el$15, "id", _p$.e = _v$3);
124
+ _v$4 !== _p$.t && setAttribute(_el$15, "type", _p$.t = _v$4);
125
+ _v$5 !== _p$.a && setAttribute(_el$15, "name", _p$.a = _v$5);
126
+ _v$6 !== _p$.o && setAttribute(_el$15, "placeholder", _p$.o = _v$6);
127
+ _v$7 !== _p$.i && setProperty(_el$15, "disabled", _p$.i = _v$7);
128
+ _v$8 !== _p$.n && setProperty(_el$15, "required", _p$.n = _v$8);
129
+ _v$9 !== _p$.s && setAttribute(_el$15, "minlength", _p$.s = _v$9);
130
+ _v$0 !== _p$.h && setAttribute(_el$15, "maxlength", _p$.h = _v$0);
131
+ _v$1 !== _p$.r && setAttribute(_el$15, "pattern", _p$.r = _v$1);
132
+ _v$10 !== _p$.d && setAttribute(_el$15, "aria-invalid", _p$.d = _v$10);
133
+ _v$11 !== _p$.l && setAttribute(_el$15, "aria-describedby", _p$.l = _v$11);
134
+ _v$12 !== _p$.u && className(_el$15, _p$.u = _v$12);
97
135
  return _p$;
98
136
  }, {
99
137
  e: void 0,
@@ -109,30 +147,30 @@ const FormFieldRenderer = (props) => {
109
147
  l: void 0,
110
148
  u: void 0
111
149
  });
112
- effect(() => setProperty(_el$12, "value", props.value || ""));
150
+ effect(() => setProperty(_el$15, "value", props.value || ""));
113
151
  runHydrationEvents();
114
- return _el$12;
152
+ return _el$15;
115
153
  }
116
154
  }), createComponent(Match, {
117
155
  get when() {
118
156
  return props.field.type === "number";
119
157
  },
120
158
  get children() {
121
- var _el$13 = getNextElement(_tmpl$6);
122
- _el$13.$$input = (e) => props.onChange(e.currentTarget.value === "" ? void 0 : Number(e.currentTarget.value));
159
+ var _el$16 = getNextElement(_tmpl$7);
160
+ _el$16.$$input = (e) => props.onChange(e.currentTarget.value === "" ? void 0 : Number(e.currentTarget.value));
123
161
  effect((_p$) => {
124
162
  var _v$13 = fieldId(), _v$14 = props.field.name, _v$15 = props.field.placeholder, _v$16 = props.disabled, _v$17 = props.field.required, _v$18 = props.field.min, _v$19 = props.field.max, _v$20 = props.field.step, _v$21 = !!props.error, _v$22 = props.error ? errorId() : void 0, _v$23 = baseInputClass();
125
- _v$13 !== _p$.e && setAttribute(_el$13, "id", _p$.e = _v$13);
126
- _v$14 !== _p$.t && setAttribute(_el$13, "name", _p$.t = _v$14);
127
- _v$15 !== _p$.a && setAttribute(_el$13, "placeholder", _p$.a = _v$15);
128
- _v$16 !== _p$.o && setProperty(_el$13, "disabled", _p$.o = _v$16);
129
- _v$17 !== _p$.i && setProperty(_el$13, "required", _p$.i = _v$17);
130
- _v$18 !== _p$.n && setAttribute(_el$13, "min", _p$.n = _v$18);
131
- _v$19 !== _p$.s && setAttribute(_el$13, "max", _p$.s = _v$19);
132
- _v$20 !== _p$.h && setAttribute(_el$13, "step", _p$.h = _v$20);
133
- _v$21 !== _p$.r && setAttribute(_el$13, "aria-invalid", _p$.r = _v$21);
134
- _v$22 !== _p$.d && setAttribute(_el$13, "aria-describedby", _p$.d = _v$22);
135
- _v$23 !== _p$.l && className(_el$13, _p$.l = _v$23);
163
+ _v$13 !== _p$.e && setAttribute(_el$16, "id", _p$.e = _v$13);
164
+ _v$14 !== _p$.t && setAttribute(_el$16, "name", _p$.t = _v$14);
165
+ _v$15 !== _p$.a && setAttribute(_el$16, "placeholder", _p$.a = _v$15);
166
+ _v$16 !== _p$.o && setProperty(_el$16, "disabled", _p$.o = _v$16);
167
+ _v$17 !== _p$.i && setProperty(_el$16, "required", _p$.i = _v$17);
168
+ _v$18 !== _p$.n && setAttribute(_el$16, "min", _p$.n = _v$18);
169
+ _v$19 !== _p$.s && setAttribute(_el$16, "max", _p$.s = _v$19);
170
+ _v$20 !== _p$.h && setAttribute(_el$16, "step", _p$.h = _v$20);
171
+ _v$21 !== _p$.r && setAttribute(_el$16, "aria-invalid", _p$.r = _v$21);
172
+ _v$22 !== _p$.d && setAttribute(_el$16, "aria-describedby", _p$.d = _v$22);
173
+ _v$23 !== _p$.l && className(_el$16, _p$.l = _v$23);
136
174
  return _p$;
137
175
  }, {
138
176
  e: void 0,
@@ -147,28 +185,28 @@ const FormFieldRenderer = (props) => {
147
185
  d: void 0,
148
186
  l: void 0
149
187
  });
150
- effect(() => setProperty(_el$13, "value", props.value ?? ""));
188
+ effect(() => setProperty(_el$16, "value", props.value ?? ""));
151
189
  runHydrationEvents();
152
- return _el$13;
190
+ return _el$16;
153
191
  }
154
192
  }), createComponent(Match, {
155
193
  get when() {
156
194
  return props.field.type === "date";
157
195
  },
158
196
  get children() {
159
- var _el$14 = getNextElement(_tmpl$7);
160
- _el$14.$$input = (e) => props.onChange(e.currentTarget.value);
197
+ var _el$17 = getNextElement(_tmpl$8);
198
+ _el$17.$$input = (e) => props.onChange(e.currentTarget.value);
161
199
  effect((_p$) => {
162
200
  var _v$24 = fieldId(), _v$25 = props.field.name, _v$26 = props.disabled, _v$27 = props.field.required, _v$28 = props.field.minDate, _v$29 = props.field.maxDate, _v$30 = !!props.error, _v$31 = props.error ? errorId() : void 0, _v$32 = baseInputClass();
163
- _v$24 !== _p$.e && setAttribute(_el$14, "id", _p$.e = _v$24);
164
- _v$25 !== _p$.t && setAttribute(_el$14, "name", _p$.t = _v$25);
165
- _v$26 !== _p$.a && setProperty(_el$14, "disabled", _p$.a = _v$26);
166
- _v$27 !== _p$.o && setProperty(_el$14, "required", _p$.o = _v$27);
167
- _v$28 !== _p$.i && setAttribute(_el$14, "min", _p$.i = _v$28);
168
- _v$29 !== _p$.n && setAttribute(_el$14, "max", _p$.n = _v$29);
169
- _v$30 !== _p$.s && setAttribute(_el$14, "aria-invalid", _p$.s = _v$30);
170
- _v$31 !== _p$.h && setAttribute(_el$14, "aria-describedby", _p$.h = _v$31);
171
- _v$32 !== _p$.r && className(_el$14, _p$.r = _v$32);
201
+ _v$24 !== _p$.e && setAttribute(_el$17, "id", _p$.e = _v$24);
202
+ _v$25 !== _p$.t && setAttribute(_el$17, "name", _p$.t = _v$25);
203
+ _v$26 !== _p$.a && setProperty(_el$17, "disabled", _p$.a = _v$26);
204
+ _v$27 !== _p$.o && setProperty(_el$17, "required", _p$.o = _v$27);
205
+ _v$28 !== _p$.i && setAttribute(_el$17, "min", _p$.i = _v$28);
206
+ _v$29 !== _p$.n && setAttribute(_el$17, "max", _p$.n = _v$29);
207
+ _v$30 !== _p$.s && setAttribute(_el$17, "aria-invalid", _p$.s = _v$30);
208
+ _v$31 !== _p$.h && setAttribute(_el$17, "aria-describedby", _p$.h = _v$31);
209
+ _v$32 !== _p$.r && className(_el$17, _p$.r = _v$32);
172
210
  return _p$;
173
211
  }, {
174
212
  e: void 0,
@@ -181,30 +219,30 @@ const FormFieldRenderer = (props) => {
181
219
  h: void 0,
182
220
  r: void 0
183
221
  });
184
- effect(() => setProperty(_el$14, "value", props.value || ""));
222
+ effect(() => setProperty(_el$17, "value", props.value || ""));
185
223
  runHydrationEvents();
186
- return _el$14;
224
+ return _el$17;
187
225
  }
188
226
  }), createComponent(Match, {
189
227
  get when() {
190
228
  return props.field.type === "textarea";
191
229
  },
192
230
  get children() {
193
- var _el$15 = getNextElement(_tmpl$8);
194
- _el$15.$$input = (e) => props.onChange(e.currentTarget.value);
231
+ var _el$18 = getNextElement(_tmpl$9);
232
+ _el$18.$$input = (e) => props.onChange(e.currentTarget.value);
195
233
  effect((_p$) => {
196
234
  var _v$33 = fieldId(), _v$34 = props.field.name, _v$35 = props.field.placeholder, _v$36 = props.disabled, _v$37 = props.field.required, _v$38 = props.field.rows || 4, _v$39 = props.field.minLength, _v$40 = props.field.maxLength, _v$41 = !!props.error, _v$42 = props.error ? errorId() : void 0, _v$43 = baseInputClass();
197
- _v$33 !== _p$.e && setAttribute(_el$15, "id", _p$.e = _v$33);
198
- _v$34 !== _p$.t && setAttribute(_el$15, "name", _p$.t = _v$34);
199
- _v$35 !== _p$.a && setAttribute(_el$15, "placeholder", _p$.a = _v$35);
200
- _v$36 !== _p$.o && setProperty(_el$15, "disabled", _p$.o = _v$36);
201
- _v$37 !== _p$.i && setProperty(_el$15, "required", _p$.i = _v$37);
202
- _v$38 !== _p$.n && setAttribute(_el$15, "rows", _p$.n = _v$38);
203
- _v$39 !== _p$.s && setAttribute(_el$15, "minlength", _p$.s = _v$39);
204
- _v$40 !== _p$.h && setAttribute(_el$15, "maxlength", _p$.h = _v$40);
205
- _v$41 !== _p$.r && setAttribute(_el$15, "aria-invalid", _p$.r = _v$41);
206
- _v$42 !== _p$.d && setAttribute(_el$15, "aria-describedby", _p$.d = _v$42);
207
- _v$43 !== _p$.l && className(_el$15, _p$.l = _v$43);
235
+ _v$33 !== _p$.e && setAttribute(_el$18, "id", _p$.e = _v$33);
236
+ _v$34 !== _p$.t && setAttribute(_el$18, "name", _p$.t = _v$34);
237
+ _v$35 !== _p$.a && setAttribute(_el$18, "placeholder", _p$.a = _v$35);
238
+ _v$36 !== _p$.o && setProperty(_el$18, "disabled", _p$.o = _v$36);
239
+ _v$37 !== _p$.i && setProperty(_el$18, "required", _p$.i = _v$37);
240
+ _v$38 !== _p$.n && setAttribute(_el$18, "rows", _p$.n = _v$38);
241
+ _v$39 !== _p$.s && setAttribute(_el$18, "minlength", _p$.s = _v$39);
242
+ _v$40 !== _p$.h && setAttribute(_el$18, "maxlength", _p$.h = _v$40);
243
+ _v$41 !== _p$.r && setAttribute(_el$18, "aria-invalid", _p$.r = _v$41);
244
+ _v$42 !== _p$.d && setAttribute(_el$18, "aria-describedby", _p$.d = _v$42);
245
+ _v$43 !== _p$.l && className(_el$18, _p$.l = _v$43);
208
246
  return _p$;
209
247
  }, {
210
248
  e: void 0,
@@ -219,48 +257,48 @@ const FormFieldRenderer = (props) => {
219
257
  d: void 0,
220
258
  l: void 0
221
259
  });
222
- effect(() => setProperty(_el$15, "value", props.value || ""));
260
+ effect(() => setProperty(_el$18, "value", props.value || ""));
223
261
  runHydrationEvents();
224
- return _el$15;
262
+ return _el$18;
225
263
  }
226
264
  }), createComponent(Match, {
227
265
  get when() {
228
266
  return memo(() => props.field.type === "select")() && !props.field.multiple;
229
267
  },
230
268
  get children() {
231
- var _el$16 = getNextElement(_tmpl$0), _el$18 = _el$16.firstChild, [_el$19, _co$5] = getNextMarker(_el$18.nextSibling), _el$20 = _el$19.nextSibling, [_el$21, _co$6] = getNextMarker(_el$20.nextSibling);
232
- _el$16.addEventListener("change", (e) => props.onChange(e.currentTarget.value));
233
- insert(_el$16, createComponent(Show, {
269
+ var _el$19 = getNextElement(_tmpl$1), _el$21 = _el$19.firstChild, [_el$22, _co$6] = getNextMarker(_el$21.nextSibling), _el$23 = _el$22.nextSibling, [_el$24, _co$7] = getNextMarker(_el$23.nextSibling);
270
+ _el$19.addEventListener("change", (e) => props.onChange(e.currentTarget.value));
271
+ insert(_el$19, createComponent(Show, {
234
272
  get when() {
235
273
  return props.field.placeholder;
236
274
  },
237
275
  get children() {
238
- var _el$17 = getNextElement(_tmpl$9);
239
- insert(_el$17, () => props.field.placeholder);
240
- return _el$17;
276
+ var _el$20 = getNextElement(_tmpl$0);
277
+ insert(_el$20, () => props.field.placeholder);
278
+ return _el$20;
241
279
  }
242
- }), _el$19, _co$5);
243
- insert(_el$16, createComponent(For, {
280
+ }), _el$22, _co$6);
281
+ insert(_el$19, createComponent(For, {
244
282
  get each() {
245
283
  return props.field.options;
246
284
  },
247
285
  children: (option) => (() => {
248
- var _el$59 = getNextElement(_tmpl$20);
249
- insert(_el$59, () => option.label);
250
- effect(() => setProperty(_el$59, "disabled", option.disabled));
251
- effect(() => setProperty(_el$59, "value", option.value));
252
- return _el$59;
286
+ var _el$65 = getNextElement(_tmpl$21);
287
+ insert(_el$65, () => option.label);
288
+ effect(() => setProperty(_el$65, "disabled", option.disabled));
289
+ effect(() => setProperty(_el$65, "value", option.value));
290
+ return _el$65;
253
291
  })()
254
- }), _el$21, _co$6);
292
+ }), _el$24, _co$7);
255
293
  effect((_p$) => {
256
294
  var _v$44 = fieldId(), _v$45 = props.field.name, _v$46 = props.disabled, _v$47 = props.field.required, _v$48 = !!props.error, _v$49 = props.error ? errorId() : void 0, _v$50 = baseInputClass();
257
- _v$44 !== _p$.e && setAttribute(_el$16, "id", _p$.e = _v$44);
258
- _v$45 !== _p$.t && setAttribute(_el$16, "name", _p$.t = _v$45);
259
- _v$46 !== _p$.a && setProperty(_el$16, "disabled", _p$.a = _v$46);
260
- _v$47 !== _p$.o && setProperty(_el$16, "required", _p$.o = _v$47);
261
- _v$48 !== _p$.i && setAttribute(_el$16, "aria-invalid", _p$.i = _v$48);
262
- _v$49 !== _p$.n && setAttribute(_el$16, "aria-describedby", _p$.n = _v$49);
263
- _v$50 !== _p$.s && className(_el$16, _p$.s = _v$50);
295
+ _v$44 !== _p$.e && setAttribute(_el$19, "id", _p$.e = _v$44);
296
+ _v$45 !== _p$.t && setAttribute(_el$19, "name", _p$.t = _v$45);
297
+ _v$46 !== _p$.a && setProperty(_el$19, "disabled", _p$.a = _v$46);
298
+ _v$47 !== _p$.o && setProperty(_el$19, "required", _p$.o = _v$47);
299
+ _v$48 !== _p$.i && setAttribute(_el$19, "aria-invalid", _p$.i = _v$48);
300
+ _v$49 !== _p$.n && setAttribute(_el$19, "aria-describedby", _p$.n = _v$49);
301
+ _v$50 !== _p$.s && className(_el$19, _p$.s = _v$50);
264
302
  return _p$;
265
303
  }, {
266
304
  e: void 0,
@@ -271,32 +309,32 @@ const FormFieldRenderer = (props) => {
271
309
  n: void 0,
272
310
  s: void 0
273
311
  });
274
- effect(() => setProperty(_el$16, "value", props.value || ""));
275
- return _el$16;
312
+ effect(() => setProperty(_el$19, "value", props.value || ""));
313
+ return _el$19;
276
314
  }
277
315
  }), createComponent(Match, {
278
316
  get when() {
279
317
  return props.field.type === "checkbox";
280
318
  },
281
319
  get children() {
282
- var _el$22 = getNextElement(_tmpl$1), _el$23 = _el$22.firstChild, _el$24 = _el$23.nextSibling, _el$26 = _el$24.firstChild, [_el$27, _co$7] = getNextMarker(_el$26.nextSibling), _el$28 = _el$27.nextSibling, [_el$29, _co$8] = getNextMarker(_el$28.nextSibling);
283
- _el$23.addEventListener("change", (e) => props.onChange(e.currentTarget.checked));
284
- insert(_el$24, () => props.field.checkboxLabel || props.field.label, _el$27, _co$7);
285
- insert(_el$24, createComponent(Show, {
320
+ var _el$25 = getNextElement(_tmpl$10), _el$26 = _el$25.firstChild, _el$27 = _el$26.nextSibling, _el$29 = _el$27.firstChild, [_el$30, _co$8] = getNextMarker(_el$29.nextSibling), _el$31 = _el$30.nextSibling, [_el$32, _co$9] = getNextMarker(_el$31.nextSibling);
321
+ _el$26.addEventListener("change", (e) => props.onChange(e.currentTarget.checked));
322
+ insert(_el$27, () => props.field.checkboxLabel || props.field.label, _el$30, _co$8);
323
+ insert(_el$27, createComponent(Show, {
286
324
  get when() {
287
325
  return props.field.required;
288
326
  },
289
327
  get children() {
290
- return getNextElement(_tmpl$);
328
+ return getNextElement(_tmpl$2);
291
329
  }
292
- }), _el$29, _co$8);
330
+ }), _el$32, _co$9);
293
331
  effect((_p$) => {
294
332
  var _v$51 = fieldId(), _v$52 = props.field.name, _v$53 = props.disabled, _v$54 = !!props.error, _v$55 = props.error ? errorId() : void 0;
295
- _v$51 !== _p$.e && setAttribute(_el$23, "id", _p$.e = _v$51);
296
- _v$52 !== _p$.t && setAttribute(_el$23, "name", _p$.t = _v$52);
297
- _v$53 !== _p$.a && setProperty(_el$23, "disabled", _p$.a = _v$53);
298
- _v$54 !== _p$.o && setAttribute(_el$23, "aria-invalid", _p$.o = _v$54);
299
- _v$55 !== _p$.i && setAttribute(_el$23, "aria-describedby", _p$.i = _v$55);
333
+ _v$51 !== _p$.e && setAttribute(_el$26, "id", _p$.e = _v$51);
334
+ _v$52 !== _p$.t && setAttribute(_el$26, "name", _p$.t = _v$52);
335
+ _v$53 !== _p$.a && setProperty(_el$26, "disabled", _p$.a = _v$53);
336
+ _v$54 !== _p$.o && setAttribute(_el$26, "aria-invalid", _p$.o = _v$54);
337
+ _v$55 !== _p$.i && setAttribute(_el$26, "aria-describedby", _p$.i = _v$55);
300
338
  return _p$;
301
339
  }, {
302
340
  e: void 0,
@@ -305,8 +343,8 @@ const FormFieldRenderer = (props) => {
305
343
  o: void 0,
306
344
  i: void 0
307
345
  });
308
- effect(() => setProperty(_el$23, "checked", props.value || false));
309
- return _el$22;
346
+ effect(() => setProperty(_el$26, "checked", props.value || false));
347
+ return _el$25;
310
348
  }
311
349
  }), createComponent(Match, {
312
350
  get when() {
@@ -359,60 +397,60 @@ const FormFieldRenderer = (props) => {
359
397
  return props.field.type === "radio";
360
398
  },
361
399
  get children() {
362
- var _el$30 = getNextElement(_tmpl$10);
363
- insert(_el$30, createComponent(For, {
400
+ var _el$33 = getNextElement(_tmpl$11);
401
+ insert(_el$33, createComponent(For, {
364
402
  get each() {
365
403
  return props.field.options;
366
404
  },
367
405
  children: (option, index) => (() => {
368
- var _el$60 = getNextElement(_tmpl$21), _el$61 = _el$60.firstChild, _el$62 = _el$61.nextSibling;
369
- _el$61.addEventListener("change", () => props.onChange(option.value));
370
- insert(_el$62, () => option.label);
406
+ var _el$66 = getNextElement(_tmpl$22), _el$67 = _el$66.firstChild, _el$68 = _el$67.nextSibling;
407
+ _el$67.addEventListener("change", () => props.onChange(option.value));
408
+ insert(_el$68, () => option.label);
371
409
  effect((_p$) => {
372
410
  var _v$74 = props.field.name, _v$75 = `${fieldId()}-${index()}`, _v$76 = props.disabled || option.disabled;
373
- _v$74 !== _p$.e && setAttribute(_el$61, "name", _p$.e = _v$74);
374
- _v$75 !== _p$.t && setAttribute(_el$61, "id", _p$.t = _v$75);
375
- _v$76 !== _p$.a && setProperty(_el$61, "disabled", _p$.a = _v$76);
411
+ _v$74 !== _p$.e && setAttribute(_el$67, "name", _p$.e = _v$74);
412
+ _v$75 !== _p$.t && setAttribute(_el$67, "id", _p$.t = _v$75);
413
+ _v$76 !== _p$.a && setProperty(_el$67, "disabled", _p$.a = _v$76);
376
414
  return _p$;
377
415
  }, {
378
416
  e: void 0,
379
417
  t: void 0,
380
418
  a: void 0
381
419
  });
382
- effect(() => setProperty(_el$61, "value", option.value));
383
- effect(() => setProperty(_el$61, "checked", props.value === option.value));
384
- return _el$60;
420
+ effect(() => setProperty(_el$67, "value", option.value));
421
+ effect(() => setProperty(_el$67, "checked", props.value === option.value));
422
+ return _el$66;
385
423
  })()
386
424
  }));
387
425
  effect((_p$) => {
388
426
  var _v$56 = props.field.label ? `${fieldId()}-label` : void 0, _v$57 = !!props.error, _v$58 = props.error ? errorId() : void 0;
389
- _v$56 !== _p$.e && setAttribute(_el$30, "aria-labelledby", _p$.e = _v$56);
390
- _v$57 !== _p$.t && setAttribute(_el$30, "aria-invalid", _p$.t = _v$57);
391
- _v$58 !== _p$.a && setAttribute(_el$30, "aria-describedby", _p$.a = _v$58);
427
+ _v$56 !== _p$.e && setAttribute(_el$33, "aria-labelledby", _p$.e = _v$56);
428
+ _v$57 !== _p$.t && setAttribute(_el$33, "aria-invalid", _p$.t = _v$57);
429
+ _v$58 !== _p$.a && setAttribute(_el$33, "aria-describedby", _p$.a = _v$58);
392
430
  return _p$;
393
431
  }, {
394
432
  e: void 0,
395
433
  t: void 0,
396
434
  a: void 0
397
435
  });
398
- return _el$30;
436
+ return _el$33;
399
437
  }
400
438
  }), createComponent(Match, {
401
439
  get when() {
402
440
  return props.field.type === "range";
403
441
  },
404
442
  get children() {
405
- var _el$31 = getNextElement(_tmpl$11), _el$32 = _el$31.firstChild, _el$33 = _el$32.nextSibling;
406
- _el$32.$$input = (e) => props.onChange(Number(e.currentTarget.value));
407
- insert(_el$33, () => props.value ?? props.field.min ?? 0);
443
+ var _el$34 = getNextElement(_tmpl$12), _el$35 = _el$34.firstChild, _el$36 = _el$35.nextSibling;
444
+ _el$35.$$input = (e) => props.onChange(Number(e.currentTarget.value));
445
+ insert(_el$36, () => props.value ?? props.field.min ?? 0);
408
446
  effect((_p$) => {
409
447
  var _v$59 = fieldId(), _v$60 = props.field.name, _v$61 = props.field.min, _v$62 = props.field.max, _v$63 = props.field.step || 1, _v$64 = isFieldDisabled();
410
- _v$59 !== _p$.e && setAttribute(_el$32, "id", _p$.e = _v$59);
411
- _v$60 !== _p$.t && setAttribute(_el$32, "name", _p$.t = _v$60);
412
- _v$61 !== _p$.a && setAttribute(_el$32, "min", _p$.a = _v$61);
413
- _v$62 !== _p$.o && setAttribute(_el$32, "max", _p$.o = _v$62);
414
- _v$63 !== _p$.i && setAttribute(_el$32, "step", _p$.i = _v$63);
415
- _v$64 !== _p$.n && setProperty(_el$32, "disabled", _p$.n = _v$64);
448
+ _v$59 !== _p$.e && setAttribute(_el$35, "id", _p$.e = _v$59);
449
+ _v$60 !== _p$.t && setAttribute(_el$35, "name", _p$.t = _v$60);
450
+ _v$61 !== _p$.a && setAttribute(_el$35, "min", _p$.a = _v$61);
451
+ _v$62 !== _p$.o && setAttribute(_el$35, "max", _p$.o = _v$62);
452
+ _v$63 !== _p$.i && setAttribute(_el$35, "step", _p$.i = _v$63);
453
+ _v$64 !== _p$.n && setProperty(_el$35, "disabled", _p$.n = _v$64);
416
454
  return _p$;
417
455
  }, {
418
456
  e: void 0,
@@ -422,9 +460,9 @@ const FormFieldRenderer = (props) => {
422
460
  i: void 0,
423
461
  n: void 0
424
462
  });
425
- effect(() => setProperty(_el$32, "value", props.value ?? props.field.min ?? 0));
463
+ effect(() => setProperty(_el$35, "value", props.value ?? props.field.min ?? 0));
426
464
  runHydrationEvents();
427
- return _el$31;
465
+ return _el$34;
428
466
  }
429
467
  }), createComponent(Match, {
430
468
  get when() {
@@ -454,15 +492,15 @@ const FormFieldRenderer = (props) => {
454
492
  return props.field.type === "toggle";
455
493
  },
456
494
  get children() {
457
- var _el$34 = getNextElement(_tmpl$12), _el$35 = _el$34.firstChild, _el$36 = _el$35.firstChild, _el$37 = _el$35.nextSibling;
458
- _el$35.$$click = () => props.onChange(!props.value);
459
- insert(_el$37, () => props.field.checkboxLabel || props.field.label);
495
+ var _el$37 = getNextElement(_tmpl$13), _el$38 = _el$37.firstChild, _el$39 = _el$38.firstChild, _el$40 = _el$38.nextSibling;
496
+ _el$38.$$click = () => props.onChange(!props.value);
497
+ insert(_el$40, () => props.field.checkboxLabel || props.field.label);
460
498
  effect((_p$) => {
461
499
  var _v$65 = !!props.value, _v$66 = isFieldDisabled(), _v$67 = `relative inline-flex h-5 w-9 items-center rounded-full transition-colors ${props.value ? "bg-blue-600" : "bg-gray-300 dark:bg-gray-600"} ${isFieldDisabled() ? "opacity-50 cursor-not-allowed" : ""}`, _v$68 = `inline-block h-3.5 w-3.5 transform rounded-full bg-white transition-transform ${props.value ? "translate-x-4" : "translate-x-0.5"}`;
462
- _v$65 !== _p$.e && setAttribute(_el$35, "aria-checked", _p$.e = _v$65);
463
- _v$66 !== _p$.t && setProperty(_el$35, "disabled", _p$.t = _v$66);
464
- _v$67 !== _p$.a && className(_el$35, _p$.a = _v$67);
465
- _v$68 !== _p$.o && className(_el$36, _p$.o = _v$68);
500
+ _v$65 !== _p$.e && setAttribute(_el$38, "aria-checked", _p$.e = _v$65);
501
+ _v$66 !== _p$.t && setProperty(_el$38, "disabled", _p$.t = _v$66);
502
+ _v$67 !== _p$.a && className(_el$38, _p$.a = _v$67);
503
+ _v$68 !== _p$.o && className(_el$39, _p$.o = _v$68);
466
504
  return _p$;
467
505
  }, {
468
506
  e: void 0,
@@ -471,31 +509,31 @@ const FormFieldRenderer = (props) => {
471
509
  o: void 0
472
510
  });
473
511
  runHydrationEvents();
474
- return _el$34;
512
+ return _el$37;
475
513
  }
476
514
  }), createComponent(Match, {
477
515
  get when() {
478
516
  return props.field.type === "fieldset";
479
517
  },
480
518
  get children() {
481
- var _el$38 = getNextElement(_tmpl$13), _el$39 = _el$38.firstChild, _el$40 = _el$39.nextSibling;
482
- insert(_el$39, () => props.field.label);
483
- insert(_el$40, () => props.field.helpText || "Group container");
484
- return _el$38;
519
+ var _el$41 = getNextElement(_tmpl$14), _el$42 = _el$41.firstChild, _el$43 = _el$42.nextSibling;
520
+ insert(_el$42, () => props.field.label);
521
+ insert(_el$43, () => props.field.helpText || "Group container");
522
+ return _el$41;
485
523
  }
486
524
  }), createComponent(Match, {
487
525
  when: true,
488
526
  get children() {
489
527
  return [(() => {
490
- var _el$41 = getNextElement(_tmpl$14);
491
- _el$41.$$input = (e) => props.onChange(e.currentTarget.value);
528
+ var _el$44 = getNextElement(_tmpl$15);
529
+ _el$44.$$input = (e) => props.onChange(e.currentTarget.value);
492
530
  effect((_p$) => {
493
531
  var _v$69 = fieldId(), _v$70 = props.field.name, _v$71 = props.field.placeholder || `(${props.field.type})`, _v$72 = props.disabled, _v$73 = baseInputClass();
494
- _v$69 !== _p$.e && setAttribute(_el$41, "id", _p$.e = _v$69);
495
- _v$70 !== _p$.t && setAttribute(_el$41, "name", _p$.t = _v$70);
496
- _v$71 !== _p$.a && setAttribute(_el$41, "placeholder", _p$.a = _v$71);
497
- _v$72 !== _p$.o && setProperty(_el$41, "disabled", _p$.o = _v$72);
498
- _v$73 !== _p$.i && className(_el$41, _p$.i = _v$73);
532
+ _v$69 !== _p$.e && setAttribute(_el$44, "id", _p$.e = _v$69);
533
+ _v$70 !== _p$.t && setAttribute(_el$44, "name", _p$.t = _v$70);
534
+ _v$71 !== _p$.a && setAttribute(_el$44, "placeholder", _p$.a = _v$71);
535
+ _v$72 !== _p$.o && setProperty(_el$44, "disabled", _p$.o = _v$72);
536
+ _v$73 !== _p$.i && className(_el$44, _p$.i = _v$73);
499
537
  return _p$;
500
538
  }, {
501
539
  e: void 0,
@@ -504,50 +542,62 @@ const FormFieldRenderer = (props) => {
504
542
  o: void 0,
505
543
  i: void 0
506
544
  });
507
- effect(() => setProperty(_el$41, "value", props.value || ""));
545
+ effect(() => setProperty(_el$44, "value", props.value || ""));
508
546
  runHydrationEvents();
509
- return _el$41;
547
+ return _el$44;
510
548
  })(), (() => {
511
- var _el$42 = getNextElement(_tmpl$15), _el$43 = _el$42.firstChild, _el$44 = _el$43.nextSibling, [_el$45, _co$9] = getNextMarker(_el$44.nextSibling);
512
- insert(_el$42, () => props.field.type, _el$45, _co$9);
513
- return _el$42;
549
+ var _el$45 = getNextElement(_tmpl$16), _el$46 = _el$45.firstChild, _el$47 = _el$46.nextSibling, [_el$48, _co$0] = getNextMarker(_el$47.nextSibling);
550
+ insert(_el$45, () => props.field.type, _el$48, _co$0);
551
+ return _el$45;
514
552
  })()];
515
553
  }
516
554
  })];
517
555
  }
518
- }), _el$52, _co$1);
556
+ }), _el$56, _co$10);
519
557
  insert(_el$, createComponent(Show, {
520
558
  get when() {
521
559
  return props.field.statusReason;
522
560
  },
523
561
  get children() {
524
- var _el$46 = getNextElement(_tmpl$16);
525
- insert(_el$46, () => props.field.statusReason);
526
- effect(() => className(_el$46, `text-xs ${isUnsupported() ? "text-orange-500 dark:text-orange-400" : status() === "unknown" ? "text-yellow-500 dark:text-yellow-400" : status() === "required" ? "text-blue-500 dark:text-blue-400" : "text-gray-500 dark:text-gray-400"}`));
527
- return _el$46;
562
+ var _el$49 = getNextElement(_tmpl$17);
563
+ insert(_el$49, () => props.field.statusReason);
564
+ effect(() => className(_el$49, `text-xs ${isUnsupported() ? "text-orange-500 dark:text-orange-400" : status() === "unknown" ? "text-yellow-500 dark:text-yellow-400" : status() === "required" ? "text-blue-500 dark:text-blue-400" : "text-gray-500 dark:text-gray-400"}`));
565
+ return _el$49;
528
566
  }
529
- }), _el$54, _co$10);
567
+ }), _el$58, _co$11);
530
568
  insert(_el$, createComponent(Show, {
531
569
  get when() {
532
- return memo(() => !!(props.field.helpText && !props.error))() && !props.field.statusReason;
570
+ return memo(() => !!props.field.displayHint)() && props.field.prefill != null;
533
571
  },
534
572
  get children() {
535
- var _el$47 = getNextElement(_tmpl$17);
536
- insert(_el$47, () => props.field.helpText);
537
- return _el$47;
573
+ var _el$50 = getNextElement(_tmpl$17);
574
+ insert(_el$50, () => props.field.displayHint);
575
+ effect(() => className(_el$50, `text-xs italic ${isMuted() ? "text-gray-400 dark:text-gray-500" : "text-gray-500 dark:text-gray-400"}`));
576
+ return _el$50;
538
577
  }
539
- }), _el$56, _co$11);
578
+ }), _el$60, _co$12);
579
+ insert(_el$, createComponent(Show, {
580
+ get when() {
581
+ return memo(() => !!(props.field.helpText && !props.error && !props.field.statusReason))() && !props.field.displayHint;
582
+ },
583
+ get children() {
584
+ var _el$51 = getNextElement(_tmpl$18);
585
+ insert(_el$51, () => props.field.helpText);
586
+ return _el$51;
587
+ }
588
+ }), _el$62, _co$13);
540
589
  insert(_el$, createComponent(Show, {
541
590
  get when() {
542
591
  return props.error;
543
592
  },
544
593
  get children() {
545
- var _el$48 = getNextElement(_tmpl$18);
546
- insert(_el$48, () => props.error);
547
- effect(() => setAttribute(_el$48, "id", errorId()));
548
- return _el$48;
594
+ var _el$52 = getNextElement(_tmpl$19);
595
+ insert(_el$52, () => props.error);
596
+ effect(() => setAttribute(_el$52, "id", errorId()));
597
+ return _el$52;
549
598
  }
550
- }), _el$58, _co$12);
599
+ }), _el$64, _co$14);
600
+ runHydrationEvents();
551
601
  return _el$;
552
602
  }
553
603
  });
@@ -576,84 +626,84 @@ const MultiSelectField = (props) => {
576
626
  return (props.field.options || []).filter((o) => o.label.toLowerCase().includes(q) || o.value.toLowerCase().includes(q));
577
627
  };
578
628
  return (() => {
579
- var _el$63 = getNextElement(_tmpl$26), _el$78 = _el$63.firstChild, [_el$79, _co$16] = getNextMarker(_el$78.nextSibling), _el$65 = _el$79.nextSibling, _el$66 = _el$65.firstChild, _el$80 = _el$65.nextSibling, [_el$81, _co$17] = getNextMarker(_el$80.nextSibling);
580
- insert(_el$63, createComponent(Show, {
629
+ var _el$69 = getNextElement(_tmpl$27), _el$84 = _el$69.firstChild, [_el$85, _co$18] = getNextMarker(_el$84.nextSibling), _el$71 = _el$85.nextSibling, _el$72 = _el$71.firstChild, _el$86 = _el$71.nextSibling, [_el$87, _co$19] = getNextMarker(_el$86.nextSibling);
630
+ insert(_el$69, createComponent(Show, {
581
631
  get when() {
582
632
  return props.value.length > 0;
583
633
  },
584
634
  get children() {
585
- var _el$64 = getNextElement(_tmpl$22);
586
- insert(_el$64, createComponent(For, {
635
+ var _el$70 = getNextElement(_tmpl$23);
636
+ insert(_el$70, createComponent(For, {
587
637
  get each() {
588
638
  return props.value;
589
639
  },
590
640
  children: (val) => (() => {
591
- var _el$82 = getNextElement(_tmpl$27), _el$84 = _el$82.firstChild, [_el$85, _co$18] = getNextMarker(_el$84.nextSibling), _el$83 = _el$85.nextSibling;
592
- insert(_el$82, () => getLabel(val), _el$85, _co$18);
593
- _el$83.$$click = () => removeChip(val);
594
- effect(() => setAttribute(_el$83, "aria-label", `Remove ${getLabel(val)}`));
641
+ var _el$88 = getNextElement(_tmpl$28), _el$90 = _el$88.firstChild, [_el$91, _co$20] = getNextMarker(_el$90.nextSibling), _el$89 = _el$91.nextSibling;
642
+ insert(_el$88, () => getLabel(val), _el$91, _co$20);
643
+ _el$89.$$click = () => removeChip(val);
644
+ effect(() => setAttribute(_el$89, "aria-label", `Remove ${getLabel(val)}`));
595
645
  runHydrationEvents();
596
- return _el$82;
646
+ return _el$88;
597
647
  })()
598
648
  }));
599
- return _el$64;
649
+ return _el$70;
600
650
  }
601
- }), _el$79, _co$16);
602
- _el$65.$$click = () => {
651
+ }), _el$85, _co$18);
652
+ _el$71.$$click = () => {
603
653
  setOpen(!open());
604
654
  if (!open()) setFilter("");
605
655
  };
606
- insert(_el$66, (() => {
656
+ insert(_el$72, (() => {
607
657
  var _c$ = memo(() => !!props.value.length);
608
658
  return () => _c$() ? `${props.value.length} selected` : props.field.placeholder || "Select...";
609
659
  })());
610
- insert(_el$63, createComponent(Show, {
660
+ insert(_el$69, createComponent(Show, {
611
661
  get when() {
612
662
  return open();
613
663
  },
614
664
  get children() {
615
- var _el$67 = getNextElement(_tmpl$25), _el$76 = _el$67.firstChild, [_el$77, _co$15] = getNextMarker(_el$76.nextSibling), _el$70 = _el$77.nextSibling, _el$72 = _el$70.firstChild, [_el$73, _co$13] = getNextMarker(_el$72.nextSibling), _el$74 = _el$73.nextSibling, [_el$75, _co$14] = getNextMarker(_el$74.nextSibling);
616
- insert(_el$67, createComponent(Show, {
665
+ var _el$73 = getNextElement(_tmpl$26), _el$82 = _el$73.firstChild, [_el$83, _co$17] = getNextMarker(_el$82.nextSibling), _el$76 = _el$83.nextSibling, _el$78 = _el$76.firstChild, [_el$79, _co$15] = getNextMarker(_el$78.nextSibling), _el$80 = _el$79.nextSibling, [_el$81, _co$16] = getNextMarker(_el$80.nextSibling);
666
+ insert(_el$73, createComponent(Show, {
617
667
  get when() {
618
668
  var _a;
619
669
  return (((_a = props.field.options) == null ? void 0 : _a.length) || 0) > 10;
620
670
  },
621
671
  get children() {
622
- var _el$68 = getNextElement(_tmpl$23), _el$69 = _el$68.firstChild;
623
- _el$69.$$input = (e) => setFilter(e.currentTarget.value);
624
- effect(() => setProperty(_el$69, "value", filter()));
672
+ var _el$74 = getNextElement(_tmpl$24), _el$75 = _el$74.firstChild;
673
+ _el$75.$$input = (e) => setFilter(e.currentTarget.value);
674
+ effect(() => setProperty(_el$75, "value", filter()));
625
675
  runHydrationEvents();
626
- return _el$68;
676
+ return _el$74;
627
677
  }
628
- }), _el$77, _co$15);
629
- insert(_el$70, createComponent(For, {
678
+ }), _el$83, _co$17);
679
+ insert(_el$76, createComponent(For, {
630
680
  get each() {
631
681
  return filteredOptions();
632
682
  },
633
683
  children: (option) => (() => {
634
- var _el$86 = getNextElement(_tmpl$28), _el$87 = _el$86.firstChild, _el$88 = _el$87.nextSibling;
635
- _el$87.addEventListener("change", () => toggle(option.value));
636
- insert(_el$88, () => option.label);
637
- effect(() => setProperty(_el$87, "checked", (props.value || []).includes(option.value)));
638
- return _el$86;
684
+ var _el$92 = getNextElement(_tmpl$29), _el$93 = _el$92.firstChild, _el$94 = _el$93.nextSibling;
685
+ _el$93.addEventListener("change", () => toggle(option.value));
686
+ insert(_el$94, () => option.label);
687
+ effect(() => setProperty(_el$93, "checked", (props.value || []).includes(option.value)));
688
+ return _el$92;
639
689
  })()
640
- }), _el$73, _co$13);
641
- insert(_el$70, createComponent(Show, {
690
+ }), _el$79, _co$15);
691
+ insert(_el$76, createComponent(Show, {
642
692
  get when() {
643
693
  return filteredOptions().length === 0;
644
694
  },
645
695
  get children() {
646
- return getNextElement(_tmpl$24);
696
+ return getNextElement(_tmpl$25);
647
697
  }
648
- }), _el$75, _co$14);
649
- return _el$67;
698
+ }), _el$81, _co$16);
699
+ return _el$73;
650
700
  }
651
- }), _el$81, _co$17);
701
+ }), _el$87, _co$19);
652
702
  effect((_p$) => {
653
703
  var _v$77 = props.disabled, _v$78 = `${props.baseClass} text-left flex items-center justify-between`, _v$79 = props.value.length ? "text-gray-900 dark:text-white" : "text-gray-400";
654
- _v$77 !== _p$.e && setProperty(_el$65, "disabled", _p$.e = _v$77);
655
- _v$78 !== _p$.t && className(_el$65, _p$.t = _v$78);
656
- _v$79 !== _p$.a && className(_el$66, _p$.a = _v$79);
704
+ _v$77 !== _p$.e && setProperty(_el$71, "disabled", _p$.e = _v$77);
705
+ _v$78 !== _p$.t && className(_el$71, _p$.t = _v$78);
706
+ _v$79 !== _p$.a && className(_el$72, _p$.a = _v$79);
657
707
  return _p$;
658
708
  }, {
659
709
  e: void 0,
@@ -661,7 +711,7 @@ const MultiSelectField = (props) => {
661
711
  a: void 0
662
712
  });
663
713
  runHydrationEvents();
664
- return _el$63;
714
+ return _el$69;
665
715
  })();
666
716
  };
667
717
  const AutocompleteField = (props) => {
@@ -747,90 +797,90 @@ const AutocompleteField = (props) => {
747
797
  if (debounceTimer) clearTimeout(debounceTimer);
748
798
  });
749
799
  return (() => {
750
- var _el$89 = getNextElement(_tmpl$30), _el$93 = _el$89.firstChild, [_el$94, _co$19] = getNextMarker(_el$93.nextSibling), _el$91 = _el$94.nextSibling, _el$95 = _el$91.nextSibling, [_el$96, _co$20] = getNextMarker(_el$95.nextSibling);
751
- insert(_el$89, createComponent(Show, {
800
+ var _el$95 = getNextElement(_tmpl$31), _el$99 = _el$95.firstChild, [_el$100, _co$21] = getNextMarker(_el$99.nextSibling), _el$97 = _el$100.nextSibling, _el$101 = _el$97.nextSibling, [_el$102, _co$22] = getNextMarker(_el$101.nextSibling);
801
+ insert(_el$95, createComponent(Show, {
752
802
  get when() {
753
803
  return memo(() => !!isMultiple())() && selectedValues().length > 0;
754
804
  },
755
805
  get children() {
756
- var _el$90 = getNextElement(_tmpl$22);
757
- insert(_el$90, createComponent(For, {
806
+ var _el$96 = getNextElement(_tmpl$23);
807
+ insert(_el$96, createComponent(For, {
758
808
  get each() {
759
809
  return selectedValues();
760
810
  },
761
811
  children: (val) => (() => {
762
- var _el$97 = getNextElement(_tmpl$27), _el$99 = _el$97.firstChild, [_el$100, _co$21] = getNextMarker(_el$99.nextSibling), _el$98 = _el$100.nextSibling;
763
- insert(_el$97, () => getLabel(val), _el$100, _co$21);
764
- _el$98.$$click = () => removeChip(val);
765
- effect(() => setAttribute(_el$98, "aria-label", `Remove ${getLabel(val)}`));
812
+ var _el$103 = getNextElement(_tmpl$28), _el$105 = _el$103.firstChild, [_el$106, _co$23] = getNextMarker(_el$105.nextSibling), _el$104 = _el$106.nextSibling;
813
+ insert(_el$103, () => getLabel(val), _el$106, _co$23);
814
+ _el$104.$$click = () => removeChip(val);
815
+ effect(() => setAttribute(_el$104, "aria-label", `Remove ${getLabel(val)}`));
766
816
  runHydrationEvents();
767
- return _el$97;
817
+ return _el$103;
768
818
  })()
769
819
  }));
770
- return _el$90;
820
+ return _el$96;
771
821
  }
772
- }), _el$94, _co$19);
773
- _el$91.addEventListener("blur", () => setTimeout(() => setIsOpen(false), 200));
774
- _el$91.addEventListener("focus", () => {
822
+ }), _el$100, _co$21);
823
+ _el$97.addEventListener("blur", () => setTimeout(() => setIsOpen(false), 200));
824
+ _el$97.addEventListener("focus", () => {
775
825
  if (suggestions().length) setIsOpen(true);
776
826
  });
777
- _el$91.$$input = (e) => handleInput(e.currentTarget.value);
778
- insert(_el$89, createComponent(Show, {
827
+ _el$97.$$input = (e) => handleInput(e.currentTarget.value);
828
+ insert(_el$95, createComponent(Show, {
779
829
  get when() {
780
830
  return memo(() => !!isOpen())() && suggestions().length > 0;
781
831
  },
782
832
  get children() {
783
- var _el$92 = getNextElement(_tmpl$29);
784
- insert(_el$92, createComponent(For, {
833
+ var _el$98 = getNextElement(_tmpl$30);
834
+ insert(_el$98, createComponent(For, {
785
835
  get each() {
786
836
  return suggestions();
787
837
  },
788
838
  children: (item) => {
789
839
  const isSelected = () => isMultiple() && selectedValues().includes(item.value);
790
840
  return (() => {
791
- var _el$101 = getNextElement(_tmpl$32), _el$103 = _el$101.firstChild, [_el$104, _co$22] = getNextMarker(_el$103.nextSibling), _el$105 = _el$104.nextSibling, [_el$106, _co$23] = getNextMarker(_el$105.nextSibling);
792
- _el$101.$$click = () => selectSuggestion(item);
793
- _el$101.$$mousedown = (e) => e.preventDefault();
794
- insert(_el$101, () => item.label, _el$104, _co$22);
795
- insert(_el$101, createComponent(Show, {
841
+ var _el$107 = getNextElement(_tmpl$33), _el$109 = _el$107.firstChild, [_el$110, _co$24] = getNextMarker(_el$109.nextSibling), _el$111 = _el$110.nextSibling, [_el$112, _co$25] = getNextMarker(_el$111.nextSibling);
842
+ _el$107.$$click = () => selectSuggestion(item);
843
+ _el$107.$$mousedown = (e) => e.preventDefault();
844
+ insert(_el$107, () => item.label, _el$110, _co$24);
845
+ insert(_el$107, createComponent(Show, {
796
846
  get when() {
797
847
  return isSelected();
798
848
  },
799
849
  get children() {
800
- return getNextElement(_tmpl$31);
850
+ return getNextElement(_tmpl$32);
801
851
  }
802
- }), _el$106, _co$23);
852
+ }), _el$112, _co$25);
803
853
  effect((_p$) => {
804
854
  var _v$83 = `w-full text-left px-3 py-2 text-sm hover:bg-blue-50 dark:hover:bg-blue-900/20 ${isSelected() ? "text-blue-600 dark:text-blue-400 bg-blue-50/50 dark:bg-blue-900/10" : "text-gray-900 dark:text-white"}`, _v$84 = isSelected();
805
- _v$83 !== _p$.e && className(_el$101, _p$.e = _v$83);
806
- _v$84 !== _p$.t && setProperty(_el$101, "disabled", _p$.t = _v$84);
855
+ _v$83 !== _p$.e && className(_el$107, _p$.e = _v$83);
856
+ _v$84 !== _p$.t && setProperty(_el$107, "disabled", _p$.t = _v$84);
807
857
  return _p$;
808
858
  }, {
809
859
  e: void 0,
810
860
  t: void 0
811
861
  });
812
862
  runHydrationEvents();
813
- return _el$101;
863
+ return _el$107;
814
864
  })();
815
865
  }
816
866
  }));
817
- return _el$92;
867
+ return _el$98;
818
868
  }
819
- }), _el$96, _co$20);
869
+ }), _el$102, _co$22);
820
870
  effect((_p$) => {
821
871
  var _v$80 = isMultiple() && selectedValues().length ? "Add more..." : props.field.placeholder, _v$81 = props.disabled, _v$82 = props.baseClass;
822
- _v$80 !== _p$.e && setAttribute(_el$91, "placeholder", _p$.e = _v$80);
823
- _v$81 !== _p$.t && setProperty(_el$91, "disabled", _p$.t = _v$81);
824
- _v$82 !== _p$.a && className(_el$91, _p$.a = _v$82);
872
+ _v$80 !== _p$.e && setAttribute(_el$97, "placeholder", _p$.e = _v$80);
873
+ _v$81 !== _p$.t && setProperty(_el$97, "disabled", _p$.t = _v$81);
874
+ _v$82 !== _p$.a && className(_el$97, _p$.a = _v$82);
825
875
  return _p$;
826
876
  }, {
827
877
  e: void 0,
828
878
  t: void 0,
829
879
  a: void 0
830
880
  });
831
- effect(() => setProperty(_el$91, "value", query()));
881
+ effect(() => setProperty(_el$97, "value", query()));
832
882
  runHydrationEvents();
833
- return _el$89;
883
+ return _el$95;
834
884
  })();
835
885
  };
836
886
  const TagsField = (props) => {
@@ -855,49 +905,49 @@ const TagsField = (props) => {
855
905
  }
856
906
  };
857
907
  return (() => {
858
- var _el$107 = getNextElement(_tmpl$33), _el$110 = _el$107.firstChild, [_el$111, _co$24] = getNextMarker(_el$110.nextSibling), _el$109 = _el$111.nextSibling;
859
- insert(_el$107, createComponent(Show, {
908
+ var _el$113 = getNextElement(_tmpl$34), _el$116 = _el$113.firstChild, [_el$117, _co$26] = getNextMarker(_el$116.nextSibling), _el$115 = _el$117.nextSibling;
909
+ insert(_el$113, createComponent(Show, {
860
910
  get when() {
861
911
  return (props.value || []).length > 0;
862
912
  },
863
913
  get children() {
864
- var _el$108 = getNextElement(_tmpl$22);
865
- insert(_el$108, createComponent(For, {
914
+ var _el$114 = getNextElement(_tmpl$23);
915
+ insert(_el$114, createComponent(For, {
866
916
  get each() {
867
917
  return props.value || [];
868
918
  },
869
919
  children: (tag) => (() => {
870
- var _el$112 = getNextElement(_tmpl$27), _el$114 = _el$112.firstChild, [_el$115, _co$25] = getNextMarker(_el$114.nextSibling), _el$113 = _el$115.nextSibling;
871
- insert(_el$112, tag, _el$115, _co$25);
872
- _el$113.$$click = () => removeTag(tag);
873
- setAttribute(_el$113, "aria-label", `Remove ${tag}`);
920
+ var _el$118 = getNextElement(_tmpl$28), _el$120 = _el$118.firstChild, [_el$121, _co$27] = getNextMarker(_el$120.nextSibling), _el$119 = _el$121.nextSibling;
921
+ insert(_el$118, tag, _el$121, _co$27);
922
+ _el$119.$$click = () => removeTag(tag);
923
+ setAttribute(_el$119, "aria-label", `Remove ${tag}`);
874
924
  runHydrationEvents();
875
- return _el$112;
925
+ return _el$118;
876
926
  })()
877
927
  }));
878
- return _el$108;
928
+ return _el$114;
879
929
  }
880
- }), _el$111, _co$24);
881
- _el$109.addEventListener("blur", addTag);
882
- _el$109.$$keydown = handleKeyDown;
883
- _el$109.$$input = (e) => setInput(e.currentTarget.value);
930
+ }), _el$117, _co$26);
931
+ _el$115.addEventListener("blur", addTag);
932
+ _el$115.$$keydown = handleKeyDown;
933
+ _el$115.$$input = (e) => setInput(e.currentTarget.value);
884
934
  effect((_p$) => {
885
935
  var _v$85 = props.placeholder || "Type and press Enter...", _v$86 = props.disabled, _v$87 = props.baseClass;
886
- _v$85 !== _p$.e && setAttribute(_el$109, "placeholder", _p$.e = _v$85);
887
- _v$86 !== _p$.t && setProperty(_el$109, "disabled", _p$.t = _v$86);
888
- _v$87 !== _p$.a && className(_el$109, _p$.a = _v$87);
936
+ _v$85 !== _p$.e && setAttribute(_el$115, "placeholder", _p$.e = _v$85);
937
+ _v$86 !== _p$.t && setProperty(_el$115, "disabled", _p$.t = _v$86);
938
+ _v$87 !== _p$.a && className(_el$115, _p$.a = _v$87);
889
939
  return _p$;
890
940
  }, {
891
941
  e: void 0,
892
942
  t: void 0,
893
943
  a: void 0
894
944
  });
895
- effect(() => setProperty(_el$109, "value", input()));
945
+ effect(() => setProperty(_el$115, "value", input()));
896
946
  runHydrationEvents();
897
- return _el$107;
947
+ return _el$113;
898
948
  })();
899
949
  };
900
- delegateEvents(["input", "click", "mousedown", "keydown"]);
950
+ delegateEvents(["focusin", "click", "input", "mousedown", "keydown"]);
901
951
  export {
902
952
  FormFieldRenderer
903
953
  };