@axzydev/axzy_ui_system 1.5.3 → 1.7.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 (35) hide show
  1. package/dist/index.cjs +6071 -4316
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.css +1 -1
  4. package/dist/index.css.map +1 -1
  5. package/dist/index.d.cts +145 -1
  6. package/dist/index.d.ts +145 -1
  7. package/dist/index.js +4493 -2723
  8. package/dist/index.js.map +1 -1
  9. package/dist/layered.css +1 -1
  10. package/package.json +1 -1
  11. package/src/App.tsx +10 -0
  12. package/src/components/molecules/json-editor/json-editor-tree.tsx +235 -0
  13. package/src/components/molecules/json-editor/json-editor.index.ts +2 -0
  14. package/src/components/molecules/json-editor/json-editor.props.ts +82 -0
  15. package/src/components/molecules/json-editor/json-editor.tsx +972 -0
  16. package/src/components/molecules/json-editor/json-editor.utils.ts +717 -0
  17. package/src/components/molecules/json-editor/useJsonEditorKeyboard.ts +256 -0
  18. package/src/components/molecules/json-renderer/json-renderer.index.ts +2 -0
  19. package/src/components/molecules/json-renderer/json-renderer.props.ts +31 -0
  20. package/src/components/molecules/json-renderer/json-renderer.tsx +79 -0
  21. package/src/components/organisms/sidebar/sidebar.tsx +51 -14
  22. package/src/dev.css +24 -1
  23. package/src/hooks/useJsonRender.tsx +9 -0
  24. package/src/i18n/locales/en.ts +54 -0
  25. package/src/i18n/locales/es.ts +54 -0
  26. package/src/index.css +414 -0
  27. package/src/index.ts +10 -2
  28. package/src/sandbox/AxzyLogo.tsx +139 -0
  29. package/src/sandbox/i18n.ts +2 -0
  30. package/src/sandbox/navigation.ts +2 -0
  31. package/src/showcases/FeedbackShowcases.tsx +16 -5
  32. package/src/showcases/HomeShowcase.tsx +16 -9
  33. package/src/showcases/JsonEditorShowcase.tsx +150 -0
  34. package/src/showcases/JsonRendererShowcase.tsx +70 -0
  35. package/src/showcases/StructureShowcases.tsx +9 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.css"],"sourcesContent":["@import \"tailwindcss\";\n\n@source \"./**/*.{ts,tsx}\";\n\n@variant dark (&:is(.dark &));\n\n@theme {\n --animate-fadeIn: fadeIn 0.5s ease-out forwards;\n --animate-fade-in: fadeIn 0.5s ease-out forwards;\n\n --color-primary-50: #eff6ff;\n --color-primary-100: #dbeafe;\n --color-primary-200: #bfdbfe;\n --color-primary-300: #93c5fd;\n --color-primary-400: #60a5fa;\n --color-primary-500: #3b82f6;\n --color-primary-600: #2563eb;\n --color-primary-700: #1d4ed8;\n --color-primary-800: #1e40af;\n --color-primary-900: #1e3a8a;\n --color-primary-950: #172554;\n\n --color-secondary-50: #f8fafc;\n --color-secondary-100: #f1f5f9;\n --color-secondary-200: #e2e8f0;\n --color-secondary-300: #cbd5e1;\n --color-secondary-400: #94a3b8;\n --color-secondary-500: #64748b;\n --color-secondary-600: #475569;\n\n --color-text-muted: #475569;\n --color-secondary-700: #334155;\n --color-secondary-800: #1e293b;\n --color-secondary-900: #0f172a;\n --color-secondary-950: #020617;\n\n --color-success-50: #ecfdf5;\n --color-success-100: #d1fae5;\n --color-success-200: #a7f3d0;\n --color-success-300: #6ee7b7;\n --color-success-400: #34d399;\n --color-success-500: #10b981;\n --color-success-600: #059669;\n --color-success-700: #047857;\n --color-success-800: #065f46;\n --color-success-900: #064e3b;\n --color-success-950: #022c22;\n\n --color-danger-50: #fff1f2;\n --color-danger-100: #ffe4e6;\n --color-danger-200: #fecdd3;\n --color-danger-300: #fda4af;\n --color-danger-400: #fb7185;\n --color-danger-500: #f43f5e;\n --color-danger-600: #e11d48;\n --color-danger-700: #be123c;\n --color-danger-800: #9f1239;\n --color-danger-900: #881337;\n --color-danger-950: #4c0519;\n\n --color-warning-50: #fffbeb;\n --color-warning-100: #fef3c7;\n --color-warning-200: #fde68a;\n --color-warning-300: #fcd34d;\n --color-warning-400: #fbbf24;\n --color-warning-500: #f59e0b;\n --color-warning-600: #d97706;\n --color-warning-700: #b45309;\n --color-warning-800: #92400e;\n --color-warning-900: #78350f;\n --color-warning-950: #451a03;\n\n --color-purple-50: #f5f3ff;\n --color-purple-100: #ede9fe;\n --color-purple-200: #ddd6fe;\n --color-purple-300: #c4b5fd;\n --color-purple-400: #a78bfa;\n --color-purple-500: #8b5cf6;\n --color-purple-600: #7c3aed;\n --color-purple-700: #6d28d9;\n --color-purple-800: #5b21b6;\n --color-purple-900: #4c1d95;\n --color-purple-950: #2e1065;\n\n --color-info-50: #f0f9ff;\n --color-info-100: #e0f2fe;\n --color-info-200: #bae6fd;\n --color-info-300: #7dd3fc;\n --color-info-400: #38bdf8;\n --color-info-500: #0ea5e9;\n --color-info-600: #0284c7;\n --color-info-700: #0369a1;\n --color-info-800: #075985;\n --color-info-900: #0c4a6e;\n --color-info-950: #082f49;\n\n /* Soft-depth radius scale: larger, more consistent rounding across the system */\n --radius-xs: 0.25rem;\n --radius-sm: 0.375rem;\n --radius-md: 0.625rem;\n --radius-lg: 0.875rem;\n --radius-xl: 1.125rem;\n --radius-2xl: 1.5rem;\n --radius-3xl: 2rem;\n\n /* Soft-depth shadow scale: cool slate-tinted, low-opacity, multi-layer.\n Overrides Tailwind's default shadow-* tokens system-wide so every\n existing shadow-* usage picks up the new \"floating\" look with no\n per-component changes. */\n --shadow-2xs: 0 1px 2px 0 rgb(15 23 42 / 0.04);\n --shadow-xs: 0 1px 3px 0 rgb(15 23 42 / 0.05), 0 1px 2px -1px rgb(15 23 42 / 0.04);\n --shadow-sm: 0 2px 6px -1px rgb(15 23 42 / 0.06), 0 1px 3px -1px rgb(15 23 42 / 0.05);\n --shadow-md: 0 6px 16px -4px rgb(15 23 42 / 0.08), 0 3px 6px -3px rgb(15 23 42 / 0.05);\n --shadow-lg: 0 12px 28px -6px rgb(15 23 42 / 0.1), 0 6px 12px -6px rgb(15 23 42 / 0.06);\n --shadow-xl: 0 20px 40px -8px rgb(15 23 42 / 0.12), 0 10px 20px -8px rgb(15 23 42 / 0.06);\n --shadow-2xl: 0 32px 64px -16px rgb(15 23 42 / 0.18);\n --shadow: 0 2px 6px -1px rgb(15 23 42 / 0.06), 0 1px 3px -1px rgb(15 23 42 / 0.05);\n --shadow-inner: inset 0 2px 4px 0 rgb(15 23 42 / 0.04);\n}\n\n@keyframes fadeIn {\n from { opacity: 0; transform: translateY(8px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n/* ──────────────────────────────────────────────\n GRID DINÁMICO (grid-cols-* / col-span-*)\n Tailwind v4 ya genera estas utilities nativamente (incl. variants sm/md/lg/xl).\n Estas @source inline son un safelist: fuerzan la generación de los valores\n dinámicos construidos en runtime (grid.tsx, styles.ts → `col-span-${n}`),\n que el scanner estático no puede ver. Sin esto, las clases dinámicas no\n existirían en el bundle.\n ────────────────────────────────────────────── */\n@source inline(\"grid-cols-1 grid-cols-2 grid-cols-3 grid-cols-4 grid-cols-5 grid-cols-6 grid-cols-7 grid-cols-8 grid-cols-9 grid-cols-10 grid-cols-11 grid-cols-12\");\n@source inline(\"col-span-1 col-span-2 col-span-3 col-span-4 col-span-5 col-span-6 col-span-7 col-span-8 col-span-9 col-span-10 col-span-11 col-span-12 col-span-full\");\n@source inline(\"sm:col-span-1 sm:col-span-2 sm:col-span-3 sm:col-span-4 sm:col-span-5 sm:col-span-6 sm:col-span-7 sm:col-span-8 sm:col-span-9 sm:col-span-10 sm:col-span-11 sm:col-span-12 sm:col-span-full\");\n@source inline(\"md:col-span-1 md:col-span-2 md:col-span-3 md:col-span-4 md:col-span-5 md:col-span-6 md:col-span-7 md:col-span-8 md:col-span-9 md:col-span-10 md:col-span-11 md:col-span-12 md:col-span-full\");\n@source inline(\"lg:col-span-1 lg:col-span-2 lg:col-span-3 lg:col-span-4 lg:col-span-5 lg:col-span-6 lg:col-span-7 lg:col-span-8 lg:col-span-9 lg:col-span-10 lg:col-span-11 lg:col-span-12 lg:col-span-full\");\n@source inline(\"xl:col-span-1 xl:col-span-2 xl:col-span-3 xl:col-span-4 xl:col-span-5 xl:col-span-6 xl:col-span-7 xl:col-span-8 xl:col-span-9 xl:col-span-10 xl:col-span-11 xl:col-span-12 xl:col-span-full\");\n\n/* ──────────────────────────────────────────────\n ANIMACIONES DE COMPONENTES (scoped it-*)\n Antes vivían en toast.css / stepper.css sueltos que NUNCA llegaban al bundle\n de dist (bug: animaciones muertas para consumidores) y usaban clases\n genéricas sin prefijo. Ahora van en @layer components con prefijo it-*.\n ────────────────────────────────────────────── */\n@layer components {\n @keyframes it-slide-in-right {\n from { opacity: 0; transform: translateX(24px); }\n to { opacity: 1; transform: translateX(0); }\n }\n @keyframes it-slide-in-left {\n from { opacity: 0; transform: translateX(-24px); }\n to { opacity: 1; transform: translateX(0); }\n }\n .it-stepper-slide-in-right {\n animation: it-slide-in-right 320ms cubic-bezier(0.2, 0.8, 0.2, 1) both;\n }\n .it-stepper-slide-in-left {\n animation: it-slide-in-left 320ms cubic-bezier(0.2, 0.8, 0.2, 1) both;\n }\n\n /* Pinned (frozen) table columns: 1px edge separator on the frozen side.\n Background + hover live in the component as Tailwind arbitrary utilities so\n the cell matches --color-table-rowBg / --color-table-rowHover. */\n :where(.it-table-pinned-left) {\n box-shadow: inset -1px 0 0 0 var(--color-secondary-200);\n }\n :where(.it-table-pinned-right) {\n box-shadow: inset 1px 0 0 0 var(--color-secondary-200);\n }\n}"],"mappings":";;;AAEA,QAAQ;AAER,SAAS,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK;AAE1B,OAAO,EACL,gBAAgB,EAAE,OAAO,KAAK,SAAS,QAAQ,EAC/C,iBAAiB,EAAE,OAAO,KAAK,SAAS,QAAQ,EAEhD,kBAAkB,EAAE,OAAO,EAC3B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAE5B,oBAAoB,EAAE,OAAO,EAC7B,qBAAqB,EAAE,OAAO,EAC9B,qBAAqB,EAAE,OAAO,EAC9B,qBAAqB,EAAE,OAAO,EAC9B,qBAAqB,EAAE,OAAO,EAC9B,qBAAqB,EAAE,OAAO,EAC9B,qBAAqB,EAAE,OAAO,EAE9B,kBAAkB,EAAE,OAAO,EAC3B,qBAAqB,EAAE,OAAO,EAC9B,qBAAqB,EAAE,OAAO,EAC9B,qBAAqB,EAAE,OAAO,EAC9B,qBAAqB,EAAE,OAAO,EAE9B,kBAAkB,EAAE,OAAO,EAC3B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAE5B,iBAAiB,EAAE,OAAO,EAC1B,kBAAkB,EAAE,OAAO,EAC3B,kBAAkB,EAAE,OAAO,EAC3B,kBAAkB,EAAE,OAAO,EAC3B,kBAAkB,EAAE,OAAO,EAC3B,kBAAkB,EAAE,OAAO,EAC3B,kBAAkB,EAAE,OAAO,EAC3B,kBAAkB,EAAE,OAAO,EAC3B,kBAAkB,EAAE,OAAO,EAC3B,kBAAkB,EAAE,OAAO,EAC3B,kBAAkB,EAAE,OAAO,EAE3B,kBAAkB,EAAE,OAAO,EAC3B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAE5B,iBAAiB,EAAE,OAAO,EAC1B,kBAAkB,EAAE,OAAO,EAC3B,kBAAkB,EAAE,OAAO,EAC3B,kBAAkB,EAAE,OAAO,EAC3B,kBAAkB,EAAE,OAAO,EAC3B,kBAAkB,EAAE,OAAO,EAC3B,kBAAkB,EAAE,OAAO,EAC3B,kBAAkB,EAAE,OAAO,EAC3B,kBAAkB,EAAE,OAAO,EAC3B,kBAAkB,EAAE,OAAO,EAC3B,kBAAkB,EAAE,OAAO,EAE3B,eAAe,EAAE,OAAO,EACxB,gBAAgB,EAAE,OAAO,EACzB,gBAAgB,EAAE,OAAO,EACzB,gBAAgB,EAAE,OAAO,EACzB,gBAAgB,EAAE,OAAO,EACzB,gBAAgB,EAAE,OAAO,EACzB,gBAAgB,EAAE,OAAO,EACzB,gBAAgB,EAAE,OAAO,EACzB,gBAAgB,EAAE,OAAO,EACzB,gBAAgB,EAAE,OAAO,EACzB,gBAAgB,EAAE,OAAO,EAGzB,WAAW,EAAE,OAAO,EACpB,WAAW,EAAE,QAAQ,EACrB,WAAW,EAAE,QAAQ,EACrB,WAAW,EAAE,QAAQ,EACrB,WAAW,EAAE,QAAQ,EACrB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,IAAI,EAMlB,YAAY,EAAE,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,GAAG,GAAG,EAAE,KAAK,EAC9C,WAAW,EAAE,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,KAAK,EAClF,WAAW,EAAE,EAAE,IAAI,IAAI,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,KAAK,EACrF,WAAW,EAAE,EAAE,IAAI,KAAK,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,KAAK,EACtF,WAAW,EAAE,EAAE,KAAK,KAAK,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,KAAK,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,KAAK,EACvF,WAAW,EAAE,EAAE,KAAK,KAAK,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,KAAK,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,KAAK,EACzF,YAAY,EAAE,EAAE,KAAK,KAAK,MAAM,IAAI,GAAG,GAAG,GAAG,EAAE,KAAK,EACpD,QAAQ,EAAE,EAAE,IAAI,IAAI,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,KAAK,EAClF,cAAc,EAAE,MAAM,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,GAAG,GAAG,EAAE,KAAK;AAGxD,WAAW;AACT;AAAO,aAAS;AAAG,eAAW,WAAW;AAAM;AAC/C;AAAK,aAAS;AAAG,eAAW,WAAW;AAAI;AAC7C;AAUA,QAAQ,OAAO;AACf,QAAQ,OAAO;AACf,QAAQ,OAAO;AACf,QAAQ,OAAO;AACf,QAAQ,OAAO;AACf,QAAQ,OAAO;AAQf;AACE,aAAW;AACT;AAAO,eAAS;AAAG,iBAAW,WAAW;AAAO;AAChD;AAAK,eAAS;AAAG,iBAAW,WAAW;AAAI;AAC7C;AACA,aAAW;AACT;AAAO,eAAS;AAAG,iBAAW,WAAW;AAAQ;AACjD;AAAK,eAAS;AAAG,iBAAW,WAAW;AAAI;AAC7C;AACA,GAAC;AACC,eAAW,kBAAkB,MAAM,aAAa,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AACpE;AACA,GAAC;AACC,eAAW,iBAAiB,MAAM,aAAa,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AACnE;AAKA,SAAO,CAAC;AACN,gBAAY,MAAM,KAAK,EAAE,EAAE,EAAE,IAAI;AACnC;AACA,SAAO,CAAC;AACN,gBAAY,MAAM,IAAI,EAAE,EAAE,EAAE,IAAI;AAClC;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/index.css"],"sourcesContent":["@import \"tailwindcss\";\n\n@source \"./**/*.{ts,tsx}\";\n\n@variant dark (&:is(.dark &));\n\n@theme {\n --animate-fadeIn: fadeIn 0.5s ease-out forwards;\n --animate-fade-in: fadeIn 0.5s ease-out forwards;\n\n --color-primary-50: #eff6ff;\n --color-primary-100: #dbeafe;\n --color-primary-200: #bfdbfe;\n --color-primary-300: #93c5fd;\n --color-primary-400: #60a5fa;\n --color-primary-500: #3b82f6;\n --color-primary-600: #2563eb;\n --color-primary-700: #1d4ed8;\n --color-primary-800: #1e40af;\n --color-primary-900: #1e3a8a;\n --color-primary-950: #172554;\n\n --color-secondary-50: #f8fafc;\n --color-secondary-100: #f1f5f9;\n --color-secondary-200: #e2e8f0;\n --color-secondary-300: #cbd5e1;\n --color-secondary-400: #94a3b8;\n --color-secondary-500: #64748b;\n --color-secondary-600: #475569;\n\n --color-text-muted: #475569;\n --color-secondary-700: #334155;\n --color-secondary-800: #1e293b;\n --color-secondary-900: #0f172a;\n --color-secondary-950: #020617;\n\n --color-success-50: #ecfdf5;\n --color-success-100: #d1fae5;\n --color-success-200: #a7f3d0;\n --color-success-300: #6ee7b7;\n --color-success-400: #34d399;\n --color-success-500: #10b981;\n --color-success-600: #059669;\n --color-success-700: #047857;\n --color-success-800: #065f46;\n --color-success-900: #064e3b;\n --color-success-950: #022c22;\n\n --color-danger-50: #fff1f2;\n --color-danger-100: #ffe4e6;\n --color-danger-200: #fecdd3;\n --color-danger-300: #fda4af;\n --color-danger-400: #fb7185;\n --color-danger-500: #f43f5e;\n --color-danger-600: #e11d48;\n --color-danger-700: #be123c;\n --color-danger-800: #9f1239;\n --color-danger-900: #881337;\n --color-danger-950: #4c0519;\n\n --color-warning-50: #fffbeb;\n --color-warning-100: #fef3c7;\n --color-warning-200: #fde68a;\n --color-warning-300: #fcd34d;\n --color-warning-400: #fbbf24;\n --color-warning-500: #f59e0b;\n --color-warning-600: #d97706;\n --color-warning-700: #b45309;\n --color-warning-800: #92400e;\n --color-warning-900: #78350f;\n --color-warning-950: #451a03;\n\n --color-purple-50: #f5f3ff;\n --color-purple-100: #ede9fe;\n --color-purple-200: #ddd6fe;\n --color-purple-300: #c4b5fd;\n --color-purple-400: #a78bfa;\n --color-purple-500: #8b5cf6;\n --color-purple-600: #7c3aed;\n --color-purple-700: #6d28d9;\n --color-purple-800: #5b21b6;\n --color-purple-900: #4c1d95;\n --color-purple-950: #2e1065;\n\n --color-info-50: #f0f9ff;\n --color-info-100: #e0f2fe;\n --color-info-200: #bae6fd;\n --color-info-300: #7dd3fc;\n --color-info-400: #38bdf8;\n --color-info-500: #0ea5e9;\n --color-info-600: #0284c7;\n --color-info-700: #0369a1;\n --color-info-800: #075985;\n --color-info-900: #0c4a6e;\n --color-info-950: #082f49;\n\n /* Soft-depth radius scale: larger, more consistent rounding across the system */\n --radius-xs: 0.25rem;\n --radius-sm: 0.375rem;\n --radius-md: 0.625rem;\n --radius-lg: 0.875rem;\n --radius-xl: 1.125rem;\n --radius-2xl: 1.5rem;\n --radius-3xl: 2rem;\n\n /* Soft-depth shadow scale: cool slate-tinted, low-opacity, multi-layer.\n Overrides Tailwind's default shadow-* tokens system-wide so every\n existing shadow-* usage picks up the new \"floating\" look with no\n per-component changes. */\n --shadow-2xs: 0 1px 2px 0 rgb(15 23 42 / 0.04);\n --shadow-xs: 0 1px 3px 0 rgb(15 23 42 / 0.05), 0 1px 2px -1px rgb(15 23 42 / 0.04);\n --shadow-sm: 0 2px 6px -1px rgb(15 23 42 / 0.06), 0 1px 3px -1px rgb(15 23 42 / 0.05);\n --shadow-md: 0 6px 16px -4px rgb(15 23 42 / 0.08), 0 3px 6px -3px rgb(15 23 42 / 0.05);\n --shadow-lg: 0 12px 28px -6px rgb(15 23 42 / 0.1), 0 6px 12px -6px rgb(15 23 42 / 0.06);\n --shadow-xl: 0 20px 40px -8px rgb(15 23 42 / 0.12), 0 10px 20px -8px rgb(15 23 42 / 0.06);\n --shadow-2xl: 0 32px 64px -16px rgb(15 23 42 / 0.18);\n --shadow: 0 2px 6px -1px rgb(15 23 42 / 0.06), 0 1px 3px -1px rgb(15 23 42 / 0.05);\n --shadow-inner: inset 0 2px 4px 0 rgb(15 23 42 / 0.04);\n}\n\n@keyframes fadeIn {\n from { opacity: 0; transform: translateY(8px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n/* ──────────────────────────────────────────────\n GRID DINÁMICO (grid-cols-* / col-span-*)\n Tailwind v4 ya genera estas utilities nativamente (incl. variants sm/md/lg/xl).\n Estas @source inline son un safelist: fuerzan la generación de los valores\n dinámicos construidos en runtime (grid.tsx, styles.ts → `col-span-${n}`),\n que el scanner estático no puede ver. Sin esto, las clases dinámicas no\n existirían en el bundle.\n ────────────────────────────────────────────── */\n@source inline(\"grid-cols-1 grid-cols-2 grid-cols-3 grid-cols-4 grid-cols-5 grid-cols-6 grid-cols-7 grid-cols-8 grid-cols-9 grid-cols-10 grid-cols-11 grid-cols-12\");\n@source inline(\"col-span-1 col-span-2 col-span-3 col-span-4 col-span-5 col-span-6 col-span-7 col-span-8 col-span-9 col-span-10 col-span-11 col-span-12 col-span-full\");\n@source inline(\"sm:col-span-1 sm:col-span-2 sm:col-span-3 sm:col-span-4 sm:col-span-5 sm:col-span-6 sm:col-span-7 sm:col-span-8 sm:col-span-9 sm:col-span-10 sm:col-span-11 sm:col-span-12 sm:col-span-full\");\n@source inline(\"md:col-span-1 md:col-span-2 md:col-span-3 md:col-span-4 md:col-span-5 md:col-span-6 md:col-span-7 md:col-span-8 md:col-span-9 md:col-span-10 md:col-span-11 md:col-span-12 md:col-span-full\");\n@source inline(\"lg:col-span-1 lg:col-span-2 lg:col-span-3 lg:col-span-4 lg:col-span-5 lg:col-span-6 lg:col-span-7 lg:col-span-8 lg:col-span-9 lg:col-span-10 lg:col-span-11 lg:col-span-12 lg:col-span-full\");\n@source inline(\"xl:col-span-1 xl:col-span-2 xl:col-span-3 xl:col-span-4 xl:col-span-5 xl:col-span-6 xl:col-span-7 xl:col-span-8 xl:col-span-9 xl:col-span-10 xl:col-span-11 xl:col-span-12 xl:col-span-full\");\n\n/* ──────────────────────────────────────────────\n ANIMACIONES DE COMPONENTES (scoped it-*)\n Antes vivían en toast.css / stepper.css sueltos que NUNCA llegaban al bundle\n de dist (bug: animaciones muertas para consumidores) y usaban clases\n genéricas sin prefijo. Ahora van en @layer components con prefijo it-*.\n ────────────────────────────────────────────── */\n@layer components {\n @keyframes it-slide-in-right {\n from { opacity: 0; transform: translateX(24px); }\n to { opacity: 1; transform: translateX(0); }\n }\n @keyframes it-slide-in-left {\n from { opacity: 0; transform: translateX(-24px); }\n to { opacity: 1; transform: translateX(0); }\n }\n .it-stepper-slide-in-right {\n animation: it-slide-in-right 320ms cubic-bezier(0.2, 0.8, 0.2, 1) both;\n }\n .it-stepper-slide-in-left {\n animation: it-slide-in-left 320ms cubic-bezier(0.2, 0.8, 0.2, 1) both;\n }\n\n /* Pinned (frozen) table columns: 1px edge separator on the frozen side.\n Background + hover live in the component as Tailwind arbitrary utilities so\n the cell matches --color-table-rowBg / --color-table-rowHover. */\n :where(.it-table-pinned-left) {\n box-shadow: inset -1px 0 0 0 var(--color-secondary-200);\n }\n :where(.it-table-pinned-right) {\n box-shadow: inset 1px 0 0 0 var(--color-secondary-200);\n }\n\n /* ── ITJSONEditor ────────────────────────────────────────────────────────\n Editor de código sobre <textarea>: una capa con el JSON resaltado se pinta\n debajo del textarea transparente. Las dos capas comparten tipografía y\n `line-height`, y el alto de línea lo mide el componente en el DOM\n (`--it-json-editor-line`), de ahí que aquí solo se fije la métrica. */\n :where(.it-json-editor-canvas) {\n --it-json-editor-line: 21px;\n background: #fbfcfd;\n }\n :where(.it-json-editor-canvas[data-canvas=\"ink\"]) {\n background: #0b1120;\n }\n :where(.dark .it-json-editor-canvas) {\n background: #020617;\n }\n\n :where(.it-json-editor-code) {\n font-family: \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n font-size: 12.5px;\n /* Misma métrica que el textarea: los dos consumen la variable que publica el\n componente con el alto de línea real. */\n line-height: var(--it-json-editor-line, 21px);\n tab-size: 2;\n color: #334155;\n }\n /* El relleno vive en `.it-json-editor-code`, que es la clase compartida por la\n capa resaltada y el textarea: así las dos cajas de scroll tienen el mismo\n contenido y desplazan igual, y el alto de cada línea es exactamente\n `--it-json-editor-line` para que el gutter no se desincronice. */\n :where(.it-json-editor-code) {\n padding: 10px 12px;\n }\n :where(.it-json-editor-code-line) {\n white-space: pre;\n }\n :where(.it-json-editor-highlight) {\n position: absolute;\n inset: 0;\n z-index: 0;\n pointer-events: none;\n }\n :where(.it-json-editor-canvas[data-canvas=\"ink\"] .it-json-editor-code) {\n color: #cbd5e1;\n }\n\n /* Textarea: texto transparente y cursor visible, encima de la capa pintada.\n Las métricas de texto van declaradas **aquí** y no heredadas de\n `.it-json-editor-code`: el textarea no es hijo de esa capa, así que sin esto\n usa la tipografía de la página y el caret del navegador deja de coincidir\n con el glifo pintado (el clic cae en otro carácter). */\n :where(.it-json-editor-textarea) {\n position: absolute;\n inset: 0;\n z-index: 1;\n width: 100%;\n height: 100%;\n margin: 0;\n border: 0;\n resize: none;\n outline: none;\n background: transparent;\n color: transparent;\n caret-color: #2563eb;\n -webkit-text-fill-color: transparent;\n font-family: \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n font-size: 12.5px;\n line-height: var(--it-json-editor-line, 21px);\n tab-size: 2;\n letter-spacing: normal;\n padding: 10px 12px;\n white-space: pre;\n overflow-wrap: normal;\n word-break: normal;\n }\n :where(.it-json-editor-canvas[data-canvas=\"ink\"] .it-json-editor-textarea) {\n caret-color: #7dd3fc;\n }\n :where(.it-json-editor-textarea)::placeholder {\n color: #94a3b8;\n -webkit-text-fill-color: #94a3b8;\n }\n :where(.it-json-editor-textarea)::selection {\n background: rgb(37 99 235 / 0.25);\n }\n :where(.it-json-editor-canvas[data-canvas=\"ink\"] .it-json-editor-textarea)::selection {\n background: rgb(125 211 252 / 0.25);\n }\n :where(.it-json-editor-nowrap) {\n white-space: pre;\n overflow: auto;\n }\n\n /* Gutter: números y controles de plegado, con la misma rejilla que el código. */\n :where(.it-json-editor-gutter),\n :where(.it-json-editor-linenumbers) {\n background: rgb(148 163 184 / 0.08);\n border-right: 1px solid rgb(148 163 184 / 0.22);\n }\n :where(.it-json-editor-gutter-row) {\n display: flex;\n align-items: flex-start;\n justify-content: flex-end;\n }\n :where(.it-json-editor-fold) {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n margin: 2px 1px 0 0;\n border: 0;\n border-radius: 4px;\n background: transparent;\n color: #64748b;\n cursor: pointer;\n }\n :where(.it-json-editor-canvas[data-canvas=\"ink\"] .it-json-editor-fold) {\n color: #94a3b8;\n }\n :where(.it-json-editor-fold:hover) {\n background: rgb(148 163 184 / 0.25);\n color: #1d4ed8;\n }\n :where(.it-json-editor-fold:focus-visible) {\n outline: 2px solid var(--color-primary-500);\n outline-offset: 1px;\n }\n :where(.it-json-editor-linenumber) {\n padding-right: 10px;\n padding-left: 10px;\n font-family: \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n font-size: 11px;\n line-height: var(--it-json-editor-line);\n text-align: right;\n color: #94a3b8;\n white-space: pre;\n }\n :where(.it-json-editor-linenumber--active) {\n color: #1d4ed8;\n font-weight: 600;\n }\n :where(.it-json-editor-canvas[data-canvas=\"ink\"] .it-json-editor-linenumber) {\n color: #64748b;\n }\n :where(.it-json-editor-canvas[data-canvas=\"ink\"] .it-json-editor-linenumber--active) {\n color: #7dd3fc;\n }\n\n /* Fondos de línea (cursor y error). */\n :where(.it-json-editor-active-line) {\n z-index: 0;\n background: rgb(37 99 235 / 0.06);\n }\n :where(.it-json-editor-canvas[data-canvas=\"ink\"] .it-json-editor-active-line) {\n background: rgb(148 197 253 / 0.07);\n }\n :where(.it-json-editor-error-line) {\n z-index: 0;\n background: rgb(244 63 94 / 0.12);\n box-shadow: inset 2px 0 0 0 var(--color-danger-500);\n }\n\n /* Tokens del resaltado. */\n :where(.it-json-editor-tk-key) {\n color: #0369a1;\n }\n :where(.it-json-editor-tk-string) {\n color: #047857;\n }\n :where(.it-json-editor-tk-number) {\n color: #b45309;\n }\n :where(.it-json-editor-tk-keyword),\n :where(.it-json-editor-tk-null) {\n color: #7c3aed;\n }\n :where(.it-json-editor-tk-punct) {\n color: #64748b;\n }\n :where(.it-json-editor-tk-plain) {\n color: #b91c1c;\n text-decoration: underline wavy rgb(185 28 28 / 0.5);\n }\n :where(.it-json-editor-canvas[data-canvas=\"ink\"] .it-json-editor-tk-key) {\n color: #7dd3fc;\n }\n :where(.it-json-editor-canvas[data-canvas=\"ink\"] .it-json-editor-tk-string) {\n color: #86efac;\n }\n :where(.it-json-editor-canvas[data-canvas=\"ink\"] .it-json-editor-tk-number) {\n color: #fcd34d;\n }\n :where(.it-json-editor-canvas[data-canvas=\"ink\"] .it-json-editor-tk-keyword),\n :where(.it-json-editor-canvas[data-canvas=\"ink\"] .it-json-editor-tk-null) {\n color: #c4b5fd;\n }\n :where(.it-json-editor-canvas[data-canvas=\"ink\"] .it-json-editor-tk-punct) {\n color: #94a3b8;\n }\n :where(.it-json-editor-canvas[data-canvas=\"ink\"] .it-json-editor-tk-plain) {\n color: #fda4af;\n text-decoration: underline wavy rgb(253 164 175 / 0.5);\n }\n :where(.it-json-editor-fold-marker) {\n margin-left: 6px;\n padding: 0 4px;\n border-radius: 4px;\n background: rgb(148 163 184 / 0.2);\n font-size: 10.5px;\n color: #64748b;\n }\n :where(.it-json-editor-canvas[data-canvas=\"ink\"] .it-json-editor-fold-marker) {\n color: #94a3b8;\n }\n\n /* Botonera de la barra superior. */\n :where(.it-json-editor-tool) {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n height: 24px;\n padding: 0 8px;\n border: 1px solid var(--color-secondary-200);\n border-radius: 6px;\n background: transparent;\n font-family: \"JetBrains Mono\", ui-monospace, monospace;\n font-size: 10px;\n font-weight: 500;\n letter-spacing: 0.06em;\n text-transform: uppercase;\n color: var(--color-secondary-600);\n cursor: pointer;\n transition: background-color 120ms ease, color 120ms ease, border-color 120ms ease;\n }\n :where(.dark .it-json-editor-tool) {\n border-color: var(--color-secondary-800);\n color: var(--color-secondary-300);\n }\n :where(.it-json-editor-tool:hover:not(:disabled)) {\n border-color: var(--color-primary-400);\n background: var(--color-primary-50);\n color: var(--color-primary-700);\n }\n :where(.dark .it-json-editor-tool:hover:not(:disabled)) {\n border-color: var(--color-primary-500);\n background: rgb(37 99 235 / 0.15);\n color: var(--color-primary-300);\n }\n :where(.it-json-editor-tool:disabled) {\n opacity: 0.4;\n cursor: not-allowed;\n }\n :where(.it-json-editor-tool:focus-visible) {\n outline: 2px solid var(--color-primary-500);\n outline-offset: 1px;\n }\n\n /* Conmutador texto/árbol. */\n :where(.it-json-editor-segment) {\n display: inline-flex;\n align-items: center;\n border: 1px solid var(--color-secondary-200);\n border-radius: 6px;\n overflow: hidden;\n }\n :where(.dark .it-json-editor-segment) {\n border-color: var(--color-secondary-800);\n }\n :where(.it-json-editor-segment-item) {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n height: 24px;\n padding: 0 8px;\n border: 0;\n background: transparent;\n font-family: \"JetBrains Mono\", ui-monospace, monospace;\n font-size: 10px;\n font-weight: 500;\n letter-spacing: 0.06em;\n text-transform: uppercase;\n color: var(--color-secondary-500);\n cursor: pointer;\n }\n :where(.it-json-editor-segment-item--active) {\n background: var(--color-primary-600);\n color: #ffffff;\n }\n :where(.it-json-editor-segment-item:focus-visible) {\n outline: 2px solid var(--color-primary-500);\n outline-offset: -2px;\n }\n\n /* Interruptores de la fila de ajustes. */\n :where(.it-json-editor-toggle) {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n border: 0;\n background: transparent;\n font-family: \"JetBrains Mono\", ui-monospace, monospace;\n font-size: 10px;\n letter-spacing: 0.1em;\n text-transform: uppercase;\n color: var(--color-secondary-400);\n cursor: pointer;\n }\n :where(.it-json-editor-toggle--on) {\n color: var(--color-primary-700);\n }\n :where(.dark .it-json-editor-toggle--on) {\n color: var(--color-primary-300);\n }\n :where(.it-json-editor-toggle-dot) {\n display: inline-block;\n width: 6px;\n height: 6px;\n border-radius: 999px;\n background: currentColor;\n opacity: 0.4;\n }\n :where(.it-json-editor-toggle--on .it-json-editor-toggle-dot) {\n opacity: 1;\n }\n :where(.it-json-editor-toggle:focus-visible) {\n outline: 2px solid var(--color-primary-500);\n outline-offset: 1px;\n }\n\n /* Árbol navegable. */\n :where(.it-json-editor-tree) {\n height: 100%;\n }\n :where(.it-json-editor-tree-spacer) {\n display: inline-block;\n width: 14px;\n flex-shrink: 0;\n }\n :where(.it-json-editor-tk-value) {\n color: #334155;\n }\n :where(.it-json-editor-canvas[data-canvas=\"ink\"] .it-json-editor-tk-value) {\n color: #cbd5e1;\n }\n :where(.it-json-editor-tree-row) {\n display: flex;\n align-items: center;\n gap: 4px;\n min-height: 20px;\n font-family: \"JetBrains Mono\", ui-monospace, monospace;\n font-size: 11.5px;\n line-height: 1.5;\n color: #334155;\n }\n :where(.it-json-editor-canvas[data-canvas=\"ink\"] .it-json-editor-tree-row) {\n color: #cbd5e1;\n }\n :where(.it-json-editor-tree-row:hover) {\n background: rgb(148 163 184 / 0.12);\n }\n :where(.it-json-editor-tree-toggle) {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 14px;\n height: 14px;\n border: 0;\n border-radius: 3px;\n background: transparent;\n color: #64748b;\n cursor: pointer;\n }\n :where(.it-json-editor-tree-badge) {\n padding: 0 5px;\n border-radius: 999px;\n background: rgb(148 163 184 / 0.18);\n font-size: 9.5px;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: #64748b;\n }\n :where(.it-json-editor-canvas[data-canvas=\"ink\"] .it-json-editor-tree-badge) {\n color: #94a3b8;\n }\n :where(.it-json-editor-tree-jump) {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n margin-left: auto;\n padding: 0 5px;\n border: 0;\n border-radius: 4px;\n background: transparent;\n font-family: \"JetBrains Mono\", ui-monospace, monospace;\n font-size: 9.5px;\n letter-spacing: 0.06em;\n text-transform: uppercase;\n color: #64748b;\n cursor: pointer;\n opacity: 0;\n }\n :where(.it-json-editor-tree-row:hover .it-json-editor-tree-jump),\n :where(.it-json-editor-tree-jump:focus-visible) {\n opacity: 1;\n }\n :where(.it-json-editor-tree-jump:hover) {\n background: var(--color-primary-50);\n color: var(--color-primary-700);\n }\n :where(.dark .it-json-editor-tree-jump:hover) {\n background: rgb(37 99 235 / 0.2);\n color: var(--color-primary-300);\n }\n}"],"mappings":"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","names":[]}
