routelit-client 0.5.3 → 0.5.4

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 (31) hide show
  1. package/dist/{checkbox-BxQjAES5.js → checkbox-BBrF5uBm.js} +2 -2
  2. package/dist/{checkbox-BxQjAES5.js.map → checkbox-BBrF5uBm.js.map} +1 -1
  3. package/dist/{checkbox-DeoJkqb1.js → checkbox-C4IYk2ky.js} +1 -1
  4. package/dist/{checkbox-group-Bh9DoRrS.js → checkbox-group-DSLjKCm5.js} +1 -1
  5. package/dist/{checkbox-group-DofQ_lqt.js → checkbox-group-DrpoPDc1.js} +2 -2
  6. package/dist/{checkbox-group-DofQ_lqt.js.map → checkbox-group-DrpoPDc1.js.map} +1 -1
  7. package/dist/{client-EsyBdlcF.js → client-BmYopK6I.js} +49 -26
  8. package/dist/client-BmYopK6I.js.map +1 -0
  9. package/dist/{client-CuG1Umdc.js → client-CVCqXKt7.js} +39 -19
  10. package/dist/{dialog-B46zlf9B.js → dialog-BiMlAuNR.js} +2 -2
  11. package/dist/{dialog-B46zlf9B.js.map → dialog-BiMlAuNR.js.map} +1 -1
  12. package/dist/{dialog-D_TFilPt.js → dialog-Bm32_3dl.js} +1 -1
  13. package/dist/{input-BdALQ4Rq.js → input-BAfvhFFa.js} +2 -2
  14. package/dist/{input-BdALQ4Rq.js.map → input-BAfvhFFa.js.map} +1 -1
  15. package/dist/{input-CLIBrOI5.js → input-C7zwl4Ir.js} +1 -1
  16. package/dist/{radio-DqTirN_E.js → radio-C3XPK4u3.js} +1 -1
  17. package/dist/{radio-BKbbJ19J.js → radio-Dun2pYu5.js} +2 -2
  18. package/dist/{radio-BKbbJ19J.js.map → radio-Dun2pYu5.js.map} +1 -1
  19. package/dist/routelit-client.es.dev.js +1 -1
  20. package/dist/routelit-client.es.js +1 -1
  21. package/dist/routelit-client.umd.dev.js +41 -18
  22. package/dist/routelit-client.umd.dev.js.map +1 -1
  23. package/dist/routelit-client.umd.js +1 -1
  24. package/dist/{select-Cxt1I5Fm.js → select-B-eGFqpU.js} +1 -1
  25. package/dist/{select-CLEp2Krv.js → select-CT25n1Lx.js} +2 -2
  26. package/dist/{select-CLEp2Krv.js.map → select-CT25n1Lx.js.map} +1 -1
  27. package/dist/{textarea-CsytqoAO.js → textarea-DCsk48sa.js} +2 -2
  28. package/dist/{textarea-CsytqoAO.js.map → textarea-DCsk48sa.js.map} +1 -1
  29. package/dist/{textarea-BFnXIMCg.js → textarea-mogObQTI.js} +1 -1
  30. package/package.json +1 -1
  31. package/dist/client-EsyBdlcF.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { memo, useCallback } from "react";
