@ryanyahya/opendoc 0.4.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/.agents/skills/opendoc-apply-comments/SKILL.md +30 -0
- package/.agents/skills/opendoc-apply-comments/agents/openai.yaml +4 -0
- package/.agents/skills/opendoc-create/SKILL.md +63 -0
- package/.agents/skills/opendoc-create/agents/openai.yaml +6 -0
- package/.agents/skills/opendoc-create-template/SKILL.md +50 -0
- package/.agents/skills/opendoc-create-template/agents/openai.yaml +4 -0
- package/.agents/skills/opendoc-create-template/references/structured-reports.md +11 -0
- package/.agents/skills/opendoc-create-theme/SKILL.md +40 -0
- package/.agents/skills/opendoc-create-theme/agents/openai.yaml +4 -0
- package/.agents/skills/opendoc-current-document/SKILL.md +32 -0
- package/.agents/skills/opendoc-current-document/agents/openai.yaml +4 -0
- package/.agents/skills/opendoc-current-document/references/context-fields.md +20 -0
- package/.agents/skills/opendoc-review-document/SKILL.md +60 -0
- package/.agents/skills/opendoc-review-document/agents/openai.yaml +4 -0
- package/AGENTS.md +69 -0
- package/CONTRIBUTING.md +38 -0
- package/LICENSE +21 -0
- package/README.md +179 -0
- package/SECURITY.md +9 -0
- package/THIRD_PARTY.md +49 -0
- package/VALIDATION.md +99 -0
- package/bin/opendoc.mjs +6 -0
- package/dist/assets/Markdown-sNZyjJi7.js +29 -0
- package/dist/assets/OpenDocSerif-Regular-D3OXs9A9.ttf +0 -0
- package/dist/assets/OpenDocSerif-Semibold-CjL9oDRo.ttf +0 -0
- package/dist/assets/geist-latin-ext-wght-italic-XgKbg5n7.woff2 +0 -0
- package/dist/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
- package/dist/assets/geist-latin-wght-italic-dTnRTFFJ.woff2 +0 -0
- package/dist/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
- package/dist/assets/index-DdrZ6ozO.css +1 -0
- package/dist/assets/index-DgNBz7mL.js +39 -0
- package/dist/assets/pdf-B7Emtyld.js +54 -0
- package/dist/assets/pdf.worker.min-Dswkl-cV.mjs +29 -0
- package/dist/assets/wordmark-DsqLlZpb.png +0 -0
- package/dist/index.html +17 -0
- package/docs/APPEARANCE.md +21 -0
- package/docs/ASSETS.md +176 -0
- package/docs/AUTHORING.md +178 -0
- package/docs/HEADLESS.md +120 -0
- package/docs/MEDIA.md +112 -0
- package/docs/PROJECTS.md +55 -0
- package/docs/PROSE.md +15 -0
- package/docs/SELECTION.md +59 -0
- package/docs/TEMPLATES.md +55 -0
- package/docs/THEMES.md +106 -0
- package/node_modules/@formepdf/core/LICENSE +21 -0
- package/node_modules/@formepdf/core/README.md +53 -0
- package/node_modules/@formepdf/core/dist/attachments.d.ts +55 -0
- package/node_modules/@formepdf/core/dist/attachments.js +59 -0
- package/node_modules/@formepdf/core/dist/extract.d.ts +8 -0
- package/node_modules/@formepdf/core/dist/extract.js +56 -0
- package/node_modules/@formepdf/core/dist/index.d.ts +311 -0
- package/node_modules/@formepdf/core/dist/index.js +167 -0
- package/node_modules/@formepdf/core/dist/layout.d.ts +132 -0
- package/node_modules/@formepdf/core/dist/layout.js +240 -0
- package/node_modules/@formepdf/core/dist/shared/browserHelpers.d.ts +19 -0
- package/node_modules/@formepdf/core/dist/shared/browserHelpers.js +128 -0
- package/node_modules/@formepdf/core/package.json +35 -0
- package/node_modules/@formepdf/core/pkg-node/LICENSE +21 -0
- package/node_modules/@formepdf/core/pkg-node/README.md +84 -0
- package/node_modules/@formepdf/core/pkg-node/forme.d.ts +39 -0
- package/node_modules/@formepdf/core/pkg-node/forme.js +394 -0
- package/node_modules/@formepdf/core/pkg-node/forme_bg.wasm +0 -0
- package/node_modules/@formepdf/core/pkg-node/forme_bg.wasm.d.ts +21 -0
- package/node_modules/@formepdf/core/pkg-node/package.json +25 -0
- package/node_modules/@formepdf/react/README.md +70 -0
- package/node_modules/@formepdf/react/dist/charts.d.ts +72 -0
- package/node_modules/@formepdf/react/dist/charts.js +338 -0
- package/node_modules/@formepdf/react/dist/components.d.ts +533 -0
- package/node_modules/@formepdf/react/dist/components.js +608 -0
- package/node_modules/@formepdf/react/dist/expr.d.ts +20 -0
- package/node_modules/@formepdf/react/dist/expr.js +39 -0
- package/node_modules/@formepdf/react/dist/font.d.ts +2 -0
- package/node_modules/@formepdf/react/dist/font.js +1 -0
- package/node_modules/@formepdf/react/dist/index.d.ts +11 -0
- package/node_modules/@formepdf/react/dist/index.js +15 -0
- package/node_modules/@formepdf/react/dist/render.d.ts +12 -0
- package/node_modules/@formepdf/react/dist/render.js +15 -0
- package/node_modules/@formepdf/react/dist/serialize.d.ts +12 -0
- package/node_modules/@formepdf/react/dist/serialize.js +1470 -0
- package/node_modules/@formepdf/react/dist/stylesheet.d.ts +4 -0
- package/node_modules/@formepdf/react/dist/stylesheet.js +5 -0
- package/node_modules/@formepdf/react/dist/template-proxy.d.ts +38 -0
- package/node_modules/@formepdf/react/dist/template-proxy.js +100 -0
- package/node_modules/@formepdf/react/dist/types.d.ts +287 -0
- package/node_modules/@formepdf/react/dist/types.js +1 -0
- package/node_modules/@formepdf/react/package.json +41 -0
- package/node_modules/@formepdf/shared/README.md +7 -0
- package/node_modules/@formepdf/shared/dist/canvas.d.ts +6 -0
- package/node_modules/@formepdf/shared/dist/canvas.js +43 -0
- package/node_modules/@formepdf/shared/dist/charts.d.ts +100 -0
- package/node_modules/@formepdf/shared/dist/charts.js +98 -0
- package/node_modules/@formepdf/shared/dist/encode.d.ts +27 -0
- package/node_modules/@formepdf/shared/dist/encode.js +93 -0
- package/node_modules/@formepdf/shared/dist/font.d.ts +13 -0
- package/node_modules/@formepdf/shared/dist/font.js +52 -0
- package/node_modules/@formepdf/shared/dist/index.d.ts +10 -0
- package/node_modules/@formepdf/shared/dist/index.js +15 -0
- package/node_modules/@formepdf/shared/dist/parser.d.ts +30 -0
- package/node_modules/@formepdf/shared/dist/parser.js +756 -0
- package/node_modules/@formepdf/shared/dist/semantics.d.ts +15 -0
- package/node_modules/@formepdf/shared/dist/semantics.js +44 -0
- package/node_modules/@formepdf/shared/dist/style.d.ts +7 -0
- package/node_modules/@formepdf/shared/dist/style.js +1024 -0
- package/node_modules/@formepdf/shared/dist/types.d.ts +743 -0
- package/node_modules/@formepdf/shared/dist/types.js +2 -0
- package/node_modules/@formepdf/shared/package.json +35 -0
- package/node_modules/@types/node/LICENSE +21 -0
- package/node_modules/@types/node/README.md +15 -0
- package/node_modules/@types/node/assert/strict.d.ts +111 -0
- package/node_modules/@types/node/assert.d.ts +1078 -0
- package/node_modules/@types/node/async_hooks.d.ts +603 -0
- package/node_modules/@types/node/buffer.buffer.d.ts +472 -0
- package/node_modules/@types/node/buffer.d.ts +1934 -0
- package/node_modules/@types/node/child_process.d.ts +1476 -0
- package/node_modules/@types/node/cluster.d.ts +578 -0
- package/node_modules/@types/node/compatibility/disposable.d.ts +14 -0
- package/node_modules/@types/node/compatibility/index.d.ts +9 -0
- package/node_modules/@types/node/compatibility/indexable.d.ts +20 -0
- package/node_modules/@types/node/compatibility/iterators.d.ts +20 -0
- package/node_modules/@types/node/console.d.ts +452 -0
- package/node_modules/@types/node/constants.d.ts +21 -0
- package/node_modules/@types/node/crypto.d.ts +4545 -0
- package/node_modules/@types/node/dgram.d.ts +600 -0
- package/node_modules/@types/node/diagnostics_channel.d.ts +576 -0
- package/node_modules/@types/node/dns/promises.d.ts +503 -0
- package/node_modules/@types/node/dns.d.ts +923 -0
- package/node_modules/@types/node/domain.d.ts +170 -0
- package/node_modules/@types/node/events.d.ts +976 -0
- package/node_modules/@types/node/fs/promises.d.ts +1306 -0
- package/node_modules/@types/node/fs.d.ts +4463 -0
- package/node_modules/@types/node/globals.d.ts +172 -0
- package/node_modules/@types/node/globals.typedarray.d.ts +38 -0
- package/node_modules/@types/node/http.d.ts +2097 -0
- package/node_modules/@types/node/http2.d.ts +2843 -0
- package/node_modules/@types/node/https.d.ts +579 -0
- package/node_modules/@types/node/index.d.ts +98 -0
- package/node_modules/@types/node/inspector.d.ts +253 -0
- package/node_modules/@types/node/inspector.generated.d.ts +4052 -0
- package/node_modules/@types/node/module.d.ts +891 -0
- package/node_modules/@types/node/net.d.ts +1076 -0
- package/node_modules/@types/node/os.d.ts +506 -0
- package/node_modules/@types/node/package.json +145 -0
- package/node_modules/@types/node/path.d.ts +200 -0
- package/node_modules/@types/node/perf_hooks.d.ts +968 -0
- package/node_modules/@types/node/process.d.ts +2084 -0
- package/node_modules/@types/node/punycode.d.ts +117 -0
- package/node_modules/@types/node/querystring.d.ts +152 -0
- package/node_modules/@types/node/readline/promises.d.ts +161 -0
- package/node_modules/@types/node/readline.d.ts +594 -0
- package/node_modules/@types/node/repl.d.ts +428 -0
- package/node_modules/@types/node/sea.d.ts +162 -0
- package/node_modules/@types/node/sqlite.d.ts +722 -0
- package/node_modules/@types/node/stream/consumers.d.ts +38 -0
- package/node_modules/@types/node/stream/promises.d.ts +90 -0
- package/node_modules/@types/node/stream/web.d.ts +573 -0
- package/node_modules/@types/node/stream.d.ts +1694 -0
- package/node_modules/@types/node/string_decoder.d.ts +67 -0
- package/node_modules/@types/node/test.d.ts +2265 -0
- package/node_modules/@types/node/timers/promises.d.ts +108 -0
- package/node_modules/@types/node/timers.d.ts +287 -0
- package/node_modules/@types/node/tls.d.ts +1319 -0
- package/node_modules/@types/node/trace_events.d.ts +197 -0
- package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +468 -0
- package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +34 -0
- package/node_modules/@types/node/ts5.6/index.d.ts +98 -0
- package/node_modules/@types/node/tty.d.ts +208 -0
- package/node_modules/@types/node/url.d.ts +984 -0
- package/node_modules/@types/node/util.d.ts +2606 -0
- package/node_modules/@types/node/v8.d.ts +920 -0
- package/node_modules/@types/node/vm.d.ts +1053 -0
- package/node_modules/@types/node/wasi.d.ts +181 -0
- package/node_modules/@types/node/web-globals/abortcontroller.d.ts +34 -0
- package/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
- package/node_modules/@types/node/web-globals/events.d.ts +97 -0
- package/node_modules/@types/node/web-globals/fetch.d.ts +55 -0
- package/node_modules/@types/node/web-globals/navigator.d.ts +22 -0
- package/node_modules/@types/node/web-globals/storage.d.ts +24 -0
- package/node_modules/@types/node/web-globals/streams.d.ts +22 -0
- package/node_modules/@types/node/worker_threads.d.ts +819 -0
- package/node_modules/@types/node/zlib.d.ts +747 -0
- package/node_modules/@types/react/LICENSE +21 -0
- package/node_modules/@types/react/README.md +15 -0
- package/node_modules/@types/react/canary.d.ts +129 -0
- package/node_modules/@types/react/compiler-runtime.d.ts +4 -0
- package/node_modules/@types/react/experimental.d.ts +184 -0
- package/node_modules/@types/react/global.d.ts +166 -0
- package/node_modules/@types/react/index.d.ts +4378 -0
- package/node_modules/@types/react/jsx-dev-runtime.d.ts +33 -0
- package/node_modules/@types/react/jsx-runtime.d.ts +24 -0
- package/node_modules/@types/react/package.json +210 -0
- package/node_modules/@types/react/ts5.0/canary.d.ts +129 -0
- package/node_modules/@types/react/ts5.0/experimental.d.ts +184 -0
- package/node_modules/@types/react/ts5.0/global.d.ts +166 -0
- package/node_modules/@types/react/ts5.0/index.d.ts +4365 -0
- package/node_modules/@types/react/ts5.0/jsx-dev-runtime.d.ts +33 -0
- package/node_modules/@types/react/ts5.0/jsx-runtime.d.ts +24 -0
- package/node_modules/csstype/LICENSE +19 -0
- package/node_modules/csstype/README.md +291 -0
- package/node_modules/csstype/index.d.ts +22569 -0
- package/node_modules/csstype/index.js.flow +6863 -0
- package/node_modules/csstype/package.json +70 -0
- package/node_modules/entities/LICENSE +11 -0
- package/node_modules/entities/decode.d.ts +1 -0
- package/node_modules/entities/decode.js +3 -0
- package/node_modules/entities/dist/commonjs/decode-codepoint.d.ts +19 -0
- package/node_modules/entities/dist/commonjs/decode-codepoint.d.ts.map +1 -0
- package/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
- package/node_modules/entities/dist/commonjs/decode-codepoint.js.map +1 -0
- package/node_modules/entities/dist/commonjs/decode.d.ts +209 -0
- package/node_modules/entities/dist/commonjs/decode.d.ts.map +1 -0
- package/node_modules/entities/dist/commonjs/decode.js +511 -0
- package/node_modules/entities/dist/commonjs/decode.js.map +1 -0
- package/node_modules/entities/dist/commonjs/encode.d.ts +22 -0
- package/node_modules/entities/dist/commonjs/encode.d.ts.map +1 -0
- package/node_modules/entities/dist/commonjs/encode.js +73 -0
- package/node_modules/entities/dist/commonjs/encode.js.map +1 -0
- package/node_modules/entities/dist/commonjs/escape.d.ts +43 -0
- package/node_modules/entities/dist/commonjs/escape.d.ts.map +1 -0
- package/node_modules/entities/dist/commonjs/escape.js +121 -0
- package/node_modules/entities/dist/commonjs/escape.js.map +1 -0
- package/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts +2 -0
- package/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts.map +1 -0
- package/node_modules/entities/dist/commonjs/generated/decode-data-html.js +10 -0
- package/node_modules/entities/dist/commonjs/generated/decode-data-html.js.map +1 -0
- package/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts +2 -0
- package/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts.map +1 -0
- package/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +10 -0
- package/node_modules/entities/dist/commonjs/generated/decode-data-xml.js.map +1 -0
- package/node_modules/entities/dist/commonjs/generated/encode-html.d.ts +8 -0
- package/node_modules/entities/dist/commonjs/generated/encode-html.d.ts.map +1 -0
- package/node_modules/entities/dist/commonjs/generated/encode-html.js +13 -0
- package/node_modules/entities/dist/commonjs/generated/encode-html.js.map +1 -0
- package/node_modules/entities/dist/commonjs/index.d.ts +96 -0
- package/node_modules/entities/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/entities/dist/commonjs/index.js +131 -0
- package/node_modules/entities/dist/commonjs/index.js.map +1 -0
- package/node_modules/entities/dist/commonjs/package.json +3 -0
- package/node_modules/entities/dist/esm/decode-codepoint.d.ts +19 -0
- package/node_modules/entities/dist/esm/decode-codepoint.d.ts.map +1 -0
- package/node_modules/entities/dist/esm/decode-codepoint.js +72 -0
- package/node_modules/entities/dist/esm/decode-codepoint.js.map +1 -0
- package/node_modules/entities/dist/esm/decode.d.ts +209 -0
- package/node_modules/entities/dist/esm/decode.d.ts.map +1 -0
- package/node_modules/entities/dist/esm/decode.js +497 -0
- package/node_modules/entities/dist/esm/decode.js.map +1 -0
- package/node_modules/entities/dist/esm/encode.d.ts +22 -0
- package/node_modules/entities/dist/esm/encode.d.ts.map +1 -0
- package/node_modules/entities/dist/esm/encode.js +69 -0
- package/node_modules/entities/dist/esm/encode.js.map +1 -0
- package/node_modules/entities/dist/esm/escape.d.ts +43 -0
- package/node_modules/entities/dist/esm/escape.d.ts.map +1 -0
- package/node_modules/entities/dist/esm/escape.js +117 -0
- package/node_modules/entities/dist/esm/escape.js.map +1 -0
- package/node_modules/entities/dist/esm/generated/decode-data-html.d.ts +2 -0
- package/node_modules/entities/dist/esm/generated/decode-data-html.d.ts.map +1 -0
- package/node_modules/entities/dist/esm/generated/decode-data-html.js +7 -0
- package/node_modules/entities/dist/esm/generated/decode-data-html.js.map +1 -0
- package/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts +2 -0
- package/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts.map +1 -0
- package/node_modules/entities/dist/esm/generated/decode-data-xml.js +7 -0
- package/node_modules/entities/dist/esm/generated/decode-data-xml.js.map +1 -0
- package/node_modules/entities/dist/esm/generated/encode-html.d.ts +8 -0
- package/node_modules/entities/dist/esm/generated/encode-html.d.ts.map +1 -0
- package/node_modules/entities/dist/esm/generated/encode-html.js +10 -0
- package/node_modules/entities/dist/esm/generated/encode-html.js.map +1 -0
- package/node_modules/entities/dist/esm/index.d.ts +96 -0
- package/node_modules/entities/dist/esm/index.d.ts.map +1 -0
- package/node_modules/entities/dist/esm/index.js +107 -0
- package/node_modules/entities/dist/esm/index.js.map +1 -0
- package/node_modules/entities/dist/esm/package.json +3 -0
- package/node_modules/entities/escape.d.ts +1 -0
- package/node_modules/entities/escape.js +3 -0
- package/node_modules/entities/package.json +118 -0
- package/node_modules/entities/readme.md +122 -0
- package/node_modules/entities/src/decode-codepoint.ts +81 -0
- package/node_modules/entities/src/decode.spec.ts +320 -0
- package/node_modules/entities/src/decode.ts +620 -0
- package/node_modules/entities/src/encode.spec.ts +78 -0
- package/node_modules/entities/src/encode.ts +77 -0
- package/node_modules/entities/src/escape.spec.ts +14 -0
- package/node_modules/entities/src/escape.ts +148 -0
- package/node_modules/entities/src/generated/.eslintrc.json +10 -0
- package/node_modules/entities/src/generated/decode-data-html.ts +8 -0
- package/node_modules/entities/src/generated/decode-data-xml.ts +8 -0
- package/node_modules/entities/src/generated/encode-html.ts +17 -0
- package/node_modules/entities/src/index.spec.ts +125 -0
- package/node_modules/entities/src/index.ts +188 -0
- package/node_modules/parse5/LICENSE +19 -0
- package/node_modules/parse5/README.md +38 -0
- package/node_modules/parse5/dist/cjs/common/doctype.d.ts +4 -0
- package/node_modules/parse5/dist/cjs/common/doctype.js +118 -0
- package/node_modules/parse5/dist/cjs/common/error-codes.d.ts +67 -0
- package/node_modules/parse5/dist/cjs/common/error-codes.js +66 -0
- package/node_modules/parse5/dist/cjs/common/foreign-content.d.ts +9 -0
- package/node_modules/parse5/dist/cjs/common/foreign-content.js +237 -0
- package/node_modules/parse5/dist/cjs/common/html.d.ts +289 -0
- package/node_modules/parse5/dist/cjs/common/html.js +528 -0
- package/node_modules/parse5/dist/cjs/common/token.d.ts +84 -0
- package/node_modules/parse5/dist/cjs/common/token.js +24 -0
- package/node_modules/parse5/dist/cjs/common/unicode.d.ts +42 -0
- package/node_modules/parse5/dist/cjs/common/unicode.js +70 -0
- package/node_modules/parse5/dist/cjs/index.d.ts +71 -0
- package/node_modules/parse5/dist/cjs/index.js +54 -0
- package/node_modules/parse5/dist/cjs/package.json +1 -0
- package/node_modules/parse5/dist/cjs/parser/formatting-element-list.d.ts +36 -0
- package/node_modules/parse5/dist/cjs/parser/formatting-element-list.js +114 -0
- package/node_modules/parse5/dist/cjs/parser/index.d.ts +221 -0
- package/node_modules/parse5/dist/cjs/parser/index.js +3240 -0
- package/node_modules/parse5/dist/cjs/parser/open-element-stack.d.ts +53 -0
- package/node_modules/parse5/dist/cjs/parser/open-element-stack.js +328 -0
- package/node_modules/parse5/dist/cjs/serializer/index.d.ts +60 -0
- package/node_modules/parse5/dist/cjs/serializer/index.js +172 -0
- package/node_modules/parse5/dist/cjs/tokenizer/index.d.ts +247 -0
- package/node_modules/parse5/dist/cjs/tokenizer/index.js +2714 -0
- package/node_modules/parse5/dist/cjs/tokenizer/preprocessor.d.ts +36 -0
- package/node_modules/parse5/dist/cjs/tokenizer/preprocessor.js +200 -0
- package/node_modules/parse5/dist/cjs/tree-adapters/default.d.ts +84 -0
- package/node_modules/parse5/dist/cjs/tree-adapters/default.js +176 -0
- package/node_modules/parse5/dist/cjs/tree-adapters/interface.d.ts +255 -0
- package/node_modules/parse5/dist/cjs/tree-adapters/interface.js +2 -0
- package/node_modules/parse5/dist/common/doctype.d.ts +4 -0
- package/node_modules/parse5/dist/common/doctype.js +114 -0
- package/node_modules/parse5/dist/common/error-codes.d.ts +67 -0
- package/node_modules/parse5/dist/common/error-codes.js +63 -0
- package/node_modules/parse5/dist/common/foreign-content.d.ts +9 -0
- package/node_modules/parse5/dist/common/foreign-content.js +228 -0
- package/node_modules/parse5/dist/common/html.d.ts +289 -0
- package/node_modules/parse5/dist/common/html.js +523 -0
- package/node_modules/parse5/dist/common/token.d.ts +84 -0
- package/node_modules/parse5/dist/common/token.js +20 -0
- package/node_modules/parse5/dist/common/unicode.d.ts +42 -0
- package/node_modules/parse5/dist/common/unicode.js +62 -0
- package/node_modules/parse5/dist/index.d.ts +71 -0
- package/node_modules/parse5/dist/index.js +42 -0
- package/node_modules/parse5/dist/parser/formatting-element-list.d.ts +36 -0
- package/node_modules/parse5/dist/parser/formatting-element-list.js +110 -0
- package/node_modules/parse5/dist/parser/index.d.ts +221 -0
- package/node_modules/parse5/dist/parser/index.js +3245 -0
- package/node_modules/parse5/dist/parser/open-element-stack.d.ts +53 -0
- package/node_modules/parse5/dist/parser/open-element-stack.js +324 -0
- package/node_modules/parse5/dist/serializer/index.d.ts +60 -0
- package/node_modules/parse5/dist/serializer/index.js +168 -0
- package/node_modules/parse5/dist/tokenizer/index.d.ts +247 -0
- package/node_modules/parse5/dist/tokenizer/index.js +2710 -0
- package/node_modules/parse5/dist/tokenizer/preprocessor.d.ts +36 -0
- package/node_modules/parse5/dist/tokenizer/preprocessor.js +196 -0
- package/node_modules/parse5/dist/tree-adapters/default.d.ts +84 -0
- package/node_modules/parse5/dist/tree-adapters/default.js +173 -0
- package/node_modules/parse5/dist/tree-adapters/interface.d.ts +255 -0
- package/node_modules/parse5/dist/tree-adapters/interface.js +1 -0
- package/node_modules/parse5/package.json +50 -0
- package/node_modules/undici-types/LICENSE +21 -0
- package/node_modules/undici-types/README.md +6 -0
- package/node_modules/undici-types/agent.d.ts +31 -0
- package/node_modules/undici-types/api.d.ts +43 -0
- package/node_modules/undici-types/balanced-pool.d.ts +29 -0
- package/node_modules/undici-types/cache.d.ts +36 -0
- package/node_modules/undici-types/client.d.ts +108 -0
- package/node_modules/undici-types/connector.d.ts +34 -0
- package/node_modules/undici-types/content-type.d.ts +21 -0
- package/node_modules/undici-types/cookies.d.ts +28 -0
- package/node_modules/undici-types/diagnostics-channel.d.ts +66 -0
- package/node_modules/undici-types/dispatcher.d.ts +256 -0
- package/node_modules/undici-types/env-http-proxy-agent.d.ts +21 -0
- package/node_modules/undici-types/errors.d.ts +149 -0
- package/node_modules/undici-types/eventsource.d.ts +61 -0
- package/node_modules/undici-types/fetch.d.ts +209 -0
- package/node_modules/undici-types/file.d.ts +39 -0
- package/node_modules/undici-types/filereader.d.ts +54 -0
- package/node_modules/undici-types/formdata.d.ts +108 -0
- package/node_modules/undici-types/global-dispatcher.d.ts +9 -0
- package/node_modules/undici-types/global-origin.d.ts +7 -0
- package/node_modules/undici-types/handlers.d.ts +15 -0
- package/node_modules/undici-types/header.d.ts +4 -0
- package/node_modules/undici-types/index.d.ts +71 -0
- package/node_modules/undici-types/interceptors.d.ts +17 -0
- package/node_modules/undici-types/mock-agent.d.ts +50 -0
- package/node_modules/undici-types/mock-client.d.ts +25 -0
- package/node_modules/undici-types/mock-errors.d.ts +12 -0
- package/node_modules/undici-types/mock-interceptor.d.ts +93 -0
- package/node_modules/undici-types/mock-pool.d.ts +25 -0
- package/node_modules/undici-types/package.json +55 -0
- package/node_modules/undici-types/patch.d.ts +33 -0
- package/node_modules/undici-types/pool-stats.d.ts +19 -0
- package/node_modules/undici-types/pool.d.ts +39 -0
- package/node_modules/undici-types/proxy-agent.d.ts +28 -0
- package/node_modules/undici-types/readable.d.ts +65 -0
- package/node_modules/undici-types/retry-agent.d.ts +8 -0
- package/node_modules/undici-types/retry-handler.d.ts +116 -0
- package/node_modules/undici-types/util.d.ts +18 -0
- package/node_modules/undici-types/webidl.d.ts +228 -0
- package/node_modules/undici-types/websocket.d.ts +150 -0
- package/package.json +80 -0
- package/scripts/rebuild-forme.mjs +61 -0
- package/src/app/AppearanceControl.tsx +44 -0
- package/src/app/AssetThemeDefaults.tsx +87 -0
- package/src/app/AssetsBrowser.tsx +273 -0
- package/src/app/CommentDock.tsx +108 -0
- package/src/app/CreateDocumentDialog.tsx +51 -0
- package/src/app/DocumentActions.tsx +69 -0
- package/src/app/DocumentCard.tsx +50 -0
- package/src/app/DocumentViewControl.tsx +31 -0
- package/src/app/DocumentsBrowser.tsx +70 -0
- package/src/app/ExportHistoryDialog.tsx +86 -0
- package/src/app/ExportMenu.tsx +127 -0
- package/src/app/GuideDialog.tsx +80 -0
- package/src/app/InspectionLayer.tsx +77 -0
- package/src/app/LogoUploadDialog.tsx +92 -0
- package/src/app/Markdown.tsx +34 -0
- package/src/app/MaterialsBrowser.tsx +149 -0
- package/src/app/PageNumberInput.tsx +56 -0
- package/src/app/Pdf.tsx +561 -0
- package/src/app/ProjectDialogs.tsx +100 -0
- package/src/app/Reader.tsx +769 -0
- package/src/app/SearchField.tsx +13 -0
- package/src/app/Sidebar.tsx +86 -0
- package/src/app/SkillIndex.tsx +30 -0
- package/src/app/TemplatesBrowser.tsx +149 -0
- package/src/app/ThemesBrowser.tsx +159 -0
- package/src/app/api.ts +47 -0
- package/src/app/appearance.ts +35 -0
- package/src/app/assets.css +139 -0
- package/src/app/catalogPreview.ts +20 -0
- package/src/app/colors.css +167 -0
- package/src/app/comment-dock.css +53 -0
- package/src/app/commentDrafts.ts +67 -0
- package/src/app/componentCorrection.ts +17 -0
- package/src/app/edit-workbench.css +87 -0
- package/src/app/editSession.ts +238 -0
- package/src/app/editorRecovery.ts +25 -0
- package/src/app/export-history.css +31 -0
- package/src/app/export.css +17 -0
- package/src/app/guideLinks.ts +21 -0
- package/src/app/guides.css +40 -0
- package/src/app/main.tsx +221 -0
- package/src/app/materials.css +53 -0
- package/src/app/pdfLoading.ts +12 -0
- package/src/app/pdfSelection.ts +112 -0
- package/src/app/projects.css +63 -0
- package/src/app/reader-toolbar.css +65 -0
- package/src/app/selection.css +150 -0
- package/src/app/sidebar.css +60 -0
- package/src/app/skills.css +7 -0
- package/src/app/style.css +1061 -0
- package/src/app/templates.css +49 -0
- package/src/app/themes.css +80 -0
- package/src/app/ui/Icon.tsx +92 -0
- package/src/app/ui/README.md +27 -0
- package/src/app/ui/fonts.css +36 -0
- package/src/app/ui/index.tsx +223 -0
- package/src/app/ui/ui.css +388 -0
- package/src/app/useReaderPreview.ts +19 -0
- package/src/app/useTextEditing.ts +155 -0
- package/src/assets/adapter.ts +122 -0
- package/src/assets/files.ts +378 -0
- package/src/assets/import-worker.ts +294 -0
- package/src/assets/imports.ts +124 -0
- package/src/assets/index.ts +60 -0
- package/src/assets/store.ts +798 -0
- package/src/assets/usage.ts +118 -0
- package/src/cli/check.ts +25 -0
- package/src/cli/init.ts +119 -0
- package/src/cli/lock.ts +34 -0
- package/src/cli/main.ts +118 -0
- package/src/cli/process.ts +19 -0
- package/src/cli/start.ts +96 -0
- package/src/cli/update.ts +348 -0
- package/src/cli/workspace.ts +94 -0
- package/src/document/index.tsx +641 -0
- package/src/document/page.tsx +53 -0
- package/src/document/text-targets.tsx +162 -0
- package/src/media/files.ts +124 -0
- package/src/media/render.ts +63 -0
- package/src/rendering/resolve-sources.ts +84 -0
- package/src/runtime/jsx-dev-runtime.ts +2 -0
- package/src/runtime/jsx-runtime.ts +2 -0
- package/src/runtime/paths.ts +12 -0
- package/src/server/assets-cli.ts +162 -0
- package/src/server/assets-http.ts +100 -0
- package/src/server/client.ts +50 -0
- package/src/server/clipboard.ts +22 -0
- package/src/server/comments-cli.ts +64 -0
- package/src/server/comments.ts +130 -0
- package/src/server/create-cli.ts +33 -0
- package/src/server/create.ts +228 -0
- package/src/server/dependencies.ts +91 -0
- package/src/server/documents.ts +143 -0
- package/src/server/edits.ts +249 -0
- package/src/server/export-batch.ts +105 -0
- package/src/server/export-errors.ts +2 -0
- package/src/server/export-file.ts +57 -0
- package/src/server/export-inputs.ts +66 -0
- package/src/server/export-preview.ts +69 -0
- package/src/server/export.ts +32 -0
- package/src/server/exports.ts +283 -0
- package/src/server/files.ts +21 -0
- package/src/server/guides.ts +71 -0
- package/src/server/index.ts +432 -0
- package/src/server/materials.ts +39 -0
- package/src/server/media-cli.ts +73 -0
- package/src/server/media-mutations.ts +168 -0
- package/src/server/pptx.ts +160 -0
- package/src/server/preflight.ts +129 -0
- package/src/server/projects-cli.ts +29 -0
- package/src/server/projects.ts +187 -0
- package/src/server/render-error.ts +9 -0
- package/src/server/render-source.ts +24 -0
- package/src/server/render.ts +48 -0
- package/src/server/review-cli.ts +40 -0
- package/src/server/review.ts +161 -0
- package/src/server/selection.ts +23 -0
- package/src/server/source-overrides.ts +97 -0
- package/src/server/templates-cli.ts +51 -0
- package/src/server/templates.ts +186 -0
- package/src/server/text-layout.ts +41 -0
- package/src/server/text-source.ts +307 -0
- package/src/server/themes-cli.ts +59 -0
- package/src/server/themes.ts +215 -0
- package/src/server/ttf2eot.d.ts +3 -0
- package/src/server/worker.ts +166 -0
- package/src/server/workspace.ts +242 -0
- package/src/shared/anchors.ts +69 -0
- package/src/shared/assets.ts +154 -0
- package/src/shared/export.ts +34 -0
- package/src/shared/media.ts +33 -0
- package/src/shared/projects.ts +19 -0
- package/src/shared/selection.ts +94 -0
- package/src/shared/skill-index.ts +14 -0
- package/src/shared/starters.ts +19 -0
- package/src/shared/templates.ts +18 -0
- package/src/shared/themes.ts +24 -0
- package/src/shared/types.ts +39 -0
- package/src/template/index.ts +27 -0
- package/src/themes/index.ts +3 -0
- package/src/themes/neutral.ts +20 -0
- package/src/themes/types.ts +110 -0
- package/starter/assets/brand/wordmark.png +0 -0
- package/starter/assets/fonts/InterUI-LICENSE.txt +93 -0
- package/starter/assets/fonts/InterUI-Medium.ttf +0 -0
- package/starter/assets/fonts/InterUI-Regular.ttf +0 -0
- package/starter/assets/fonts/InterUI-source.json +19 -0
- package/starter/assets/fonts/OpenDocMono-Regular.ttf +0 -0
- package/starter/assets/fonts/OpenDocSans-Italic.ttf +0 -0
- package/starter/assets/fonts/OpenDocSans-Regular.ttf +0 -0
- package/starter/assets/fonts/OpenDocSans-Semibold.ttf +0 -0
- package/starter/assets/fonts/OpenDocSans-SemiboldItalic.ttf +0 -0
- package/starter/assets/fonts/OpenDocSerif-Italic.ttf +0 -0
- package/starter/assets/fonts/OpenDocSerif-Regular.ttf +0 -0
- package/starter/assets/fonts/OpenDocSerif-Semibold.ttf +0 -0
- package/starter/assets/fonts/OpenDocSerif-SemiboldItalic.ttf +0 -0
- package/starter/assets/fonts/SourceCode-LICENSE.md +93 -0
- package/starter/assets/fonts/SourceSans-LICENSE.md +93 -0
- package/starter/assets/fonts/SourceSerif-LICENSE.md +93 -0
- package/starter/assets/fonts/geist/OFL.txt +93 -0
- package/starter/assets/fonts/geist/asset.json +7 -0
- package/starter/assets/fonts/geist/files/1a9874b3be0fc168692a3d2327bccb4d28835653d3b91537a755296a467a83e3.ttf +0 -0
- package/starter/assets/fonts/geist/files/a8eefb873ba9c9020665f8a98302697ce1f3b79ab2deef6ee508c0ca6a82e876.ttf +0 -0
- package/starter/assets/fonts/geist/files/ccce59465ae5c61930ada5453834f60500fbd95084d85db63e0e65fad0125455.ttf +0 -0
- package/starter/assets/fonts/geist/files/f5e95110d70593672515080bee9148463ada0a7f77b89ed65a3d43cb2b0ff83a.pdf +0 -0
- package/starter/assets/fonts/geist/revisions/9a2bc12fb2f23cb27bc227087e63e1407bb804ee0586480bd6b7966ec69fb474.json +60 -0
- package/starter/assets/fonts/inter/OFL.txt +93 -0
- package/starter/assets/fonts/inter/asset.json +7 -0
- package/starter/assets/fonts/inter/files/1b08e7fc267a5c7e1d614100f604b83e7e8a0be241f0f288faa2b3ac93a683ba.ttf +0 -0
- package/starter/assets/fonts/inter/files/5b6f0c6f26e5c554a64cdcc3a9b5d802b7f9aec6206f1dbcfcdcad7b5860a2a9.ttf +0 -0
- package/starter/assets/fonts/inter/files/957db8560d510a198a7d0333fae7b6b444b00c20801581126273978d778eb3c3.pdf +0 -0
- package/starter/assets/fonts/inter/files/b37284b5701b6b168dfc770aa1a4ac492106422fd3ba76bc7641e37434e8019c.ttf +0 -0
- package/starter/assets/fonts/inter/files/c1811d32ac0f6eed1bbf57529f2ecdfc6c717d48a969dd864942436315a1b198.ttf +0 -0
- package/starter/assets/fonts/inter/files/e7a1aaf7eda9f2fad4131725fa556265ec75ca7b2d756260173a040363e8d4f7.ttf +0 -0
- package/starter/assets/fonts/inter/files/ef8f755d933b9310804cc9152f1f18cb2ac460d6b05054ec913d889c9f11f79e.ttf +0 -0
- package/starter/assets/fonts/inter/revisions/600391517c413963b71e278a57c26c40366c81fa3939a6b9755f446206766d12.json +99 -0
- package/starter/assets/fonts/inter/source.json +57 -0
- package/starter/assets/fonts/lato/OFL.txt +93 -0
- package/starter/assets/fonts/lato/asset.json +7 -0
- package/starter/assets/fonts/lato/files/4a6b566dbb28adb473a8789ce5169306f42f0c8a070ac92bae93636f36348b0d.pdf +0 -0
- package/starter/assets/fonts/lato/files/5adeb6b334d8fb99ef053bc052b952773d544315e0e1d668a12c0ce8bd51375c.ttf +0 -0
- package/starter/assets/fonts/lato/files/62c1b7f0d2e74b45960154c3520efc337b553db0961bfdc950d5618334596cc8.ttf +0 -0
- package/starter/assets/fonts/lato/files/71b8b7decbe75a881ed267be539d402bd1e9420b799658aada4e0d1bd5af803c.ttf +0 -0
- package/starter/assets/fonts/lato/files/8a0aace75d33794eece4b28187bfc1df0bbd2888b5d8a56e01788c8d65d16be1.ttf +0 -0
- package/starter/assets/fonts/lato/files/d636e4683231f931eda222d588e944d082bfd3bdba02f928bee461c0f185b251.ttf +0 -0
- package/starter/assets/fonts/lato/files/e399c44efe1387100531d26c7e4800c5d12251b890d6654a3098c7c679cb1786.ttf +0 -0
- package/starter/assets/fonts/lato/revisions/49ccb93400a9d466fab7d9843b1ecf8916ec6d47a475dd79a597a22eb39616bc.json +99 -0
- package/starter/assets/fonts/lato/source.json +57 -0
- package/starter/assets/fonts/merriweather/OFL.txt +93 -0
- package/starter/assets/fonts/merriweather/asset.json +7 -0
- package/starter/assets/fonts/merriweather/files/1c54f91b910454251c4c2b7bd4e472e1abf265fba7ca3c0ef2eee2f41324099e.ttf +0 -0
- package/starter/assets/fonts/merriweather/files/8bde8da2bb7f0265e27ba0481f70bb48d0f98a976c145f2f239c648ddd6532e0.pdf +0 -0
- package/starter/assets/fonts/merriweather/files/90b7db4460fcd1a5ca49575c2668a793f3cd6447664d312a068d690e1c01e6bc.ttf +0 -0
- package/starter/assets/fonts/merriweather/files/afff81272b7653417bb6f8bef57add055b1f9fda36f27eba5f32b40752bd08da.ttf +0 -0
- package/starter/assets/fonts/merriweather/files/e029d3b71e5bae3877c73f4f2b15af28db16593d49b0aed2a328d37ff7075846.ttf +0 -0
- package/starter/assets/fonts/merriweather/files/e9864a6790bf712a04e20f3662b206a1535186ed3e877fd859dd5fb9682335df.ttf +0 -0
- package/starter/assets/fonts/merriweather/files/fa71baebdd20a7d0de2e5e445a5922530fe9e1d740efbe791f113b682d3cb093.ttf +0 -0
- package/starter/assets/fonts/merriweather/revisions/1888e390b3e4f38a3d7cd2dc1bb805aeb6ce13f986a97656f0265fd436bc91d2.json +99 -0
- package/starter/assets/fonts/merriweather/source.json +57 -0
- package/starter/assets/fonts/open-sans/OFL.txt +92 -0
- package/starter/assets/fonts/open-sans/asset.json +7 -0
- package/starter/assets/fonts/open-sans/files/1bc0594a83762b2c25d38915a34464b7fec6088298ca22d151757bf98d6700ec.ttf +0 -0
- package/starter/assets/fonts/open-sans/files/47ed1cfaa7ffca04a04ab850b2938fd52c09d1b44cfa3e2980878e166b0cbd87.ttf +0 -0
- package/starter/assets/fonts/open-sans/files/574939af301f07df8e21cfff279465c5981dd9d9cf62086f7515897df951c6f5.pdf +0 -0
- package/starter/assets/fonts/open-sans/files/6d3884d0d57c1b67e9c50c54eca7b69c535c114e76bd7a9cfda0258588185553.ttf +0 -0
- package/starter/assets/fonts/open-sans/files/733eb93b167e6d45de09aa768f6c0355647c2c26f5416dbc7407a08ed41e81c6.ttf +0 -0
- package/starter/assets/fonts/open-sans/files/75367e6da7d914eaed87883ba51b2a2b5816b5cdbb39f96ec5c81a5b032bfd5a.ttf +0 -0
- package/starter/assets/fonts/open-sans/files/ff4fdc11204e0edd14e9a0bb6c374b847a9093b0ec2c16702e03afca79ac4ef7.ttf +0 -0
- package/starter/assets/fonts/open-sans/revisions/bbbe3a4915b9bccbc883c0decb4097511c43b6bd09ae22a1516aff128c219bc5.json +99 -0
- package/starter/assets/fonts/open-sans/source.json +57 -0
- package/starter/assets/fonts/roboto/OFL.txt +93 -0
- package/starter/assets/fonts/roboto/asset.json +7 -0
- package/starter/assets/fonts/roboto/files/22d45d989248a624252b8382067ac56550212fa675dcdbaf12f03d297dd87a58.pdf +0 -0
- package/starter/assets/fonts/roboto/files/35757eaa996b3359022f47f164a67ee9eac04971af24c5b8fbd4b89e844ff190.ttf +0 -0
- package/starter/assets/fonts/roboto/files/4d3035883c531846bd1ce2dc89f36d932e72dc114f56062c7e3a9cdd74f3d3ea.ttf +0 -0
- package/starter/assets/fonts/roboto/files/be7639306a4fc4a02ce2ae2ff59eb1335e4db4a7379dd0a384ed7cc053817789.ttf +0 -0
- package/starter/assets/fonts/roboto/files/d2920cbb1b60a3fd11fbf22049286e43a6baf522d37fdf1e7c89562319bcfea5.ttf +0 -0
- package/starter/assets/fonts/roboto/files/dece7c71bbe61710787f0839c722c65e87355dd2eb4a823e6b5488121ff81e4b.ttf +0 -0
- package/starter/assets/fonts/roboto/files/f478ba88b0292e685e487901dfbb1401457d32d6ebee4030cdfd5698235bffa8.ttf +0 -0
- package/starter/assets/fonts/roboto/revisions/bda5e2d84c17313373dd2dbf3e64fe0dd450c7e1b59e6929e69557e122fe976e.json +99 -0
- package/starter/assets/fonts/roboto/source.json +57 -0
- package/starter/assets/logos/opendoc/asset.json +6 -0
- package/starter/assets/logos/opendoc/files/831d5ccd9eb6709cc8439ea257c03d81452e81a28a3d1eedbd6a3b7daff687b6.png +0 -0
- package/starter/assets/logos/opendoc/revisions/834dde8926ddb81de687254195a168bb13bfb77803307f1257de1f2228be63b2.json +33 -0
- package/starter/assets/ui-fonts/geist/OFL.txt +93 -0
- package/starter/assets/ui-fonts/geist/geist-latin-ext-wght-italic.woff2 +0 -0
- package/starter/assets/ui-fonts/geist/geist-latin-ext-wght-normal.woff2 +0 -0
- package/starter/assets/ui-fonts/geist/geist-latin-wght-italic.woff2 +0 -0
- package/starter/assets/ui-fonts/geist/geist-latin-wght-normal.woff2 +0 -0
- package/starter/assets/ui-fonts/geist/source.json +26 -0
- package/starter/documents/welcome/assets.json +7 -0
- package/starter/documents/welcome/index.tsx +160 -0
- package/starter/documents/welcome/media/.gitkeep +0 -0
- package/starter/documents/welcome/media/paper-architecture/image.png +0 -0
- package/starter/documents/welcome/media/paper-architecture/meta.json +9 -0
- package/starter/documents/welcome/media/paper-architecture/prompt.txt +1 -0
- package/starter/documents/welcome/media/studio-rhythm/chart.svg +2343 -0
- package/starter/documents/welcome/media/studio-rhythm/data.json +234 -0
- package/starter/documents/welcome/media/studio-rhythm/generation.json +9 -0
- package/starter/documents/welcome/media/studio-rhythm/image.png +0 -0
- package/starter/documents/welcome/media/studio-rhythm/meta.json +11 -0
- package/starter/documents/welcome/media/studio-rhythm/recipe.py +79 -0
- package/starter/documents/welcome/theme.tsx +5 -0
- package/starter/documents/welcome-presentation/assets.json +7 -0
- package/starter/documents/welcome-presentation/index.tsx +166 -0
- package/starter/documents/welcome-presentation/media/.gitkeep +0 -0
- package/starter/documents/welcome-presentation/media/paper-architecture/image.png +0 -0
- package/starter/documents/welcome-presentation/media/paper-architecture/meta.json +9 -0
- package/starter/documents/welcome-presentation/media/paper-architecture/prompt.txt +1 -0
- package/starter/documents/welcome-presentation/media/studio-rhythm/chart.svg +1336 -0
- package/starter/documents/welcome-presentation/media/studio-rhythm/data.json +234 -0
- package/starter/documents/welcome-presentation/media/studio-rhythm/generation.json +9 -0
- package/starter/documents/welcome-presentation/media/studio-rhythm/image.png +0 -0
- package/starter/documents/welcome-presentation/media/studio-rhythm/meta.json +13 -0
- package/starter/documents/welcome-presentation/media/studio-rhythm/recipe.py +49 -0
- package/starter/documents/welcome-presentation/theme.tsx +5 -0
- package/starter/projects.json +17 -0
- package/starter/templates/AGENTS.md +9 -0
- package/starter/templates/_shared/BusinessLogo.tsx +14 -0
- package/starter/templates/_shared/Pricing.tsx +40 -0
- package/starter/templates/_shared/commerce.ts +93 -0
- package/starter/templates/brand-guidelines/AGENTS.md +32 -0
- package/starter/templates/brand-guidelines/index.tsx +62 -0
- package/starter/templates/brand-guidelines/preview.tsx +181 -0
- package/starter/templates/brand-guidelines/starter.tsx +179 -0
- package/starter/templates/brand-guidelines/template.json +15 -0
- package/starter/templates/business-proposal/AGENTS.md +13 -0
- package/starter/templates/business-proposal/README.md +36 -0
- package/starter/templates/business-proposal/data.json +37 -0
- package/starter/templates/business-proposal/examples/long.json +142 -0
- package/starter/templates/business-proposal/examples/sparse.json +17 -0
- package/starter/templates/business-proposal/examples/typical.json +37 -0
- package/starter/templates/business-proposal/index.tsx +59 -0
- package/starter/templates/business-proposal/preview.tsx +47 -0
- package/starter/templates/business-proposal/schema.ts +14 -0
- package/starter/templates/business-proposal/starter.tsx +18 -0
- package/starter/templates/business-proposal/template.json +11 -0
- package/starter/templates/company-profile/AGENTS.md +48 -0
- package/starter/templates/company-profile/index.tsx +69 -0
- package/starter/templates/company-profile/preview.tsx +185 -0
- package/starter/templates/company-profile/starter.tsx +186 -0
- package/starter/templates/company-profile/template.json +15 -0
- package/starter/templates/consulting-report/AGENTS.md +11 -0
- package/starter/templates/consulting-report/README.md +13 -0
- package/starter/templates/consulting-report/RESEARCH.md +10 -0
- package/starter/templates/consulting-report/index.tsx +44 -0
- package/starter/templates/consulting-report/preview.tsx +39 -0
- package/starter/templates/consulting-report/starter.tsx +15 -0
- package/starter/templates/consulting-report/template.json +11 -0
- package/starter/templates/editorial-essay/AGENTS.md +11 -0
- package/starter/templates/editorial-essay/README.md +11 -0
- package/starter/templates/editorial-essay/index.tsx +30 -0
- package/starter/templates/editorial-essay/preview.tsx +26 -0
- package/starter/templates/editorial-essay/starter.tsx +15 -0
- package/starter/templates/editorial-essay/template.json +11 -0
- package/starter/templates/executive-brief/AGENTS.md +9 -0
- package/starter/templates/executive-brief/README.md +11 -0
- package/starter/templates/executive-brief/index.tsx +33 -0
- package/starter/templates/executive-brief/preview.tsx +37 -0
- package/starter/templates/executive-brief/starter.tsx +11 -0
- package/starter/templates/executive-brief/template.json +11 -0
- package/starter/templates/image-story/AGENTS.md +37 -0
- package/starter/templates/image-story/index.tsx +106 -0
- package/starter/templates/image-story/preview.tsx +33 -0
- package/starter/templates/image-story/starter.tsx +24 -0
- package/starter/templates/image-story/template.json +13 -0
- package/starter/templates/invoice/AGENTS.md +13 -0
- package/starter/templates/invoice/README.md +40 -0
- package/starter/templates/invoice/data.json +61 -0
- package/starter/templates/invoice/examples/long.json +241 -0
- package/starter/templates/invoice/examples/sparse.json +33 -0
- package/starter/templates/invoice/examples/typical.json +61 -0
- package/starter/templates/invoice/index.tsx +57 -0
- package/starter/templates/invoice/preview.tsx +12 -0
- package/starter/templates/invoice/schema.ts +45 -0
- package/starter/templates/invoice/starter.tsx +12 -0
- package/starter/templates/invoice/template.json +11 -0
- package/starter/templates/literary-text/AGENTS.md +9 -0
- package/starter/templates/literary-text/README.md +11 -0
- package/starter/templates/literary-text/index.tsx +31 -0
- package/starter/templates/literary-text/preview.tsx +20 -0
- package/starter/templates/literary-text/starter.tsx +11 -0
- package/starter/templates/literary-text/template.json +11 -0
- package/starter/templates/magazine-feature/AGENTS.md +11 -0
- package/starter/templates/magazine-feature/README.md +13 -0
- package/starter/templates/magazine-feature/index.tsx +41 -0
- package/starter/templates/magazine-feature/preview.tsx +34 -0
- package/starter/templates/magazine-feature/starter.tsx +15 -0
- package/starter/templates/magazine-feature/template.json +11 -0
- package/starter/templates/monthly-report/AGENTS.md +11 -0
- package/starter/templates/monthly-report/README.md +24 -0
- package/starter/templates/monthly-report/data.json +131 -0
- package/starter/templates/monthly-report/examples/long.json +519 -0
- package/starter/templates/monthly-report/examples/sparse.json +20 -0
- package/starter/templates/monthly-report/examples/typical.json +37 -0
- package/starter/templates/monthly-report/index.tsx +92 -0
- package/starter/templates/monthly-report/preview.tsx +14 -0
- package/starter/templates/monthly-report/schema.ts +127 -0
- package/starter/templates/monthly-report/starter.tsx +13 -0
- package/starter/templates/monthly-report/template.json +11 -0
- package/starter/templates/pitch-deck/AGENTS.md +32 -0
- package/starter/templates/pitch-deck/index.tsx +46 -0
- package/starter/templates/pitch-deck/preview.tsx +142 -0
- package/starter/templates/pitch-deck/starter.tsx +140 -0
- package/starter/templates/pitch-deck/template.json +15 -0
- package/starter/templates/proposal-deck/AGENTS.md +25 -0
- package/starter/templates/proposal-deck/index.tsx +52 -0
- package/starter/templates/proposal-deck/preview.tsx +172 -0
- package/starter/templates/proposal-deck/starter.tsx +168 -0
- package/starter/templates/proposal-deck/template.json +7 -0
- package/starter/templates/quotation/AGENTS.md +13 -0
- package/starter/templates/quotation/README.md +42 -0
- package/starter/templates/quotation/data.json +64 -0
- package/starter/templates/quotation/examples/long.json +272 -0
- package/starter/templates/quotation/examples/sparse.json +31 -0
- package/starter/templates/quotation/examples/typical.json +64 -0
- package/starter/templates/quotation/index.tsx +51 -0
- package/starter/templates/quotation/preview.tsx +12 -0
- package/starter/templates/quotation/schema.ts +27 -0
- package/starter/templates/quotation/starter.tsx +12 -0
- package/starter/templates/quotation/template.json +11 -0
- package/starter/templates/scientific-paper/AGENTS.md +11 -0
- package/starter/templates/scientific-paper/README.md +13 -0
- package/starter/templates/scientific-paper/index.tsx +47 -0
- package/starter/templates/scientific-paper/preview.tsx +43 -0
- package/starter/templates/scientific-paper/starter.tsx +15 -0
- package/starter/templates/scientific-paper/template.json +11 -0
- package/starter/themes/Specimen.tsx +54 -0
- package/starter/themes/civic-spectrum/components.tsx +92 -0
- package/starter/themes/civic-spectrum/design.md +70 -0
- package/starter/themes/civic-spectrum/index.ts +57 -0
- package/starter/themes/civic-spectrum/preview.tsx +66 -0
- package/starter/themes/field-manual/components.tsx +106 -0
- package/starter/themes/field-manual/design.md +72 -0
- package/starter/themes/field-manual/index.ts +57 -0
- package/starter/themes/field-manual/preview.tsx +82 -0
- package/starter/themes/index.ts +3 -0
- package/starter/themes/mckinsey-consulting/components.tsx +69 -0
- package/starter/themes/mckinsey-consulting/design.md +68 -0
- package/starter/themes/mckinsey-consulting/index.ts +60 -0
- package/starter/themes/mckinsey-consulting/preview.tsx +53 -0
- package/starter/themes/neutral/design.md +35 -0
- package/starter/themes/neutral/index.ts +21 -0
- package/starter/themes/neutral/preview.tsx +4 -0
- package/starter/themes/opendoc-neutral/components.tsx +77 -0
- package/starter/themes/opendoc-neutral/design.md +70 -0
- package/starter/themes/opendoc-neutral/index.ts +54 -0
- package/starter/themes/opendoc-neutral/preview.tsx +43 -0
- package/starter/themes/types.ts +3 -0
- package/tsconfig.workspace.json +24 -0
- package/vendor/formepdf/LICENSE +21 -0
- package/vendor/formepdf/README.md +97 -0
- package/vendor/formepdf/font-subset.patch +228 -0
- package/vendor/formepdf/text-writer.patch +507 -0
|
@@ -0,0 +1,608 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Root document container. Must be the top-level element in every Forme document.
|
|
3
|
+
*
|
|
4
|
+
* All other Forme components must be descendants of `<Document>`.
|
|
5
|
+
*
|
|
6
|
+
* @param props.title - PDF metadata title
|
|
7
|
+
* @param props.author - PDF metadata author
|
|
8
|
+
* @param props.subject - PDF metadata subject
|
|
9
|
+
* @param props.creator - PDF metadata creator application
|
|
10
|
+
* @param props.style - Default style applied globally (fontFamily, fontSize, color, etc.)
|
|
11
|
+
* @param props.children - Page or content elements
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* <Document title="Invoice" style={{ fontFamily: 'Inter', fontSize: 12 }}>
|
|
16
|
+
* <Text>Hello World</Text>
|
|
17
|
+
* </Document>
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export function Document(_props) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
/** Stable marker for cross-version identity checks (survives minification). */
|
|
24
|
+
Document.__formeType = 'Document';
|
|
25
|
+
/**
|
|
26
|
+
* A page boundary with explicit size and margin configuration.
|
|
27
|
+
*
|
|
28
|
+
* When used, content inside each `<Page>` is laid out independently.
|
|
29
|
+
* Without `<Page>`, content uses the document's default page config.
|
|
30
|
+
*
|
|
31
|
+
* @param props.size - Page size: `"A4"`, `"Letter"`, `"Legal"`, `"A3"`, `"A5"`, `"Tabloid"`, or `{ width, height }` in points
|
|
32
|
+
* @param props.margin - Page margins as a uniform number or `{ top, right, bottom, left }`
|
|
33
|
+
* @param props.children - Content elements for this page
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```tsx
|
|
37
|
+
* <Document>
|
|
38
|
+
* <Page size="Letter" margin={72}>
|
|
39
|
+
* <Text>US Letter page with 1-inch margins</Text>
|
|
40
|
+
* </Page>
|
|
41
|
+
* </Document>
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export function Page(_props) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* A flex container, analogous to an HTML `<div>`.
|
|
49
|
+
*
|
|
50
|
+
* Defaults to `flexDirection: "column"`. Supports all flex properties
|
|
51
|
+
* including `flexWrap`, `gap`, `justifyContent`, and `alignItems`.
|
|
52
|
+
*
|
|
53
|
+
* @param props.style - CSS-like style properties
|
|
54
|
+
* @param props.wrap - Whether this container can break across pages (default: true). Set to `false` to keep children together.
|
|
55
|
+
* @param props.children - Child elements
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```tsx
|
|
59
|
+
* <View style={{ flexDirection: 'row', gap: 12, padding: 8 }}>
|
|
60
|
+
* <Text>Left</Text>
|
|
61
|
+
* <Text>Right</Text>
|
|
62
|
+
* </View>
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export function View(_props) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* A text node. Children are flattened to a single string.
|
|
70
|
+
*
|
|
71
|
+
* Supports font properties, text alignment, color, and text transforms.
|
|
72
|
+
* Nested `<Text>` children have their content concatenated.
|
|
73
|
+
*
|
|
74
|
+
* @param props.style - Typography and color styles
|
|
75
|
+
* @param props.children - Text content (strings, numbers, or nested `<Text>`)
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```tsx
|
|
79
|
+
* <Text style={{ fontSize: 24, fontWeight: 'bold', color: '#333' }}>
|
|
80
|
+
* Invoice Total: $1,234.00
|
|
81
|
+
* </Text>
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
export function Text(_props) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Semantic heading components. `<H1>` … `<H6>`. Each level has sensible
|
|
89
|
+
* defaults (font size, weight, margin-top, margin-bottom) tuned for
|
|
90
|
+
* document layout; pass `style` to override individual properties (your
|
|
91
|
+
* values win on conflict).
|
|
92
|
+
*
|
|
93
|
+
* In tagged PDFs (`<Document tagged>` or `<Document pdfUa>`), headings
|
|
94
|
+
* map to the corresponding `/H1` – `/H6` PDF structure elements
|
|
95
|
+
* automatically — useful for screen-reader accessibility and for tools
|
|
96
|
+
* that build a table of contents from the structure tree.
|
|
97
|
+
*
|
|
98
|
+
* Inline formatting components work inside: `<H1>Chapter <Em>1</Em></H1>`.
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```tsx
|
|
102
|
+
* <H1>Annual Report</H1>
|
|
103
|
+
* <H2 style={{ marginTop: 32 }}>Executive Summary</H2>
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
export function H1(_props) {
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
export function H2(_props) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
export function H3(_props) {
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
export function H4(_props) {
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
export function H5(_props) {
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
export function H6(_props) {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* An ordered (numbered) list. Children must be `<ListItem>` elements.
|
|
126
|
+
*
|
|
127
|
+
* Numbering continues across page breaks. The marker gutter is sized
|
|
128
|
+
* automatically to fit the widest number the list will render.
|
|
129
|
+
*
|
|
130
|
+
* @param props.type - Numbering style. `'decimal'` (default) | `'lower-alpha'`
|
|
131
|
+
* | `'upper-alpha'` | `'lower-roman'` | `'upper-roman'`.
|
|
132
|
+
* @param props.start - Starting index. Defaults to `1`.
|
|
133
|
+
* @param props.style - Container style overrides.
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* ```tsx
|
|
137
|
+
* <OrderedList type="lower-alpha">
|
|
138
|
+
* <ListItem>first</ListItem>
|
|
139
|
+
* <ListItem>second</ListItem>
|
|
140
|
+
* </OrderedList>
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
143
|
+
export function OrderedList(_props) {
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* An unordered (bulleted) list. Children must be `<ListItem>` elements.
|
|
148
|
+
*
|
|
149
|
+
* v1 ships with the standard "•" bullet glyph for `disc`, `circle`, and
|
|
150
|
+
* `square` (proper distinct glyphs for circle and square are a follow-up).
|
|
151
|
+
* `none` suppresses the marker entirely.
|
|
152
|
+
*
|
|
153
|
+
* @param props.marker - Bullet style. `'disc'` (default) | `'circle'`
|
|
154
|
+
* | `'square'` | `'none'`.
|
|
155
|
+
* @param props.style - Container style overrides.
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* ```tsx
|
|
159
|
+
* <UnorderedList>
|
|
160
|
+
* <ListItem>first</ListItem>
|
|
161
|
+
* <ListItem>second</ListItem>
|
|
162
|
+
* </UnorderedList>
|
|
163
|
+
* ```
|
|
164
|
+
*/
|
|
165
|
+
export function UnorderedList(_props) {
|
|
166
|
+
return null;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* One item inside an `<OrderedList>` or `<UnorderedList>`. Content can
|
|
170
|
+
* be text, inline-formatted runs, nested lists, or any Forme content
|
|
171
|
+
* node — the marker is rendered to the left, content (including any
|
|
172
|
+
* wrapped lines) aligns to the right of the marker gutter.
|
|
173
|
+
*/
|
|
174
|
+
export function ListItem(_props) {
|
|
175
|
+
return null;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Inline bold text. Use inside `<Text>` for runs of bold content.
|
|
179
|
+
* Equivalent to wrapping content in a `<Text style={{ fontWeight: 700 }}>`
|
|
180
|
+
* — just shorter. Composes with nested inline-formatting components
|
|
181
|
+
* (e.g. `<Strong><Em>both</Em></Strong>` produces bold + italic).
|
|
182
|
+
*
|
|
183
|
+
* @param props.style - Optional style overrides (merged on top of the
|
|
184
|
+
* default `fontWeight: 700`)
|
|
185
|
+
* @param props.children - Inline content (text, numbers, or other inline
|
|
186
|
+
* components like `<Em>`)
|
|
187
|
+
*
|
|
188
|
+
* @example
|
|
189
|
+
* ```tsx
|
|
190
|
+
* <Text>Read the <Strong>fine print</Strong> carefully.</Text>
|
|
191
|
+
* ```
|
|
192
|
+
*/
|
|
193
|
+
export function Strong(_props) {
|
|
194
|
+
return null;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Inline italic text. Use inside `<Text>` for runs of emphasized
|
|
198
|
+
* content. Equivalent to `<Text style={{ fontStyle: 'italic' }}>`.
|
|
199
|
+
*
|
|
200
|
+
* @param props.style - Optional style overrides
|
|
201
|
+
* @param props.children - Inline content
|
|
202
|
+
*
|
|
203
|
+
* @example
|
|
204
|
+
* ```tsx
|
|
205
|
+
* <Text>This is <Em>important</Em> to remember.</Text>
|
|
206
|
+
* ```
|
|
207
|
+
*/
|
|
208
|
+
export function Em(_props) {
|
|
209
|
+
return null;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Inline monospace text with a subtle background — like Markdown's
|
|
213
|
+
* `` `code` ``. Use inside `<Text>` for runs of inline code or paths.
|
|
214
|
+
*
|
|
215
|
+
* @param props.style - Optional style overrides (merged on top of the
|
|
216
|
+
* default font/background/padding)
|
|
217
|
+
* @param props.children - Inline content
|
|
218
|
+
*
|
|
219
|
+
* @example
|
|
220
|
+
* ```tsx
|
|
221
|
+
* <Text>Run <Code>npm install</Code> to get started.</Text>
|
|
222
|
+
* ```
|
|
223
|
+
*/
|
|
224
|
+
export function Code(_props) {
|
|
225
|
+
return null;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Inline hyperlink. Renders blue + underlined and is clickable in the
|
|
229
|
+
* output PDF. Use inside `<Text>` for inline links.
|
|
230
|
+
*
|
|
231
|
+
* @param props.href - The URL to link to (required)
|
|
232
|
+
* @param props.style - Optional style overrides
|
|
233
|
+
* @param props.children - Inline link content (the visible link text)
|
|
234
|
+
*
|
|
235
|
+
* @example
|
|
236
|
+
* ```tsx
|
|
237
|
+
* <Text>See the <Link href="https://docs.formepdf.com">docs</Link>.</Text>
|
|
238
|
+
* ```
|
|
239
|
+
*/
|
|
240
|
+
export function Link(_props) {
|
|
241
|
+
return null;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* An image element. Supports JPEG, PNG, and WebP via data URIs or file paths.
|
|
245
|
+
*
|
|
246
|
+
* If only `width` or `height` is specified, the other dimension is calculated
|
|
247
|
+
* from the image's aspect ratio.
|
|
248
|
+
*
|
|
249
|
+
* @param props.src - Image source:
|
|
250
|
+
* - `data:image/png;base64,...` (inline base64 data URI)
|
|
251
|
+
* - `./assets/logo.png` (relative to the template file)
|
|
252
|
+
* - `/absolute/path/logo.png` (absolute file path)
|
|
253
|
+
* @param props.width - Display width in points
|
|
254
|
+
* @param props.height - Display height in points
|
|
255
|
+
* @param props.style - Additional style properties
|
|
256
|
+
*
|
|
257
|
+
* @example
|
|
258
|
+
* ```tsx
|
|
259
|
+
* <Image src="./assets/logo.png" width={200} />
|
|
260
|
+
* ```
|
|
261
|
+
*/
|
|
262
|
+
export function Image(_props) {
|
|
263
|
+
return null;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* A table container. Children should be `<Row>` elements.
|
|
267
|
+
*
|
|
268
|
+
* Tables support automatic page breaks between rows and repeat header rows
|
|
269
|
+
* on continuation pages.
|
|
270
|
+
*
|
|
271
|
+
* @param props.columns - Column width definitions: `{ fraction: 0.5 }`, `{ fixed: 100 }`, or `"auto"`
|
|
272
|
+
* @param props.style - Style properties for the table container
|
|
273
|
+
* @param props.children - `<Row>` elements
|
|
274
|
+
*
|
|
275
|
+
* @example
|
|
276
|
+
* ```tsx
|
|
277
|
+
* <Table columns={[{ width: { fraction: 0.6 } }, { width: { fraction: 0.4 } }]}>
|
|
278
|
+
* <Row header>
|
|
279
|
+
* <Cell><Text>Name</Text></Cell>
|
|
280
|
+
* <Cell><Text>Price</Text></Cell>
|
|
281
|
+
* </Row>
|
|
282
|
+
* <Row>
|
|
283
|
+
* <Cell><Text>Widget</Text></Cell>
|
|
284
|
+
* <Cell><Text>$10.00</Text></Cell>
|
|
285
|
+
* </Row>
|
|
286
|
+
* </Table>
|
|
287
|
+
* ```
|
|
288
|
+
*/
|
|
289
|
+
export function Table(_props) {
|
|
290
|
+
return null;
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* A table row. Must be a direct child of `<Table>`.
|
|
294
|
+
*
|
|
295
|
+
* Header rows (`header={true}`) are automatically repeated at the top of
|
|
296
|
+
* each continuation page when a table spans multiple pages.
|
|
297
|
+
*
|
|
298
|
+
* @param props.header - Whether this is a header row that repeats on page breaks
|
|
299
|
+
* @param props.style - Style properties (e.g., `backgroundColor` for alternating rows)
|
|
300
|
+
* @param props.children - `<Cell>` elements
|
|
301
|
+
*
|
|
302
|
+
* @example
|
|
303
|
+
* ```tsx
|
|
304
|
+
* <Row header style={{ backgroundColor: '#333' }}>
|
|
305
|
+
* <Cell><Text style={{ color: '#fff' }}>Header</Text></Cell>
|
|
306
|
+
* </Row>
|
|
307
|
+
* ```
|
|
308
|
+
*/
|
|
309
|
+
export function Row(_props) {
|
|
310
|
+
return null;
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* A table cell inside a `<Row>`.
|
|
314
|
+
*
|
|
315
|
+
* @param props.colSpan - Number of columns this cell spans (default: 1)
|
|
316
|
+
* @param props.rowSpan - Number of rows this cell spans (default: 1)
|
|
317
|
+
* @param props.style - Style properties (padding, background, etc.)
|
|
318
|
+
* @param props.children - Cell content (any Forme elements)
|
|
319
|
+
*
|
|
320
|
+
* @example
|
|
321
|
+
* ```tsx
|
|
322
|
+
* <Cell colSpan={2} style={{ padding: 8, backgroundColor: '#f5f5f5' }}>
|
|
323
|
+
* <Text>Spanning two columns</Text>
|
|
324
|
+
* </Cell>
|
|
325
|
+
* ```
|
|
326
|
+
*/
|
|
327
|
+
export function Cell(_props) {
|
|
328
|
+
return null;
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* A fixed element that repeats on every page as a header or footer.
|
|
332
|
+
*
|
|
333
|
+
* Fixed elements reduce the available content area on each page.
|
|
334
|
+
* Use `{{pageNumber}}` and `{{totalPages}}` placeholders in text content
|
|
335
|
+
* for automatic page numbering.
|
|
336
|
+
*
|
|
337
|
+
* @param props.position - `"header"` (top of page) or `"footer"` (bottom of page)
|
|
338
|
+
* @param props.style - Style properties
|
|
339
|
+
* @param props.children - Content to repeat on each page
|
|
340
|
+
*
|
|
341
|
+
* @example
|
|
342
|
+
* ```tsx
|
|
343
|
+
* <Fixed position="footer">
|
|
344
|
+
* <Text style={{ textAlign: 'center', fontSize: 10 }}>
|
|
345
|
+
* Page {'{{pageNumber}}'} of {'{{totalPages}}'}
|
|
346
|
+
* </Text>
|
|
347
|
+
* </Fixed>
|
|
348
|
+
* ```
|
|
349
|
+
*/
|
|
350
|
+
export function Fixed(_props) {
|
|
351
|
+
return null;
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* An SVG element. Renders basic SVG shapes (rect, circle, ellipse, line, path, polygon, polyline) to PDF.
|
|
355
|
+
*
|
|
356
|
+
* @param props.width - Display width in points
|
|
357
|
+
* @param props.height - Display height in points
|
|
358
|
+
* @param props.viewBox - SVG viewBox string (e.g., "0 0 100 100")
|
|
359
|
+
* @param props.content - SVG markup string (the inner content, not the outer <svg> tag)
|
|
360
|
+
* @param props.style - Additional style properties (margin, etc.)
|
|
361
|
+
*
|
|
362
|
+
* @example
|
|
363
|
+
* ```tsx
|
|
364
|
+
* <Svg width={100} height={100} viewBox="0 0 100 100"
|
|
365
|
+
* content='<rect x="10" y="10" width="80" height="80" fill="blue"/>' />
|
|
366
|
+
* ```
|
|
367
|
+
*/
|
|
368
|
+
export function Svg(_props) {
|
|
369
|
+
return null;
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* A QR code rendered as crisp vector graphics in the PDF.
|
|
373
|
+
*
|
|
374
|
+
* @param props.data - The data to encode (URL, text, etc.)
|
|
375
|
+
* @param props.size - Display size in points. QR codes are square. Defaults to available width.
|
|
376
|
+
* @param props.color - QR code color. Default: black.
|
|
377
|
+
* @param props.style - Style properties for the QR code container.
|
|
378
|
+
*
|
|
379
|
+
* @example
|
|
380
|
+
* ```tsx
|
|
381
|
+
* <QrCode data="https://formepdf.com" size={100} />
|
|
382
|
+
* ```
|
|
383
|
+
*/
|
|
384
|
+
export function QrCode(_props) {
|
|
385
|
+
return null;
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* A 1D barcode rendered as crisp vector rectangles in the PDF.
|
|
389
|
+
*
|
|
390
|
+
* @param props.data - The data to encode
|
|
391
|
+
* @param props.format - Barcode format: "Code128" (default), "Code39", "EAN13", "EAN8", "Codabar"
|
|
392
|
+
* @param props.width - Width in points. Defaults to available width.
|
|
393
|
+
* @param props.height - Height in points. Default: 60.
|
|
394
|
+
* @param props.color - Bar color. Default: black.
|
|
395
|
+
* @param props.style - Style properties for the barcode container.
|
|
396
|
+
*
|
|
397
|
+
* @example
|
|
398
|
+
* ```tsx
|
|
399
|
+
* <Barcode data="ABC-123" format="Code128" width={200} height={50} />
|
|
400
|
+
* ```
|
|
401
|
+
*/
|
|
402
|
+
export function Barcode(_props) {
|
|
403
|
+
return null;
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* A canvas drawing primitive for arbitrary vector graphics.
|
|
407
|
+
*
|
|
408
|
+
* The `draw` callback receives a `CanvasContext` that records drawing operations.
|
|
409
|
+
* These are serialized to JSON and rendered as native PDF vector commands.
|
|
410
|
+
*
|
|
411
|
+
* @param props.width - Canvas width in points
|
|
412
|
+
* @param props.height - Canvas height in points
|
|
413
|
+
* @param props.draw - Drawing callback that receives a `CanvasContext`
|
|
414
|
+
* @param props.style - Additional style properties
|
|
415
|
+
*
|
|
416
|
+
* @example
|
|
417
|
+
* ```tsx
|
|
418
|
+
* <Canvas width={200} height={100} draw={(ctx) => {
|
|
419
|
+
* ctx.setFillColor(0, 0, 255);
|
|
420
|
+
* ctx.rect(10, 10, 180, 80);
|
|
421
|
+
* ctx.fill();
|
|
422
|
+
* }} />
|
|
423
|
+
* ```
|
|
424
|
+
*/
|
|
425
|
+
export function Canvas(_props) {
|
|
426
|
+
return null;
|
|
427
|
+
}
|
|
428
|
+
/**
|
|
429
|
+
* A watermark rendered as rotated text behind all page content.
|
|
430
|
+
*
|
|
431
|
+
* Appears on every page. Use `rgba()` colors for translucent watermarks.
|
|
432
|
+
*
|
|
433
|
+
* @param props.text - Watermark text (e.g. "DRAFT", "CONFIDENTIAL")
|
|
434
|
+
* @param props.fontSize - Font size in points. Default: 60.
|
|
435
|
+
* @param props.color - Text color. Use `rgba(0,0,0,0.1)` for subtle watermarks. Default: "rgba(0,0,0,0.1)".
|
|
436
|
+
* @param props.angle - Rotation angle in degrees. Default: -45.
|
|
437
|
+
* @param props.style - Additional style properties (fontFamily, etc.)
|
|
438
|
+
*
|
|
439
|
+
* @example
|
|
440
|
+
* ```tsx
|
|
441
|
+
* <Page size="A4" margin={40}>
|
|
442
|
+
* <Watermark text="DRAFT" fontSize={60} color="rgba(0,0,0,0.1)" angle={-45} />
|
|
443
|
+
* <Text>Document content here</Text>
|
|
444
|
+
* </Page>
|
|
445
|
+
* ```
|
|
446
|
+
*/
|
|
447
|
+
export function Watermark(_props) {
|
|
448
|
+
return null;
|
|
449
|
+
}
|
|
450
|
+
/**
|
|
451
|
+
* An explicit page break. Content after this element starts on a new page.
|
|
452
|
+
*
|
|
453
|
+
* @example
|
|
454
|
+
* ```tsx
|
|
455
|
+
* <Text>Page 1 content</Text>
|
|
456
|
+
* <PageBreak />
|
|
457
|
+
* <Text>Page 2 content</Text>
|
|
458
|
+
* ```
|
|
459
|
+
*/
|
|
460
|
+
export function PageBreak(_props) {
|
|
461
|
+
return null;
|
|
462
|
+
}
|
|
463
|
+
/**
|
|
464
|
+
* A bar chart rendered as native vector graphics in the PDF.
|
|
465
|
+
*
|
|
466
|
+
* @param props.data - Array of { label, value, color? } data points
|
|
467
|
+
* @param props.width - Chart width in points
|
|
468
|
+
* @param props.height - Chart height in points
|
|
469
|
+
* @param props.color - Default bar color (hex). Default: "#1a365d"
|
|
470
|
+
* @param props.showLabels - Show X-axis labels. Default: true
|
|
471
|
+
* @param props.showValues - Show value labels above bars. Default: false
|
|
472
|
+
* @param props.showGrid - Show horizontal grid lines. Default: false
|
|
473
|
+
* @param props.title - Chart title
|
|
474
|
+
*/
|
|
475
|
+
export function BarChart(_props) {
|
|
476
|
+
return null;
|
|
477
|
+
}
|
|
478
|
+
/**
|
|
479
|
+
* A line chart rendered as native vector graphics in the PDF.
|
|
480
|
+
*
|
|
481
|
+
* @param props.series - Array of { name, data: number[], color? } series
|
|
482
|
+
* @param props.labels - X-axis labels
|
|
483
|
+
* @param props.width - Chart width in points
|
|
484
|
+
* @param props.height - Chart height in points
|
|
485
|
+
* @param props.showPoints - Show dots at data points. Default: false
|
|
486
|
+
* @param props.showGrid - Show horizontal grid lines. Default: false
|
|
487
|
+
* @param props.title - Chart title
|
|
488
|
+
*/
|
|
489
|
+
export function LineChart(_props) {
|
|
490
|
+
return null;
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
* A pie chart rendered as native vector graphics in the PDF.
|
|
494
|
+
*
|
|
495
|
+
* @param props.data - Array of { label, value, color? } data points
|
|
496
|
+
* @param props.width - Chart width in points
|
|
497
|
+
* @param props.height - Chart height in points
|
|
498
|
+
* @param props.donut - Render as donut chart. Default: false
|
|
499
|
+
* @param props.showLegend - Show legend. Default: false
|
|
500
|
+
* @param props.title - Chart title
|
|
501
|
+
*/
|
|
502
|
+
export function PieChart(_props) {
|
|
503
|
+
return null;
|
|
504
|
+
}
|
|
505
|
+
/**
|
|
506
|
+
* An area chart rendered as native vector graphics in the PDF.
|
|
507
|
+
*
|
|
508
|
+
* @param props.series - Array of { name, data: number[], color? } series
|
|
509
|
+
* @param props.labels - X-axis labels
|
|
510
|
+
* @param props.width - Chart width in points
|
|
511
|
+
* @param props.height - Chart height in points
|
|
512
|
+
* @param props.showGrid - Show horizontal grid lines. Default: false
|
|
513
|
+
* @param props.title - Chart title
|
|
514
|
+
*/
|
|
515
|
+
export function AreaChart(_props) {
|
|
516
|
+
return null;
|
|
517
|
+
}
|
|
518
|
+
/**
|
|
519
|
+
* A dot plot (scatter plot) rendered as native vector graphics in the PDF.
|
|
520
|
+
*
|
|
521
|
+
* @param props.groups - Array of { name, color?, data: [x, y][] } groups
|
|
522
|
+
* @param props.width - Chart width in points
|
|
523
|
+
* @param props.height - Chart height in points
|
|
524
|
+
* @param props.dotSize - Dot radius. Default: 4
|
|
525
|
+
* @param props.showLegend - Show legend. Default: false
|
|
526
|
+
*/
|
|
527
|
+
export function DotPlot(_props) {
|
|
528
|
+
return null;
|
|
529
|
+
}
|
|
530
|
+
/**
|
|
531
|
+
* An interactive text input field (PDF AcroForm widget).
|
|
532
|
+
*
|
|
533
|
+
* @param props.name - Unique field name (PDF field identifier)
|
|
534
|
+
* @param props.width - Field width in points
|
|
535
|
+
* @param props.height - Field height in points. Default: 24
|
|
536
|
+
* @param props.value - Pre-filled value
|
|
537
|
+
* @param props.placeholder - Placeholder text shown when empty
|
|
538
|
+
* @param props.multiline - Allow multi-line input. Default: false
|
|
539
|
+
* @param props.password - Mask input. Default: false
|
|
540
|
+
* @param props.readOnly - Prevent editing. Default: false
|
|
541
|
+
* @param props.maxLength - Maximum character count
|
|
542
|
+
* @param props.fontSize - Font size in points. Default: 12
|
|
543
|
+
*
|
|
544
|
+
* @example
|
|
545
|
+
* ```tsx
|
|
546
|
+
* <TextField name="full_name" width={200} placeholder="Enter your name" />
|
|
547
|
+
* ```
|
|
548
|
+
*/
|
|
549
|
+
export function TextField(_props) {
|
|
550
|
+
return null;
|
|
551
|
+
}
|
|
552
|
+
/**
|
|
553
|
+
* An interactive checkbox (PDF AcroForm widget).
|
|
554
|
+
*
|
|
555
|
+
* @param props.name - Unique field name
|
|
556
|
+
* @param props.checked - Whether checked. Default: false
|
|
557
|
+
* @param props.width - Display width in points. Default: 14
|
|
558
|
+
* @param props.height - Display height in points. Default: 14
|
|
559
|
+
* @param props.readOnly - Prevent editing. Default: false
|
|
560
|
+
*
|
|
561
|
+
* @example
|
|
562
|
+
* ```tsx
|
|
563
|
+
* <Checkbox name="agree_terms" checked={false} />
|
|
564
|
+
* ```
|
|
565
|
+
*/
|
|
566
|
+
export function Checkbox(_props) {
|
|
567
|
+
return null;
|
|
568
|
+
}
|
|
569
|
+
/**
|
|
570
|
+
* An interactive dropdown / combo box (PDF AcroForm widget).
|
|
571
|
+
*
|
|
572
|
+
* @param props.name - Unique field name
|
|
573
|
+
* @param props.options - List of selectable options
|
|
574
|
+
* @param props.value - Pre-selected value
|
|
575
|
+
* @param props.width - Field width in points
|
|
576
|
+
* @param props.height - Field height in points. Default: 24
|
|
577
|
+
* @param props.readOnly - Prevent editing. Default: false
|
|
578
|
+
* @param props.fontSize - Font size in points. Default: 12
|
|
579
|
+
*
|
|
580
|
+
* @example
|
|
581
|
+
* ```tsx
|
|
582
|
+
* <Dropdown name="country" options={["US", "UK", "CA"]} width={200} />
|
|
583
|
+
* ```
|
|
584
|
+
*/
|
|
585
|
+
export function Dropdown(_props) {
|
|
586
|
+
return null;
|
|
587
|
+
}
|
|
588
|
+
/**
|
|
589
|
+
* An interactive radio button (PDF AcroForm widget).
|
|
590
|
+
* Multiple RadioButtons with the same `name` form a mutually exclusive group.
|
|
591
|
+
*
|
|
592
|
+
* @param props.name - Group name (shared by all buttons in the group)
|
|
593
|
+
* @param props.value - The value this button represents
|
|
594
|
+
* @param props.checked - Whether selected. Default: false
|
|
595
|
+
* @param props.width - Display width in points. Default: 14
|
|
596
|
+
* @param props.height - Display height in points. Default: 14
|
|
597
|
+
* @param props.readOnly - Prevent editing. Default: false
|
|
598
|
+
*
|
|
599
|
+
* @example
|
|
600
|
+
* ```tsx
|
|
601
|
+
* <RadioButton name="plan" value="free" checked />
|
|
602
|
+
* <RadioButton name="plan" value="pro" />
|
|
603
|
+
* <RadioButton name="plan" value="team" />
|
|
604
|
+
* ```
|
|
605
|
+
*/
|
|
606
|
+
export function RadioButton(_props) {
|
|
607
|
+
return null;
|
|
608
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** Comparison and arithmetic expression helpers. */
|
|
2
|
+
export declare const expr: {
|
|
3
|
+
eq: (a: unknown, b: unknown) => import("./template-proxy.js").ExprMarkerObject;
|
|
4
|
+
ne: (a: unknown, b: unknown) => import("./template-proxy.js").ExprMarkerObject;
|
|
5
|
+
gt: (a: unknown, b: unknown) => import("./template-proxy.js").ExprMarkerObject;
|
|
6
|
+
lt: (a: unknown, b: unknown) => import("./template-proxy.js").ExprMarkerObject;
|
|
7
|
+
gte: (a: unknown, b: unknown) => import("./template-proxy.js").ExprMarkerObject;
|
|
8
|
+
lte: (a: unknown, b: unknown) => import("./template-proxy.js").ExprMarkerObject;
|
|
9
|
+
add: (a: unknown, b: unknown) => import("./template-proxy.js").ExprMarkerObject;
|
|
10
|
+
sub: (a: unknown, b: unknown) => import("./template-proxy.js").ExprMarkerObject;
|
|
11
|
+
mul: (a: unknown, b: unknown) => import("./template-proxy.js").ExprMarkerObject;
|
|
12
|
+
div: (a: unknown, b: unknown) => import("./template-proxy.js").ExprMarkerObject;
|
|
13
|
+
upper: (v: unknown) => import("./template-proxy.js").ExprMarkerObject;
|
|
14
|
+
lower: (v: unknown) => import("./template-proxy.js").ExprMarkerObject;
|
|
15
|
+
concat: (...args: unknown[]) => import("./template-proxy.js").ExprMarkerObject;
|
|
16
|
+
format: (v: unknown, fmt: string) => import("./template-proxy.js").ExprMarkerObject;
|
|
17
|
+
cond: (condition: unknown, ifTrue: unknown, ifFalse: unknown) => import("./template-proxy.js").ExprMarkerObject;
|
|
18
|
+
if: (condition: unknown, then: unknown, elseVal?: unknown) => import("./template-proxy.js").ExprMarkerObject;
|
|
19
|
+
count: (v: unknown) => import("./template-proxy.js").ExprMarkerObject;
|
|
20
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/// Expression helpers for template operations that Proxy can't capture.
|
|
2
|
+
///
|
|
3
|
+
/// These produce expression marker objects that `serializeTemplate()` detects
|
|
4
|
+
/// and converts to the corresponding `$op` nodes in the template JSON.
|
|
5
|
+
import { createExprMarker, toExprValue } from './template-proxy.js';
|
|
6
|
+
/** Comparison and arithmetic expression helpers. */
|
|
7
|
+
export const expr = {
|
|
8
|
+
// Comparison
|
|
9
|
+
eq: (a, b) => createExprMarker({ $eq: [toExprValue(a), toExprValue(b)] }),
|
|
10
|
+
ne: (a, b) => createExprMarker({ $ne: [toExprValue(a), toExprValue(b)] }),
|
|
11
|
+
gt: (a, b) => createExprMarker({ $gt: [toExprValue(a), toExprValue(b)] }),
|
|
12
|
+
lt: (a, b) => createExprMarker({ $lt: [toExprValue(a), toExprValue(b)] }),
|
|
13
|
+
gte: (a, b) => createExprMarker({ $gte: [toExprValue(a), toExprValue(b)] }),
|
|
14
|
+
lte: (a, b) => createExprMarker({ $lte: [toExprValue(a), toExprValue(b)] }),
|
|
15
|
+
// Arithmetic
|
|
16
|
+
add: (a, b) => createExprMarker({ $add: [toExprValue(a), toExprValue(b)] }),
|
|
17
|
+
sub: (a, b) => createExprMarker({ $sub: [toExprValue(a), toExprValue(b)] }),
|
|
18
|
+
mul: (a, b) => createExprMarker({ $mul: [toExprValue(a), toExprValue(b)] }),
|
|
19
|
+
div: (a, b) => createExprMarker({ $div: [toExprValue(a), toExprValue(b)] }),
|
|
20
|
+
// String transforms
|
|
21
|
+
upper: (v) => createExprMarker({ $upper: toExprValue(v) }),
|
|
22
|
+
lower: (v) => createExprMarker({ $lower: toExprValue(v) }),
|
|
23
|
+
concat: (...args) => createExprMarker({ $concat: args.map(toExprValue) }),
|
|
24
|
+
format: (v, fmt) => createExprMarker({ $format: [toExprValue(v), fmt] }),
|
|
25
|
+
// Conditional
|
|
26
|
+
cond: (condition, ifTrue, ifFalse) => createExprMarker({ $cond: [toExprValue(condition), toExprValue(ifTrue), toExprValue(ifFalse)] }),
|
|
27
|
+
if: (condition, then, elseVal) => {
|
|
28
|
+
const obj = {
|
|
29
|
+
$if: toExprValue(condition),
|
|
30
|
+
then: toExprValue(then),
|
|
31
|
+
};
|
|
32
|
+
if (elseVal !== undefined) {
|
|
33
|
+
obj.else = toExprValue(elseVal);
|
|
34
|
+
}
|
|
35
|
+
return createExprMarker(obj);
|
|
36
|
+
},
|
|
37
|
+
// Array
|
|
38
|
+
count: (v) => createExprMarker({ $count: toExprValue(v) }),
|
|
39
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Font } from '@formepdf/shared';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { Document, Page, View, Text, H1, H2, H3, H4, H5, H6, OrderedList, UnorderedList, ListItem, Strong, Em, Code, Link, Image, Table, Row, Cell, Fixed, Svg, QrCode, Barcode, Canvas, Watermark, PageBreak, BarChart, LineChart, PieChart, AreaChart, DotPlot, TextField, Checkbox, Dropdown, RadioButton } from './components.js';
|
|
2
|
+
export { LegacyBarChart, LegacyLineChart, LegacyPieChart } from './charts.js';
|
|
3
|
+
export { serialize, serializeTemplate } from './serialize.js';
|
|
4
|
+
export { mapStyle, mapDimension, parseColor, expandEdges, expandCorners } from '@formepdf/shared';
|
|
5
|
+
export { StyleSheet } from './stylesheet.js';
|
|
6
|
+
export { Font } from './font.js';
|
|
7
|
+
export type { FontRegistration } from './font.js';
|
|
8
|
+
export { createDataProxy, isRefMarker, isEachMarker, isExprMarker } from './template-proxy.js';
|
|
9
|
+
export { expr } from './expr.js';
|
|
10
|
+
export { render, renderToObject } from './render.js';
|
|
11
|
+
export type { Style, GridTrackSize, Edges, Corners, EdgeColors, DocumentProps, PageProps, ViewProps, TextProps, HeadingProps, OrderedListProps, UnorderedListProps, ListItemProps, ListMarker, StrongProps, EmProps, CodeProps, LinkProps, ImageProps, ColumnDef, TableProps, RowProps, CellProps, FixedProps, SvgProps, QrCodeProps, BarcodeProps, BarcodeFormat, CanvasProps, CanvasContext, CanvasOp, WatermarkProps, ChartDataPoint, PieDataPoint, ChartSeries, DotPlotGroup, BarChartProps, LineChartProps, PieChartProps, AreaChartProps, DotPlotProps, TextFieldProps, CheckboxProps, DropdownProps, RadioButtonProps, TextRun, CertificationConfig, SignatureConfig, FormeDocument, FormeFont, FormeNode, FormeNodeKind, FormeStyle, FormePageConfig, FormePageSize, FormeEdges, FormeMetadata, FormeColumnDef, FormeColumnWidth, FormeDimension, FormeColor, FormeEdgeValues, FormeCornerValues, FormeGridTrackSize, FormeGridPlacement, } from './types.js';
|