package/dist/index.d.cts CHANGED
@@ -314,6 +314,29 @@ interface UseTableStateResult {
314
314
  }
315
315
  declare function useTableState({ defaultItemsPerPage, initialSort, }?: UseTableStateOptions): UseTableStateResult;
316
316
 
317
+ type JsonComponentType = "button" | "text" | "card" | "flex" | "stack" | "grid" | "alert" | "div";
318
+ interface JsonProps {
319
+ [key: string]: any;
320
+ }
321
+ interface JsonComponentNode {
322
+ /** Component type to render */
323
+ type: JsonComponentType;
324
+ /** Props to pass to the component */
325
+ props?: JsonProps;
326
+ /** Children nodes */
327
+ children?: JsonComponentNode[] | React.ReactNode;
328
+ /** Text content (shorthand for text children) */
329
+ text?: string;
330
+ }
331
+ interface ITJsonRendererProps {
332
+ /** JSON structure to render */
333
+ json: JsonComponentNode | JsonComponentNode[];
334
+ /** Additional CSS class names */
335
+ className?: string;
336
+ }
337
+
338
+ declare function useJsonRender(json: JsonComponentNode | JsonComponentNode[]): react_jsx_runtime.JSX.Element;
339
+
317
340
  /** A single collapsible section inside {@link ITAccordionProps}. */
