@middag-io/react 0.7.2 → 0.9.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 (44) hide show
  1. package/README.md +28 -28
  2. package/dist-lib/{ConditionTreeBlock-B24FzcsP.js → ConditionTreeBlock-B7__VkhQ.js} +1 -1
  3. package/dist-lib/{FormBuilderBlock-BFUwXZ4d.js → FormBuilderBlock-s4lmYLg9.js} +3 -3
  4. package/dist-lib/{MarkdownContent-C7osjiEF.js → MarkdownContent-BUiueRmW.js} +14 -14
  5. package/dist-lib/SentenceBuilderBlock-D7UEz1l-.js +91 -0
  6. package/dist-lib/app/providers/i18n-defaults.d.ts.map +1 -1
  7. package/dist-lib/app/providers/i18n.d.ts +12 -0
  8. package/dist-lib/app/providers/i18n.d.ts.map +1 -1
  9. package/dist-lib/app/providers/locales/pt-BR.d.ts +15 -0
  10. package/dist-lib/app/providers/locales/pt-BR.d.ts.map +1 -0
  11. package/dist-lib/base/blocks/DetailPanelBlock.d.ts.map +1 -1
  12. package/dist-lib/base/blocks/SentenceBuilderBlock.d.ts.map +1 -1
  13. package/dist-lib/base/form/FormField.d.ts.map +1 -1
  14. package/dist-lib/base/form/fields/ColorField.d.ts +19 -0
  15. package/dist-lib/base/form/fields/ColorField.d.ts.map +1 -0
  16. package/dist-lib/base/form/fields/CurrencyField.d.ts +23 -0
  17. package/dist-lib/base/form/fields/CurrencyField.d.ts.map +1 -0
  18. package/dist-lib/base/form/fields/DocumentField.d.ts +24 -0
  19. package/dist-lib/base/form/fields/DocumentField.d.ts.map +1 -0
  20. package/dist-lib/base/form/fields/PhoneField.d.ts +22 -0
  21. package/dist-lib/base/form/fields/PhoneField.d.ts.map +1 -0
  22. package/dist-lib/base/form/fields/SelectField.d.ts.map +1 -1
  23. package/dist-lib/base/form/fields/SlugField.d.ts +23 -0
  24. package/dist-lib/base/form/fields/SlugField.d.ts.map +1 -0
  25. package/dist-lib/base/form/fields/TagsField.d.ts +21 -0
  26. package/dist-lib/base/form/fields/TagsField.d.ts.map +1 -0
  27. package/dist-lib/base/form/fields/document-validation.d.ts +9 -0
  28. package/dist-lib/base/form/fields/document-validation.d.ts.map +1 -0
  29. package/dist-lib/base/partials/DataTable/index.d.ts.map +1 -1
  30. package/dist-lib/base/partials/DetailSection/index.d.ts.map +1 -1
  31. package/dist-lib/base/partials/MarkdownContent/index.d.ts.map +1 -1
  32. package/dist-lib/base/shell/ProductShell.d.ts.map +1 -1
  33. package/dist-lib/base/shell/partials/SidebarNav.d.ts.map +1 -1
  34. package/dist-lib/base/theme/host-layout-detector.d.ts +35 -0
  35. package/dist-lib/base/theme/host-layout-detector.d.ts.map +1 -0
  36. package/dist-lib/components/reui/sidebar.d.ts.map +1 -1
  37. package/dist-lib/{i18n-zhMby9Ml.js → i18n-BNIsUXL0.js} +104 -21
  38. package/dist-lib/index.d.ts +6 -0
  39. package/dist-lib/index.d.ts.map +1 -1
  40. package/dist-lib/{index.min-Cno07_zY.js → index.min-BoVYs6GD.js} +48 -27
  41. package/dist-lib/middag-react.css +1 -1
  42. package/dist-lib/middag-react.js +17819 -4289
  43. package/package.json +1 -1
  44. package/dist-lib/SentenceBuilderBlock-BuT-5hKD.js +0 -93
