@seed-ship/mcp-ui-solid 1.2.2 → 2.0.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.
- package/CHANGELOG.md +28 -0
- package/dist/_virtual/_commonjsHelpers.cjs +7 -0
- package/dist/_virtual/_commonjsHelpers.cjs.map +1 -0
- package/dist/_virtual/_commonjsHelpers.js +7 -0
- package/dist/_virtual/_commonjsHelpers.js.map +1 -0
- package/dist/_virtual/index.cjs +7 -0
- package/dist/_virtual/index.cjs.map +1 -0
- package/dist/_virtual/index.js +8 -0
- package/dist/_virtual/index.js.map +1 -0
- package/dist/_virtual/leaflet-src.cjs +32 -0
- package/dist/_virtual/leaflet-src.cjs.map +1 -0
- package/dist/_virtual/leaflet-src.js +32 -0
- package/dist/_virtual/leaflet-src.js.map +1 -0
- package/dist/_virtual/leaflet-src2.cjs +5 -0
- package/dist/_virtual/leaflet-src2.cjs.map +1 -0
- package/dist/_virtual/leaflet-src2.js +5 -0
- package/dist/_virtual/leaflet-src2.js.map +1 -0
- package/dist/_virtual/leaflet.markercluster-src.cjs +9 -0
- package/dist/_virtual/leaflet.markercluster-src.cjs.map +1 -0
- package/dist/_virtual/leaflet.markercluster-src.js +9 -0
- package/dist/_virtual/leaflet.markercluster-src.js.map +1 -0
- package/dist/_virtual/leaflet.markercluster-src2.cjs +5 -0
- package/dist/_virtual/leaflet.markercluster-src2.cjs.map +1 -0
- package/dist/_virtual/leaflet.markercluster-src2.js +5 -0
- package/dist/_virtual/leaflet.markercluster-src2.js.map +1 -0
- package/dist/components/ActionGroupRenderer.cjs +173 -0
- package/dist/components/ActionGroupRenderer.cjs.map +1 -0
- package/dist/components/ActionGroupRenderer.d.ts +39 -0
- package/dist/components/ActionGroupRenderer.d.ts.map +1 -0
- package/dist/components/ActionGroupRenderer.js +173 -0
- package/dist/components/ActionGroupRenderer.js.map +1 -0
- package/dist/components/ActionRenderer.cjs.map +1 -1
- package/dist/components/ActionRenderer.d.ts.map +1 -1
- package/dist/components/ActionRenderer.js.map +1 -1
- package/dist/components/CarouselRenderer.cjs +5 -4
- package/dist/components/CarouselRenderer.cjs.map +1 -1
- package/dist/components/CarouselRenderer.d.ts +1 -2
- package/dist/components/CarouselRenderer.d.ts.map +1 -1
- package/dist/components/CarouselRenderer.js +5 -4
- package/dist/components/CarouselRenderer.js.map +1 -1
- package/dist/components/ChartJSRenderer.cjs +138 -0
- package/dist/components/ChartJSRenderer.cjs.map +1 -0
- package/dist/components/ChartJSRenderer.d.ts +49 -0
- package/dist/components/ChartJSRenderer.d.ts.map +1 -0
- package/dist/components/ChartJSRenderer.js +116 -0
- package/dist/components/ChartJSRenderer.js.map +1 -0
- package/dist/components/CodeBlockRenderer.cjs +164 -0
- package/dist/components/CodeBlockRenderer.cjs.map +1 -0
- package/dist/components/CodeBlockRenderer.d.ts +19 -0
- package/dist/components/CodeBlockRenderer.d.ts.map +1 -0
- package/dist/components/CodeBlockRenderer.js +164 -0
- package/dist/components/CodeBlockRenderer.js.map +1 -0
- package/dist/components/FormFieldRenderer.cjs +358 -0
- package/dist/components/FormFieldRenderer.cjs.map +1 -0
- package/dist/components/FormFieldRenderer.d.ts +20 -0
- package/dist/components/FormFieldRenderer.d.ts.map +1 -0
- package/dist/components/FormFieldRenderer.js +358 -0
- package/dist/components/FormFieldRenderer.js.map +1 -0
- package/dist/components/FormRenderer.cjs +217 -0
- package/dist/components/FormRenderer.cjs.map +1 -0
- package/dist/components/FormRenderer.d.ts +15 -0
- package/dist/components/FormRenderer.d.ts.map +1 -0
- package/dist/components/FormRenderer.js +217 -0
- package/dist/components/FormRenderer.js.map +1 -0
- package/dist/components/GenerativeUIErrorBoundary.cjs +1 -1
- package/dist/components/GenerativeUIErrorBoundary.cjs.map +1 -1
- package/dist/components/GenerativeUIErrorBoundary.js +1 -1
- package/dist/components/GenerativeUIErrorBoundary.js.map +1 -1
- package/dist/components/GridRenderer.cjs +6 -8
- package/dist/components/GridRenderer.cjs.map +1 -1
- package/dist/components/GridRenderer.d.ts +1 -0
- package/dist/components/GridRenderer.d.ts.map +1 -1
- package/dist/components/GridRenderer.js +6 -8
- package/dist/components/GridRenderer.js.map +1 -1
- package/dist/components/ImageGalleryRenderer.cjs +139 -0
- package/dist/components/ImageGalleryRenderer.cjs.map +1 -0
- package/dist/components/ImageGalleryRenderer.d.ts +18 -0
- package/dist/components/ImageGalleryRenderer.d.ts.map +1 -0
- package/dist/components/ImageGalleryRenderer.js +139 -0
- package/dist/components/ImageGalleryRenderer.js.map +1 -0
- package/dist/components/LightboxOverlay.cjs +118 -0
- package/dist/components/LightboxOverlay.cjs.map +1 -0
- package/dist/components/LightboxOverlay.d.ts +26 -0
- package/dist/components/LightboxOverlay.d.ts.map +1 -0
- package/dist/components/LightboxOverlay.js +118 -0
- package/dist/components/LightboxOverlay.js.map +1 -0
- package/dist/components/MapRenderer.cjs +166 -0
- package/dist/components/MapRenderer.cjs.map +1 -0
- package/dist/components/MapRenderer.d.ts +19 -0
- package/dist/components/MapRenderer.d.ts.map +1 -0
- package/dist/components/MapRenderer.js +166 -0
- package/dist/components/MapRenderer.js.map +1 -0
- package/dist/components/ModalRenderer.cjs +162 -0
- package/dist/components/ModalRenderer.cjs.map +1 -0
- package/dist/components/ModalRenderer.d.ts +67 -0
- package/dist/components/ModalRenderer.d.ts.map +1 -0
- package/dist/components/ModalRenderer.js +162 -0
- package/dist/components/ModalRenderer.js.map +1 -0
- package/dist/components/RenderContext.cjs +33 -0
- package/dist/components/RenderContext.cjs.map +1 -0
- package/dist/components/RenderContext.d.ts +42 -0
- package/dist/components/RenderContext.d.ts.map +1 -0
- package/dist/components/RenderContext.js +33 -0
- package/dist/components/RenderContext.js.map +1 -0
- package/dist/components/UIResourceRenderer.cjs +646 -197
- package/dist/components/UIResourceRenderer.cjs.map +1 -1
- package/dist/components/UIResourceRenderer.d.ts.map +1 -1
- package/dist/components/UIResourceRenderer.js +647 -198
- package/dist/components/UIResourceRenderer.js.map +1 -1
- package/dist/components/VideoRenderer.cjs +167 -0
- package/dist/components/VideoRenderer.cjs.map +1 -0
- package/dist/components/VideoRenderer.d.ts +37 -0
- package/dist/components/VideoRenderer.d.ts.map +1 -0
- package/dist/components/VideoRenderer.js +167 -0
- package/dist/components/VideoRenderer.js.map +1 -0
- package/dist/components/index.d.ts +22 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components.cjs +27 -0
- package/dist/components.cjs.map +1 -1
- package/dist/components.d.cts +45 -0
- package/dist/components.d.ts +22 -0
- package/dist/components.js +28 -1
- package/dist/components.js.map +1 -1
- package/dist/context/MCPActionContext.cjs +3 -3
- package/dist/context/MCPActionContext.cjs.map +1 -1
- package/dist/context/MCPActionContext.d.ts.map +1 -1
- package/dist/context/MCPActionContext.js +3 -3
- package/dist/context/MCPActionContext.js.map +1 -1
- package/dist/hooks/index.d.ts +7 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/useAction.cjs +85 -16
- package/dist/hooks/useAction.cjs.map +1 -1
- package/dist/hooks/useAction.d.ts +93 -7
- package/dist/hooks/useAction.d.ts.map +1 -1
- package/dist/hooks/useAction.js +85 -16
- package/dist/hooks/useAction.js.map +1 -1
- package/dist/hooks/useConditionalField.cjs +46 -0
- package/dist/hooks/useConditionalField.cjs.map +1 -0
- package/dist/hooks/useConditionalField.d.ts +35 -0
- package/dist/hooks/useConditionalField.d.ts.map +1 -0
- package/dist/hooks/useConditionalField.js +46 -0
- package/dist/hooks/useConditionalField.js.map +1 -0
- package/dist/hooks/useFormPersistence.cjs +123 -0
- package/dist/hooks/useFormPersistence.cjs.map +1 -0
- package/dist/hooks/useFormPersistence.d.ts +81 -0
- package/dist/hooks/useFormPersistence.d.ts.map +1 -0
- package/dist/hooks/useFormPersistence.js +123 -0
- package/dist/hooks/useFormPersistence.js.map +1 -0
- package/dist/hooks/useModal.cjs +41 -0
- package/dist/hooks/useModal.cjs.map +1 -0
- package/dist/hooks/useModal.d.ts +107 -0
- package/dist/hooks/useModal.d.ts.map +1 -0
- package/dist/hooks/useModal.js +41 -0
- package/dist/hooks/useModal.js.map +1 -0
- package/dist/hooks.cjs +8 -0
- package/dist/hooks.cjs.map +1 -1
- package/dist/hooks.d.cts +16 -0
- package/dist/hooks.d.ts +7 -1
- package/dist/hooks.js +8 -0
- package/dist/hooks.js.map +1 -1
- package/dist/index.cjs +18 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +38 -0
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp-ui-solid.css +969 -0
- package/dist/node_modules/.pnpm/@tanstack_solid-virtual@3.13.18_solid-js@1.9.10/node_modules/@tanstack/solid-virtual/dist/esm/index.cjs +66 -0
- package/dist/node_modules/.pnpm/@tanstack_solid-virtual@3.13.18_solid-js@1.9.10/node_modules/@tanstack/solid-virtual/dist/esm/index.cjs.map +1 -0
- package/dist/node_modules/.pnpm/@tanstack_solid-virtual@3.13.18_solid-js@1.9.10/node_modules/@tanstack/solid-virtual/dist/esm/index.js +67 -0
- package/dist/node_modules/.pnpm/@tanstack_solid-virtual@3.13.18_solid-js@1.9.10/node_modules/@tanstack/solid-virtual/dist/esm/index.js.map +1 -0
- package/dist/node_modules/.pnpm/@tanstack_virtual-core@3.13.18/node_modules/@tanstack/virtual-core/dist/esm/index.cjs +823 -0
- package/dist/node_modules/.pnpm/@tanstack_virtual-core@3.13.18/node_modules/@tanstack/virtual-core/dist/esm/index.cjs.map +1 -0
- package/dist/node_modules/.pnpm/@tanstack_virtual-core@3.13.18/node_modules/@tanstack/virtual-core/dist/esm/index.js +823 -0
- package/dist/node_modules/.pnpm/@tanstack_virtual-core@3.13.18/node_modules/@tanstack/virtual-core/dist/esm/index.js.map +1 -0
- package/dist/node_modules/.pnpm/@tanstack_virtual-core@3.13.18/node_modules/@tanstack/virtual-core/dist/esm/utils.cjs +73 -0
- package/dist/node_modules/.pnpm/@tanstack_virtual-core@3.13.18/node_modules/@tanstack/virtual-core/dist/esm/utils.cjs.map +1 -0
- package/dist/node_modules/.pnpm/@tanstack_virtual-core@3.13.18/node_modules/@tanstack/virtual-core/dist/esm/utils.js +73 -0
- package/dist/node_modules/.pnpm/@tanstack_virtual-core@3.13.18/node_modules/@tanstack/virtual-core/dist/esm/utils.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/index.cjs +6 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/index.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/index.js +6 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/index.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/core.cjs +1543 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/core.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/core.js +1543 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/core.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/index.cjs +400 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/index.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/index.js +400 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/index.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/1c.cjs +158 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/1c.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/1c.js +158 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/1c.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/abnf.cjs +75 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/abnf.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/abnf.js +75 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/abnf.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/accesslog.cjs +91 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/accesslog.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/accesslog.js +91 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/accesslog.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/actionscript.cjs +152 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/actionscript.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/actionscript.js +152 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/actionscript.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ada.cjs +232 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ada.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ada.js +232 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ada.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/angelscript.cjs +176 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/angelscript.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/angelscript.js +176 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/angelscript.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/apache.cjs +104 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/apache.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/apache.js +104 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/apache.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/applescript.cjs +131 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/applescript.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/applescript.js +131 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/applescript.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/arcade.cjs +432 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/arcade.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/arcade.js +432 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/arcade.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/arduino.cjs +943 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/arduino.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/arduino.js +943 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/arduino.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/armasm.cjs +98 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/armasm.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/armasm.js +98 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/armasm.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/asciidoc.cjs +258 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/asciidoc.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/asciidoc.js +258 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/asciidoc.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/aspectj.cjs +230 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/aspectj.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/aspectj.js +230 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/aspectj.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/autohotkey.cjs +77 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/autohotkey.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/autohotkey.js +77 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/autohotkey.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/autoit.cjs +164 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/autoit.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/autoit.js +164 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/autoit.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/avrasm.cjs +68 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/avrasm.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/avrasm.js +68 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/avrasm.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/awk.cjs +69 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/awk.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/awk.js +69 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/awk.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/axapta.cjs +184 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/axapta.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/axapta.js +184 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/axapta.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/bash.cjs +404 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/bash.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/bash.js +404 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/bash.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/basic.cjs +236 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/basic.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/basic.js +236 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/basic.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/bnf.cjs +41 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/bnf.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/bnf.js +41 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/bnf.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/brainfuck.cjs +57 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/brainfuck.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/brainfuck.js +57 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/brainfuck.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/c.cjs +304 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/c.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/c.js +304 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/c.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/cal.cjs +158 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/cal.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/cal.js +158 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/cal.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/capnproto.cjs +100 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/capnproto.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/capnproto.js +100 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/capnproto.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ceylon.cjs +138 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ceylon.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ceylon.js +138 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ceylon.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/clean.cjs +69 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/clean.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/clean.js +69 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/clean.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/clojure-repl.cjs +27 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/clojure-repl.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/clojure-repl.js +27 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/clojure-repl.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/clojure.cjs +165 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/clojure.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/clojure.js +165 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/clojure.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/cmake.cjs +34 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/cmake.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/cmake.js +34 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/cmake.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/coffeescript.cjs +360 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/coffeescript.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/coffeescript.js +360 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/coffeescript.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/coq.cjs +449 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/coq.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/coq.js +449 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/coq.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/cos.cjs +101 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/cos.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/cos.js +101 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/cos.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/cpp.cjs +553 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/cpp.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/cpp.js +553 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/cpp.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/crmsh.cjs +96 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/crmsh.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/crmsh.js +96 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/crmsh.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/crystal.cjs +308 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/crystal.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/crystal.js +308 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/crystal.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/csharp.cjs +410 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/csharp.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/csharp.js +410 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/csharp.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/csp.cjs +57 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/csp.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/csp.js +57 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/csp.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/css.cjs +947 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/css.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/css.js +947 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/css.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/d.cjs +122 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/d.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/d.js +122 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/d.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dart.cjs +264 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dart.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dart.js +264 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dart.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/delphi.cjs +255 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/delphi.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/delphi.js +255 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/delphi.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/diff.cjs +63 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/diff.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/diff.js +63 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/diff.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/django.cjs +56 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/django.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/django.js +56 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/django.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dns.cjs +80 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dns.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dns.js +80 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dns.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dockerfile.cjs +44 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dockerfile.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dockerfile.js +44 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dockerfile.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dos.cjs +167 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dos.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dos.js +167 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dos.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dsconfig.cjs +67 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dsconfig.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dsconfig.js +67 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dsconfig.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dts.cjs +145 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dts.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dts.js +145 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dts.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dust.cjs +47 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dust.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dust.js +47 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/dust.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ebnf.cjs +52 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ebnf.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ebnf.js +52 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ebnf.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/elixir.cjs +282 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/elixir.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/elixir.js +282 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/elixir.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/elm.cjs +138 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/elm.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/elm.js +138 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/elm.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/erb.cjs +28 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/erb.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/erb.js +28 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/erb.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/erlang-repl.cjs +55 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/erlang-repl.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/erlang-repl.js +55 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/erlang-repl.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/erlang.cjs +227 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/erlang.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/erlang.js +227 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/erlang.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/excel.cjs +584 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/excel.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/excel.js +584 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/excel.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/fix.cjs +43 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/fix.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/fix.js +43 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/fix.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/flix.cjs +77 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/flix.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/flix.js +77 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/flix.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/fortran.cjs +570 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/fortran.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/fortran.js +570 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/fortran.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/fsharp.cjs +576 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/fsharp.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/fsharp.js +576 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/fsharp.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/gams.cjs +163 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/gams.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/gams.js +163 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/gams.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/gauss.cjs +197 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/gauss.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/gauss.js +197 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/gauss.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/gcode.cjs +172 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/gcode.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/gcode.js +172 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/gcode.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/gherkin.cjs +52 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/gherkin.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/gherkin.js +52 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/gherkin.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/glsl.cjs +40 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/glsl.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/glsl.js +40 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/glsl.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/gml.cjs +3133 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/gml.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/gml.js +3133 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/gml.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/go.cjs +164 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/go.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/go.js +164 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/go.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/golo.cjs +82 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/golo.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/golo.js +82 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/golo.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/gradle.cjs +191 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/gradle.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/gradle.js +191 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/gradle.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/graphql.cjs +80 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/graphql.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/graphql.js +80 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/graphql.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/groovy.cjs +190 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/groovy.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/groovy.js +190 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/groovy.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/haml.cjs +114 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/haml.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/haml.js +114 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/haml.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/handlebars.cjs +240 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/handlebars.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/handlebars.js +240 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/handlebars.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/haskell.cjs +200 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/haskell.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/haskell.js +200 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/haskell.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/haxe.cjs +170 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/haxe.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/haxe.js +170 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/haxe.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/hsp.cjs +57 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/hsp.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/hsp.js +57 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/hsp.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/http.cjs +98 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/http.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/http.js +98 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/http.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/hy.cjs +108 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/hy.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/hy.js +108 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/hy.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/inform7.cjs +67 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/inform7.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/inform7.js +67 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/inform7.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ini.cjs +126 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ini.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ini.js +126 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ini.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/irpf90.cjs +64 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/irpf90.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/irpf90.js +64 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/irpf90.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/isbl.cjs +267 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/isbl.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/isbl.js +267 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/isbl.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/java.cjs +264 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/java.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/java.js +264 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/java.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/javascript.cjs +711 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/javascript.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/javascript.js +711 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/javascript.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/jboss-cli.cjs +63 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/jboss-cli.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/jboss-cli.js +63 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/jboss-cli.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/json.cjs +50 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/json.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/json.js +50 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/json.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/julia-repl.cjs +36 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/julia-repl.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/julia-repl.js +36 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/julia-repl.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/julia.cjs +379 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/julia.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/julia.js +379 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/julia.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/kotlin.cjs +265 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/kotlin.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/kotlin.js +265 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/kotlin.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/lasso.cjs +155 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/lasso.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/lasso.js +155 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/lasso.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/latex.cjs +281 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/latex.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/latex.js +281 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/latex.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ldif.cjs +33 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ldif.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ldif.js +33 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ldif.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/leaf.cjs +100 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/leaf.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/leaf.js +100 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/leaf.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/less.cjs +1028 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/less.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/less.js +1028 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/less.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/lisp.cjs +142 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/lisp.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/lisp.js +142 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/lisp.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/livecodeserver.cjs +104 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/livecodeserver.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/livecodeserver.js +104 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/livecodeserver.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/livescript.cjs +371 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/livescript.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/livescript.js +371 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/livescript.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/llvm.cjs +99 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/llvm.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/llvm.js +99 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/llvm.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/lsl.cjs +73 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/lsl.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/lsl.js +73 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/lsl.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/lua.cjs +71 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/lua.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/lua.js +71 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/lua.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/makefile.cjs +81 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/makefile.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/makefile.js +81 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/makefile.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/markdown.cjs +242 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/markdown.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/markdown.js +242 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/markdown.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/mathematica.cjs +7342 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/mathematica.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/mathematica.js +7342 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/mathematica.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/matlab.cjs +86 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/matlab.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/matlab.js +86 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/matlab.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/maxima.cjs +64 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/maxima.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/maxima.js +64 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/maxima.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/mel.cjs +36 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/mel.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/mel.js +36 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/mel.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/mercury.cjs +88 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/mercury.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/mercury.js +88 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/mercury.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/mipsasm.cjs +86 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/mipsasm.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/mipsasm.js +86 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/mipsasm.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/mizar.cjs +19 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/mizar.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/mizar.js +19 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/mizar.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/mojolicious.cjs +38 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/mojolicious.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/mojolicious.js +38 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/mojolicious.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/monkey.cjs +185 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/monkey.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/monkey.js +185 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/monkey.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/moonscript.cjs +145 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/moonscript.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/moonscript.js +145 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/moonscript.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/n1ql.cjs +361 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/n1ql.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/n1ql.js +361 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/n1ql.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/nestedtext.cjs +86 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/nestedtext.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/nestedtext.js +86 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/nestedtext.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/nginx.cjs +153 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/nginx.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/nginx.js +153 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/nginx.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/nim.cjs +191 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/nim.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/nim.js +191 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/nim.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/nix.cjs +357 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/nix.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/nix.js +357 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/nix.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/node-repl.cjs +35 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/node-repl.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/node-repl.js +35 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/node-repl.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/nsis.cjs +540 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/nsis.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/nsis.js +540 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/nsis.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/objectivec.cjs +253 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/objectivec.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/objectivec.js +253 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/objectivec.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ocaml.cjs +76 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ocaml.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ocaml.js +76 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ocaml.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/openscad.cjs +79 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/openscad.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/openscad.js +79 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/openscad.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/oxygene.cjs +79 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/oxygene.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/oxygene.js +79 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/oxygene.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/parser3.cjs +57 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/parser3.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/parser3.js +57 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/parser3.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/perl.cjs +495 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/perl.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/perl.js +495 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/perl.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/pf.cjs +46 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/pf.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/pf.js +46 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/pf.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/pgsql.cjs +290 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/pgsql.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/pgsql.js +290 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/pgsql.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/php-template.cjs +56 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/php-template.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/php-template.js +56 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/php-template.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/php.cjs +611 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/php.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/php.js +611 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/php.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/plaintext.cjs +22 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/plaintext.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/plaintext.js +22 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/plaintext.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/pony.cjs +66 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/pony.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/pony.js +66 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/pony.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/powershell.cjs +266 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/powershell.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/powershell.js +266 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/powershell.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/processing.cjs +436 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/processing.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/processing.js +436 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/processing.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/profile.cjs +47 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/profile.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/profile.js +47 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/profile.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/prolog.cjs +87 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/prolog.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/prolog.js +87 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/prolog.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/properties.cjs +66 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/properties.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/properties.js +66 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/properties.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/protobuf.cjs +82 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/protobuf.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/protobuf.js +82 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/protobuf.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/puppet.cjs +121 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/puppet.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/puppet.js +121 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/puppet.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/purebasic.cjs +69 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/purebasic.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/purebasic.js +69 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/purebasic.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/python-repl.cjs +35 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/python-repl.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/python-repl.js +35 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/python-repl.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/python.cjs +425 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/python.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/python.js +425 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/python.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/q.cjs +34 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/q.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/q.js +34 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/q.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/qml.cjs +158 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/qml.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/qml.js +158 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/qml.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/r.cjs +220 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/r.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/r.js +220 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/r.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/reasonml.cjs +149 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/reasonml.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/reasonml.js +149 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/reasonml.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/rib.cjs +25 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/rib.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/rib.js +25 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/rib.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/roboconf.cjs +79 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/roboconf.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/roboconf.js +79 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/roboconf.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/routeros.cjs +156 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/routeros.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/routeros.js +156 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/routeros.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/rsl.cjs +147 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/rsl.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/rsl.js +147 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/rsl.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ruby.cjs +423 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ruby.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ruby.js +423 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ruby.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ruleslanguage.cjs +39 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ruleslanguage.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ruleslanguage.js +39 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/ruleslanguage.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/rust.cjs +323 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/rust.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/rust.js +323 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/rust.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/sas.cjs +553 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/sas.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/sas.js +553 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/sas.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/scala.cjs +201 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/scala.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/scala.js +201 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/scala.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/scheme.cjs +149 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/scheme.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/scheme.js +149 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/scheme.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/scilab.cjs +68 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/scilab.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/scilab.js +68 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/scilab.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/scss.cjs +932 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/scss.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/scss.js +932 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/scss.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/shell.cjs +34 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/shell.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/shell.js +34 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/shell.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/smali.cjs +128 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/smali.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/smali.js +128 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/smali.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/smalltalk.cjs +71 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/smalltalk.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/smalltalk.js +71 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/smalltalk.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/sml.cjs +78 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/sml.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/sml.js +78 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/sml.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/sqf.cjs +2620 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/sqf.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/sqf.js +2620 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/sqf.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/sql.cjs +653 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/sql.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/sql.js +653 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/sql.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/stan.cjs +505 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/stan.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/stan.js +505 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/stan.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/stata.cjs +48 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/stata.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/stata.js +48 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/stata.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/step21.cjs +69 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/step21.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/step21.js +69 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/step21.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/stylus.cjs +981 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/stylus.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/stylus.js +981 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/stylus.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/subunit.cjs +47 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/subunit.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/subunit.js +47 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/subunit.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/swift.cjs +885 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/swift.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/swift.js +885 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/swift.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/taggerscript.cjs +57 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/taggerscript.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/taggerscript.js +57 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/taggerscript.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/tap.cjs +49 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/tap.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/tap.js +49 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/tap.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/tcl.cjs +190 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/tcl.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/tcl.js +190 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/tcl.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/thrift.cjs +80 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/thrift.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/thrift.js +80 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/thrift.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/tp.cjs +174 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/tp.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/tp.js +174 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/tp.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/twig.cjs +249 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/twig.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/twig.js +249 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/twig.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/typescript.cjs +824 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/typescript.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/typescript.js +824 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/typescript.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/vala.cjs +51 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/vala.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/vala.js +51 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/vala.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/vbnet.cjs +143 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/vbnet.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/vbnet.js +143 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/vbnet.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/vbscript-html.cjs +25 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/vbscript-html.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/vbscript-html.js +25 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/vbscript-html.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/vbscript.cjs +216 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/vbscript.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/vbscript.js +216 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/vbscript.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/verilog.cjs +551 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/verilog.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/verilog.js +551 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/verilog.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/vhdl.cjs +211 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/vhdl.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/vhdl.js +211 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/vhdl.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/vim.cjs +81 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/vim.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/vim.js +81 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/vim.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/wasm.cjs +131 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/wasm.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/wasm.js +131 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/wasm.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/wren.cjs +289 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/wren.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/wren.js +289 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/wren.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/x86asm.cjs +97 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/x86asm.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/x86asm.js +97 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/x86asm.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/xl.cjs +207 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/xl.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/xl.js +207 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/xl.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/xml.cjs +236 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/xml.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/xml.js +236 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/xml.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/xquery.cjs +337 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/xquery.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/xquery.js +337 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/xquery.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/yaml.cjs +211 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/yaml.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/yaml.js +211 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/yaml.js.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/zephir.cjs +109 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/zephir.cjs.map +1 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/zephir.js +109 -0
- package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/languages/zephir.js.map +1 -0
- package/dist/node_modules/.pnpm/leaflet.markercluster@1.5.3_leaflet@1.9.4/node_modules/leaflet.markercluster/dist/leaflet.markercluster-src.cjs +1924 -0
- package/dist/node_modules/.pnpm/leaflet.markercluster@1.5.3_leaflet@1.9.4/node_modules/leaflet.markercluster/dist/leaflet.markercluster-src.cjs.map +1 -0
- package/dist/node_modules/.pnpm/leaflet.markercluster@1.5.3_leaflet@1.9.4/node_modules/leaflet.markercluster/dist/leaflet.markercluster-src.js +1924 -0
- package/dist/node_modules/.pnpm/leaflet.markercluster@1.5.3_leaflet@1.9.4/node_modules/leaflet.markercluster/dist/leaflet.markercluster-src.js.map +1 -0
- package/dist/node_modules/.pnpm/leaflet@1.9.4/node_modules/leaflet/dist/leaflet-src.cjs +9561 -0
- package/dist/node_modules/.pnpm/leaflet@1.9.4/node_modules/leaflet/dist/leaflet-src.cjs.map +1 -0
- package/dist/node_modules/.pnpm/leaflet@1.9.4/node_modules/leaflet/dist/leaflet-src.js +9561 -0
- package/dist/node_modules/.pnpm/leaflet@1.9.4/node_modules/leaflet/dist/leaflet-src.js.map +1 -0
- package/dist/services/index.d.ts +1 -1
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/validation.cjs +158 -15
- package/dist/services/validation.cjs.map +1 -1
- package/dist/services/validation.d.ts +40 -4
- package/dist/services/validation.d.ts.map +1 -1
- package/dist/services/validation.js +158 -15
- package/dist/services/validation.js.map +1 -1
- package/dist/test-setup.d.ts +6 -0
- package/dist/test-setup.d.ts.map +1 -0
- package/dist/types/index.d.ts +540 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types-export.d.cts +13 -0
- package/dist/types.d.cts +842 -0
- package/dist/types.d.ts +540 -2
- package/dist/validation.d.cts +14 -0
- package/package.json +107 -23
- package/src/components/ActionGroupRenderer.test.tsx +318 -0
- package/src/components/ActionGroupRenderer.tsx +175 -0
- package/src/components/ActionRenderer.tsx +1 -1
- package/src/components/CarouselRenderer.tsx +7 -6
- package/src/components/ChartJSRenderer.tsx +194 -0
- package/src/components/CodeBlockRenderer.test.tsx +85 -0
- package/src/components/CodeBlockRenderer.tsx +197 -0
- package/src/components/FormFieldRenderer.tsx +229 -0
- package/src/components/FormRenderer.test.tsx +536 -0
- package/src/components/FormRenderer.tsx +235 -0
- package/src/components/GenerativeUIErrorBoundary.tsx +1 -1
- package/src/components/GridRenderer.tsx +8 -4
- package/src/components/ImageGalleryRenderer.test.tsx +184 -0
- package/src/components/ImageGalleryRenderer.tsx +146 -0
- package/src/components/LightboxOverlay.tsx +172 -0
- package/src/components/MapRenderer.test.tsx +100 -0
- package/src/components/MapRenderer.tsx +201 -0
- package/src/components/ModalRenderer.test.tsx +430 -0
- package/src/components/ModalRenderer.tsx +232 -0
- package/src/components/RenderContext.tsx +71 -0
- package/src/components/UIResourceRenderer.tsx +400 -63
- package/src/components/VideoRenderer.test.tsx +223 -0
- package/src/components/VideoRenderer.tsx +194 -0
- package/src/components/index.ts +39 -0
- package/src/context/MCPActionContext.tsx +6 -3
- package/src/hooks/index.ts +20 -2
- package/src/hooks/useAction.ts +191 -19
- package/src/hooks/useConditionalField.ts +92 -0
- package/src/hooks/useFormPersistence.test.ts +265 -0
- package/src/hooks/useFormPersistence.ts +263 -0
- package/src/hooks/useModal.ts +154 -0
- package/src/index.ts +49 -1
- package/src/services/index.ts +7 -1
- package/src/services/validation.ts +216 -15
- package/src/ssr.test.tsx +190 -0
- package/src/test-setup.ts +38 -0
- package/src/types/index.ts +669 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/vite.config.ts +9 -1
- package/vitest.config.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UIResourceRenderer.js","sources":["../../src/components/UIResourceRenderer.tsx"],"sourcesContent":["/**\n * UI Resource Renderer Component\n * Phase 0: Foundation with iframe sandbox and composite grid support\n */\n\nimport DOMPurify from 'dompurify'\nimport { Component, createSignal, Show, For, createMemo, createEffect } from 'solid-js'\nimport { isServer } from 'solid-js/web'\nimport type { UIComponent, UILayout, RendererError, ComponentType } from '../types'\nimport { validateComponent, DEFAULT_RESOURCE_LIMITS } from '../services/validation'\nimport { GenerativeUIErrorBoundary } from './GenerativeUIErrorBoundary'\nimport { GridRenderer } from './GridRenderer'\nimport { FooterRenderer } from './FooterRenderer'\nimport { useAction } from '../hooks/useAction'\nimport { marked } from 'marked'\n\n/**\n * Copy button component with visual feedback\n */\nfunction CopyButton(props: { getText: () => string; title?: string; position?: 'top-right' | 'bottom-right' }) {\n const [copied, setCopied] = createSignal(false)\n\n const handleCopy = async () => {\n try {\n await navigator.clipboard.writeText(props.getText())\n setCopied(true)\n setTimeout(() => setCopied(false), 2000)\n } catch (err) {\n console.error('Failed to copy:', err)\n }\n }\n\n const positionClasses = () => {\n return props.position === 'bottom-right'\n ? 'absolute -right-2 -bottom-3'\n : 'absolute right-2 top-2'\n }\n\n return (\n <button\n onClick={handleCopy}\n class={`${positionClasses()} opacity-60 hover:opacity-100 px-2 py-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-full hover:bg-gray-100 dark:hover:bg-gray-700 transition-all shadow-sm z-10`}\n title={props.title || 'Copy'}\n >\n <Show\n when={!copied()}\n fallback={\n <svg class=\"w-3 h-3 text-green-500\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 13l4 4L19 7\" />\n </svg>\n }\n >\n <svg class=\"w-3 h-3 text-gray-500 dark:text-gray-400\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\" />\n </svg>\n </Show>\n </button>\n )\n}\n\n/**\n * Props for UIResourceRenderer\n */\nexport interface UIResourceRendererProps {\n /**\n * Single component or full layout to render\n */\n content: UIComponent | UILayout\n\n /**\n * Lazy loading (default: true)\n */\n lazyLoad?: boolean\n\n /**\n * Error callback\n */\n onError?: (error: RendererError) => void\n\n /**\n * Custom CSS class\n */\n class?: string\n}\n\n/**\n * Render a single chart component in a sandboxed iframe\n */\nfunction ChartRenderer(props: {\n component: UIComponent\n onError?: (error: RendererError) => void\n}) {\n const [iframeUrl, setIframeUrl] = createSignal<string>()\n const [isLoading, setIsLoading] = createSignal(true)\n const [error, setError] = createSignal<string>()\n\n // Use createEffect instead of onMount for SSR compatibility\n // createEffect runs after hydration on client-side\n createEffect(() => {\n const chartParams = props.component.params as any\n if (!chartParams) return\n\n // Build Quickchart URL\n const chartConfig = {\n type: chartParams.type,\n data: chartParams.data,\n options: {\n ...chartParams.options,\n responsive: true,\n maintainAspectRatio: false,\n },\n }\n\n // Encode chart configuration for Quickchart API\n const configStr = encodeURIComponent(JSON.stringify(chartConfig))\n const url = `https://quickchart.io/chart?c=${configStr}&width=500&height=300&devicePixelRatio=2`\n\n // Validate domain (should always pass for quickchart.io)\n setIframeUrl(url)\n setIsLoading(false)\n })\n\n return (\n <div class=\"relative w-full h-full min-h-[300px] bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden\">\n <Show when={isLoading()}>\n <div class=\"absolute inset-0 flex items-center justify-center\">\n <div class=\"animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600\" />\n </div>\n </Show>\n\n <Show when={error()}>\n <div class=\"absolute inset-0 flex items-center justify-center p-4\">\n <div class=\"text-center\">\n <p class=\"text-red-600 dark:text-red-400 text-sm font-medium\">Chart Error</p>\n <p class=\"text-gray-600 dark:text-gray-400 text-xs mt-1\">{error()}</p>\n </div>\n </div>\n </Show>\n\n <Show when={iframeUrl() && !error()}>\n <div class=\"w-full h-full p-4\">\n <Show when={(props.component.params as any).title}>\n <h3 class=\"text-sm font-semibold text-gray-900 dark:text-white mb-3\">\n {(props.component.params as any).title}\n </h3>\n </Show>\n <div class=\"w-full h-full\">\n <img\n src={iframeUrl()}\n alt=\"Chart visualization\"\n class=\"w-full h-auto max-h-[300px] object-contain\"\n onError={() => {\n setError('Failed to load chart')\n props.onError?.({\n type: 'render',\n message: 'Chart rendering failed',\n componentId: props.component.id,\n })\n }}\n />\n </div>\n </div>\n </Show>\n </div>\n )\n}\n\n/**\n * Smart cell value renderer that handles markdown links and other formats\n */\nfunction renderCellValue(value: any): string {\n // Handle null/undefined\n if (value === null || value === undefined) {\n return '-'\n }\n\n // Handle object with url/name properties (common source/link format from LLM)\n if (typeof value === 'object' && value !== null) {\n // Check for link-like objects: { url: \"...\", name/label/title: \"...\" }\n if (value.url) {\n const label = value.name || value.label || value.title || value.url\n const sanitizedLabel = DOMPurify.sanitize(String(label))\n const sanitizedUrl = DOMPurify.sanitize(String(value.url))\n return `<a href=\"${sanitizedUrl}\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"text-blue-600 dark:text-blue-400 hover:underline\">${sanitizedLabel}</a>`\n }\n // Fallback: extract meaningful text from object properties\n if (value.name || value.label || value.title) {\n return DOMPurify.sanitize(String(value.name || value.label || value.title))\n }\n // Last resort: JSON stringify for debugging (better than [object Object])\n try {\n return JSON.stringify(value)\n } catch {\n return '-'\n }\n }\n\n // Convert to string\n let strValue = String(value)\n\n // Clean up \"undefined\" patterns from backend data\n // Pattern 1: \"Text – undefined\" or \"Text - undefined\" → \"Text\"\n strValue = strValue.replace(/\\s*[–-]\\s*undefined\\s*$/gi, '')\n // Pattern 2: \"undefined – Text\" or \"undefined - Text\" → \"Text\"\n strValue = strValue.replace(/^undefined\\s*[–-]\\s*/gi, '')\n // Pattern 3: standalone \"undefined\" → \"-\"\n if (strValue.trim().toLowerCase() === 'undefined') {\n return '-'\n }\n // Pattern 4: empty string after cleanup → \"-\"\n if (strValue.trim() === '') {\n return '-'\n }\n\n // Detect and convert markdown links: [text](url)\n const markdownLinkRegex = /\\[([^\\]]+)\\]\\(([^)]+)\\)/g\n if (markdownLinkRegex.test(strValue)) {\n // Replace all markdown links with HTML links\n const htmlValue = strValue.replace(\n /\\[([^\\]]+)\\]\\(([^)]+)\\)/g,\n '<a href=\"$2\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"text-blue-600 dark:text-blue-400 hover:underline\">$1</a>'\n )\n return DOMPurify.sanitize(htmlValue, { ADD_ATTR: ['target', 'rel'] })\n }\n\n // Check if value contains markdown formatting (bold, italic, code, etc.)\n const hasMarkdown = /[*_`\\[\\]#]/.test(strValue)\n if (hasMarkdown) {\n // Parse with marked and sanitize\n const parsed = marked.parse(strValue, { async: false }) as string\n return DOMPurify.sanitize(parsed, { ADD_ATTR: ['target', 'rel'] })\n }\n\n // Plain text\n return strValue\n}\n\n/**\n * Render a table component\n */\nfunction TableRenderer(props: {\n component: UIComponent\n onError?: (error: RendererError) => void\n}) {\n const tableParams = props.component.params as any\n\n // Generate copyable text from table data (TSV format for spreadsheet compatibility)\n const getTableText = () => {\n const columns = tableParams.columns || []\n const rows = tableParams.rows || []\n const header = columns.map((c: any) => c.label).join('\\t')\n const dataRows = rows.map((row: any) =>\n columns.map((c: any) => {\n const value = row[c.key]\n if (value === null || value === undefined) return ''\n if (typeof value === 'object') return value.name || value.label || JSON.stringify(value)\n return String(value)\n }).join('\\t')\n ).join('\\n')\n return `${header}\\n${dataRows}`\n }\n\n return (\n <div class=\"relative w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden group\">\n <CopyButton getText={getTableText} title=\"Copy table data\" position=\"top-right\" />\n <div class=\"p-4\">\n <Show when={tableParams.title}>\n <h3 class=\"text-sm font-semibold text-gray-900 dark:text-white mb-3\">\n {tableParams.title}\n </h3>\n </Show>\n\n <div class=\"overflow-x-auto\">\n <table class=\"min-w-full divide-y divide-gray-200 dark:divide-gray-700 border-separate border-spacing-0\">\n <thead class=\"bg-gray-50 dark:bg-gray-900/50\">\n <tr>\n <For each={tableParams.columns}>\n {(column: any) => (\n <th\n scope=\"col\"\n class=\"px-6 py-3 text-left text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider border-b border-gray-200 dark:border-gray-700 first:pl-6 last:pr-6\"\n style={column.width ? { width: column.width } : {}}\n >\n {column.label}\n </th>\n )}\n </For>\n </tr>\n </thead>\n <tbody class=\"bg-white dark:bg-gray-800 divide-y divide-gray-200 dark:divide-gray-700\">\n <For each={tableParams.rows.slice(0, DEFAULT_RESOURCE_LIMITS.maxTableRows)}>\n {(row: any, i) => (\n <tr class={`hover:bg-gray-50 dark:hover:bg-gray-700/50 transition-colors ${i() % 2 === 0 ? 'bg-white dark:bg-gray-800' : 'bg-gray-50/30 dark:bg-gray-800/50'}`}>\n <For each={tableParams.columns}>\n {(column: any) => (\n <td class=\"px-6 py-4 text-sm text-gray-700 dark:text-gray-200 whitespace-normal break-words leading-relaxed first:pl-6 last:pr-6\">\n <div innerHTML={renderCellValue(row[column.key])} />\n </td>\n )}\n </For>\n </tr>\n )}\n </For>\n </tbody>\n </table>\n </div>\n\n <Show when={tableParams.pagination}>\n <div class=\"mt-3 flex items-center justify-between text-xs text-gray-500 dark:text-gray-400\">\n <span>\n Showing {tableParams.pagination.currentPage * tableParams.pagination.pageSize + 1} -{' '}\n {Math.min(\n (tableParams.pagination.currentPage + 1) * tableParams.pagination.pageSize,\n tableParams.pagination.totalRows\n )}{' '}\n of {tableParams.pagination.totalRows}\n </span>\n </div>\n </Show>\n </div>\n </div>\n )\n}\n\n/**\n * Render a metric card component\n */\nfunction MetricRenderer(props: { component: UIComponent }) {\n const metricParams = props.component.params as any\n\n // Generate copyable text for metric\n const getMetricText = () => {\n const title = metricParams.title || metricParams.label || ''\n const value = metricParams.value\n const unit = metricParams.unit || ''\n return `${title}: ${value}${unit ? ' ' + unit : ''}`\n }\n\n return (\n <div class=\"relative w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 p-4 group\">\n <CopyButton getText={getMetricText} title=\"Copy metric\" position=\"top-right\" />\n <div class=\"flex flex-col h-full justify-between\">\n <div>\n <p class=\"text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide\">\n {metricParams.title}\n </p>\n <div class=\"mt-2 flex items-baseline\">\n <p class=\"text-2xl font-semibold text-gray-900 dark:text-white\">{metricParams.value}</p>\n <Show when={metricParams.unit}>\n <span class=\"ml-2 text-sm font-medium text-gray-500 dark:text-gray-400\">\n {metricParams.unit}\n </span>\n </Show>\n </div>\n </div>\n\n <Show when={metricParams.trend}>\n <div class=\"mt-3 flex items-center\">\n <span\n class={`text-sm font-medium ${metricParams.trend.direction === 'up'\n ? 'text-green-600 dark:text-green-400'\n : metricParams.trend.direction === 'down'\n ? 'text-red-600 dark:text-red-400'\n : 'text-gray-600 dark:text-gray-400'\n }`}\n >\n {metricParams.trend.direction === 'up'\n ? '�'\n : metricParams.trend.direction === 'down'\n ? '�'\n : '�'}{' '}\n {Math.abs(metricParams.trend.value)}%\n </span>\n </div>\n </Show>\n\n <Show when={metricParams.subtitle}>\n <p class=\"mt-2 text-xs text-gray-500 dark:text-gray-400\">{metricParams.subtitle}</p>\n </Show>\n </div>\n </div>\n )\n}\n\n/**\n * Extract image data from markdown image link format\n * Pattern: [](link-url)\\n*Photo by Author*\n */\nfunction extractImageFromMarkdown(content: string): { alt: string; imageUrl: string; linkUrl: string; credit: string } | null {\n // Pattern: [](link-url) followed by optional credit line\n const imagePattern = /\\[!\\[([^\\]]*)\\]\\(([^)]+)\\)\\]\\(([^)]+)\\)\\s*\\*([^*]+)\\*/\n const match = content.match(imagePattern)\n\n if (match) {\n return {\n alt: match[1] || 'Image',\n imageUrl: match[2],\n linkUrl: match[3],\n credit: match[4].trim()\n }\n }\n\n return null\n}\n\n/**\n * Render a text component (with optional markdown)\n */\nfunction TextRenderer(props: { component: UIComponent }) {\n const textParams = props.component.params as any\n\n // Check if this is an image markdown that should be rendered as image component\n const imageData = createMemo(() => {\n if (textParams.markdown && textParams.content) {\n return extractImageFromMarkdown(textParams.content)\n }\n return null\n })\n\n // Convert markdown to HTML if markdown flag is true (and not an image component)\n const htmlContent = createMemo(() => {\n if (textParams.markdown && !imageData()) {\n return marked.parse(textParams.content, { async: false }) as string\n }\n return textParams.content\n })\n\n // Get plain text content for copying (strip markdown/HTML)\n const getTextContent = () => {\n return textParams.content || ''\n }\n\n // Render as image component if we extracted image data\n return (\n <Show\n when={imageData()}\n fallback={\n <div class=\"relative w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 p-4 group\">\n <CopyButton getText={getTextContent} title=\"Copy text\" position=\"top-right\" />\n <div\n class={`prose prose-sm dark:prose-invert max-w-none ${textParams.className || ''}`}\n innerHTML={htmlContent()}\n />\n </div>\n }\n >\n {(data) => (\n <div class=\"w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden flex flex-col\">\n <div class=\"flex-1 flex items-center justify-center p-4 bg-gray-50 dark:bg-gray-900 min-h-[200px]\">\n <a href={data().linkUrl} target=\"_blank\" rel=\"noopener noreferrer\" class=\"cursor-zoom-in\">\n <img\n src={data().imageUrl}\n alt={data().alt}\n class=\"max-w-full max-h-[400px] object-contain rounded shadow-sm hover:opacity-90 transition-opacity\"\n loading=\"lazy\"\n />\n </a>\n </div>\n <div class=\"p-3 border-t border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800\">\n <p class=\"text-sm text-gray-600 dark:text-gray-400 text-center italic\">{data().credit}</p>\n </div>\n </div>\n )}\n </Show>\n )\n}\n\n/**\n * Render an iframe component\n */\nfunction IframeRenderer(props: { component: UIComponent }) {\n const params = props.component.params as any\n return (\n <div class=\"w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden flex flex-col\">\n <Show when={params.title}>\n <div class=\"px-4 py-2 border-b border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-900\">\n <h3 class=\"text-sm font-semibold text-gray-900 dark:text-white\">{params.title}</h3>\n </div>\n </Show>\n <iframe\n src={params.url}\n title={params.title || 'Embedded content'}\n class=\"w-full border-0 flex-1\"\n style={`height: ${params.height || '400px'}; min-height: 300px;`}\n sandbox=\"allow-scripts allow-same-origin allow-popups allow-forms\"\n loading=\"lazy\"\n />\n </div>\n )\n}\n\n/**\n * Render an image component\n */\nfunction ImageRenderer(props: { component: UIComponent }) {\n const params = props.component.params as any\n\n return (\n <div class=\"w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden flex flex-col\">\n <div class=\"flex-1 flex items-center justify-center p-4 bg-gray-50 dark:bg-gray-900 min-h-[200px]\">\n <a href={params.url} target=\"_blank\" rel=\"noopener noreferrer\" class=\"cursor-zoom-in\">\n <img\n src={params.url}\n alt={params.alt || 'Image'}\n class=\"max-w-full max-h-[500px] object-contain rounded shadow-sm hover:opacity-95 transition-opacity\"\n loading=\"lazy\"\n />\n </a>\n </div>\n <Show when={params.caption}>\n <div class=\"p-3 border-t border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800\">\n <p class=\"text-sm text-gray-600 dark:text-gray-400 text-center\">{params.caption}</p>\n </div>\n </Show>\n </div>\n )\n}\n\n/**\n * Render a link component\n */\n/**\n * Render a link component\n */\nfunction LinkRenderer(props: { component: UIComponent }) {\n const params = props.component.params as any\n\n return (\n <a\n href={params.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"flex items-center gap-3 p-4 bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors group h-full\"\n onClick={(e) => e.stopPropagation()}\n >\n <div class=\"p-2 bg-blue-50 dark:bg-blue-900/30 rounded-full text-blue-600 dark:text-blue-400 group-hover:bg-blue-100 dark:group-hover:bg-blue-900/50 shrink-0 transition-colors\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"w-5 h-5\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\" />\n <path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\" />\n </svg>\n </div>\n <div class=\"flex-1 min-w-0\">\n <h4 class=\"text-sm font-medium text-gray-900 dark:text-white truncate group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors\">\n {params.label || params.url}\n </h4>\n <Show when={params.description}>\n <p class=\"text-xs text-gray-500 dark:text-gray-400 truncate\">{params.description}</p>\n </Show>\n </div>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"w-4 h-4 text-gray-400 group-hover:text-gray-600 dark:group-hover:text-gray-300 shrink-0 transition-colors\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\" />\n <polyline points=\"15 3 21 3 21 9\" />\n <line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\" />\n </svg>\n </a>\n )\n}\n\n/**\n * Render a single component with error boundary\n */\nfunction ComponentRenderer(props: {\n component: UIComponent\n onError?: (error: RendererError) => void\n}) {\n // Validate component before rendering\n const validation = validateComponent(props.component)\n if (!validation.valid) {\n props.onError?.({\n type: 'validation',\n message: 'Component validation failed',\n componentId: props.component.id,\n details: validation.errors,\n })\n\n return (\n <div class=\"w-full h-full bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg p-4\">\n <p class=\"text-sm font-medium text-red-900 dark:text-red-100\">Validation Error</p>\n <p class=\"text-xs text-red-700 dark:text-red-300 mt-1\">\n {validation.errors?.[0]?.message || 'Unknown validation error'}\n </p>\n </div>\n )\n }\n\n // Render based on component type with enhanced error boundary\n return (\n <GenerativeUIErrorBoundary\n componentId={props.component.id}\n componentType={props.component.type}\n onError={props.onError}\n allowRetry={true}\n >\n <Show when={props.component.type === 'chart'}>\n <ChartRenderer component={props.component} onError={props.onError} />\n </Show>\n <Show when={props.component.type === 'table'}>\n <TableRenderer component={props.component} onError={props.onError} />\n </Show>\n <Show when={props.component.type === 'metric'}>\n <MetricRenderer component={props.component} />\n </Show>\n <Show when={props.component.type === 'text'}>\n <TextRenderer component={props.component} />\n </Show>\n <Show when={props.component.type === 'iframe'}>\n <IframeRenderer component={props.component} />\n </Show>\n <Show when={props.component.type === 'image'}>\n <ImageRenderer component={props.component} />\n </Show>\n <Show when={props.component.type === 'link'}>\n <LinkRenderer component={props.component} />\n </Show>\n <Show when={props.component.type === 'action'}>\n <ActionRenderer component={props.component} />\n </Show>\n <Show when={props.component.type === 'grid'}>\n <GridRenderer component={props.component} onError={props.onError} />\n </Show>\n </GenerativeUIErrorBoundary>\n )\n}\n\n/**\n * Render an action component (button or link)\n * Refactored in Phase 5.0 to use useAction hook for Context-based execution\n */\nfunction ActionRenderer(props: { component: UIComponent }) {\n const params = props.component.params as any\n const { execute, isExecuting } = useAction()\n\n // Handle click to execute tool via Context (falls back to CustomEvent if no provider)\n const handleClick = async (e: MouseEvent) => {\n if (params.action === 'tool-call' && params.toolName) {\n e.preventDefault()\n await execute(params.toolName, params.params || {})\n }\n }\n\n // Determine if button should be disabled (explicit disable or currently executing)\n const isDisabled = () => params.disabled || (params.action === 'tool-call' && isExecuting())\n\n if (params.type === 'link' || params.action === 'link') {\n return (\n <a\n href={params.url || '#'}\n target={params.url ? '_blank' : undefined}\n rel=\"noopener noreferrer\"\n class={`inline-flex items-center gap-2 px-4 py-2 rounded-md text-sm font-medium transition-colors\n ${params.variant === 'primary' ? 'bg-blue-600 text-white hover:bg-blue-700' :\n params.variant === 'outline' ? 'border border-gray-300 text-gray-700 hover:bg-gray-50 dark:border-gray-600 dark:text-gray-300 dark:hover:bg-gray-800' :\n 'text-blue-600 hover:text-blue-800 dark:text-blue-400 dark:hover:text-blue-300'}`}\n onClick={handleClick}\n >\n <Show when={params.icon}>\n <span>{params.icon}</span>\n </Show>\n {params.label}\n </a>\n )\n }\n\n return (\n <button\n type={params.action === 'submit' ? 'submit' : 'button'}\n disabled={isDisabled()}\n class={`inline-flex items-center gap-2 px-4 py-2 rounded-md text-sm font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500\n ${params.variant === 'primary' ? 'bg-blue-600 text-white hover:bg-blue-700 shadow-sm' :\n params.variant === 'secondary' ? 'bg-gray-100 text-gray-900 hover:bg-gray-200 dark:bg-gray-700 dark:text-white dark:hover:bg-gray-600' :\n params.variant === 'outline' ? 'border border-gray-300 text-gray-700 hover:bg-gray-50 dark:border-gray-600 dark:text-gray-300 dark:hover:bg-gray-800' :\n params.variant === 'danger' ? 'bg-red-600 text-white hover:bg-red-700' :\n 'bg-transparent text-gray-700 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-gray-800'}\n ${isDisabled() ? 'opacity-50 cursor-not-allowed' : ''}\n ${params.size === 'sm' ? 'px-3 py-1.5 text-xs' : params.size === 'lg' ? 'px-6 py-3 text-base' : ''}`}\n onClick={handleClick}\n >\n <Show when={isExecuting() && params.action === 'tool-call'}>\n <span class=\"animate-spin h-4 w-4 border-2 border-current border-t-transparent rounded-full\" />\n </Show>\n <Show when={params.icon && !(isExecuting() && params.action === 'tool-call')}>\n <span>{params.icon}</span>\n </Show>\n {params.label}\n </button>\n )\n}\n\n/**\n * Main UIResourceRenderer component\n */\nexport const UIResourceRenderer: Component<UIResourceRendererProps> = (props) => {\n const layout = () => {\n // Check if content is a UIComponent (non-composite) vs UILayout (composite)\n if ('type' in props.content && (props.content as any).type !== 'composite') {\n return {\n id: 'single-component',\n components: [props.content as UIComponent],\n grid: {\n columns: 12,\n gap: '1rem',\n },\n } as UILayout\n }\n return props.content as UILayout\n }\n\n // Convert grid styles to CSS string\n const gridContainerStyle = () => {\n const layoutData = layout()\n return `grid-template-columns: repeat(${layoutData.grid.columns}, 1fr); gap: ${layoutData.grid.gap}`\n }\n\n // Convert component grid styles to CSS string\n const getGridStyleString = (component: UIComponent) => {\n // Defensive check for position field - default to full width\n if (!component.position) {\n return 'grid-column: 1 / span 12; grid-row: auto'\n }\n const { colStart, colSpan, rowStart, rowSpan = 1 } = component.position\n return `grid-column: ${colStart} / span ${colSpan}; grid-row: ${rowStart ? `${rowStart} / span ${rowSpan}` : 'auto'}`\n }\n\n // Auto-footer logic (Phase 5.0)\n // Automatically inject footer when metadata is present and no explicit footer exists\n const shouldShowAutoFooter = createMemo(() => {\n const layoutData = layout()\n\n // Don't show if explicitly hidden\n if (layoutData.metadata?.hideFooter) {\n return false\n }\n\n // Don't show if no metadata (nothing to display)\n if (!layoutData.metadata) {\n return false\n }\n\n // Don't show if explicit footer component exists\n const hasExplicitFooter = layoutData.components.some((c) => c.type === 'footer')\n if (hasExplicitFooter) {\n return false\n }\n\n // Show auto-footer if metadata has relevant info\n return !!(\n layoutData.metadata.executionTime ||\n layoutData.metadata.sourceCount ||\n layoutData.metadata.llmModel\n )\n })\n\n // Build auto-footer params from metadata\n const autoFooterParams = createMemo(() => {\n const layoutData = layout()\n return {\n poweredBy: 'Deposium',\n executionTime: layoutData.metadata?.executionTime,\n model: layoutData.metadata?.llmModel,\n sourceCount: layoutData.metadata?.sourceCount,\n }\n })\n\n const layoutData = layout()\n\n return (\n <div class={`w-full ${props.class || ''}`}>\n <div class=\"grid gap-4\" style={gridContainerStyle()}>\n <For each={layoutData.components}>\n {(component) => (\n <div style={getGridStyleString(component)}>\n <ComponentRenderer component={component} onError={props.onError} />\n </div>\n )}\n </For>\n </div>\n\n {/* Auto-injected footer (Phase 5.0) */}\n <Show when={shouldShowAutoFooter()}>\n <FooterRenderer params={autoFooterParams()} />\n </Show>\n </div>\n )\n}\n"],"names":["CopyButton","props","copied","setCopied","createSignal","handleCopy","navigator","clipboard","writeText","getText","setTimeout","err","console","error","positionClasses","position","_el$","_$getNextElement","_tmpl$2","$$click","_$insert","_$createComponent","Show","when","fallback","_tmpl$3","children","_tmpl$","_$effect","_p$","_v$","_v$2","title","e","_$className","t","_$setAttribute","undefined","_$runHydrationEvents","ChartRenderer","iframeUrl","setIframeUrl","isLoading","setIsLoading","setError","createEffect","chartParams","component","params","chartConfig","type","data","options","responsive","maintainAspectRatio","configStr","encodeURIComponent","JSON","stringify","url","_el$4","_tmpl$8","_el$14","firstChild","_el$15","_co$2","_$getNextMarker","nextSibling","_el$16","_el$17","_co$3","_el$18","_el$19","_co$4","_tmpl$4","_el$6","_tmpl$5","_el$7","_el$8","_el$9","_$memo","_el$0","_tmpl$7","_el$12","_el$13","_co$","_el$10","_el$11","_el$1","_tmpl$6","addEventListener","onError","message","componentId","id","renderCellValue","value","label","name","sanitizedLabel","DOMPurify","sanitize","String","sanitizedUrl","strValue","replace","trim","toLowerCase","markdownLinkRegex","test","htmlValue","ADD_ATTR","hasMarkdown","parsed","marked","parse","async","TableRenderer","tableParams","getTableText","columns","rows","header","map","c","join","dataRows","row","key","_el$20","_tmpl$0","_el$45","_el$46","_co$0","_el$21","_el$41","_el$42","_co$8","_el$23","_el$24","_el$25","_el$26","_el$27","_el$43","_el$44","_co$9","_el$22","For","each","column","_el$47","_tmpl$1","_$p","_$style","width","slice","DEFAULT_RESOURCE_LIMITS","maxTableRows","i","_el$48","_tmpl$10","_el$49","_tmpl$11","_el$50","_$setProperty","pagination","_el$28","_tmpl$9","_el$29","_el$30","_el$35","_el$36","_co$5","_el$31","_el$37","_el$38","_co$6","_el$33","_el$39","_el$40","_co$7","currentPage","pageSize","Math","min","totalRows","MetricRenderer","metricParams","getMetricText","unit","_el$51","_tmpl$15","_el$73","_el$74","_co$14","_el$52","_el$53","_el$54","_el$55","_el$56","_el$58","_el$59","_co$1","_el$69","_el$70","_co$12","_el$71","_el$72","_co$13","_el$57","_tmpl$12","trend","_el$60","_tmpl$13","_el$61","_el$64","_el$65","_co$10","_el$62","_el$66","_el$67","_co$11","_c$","direction","abs","subtitle","_el$68","_tmpl$14","extractImageFromMarkdown","content","imagePattern","match","alt","imageUrl","linkUrl","credit","TextRenderer","textParams","imageData","createMemo","markdown","htmlContent","getTextContent","_el$75","_tmpl$16","_el$77","_el$78","_co$15","_el$76","_v$3","className","_v$4","_el$79","_tmpl$17","_el$80","_el$81","_el$82","_el$83","_el$84","_v$5","_v$6","_v$7","a","IframeRenderer","_el$85","_tmpl$19","_el$89","_el$90","_co$16","_el$88","_el$86","_tmpl$18","_el$87","_v$8","_v$9","_v$0","height","ImageRenderer","_el$91","_tmpl$21","_el$92","_el$93","_el$94","_el$97","_el$98","_co$17","caption","_el$95","_tmpl$20","_el$96","_v$1","_v$10","_v$11","LinkRenderer","_el$99","_tmpl$23","_el$100","_el$101","_el$102","_el$104","_el$105","_co$18","stopPropagation","description","_el$103","_tmpl$22","ComponentRenderer","validation","validateComponent","valid","details","errors","_el$106","_tmpl$24","_el$107","_el$108","GenerativeUIErrorBoundary","componentType","allowRetry","ActionRenderer","GridRenderer","execute","isExecuting","useAction","handleClick","action","toolName","preventDefault","isDisabled","disabled","_el$109","_tmpl$26","_el$111","_el$112","_co$19","_el$113","_el$114","_co$20","icon","_el$110","_tmpl$25","_v$12","_v$13","_v$14","variant","_el$115","_tmpl$28","_el$118","_el$119","_co$21","_el$120","_el$121","_co$22","_el$122","_el$123","_co$23","_tmpl$27","_el$117","_v$15","_v$16","_v$17","size","UIResourceRenderer","layout","components","grid","gap","gridContainerStyle","layoutData","getGridStyleString","colStart","colSpan","rowStart","rowSpan","shouldShowAutoFooter","metadata","hideFooter","hasExplicitFooter","some","executionTime","sourceCount","llmModel","autoFooterParams","poweredBy","model","_el$124","_tmpl$29","_el$125","_el$126","_el$127","_co$24","_el$128","_tmpl$30","FooterRenderer","_v$18","class","_v$19","_$delegateEvents"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UIResourceRenderer.js","sources":["../../src/components/UIResourceRenderer.tsx"],"sourcesContent":["/**\n * UI Resource Renderer Component\n * Phase 0: Foundation with iframe sandbox and composite grid support\n */\n\nimport DOMPurify from 'dompurify'\nimport { Component, createSignal, Show, For, createMemo, createEffect } from 'solid-js'\nimport { isServer } from 'solid-js/web'\nimport type { UIComponent, UILayout, RendererError, TableVirtualizeOptions } from '../types'\nimport { validateComponent, DEFAULT_RESOURCE_LIMITS } from '../services/validation'\nimport { GenerativeUIErrorBoundary } from './GenerativeUIErrorBoundary'\nimport { GridRenderer } from './GridRenderer'\nimport { FooterRenderer } from './FooterRenderer'\nimport { CarouselRenderer } from './CarouselRenderer'\nimport { ArtifactRenderer } from './ArtifactRenderer'\nimport { FormRenderer } from './FormRenderer'\nimport { ModalRenderer } from './ModalRenderer'\nimport { ActionGroupRenderer } from './ActionGroupRenderer'\nimport { ChartJSRenderer, isChartJSAvailable } from './ChartJSRenderer'\nimport { ImageGalleryRenderer } from './ImageGalleryRenderer'\nimport { VideoRenderer } from './VideoRenderer'\nimport { CodeBlockRenderer } from './CodeBlockRenderer'\nimport { MapRenderer } from './MapRenderer'\nimport { RenderProvider } from './RenderContext'\nimport { useAction } from '../hooks/useAction'\nimport { marked } from 'marked'\n\n/**\n * Copy button component with visual feedback\n */\nfunction CopyButton(props: { getText: () => string; title?: string; position?: 'top-right' | 'bottom-right' }) {\n const [copied, setCopied] = createSignal(false)\n\n const handleCopy = async () => {\n try {\n await navigator.clipboard.writeText(props.getText())\n setCopied(true)\n setTimeout(() => setCopied(false), 2000)\n } catch (err) {\n console.error('Failed to copy:', err)\n }\n }\n\n const positionClasses = () => {\n return props.position === 'bottom-right'\n ? 'absolute -right-2 -bottom-3'\n : 'absolute right-2 top-2'\n }\n\n return (\n <button\n onClick={handleCopy}\n class={`${positionClasses()} opacity-60 hover:opacity-100 px-2 py-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-full hover:bg-gray-100 dark:hover:bg-gray-700 transition-all shadow-sm z-10`}\n title={props.title || 'Copy'}\n >\n <Show\n when={!copied()}\n fallback={\n <svg class=\"w-3 h-3 text-green-500\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 13l4 4L19 7\" />\n </svg>\n }\n >\n <svg class=\"w-3 h-3 text-gray-500 dark:text-gray-400\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\" />\n </svg>\n </Show>\n </button>\n )\n}\n\n/**\n * Props for UIResourceRenderer\n */\nexport interface UIResourceRendererProps {\n /**\n * Single component or full layout to render\n */\n content: UIComponent | UILayout\n\n /**\n * Lazy loading (default: true)\n */\n lazyLoad?: boolean\n\n /**\n * Error callback\n */\n onError?: (error: RendererError) => void\n\n /**\n * Custom CSS class\n */\n class?: string\n}\n\n/**\n * Render a single chart component in a sandboxed iframe\n */\n/**\n * Smart Chart Renderer - Sprint 4\n * Supports native Chart.js or Quickchart.io iframe fallback\n */\nfunction ChartRenderer(props: {\n component: UIComponent\n onError?: (error: RendererError) => void\n}) {\n const [useNative, setUseNative] = createSignal(false)\n const [iframeUrl, setIframeUrl] = createSignal<string>()\n const [isLoading, setIsLoading] = createSignal(true)\n const [error, setError] = createSignal<string>()\n\n const params = () => props.component.params as any\n const rendererPref = () => params()?.renderer || 'auto'\n\n // Check renderer preference and Chart.js availability\n createEffect(async () => {\n const pref = rendererPref()\n\n if (pref === 'iframe') {\n // Force iframe mode\n setUseNative(false)\n buildIframeUrl()\n } else if (pref === 'native') {\n // Force native mode - will show error if Chart.js not available\n const available = await isChartJSAvailable()\n if (available) {\n setUseNative(true)\n setIsLoading(false)\n } else {\n setError('Chart.js is not available. Install chart.js peer dependency.')\n setIsLoading(false)\n }\n } else {\n // Auto mode - use native if available, otherwise iframe\n const available = await isChartJSAvailable()\n if (available) {\n setUseNative(true)\n setIsLoading(false)\n } else {\n setUseNative(false)\n buildIframeUrl()\n }\n }\n })\n\n const buildIframeUrl = () => {\n const chartParams = params()\n if (!chartParams) return\n\n // Build Quickchart URL\n const chartConfig = {\n type: chartParams.type,\n data: chartParams.data,\n options: {\n ...chartParams.options,\n responsive: true,\n maintainAspectRatio: false,\n },\n }\n\n // Encode chart configuration for Quickchart API\n const configStr = encodeURIComponent(JSON.stringify(chartConfig))\n const url = `https://quickchart.io/chart?c=${configStr}&width=500&height=300&devicePixelRatio=2`\n\n setIframeUrl(url)\n setIsLoading(false)\n }\n\n // Use native Chart.js renderer\n if (useNative()) {\n return (\n <ChartJSRenderer\n component={props.component}\n onError={(err) => props.onError?.({\n type: 'render',\n message: err.message,\n componentId: props.component.id,\n })}\n />\n )\n }\n\n // Iframe fallback (Quickchart.io)\n return (\n <div class=\"relative w-full h-full min-h-[300px] bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden\">\n <Show when={isLoading()}>\n <div class=\"absolute inset-0 flex items-center justify-center\">\n <div class=\"animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600\" />\n </div>\n </Show>\n\n <Show when={error()}>\n <div class=\"absolute inset-0 flex items-center justify-center p-4\">\n <div class=\"text-center\">\n <p class=\"text-red-600 dark:text-red-400 text-sm font-medium\">Chart Error</p>\n <p class=\"text-gray-600 dark:text-gray-400 text-xs mt-1\">{error()}</p>\n </div>\n </div>\n </Show>\n\n <Show when={iframeUrl() && !error()}>\n <div class=\"w-full h-full p-4\">\n <Show when={params()?.title}>\n <h3 class=\"text-sm font-semibold text-gray-900 dark:text-white mb-3\">\n {params()?.title}\n </h3>\n </Show>\n <div class=\"w-full h-full\" role=\"img\" aria-label={params()?.title ? `Chart: ${params()?.title}` : 'Chart visualization'}>\n <img\n src={iframeUrl()}\n alt={params()?.title ? `Chart: ${params()?.title}` : 'Chart visualization'}\n class=\"w-full h-auto max-h-[300px] object-contain\"\n onError={() => {\n setError('Failed to load chart')\n props.onError?.({\n type: 'render',\n message: 'Chart rendering failed',\n componentId: props.component.id,\n })\n }}\n />\n </div>\n </div>\n </Show>\n </div>\n )\n}\n\n/**\n * Smart cell value renderer that handles markdown links and other formats\n */\nfunction renderCellValue(value: any): string {\n // Handle null/undefined\n if (value === null || value === undefined) {\n return '-'\n }\n\n // Handle object with url/name properties (common source/link format from LLM)\n if (typeof value === 'object' && value !== null) {\n // Check for link-like objects: { url: \"...\", name/label/title: \"...\" }\n if (value.url) {\n const label = value.name || value.label || value.title || value.url\n const sanitizedLabel = DOMPurify.sanitize(String(label))\n const sanitizedUrl = DOMPurify.sanitize(String(value.url))\n return `<a href=\"${sanitizedUrl}\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"text-blue-600 dark:text-blue-400 hover:underline\">${sanitizedLabel}</a>`\n }\n // Fallback: extract meaningful text from object properties\n if (value.name || value.label || value.title) {\n return DOMPurify.sanitize(String(value.name || value.label || value.title))\n }\n // Last resort: JSON stringify for debugging (better than [object Object])\n try {\n return JSON.stringify(value)\n } catch {\n return '-'\n }\n }\n\n // Convert to string\n let strValue = String(value)\n\n // Clean up \"undefined\" patterns from backend data\n // Pattern 1: \"Text – undefined\" or \"Text - undefined\" → \"Text\"\n strValue = strValue.replace(/\\s*[–-]\\s*undefined\\s*$/gi, '')\n // Pattern 2: \"undefined – Text\" or \"undefined - Text\" → \"Text\"\n strValue = strValue.replace(/^undefined\\s*[–-]\\s*/gi, '')\n // Pattern 3: standalone \"undefined\" → \"-\"\n if (strValue.trim().toLowerCase() === 'undefined') {\n return '-'\n }\n // Pattern 4: empty string after cleanup → \"-\"\n if (strValue.trim() === '') {\n return '-'\n }\n\n // Detect and convert markdown links: [text](url)\n const markdownLinkRegex = /\\[([^\\]]+)\\]\\(([^)]+)\\)/g\n if (markdownLinkRegex.test(strValue)) {\n // Replace all markdown links with HTML links\n const htmlValue = strValue.replace(\n /\\[([^\\]]+)\\]\\(([^)]+)\\)/g,\n '<a href=\"$2\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"text-blue-600 dark:text-blue-400 hover:underline\">$1</a>'\n )\n return DOMPurify.sanitize(htmlValue, { ADD_ATTR: ['target', 'rel'] })\n }\n\n // Check if value contains markdown formatting (bold, italic, code, etc.)\n const hasMarkdown = /[*_`[\\]#]/.test(strValue)\n if (hasMarkdown) {\n // Parse with marked and sanitize\n const parsed = marked.parse(strValue, { async: false }) as string\n return DOMPurify.sanitize(parsed, { ADD_ATTR: ['target', 'rel'] })\n }\n\n // Plain text\n return strValue\n}\n\n/**\n * Render a table component\n * Sprint Ultimate U.3: Added virtualization support for large datasets\n */\nfunction TableRenderer(props: {\n component: UIComponent\n onError?: (error: RendererError) => void\n}) {\n const tableParams = props.component.params as any\n let scrollContainerRef: HTMLDivElement | undefined\n\n // Virtualization state\n const [virtualizer, setVirtualizer] = createSignal<any>(null)\n const [isVirtualizing, setIsVirtualizing] = createSignal(false)\n\n // Determine if virtualization should be enabled\n const shouldVirtualize = createMemo(() => {\n const opts = tableParams.virtualize\n if (opts === false) return false\n if (opts === true) return true\n if (typeof opts === 'object') {\n if (opts.enabled !== undefined) return opts.enabled\n const threshold = opts.threshold ?? 100\n return (tableParams.rows?.length ?? 0) > threshold\n }\n // Auto-enable if > 100 rows by default\n return (tableParams.rows?.length ?? 0) > 100\n })\n\n // Get virtualization options\n const virtualizeOpts = createMemo((): TableVirtualizeOptions => {\n const opts = tableParams.virtualize\n if (typeof opts === 'object') return opts\n return {}\n })\n\n // Initialize virtualizer when needed\n createEffect(async () => {\n if (isServer || !shouldVirtualize()) {\n setIsVirtualizing(false)\n return\n }\n\n try {\n const { createVirtualizer } = await import('@tanstack/solid-virtual')\n const opts = virtualizeOpts()\n const rowHeight = opts.rowHeight ?? 48\n const overscan = opts.overscan ?? 5\n\n const v = createVirtualizer({\n get count() { return tableParams.rows?.length ?? 0 },\n getScrollElement: () => scrollContainerRef ?? null,\n estimateSize: () => rowHeight,\n overscan,\n })\n\n setVirtualizer(v)\n setIsVirtualizing(true)\n } catch (e) {\n console.warn('Failed to load @tanstack/solid-virtual, falling back to regular table', e)\n setIsVirtualizing(false)\n }\n })\n\n // Generate copyable text from table data (TSV format for spreadsheet compatibility)\n const getTableText = () => {\n const columns = tableParams.columns || []\n const rows = tableParams.rows || []\n const header = columns.map((c: any) => c.label).join('\\t')\n const dataRows = rows.map((row: any) =>\n columns.map((c: any) => {\n const value = row[c.key]\n if (value === null || value === undefined) return ''\n if (typeof value === 'object') return value.name || value.label || JSON.stringify(value)\n return String(value)\n }).join('\\t')\n ).join('\\n')\n return `${header}\\n${dataRows}`\n }\n\n const tableId = `table-${Math.random().toString(36).slice(2, 9)}`\n\n // Standard table body (non-virtualized)\n const StandardTableBody = () => (\n <tbody class=\"bg-white dark:bg-gray-800 divide-y divide-gray-200 dark:divide-gray-700\">\n <For each={tableParams.rows.slice(0, DEFAULT_RESOURCE_LIMITS.maxTableRows)}>\n {(row: any, i) => (\n <tr class={`hover:bg-gray-50 dark:hover:bg-gray-700/50 transition-colors ${i() % 2 === 0 ? 'bg-white dark:bg-gray-800' : 'bg-gray-50/30 dark:bg-gray-800/50'}`}>\n <For each={tableParams.columns}>\n {(column: any) => (\n <td class=\"px-6 py-4 text-sm text-gray-700 dark:text-gray-200 whitespace-normal break-words leading-relaxed first:pl-6 last:pr-6\">\n <div innerHTML={renderCellValue(row[column.key])} />\n </td>\n )}\n </For>\n </tr>\n )}\n </For>\n </tbody>\n )\n\n // Virtualized table body\n const VirtualizedTableBody = () => {\n const v = virtualizer()\n if (!v) return null\n\n const items = v.getVirtualItems()\n const totalSize = v.getTotalSize()\n const opts = virtualizeOpts()\n const rowHeight = opts.rowHeight ?? 48\n\n return (\n <tbody\n class=\"bg-white dark:bg-gray-800 relative\"\n style={{ height: `${totalSize}px` }}\n >\n <For each={items}>\n {(virtualRow: any) => {\n const row = tableParams.rows[virtualRow.index]\n return (\n <tr\n class={`hover:bg-gray-50 dark:hover:bg-gray-700/50 transition-colors absolute left-0 right-0 ${virtualRow.index % 2 === 0 ? 'bg-white dark:bg-gray-800' : 'bg-gray-50/30 dark:bg-gray-800/50'}`}\n style={{\n height: `${rowHeight}px`,\n transform: `translateY(${virtualRow.start}px)`\n }}\n >\n <For each={tableParams.columns}>\n {(column: any) => (\n <td class=\"px-6 py-4 text-sm text-gray-700 dark:text-gray-200 whitespace-normal break-words leading-relaxed first:pl-6 last:pr-6\">\n <div innerHTML={renderCellValue(row[column.key])} />\n </td>\n )}\n </For>\n </tr>\n )\n }}\n </For>\n </tbody>\n )\n }\n\n return (\n <div class=\"relative w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden group\">\n <CopyButton getText={getTableText} title=\"Copy table data\" position=\"top-right\" />\n <div class=\"p-4\">\n <Show when={tableParams.title}>\n <h3 id={`${tableId}-title`} class=\"text-sm font-semibold text-gray-900 dark:text-white mb-3\">\n {tableParams.title}\n <Show when={isVirtualizing()}>\n <span class=\"ml-2 text-xs font-normal text-gray-400\">(virtualized: {tableParams.rows?.length} rows)</span>\n </Show>\n </h3>\n </Show>\n\n <div\n ref={scrollContainerRef}\n class=\"overflow-x-auto\"\n style={isVirtualizing() ? { 'max-height': '500px', 'overflow-y': 'auto' } : {}}\n role=\"region\"\n aria-label={tableParams.title || 'Data table'}\n tabindex=\"0\"\n >\n <table\n class=\"min-w-full divide-y divide-gray-200 dark:divide-gray-700 border-separate border-spacing-0\"\n aria-labelledby={tableParams.title ? `${tableId}-title` : undefined}\n >\n <thead class=\"bg-gray-50 dark:bg-gray-900/50 sticky top-0 z-10\">\n <tr>\n <For each={tableParams.columns}>\n {(column: any) => (\n <th\n scope=\"col\"\n class=\"px-6 py-3 text-left text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider border-b border-gray-200 dark:border-gray-700 first:pl-6 last:pr-6 bg-gray-50 dark:bg-gray-900/50\"\n style={column.width ? { width: column.width } : {}}\n >\n {column.label}\n </th>\n )}\n </For>\n </tr>\n </thead>\n <Show when={isVirtualizing()} fallback={<StandardTableBody />}>\n <VirtualizedTableBody />\n </Show>\n </table>\n </div>\n\n <Show when={tableParams.pagination}>\n <div class=\"mt-3 flex items-center justify-between text-xs text-gray-500 dark:text-gray-400\">\n <span>\n Showing {tableParams.pagination.currentPage * tableParams.pagination.pageSize + 1} -{' '}\n {Math.min(\n (tableParams.pagination.currentPage + 1) * tableParams.pagination.pageSize,\n tableParams.pagination.totalRows\n )}{' '}\n of {tableParams.pagination.totalRows}\n </span>\n </div>\n </Show>\n </div>\n </div>\n )\n}\n\n/**\n * Render a metric card component\n */\nfunction MetricRenderer(props: { component: UIComponent }) {\n const metricParams = props.component.params as any\n\n // Generate copyable text for metric\n const getMetricText = () => {\n const title = metricParams.title || metricParams.label || ''\n const value = metricParams.value\n const unit = metricParams.unit || ''\n return `${title}: ${value}${unit ? ' ' + unit : ''}`\n }\n\n return (\n <div class=\"relative w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 p-4 group\">\n <CopyButton getText={getMetricText} title=\"Copy metric\" position=\"top-right\" />\n <div class=\"flex flex-col h-full justify-between\">\n <div>\n <p class=\"text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide\">\n {metricParams.title}\n </p>\n <div class=\"mt-2 flex items-baseline\">\n <p class=\"text-2xl font-semibold text-gray-900 dark:text-white\">{metricParams.value}</p>\n <Show when={metricParams.unit}>\n <span class=\"ml-2 text-sm font-medium text-gray-500 dark:text-gray-400\">\n {metricParams.unit}\n </span>\n </Show>\n </div>\n </div>\n\n <Show when={metricParams.trend}>\n <div class=\"mt-3 flex items-center\">\n <span\n class={`text-sm font-medium ${metricParams.trend.direction === 'up'\n ? 'text-green-600 dark:text-green-400'\n : metricParams.trend.direction === 'down'\n ? 'text-red-600 dark:text-red-400'\n : 'text-gray-600 dark:text-gray-400'\n }`}\n >\n {metricParams.trend.direction === 'up'\n ? '�'\n : metricParams.trend.direction === 'down'\n ? '�'\n : '�'}{' '}\n {Math.abs(metricParams.trend.value)}%\n </span>\n </div>\n </Show>\n\n <Show when={metricParams.subtitle}>\n <p class=\"mt-2 text-xs text-gray-500 dark:text-gray-400\">{metricParams.subtitle}</p>\n </Show>\n </div>\n </div>\n )\n}\n\n/**\n * Extract image data from markdown image link format\n * Pattern: [](link-url)\\n*Photo by Author*\n */\nfunction extractImageFromMarkdown(content: string): { alt: string; imageUrl: string; linkUrl: string; credit: string } | null {\n // Pattern: [](link-url) followed by optional credit line\n const imagePattern = /\\[!\\[([^\\]]*)\\]\\(([^)]+)\\)\\]\\(([^)]+)\\)\\s*\\*([^*]+)\\*/\n const match = content.match(imagePattern)\n\n if (match) {\n return {\n alt: match[1] || 'Image',\n imageUrl: match[2],\n linkUrl: match[3],\n credit: match[4].trim()\n }\n }\n\n return null\n}\n\n/**\n * Render a text component (with optional markdown)\n */\nfunction TextRenderer(props: { component: UIComponent }) {\n const textParams = props.component.params as any\n\n // Check if this is an image markdown that should be rendered as image component\n const imageData = createMemo(() => {\n if (textParams.markdown && textParams.content) {\n return extractImageFromMarkdown(textParams.content)\n }\n return null\n })\n\n // Convert markdown to HTML if markdown flag is true (and not an image component)\n const htmlContent = createMemo(() => {\n if (textParams.markdown && !imageData()) {\n return marked.parse(textParams.content, { async: false }) as string\n }\n return textParams.content\n })\n\n // Get plain text content for copying (strip markdown/HTML)\n const getTextContent = () => {\n return textParams.content || ''\n }\n\n // Render as image component if we extracted image data\n return (\n <Show\n when={imageData()}\n fallback={\n <div class=\"relative w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 p-4 group\">\n <CopyButton getText={getTextContent} title=\"Copy text\" position=\"top-right\" />\n <div\n class={`prose prose-sm dark:prose-invert max-w-none ${textParams.className || ''}`}\n innerHTML={htmlContent()}\n />\n </div>\n }\n >\n {(data) => (\n <div class=\"w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden flex flex-col\">\n <div class=\"flex-1 flex items-center justify-center p-4 bg-gray-50 dark:bg-gray-900 min-h-[200px]\">\n <a href={data().linkUrl} target=\"_blank\" rel=\"noopener noreferrer\" class=\"cursor-zoom-in\">\n <img\n src={data().imageUrl}\n alt={data().alt}\n class=\"max-w-full max-h-[400px] object-contain rounded shadow-sm hover:opacity-90 transition-opacity\"\n loading=\"lazy\"\n />\n </a>\n </div>\n <div class=\"p-3 border-t border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800\">\n <p class=\"text-sm text-gray-600 dark:text-gray-400 text-center italic\">{data().credit}</p>\n </div>\n </div>\n )}\n </Show>\n )\n}\n\n/**\n * Render an iframe component\n */\nfunction IframeRenderer(props: { component: UIComponent }) {\n const params = props.component.params as any\n return (\n <div class=\"w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden flex flex-col\">\n <Show when={params.title}>\n <div class=\"px-4 py-2 border-b border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-900\">\n <h3 class=\"text-sm font-semibold text-gray-900 dark:text-white\">{params.title}</h3>\n </div>\n </Show>\n <iframe\n src={params.url}\n title={params.title || 'Embedded content'}\n class=\"w-full border-0 flex-1\"\n style={`height: ${params.height || '400px'}; min-height: 300px;`}\n sandbox=\"allow-scripts allow-same-origin allow-popups allow-forms\"\n loading=\"lazy\"\n />\n </div>\n )\n}\n\n/**\n * Render an image component\n */\nfunction ImageRenderer(props: { component: UIComponent }) {\n const params = props.component.params as any\n\n return (\n <figure class={`w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden flex flex-col ${params.className || ''}`}>\n <div class=\"flex-1 flex items-center justify-center p-4 bg-gray-50 dark:bg-gray-900 min-h-[200px]\">\n <a\n href={params.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"cursor-zoom-in focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 rounded\"\n aria-label={`View full size: ${params.alt || 'image'}`}\n >\n <img\n src={params.url}\n alt={params.alt || 'Image'}\n class=\"max-w-full max-h-[500px] object-contain rounded shadow-sm hover:opacity-95 transition-opacity\"\n loading=\"lazy\"\n />\n </a>\n </div>\n <Show when={params.caption}>\n <figcaption class=\"p-3 border-t border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800\">\n <p class=\"text-sm text-gray-600 dark:text-gray-400 text-center\">{params.caption}</p>\n </figcaption>\n </Show>\n </figure>\n )\n}\n\n/**\n * Render a link component\n */\nfunction LinkRenderer(props: { component: UIComponent }) {\n const params = props.component.params as any\n\n return (\n <a\n href={params.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n aria-label={`${params.label || 'Link'}: ${params.description || params.url} (opens in new tab)`}\n class={`flex items-center gap-3 p-4 bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors group h-full focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 ${params.className || ''}`}\n onClick={(e) => e.stopPropagation()}\n >\n <div class=\"p-2 bg-blue-50 dark:bg-blue-900/30 rounded-full text-blue-600 dark:text-blue-400 group-hover:bg-blue-100 dark:group-hover:bg-blue-900/50 shrink-0 transition-colors\" aria-hidden=\"true\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"w-5 h-5\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\" />\n <path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\" />\n </svg>\n </div>\n <div class=\"flex-1 min-w-0\">\n <h4 class=\"text-sm font-medium text-gray-900 dark:text-white truncate group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors\">\n {params.label || params.url}\n </h4>\n <Show when={params.description}>\n <p class=\"text-xs text-gray-500 dark:text-gray-400 truncate\">{params.description}</p>\n </Show>\n </div>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"w-4 h-4 text-gray-400 group-hover:text-gray-600 dark:group-hover:text-gray-300 shrink-0 transition-colors\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\" />\n <polyline points=\"15 3 21 3 21 9\" />\n <line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\" />\n </svg>\n </a>\n )\n}\n\n/**\n * Render a single component with error boundary\n */\nfunction ComponentRenderer(props: {\n component: UIComponent\n onError?: (error: RendererError) => void\n}) {\n // Validate component before rendering\n const validation = validateComponent(props.component)\n if (!validation.valid) {\n props.onError?.({\n type: 'validation',\n message: 'Component validation failed',\n componentId: props.component.id,\n details: validation.errors,\n })\n\n return (\n <div class=\"w-full h-full bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg p-4\">\n <p class=\"text-sm font-medium text-red-900 dark:text-red-100\">Validation Error</p>\n <p class=\"text-xs text-red-700 dark:text-red-300 mt-1\">\n {validation.errors?.[0]?.message || 'Unknown validation error'}\n </p>\n </div>\n )\n }\n\n // Render based on component type with enhanced error boundary\n return (\n <GenerativeUIErrorBoundary\n componentId={props.component.id}\n componentType={props.component.type}\n onError={props.onError}\n allowRetry={true}\n >\n <Show when={props.component.type === 'chart'}>\n <ChartRenderer component={props.component} onError={props.onError} />\n </Show>\n <Show when={props.component.type === 'table'}>\n <TableRenderer component={props.component} onError={props.onError} />\n </Show>\n <Show when={props.component.type === 'metric'}>\n <MetricRenderer component={props.component} />\n </Show>\n <Show when={props.component.type === 'text'}>\n <TextRenderer component={props.component} />\n </Show>\n <Show when={props.component.type === 'iframe'}>\n <IframeRenderer component={props.component} />\n </Show>\n <Show when={props.component.type === 'image'}>\n <ImageRenderer component={props.component} />\n </Show>\n <Show when={props.component.type === 'link'}>\n <LinkRenderer component={props.component} />\n </Show>\n <Show when={props.component.type === 'action'}>\n <ActionRenderer component={props.component} />\n </Show>\n <Show when={props.component.type === 'grid'}>\n <GridRenderer component={props.component} onError={props.onError} />\n </Show>\n <Show when={props.component.type === 'carousel'}>\n <CarouselRenderer items={(props.component.params as any)?.items || []} height={(props.component.params as any)?.height} />\n </Show>\n <Show when={props.component.type === 'artifact'}>\n <ArtifactRenderer params={props.component.params as any} />\n </Show>\n <Show when={props.component.type === 'form'}>\n <FormRenderer component={props.component} />\n </Show>\n <Show when={props.component.type === 'modal'}>\n <ModalRenderer component={props.component} />\n </Show>\n <Show when={props.component.type === 'action-group'}>\n <ActionGroupRenderer component={props.component} />\n </Show>\n <Show when={props.component.type === 'image-gallery'}>\n <ImageGalleryRenderer component={props.component} />\n </Show>\n <Show when={props.component.type === 'video'}>\n <VideoRenderer component={props.component} />\n </Show>\n <Show when={props.component.type === 'code'}>\n <CodeBlockRenderer component={props.component} />\n </Show>\n <Show when={props.component.type === 'map'}>\n <MapRenderer component={props.component} />\n </Show>\n </GenerativeUIErrorBoundary>\n )\n}\n\n/**\n * Render an action component (button or link)\n * Refactored in Phase 5.0 to use useAction hook for Context-based execution\n */\nfunction ActionRenderer(props: { component: UIComponent }) {\n const params = props.component.params as any\n const { execute, isExecuting } = useAction()\n\n // Handle click to execute tool via Context (falls back to CustomEvent if no provider)\n const handleClick = async (e: MouseEvent) => {\n if (params.action === 'tool-call' && params.toolName) {\n e.preventDefault()\n await execute(params.toolName, params.params || {})\n }\n }\n\n // Determine if button should be disabled (explicit disable or currently executing)\n const isDisabled = () => params.disabled || (params.action === 'tool-call' && isExecuting())\n\n if (params.type === 'link' || params.action === 'link') {\n return (\n <a\n href={params.url || '#'}\n target={params.url ? '_blank' : undefined}\n rel=\"noopener noreferrer\"\n aria-label={params.ariaLabel || params.label}\n class={`inline-flex items-center gap-2 px-4 py-2 rounded-md text-sm font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500\n ${params.variant === 'primary' ? 'bg-blue-600 text-white hover:bg-blue-700' :\n params.variant === 'outline' ? 'border border-gray-300 text-gray-700 hover:bg-gray-50 dark:border-gray-600 dark:text-gray-300 dark:hover:bg-gray-800' :\n 'text-blue-600 hover:text-blue-800 dark:text-blue-400 dark:hover:text-blue-300'}\n ${params.className || ''}`}\n onClick={handleClick}\n >\n <Show when={params.icon}>\n <span aria-hidden=\"true\">{params.icon}</span>\n </Show>\n {params.label}\n </a>\n )\n }\n\n return (\n <button\n type={params.action === 'submit' ? 'submit' : 'button'}\n disabled={isDisabled()}\n aria-busy={isExecuting() && params.action === 'tool-call'}\n aria-label={params.ariaLabel || params.label}\n class={`inline-flex items-center gap-2 px-4 py-2 rounded-md text-sm font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500\n ${params.variant === 'primary' ? 'bg-blue-600 text-white hover:bg-blue-700 shadow-sm' :\n params.variant === 'secondary' ? 'bg-gray-100 text-gray-900 hover:bg-gray-200 dark:bg-gray-700 dark:text-white dark:hover:bg-gray-600' :\n params.variant === 'outline' ? 'border border-gray-300 text-gray-700 hover:bg-gray-50 dark:border-gray-600 dark:text-gray-300 dark:hover:bg-gray-800' :\n params.variant === 'danger' ? 'bg-red-600 text-white hover:bg-red-700' :\n 'bg-transparent text-gray-700 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-gray-800'}\n ${isDisabled() ? 'opacity-50 cursor-not-allowed' : ''}\n ${params.size === 'sm' ? 'px-3 py-1.5 text-xs' : params.size === 'lg' ? 'px-6 py-3 text-base' : ''}\n ${params.className || ''}`}\n onClick={handleClick}\n >\n <Show when={isExecuting() && params.action === 'tool-call'}>\n <span class=\"animate-spin h-4 w-4 border-2 border-current border-t-transparent rounded-full\" aria-hidden=\"true\" />\n </Show>\n <Show when={params.icon && !(isExecuting() && params.action === 'tool-call')}>\n <span aria-hidden=\"true\">{params.icon}</span>\n </Show>\n {params.label}\n </button>\n )\n}\n\n/**\n * Error card renderer for tool execution errors\n * Handles {error: true, message: \"...\", tool: \"...\", suggestions: [...]} format\n */\nfunction ErrorCardRenderer(props: { error: any }) {\n const getErrorText = () => {\n return `Error in ${props.error.tool || 'unknown tool'}: ${props.error.message || 'Unknown error'}`\n }\n\n return (\n <div class=\"relative w-full bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg p-4 group\">\n <CopyButton getText={getErrorText} title=\"Copy error details\" position=\"top-right\" />\n <div class=\"flex items-start gap-3\">\n <div class=\"p-2 bg-red-100 dark:bg-red-900/40 rounded-full shrink-0\">\n <svg class=\"w-5 h-5 text-red-600 dark:text-red-400\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\" />\n </svg>\n </div>\n <div class=\"flex-1 min-w-0\">\n <h4 class=\"text-sm font-semibold text-red-800 dark:text-red-200\">\n Tool Error: {props.error.tool || 'Unknown'}\n </h4>\n <p class=\"text-sm text-red-700 dark:text-red-300 mt-1\">\n {props.error.message || 'An error occurred during tool execution'}\n </p>\n <Show when={props.error.type}>\n <p class=\"text-xs text-red-600 dark:text-red-400 mt-1\">\n Type: {props.error.type}\n </p>\n </Show>\n <Show when={props.error.suggestions?.length}>\n <div class=\"mt-3\">\n <p class=\"text-xs font-medium text-red-700 dark:text-red-300\">Suggestions:</p>\n <ul class=\"mt-1 text-xs text-red-600 dark:text-red-400 list-disc list-inside\">\n <For each={props.error.suggestions}>\n {(suggestion: string) => <li>{suggestion}</li>}\n </For>\n </ul>\n </div>\n </Show>\n <Show when={props.error.timestamp}>\n <p class=\"text-xs text-red-500 dark:text-red-500 mt-2\">\n {new Date(props.error.timestamp).toLocaleString()}\n </p>\n </Show>\n </div>\n </div>\n </div>\n )\n}\n\n/**\n * Check if content is an error response from MCP tool\n */\nfunction isErrorResponse(content: any): boolean {\n return content && typeof content === 'object' && content.error === true\n}\n\n/**\n * Check if content is a UIResource (raw HTML or URI-based resource)\n * UIResource has: { uri, content: { type: 'rawHtml', htmlString }, encoding, metadata }\n */\nfunction isUIResource(content: any): boolean {\n return content && typeof content === 'object' && (\n content.uri?.startsWith('ui://') ||\n content.content?.type === 'rawHtml' ||\n content.content?.htmlString\n )\n}\n\n/**\n * Render UIResource (raw HTML) content\n * Handles HTML resources returned by tools like ui_show_dashboard, ui_show_health\n */\nfunction UIResourceHtmlRenderer(props: { resource: any }) {\n const htmlContent = () => {\n if (props.resource.content?.htmlString) {\n return DOMPurify.sanitize(props.resource.content.htmlString)\n }\n return ''\n }\n\n const resourceTitle = () => {\n return props.resource.metadata?.title || props.resource.uri?.replace('ui://deposium/', '') || 'Resource'\n }\n\n return (\n <div class=\"w-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden\">\n <Show when={props.resource.metadata?.title || props.resource.uri}>\n <div class=\"px-4 py-2 border-b border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-900\">\n <h3 class=\"text-sm font-semibold text-gray-900 dark:text-white capitalize\">\n {resourceTitle()}\n </h3>\n </div>\n </Show>\n <div\n class=\"p-4 prose prose-sm dark:prose-invert max-w-none\"\n innerHTML={htmlContent()}\n />\n </div>\n )\n}\n\n/**\n * Main UIResourceRenderer component\n */\nexport const UIResourceRenderer: Component<UIResourceRendererProps> = (props) => {\n // Handle error responses early (Sprint 9b fix)\n if (isErrorResponse(props.content)) {\n return <ErrorCardRenderer error={props.content} />\n }\n\n // Handle UIResource (raw HTML) - skip grid validation (Sprint 9c fix)\n if (isUIResource(props.content)) {\n return <UIResourceHtmlRenderer resource={props.content} />\n }\n\n const layout = () => {\n // Check if content is a UIComponent (non-composite) vs UILayout (composite)\n if ('type' in props.content && (props.content as any).type !== 'composite') {\n return {\n id: 'single-component',\n components: [props.content as UIComponent],\n grid: {\n columns: 12,\n gap: '1rem',\n },\n } as UILayout\n }\n return props.content as UILayout\n }\n\n // Convert grid styles to CSS string\n const gridContainerStyle = () => {\n const layoutData = layout()\n return `grid-template-columns: repeat(${layoutData.grid.columns}, 1fr); gap: ${layoutData.grid.gap}`\n }\n\n // Convert component grid styles to CSS string\n const getGridStyleString = (component: UIComponent) => {\n // Defensive check for position field - default to full width\n if (!component.position) {\n return 'grid-column: 1 / span 12; grid-row: auto'\n }\n const { colStart, colSpan, rowStart, rowSpan = 1 } = component.position\n return `grid-column: ${colStart} / span ${colSpan}; grid-row: ${rowStart ? `${rowStart} / span ${rowSpan}` : 'auto'}`\n }\n\n // Auto-footer logic (Phase 5.0)\n // Automatically inject footer when metadata is present and no explicit footer exists\n const shouldShowAutoFooter = createMemo(() => {\n const layoutData = layout()\n\n // Don't show if explicitly hidden\n if (layoutData.metadata?.hideFooter) {\n return false\n }\n\n // Don't show if no metadata (nothing to display)\n if (!layoutData.metadata) {\n return false\n }\n\n // Don't show if explicit footer component exists\n const hasExplicitFooter = layoutData.components.some((c) => c.type === 'footer')\n if (hasExplicitFooter) {\n return false\n }\n\n // Show auto-footer if metadata has relevant info\n return !!(\n layoutData.metadata.executionTime ||\n layoutData.metadata.sourceCount ||\n layoutData.metadata.llmModel\n )\n })\n\n // Build auto-footer params from metadata\n const autoFooterParams = createMemo(() => {\n const layoutData = layout()\n return {\n poweredBy: 'Deposium',\n executionTime: layoutData.metadata?.executionTime,\n model: layoutData.metadata?.llmModel,\n sourceCount: layoutData.metadata?.sourceCount,\n }\n })\n\n const layoutData = layout()\n\n // Wrapper function for RenderContext (breaks circular dependency)\n const renderComponent = (component: UIComponent, onError?: (error: RendererError) => void) => (\n <ComponentRenderer component={component} onError={onError} />\n )\n\n return (\n <RenderProvider renderComponent={renderComponent}>\n <div class={`w-full ${props.class || ''}`}>\n <div class=\"grid gap-4\" style={gridContainerStyle()}>\n <For each={layoutData.components}>\n {(component) => (\n <div style={getGridStyleString(component)}>\n <ComponentRenderer component={component} onError={props.onError} />\n </div>\n )}\n </For>\n </div>\n\n {/* Auto-injected footer (Phase 5.0) */}\n <Show when={shouldShowAutoFooter()}>\n <FooterRenderer params={autoFooterParams()} />\n </Show>\n </div>\n </RenderProvider>\n )\n}\n"],"names":["CopyButton","props","copied","setCopied","createSignal","handleCopy","navigator","clipboard","writeText","getText","setTimeout","err","console","error","positionClasses","position","_el$","_$getNextElement","_tmpl$2","$$click","_$insert","_$createComponent","Show","when","fallback","_tmpl$3","children","_tmpl$","_$effect","_p$","_v$","_v$2","title","e","_$className","t","_$setAttribute","undefined","_$runHydrationEvents","ChartRenderer","useNative","setUseNative","iframeUrl","setIframeUrl","isLoading","setIsLoading","setError","params","component","rendererPref","renderer","createEffect","pref","buildIframeUrl","available","isChartJSAvailable","chartParams","chartConfig","type","data","options","responsive","maintainAspectRatio","configStr","encodeURIComponent","JSON","stringify","url","ChartJSRenderer","onError","message","componentId","id","_el$4","_tmpl$8","_el$14","firstChild","_el$15","_co$2","_$getNextMarker","nextSibling","_el$16","_el$17","_co$3","_el$18","_el$19","_co$4","_tmpl$4","_el$6","_tmpl$5","_el$7","_el$8","_el$9","_$memo","_el$0","_tmpl$7","_el$12","_el$13","_co$","_el$10","_el$11","_el$1","_tmpl$6","addEventListener","_v$3","_v$4","_v$5","a","renderCellValue","value","label","name","sanitizedLabel","DOMPurify","sanitize","String","sanitizedUrl","strValue","replace","trim","toLowerCase","markdownLinkRegex","test","htmlValue","ADD_ATTR","hasMarkdown","parsed","marked","parse","async","TableRenderer","tableParams","scrollContainerRef","virtualizer","setVirtualizer","isVirtualizing","setIsVirtualizing","shouldVirtualize","createMemo","opts","virtualize","enabled","threshold","rows","length","virtualizeOpts","isServer","createVirtualizer","rowHeight","overscan","v","count","getScrollElement","estimateSize","warn","getTableText","columns","header","map","c","join","dataRows","row","key","tableId","Math","random","toString","slice","StandardTableBody","_el$20","_tmpl$9","For","each","DEFAULT_RESOURCE_LIMITS","maxTableRows","i","_el$21","_tmpl$0","column","_el$22","_tmpl$1","_el$23","_$setProperty","VirtualizedTableBody","items","getVirtualItems","totalSize","getTotalSize","_el$24","_tmpl$10","_$setStyleProperty","virtualRow","index","_el$25","_el$26","_el$27","_v$6","_v$7","start","_el$28","_tmpl$14","_el$63","_el$64","_co$12","_el$29","_el$59","_el$60","_co$10","_el$40","_el$41","_el$42","_el$43","_el$44","_el$45","_co$8","_el$61","_el$62","_co$11","_el$30","_tmpl$12","_el$36","_el$37","_co$6","_el$38","_el$39","_co$7","_el$31","_tmpl$11","_el$32","_el$34","_el$35","_co$5","_ref$","_$use","_el$65","_tmpl$15","_$p","_$style","width","pagination","_el$46","_tmpl$13","_el$47","_el$48","_el$53","_el$54","_co$9","_el$49","_el$55","_el$56","_co$0","_el$51","_el$57","_el$58","_co$1","currentPage","pageSize","min","totalRows","_v$8","_v$9","_v$0","MetricRenderer","metricParams","getMetricText","unit","_el$66","_tmpl$19","_el$88","_el$89","_co$18","_el$67","_el$68","_el$69","_el$70","_el$71","_el$73","_el$74","_co$13","_el$84","_el$85","_co$16","_el$86","_el$87","_co$17","_el$72","_tmpl$16","trend","_el$75","_tmpl$17","_el$76","_el$79","_el$80","_co$14","_el$77","_el$81","_el$82","_co$15","_c$","direction","abs","subtitle","_el$83","_tmpl$18","extractImageFromMarkdown","content","imagePattern","match","alt","imageUrl","linkUrl","credit","TextRenderer","textParams","imageData","markdown","htmlContent","getTextContent","_el$90","_tmpl$20","_el$92","_el$93","_co$19","_el$91","_v$1","className","_v$10","_el$94","_tmpl$21","_el$95","_el$96","_el$97","_el$98","_el$99","_v$11","_v$12","_v$13","IframeRenderer","_el$100","_tmpl$23","_el$104","_el$105","_co$20","_el$103","_el$101","_tmpl$22","_el$102","_v$14","_v$15","_v$16","height","ImageRenderer","_el$106","_tmpl$25","_el$107","_el$108","_el$109","_el$112","_el$113","_co$21","caption","_el$110","_tmpl$24","_el$111","_v$17","_v$18","_v$19","_v$20","_v$21","o","LinkRenderer","_el$114","_tmpl$27","_el$115","_el$116","_el$117","_el$119","_el$120","_co$22","stopPropagation","description","_el$118","_tmpl$26","_v$22","_v$23","_v$24","ComponentRenderer","validation","validateComponent","valid","details","errors","_el$121","_tmpl$28","_el$122","_el$123","GenerativeUIErrorBoundary","componentType","allowRetry","ActionRenderer","GridRenderer","CarouselRenderer","ArtifactRenderer","FormRenderer","ModalRenderer","ActionGroupRenderer","ImageGalleryRenderer","VideoRenderer","CodeBlockRenderer","MapRenderer","execute","isExecuting","useAction","handleClick","action","toolName","preventDefault","isDisabled","disabled","_el$124","_tmpl$30","_el$126","_el$127","_co$23","_el$128","_el$129","_co$24","icon","_el$125","_tmpl$29","_v$25","_v$26","_v$27","ariaLabel","_v$28","variant","_el$130","_tmpl$32","_el$133","_el$134","_co$25","_el$135","_el$136","_co$26","_el$137","_el$138","_co$27","_tmpl$31","_el$132","_v$29","_v$30","_v$31","_v$32","_v$33","size","ErrorCardRenderer","getErrorText","tool","_el$139","_tmpl$36","_el$162","_el$163","_co$33","_el$140","_el$141","_el$142","_el$143","_el$144","_el$145","_el$146","_co$28","_el$147","_el$156","_el$157","_co$30","_el$158","_el$159","_co$31","_el$160","_el$161","_co$32","_el$148","_tmpl$33","_el$149","_el$150","_el$151","_co$29","suggestions","_el$152","_tmpl$34","_el$153","_el$154","suggestion","_el$164","_tmpl$37","timestamp","_el$155","_tmpl$35","Date","toLocaleString","isErrorResponse","isUIResource","uri","startsWith","htmlString","UIResourceHtmlRenderer","resource","resourceTitle","metadata","_el$165","_tmpl$39","_el$169","_el$170","_co$34","_el$168","_el$166","_tmpl$38","_el$167","UIResourceRenderer","layout","components","grid","gap","gridContainerStyle","layoutData","getGridStyleString","colStart","colSpan","rowStart","rowSpan","shouldShowAutoFooter","hideFooter","hasExplicitFooter","some","executionTime","sourceCount","llmModel","autoFooterParams","poweredBy","model","renderComponent","RenderProvider","_el$171","_tmpl$40","_el$172","_el$173","_el$174","_co$35","_el$175","_tmpl$41","FooterRenderer","_v$34","class","_v$35","_$delegateEvents"],"mappings":"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"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const web = require("solid-js/web");
|
|
4
|
+
const solidJs = require("solid-js");
|
|
5
|
+
var _tmpl$ = /* @__PURE__ */ web.template(`<div class="px-4 py-3 border-b border-gray-200 dark:border-gray-700"><h3 class="text-sm font-semibold text-gray-900 dark:text-white">`), _tmpl$2 = /* @__PURE__ */ web.template(`<iframe class="absolute inset-0 w-full h-full"allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"allowfullscreen loading=lazy>`, true, false, false), _tmpl$3 = /* @__PURE__ */ web.template(`<div class="px-4 py-3 border-t border-gray-200 dark:border-gray-700"><p class="text-sm text-gray-600 dark:text-gray-400">`), _tmpl$4 = /* @__PURE__ */ web.template(`<div class="w-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden"><!$><!/><div></div><!$><!/>`), _tmpl$5 = /* @__PURE__ */ web.template(`<video playsinline class="absolute inset-0 w-full h-full object-contain"><track kind=captions>Your browser does not support the video tag.`);
|
|
6
|
+
function parseVideoUrl(url) {
|
|
7
|
+
const youtubeMatch = url.match(/(?:youtube\.com\/(?:watch\?v=|embed\/|v\/)|youtu\.be\/)([a-zA-Z0-9_-]{11})/);
|
|
8
|
+
if (youtubeMatch) {
|
|
9
|
+
return {
|
|
10
|
+
provider: "youtube",
|
|
11
|
+
videoId: youtubeMatch[1]
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
const vimeoMatch = url.match(/(?:vimeo\.com\/|player\.vimeo\.com\/video\/)(\d+)/);
|
|
15
|
+
if (vimeoMatch) {
|
|
16
|
+
return {
|
|
17
|
+
provider: "vimeo",
|
|
18
|
+
videoId: vimeoMatch[1]
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
return {
|
|
22
|
+
provider: "direct"
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
const VideoRenderer = (props) => {
|
|
26
|
+
const params = () => {
|
|
27
|
+
var _a;
|
|
28
|
+
return props.params || ((_a = props.component) == null ? void 0 : _a.params);
|
|
29
|
+
};
|
|
30
|
+
const videoInfo = solidJs.createMemo(() => {
|
|
31
|
+
var _a;
|
|
32
|
+
return parseVideoUrl(((_a = params()) == null ? void 0 : _a.url) || "");
|
|
33
|
+
});
|
|
34
|
+
const embedUrl = solidJs.createMemo(() => {
|
|
35
|
+
const info = videoInfo();
|
|
36
|
+
const p = params();
|
|
37
|
+
if (!(p == null ? void 0 : p.url)) return null;
|
|
38
|
+
switch (info.provider) {
|
|
39
|
+
case "youtube": {
|
|
40
|
+
const ytParams = new URLSearchParams({
|
|
41
|
+
autoplay: p.autoplay ? "1" : "0",
|
|
42
|
+
controls: p.controls !== false ? "1" : "0",
|
|
43
|
+
loop: p.loop ? "1" : "0",
|
|
44
|
+
mute: p.muted ? "1" : "0"
|
|
45
|
+
});
|
|
46
|
+
if (p.startTime) {
|
|
47
|
+
ytParams.set("start", String(p.startTime));
|
|
48
|
+
}
|
|
49
|
+
return `https://www.youtube-nocookie.com/embed/${info.videoId}?${ytParams}`;
|
|
50
|
+
}
|
|
51
|
+
case "vimeo": {
|
|
52
|
+
const vParams = new URLSearchParams({
|
|
53
|
+
autoplay: p.autoplay ? "1" : "0",
|
|
54
|
+
loop: p.loop ? "1" : "0",
|
|
55
|
+
muted: p.muted ? "1" : "0"
|
|
56
|
+
});
|
|
57
|
+
return `https://player.vimeo.com/video/${info.videoId}?${vParams}`;
|
|
58
|
+
}
|
|
59
|
+
default:
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
const aspectClass = () => {
|
|
64
|
+
var _a;
|
|
65
|
+
switch ((_a = params()) == null ? void 0 : _a.aspectRatio) {
|
|
66
|
+
case "1:1":
|
|
67
|
+
return "aspect-square";
|
|
68
|
+
case "4:3":
|
|
69
|
+
return "aspect-[4/3]";
|
|
70
|
+
case "21:9":
|
|
71
|
+
return "aspect-[21/9]";
|
|
72
|
+
default:
|
|
73
|
+
return "aspect-video";
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
const handleVideoError = (e) => {
|
|
77
|
+
var _a;
|
|
78
|
+
const error = new Error("Video failed to load");
|
|
79
|
+
console.error("Video error:", e);
|
|
80
|
+
(_a = props.onError) == null ? void 0 : _a.call(props, error);
|
|
81
|
+
};
|
|
82
|
+
return (() => {
|
|
83
|
+
var _el$ = web.getNextElement(_tmpl$4), _el$8 = _el$.firstChild, [_el$9, _co$] = web.getNextMarker(_el$8.nextSibling), _el$4 = _el$9.nextSibling, _el$0 = _el$4.nextSibling, [_el$1, _co$2] = web.getNextMarker(_el$0.nextSibling);
|
|
84
|
+
web.insert(_el$, web.createComponent(solidJs.Show, {
|
|
85
|
+
get when() {
|
|
86
|
+
var _a;
|
|
87
|
+
return (_a = params()) == null ? void 0 : _a.title;
|
|
88
|
+
},
|
|
89
|
+
get children() {
|
|
90
|
+
var _el$2 = web.getNextElement(_tmpl$), _el$3 = _el$2.firstChild;
|
|
91
|
+
web.insert(_el$3, () => params().title);
|
|
92
|
+
return _el$2;
|
|
93
|
+
}
|
|
94
|
+
}), _el$9, _co$);
|
|
95
|
+
web.insert(_el$4, web.createComponent(solidJs.Show, {
|
|
96
|
+
get when() {
|
|
97
|
+
return embedUrl();
|
|
98
|
+
},
|
|
99
|
+
get fallback() {
|
|
100
|
+
return (
|
|
101
|
+
// Direct video file
|
|
102
|
+
(() => {
|
|
103
|
+
var _el$10 = web.getNextElement(_tmpl$5);
|
|
104
|
+
_el$10.addEventListener("error", handleVideoError);
|
|
105
|
+
web.effect((_p$) => {
|
|
106
|
+
var _a, _b, _c, _d, _e, _f;
|
|
107
|
+
var _v$3 = (_a = params()) == null ? void 0 : _a.url, _v$4 = (_b = params()) == null ? void 0 : _b.poster, _v$5 = (_c = params()) == null ? void 0 : _c.autoplay, _v$6 = ((_d = params()) == null ? void 0 : _d.controls) !== false, _v$7 = (_e = params()) == null ? void 0 : _e.loop, _v$8 = (_f = params()) == null ? void 0 : _f.muted;
|
|
108
|
+
_v$3 !== _p$.e && web.setAttribute(_el$10, "src", _p$.e = _v$3);
|
|
109
|
+
_v$4 !== _p$.t && web.setAttribute(_el$10, "poster", _p$.t = _v$4);
|
|
110
|
+
_v$5 !== _p$.a && web.setProperty(_el$10, "autoplay", _p$.a = _v$5);
|
|
111
|
+
_v$6 !== _p$.o && web.setProperty(_el$10, "controls", _p$.o = _v$6);
|
|
112
|
+
_v$7 !== _p$.i && web.setProperty(_el$10, "loop", _p$.i = _v$7);
|
|
113
|
+
_v$8 !== _p$.n && web.setProperty(_el$10, "muted", _p$.n = _v$8);
|
|
114
|
+
return _p$;
|
|
115
|
+
}, {
|
|
116
|
+
e: void 0,
|
|
117
|
+
t: void 0,
|
|
118
|
+
a: void 0,
|
|
119
|
+
o: void 0,
|
|
120
|
+
i: void 0,
|
|
121
|
+
n: void 0
|
|
122
|
+
});
|
|
123
|
+
return _el$10;
|
|
124
|
+
})()
|
|
125
|
+
);
|
|
126
|
+
},
|
|
127
|
+
get children() {
|
|
128
|
+
var _el$5 = web.getNextElement(_tmpl$2);
|
|
129
|
+
web.effect((_p$) => {
|
|
130
|
+
var _a;
|
|
131
|
+
var _v$ = embedUrl(), _v$2 = ((_a = params()) == null ? void 0 : _a.title) || "Video";
|
|
132
|
+
_v$ !== _p$.e && web.setAttribute(_el$5, "src", _p$.e = _v$);
|
|
133
|
+
_v$2 !== _p$.t && web.setAttribute(_el$5, "title", _p$.t = _v$2);
|
|
134
|
+
return _p$;
|
|
135
|
+
}, {
|
|
136
|
+
e: void 0,
|
|
137
|
+
t: void 0
|
|
138
|
+
});
|
|
139
|
+
return _el$5;
|
|
140
|
+
}
|
|
141
|
+
}));
|
|
142
|
+
web.insert(_el$, web.createComponent(solidJs.Show, {
|
|
143
|
+
get when() {
|
|
144
|
+
var _a;
|
|
145
|
+
return (_a = params()) == null ? void 0 : _a.caption;
|
|
146
|
+
},
|
|
147
|
+
get children() {
|
|
148
|
+
var _el$6 = web.getNextElement(_tmpl$3), _el$7 = _el$6.firstChild;
|
|
149
|
+
web.insert(_el$7, () => params().caption);
|
|
150
|
+
return _el$6;
|
|
151
|
+
}
|
|
152
|
+
}), _el$1, _co$2);
|
|
153
|
+
web.effect(() => web.className(_el$4, `relative ${aspectClass()} bg-black`));
|
|
154
|
+
return _el$;
|
|
155
|
+
})();
|
|
156
|
+
};
|
|
157
|
+
function isSupportedVideoUrl(url) {
|
|
158
|
+
const info = parseVideoUrl(url);
|
|
159
|
+
return info.provider !== "direct" || url.match(/\.(mp4|webm|ogg|mov)$/i) !== null;
|
|
160
|
+
}
|
|
161
|
+
function getVideoProvider(url) {
|
|
162
|
+
return parseVideoUrl(url).provider;
|
|
163
|
+
}
|
|
164
|
+
exports.VideoRenderer = VideoRenderer;
|
|
165
|
+
exports.getVideoProvider = getVideoProvider;
|
|
166
|
+
exports.isSupportedVideoUrl = isSupportedVideoUrl;
|
|
167
|
+
//# sourceMappingURL=VideoRenderer.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoRenderer.cjs","sources":["../../src/components/VideoRenderer.tsx"],"sourcesContent":["/**\n * VideoRenderer - Video embed component\n * Sprint 5: Media Components\n *\n * Supports YouTube, Vimeo, and direct video files\n */\n\nimport { Component, createMemo, Show } from 'solid-js'\nimport type { UIComponent, VideoComponentParams } from '../types'\n\nexport interface VideoRendererProps {\n /**\n * UIComponent containing video params\n */\n component?: UIComponent\n\n /**\n * Direct video params (alternative to component)\n */\n params?: VideoComponentParams\n\n /**\n * Error callback\n */\n onError?: (error: Error) => void\n}\n\n/**\n * Video provider type\n */\ntype VideoProvider = 'youtube' | 'vimeo' | 'direct'\n\n/**\n * Parsed video info\n */\ninterface VideoInfo {\n provider: VideoProvider\n videoId?: string\n}\n\n/**\n * Extract video ID and provider from URL\n */\nfunction parseVideoUrl(url: string): VideoInfo {\n // YouTube patterns:\n // - youtube.com/watch?v=VIDEO_ID\n // - youtube.com/embed/VIDEO_ID\n // - youtube.com/v/VIDEO_ID\n // - youtu.be/VIDEO_ID\n const youtubeMatch = url.match(\n /(?:youtube\\.com\\/(?:watch\\?v=|embed\\/|v\\/)|youtu\\.be\\/)([a-zA-Z0-9_-]{11})/\n )\n if (youtubeMatch) {\n return { provider: 'youtube', videoId: youtubeMatch[1] }\n }\n\n // Vimeo patterns:\n // - vimeo.com/VIDEO_ID\n // - player.vimeo.com/video/VIDEO_ID\n const vimeoMatch = url.match(/(?:vimeo\\.com\\/|player\\.vimeo\\.com\\/video\\/)(\\d+)/)\n if (vimeoMatch) {\n return { provider: 'vimeo', videoId: vimeoMatch[1] }\n }\n\n // Direct video file\n return { provider: 'direct' }\n}\n\nexport const VideoRenderer: Component<VideoRendererProps> = (props) => {\n const params = () => props.params || (props.component?.params as VideoComponentParams)\n\n const videoInfo = createMemo(() => parseVideoUrl(params()?.url || ''))\n\n const embedUrl = createMemo(() => {\n const info = videoInfo()\n const p = params()\n\n if (!p?.url) return null\n\n switch (info.provider) {\n case 'youtube': {\n const ytParams = new URLSearchParams({\n autoplay: p.autoplay ? '1' : '0',\n controls: p.controls !== false ? '1' : '0',\n loop: p.loop ? '1' : '0',\n mute: p.muted ? '1' : '0',\n })\n if (p.startTime) {\n ytParams.set('start', String(p.startTime))\n }\n // Use youtube-nocookie.com for privacy\n return `https://www.youtube-nocookie.com/embed/${info.videoId}?${ytParams}`\n }\n\n case 'vimeo': {\n const vParams = new URLSearchParams({\n autoplay: p.autoplay ? '1' : '0',\n loop: p.loop ? '1' : '0',\n muted: p.muted ? '1' : '0',\n })\n return `https://player.vimeo.com/video/${info.videoId}?${vParams}`\n }\n\n default:\n return null\n }\n })\n\n const aspectClass = () => {\n switch (params()?.aspectRatio) {\n case '1:1':\n return 'aspect-square'\n case '4:3':\n return 'aspect-[4/3]'\n case '21:9':\n return 'aspect-[21/9]'\n default:\n return 'aspect-video' // 16:9\n }\n }\n\n const handleVideoError = (e: Event) => {\n const error = new Error('Video failed to load')\n console.error('Video error:', e)\n props.onError?.(error)\n }\n\n return (\n <div class=\"w-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden\">\n {/* Title */}\n <Show when={params()?.title}>\n <div class=\"px-4 py-3 border-b border-gray-200 dark:border-gray-700\">\n <h3 class=\"text-sm font-semibold text-gray-900 dark:text-white\">{params()!.title}</h3>\n </div>\n </Show>\n\n {/* Video Container */}\n <div class={`relative ${aspectClass()} bg-black`}>\n <Show\n when={embedUrl()}\n fallback={\n // Direct video file\n <video\n src={params()?.url}\n poster={params()?.poster}\n autoplay={params()?.autoplay}\n controls={params()?.controls !== false}\n loop={params()?.loop}\n muted={params()?.muted}\n playsinline\n class=\"absolute inset-0 w-full h-full object-contain\"\n onError={handleVideoError}\n >\n <track kind=\"captions\" />\n Your browser does not support the video tag.\n </video>\n }\n >\n {/* YouTube/Vimeo embed */}\n <iframe\n src={embedUrl()!}\n title={params()?.title || 'Video'}\n class=\"absolute inset-0 w-full h-full\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\n allowfullscreen\n loading=\"lazy\"\n />\n </Show>\n </div>\n\n {/* Caption */}\n <Show when={params()?.caption}>\n <div class=\"px-4 py-3 border-t border-gray-200 dark:border-gray-700\">\n <p class=\"text-sm text-gray-600 dark:text-gray-400\">{params()!.caption}</p>\n </div>\n </Show>\n </div>\n )\n}\n\n/**\n * Check if a URL is from a supported video provider\n */\nexport function isSupportedVideoUrl(url: string): boolean {\n const info = parseVideoUrl(url)\n return info.provider !== 'direct' || url.match(/\\.(mp4|webm|ogg|mov)$/i) !== null\n}\n\n/**\n * Get video provider from URL\n */\nexport function getVideoProvider(url: string): VideoProvider {\n return parseVideoUrl(url).provider\n}\n"],"names":["parseVideoUrl","url","youtubeMatch","match","provider","videoId","vimeoMatch","VideoRenderer","props","params","component","videoInfo","createMemo","embedUrl","info","p","ytParams","URLSearchParams","autoplay","controls","loop","mute","muted","startTime","set","String","vParams","aspectClass","aspectRatio","handleVideoError","e","error","Error","console","onError","_el$","_$getNextElement","_tmpl$4","_el$8","firstChild","_el$9","_co$","_$getNextMarker","nextSibling","_el$4","_el$0","_el$1","_co$2","_$insert","_$createComponent","Show","when","title","children","_el$2","_tmpl$","_el$3","fallback","_el$10","_tmpl$5","addEventListener","_$effect","_p$","_v$3","_v$4","poster","_v$5","_v$6","_v$7","_v$8","_$setAttribute","t","a","_$setProperty","o","i","n","undefined","_el$5","_tmpl$2","_v$","_v$2","caption","_el$6","_tmpl$3","_el$7","_$className","isSupportedVideoUrl","getVideoProvider"],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VideoRenderer - Video embed component
|
|
3
|
+
* Sprint 5: Media Components
|
|
4
|
+
*
|
|
5
|
+
* Supports YouTube, Vimeo, and direct video files
|
|
6
|
+
*/
|
|
7
|
+
import { Component } from 'solid-js';
|
|
8
|
+
import type { UIComponent, VideoComponentParams } from '../types';
|
|
9
|
+
export interface VideoRendererProps {
|
|
10
|
+
/**
|
|
11
|
+
* UIComponent containing video params
|
|
12
|
+
*/
|
|
13
|
+
component?: UIComponent;
|
|
14
|
+
/**
|
|
15
|
+
* Direct video params (alternative to component)
|
|
16
|
+
*/
|
|
17
|
+
params?: VideoComponentParams;
|
|
18
|
+
/**
|
|
19
|
+
* Error callback
|
|
20
|
+
*/
|
|
21
|
+
onError?: (error: Error) => void;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Video provider type
|
|
25
|
+
*/
|
|
26
|
+
type VideoProvider = 'youtube' | 'vimeo' | 'direct';
|
|
27
|
+
export declare const VideoRenderer: Component<VideoRendererProps>;
|
|
28
|
+
/**
|
|
29
|
+
* Check if a URL is from a supported video provider
|
|
30
|
+
*/
|
|
31
|
+
export declare function isSupportedVideoUrl(url: string): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Get video provider from URL
|
|
34
|
+
*/
|
|
35
|
+
export declare function getVideoProvider(url: string): VideoProvider;
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=VideoRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoRenderer.d.ts","sourceRoot":"","sources":["../../src/components/VideoRenderer.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAoB,MAAM,UAAU,CAAA;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAEjE,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,SAAS,CAAC,EAAE,WAAW,CAAA;IAEvB;;OAEG;IACH,MAAM,CAAC,EAAE,oBAAoB,CAAA;IAE7B;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CACjC;AAED;;GAEG;AACH,KAAK,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAA;AAsCnD,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,kBAAkB,CA8GvD,CAAA;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGxD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAE3D"}
|