318
341
  interface ITAccordionItem {
319
342
  /** Unique identifier for the item. */
@@ -3807,6 +3830,127 @@ interface ITWysiwygProps {
3807
3830
  */
3808
3831
  declare function ITWysiwyg({ value, onChange, label, placeholder, error, disabled, readOnly, name, size, minHeight, highlightColor, toolbar, className, }: ITWysiwygProps): react_jsx_runtime.JSX.Element;
3809
3832
 
3833
+ /**
3834
+ * Render UI from JSON schema using AXZY UI System components.
3835
+ *
3836
+ * @example
3837
+ * <ITJsonRenderer json={{ type: "button", props: { label: "Click me" } }} />
3838
+ *
3839
+ * @example
3840
+ * <ITJsonRenderer json={[
3841
+ * { type: "alert", props: { variant: "info", title: "Info" }, children: "Hello" },
3842
+ * { type: "card", props: { title: "Card" }, children: { type: "text", text: "Content" } }
3843
+ * ]} />
3844
+ */
3845
+ declare function ITJsonRenderer({ json, className, }: ITJsonRendererProps): react_jsx_runtime.JSX.Element;
3846
+
3847
+ /**
3848
+ * Modo de presentación del documento.
3849
+ *
3850
+ * - `"text"`: editor de código con resaltado, gutter y plegado.
3851
+ * - `"tree"`: árbol navegable de solo lectura sobre el mismo JSON.
3852
+ */
3853
+ type ITJSONEditorMode = "text" | "tree";
3854
+ /** Paleta del lienzo de código. */
3855
+ type ITJSONEditorTheme = "ink" | "light";
3856
+ /**
3857
+ * Props de `ITJSONEditor`.
3858
+ *
3859
+ * @example
3860
+ * ```tsx
3861
+ * <ITJSONEditor value={json} onChange={setJson} height={420} mode="text" />
3862
+ * ```
3863
+ */
3864
+ interface ITJSONEditorProps {
3865
+ /** Documento JSON como cadena. Si es `undefined`, el editor arranca vacío. @default "" */
3866
+ value?: string;
3867
+ /** Se dispara con el texto completo cada vez que cambia (teclado, pegado o barra de acciones). */
3868
+ onChange?: (value: string) => void;
3869
+ /** Se dispara tras cada validación con el valor parseado y su estado. */
3870
+ onParse?: (parsed: unknown, isValid: boolean, error?: string) => void;
3871
+ /** Texto de ayuda que se muestra cuando el documento está vacío. */
3872
+ placeholder?: string;
3873
+ /** Bloquea la edición: desaparecen las acciones que modifican el texto. @default false */
3874
+ readOnly?: boolean;
3875
+ /** Modo inicial: `"text"` (código) o `"tree"` (árbol navegable). @default "text" */
3876
+ mode?: ITJSONEditorMode;
3877
+ /** Permite alternar entre texto y árbol desde la barra. @default true */
3878
+ showModeSwitch?: boolean;
3879
+ /** Muestra la barra superior de acciones. @default true */
3880
+ showToolbar?: boolean;
3881
+ /** Muestra el indicador de válido/ inválido con línea y columna del error. @default true */
3882
+ showValidation?: boolean;
3883
+ /** Estadísticas del pie: líneas, nodos, profundidad y tamaño. @default true */
3884
+ showStatusBar?: boolean;
3885
+ /** Muestra los números de línea del gutter. @default true */
3886
+ showLineNumbers?: boolean;
3887
+ /** Muestra el gutter de plegado de bloques `{…}` / `[…]`. @default true */
3888
+ showFoldGutter?: boolean;
3889
+ /** Habilita las acciones de la barra (formatear, minificar, ordenar, escapar). @default true */
3890
+ showTransformActions?: boolean;
3891
+ /** Habilita el botón de copiar el documento completo. @default true */
3892
+ showCopyButton?: boolean;
3893
+ /** Habilita la carga de un `.json` desde disco. @default true */
3894
+ showImportButton?: boolean;
3895
+ /** Habilita la descarga del documento como `.json`. @default true */
3896
+ showDownloadButton?: boolean;
3897
+ /** Muestra la fila de ajustes de vista (ajuste de línea, números, plegado, indentación). @default true */
3898
+ showViewSettings?: boolean;
3899
+ /** Espacios por nivel de indentación, entre 0 y 8. @default 2 */
3900
+ indentSize?: number;
3901
+ /** Ajusta las líneas largas al ancho del editor. Desactivado mantiene el scroll horizontal y el gutter sincronizado. @default false */
3902
+ wrapLines?: boolean;
3903
+ /** Ofrece números de línea y plegado también en la vista de árbol. @default false */
3904
+ treeShowLines?: boolean;
3905
+ /** Paleta del lienzo: `"ink"` (tinta oscura, por defecto) o `"light"`. @default "ink" */
3906
+ canvasTheme?: ITJSONEditorTheme;
3907
+ /** Altura del área de edición: número en píxeles o cualquier medida CSS. @default 340 */
3908
+ height?: number | string;
3909
+ /** Ancho mínimo del editor. Útil dentro de layouts que comprimen. */
3910
+ minWidth?: number | string;
3911
+ /** Acciones extra que se añaden al final de la barra, antes de copiar/descargar. */
3912
+ actions?: ReactNode;
3913
+ /** Clases para el contenedor raíz. */
3914
+ className?: string;
3915
+ /** Identificador HTML del contenedor raíz, para anclarlo desde fuera o en pruebas. */
3916
+ id?: string;
3917
+ /** Clases para el `<textarea>`, por si hay que afinar la tipografía. */
3918
+ textareaClassName?: string;
3919
+ /**
3920
+ * Línea (1-based) que hay que marcar como errónea cuando el fallo lo detecta
3921
+ * la aplicación y no el propio editor.
3922
+ */
3923
+ errorLine?: number;
3924
+ }
3925
+
3926
+ /**
3927
+ * Editor de JSON con resaltado de sintaxis, gutter con números y plegado,
3928
+ * errores señalados por línea y columna, árbol navegable y acciones de formato.
3929
+ *
3930
+ * No añade dependencias: el resaltado se pinta en una capa bajo el `<textarea>`
3931
+ * nativo, así que se conservan el deshacer del navegador, el pegado, el dictado
3932
+ * y el corrector. La validación la hace `JSON.parse`, de modo que el coloreado
3933
+ * funciona igual mientras el documento está a medio escribir.
3934
+ *
3935
+ * @example
3936
+ * ```tsx
3937
+ * <ITJSONEditor value={json} onChange={setJson} onParse={handleParse} height={420} />
3938
+ * ```
3939
+ *
3940
+ * @example
3941
+ * ```tsx
3942
+ * <ITJSONEditor
3943
+ * value={json}
3944
+ * onChange={setJson}
3945
+ * mode="tree"
3946
+ * indentSize={4}
3947
+ * showFoldGutter
3948
+ * showStatusBar
3949
+ * />
3950
+ * ```
3951
+ */
3952
+ declare function ITJSONEditor({ value, onChange, onParse, placeholder, readOnly, mode, showModeSwitch, showToolbar, showValidation, showStatusBar, showLineNumbers, showFoldGutter, showTransformActions, showCopyButton, showImportButton, showDownloadButton, showViewSettings, indentSize: indentSizeProp, wrapLines: wrapLinesProp, treeShowLines, canvasTheme, height, minWidth, actions, className, id, textareaClassName, errorLine, }: ITJSONEditorProps): react_jsx_runtime.JSX.Element;
3953
+
3810
3954
  /** Allowed file MIME types for the dropzone */
3811
3955
  declare enum FileTypeEnum {
3812
3956
  PDF = "application/pdf",
@@ -4526,4 +4670,4 @@ declare const es: ITMessages;
4526
4670
  */
4527
4671
  declare const en: ITMessages;
4528
4672
 
4529
- export { type Column, type ColumnFilterMode, type ColumnFilterValue, type ColumnFilters, type FieldConfig, type FieldConfigV2, FileTypeEnum, ITAccordion, type ITAccordionItem, type ITAccordionProps, ITAlert, type ITAlertProps, ITAvatar, type ITAvatarProps, ITBadget, type ITBadgetProps, type ITBreadcrumbItem, ITBreadcrumbs, type ITBreadcrumbsProps, ITButton, type ITButtonProps, ITCalendar, type ITCalendarProps, ITCard, type ITCardProps, ITCheckbox, type ITCheckboxProps, ITChip, ITChipInput, type ITChipInputProps, type ITChipProps, ITConfirmDialog, type ITConfirmDialogProps, ITDataTable, type ITDataTableFetchParams, type ITDataTableProps, type ITDataTableResponse, ITDatePicker, type ITDatePickerProps, ITDialog, type ITDialogProps, ITDivider, type ITDividerProps, ITDrawer, type ITDrawerProps, ITDropdownMenu, type ITDropdownMenuItem, type ITDropdownMenuProps, ITDropfile, ITEmptyState, type ITEmptyStateProps, ITField, type ITFieldProps, ITFlex, type ITFlexProps, ITFormBuilder, type ITFormBuilderProps, ITFormHeader, type ITFormHeaderProps, ITGrid, type ITGridProps, ITI18nProvider, type ITI18nProviderProps, type ITI18nValue, ITImage, type ITImageProps, ITInput, ITInputNumber, type ITInputNumberProps, type ITInputProps, ITLayout, type ITLayoutProps, ITLineBarChart, type ITLineBarChartProps, type ITLineBarDatum, ITLoader, type LoaderProps as ITLoaderProps, type ITLocale, ITMaskedInput, type ITMaskedInputProps, type ITMessages, type ITMessagesByLocale, ITMultiSelect, type ITMultiSelectOption, type ITMultiSelectProps, ITNavbar, type ITNavbarProps, type ITNavigationItem, type ITNavigationSubItem, type ITNavigationSubItemEntry, type ITNavigationSubItemGroup, ITPage, ITPageHeader, type ITPageHeaderProps, type ITPageProps, ITPagination, type ITPaginationProps, ITPopover, type ITPopoverProps, ITProgress, type ITProgressProps, ITRadioGroup, type ITRadioGroupProps, type ITRadioOption, ITSearchSelect, type ITSearchSelectProps, ITSearchTable, type ITSearchTableProps, ITSegmentedControl, type ITSegmentedControlProps, ITSelect, type ITSelectProps, ITSidebar, type ITSidebarBrand, type ITSidebarNotification, type ITSidebarProps, ITSkeleton, type ITSkeletonProps, ITSlideToggle, type ITSlideToggleProps, ITSlider, type ITSliderProps, ITStack, type ITStackProps, ITStatCard, type ITStatCardProps, ITStepper, type ITStepperProps, type ITTabItem, ITTable, type ITTableProps, ITTabs, type ITTabsProps, ITText, type ITTextProps, ITTextarea, type ITTextareaProps, type ITThemeAppearance, type ITThemeConfig, type ITThemePalette, ITThemeProvider, type ITThemeProviderProps, ITTimePicker, type ITTimePickerProps, ITToast, type ITToastProps, ITTripleFilter, type ITTripleFilterOption, type ITTripleFilterProps, ITWysiwyg, type ITWysiwygProps, type TableColors, type TableDensity, type TableDesign, type TableDesignProps, type TableDesignSlot, UploadStatus, type UseTableStateOptions, type UseTableStateResult, createValidationSchema, en as enMessages, es as esMessages, getContrastTextColor, isLightColor, resolveCssColor, useClickOutside, useDebouncedSearch, useEditableRow, useFloatingPanel, useITFlatAppearance, useITTheme, useITThemeSafe, useITTranslation, useTableState };
4673
+ export { type Column, type ColumnFilterMode, type ColumnFilterValue, type ColumnFilters, type FieldConfig, type FieldConfigV2, FileTypeEnum, ITAccordion, type ITAccordionItem, type ITAccordionProps, ITAlert, type ITAlertProps, ITAvatar, type ITAvatarProps, ITBadget, type ITBadgetProps, type ITBreadcrumbItem, ITBreadcrumbs, type ITBreadcrumbsProps, ITButton, type ITButtonProps, ITCalendar, type ITCalendarProps, ITCard, type ITCardProps, ITCheckbox, type ITCheckboxProps, ITChip, ITChipInput, type ITChipInputProps, type ITChipProps, ITConfirmDialog, type ITConfirmDialogProps, ITDataTable, type ITDataTableFetchParams, type ITDataTableProps, type ITDataTableResponse, ITDatePicker, type ITDatePickerProps, ITDialog, type ITDialogProps, ITDivider, type ITDividerProps, ITDrawer, type ITDrawerProps, ITDropdownMenu, type ITDropdownMenuItem, type ITDropdownMenuProps, ITDropfile, ITEmptyState, type ITEmptyStateProps, ITField, type ITFieldProps, ITFlex, type ITFlexProps, ITFormBuilder, type ITFormBuilderProps, ITFormHeader, type ITFormHeaderProps, ITGrid, type ITGridProps, ITI18nProvider, type ITI18nProviderProps, type ITI18nValue, ITImage, type ITImageProps, ITInput, ITInputNumber, type ITInputNumberProps, type ITInputProps, ITJSONEditor, type ITJSONEditorProps, ITJsonRenderer, type ITJsonRendererProps, ITLayout, type ITLayoutProps, ITLineBarChart, type ITLineBarChartProps, type ITLineBarDatum, ITLoader, type LoaderProps as ITLoaderProps, type ITLocale, ITMaskedInput, type ITMaskedInputProps, type ITMessages, type ITMessagesByLocale, ITMultiSelect, type ITMultiSelectOption, type ITMultiSelectProps, ITNavbar, type ITNavbarProps, type ITNavigationItem, type ITNavigationSubItem, type ITNavigationSubItemEntry, type ITNavigationSubItemGroup, ITPage, ITPageHeader, type ITPageHeaderProps, type ITPageProps, ITPagination, type ITPaginationProps, ITPopover, type ITPopoverProps, ITProgress, type ITProgressProps, ITRadioGroup, type ITRadioGroupProps, type ITRadioOption, ITSearchSelect, type ITSearchSelectProps, ITSearchTable, type ITSearchTableProps, ITSegmentedControl, type ITSegmentedControlProps, ITSelect, type ITSelectProps, ITSidebar, type ITSidebarBrand, type ITSidebarNotification, type ITSidebarProps, ITSkeleton, type ITSkeletonProps, ITSlideToggle, type ITSlideToggleProps, ITSlider, type ITSliderProps, ITStack, type ITStackProps, ITStatCard, type ITStatCardProps, ITStepper, type ITStepperProps, type ITTabItem, ITTable, type ITTableProps, ITTabs, type ITTabsProps, ITText, type ITTextProps, ITTextarea, type ITTextareaProps, type ITThemeAppearance, type ITThemeConfig, type ITThemePalette, ITThemeProvider, type ITThemeProviderProps, ITTimePicker, type ITTimePickerProps, ITToast, type ITToastProps, ITTripleFilter, type ITTripleFilterOption, type ITTripleFilterProps, ITWysiwyg, type ITWysiwygProps, type JsonComponentNode, type JsonComponentType, type TableColors, type TableDensity, type TableDesign, type TableDesignProps, type TableDesignSlot, UploadStatus, type UseTableStateOptions, type UseTableStateResult, createValidationSchema, en as enMessages, es as esMessages, getContrastTextColor, isLightColor, resolveCssColor, useClickOutside, useDebouncedSearch, useEditableRow, useFloatingPanel, useITFlatAppearance, useITTheme, useITThemeSafe, useITTranslation, useJsonRender, useTableState };
package/dist/index.d.ts CHANGED
@@ -314,6 +314,29 @@ interface UseTableStateResult {
314
314
  }
315
315
  declare function useTableState({ defaultItemsPerPage, initialSort, }?: UseTableStateOptions): UseTableStateResult;
316
316
 
317
+ type JsonComponentType = "button" | "text" | "card" | "flex" | "stack" | "grid" | "alert" | "div";
318
+ interface JsonProps {
319
+ [key: string]: any;
320
+ }
321
+ interface JsonComponentNode {
322
+ /** Component type to render */
323
+ type: JsonComponentType;
324
+ /** Props to pass to the component */
325
+ props?: JsonProps;
326
+ /** Children nodes */
327
+ children?: JsonComponentNode[] | React.ReactNode;
328
+ /** Text content (shorthand for text children) */
329
+ text?: string;
330
+ }
331
+ interface ITJsonRendererProps {
332
+ /** JSON structure to render */
333
+ json: JsonComponentNode | JsonComponentNode[];
334
+ /** Additional CSS class names */
335
+ className?: string;
336
+ }
337
+
338
+ declare function useJsonRender(json: JsonComponentNode | JsonComponentNode[]): react_jsx_runtime.JSX.Element;
339
+
317
340
  /** A single collapsible section inside {@link ITAccordionProps}. */
318
341
  interface ITAccordionItem {
319
342
  /** Unique identifier for the item. */
@@ -3807,6 +3830,127 @@ interface ITWysiwygProps {
3807
3830
  */
3808
3831
  declare function ITWysiwyg({ value, onChange, label, placeholder, error, disabled, readOnly, name, size, minHeight, highlightColor, toolbar, className, }: ITWysiwygProps): react_jsx_runtime.JSX.Element;
3809
3832
 
3833
+ /**
3834
+ * Render UI from JSON schema using AXZY UI System components.
3835
+ *
3836
+ * @example
3837
+ * <ITJsonRenderer json={{ type: "button", props: { label: "Click me" } }} />
3838
+ *
3839
+ * @example
3840
+ * <ITJsonRenderer json={[
3841
+ * { type: "alert", props: { variant: "info", title: "Info" }, children: "Hello" },
3842
+ * { type: "card", props: { title: "Card" }, children: { type: "text", text: "Content" } }
3843
+ * ]} />
3844
+ */
3845
+ declare function ITJsonRenderer({ json, className, }: ITJsonRendererProps): react_jsx_runtime.JSX.Element;
3846
+
3847
+ /**
3848
+ * Modo de presentación del documento.
3849
+ *
3850
+ * - `"text"`: editor de código con resaltado, gutter y plegado.
3851
+ * - `"tree"`: árbol navegable de solo lectura sobre el mismo JSON.
3852
+ */
3853
+ type ITJSONEditorMode = "text" | "tree";
3854
+ /** Paleta del lienzo de código. */
3855
+ type ITJSONEditorTheme = "ink" | "light";
3856
+ /**
3857
+ * Props de `ITJSONEditor`.
3858
+ *
3859
+ * @example
3860
+ * ```tsx
3861
+ * <ITJSONEditor value={json} onChange={setJson} height={420} mode="text" />
3862
+ * ```
3863
+ */
3864
+ interface ITJSONEditorProps {
3865
+ /** Documento JSON como cadena. Si es `undefined`, el editor arranca vacío. @default "" */
3866
+ value?: string;
3867
+ /** Se dispara con el texto completo cada vez que cambia (teclado, pegado o barra de acciones). */
3868
+ onChange?: (value: string) => void;
3869
+ /** Se dispara tras cada validación con el valor parseado y su estado. */
3870
+ onParse?: (parsed: unknown, isValid: boolean, error?: string) => void;
3871
+ /** Texto de ayuda que se muestra cuando el documento está vacío. */
3872
+ placeholder?: string;
3873
+ /** Bloquea la edición: desaparecen las acciones que modifican el texto. @default false */
3874
+ readOnly?: boolean;
3875
+ /** Modo inicial: `"text"` (código) o `"tree"` (árbol navegable). @default "text" */
3876
+ mode?: ITJSONEditorMode;
3877
+ /** Permite alternar entre texto y árbol desde la barra. @default true */
3878
+ showModeSwitch?: boolean;
3879
+ /** Muestra la barra superior de acciones. @default true */
3880
+ showToolbar?: boolean;
3881
+ /** Muestra el indicador de válido/ inválido con línea y columna del error. @default true */
3882
+ showValidation?: boolean;
3883
+ /** Estadísticas del pie: líneas, nodos, profundidad y tamaño. @default true */
3884
+ showStatusBar?: boolean;
3885
+ /** Muestra los números de línea del gutter. @default true */
3886
+ showLineNumbers?: boolean;
3887
+ /** Muestra el gutter de plegado de bloques `{…}` / `[…]`. @default true */
3888
+ showFoldGutter?: boolean;
3889
+ /** Habilita las acciones de la barra (formatear, minificar, ordenar, escapar). @default true */
3890
+ showTransformActions?: boolean;
3891
+ /** Habilita el botón de copiar el documento completo. @default true */
3892
+ showCopyButton?: boolean;
3893
+ /** Habilita la carga de un `.json` desde disco. @default true */
3894
+ showImportButton?: boolean;
3895
+ /** Habilita la descarga del documento como `.json`. @default true */
3896
+ showDownloadButton?: boolean;
3897
+ /** Muestra la fila de ajustes de vista (ajuste de línea, números, plegado, indentación). @default true */
3898
+ showViewSettings?: boolean;
3899
+ /** Espacios por nivel de indentación, entre 0 y 8. @default 2 */
3900
+ indentSize?: number;
3901
+ /** Ajusta las líneas largas al ancho del editor. Desactivado mantiene el scroll horizontal y el gutter sincronizado. @default false */
3902
+ wrapLines?: boolean;
3903
+ /** Ofrece números de línea y plegado también en la vista de árbol. @default false */
3904
+ treeShowLines?: boolean;
3905
+ /** Paleta del lienzo: `"ink"` (tinta oscura, por defecto) o `"light"`. @default "ink" */
3906
+ canvasTheme?: ITJSONEditorTheme;
3907
+ /** Altura del área de edición: número en píxeles o cualquier medida CSS. @default 340 */
3908
+ height?: number | string;
3909
+ /** Ancho mínimo del editor. Útil dentro de layouts que comprimen. */
3910
+ minWidth?: number | string;
3911
+ /** Acciones extra que se añaden al final de la barra, antes de copiar/descargar. */
3912
+ actions?: ReactNode;
3913
+ /** Clases para el contenedor raíz. */
3914
+ className?: string;
3915
+ /** Identificador HTML del contenedor raíz, para anclarlo desde fuera o en pruebas. */
3916
+ id?: string;
3917
+ /** Clases para el `<textarea>`, por si hay que afinar la tipografía. */
3918
+ textareaClassName?: string;
3919
+ /**
3920
+ * Línea (1-based) que hay que marcar como errónea cuando el fallo lo detecta
3921
+ * la aplicación y no el propio editor.
3922
+ */
3923
+ errorLine?: number;
3924
+ }
3925
+
3926
+ /**
3927
+ * Editor de JSON con resaltado de sintaxis, gutter con números y plegado,
3928
+ * errores señalados por línea y columna, árbol navegable y acciones de formato.
3929
+ *
3930
+ * No añade dependencias: el resaltado se pinta en una capa bajo el `<textarea>`
3931
+ * nativo, así que se conservan el deshacer del navegador, el pegado, el dictado
3932
+ * y el corrector. La validación la hace `JSON.parse`, de modo que el coloreado
3933
+ * funciona igual mientras el documento está a medio escribir.
3934
+ *
3935
+ * @example
3936
+ * ```tsx
3937
+ * <ITJSONEditor value={json} onChange={setJson} onParse={handleParse} height={420} />
3938
+ * ```
3939
+ *
3940
+ * @example
3941
+ * ```tsx
3942
+ * <ITJSONEditor
3943
+ * value={json}
3944
+ * onChange={setJson}
3945
+ * mode="tree"
3946
+ * indentSize={4}
3947
+ * showFoldGutter
3948
+ * showStatusBar
3949
+ * />
3950
+ * ```
3951
+ */
3952
+ declare function ITJSONEditor({ value, onChange, onParse, placeholder, readOnly, mode, showModeSwitch, showToolbar, showValidation, showStatusBar, showLineNumbers, showFoldGutter, showTransformActions, showCopyButton, showImportButton, showDownloadButton, showViewSettings, indentSize: indentSizeProp, wrapLines: wrapLinesProp, treeShowLines, canvasTheme, height, minWidth, actions, className, id, textareaClassName, errorLine, }: ITJSONEditorProps): react_jsx_runtime.JSX.Element;
3953
+
3810
3954
  /** Allowed file MIME types for the dropzone */
3811
3955
  declare enum FileTypeEnum {
3812
3956
  PDF = "application/pdf",
@@ -4526,4 +4670,4 @@ declare const es: ITMessages;
4526
4670
  */
4527
4671
  declare const en: ITMessages;
4528
4672
 
4529
- export { type Column, type ColumnFilterMode, type ColumnFilterValue, type ColumnFilters, type FieldConfig, type FieldConfigV2, FileTypeEnum, ITAccordion, type ITAccordionItem, type ITAccordionProps, ITAlert, type ITAlertProps, ITAvatar, type ITAvatarProps, ITBadget, type ITBadgetProps, type ITBreadcrumbItem, ITBreadcrumbs, type ITBreadcrumbsProps, ITButton, type ITButtonProps, ITCalendar, type ITCalendarProps, ITCard, type ITCardProps, ITCheckbox, type ITCheckboxProps, ITChip, ITChipInput, type ITChipInputProps, type ITChipProps, ITConfirmDialog, type ITConfirmDialogProps, ITDataTable, type ITDataTableFetchParams, type ITDataTableProps, type ITDataTableResponse, ITDatePicker, type ITDatePickerProps, ITDialog, type ITDialogProps, ITDivider, type ITDividerProps, ITDrawer, type ITDrawerProps, ITDropdownMenu, type ITDropdownMenuItem, type ITDropdownMenuProps, ITDropfile, ITEmptyState, type ITEmptyStateProps, ITField, type ITFieldProps, ITFlex, type ITFlexProps, ITFormBuilder, type ITFormBuilderProps, ITFormHeader, type ITFormHeaderProps, ITGrid, type ITGridProps, ITI18nProvider, type ITI18nProviderProps, type ITI18nValue, ITImage, type ITImageProps, ITInput, ITInputNumber, type ITInputNumberProps, type ITInputProps, ITLayout, type ITLayoutProps, ITLineBarChart, type ITLineBarChartProps, type ITLineBarDatum, ITLoader, type LoaderProps as ITLoaderProps, type ITLocale, ITMaskedInput, type ITMaskedInputProps, type ITMessages, type ITMessagesByLocale, ITMultiSelect, type ITMultiSelectOption, type ITMultiSelectProps, ITNavbar, type ITNavbarProps, type ITNavigationItem, type ITNavigationSubItem, type ITNavigationSubItemEntry, type ITNavigationSubItemGroup, ITPage, ITPageHeader, type ITPageHeaderProps, type ITPageProps, ITPagination, type ITPaginationProps, ITPopover, type ITPopoverProps, ITProgress, type ITProgressProps, ITRadioGroup, type ITRadioGroupProps, type ITRadioOption, ITSearchSelect, type ITSearchSelectProps, ITSearchTable, type ITSearchTableProps, ITSegmentedControl, type ITSegmentedControlProps, ITSelect, type ITSelectProps, ITSidebar, type ITSidebarBrand, type ITSidebarNotification, type ITSidebarProps, ITSkeleton, type ITSkeletonProps, ITSlideToggle, type ITSlideToggleProps, ITSlider, type ITSliderProps, ITStack, type ITStackProps, ITStatCard, type ITStatCardProps, ITStepper, type ITStepperProps, type ITTabItem, ITTable, type ITTableProps, ITTabs, type ITTabsProps, ITText, type ITTextProps, ITTextarea, type ITTextareaProps, type ITThemeAppearance, type ITThemeConfig, type ITThemePalette, ITThemeProvider, type ITThemeProviderProps, ITTimePicker, type ITTimePickerProps, ITToast, type ITToastProps, ITTripleFilter, type ITTripleFilterOption, type ITTripleFilterProps, ITWysiwyg, type ITWysiwygProps, type TableColors, type TableDensity, type TableDesign, type TableDesignProps, type TableDesignSlot, UploadStatus, type UseTableStateOptions, type UseTableStateResult, createValidationSchema, en as enMessages, es as esMessages, getContrastTextColor, isLightColor, resolveCssColor, useClickOutside, useDebouncedSearch, useEditableRow, useFloatingPanel, useITFlatAppearance, useITTheme, useITThemeSafe, useITTranslation, useTableState };
4673
+ export { type Column, type ColumnFilterMode, type ColumnFilterValue, type ColumnFilters, type FieldConfig, type FieldConfigV2, FileTypeEnum, ITAccordion, type ITAccordionItem, type ITAccordionProps, ITAlert, type ITAlertProps, ITAvatar, type ITAvatarProps, ITBadget, type ITBadgetProps, type ITBreadcrumbItem, ITBreadcrumbs, type ITBreadcrumbsProps, ITButton, type ITButtonProps, ITCalendar, type ITCalendarProps, ITCard, type ITCardProps, ITCheckbox, type ITCheckboxProps, ITChip, ITChipInput, type ITChipInputProps, type ITChipProps, ITConfirmDialog, type ITConfirmDialogProps, ITDataTable, type ITDataTableFetchParams, type ITDataTableProps, type ITDataTableResponse, ITDatePicker, type ITDatePickerProps, ITDialog, type ITDialogProps, ITDivider, type ITDividerProps, ITDrawer, type ITDrawerProps, ITDropdownMenu, type ITDropdownMenuItem, type ITDropdownMenuProps, ITDropfile, ITEmptyState, type ITEmptyStateProps, ITField, type ITFieldProps, ITFlex, type ITFlexProps, ITFormBuilder, type ITFormBuilderProps, ITFormHeader, type ITFormHeaderProps, ITGrid, type ITGridProps, ITI18nProvider, type ITI18nProviderProps, type ITI18nValue, ITImage, type ITImageProps, ITInput, ITInputNumber, type ITInputNumberProps, type ITInputProps, ITJSONEditor, type ITJSONEditorProps, ITJsonRenderer, type ITJsonRendererProps, ITLayout, type ITLayoutProps, ITLineBarChart, type ITLineBarChartProps, type ITLineBarDatum, ITLoader, type LoaderProps as ITLoaderProps, type ITLocale, ITMaskedInput, type ITMaskedInputProps, type ITMessages, type ITMessagesByLocale, ITMultiSelect, type ITMultiSelectOption, type ITMultiSelectProps, ITNavbar, type ITNavbarProps, type ITNavigationItem, type ITNavigationSubItem, type ITNavigationSubItemEntry, type ITNavigationSubItemGroup, ITPage, ITPageHeader, type ITPageHeaderProps, type ITPageProps, ITPagination, type ITPaginationProps, ITPopover, type ITPopoverProps, ITProgress, type ITProgressProps, ITRadioGroup, type ITRadioGroupProps, type ITRadioOption, ITSearchSelect, type ITSearchSelectProps, ITSearchTable, type ITSearchTableProps, ITSegmentedControl, type ITSegmentedControlProps, ITSelect, type ITSelectProps, ITSidebar, type ITSidebarBrand, type ITSidebarNotification, type ITSidebarProps, ITSkeleton, type ITSkeletonProps, ITSlideToggle, type ITSlideToggleProps, ITSlider, type ITSliderProps, ITStack, type ITStackProps, ITStatCard, type ITStatCardProps, ITStepper, type ITStepperProps, type ITTabItem, ITTable, type ITTableProps, ITTabs, type ITTabsProps, ITText, type ITTextProps, ITTextarea, type ITTextareaProps, type ITThemeAppearance, type ITThemeConfig, type ITThemePalette, ITThemeProvider, type ITThemeProviderProps, ITTimePicker, type ITTimePickerProps, ITToast, type ITToastProps, ITTripleFilter, type ITTripleFilterOption, type ITTripleFilterProps, ITWysiwyg, type ITWysiwygProps, type JsonComponentNode, type JsonComponentType, type TableColors, type TableDensity, type TableDesign, type TableDesignProps, type TableDesignSlot, UploadStatus, type UseTableStateOptions, type UseTableStateResult, createValidationSchema, en as enMessages, es as esMessages, getContrastTextColor, isLightColor, resolveCssColor, useClickOutside, useDebouncedSearch, useEditableRow, useFloatingPanel, useITFlatAppearance, useITTheme, useITThemeSafe, useITTranslation, useJsonRender, useTableState };