package/README.md CHANGED
@@ -49,15 +49,15 @@ Create a token at [github.com/settings/tokens](https://github.com/settings/token
49
49
 
50
50
  ### Community vs PRO
51
51
 
52
- | Content | Community | PRO |
53
- |---------|-----------|-----|
54
- | ESM bundle (`dist-lib/`) | Yes | Yes |
55
- | TypeScript declarations (`.d.ts`) | Yes | Yes |
56
- | Declaration maps (`.d.ts.map`) | Yes | Yes |
57
- | TypeScript source (`src/`) | No | Yes |
58
- | Mock SPA extensible (`mock/`) | No | Yes |
59
- | IDE "go to definition" into source | No | Yes |
60
- | Authentication required | No | Yes |
52
+ | Content | Community | PRO |
53
+ |------------------------------------|-----------|-----|
54
+ | ESM bundle (`dist-lib/`) | Yes | Yes |
55
+ | TypeScript declarations (`.d.ts`) | Yes | Yes |
56
+ | Declaration maps (`.d.ts.map`) | Yes | Yes |
57
+ | TypeScript source (`src/`) | No | Yes |
58
+ | Mock SPA extensible (`mock/`) | No | Yes |
59
+ | IDE "go to definition" into source | No | Yes |
60
+ | Authentication required | No | Yes |
61
61
 
62
62
  Both editions deliver the same runtime code. Community is sufficient for building plugins. PRO additionally includes TypeScript source for IDE navigation and the extensible mock SPA.
63
63
 
@@ -267,14 +267,14 @@ git add . && git commit # include the .changeset/*.md file
267
267
 
268
268
  The package includes a CLI for bootstrapping and maintaining the UI layer in consumer projects:
269
269
 
270
- | Command | Description |
271
- |-----------------------------------------|-------------------------------------------------------------------------------|
272
- | `npx create-middag-ui` | Bootstrap `ui/` (Community) |
273
- | `npx @middag-io/create-middag-ui` | Bootstrap `ui/` (PRO) |
274
- | `npx @middag-io/react doctor` | Validate consumer project setup (deps, configs, peer deps) |
275
- | `npx @middag-io/react dev` | Start mock dev server from consumer project |
276
- | `npx @middag-io/react add-block <type>` | Scaffold a new block type with component + mock factory |
277
- | `npx @middag-io/react upgrade` | Check for updates and run codemods |
270
+ | Command | Description |
271
+ |-----------------------------------------|------------------------------------------------------------|
272
+ | `npx create-middag-ui` | Bootstrap `ui/` (Community) |
273
+ | `npx @middag-io/create-middag-ui` | Bootstrap `ui/` (PRO) |
274
+ | `npx @middag-io/react doctor` | Validate consumer project setup (deps, configs, peer deps) |
275
+ | `npx @middag-io/react dev` | Start mock dev server from consumer project |
276
+ | `npx @middag-io/react add-block <type>` | Scaffold a new block type with component + mock factory |
277
+ | `npx @middag-io/react upgrade` | Check for updates and run codemods |
278
278
 
279
279
  ## Scripts
280
280
 
@@ -328,21 +328,21 @@ npx wrangler pages deploy dist-mock --project-name=middag-react-mock
328
328
 
329
329
  ## CI/CD
330
330
 
331
- | Workflow | Trigger | What it does |
332
- |--------------------------------|-------------------------------------------|----------------------------------------------------------------------|
333
- | `publish.yml` | Push to main | Typecheck + Changesets publish to GitHub Packages + npm public |
334
- | `publish-create-middag-ui.yml` | Push to main (packages/create-middag-ui/) | Publish to npm (Community) + GitHub Packages (PRO) |
335
- | `deploy-mock.yml` | Push to main / manual | Build mock + deploy to Cloudflare Pages |
336
- | `sync-examples.yml` | Monday 8:00 UTC / manual | Sync ReUI examples, opens PR if updates |
331
+ | Workflow | Trigger | What it does |
332
+ |--------------------------------|-------------------------------------------|----------------------------------------------------------------|
333
+ | `publish.yml` | Push to main | Typecheck + Changesets publish to GitHub Packages + npm public |
334
+ | `publish-create-middag-ui.yml` | Push to main (packages/create-middag-ui/) | Publish to npm (Community) + GitHub Packages (PRO) |
335
+ | `deploy-mock.yml` | Push to main / manual | Build mock + deploy to Cloudflare Pages |
336
+ | `sync-examples.yml` | Monday 8:00 UTC / manual | Sync ReUI examples, opens PR if updates |
337
337
 
338
338
  ### Required secrets
339
339
 
340
- | Secret | Registry | Purpose |
341
- |-------------------------|------------------|--------------------------------------------|
342
- | `GITHUB_TOKEN` | GitHub Packages | Publish `@middag-io/react` (auto-provided) |
340
+ | Secret | Registry | Purpose |
341
+ |-------------------------|------------------|-------------------------------------------------|
342
+ | `GITHUB_TOKEN` | GitHub Packages | Publish `@middag-io/react` (auto-provided) |
343
343
  | `NPM_TOKEN` | npm (public) | Publish `@middag-io/react` + `create-middag-ui` |
344
- | `CLOUDFLARE_API_TOKEN` | Cloudflare Pages | Deploy mock SPA |
345
- | `CLOUDFLARE_ACCOUNT_ID` | Cloudflare Pages | Account identifier |
344
+ | `CLOUDFLARE_API_TOKEN` | Cloudflare Pages | Deploy mock SPA |
345
+ | `CLOUDFLARE_ACCOUNT_ID` | Cloudflare Pages | Account identifier |
346
346
 
347
347
  ## License
348
348
 
@@ -1,4 +1,4 @@
1
- import { n as e } from "./i18n-zhMby9Ml.js";
1
+ import { n as e } from "./i18n-BNIsUXL0.js";
2
2
  import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
3
  //#region src/base/blocks/ConditionTreeBlock.tsx
4
4
  function r({ logic: e }) {
@@ -1,4 +1,4 @@
1
- import { n as e } from "./i18n-zhMby9Ml.js";
1
+ import { n as e } from "./i18n-BNIsUXL0.js";
2
2
  import t, { cloneElement as n, createContext as r, forwardRef as i, memo as a, useCallback as o, useContext as s, useEffect as c, useLayoutEffect as l, useMemo as u, useReducer as d, useRef as f, useState as p } from "react";
3
3
  import { jsx as m, jsxs as h } from "react/jsx-runtime";
4
4
  import { createPortal as g, unstable_batchedUpdates as _ } from "react-dom";
@@ -2533,7 +2533,7 @@ function nr({ field: t, onRemove: n }) {
2533
2533
  /* @__PURE__ */ m("button", {
2534
2534
  type: "button",
2535
2535
  className: "text-muted-foreground flex-none cursor-grab text-base leading-none select-none",
2536
- "aria-label": "Arrastar campo",
2536
+ "aria-label": r("middag.ui.form_builder.drag_field"),
2537
2537
  ...i,
2538
2538
  ...a,
2539
2539
  children: "⠇"
@@ -2551,7 +2551,7 @@ function nr({ field: t, onRemove: n }) {
2551
2551
  }),
2552
2552
  t.required && /* @__PURE__ */ m("span", {
2553
2553
  className: "text-destructive ml-0.5 text-sm",
2554
- "aria-label": "Obrigatório",
2554
+ "aria-label": r("middag.ui.form.required_label"),
2555
2555
  children: "*"
2556
2556
  }),
2557
2557
  /* @__PURE__ */ m("span", {
@@ -1,6 +1,6 @@
1
1
  import { i as e, n as t, t as n } from "./chunk-DeC0fbbY.js";
2
- import { n as r } from "./i18n-zhMby9Ml.js";
3
- import { dt as i, gt as a, ht as o, j as s, mt as c } from "./index.min-Cno07_zY.js";
2
+ import { n as r } from "./i18n-BNIsUXL0.js";
3
+ import { _t as i, gt as a, j as o, pt as s, vt as c } from "./index.min-BoVYs6GD.js";
4
4
  import { useCallback as l, useState as u } from "react";
5
5
  import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
6
6
  import { router as m } from "@inertiajs/react";
@@ -13328,18 +13328,18 @@ var cl = {
13328
13328
  }
13329
13329
  };
13330
13330
  function ll({ code: e }) {
13331
- let [t, n] = u(!1);
13331
+ let { t } = r(), [n, i] = u(!1);
13332
13332
  return /* @__PURE__ */ f("button", {
13333
13333
  type: "button",
13334
13334
  onClick: l(async () => {
13335
- await sl(e) && (n(!0), setTimeout(() => n(!1), 2e3));
13335
+ await sl(e) && (i(!0), setTimeout(() => i(!1), 2e3));
13336
13336
  }, [e]),
13337
13337
  className: "bg-background/80 absolute top-2 right-2 rounded p-1 opacity-0 transition-opacity group-hover/codeblock:opacity-100 focus:opacity-100",
13338
- "aria-label": "Copiar código",
13339
- children: /* @__PURE__ */ f(c, {
13340
- icon: t ? i : s,
13338
+ "aria-label": t("middag.ui.markdown.copy_code"),
13339
+ children: /* @__PURE__ */ f(a, {
13340
+ icon: n ? s : o,
13341
13341
  size: 14,
13342
- className: a("transition-colors", t ? "text-success" : "text-muted-foreground hover:text-foreground")
13342
+ className: c("transition-colors", n ? "text-success" : "text-muted-foreground hover:text-foreground")
13343
13343
  })
13344
13344
  });
13345
13345
  }
@@ -13434,7 +13434,7 @@ var fl = {
13434
13434
  });
13435
13435
  },
13436
13436
  code: ({ className: e, children: t, ...n }) => e ? /* @__PURE__ */ f("code", {
13437
- className: a("font-mono text-sm", e),
13437
+ className: c("font-mono text-sm", e),
13438
13438
  ...n,
13439
13439
  children: t
13440
13440
  }) : /* @__PURE__ */ f("code", {
@@ -13477,10 +13477,10 @@ function pl() {
13477
13477
  return /* @__PURE__ */ p("div", {
13478
13478
  className: "max-w-[720px] space-y-3",
13479
13479
  children: [
13480
- /* @__PURE__ */ f(o, { className: "h-4 w-full" }),
13481
- /* @__PURE__ */ f(o, { className: "h-4 w-5/6" }),
13482
- /* @__PURE__ */ f(o, { className: "h-4 w-4/6" }),
13483
- /* @__PURE__ */ f(o, { className: "h-4 w-3/4" })
13480
+ /* @__PURE__ */ f(i, { className: "h-4 w-full" }),
13481
+ /* @__PURE__ */ f(i, { className: "h-4 w-5/6" }),
13482
+ /* @__PURE__ */ f(i, { className: "h-4 w-4/6" }),
13483
+ /* @__PURE__ */ f(i, { className: "h-4 w-3/4" })
13484
13484
  ]
13485
13485
  });
13486
13486
  }
@@ -13493,7 +13493,7 @@ function ml({ content: e, maxHeight: t, isLoading: n }) {
13493
13493
  children: i("middag.ui.markdown.no_content")
13494
13494
  })
13495
13495
  }) : /* @__PURE__ */ f("div", {
13496
- className: a("prose-reset max-w-[720px]", t && "overflow-y-auto"),
13496
+ className: c("prose-reset max-w-[720px]", t && "overflow-y-auto"),
13497
13497
  style: t ? { maxHeight: `${t}px` } : void 0,
13498
13498
  children: /* @__PURE__ */ f(to, {
13499
13499
  rehypePlugins: [Bc, [ol, cl]],
@@ -0,0 +1,91 @@
1
+ import { n as e } from "./i18n-BNIsUXL0.js";
2
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
+ //#region src/base/blocks/SentenceBuilderBlock.tsx
4
+ var r = {
5
+ equals: "middag.ui.sentence.op.equals",
6
+ not_equals: "middag.ui.sentence.op.not_equals",
7
+ contains: "middag.ui.sentence.op.contains",
8
+ not_contains: "middag.ui.sentence.op.not_contains",
9
+ greater_than: "middag.ui.sentence.op.greater_than",
10
+ less_than: "middag.ui.sentence.op.less_than",
11
+ in: "middag.ui.sentence.op.in",
12
+ not_in: "middag.ui.sentence.op.not_in"
13
+ };
14
+ function i(e, t) {
15
+ return e.replace(/\{(\w+)\}/g, (e, n) => t[n] ?? `{${n}}`);
16
+ }
17
+ function a({ matched: n, total: r }) {
18
+ let { t: a, formatNumber: o } = e();
19
+ return /* @__PURE__ */ t("span", {
20
+ className: "text-foreground text-sm font-semibold",
21
+ children: i(a("middag.ui.sentence.audience_text"), {
22
+ matched: o(n),
23
+ total: o(r)
24
+ })
25
+ });
26
+ }
27
+ function o({ block: i }) {
28
+ let { t: o } = e(), { data: s } = i;
29
+ return /* @__PURE__ */ n("div", {
30
+ className: "space-y-6",
31
+ children: [
32
+ /* @__PURE__ */ t("div", {
33
+ className: "space-y-4",
34
+ children: s.groups.map((e, i) => /* @__PURE__ */ n("div", { children: [i > 0 && /* @__PURE__ */ n("div", {
35
+ className: "flex items-center gap-3 py-2",
36
+ children: [
37
+ /* @__PURE__ */ t("div", { className: "bg-border h-px flex-1" }),
38
+ /* @__PURE__ */ t("span", {
39
+ className: "text-warning text-sm font-bold uppercase",
40
+ children: o("middag.ui.sentence.or")
41
+ }),
42
+ /* @__PURE__ */ t("div", { className: "bg-border h-px flex-1" })
43
+ ]
44
+ }), /* @__PURE__ */ t("div", {
45
+ className: "bg-muted/30 rounded-lg border p-4",
46
+ children: /* @__PURE__ */ n("p", {
47
+ className: "text-foreground text-sm leading-relaxed",
48
+ children: [/* @__PURE__ */ t("span", {
49
+ className: "text-muted-foreground",
50
+ children: o("middag.ui.sentence.users_where")
51
+ }), e.rules.map((e, i) => /* @__PURE__ */ n("span", { children: [
52
+ i > 0 && /* @__PURE__ */ t("span", {
53
+ className: "text-primary mx-1 text-sm font-bold uppercase",
54
+ children: o("middag.ui.sentence.and")
55
+ }),
56
+ /* @__PURE__ */ t("span", {
57
+ className: "mx-1 inline-flex items-center rounded-full px-3 py-1 text-sm font-medium",
58
+ children: e.field
59
+ }),
60
+ /* @__PURE__ */ t("span", {
61
+ className: "text-muted-foreground text-sm",
62
+ children: o(r[e.operator] ?? e.operator)
63
+ }),
64
+ /* @__PURE__ */ t("span", {
65
+ className: "bg-background text-foreground mx-1 inline-flex items-center rounded border px-3 py-1 text-sm",
66
+ children: e.value
67
+ })
68
+ ] }, e.id))]
69
+ })
70
+ })] }, e.id))
71
+ }),
72
+ /* @__PURE__ */ t("button", {
73
+ type: "button",
74
+ className: "w-full rounded-lg border border-dashed px-4 py-3 text-sm font-medium transition-colors",
75
+ children: o("middag.ui.sentence.add_rule")
76
+ }),
77
+ s.audienceEstimate && /* @__PURE__ */ n("div", {
78
+ className: "bg-muted/50 flex items-center justify-between rounded-lg px-4 py-3",
79
+ children: [/* @__PURE__ */ t("span", {
80
+ className: "text-muted-foreground text-sm",
81
+ children: o("middag.ui.sentence.audience_estimate")
82
+ }), /* @__PURE__ */ t(a, {
83
+ matched: s.audienceEstimate.matched,
84
+ total: s.audienceEstimate.total
85
+ })]
86
+ })
87
+ ]
88
+ });
89
+ }
90
+ //#endregion
91
+ export { o as SentenceBuilderBlock };
@@ -1 +1 @@
1
- {"version":3,"file":"i18n-defaults.d.ts","sourceRoot":"","sources":["../../../src/app/providers/i18n-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAoJlD,CAAC"}
1
+ {"version":3,"file":"i18n-defaults.d.ts","sourceRoot":"","sources":["../../../src/app/providers/i18n-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAoMlD,CAAC"}
@@ -22,6 +22,18 @@ interface I18nContextValue {
22
22
  t: (key: string) => string;
23
23
  /** Async lookup — uses injected resolver if available, else returns key. */
24
24
  tAsync: (key: string, component?: string) => Promise<string>;
25
+ /** Current locale (e.g. "pt-BR", "en"). */
26
+ locale: string;
27
+ /** Format a date. Pass Intl.DateTimeFormat options or use defaults (medium date). */
28
+ formatDate: (value: Date | number | string, options?: Intl.DateTimeFormatOptions) => string;
29
+ /** Format a date with time. */
30
+ formatDateTime: (value: Date | number | string, options?: Intl.DateTimeFormatOptions) => string;
31
+ /** Format relative time (e.g. "2 hours ago"). */
32
+ formatRelative: (value: Date | number | string) => string;
33
+ /** Format a number (grouping, decimals). */
34
+ formatNumber: (value: number, options?: Intl.NumberFormatOptions) => string;
35
+ /** Format a currency value. Defaults to BRL if no currency specified. */
36
+ formatCurrency: (value: number, currency?: string, options?: Intl.NumberFormatOptions) => string;
25
37
  }
26
38
  interface I18nProviderProps {
27
39
  children: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../src/app/providers/i18n.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAIf,MAAM,MAAM,mBAAmB,GAAG,CAChC,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM,KACf,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,UAAU,gBAAgB;IACxB,iEAAiE;IACjE,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3B,4EAA4E;IAC5E,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9D;AAWD,UAAU,iBAAiB;IACzB,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAED,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,iBAAiB,2CAgC1E;AAED;;;;;;GAMG;AAEH,wBAAgB,cAAc,IAAI,gBAAgB,CAUjD"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../src/app/providers/i18n.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAIf,MAAM,MAAM,mBAAmB,GAAG,CAChC,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM,KACf,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,UAAU,gBAAgB;IACxB,iEAAiE;IACjE,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3B,4EAA4E;IAC5E,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,qFAAqF;IACrF,UAAU,EAAE,CACV,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,EAC7B,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,KACjC,MAAM,CAAC;IACZ,+BAA+B;IAC/B,cAAc,EAAE,CACd,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,EAC7B,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,KACjC,MAAM,CAAC;IACZ,iDAAiD;IACjD,cAAc,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC;IAC1D,4CAA4C;IAC5C,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,KAAK,MAAM,CAAC;IAC5E,yEAAyE;IACzE,cAAc,EAAE,CACd,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,KAC/B,MAAM,CAAC;CACb;AAYD,UAAU,iBAAiB;IACzB,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC;AA0BD,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,iBAAiB,2CAqH1E;AAED;;;;;;GAMG;AAEH,wBAAgB,cAAc,IAAI,gBAAgB,CAUjD"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * PT-BR translations for @middag-io/react lib UI strings (middag.ui.* keys).
3
+ *
4
+ * Official translation file shipped with the lib. Consumers inject these
5
+ * via Inertia shared props (`theme.strings`) or pass directly to I18nProvider.
6
+ *
7
+ * In Moodle/WordPress, the server reads this file (or its equivalent PHP
8
+ * lang pack) and sends the strings via the Inertia response.
9
+ *
10
+ * Usage in a consumer entry point:
11
+ * import { localePtBR } from '@middag-io/react';
12
+ * // pass as theme.strings in Inertia shared props
13
+ */
14
+ export declare const ptBR: Record<string, string>;
15
+ //# sourceMappingURL=pt-BR.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pt-BR.d.ts","sourceRoot":"","sources":["../../../../src/app/providers/locales/pt-BR.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAqLvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DetailPanelBlock.d.ts","sourceRoot":"","sources":["../../../src/base/blocks/DetailPanelBlock.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAMpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,GACN,EAAE,UAAU,CAAC,oBAAoB,CAAC,GAAG,YAAY,CAyDjD"}
1
+ {"version":3,"file":"DetailPanelBlock.d.ts","sourceRoot":"","sources":["../../../src/base/blocks/DetailPanelBlock.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAMpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,GACN,EAAE,UAAU,CAAC,oBAAoB,CAAC,GAAG,YAAY,CA0DjD"}
@@ -1 +1 @@
1
- {"version":3,"file":"SentenceBuilderBlock.d.ts","sourceRoot":"","sources":["../../../src/base/blocks/SentenceBuilderBlock.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAmBvE,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,GACN,EAAE,UAAU,CAAC,wBAAwB,CAAC,GAAG,YAAY,CAkFrD"}
1
+ {"version":3,"file":"SentenceBuilderBlock.d.ts","sourceRoot":"","sources":["../../../src/base/blocks/SentenceBuilderBlock.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAiCvE,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,GACN,EAAE,UAAU,CAAC,wBAAwB,CAAC,GAAG,YAAY,CAgFrD"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../../src/base/form/FormField.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAS,KAAK,YAAY,EAAkB,MAAM,OAAO,CAAC;AAejE,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;QACxB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA0BD,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,GACN,EAAE,cAAc,GAAG,YAAY,CA4D/B"}
1
+ {"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../../src/base/form/FormField.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAS,KAAK,YAAY,EAAkB,MAAM,OAAO,CAAC;AAsBjE,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;QACxB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA0BD,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,GACN,EAAE,cAAc,GAAG,YAAY,CA8D/B"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * ColorField -- color picker with hex input and visual preview.
3
+ *
4
+ * Uses native color input with a text fallback for hex values.
5
+ */
6
+ import { type ReactElement } from "react";
7
+ export interface ColorFieldProps {
8
+ id: string;
9
+ value: string;
10
+ onChange: (value: string) => void;
11
+ placeholder?: string;
12
+ disabled?: boolean;
13
+ required?: boolean;
14
+ error?: string;
15
+ helpTextId?: string;
16
+ errorId?: string;
17
+ }
18
+ export declare function ColorField({ id, value, onChange, placeholder, disabled, required, error, helpTextId, errorId, }: ColorFieldProps): ReactElement;
19
+ //# sourceMappingURL=ColorField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorField.d.ts","sourceRoot":"","sources":["../../../../src/base/form/fields/ColorField.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAGvD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,UAAU,CAAC,EACzB,EAAE,EACF,KAAK,EACL,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,UAAU,EACV,OAAO,GACR,EAAE,eAAe,GAAG,YAAY,CA4ChC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * CurrencyField -- numeric input with locale-aware currency formatting.
3
+ *
4
+ * Displays formatted value (e.g. "R$ 1.234,56") when not focused,
5
+ * raw number when editing. Uses i18n provider's locale and formatCurrency.
6
+ */
7
+ import { type ReactElement } from "react";
8
+ export interface CurrencyFieldProps {
9
+ id: string;
10
+ value: number | null;
11
+ onChange: (value: number | null) => void;
12
+ currency?: string;
13
+ placeholder?: string;
14
+ disabled?: boolean;
15
+ required?: boolean;
16
+ error?: string;
17
+ helpTextId?: string;
18
+ errorId?: string;
19
+ min?: number;
20
+ max?: number;
21
+ }
22
+ export declare function CurrencyField({ id, value, onChange, currency, placeholder, disabled, required, error, helpTextId, errorId, min, max, }: CurrencyFieldProps): ReactElement;
23
+ //# sourceMappingURL=CurrencyField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CurrencyField.d.ts","sourceRoot":"","sources":["../../../../src/base/form/fields/CurrencyField.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAIjE,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,aAAa,CAAC,EAC5B,EAAE,EACF,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,UAAU,EACV,OAAO,EACP,GAAG,EACH,GAAG,GACJ,EAAE,kBAAkB,GAAG,YAAY,CA2DnC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * DocumentField -- masked input for identity documents (CPF, CNPJ, EIN, VAT ID).
3
+ *
4
+ * The `documentType` prop determines the mask and validation.
5
+ * Backend sends the type; the field applies the correct format.
6
+ */
7
+ import { type ReactElement } from "react";
8
+ import type { DocumentType } from "./document-validation";
9
+ export type { DocumentType } from "./document-validation";
10
+ export { isValidDocument } from "./document-validation";
11
+ export interface DocumentFieldProps {
12
+ id: string;
13
+ value: string;
14
+ onChange: (value: string) => void;
15
+ documentType?: DocumentType;
16
+ placeholder?: string;
17
+ disabled?: boolean;
18
+ required?: boolean;
19
+ error?: string;
20
+ helpTextId?: string;
21
+ errorId?: string;
22
+ }
23
+ export declare function DocumentField({ id, value, onChange, documentType, placeholder, disabled, required, error, helpTextId, errorId, }: DocumentFieldProps): ReactElement;
24
+ //# sourceMappingURL=DocumentField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentField.d.ts","sourceRoot":"","sources":["../../../../src/base/form/fields/DocumentField.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAGvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AA2BxD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,aAAa,CAAC,EAC5B,EAAE,EACF,KAAK,EACL,QAAQ,EACR,YAAwB,EACxB,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,UAAU,EACV,OAAO,GACR,EAAE,kBAAkB,GAAG,YAAY,CAkCnC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * PhoneField -- international phone input with country flag selector.
3
+ *
4
+ * Wraps react-phone-number-input with form-field aria plumbing.
5
+ * Value is E.164 format (e.g. "+5511999999999").
6
+ */
7
+ import { type ReactElement } from "react";
8
+ import "react-phone-number-input/style.css";
9
+ export interface PhoneFieldProps {
10
+ id: string;
11
+ value: string;
12
+ onChange: (value: string) => void;
13
+ placeholder?: string;
14
+ disabled?: boolean;
15
+ required?: boolean;
16
+ error?: string;
17
+ helpTextId?: string;
18
+ errorId?: string;
19
+ defaultCountry?: string;
20
+ }
21
+ export declare function PhoneField({ id, value, onChange, placeholder, disabled, required, error, helpTextId, errorId, defaultCountry, }: PhoneFieldProps): ReactElement;
22
+ //# sourceMappingURL=PhoneField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PhoneField.d.ts","sourceRoot":"","sources":["../../../../src/base/form/fields/PhoneField.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAI1C,OAAO,oCAAoC,CAAC;AAE5C,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,UAAU,CAAC,EACzB,EAAE,EACF,KAAK,EACL,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,UAAU,EACV,OAAO,EACP,cAAqB,GACtB,EAAE,eAAe,GAAG,YAAY,CAoBhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectField.d.ts","sourceRoot":"","sources":["../../../../src/base/form/fields/SelectField.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAS1C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,WAAW,CAAC,EAC1B,EAAE,EACF,KAAK,EACL,QAAQ,EACR,OAAO,EACP,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,UAAU,EACV,OAAO,GACR,EAAE,gBAAgB,GAAG,YAAY,CA8BjC"}
1
+ {"version":3,"file":"SelectField.d.ts","sourceRoot":"","sources":["../../../../src/base/form/fields/SelectField.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAU1C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,WAAW,CAAC,EAC1B,EAAE,EACF,KAAK,EACL,QAAQ,EACR,OAAO,EACP,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,UAAU,EACV,OAAO,GACR,EAAE,gBAAgB,GAAG,YAAY,CAiCjC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * SlugField -- URL-friendly slug input with auto-generation.
3
+ *
4
+ * Normalizes input: lowercase, replaces spaces/special chars with hyphens,
5
+ * removes consecutive hyphens. Optional source value for auto-generation.
6
+ */
7
+ import { type ReactElement } from "react";
8
+ export interface SlugFieldProps {
9
+ id: string;
10
+ value: string;
11
+ onChange: (value: string) => void;
12
+ /** Source value to auto-generate slug from (e.g. title field). */
13
+ sourceValue?: string;
14
+ placeholder?: string;
15
+ disabled?: boolean;
16
+ required?: boolean;
17
+ error?: string;
18
+ helpTextId?: string;
19
+ errorId?: string;
20
+ prefix?: string;
21
+ }
22
+ export declare function SlugField({ id, value, onChange, sourceValue, placeholder, disabled, required, error, helpTextId, errorId, prefix, }: SlugFieldProps): ReactElement;
23
+ //# sourceMappingURL=SlugField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlugField.d.ts","sourceRoot":"","sources":["../../../../src/base/form/fields/SlugField.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAoC,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAc5E,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,SAAS,CAAC,EACxB,EAAE,EACF,KAAK,EACL,QAAQ,EACR,WAAW,EACX,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,UAAU,EACV,OAAO,EACP,MAAM,GACP,EAAE,cAAc,GAAG,YAAY,CA0C/B"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * TagsField -- chip-based tag input with keyboard support.
3
+ *
4
+ * Enter or comma adds a tag. Backspace removes the last tag.
5
+ * Tags are stored as string array.
6
+ */
7
+ import { type ReactElement } from "react";
8
+ export interface TagsFieldProps {
9
+ id: string;
10
+ value: string[];
11
+ onChange: (value: string[]) => void;
12
+ placeholder?: string;
13
+ disabled?: boolean;
14
+ required?: boolean;
15
+ error?: string;
16
+ helpTextId?: string;
17
+ errorId?: string;
18
+ maxTags?: number;
19
+ }
20
+ export declare function TagsField({ id, value, onChange, placeholder, disabled, required, error, helpTextId, errorId, maxTags, }: TagsFieldProps): ReactElement;
21
+ //# sourceMappingURL=TagsField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TagsField.d.ts","sourceRoot":"","sources":["../../../../src/base/form/fields/TagsField.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAA0C,KAAK,YAAY,EAAsB,MAAM,OAAO,CAAC;AAGtG,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,SAAS,CAAC,EACxB,EAAE,EACF,KAAK,EACL,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,UAAU,EACV,OAAO,EACP,OAAO,GACR,EAAE,cAAc,GAAG,YAAY,CAsF/B"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Document validation utilities.
3
+ *
4
+ * Extracted from DocumentField to satisfy react-refresh/only-export-components.
5
+ */
6
+ export type DocumentType = "cpf" | "cnpj" | "ein" | "vat" | "generic";
7
+ /** Check if document value is valid. */
8
+ export declare function isValidDocument(value: string, type: DocumentType): boolean;
9
+ //# sourceMappingURL=document-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-validation.d.ts","sourceRoot":"","sources":["../../../../src/base/form/fields/document-validation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;AAqDtE,wCAAwC;AACxC,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAE1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/base/partials/DataTable/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,KAAK,YAAY,EAOlB,MAAM,OAAO,CAAC;AAsCf,OAAO,KAAK,EAEV,cAAc,EAGf,MAAM,SAAS,CAAC;AA+cjB,wBAAgB,SAAS,CAAC,KAAK,SAAS,MAAM,EAAE,EAC9C,OAAO,EACP,IAAI,EACJ,MAAM,EAAE,UAAU,EAClB,UAAU,EACV,IAAI,EACJ,OAAO,EACP,cAAmB,EACnB,UAAU,EACV,oBAA4B,EAC5B,WAAW,EACX,SAAiB,EACjB,iBAAiB,EAAE,kBAAkB,EACrC,WAAW,EAAE,gBAAqB,EAClC,cAAc,EACd,eAAe,EAAE,gBAAgB,EACjC,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,EACV,cAAc,GACf,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,YAAY,CA4jBtC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/base/partials/DataTable/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,KAAK,YAAY,EAOlB,MAAM,OAAO,CAAC;AAsCf,OAAO,KAAK,EAEV,cAAc,EAGf,MAAM,SAAS,CAAC;AA+cjB,wBAAgB,SAAS,CAAC,KAAK,SAAS,MAAM,EAAE,EAC9C,OAAO,EACP,IAAI,EACJ,MAAM,EAAE,UAAU,EAClB,UAAU,EACV,IAAI,EACJ,OAAO,EACP,cAAmB,EACnB,UAAU,EACV,oBAA4B,EAC5B,WAAW,EACX,SAAiB,EACjB,iBAAiB,EAAE,kBAAkB,EACrC,WAAW,EAAE,gBAAqB,EAClC,cAAc,EACd,eAAe,EAAE,gBAAgB,EACjC,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,EACV,cAAc,GACf,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,YAAY,CA6jBtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/base/partials/DetailSection/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AA4BjE,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,QAAQ,GACR,WAAW,GACX,SAAS,GACT,MAAM,GACN,MAAM,GACN,OAAO,CAAC;AAEZ,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACxC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAmQD,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAS,GACV,EAAE,kBAAkB,GAAG,YAAY,CAYnC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/base/partials/DetailSection/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AA6BjE,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,QAAQ,GACR,WAAW,GACX,SAAS,GACT,MAAM,GACN,MAAM,GACN,OAAO,CAAC;AAEZ,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACxC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAuQD,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAS,GACV,EAAE,kBAAkB,GAAG,YAAY,CAYnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/base/partials/MarkdownContent/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAGL,KAAK,YAAY,EAElB,MAAM,OAAO,CAAC;AAgBf,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAwRD,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,SAAS,EACT,SAAS,GACV,EAAE,oBAAoB,GAAG,YAAY,CAmCrC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/base/partials/MarkdownContent/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAGL,KAAK,YAAY,EAElB,MAAM,OAAO,CAAC;AAgBf,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAyRD,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,SAAS,EACT,SAAS,GACV,EAAE,oBAAoB,GAAG,YAAY,CAmCrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProductShell.d.ts","sourceRoot":"","sources":["../../../src/base/shell/ProductShell.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAevD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAmFnD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE,UAAU,GAAG,YAAY,CASnE"}
1
+ {"version":3,"file":"ProductShell.d.ts","sourceRoot":"","sources":["../../../src/base/shell/ProductShell.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAA0B,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAgBlE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAmFnD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE,UAAU,GAAG,YAAY,CAgBnE"}
@@ -1 +1 @@
1
- {"version":3,"file":"SidebarNav.d.ts","sourceRoot":"","sources":["../../../../src/base/shell/partials/SidebarNav.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EACL,KAAK,YAAY,EAMlB,MAAM,OAAO,CAAC;AA+kCf,wBAAgB,UAAU,IAAI,YAAY,CAczC"}
1
+ {"version":3,"file":"SidebarNav.d.ts","sourceRoot":"","sources":["../../../../src/base/shell/partials/SidebarNav.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EACL,KAAK,YAAY,EAMlB,MAAM,OAAO,CAAC;AAksCf,wBAAgB,UAAU,IAAI,YAAY,CA4BzC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Host layout detector -- measures the host platform's header height
3
+ * and sets --host-header-height on :root.
4
+ *
5
+ * The sidebar primitive reads var(--host-header-height, 0px) for
6
+ * top offset and height. Without this, the sidebar starts at viewport top.
7
+ *
8
+ * Detection is read-only -- never modifies the host's DOM.
9
+ * Re-measures on window resize and DOM mutations (admin notices, etc.).
10
+ *
11
+ * Known host headers:
12
+ * - Moodle Boost: nav.navbar, [data-region="navbar"]
13
+ * - WordPress: #wpadminbar
14
+ * - Generic: [data-host-header], header:first-child
15
+ */
16
+ /**
17
+ * Initialize host header height detection.
18
+ *
19
+ * Call once from your production entry point (or from ProductShell mount).
20
+ * Sets --host-header-height immediately, then observes resize + DOM mutations.
21
+ *
22
+ * Safe to call in dev/mock (returns 0 if no host header is found).
23
+ * Idempotent (calling multiple times does not stack observers).
24
+ */
25
+ export declare function initHostHeaderHeight(): void;
26
+ /**
27
+ * Set --host-header-height to a fixed value (for mock/dev).
28
+ * Bypasses auto-detection. Call initHostHeaderHeight() to resume auto mode.
29
+ */
30
+ export declare function setHostHeaderHeight(px: number): void;
31
+ /**
32
+ * Clean up observers (for testing or unmount).
33
+ */
34
+ export declare function destroyHostHeaderHeight(): void;
35
+ //# sourceMappingURL=host-layout-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-layout-detector.d.ts","sourceRoot":"","sources":["../../../src/base/theme/host-layout-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAkDH;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAwB3C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAMpD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAS9C"}