3
- import { b as useFormDispatcherWithAttr } from "./client-EsyBdlcF.js";
3
+ import { b as useFormDispatcherWithAttr } from "./client-BmYopK6I.js";
4
4
  const Checkbox = memo(function Checkbox2({
5
5
  label,
6
6
  id,
@@ -38,4 +38,4 @@ Checkbox.displayName = "Checkbox";
38
38
  export {
39
39
  Checkbox as default
40
40
  };
41
- //# sourceMappingURL=checkbox-BxQjAES5.js.map
41
+ //# sourceMappingURL=checkbox-BBrF5uBm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-BxQjAES5.js","sources":["../src/components/checkbox.tsx"],"sourcesContent":["import { memo, useCallback } from \"react\";\nimport { useFormDispatcherWithAttr } from \"../core/context\";\n\nconst Checkbox = memo(function Checkbox({\n label,\n id,\n required,\n defaultChecked,\n ...props\n}: {\n label: string;\n caption?: string;\n} & Omit<React.InputHTMLAttributes<HTMLInputElement>, \"onChange\">) {\n const dispatchChange = useFormDispatcherWithAttr(id!, \"change\", \"checked\");\n const onChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n dispatchChange(e.target.checked);\n },\n [dispatchChange]\n );\n return (\n <div className=\"rl-form-flex-control\">\n <input\n {...props}\n type=\"checkbox\"\n id={id}\n defaultChecked={defaultChecked}\n onChange={onChange}\n required={required}\n />\n <label htmlFor={id}>\n {label} {required && <span className=\"rl-required\">*</span>}\n </label>\n </div>\n );\n});\n\nCheckbox.displayName = \"Checkbox\";\n\nexport default Checkbox;\n"],"names":["Checkbox"],"mappings":";;;AAGM,MAAA,WAAW,KAAK,SAASA,UAAS;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAGmE;AACjE,QAAM,iBAAiB,0BAA0B,IAAK,UAAU,SAAS;AACzE,QAAM,WAAW;AAAA,IACf,CAAC,MAA2C;AAC3B,qBAAA,EAAE,OAAO,OAAO;AAAA,IACjC;AAAA,IACA,CAAC,cAAc;AAAA,EACjB;AAEE,SAAA,qBAAC,OAAI,EAAA,WAAU,wBACb,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACE,GAAG;AAAA,QACJ,MAAK;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IACF;AAAA,IACA,qBAAC,SAAM,EAAA,SAAS,IACb,UAAA;AAAA,MAAA;AAAA,MAAM;AAAA,MAAE,YAAY,oBAAC,QAAK,EAAA,WAAU,eAAc,UAAC,IAAA,CAAA;AAAA,IAAA,EACtD,CAAA;AAAA,EAAA,GACF;AAEJ,CAAC;AAED,SAAS,cAAc;"}
1
+ {"version":3,"file":"checkbox-BBrF5uBm.js","sources":["../src/components/checkbox.tsx"],"sourcesContent":["import { memo, useCallback } from \"react\";\nimport { useFormDispatcherWithAttr } from \"../core/context\";\n\nconst Checkbox = memo(function Checkbox({\n label,\n id,\n required,\n defaultChecked,\n ...props\n}: {\n label: string;\n caption?: string;\n} & Omit<React.InputHTMLAttributes<HTMLInputElement>, \"onChange\">) {\n const dispatchChange = useFormDispatcherWithAttr(id!, \"change\", \"checked\");\n const onChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n dispatchChange(e.target.checked);\n },\n [dispatchChange]\n );\n return (\n <div className=\"rl-form-flex-control\">\n <input\n {...props}\n type=\"checkbox\"\n id={id}\n defaultChecked={defaultChecked}\n onChange={onChange}\n required={required}\n />\n <label htmlFor={id}>\n {label} {required && <span className=\"rl-required\">*</span>}\n </label>\n </div>\n );\n});\n\nCheckbox.displayName = \"Checkbox\";\n\nexport default Checkbox;\n"],"names":["Checkbox"],"mappings":";;;AAGM,MAAA,WAAW,KAAK,SAASA,UAAS;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAGmE;AACjE,QAAM,iBAAiB,0BAA0B,IAAK,UAAU,SAAS;AACzE,QAAM,WAAW;AAAA,IACf,CAAC,MAA2C;AAC3B,qBAAA,EAAE,OAAO,OAAO;AAAA,IACjC;AAAA,IACA,CAAC,cAAc;AAAA,EACjB;AAEE,SAAA,qBAAC,OAAI,EAAA,WAAU,wBACb,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACE,GAAG;AAAA,QACJ,MAAK;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IACF;AAAA,IACA,qBAAC,SAAM,EAAA,SAAS,IACb,UAAA;AAAA,MAAA;AAAA,MAAM;AAAA,MAAE,YAAY,oBAAC,QAAK,EAAA,WAAU,eAAc,UAAC,IAAA,CAAA;AAAA,IAAA,EACtD,CAAA;AAAA,EAAA,GACF;AAEJ,CAAC;AAED,SAAS,cAAc;"}
@@ -1,6 +1,6 @@
1
1
  import { jsxs as r, jsx as t } from "react/jsx-runtime";
2
2
  import { memo as m, useCallback as i } from "react";
3
- import { b as p } from "./client-CuG1Umdc.js";
3
+ import { b as p } from "./client-CVCqXKt7.js";
4
4
  const x = m(function({
5
5
  label: a,
6
6
  id: e,
@@ -1,6 +1,6 @@
1
1
  import { jsxs as n, jsx as a } from "react/jsx-runtime";
2
2
  import { memo as p, useCallback as f } from "react";
3
- import { b } from "./client-CuG1Umdc.js";
3
+ import { b } from "./client-CVCqXKt7.js";
4
4
  function v(t) {
5
5
  const { id: o, value: c, onChange: r } = t, e = t.option;
6
6
  return /* @__PURE__ */ n("div", { className: "rl-form-flex-control", children: [
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { memo, useCallback } from "react";
3
- import { b as useFormDispatcherWithAttr } from "./client-EsyBdlcF.js";
3
+ import { b as useFormDispatcherWithAttr } from "./client-BmYopK6I.js";
4
4
  function CheckboxGroupOption(props) {
5
5
  const { id, value, onChange } = props;
6
6
  const option = props.option;
@@ -60,4 +60,4 @@ CheckboxGroup.displayName = "CheckboxGroup";
60
60
  export {
61
61
  CheckboxGroup as default
62
62
  };
63
- //# sourceMappingURL=checkbox-group-DofQ_lqt.js.map
63
+ //# sourceMappingURL=checkbox-group-DrpoPDc1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-group-DofQ_lqt.js","sources":["../src/components/checkbox-group.tsx"],"sourcesContent":["import { memo, useCallback } from \"react\";\nimport { useFormDispatcherWithAttr } from \"../core/context\";\n\ntype CheckboxGroupProps = {\n id: string;\n label: string;\n value: string[];\n required?: boolean;\n flexDirection?: \"row\" | \"col\";\n options: Array<{ label: string; value: string; caption?: string; disabled?: boolean }>;\n};\n\nfunction CheckboxGroupOption(props: {\n option: CheckboxGroupProps[\"options\"][number];\n id: string;\n value: string[];\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n}) {\n const { id, value, onChange } = props;\n\n const option: CheckboxGroupProps[\"options\"][number] =\n props.option;\n\n return (\n <div key={option.value} className=\"rl-form-flex-control\">\n <input\n disabled={option.disabled}\n type=\"checkbox\"\n value={option.value}\n id={`${id}-${option.value}`}\n checked={value.includes(option.value)}\n onChange={onChange}\n />\n <div className=\"rl-form-inline-label\">\n <label htmlFor={`${id}-${option.value}`}>{option.label}</label>\n {option.caption && (\n <small className=\"rl-form-control-caption\">{option.caption}</small>\n )}\n </div>\n </div>\n );\n}\n\nconst CheckboxGroup = memo(function CheckboxGroup({\n id,\n label,\n value,\n required,\n options,\n flexDirection = \"col\",\n}: CheckboxGroupProps) {\n const dispatchChange = useFormDispatcherWithAttr(id, \"change\", \"value\");\n const onChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.checked\n ? [...value, e.target.value]\n : value.filter((v) => v !== e.target.value);\n dispatchChange(newValue);\n },\n [dispatchChange, value]\n );\n return (\n <div className=\"rl-form-group\">\n {label && (\n <label>\n {label} {required && <span className=\"rl-required\">*</span>}\n </label>\n )}\n <div className={`rl-form-control-group rl-flex-${flexDirection}`}>\n {options.map((option) => (\n <CheckboxGroupOption\n key={typeof option === \"string\" ? option : option.value}\n id={id}\n value={value}\n onChange={onChange}\n option={option}\n />\n ))}\n </div>\n </div>\n );\n});\n\nCheckboxGroup.displayName = \"CheckboxGroup\";\n\nexport default CheckboxGroup;\n"],"names":["CheckboxGroup"],"mappings":";;;AAYA,SAAS,oBAAoB,OAK1B;AACD,QAAM,EAAE,IAAI,OAAO,SAAa,IAAA;AAEhC,QAAM,SACJ,MAAM;AAGN,SAAA,qBAAC,OAAuB,EAAA,WAAU,wBAChC,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAU,OAAO;AAAA,QACjB,MAAK;AAAA,QACL,OAAO,OAAO;AAAA,QACd,IAAI,GAAG,EAAE,IAAI,OAAO,KAAK;AAAA,QACzB,SAAS,MAAM,SAAS,OAAO,KAAK;AAAA,QACpC;AAAA,MAAA;AAAA,IACF;AAAA,IACA,qBAAC,OAAI,EAAA,WAAU,wBACb,UAAA;AAAA,MAAC,oBAAA,SAAA,EAAM,SAAS,GAAG,EAAE,IAAI,OAAO,KAAK,IAAK,UAAA,OAAO,MAAM,CAAA;AAAA,MACtD,OAAO,WACN,oBAAC,WAAM,WAAU,2BAA2B,iBAAO,QAAQ,CAAA;AAAA,IAAA,EAE/D,CAAA;AAAA,EAAA,EAAA,GAdQ,OAAO,KAejB;AAEJ;AAEM,MAAA,gBAAgB,KAAK,SAASA,eAAc;AAAA,EAChD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,gBAAgB;AAClB,GAAuB;AACrB,QAAM,iBAAiB,0BAA0B,IAAI,UAAU,OAAO;AACtE,QAAM,WAAW;AAAA,IACf,CAAC,MAA2C;AAC1C,YAAM,WAAW,EAAE,OAAO,UACtB,CAAC,GAAG,OAAO,EAAE,OAAO,KAAK,IACzB,MAAM,OAAO,CAAC,MAAM,MAAM,EAAE,OAAO,KAAK;AAC5C,qBAAe,QAAQ;AAAA,IACzB;AAAA,IACA,CAAC,gBAAgB,KAAK;AAAA,EACxB;AAEE,SAAA,qBAAC,OAAI,EAAA,WAAU,iBACZ,UAAA;AAAA,IAAA,8BACE,SACE,EAAA,UAAA;AAAA,MAAA;AAAA,MAAM;AAAA,MAAE,YAAY,oBAAC,QAAK,EAAA,WAAU,eAAc,UAAC,IAAA,CAAA;AAAA,IAAA,GACtD;AAAA,IAEF,oBAAC,SAAI,WAAW,iCAAiC,aAAa,IAC3D,UAAA,QAAQ,IAAI,CAAC,WACZ;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,MAJK,OAAO,WAAW,WAAW,SAAS,OAAO;AAAA,IAAA,CAMrD,EACH,CAAA;AAAA,EAAA,GACF;AAEJ,CAAC;AAED,cAAc,cAAc;"}
1
+ {"version":3,"file":"checkbox-group-DrpoPDc1.js","sources":["../src/components/checkbox-group.tsx"],"sourcesContent":["import { memo, useCallback } from \"react\";\nimport { useFormDispatcherWithAttr } from \"../core/context\";\n\ntype CheckboxGroupProps = {\n id: string;\n label: string;\n value: string[];\n required?: boolean;\n flexDirection?: \"row\" | \"col\";\n options: Array<{ label: string; value: string; caption?: string; disabled?: boolean }>;\n};\n\nfunction CheckboxGroupOption(props: {\n option: CheckboxGroupProps[\"options\"][number];\n id: string;\n value: string[];\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n}) {\n const { id, value, onChange } = props;\n\n const option: CheckboxGroupProps[\"options\"][number] =\n props.option;\n\n return (\n <div key={option.value} className=\"rl-form-flex-control\">\n <input\n disabled={option.disabled}\n type=\"checkbox\"\n value={option.value}\n id={`${id}-${option.value}`}\n checked={value.includes(option.value)}\n onChange={onChange}\n />\n <div className=\"rl-form-inline-label\">\n <label htmlFor={`${id}-${option.value}`}>{option.label}</label>\n {option.caption && (\n <small className=\"rl-form-control-caption\">{option.caption}</small>\n )}\n </div>\n </div>\n );\n}\n\nconst CheckboxGroup = memo(function CheckboxGroup({\n id,\n label,\n value,\n required,\n options,\n flexDirection = \"col\",\n}: CheckboxGroupProps) {\n const dispatchChange = useFormDispatcherWithAttr(id, \"change\", \"value\");\n const onChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.checked\n ? [...value, e.target.value]\n : value.filter((v) => v !== e.target.value);\n dispatchChange(newValue);\n },\n [dispatchChange, value]\n );\n return (\n <div className=\"rl-form-group\">\n {label && (\n <label>\n {label} {required && <span className=\"rl-required\">*</span>}\n </label>\n )}\n <div className={`rl-form-control-group rl-flex-${flexDirection}`}>\n {options.map((option) => (\n <CheckboxGroupOption\n key={typeof option === \"string\" ? option : option.value}\n id={id}\n value={value}\n onChange={onChange}\n option={option}\n />\n ))}\n </div>\n </div>\n );\n});\n\nCheckboxGroup.displayName = \"CheckboxGroup\";\n\nexport default CheckboxGroup;\n"],"names":["CheckboxGroup"],"mappings":";;;AAYA,SAAS,oBAAoB,OAK1B;AACD,QAAM,EAAE,IAAI,OAAO,SAAa,IAAA;AAEhC,QAAM,SACJ,MAAM;AAGN,SAAA,qBAAC,OAAuB,EAAA,WAAU,wBAChC,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAU,OAAO;AAAA,QACjB,MAAK;AAAA,QACL,OAAO,OAAO;AAAA,QACd,IAAI,GAAG,EAAE,IAAI,OAAO,KAAK;AAAA,QACzB,SAAS,MAAM,SAAS,OAAO,KAAK;AAAA,QACpC;AAAA,MAAA;AAAA,IACF;AAAA,IACA,qBAAC,OAAI,EAAA,WAAU,wBACb,UAAA;AAAA,MAAC,oBAAA,SAAA,EAAM,SAAS,GAAG,EAAE,IAAI,OAAO,KAAK,IAAK,UAAA,OAAO,MAAM,CAAA;AAAA,MACtD,OAAO,WACN,oBAAC,WAAM,WAAU,2BAA2B,iBAAO,QAAQ,CAAA;AAAA,IAAA,EAE/D,CAAA;AAAA,EAAA,EAAA,GAdQ,OAAO,KAejB;AAEJ;AAEM,MAAA,gBAAgB,KAAK,SAASA,eAAc;AAAA,EAChD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,gBAAgB;AAClB,GAAuB;AACrB,QAAM,iBAAiB,0BAA0B,IAAI,UAAU,OAAO;AACtE,QAAM,WAAW;AAAA,IACf,CAAC,MAA2C;AAC1C,YAAM,WAAW,EAAE,OAAO,UACtB,CAAC,GAAG,OAAO,EAAE,OAAO,KAAK,IACzB,MAAM,OAAO,CAAC,MAAM,MAAM,EAAE,OAAO,KAAK;AAC5C,qBAAe,QAAQ;AAAA,IACzB;AAAA,IACA,CAAC,gBAAgB,KAAK;AAAA,EACxB;AAEE,SAAA,qBAAC,OAAI,EAAA,WAAU,iBACZ,UAAA;AAAA,IAAA,8BACE,SACE,EAAA,UAAA;AAAA,MAAA;AAAA,MAAM;AAAA,MAAE,YAAY,oBAAC,QAAK,EAAA,WAAU,eAAc,UAAC,IAAA,CAAA;AAAA,IAAA,GACtD;AAAA,IAEF,oBAAC,SAAI,WAAW,iCAAiC,aAAa,IAC3D,UAAA,QAAQ,IAAI,CAAC,WACZ;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,MAJK,OAAO,WAAW,WAAW,SAAS,OAAO;AAAA,IAAA,CAMrD,EACH,CAAA;AAAA,EAAA,GACF;AAEJ,CAAC;AAED,cAAc,cAAc;"}
@@ -1575,11 +1575,26 @@ const RouteLitContext = createContext({
1575
1575
  parentManager: void 0
1576
1576
  });
1577
1577
  function useRouteLitContext() {
1578
+ var _a, _b;
1578
1579
  const context = useContext(RouteLitContext);
1579
- if (!context) {
1580
- throw new Error(
1581
- "useRouteLitContext must be used within a RouteLitContext.Provider"
1582
- );
1580
+ if (!context || !context.manager || !context.componentStore) {
1581
+ const globalManager = (_a = window.RoutelitClient) == null ? void 0 : _a.manager;
1582
+ const globalComponentStore = ((_b = window.RoutelitClient) == null ? void 0 : _b.componentStore) || window.componentStore;
1583
+ if (globalManager && globalComponentStore) {
1584
+ return {
1585
+ manager: globalManager,
1586
+ componentStore: globalComponentStore,
1587
+ parentManager: void 0
1588
+ };
1589
+ }
1590
+ if (!context) {
1591
+ console.warn(
1592
+ "RouteLitContext not found and no global fallbacks available. This may cause errors."
1593
+ );
1594
+ throw new Error(
1595
+ "useRouteLitContext must be used within a RouteLitContext.Provider"
1596
+ );
1597
+ }
1583
1598
  }
1584
1599
  return context;
1585
1600
  }
@@ -1618,32 +1633,40 @@ function useDispatcherWithAttr(id, type, attr) {
1618
1633
  function useFormDispatcher(id, type) {
1619
1634
  const { manager: manager2 } = useRouteLitContext();
1620
1635
  const formId = useFormId();
1621
- const callback = useCallback((data) => {
1622
- manager2.handleEvent(new CustomEvent("routelit:event", { detail: { id, type, formId, ...data } }));
1623
- }, [manager2, id, type, formId]);
1636
+ const callback = useCallback(
1637
+ (data) => {
1638
+ manager2.handleEvent(
1639
+ new CustomEvent("routelit:event", {
1640
+ detail: { id, type, formId, ...data }
1641
+ })
1642
+ );
1643
+ },
1644
+ [manager2, id, type, formId]
1645
+ );
1624
1646
  return callback;
1625
1647
  }
1626
1648
  function useFormDispatcherWithAttr(id, type, attr) {
1627
1649
  const { manager: manager2 } = useRouteLitContext();
1628
1650
  const formId = useFormId();
1629
- const callback = useCallback((value) => {
1630
- manager2.handleEvent(new CustomEvent("routelit:event", { detail: { id, type, formId, [attr]: value } }));
1631
- }, [manager2, id, type, formId, attr]);
1651
+ const callback = useCallback(
1652
+ (value) => {
1653
+ manager2.handleEvent(
1654
+ new CustomEvent("routelit:event", {
1655
+ detail: { id, type, formId, [attr]: value }
1656
+ })
1657
+ );
1658
+ },
1659
+ [manager2, id, type, formId, attr]
1660
+ );
1632
1661
  return callback;
1633
1662
  }
1634
1663
  function useIsLoading() {
1635
1664
  const { manager: manager2 } = useRouteLitContext();
1636
- return useSyncExternalStore(
1637
- manager2.subscribeIsLoading,
1638
- manager2.isLoading
1639
- );
1665
+ return useSyncExternalStore(manager2.subscribeIsLoading, manager2.isLoading);
1640
1666
  }
1641
1667
  function useError() {
1642
1668
  const { manager: manager2 } = useRouteLitContext();
1643
- return useSyncExternalStore(
1644
- manager2.subscribeError,
1645
- manager2.getError
1646
- );
1669
+ return useSyncExternalStore(manager2.subscribeError, manager2.getError);
1647
1670
  }
1648
1671
  function RLElement({
1649
1672
  name,
@@ -19870,16 +19893,16 @@ if (window.RoutelitClient) {
19870
19893
  manager = initManager();
19871
19894
  componentStore = new ComponentStore();
19872
19895
  }
19873
- const Dialog = React.lazy(() => import("./dialog-B46zlf9B.js"));
19896
+ const Dialog = React.lazy(() => import("./dialog-BiMlAuNR.js"));
19874
19897
  const Container = React.lazy(() => import("./container-Ds-tbnBg.js"));
19875
19898
  const Expander = React.lazy(() => import("./expander-DXsTGgwa.js"));
19876
19899
  const Flex = React.lazy(() => import("./flex-DazUjcnc.js"));
19877
- const Input = React.lazy(() => import("./input-BdALQ4Rq.js"));
19878
- const Radio = React.lazy(() => import("./radio-BKbbJ19J.js"));
19879
- const Select = React.lazy(() => import("./select-CLEp2Krv.js"));
19880
- const Textarea = React.lazy(() => import("./textarea-CsytqoAO.js"));
19881
- const Checkbox = React.lazy(() => import("./checkbox-BxQjAES5.js"));
19882
- const CheckboxGroup = React.lazy(() => import("./checkbox-group-DofQ_lqt.js"));
19900
+ const Input = React.lazy(() => import("./input-BAfvhFFa.js"));
19901
+ const Radio = React.lazy(() => import("./radio-Dun2pYu5.js"));
19902
+ const Select = React.lazy(() => import("./select-CT25n1Lx.js"));
19903
+ const Textarea = React.lazy(() => import("./textarea-DCsk48sa.js"));
19904
+ const Checkbox = React.lazy(() => import("./checkbox-BBrF5uBm.js"));
19905
+ const CheckboxGroup = React.lazy(() => import("./checkbox-group-DrpoPDc1.js"));
19883
19906
  const Markdown = React.lazy(() => import("./markdown-DhpGCd5Q.js"));
19884
19907
  componentStore.register(
19885
19908
  "root",
@@ -19965,4 +19988,4 @@ export {
19965
19988
  useDispatcherWith as u,
19966
19989
  withEventDispatcher as w
19967
19990
  };
19968
- //# sourceMappingURL=client-EsyBdlcF.js.map
19991
+ //# sourceMappingURL=client-BmYopK6I.js.map