@bestagentkits/render 0.1.1-next.1 → 0.3.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 +209 -1
- package/README.md +324 -44
- package/assets/fonts/bricolage-grotesque/OFL.txt +93 -0
- package/assets/fonts/fraunces/OFL.txt +93 -0
- package/assets/fonts/geist/OFL.txt +93 -0
- package/assets/fonts/inter-tight/OFL.txt +93 -0
- package/assets/fonts/jetbrains-mono/OFL.txt +93 -0
- package/assets/fonts/plus-jakarta-sans/OFL.txt +93 -0
- package/dist/blocks/chart/chart-check-kind-rules.d.ts +10 -0
- package/dist/blocks/chart/chart-check-kind-rules.d.ts.map +1 -0
- package/dist/blocks/chart/chart-check-kind-rules.js +151 -0
- package/dist/blocks/chart/chart-check-kind-rules.js.map +1 -0
- package/dist/blocks/chart/chart-check.d.ts +15 -0
- package/dist/blocks/chart/chart-check.d.ts.map +1 -0
- package/dist/blocks/chart/chart-check.js +196 -0
- package/dist/blocks/chart/chart-check.js.map +1 -0
- package/dist/blocks/chart/chart-encoding-schema.d.ts +7 -0
- package/dist/blocks/chart/chart-encoding-schema.d.ts.map +1 -0
- package/dist/blocks/chart/chart-encoding-schema.js +39 -0
- package/dist/blocks/chart/chart-encoding-schema.js.map +1 -0
- package/dist/blocks/chart/chart-encodings.d.ts +29 -0
- package/dist/blocks/chart/chart-encodings.d.ts.map +1 -0
- package/dist/blocks/chart/chart-encodings.js +59 -0
- package/dist/blocks/chart/chart-encodings.js.map +1 -0
- package/dist/blocks/chart/chart-kinds.d.ts +18 -0
- package/dist/blocks/chart/chart-kinds.d.ts.map +1 -0
- package/dist/blocks/chart/chart-kinds.js +60 -0
- package/dist/blocks/chart/chart-kinds.js.map +1 -0
- package/dist/blocks/chart/chart-model-rows.d.ts +23 -0
- package/dist/blocks/chart/chart-model-rows.d.ts.map +1 -0
- package/dist/blocks/chart/chart-model-rows.js +153 -0
- package/dist/blocks/chart/chart-model-rows.js.map +1 -0
- package/dist/blocks/chart/chart-model.d.ts +17 -0
- package/dist/blocks/chart/chart-model.d.ts.map +1 -0
- package/dist/blocks/chart/chart-model.js +131 -0
- package/dist/blocks/chart/chart-model.js.map +1 -0
- package/dist/blocks/chart/chart-styles.d.ts +3 -0
- package/dist/blocks/chart/chart-styles.d.ts.map +1 -0
- package/dist/blocks/chart/chart-styles.js +76 -0
- package/dist/blocks/chart/chart-styles.js.map +1 -0
- package/dist/blocks/chart/chart.d.ts +12 -0
- package/dist/blocks/chart/chart.d.ts.map +1 -0
- package/dist/blocks/chart/chart.js +73 -0
- package/dist/blocks/chart/chart.js.map +1 -0
- package/dist/blocks/chart/index.d.ts +4 -0
- package/dist/blocks/chart/index.d.ts.map +1 -0
- package/dist/blocks/chart/index.js +8 -0
- package/dist/blocks/chart/index.js.map +1 -0
- package/dist/blocks/composition/accordion.d.ts +4 -0
- package/dist/blocks/composition/accordion.d.ts.map +1 -0
- package/dist/blocks/composition/accordion.js +45 -0
- package/dist/blocks/composition/accordion.js.map +1 -0
- package/dist/blocks/composition/bento.d.ts +4 -0
- package/dist/blocks/composition/bento.d.ts.map +1 -0
- package/dist/blocks/composition/bento.js +91 -0
- package/dist/blocks/composition/bento.js.map +1 -0
- package/dist/blocks/composition/carousel.d.ts +4 -0
- package/dist/blocks/composition/carousel.d.ts.map +1 -0
- package/dist/blocks/composition/carousel.js +51 -0
- package/dist/blocks/composition/carousel.js.map +1 -0
- package/dist/blocks/composition/composition-runtime.d.ts +14 -0
- package/dist/blocks/composition/composition-runtime.d.ts.map +1 -0
- package/dist/blocks/composition/composition-runtime.js +136 -0
- package/dist/blocks/composition/composition-runtime.js.map +1 -0
- package/dist/blocks/composition/composition-styles.d.ts +10 -0
- package/dist/blocks/composition/composition-styles.d.ts.map +1 -0
- package/dist/blocks/composition/composition-styles.js +80 -0
- package/dist/blocks/composition/composition-styles.js.map +1 -0
- package/dist/blocks/composition/index.d.ts +4 -0
- package/dist/blocks/composition/index.d.ts.map +1 -0
- package/dist/blocks/composition/index.js +11 -0
- package/dist/blocks/composition/index.js.map +1 -0
- package/dist/blocks/composition/nestable-blocks.d.ts +37 -0
- package/dist/blocks/composition/nestable-blocks.d.ts.map +1 -0
- package/dist/blocks/composition/nestable-blocks.js +92 -0
- package/dist/blocks/composition/nestable-blocks.js.map +1 -0
- package/dist/blocks/composition/tabs.d.ts +4 -0
- package/dist/blocks/composition/tabs.d.ts.map +1 -0
- package/dist/blocks/composition/tabs.js +48 -0
- package/dist/blocks/composition/tabs.js.map +1 -0
- package/dist/blocks/controls/checkbox.d.ts +12 -0
- package/dist/blocks/controls/checkbox.d.ts.map +1 -0
- package/dist/blocks/controls/checkbox.js +43 -0
- package/dist/blocks/controls/checkbox.js.map +1 -0
- package/dist/blocks/controls/choice-options.d.ts +24 -0
- package/dist/blocks/controls/choice-options.d.ts.map +1 -0
- package/dist/blocks/controls/choice-options.js +117 -0
- package/dist/blocks/controls/choice-options.js.map +1 -0
- package/dist/blocks/controls/control-shared.d.ts +66 -0
- package/dist/blocks/controls/control-shared.d.ts.map +1 -0
- package/dist/blocks/controls/control-shared.js +241 -0
- package/dist/blocks/controls/control-shared.js.map +1 -0
- package/dist/blocks/controls/controls-runtime.d.ts +17 -0
- package/dist/blocks/controls/controls-runtime.d.ts.map +1 -0
- package/dist/blocks/controls/controls-runtime.js +180 -0
- package/dist/blocks/controls/controls-runtime.js.map +1 -0
- package/dist/blocks/controls/controls-styles.d.ts +14 -0
- package/dist/blocks/controls/controls-styles.d.ts.map +1 -0
- package/dist/blocks/controls/controls-styles.js +54 -0
- package/dist/blocks/controls/controls-styles.js.map +1 -0
- package/dist/blocks/controls/date-input.d.ts +6 -0
- package/dist/blocks/controls/date-input.d.ts.map +1 -0
- package/dist/blocks/controls/date-input.js +58 -0
- package/dist/blocks/controls/date-input.js.map +1 -0
- package/dist/blocks/controls/field-input.d.ts +10 -0
- package/dist/blocks/controls/field-input.d.ts.map +1 -0
- package/dist/blocks/controls/field-input.js +20 -0
- package/dist/blocks/controls/field-input.js.map +1 -0
- package/dist/blocks/controls/filter-bar.d.ts +11 -0
- package/dist/blocks/controls/filter-bar.d.ts.map +1 -0
- package/dist/blocks/controls/filter-bar.js +115 -0
- package/dist/blocks/controls/filter-bar.js.map +1 -0
- package/dist/blocks/controls/index.d.ts +4 -0
- package/dist/blocks/controls/index.d.ts.map +1 -0
- package/dist/blocks/controls/index.js +41 -0
- package/dist/blocks/controls/index.js.map +1 -0
- package/dist/blocks/controls/number-input.d.ts +4 -0
- package/dist/blocks/controls/number-input.d.ts.map +1 -0
- package/dist/blocks/controls/number-input.js +62 -0
- package/dist/blocks/controls/number-input.js.map +1 -0
- package/dist/blocks/controls/radio-group.d.ts +4 -0
- package/dist/blocks/controls/radio-group.d.ts.map +1 -0
- package/dist/blocks/controls/radio-group.js +56 -0
- package/dist/blocks/controls/radio-group.js.map +1 -0
- package/dist/blocks/controls/select.d.ts +4 -0
- package/dist/blocks/controls/select.d.ts.map +1 -0
- package/dist/blocks/controls/select.js +49 -0
- package/dist/blocks/controls/select.js.map +1 -0
- package/dist/blocks/controls/switch.d.ts +4 -0
- package/dist/blocks/controls/switch.d.ts.map +1 -0
- package/dist/blocks/controls/switch.js +22 -0
- package/dist/blocks/controls/switch.js.map +1 -0
- package/dist/blocks/controls/text-input.d.ts +4 -0
- package/dist/blocks/controls/text-input.d.ts.map +1 -0
- package/dist/blocks/controls/text-input.js +42 -0
- package/dist/blocks/controls/text-input.js.map +1 -0
- package/dist/blocks/data-table/data-table-cells.d.ts +26 -0
- package/dist/blocks/data-table/data-table-cells.d.ts.map +1 -0
- package/dist/blocks/data-table/data-table-cells.js +154 -0
- package/dist/blocks/data-table/data-table-cells.js.map +1 -0
- package/dist/blocks/data-table/data-table-check.d.ts +10 -0
- package/dist/blocks/data-table/data-table-check.d.ts.map +1 -0
- package/dist/blocks/data-table/data-table-check.js +99 -0
- package/dist/blocks/data-table/data-table-check.js.map +1 -0
- package/dist/blocks/data-table/data-table-columns.d.ts +41 -0
- package/dist/blocks/data-table/data-table-columns.d.ts.map +1 -0
- package/dist/blocks/data-table/data-table-columns.js +155 -0
- package/dist/blocks/data-table/data-table-columns.js.map +1 -0
- package/dist/blocks/data-table/data-table-runtime.d.ts +15 -0
- package/dist/blocks/data-table/data-table-runtime.d.ts.map +1 -0
- package/dist/blocks/data-table/data-table-runtime.js +106 -0
- package/dist/blocks/data-table/data-table-runtime.js.map +1 -0
- package/dist/blocks/data-table/data-table-styles.d.ts +11 -0
- package/dist/blocks/data-table/data-table-styles.d.ts.map +1 -0
- package/dist/blocks/data-table/data-table-styles.js +74 -0
- package/dist/blocks/data-table/data-table-styles.js.map +1 -0
- package/dist/blocks/data-table/data-table.d.ts +17 -0
- package/dist/blocks/data-table/data-table.d.ts.map +1 -0
- package/dist/blocks/data-table/data-table.js +159 -0
- package/dist/blocks/data-table/data-table.js.map +1 -0
- package/dist/blocks/data-table/index.d.ts +4 -0
- package/dist/blocks/data-table/index.d.ts.map +1 -0
- package/dist/blocks/data-table/index.js +18 -0
- package/dist/blocks/data-table/index.js.map +1 -0
- package/dist/blocks/engineering/api-endpoint.d.ts +12 -0
- package/dist/blocks/engineering/api-endpoint.d.ts.map +1 -0
- package/dist/blocks/engineering/api-endpoint.js +174 -0
- package/dist/blocks/engineering/api-endpoint.js.map +1 -0
- package/dist/blocks/engineering/engineering-helpers.d.ts +49 -0
- package/dist/blocks/engineering/engineering-helpers.d.ts.map +1 -0
- package/dist/blocks/engineering/engineering-helpers.js +156 -0
- package/dist/blocks/engineering/engineering-helpers.js.map +1 -0
- package/dist/blocks/engineering/engineering-styles.d.ts +12 -0
- package/dist/blocks/engineering/engineering-styles.d.ts.map +1 -0
- package/dist/blocks/engineering/engineering-styles.js +174 -0
- package/dist/blocks/engineering/engineering-styles.js.map +1 -0
- package/dist/blocks/engineering/index.d.ts +4 -0
- package/dist/blocks/engineering/index.d.ts.map +1 -0
- package/dist/blocks/engineering/index.js +30 -0
- package/dist/blocks/engineering/index.js.map +1 -0
- package/dist/blocks/engineering/kanban.d.ts +11 -0
- package/dist/blocks/engineering/kanban.d.ts.map +1 -0
- package/dist/blocks/engineering/kanban.js +162 -0
- package/dist/blocks/engineering/kanban.js.map +1 -0
- package/dist/blocks/engineering/log-viewer.d.ts +14 -0
- package/dist/blocks/engineering/log-viewer.d.ts.map +1 -0
- package/dist/blocks/engineering/log-viewer.js +158 -0
- package/dist/blocks/engineering/log-viewer.js.map +1 -0
- package/dist/blocks/engineering/roadmap.d.ts +13 -0
- package/dist/blocks/engineering/roadmap.d.ts.map +1 -0
- package/dist/blocks/engineering/roadmap.js +197 -0
- package/dist/blocks/engineering/roadmap.js.map +1 -0
- package/dist/blocks/engineering/schema-viewer.d.ts +25 -0
- package/dist/blocks/engineering/schema-viewer.d.ts.map +1 -0
- package/dist/blocks/engineering/schema-viewer.js +124 -0
- package/dist/blocks/engineering/schema-viewer.js.map +1 -0
- package/dist/blocks/engineering/test-results.d.ts +12 -0
- package/dist/blocks/engineering/test-results.d.ts.map +1 -0
- package/dist/blocks/engineering/test-results.js +180 -0
- package/dist/blocks/engineering/test-results.js.map +1 -0
- package/dist/blocks/evidence/annotated-image.d.ts +15 -0
- package/dist/blocks/evidence/annotated-image.d.ts.map +1 -0
- package/dist/blocks/evidence/annotated-image.js +99 -0
- package/dist/blocks/evidence/annotated-image.js.map +1 -0
- package/dist/blocks/evidence/benchmark-comparison.d.ts +11 -0
- package/dist/blocks/evidence/benchmark-comparison.d.ts.map +1 -0
- package/dist/blocks/evidence/benchmark-comparison.js +262 -0
- package/dist/blocks/evidence/benchmark-comparison.js.map +1 -0
- package/dist/blocks/evidence/benchmark-verdict.d.ts +26 -0
- package/dist/blocks/evidence/benchmark-verdict.d.ts.map +1 -0
- package/dist/blocks/evidence/benchmark-verdict.js +31 -0
- package/dist/blocks/evidence/benchmark-verdict.js.map +1 -0
- package/dist/blocks/evidence/evidence-helpers.d.ts +39 -0
- package/dist/blocks/evidence/evidence-helpers.d.ts.map +1 -0
- package/dist/blocks/evidence/evidence-helpers.js +87 -0
- package/dist/blocks/evidence/evidence-helpers.js.map +1 -0
- package/dist/blocks/evidence/evidence-styles.d.ts +12 -0
- package/dist/blocks/evidence/evidence-styles.d.ts.map +1 -0
- package/dist/blocks/evidence/evidence-styles.js +88 -0
- package/dist/blocks/evidence/evidence-styles.js.map +1 -0
- package/dist/blocks/evidence/index.d.ts +4 -0
- package/dist/blocks/evidence/index.d.ts.map +1 -0
- package/dist/blocks/evidence/index.js +15 -0
- package/dist/blocks/evidence/index.js.map +1 -0
- package/dist/blocks/evidence/metric-breakdown.d.ts +22 -0
- package/dist/blocks/evidence/metric-breakdown.d.ts.map +1 -0
- package/dist/blocks/evidence/metric-breakdown.js +203 -0
- package/dist/blocks/evidence/metric-breakdown.js.map +1 -0
- package/dist/blocks/evidence/references.d.ts +13 -0
- package/dist/blocks/evidence/references.d.ts.map +1 -0
- package/dist/blocks/evidence/references.js +103 -0
- package/dist/blocks/evidence/references.js.map +1 -0
- package/dist/blocks/index.d.ts +8 -0
- package/dist/blocks/index.d.ts.map +1 -0
- package/dist/blocks/index.js +24 -0
- package/dist/blocks/index.js.map +1 -0
- package/dist/blocks/layout/grid-item.d.ts +4 -0
- package/dist/blocks/layout/grid-item.d.ts.map +1 -0
- package/dist/blocks/layout/grid-item.js +65 -0
- package/dist/blocks/layout/grid-item.js.map +1 -0
- package/dist/blocks/layout/grid.d.ts +9 -0
- package/dist/blocks/layout/grid.d.ts.map +1 -0
- package/dist/blocks/layout/grid.js +99 -0
- package/dist/blocks/layout/grid.js.map +1 -0
- package/dist/blocks/layout/index.d.ts +4 -0
- package/dist/blocks/layout/index.d.ts.map +1 -0
- package/dist/blocks/layout/index.js +23 -0
- package/dist/blocks/layout/index.js.map +1 -0
- package/dist/blocks/layout/layout-styles.d.ts +40 -0
- package/dist/blocks/layout/layout-styles.d.ts.map +1 -0
- package/dist/blocks/layout/layout-styles.js +110 -0
- package/dist/blocks/layout/layout-styles.js.map +1 -0
- package/dist/blocks/layout/main-aside.d.ts +4 -0
- package/dist/blocks/layout/main-aside.d.ts.map +1 -0
- package/dist/blocks/layout/main-aside.js +21 -0
- package/dist/blocks/layout/main-aside.js.map +1 -0
- package/dist/blocks/layout/rail-layout.d.ts +4 -0
- package/dist/blocks/layout/rail-layout.d.ts.map +1 -0
- package/dist/blocks/layout/rail-layout.js +33 -0
- package/dist/blocks/layout/rail-layout.js.map +1 -0
- package/dist/blocks/layout/semantic-layout-parts.d.ts +14 -0
- package/dist/blocks/layout/semantic-layout-parts.d.ts.map +1 -0
- package/dist/blocks/layout/semantic-layout-parts.js +9 -0
- package/dist/blocks/layout/semantic-layout-parts.js.map +1 -0
- package/dist/blocks/layout/sidebar-layout.d.ts +4 -0
- package/dist/blocks/layout/sidebar-layout.d.ts.map +1 -0
- package/dist/blocks/layout/sidebar-layout.js +30 -0
- package/dist/blocks/layout/sidebar-layout.js.map +1 -0
- package/dist/blocks/layout/split.d.ts +4 -0
- package/dist/blocks/layout/split.d.ts.map +1 -0
- package/dist/blocks/layout/split.js +23 -0
- package/dist/blocks/layout/split.js.map +1 -0
- package/dist/blocks/layout/stack.d.ts +4 -0
- package/dist/blocks/layout/stack.d.ts.map +1 -0
- package/dist/blocks/layout/stack.js +36 -0
- package/dist/blocks/layout/stack.js.map +1 -0
- package/dist/blocks/product/calendar-dates.d.ts +59 -0
- package/dist/blocks/product/calendar-dates.d.ts.map +1 -0
- package/dist/blocks/product/calendar-dates.js +100 -0
- package/dist/blocks/product/calendar-dates.js.map +1 -0
- package/dist/blocks/product/calendar.d.ts +12 -0
- package/dist/blocks/product/calendar.d.ts.map +1 -0
- package/dist/blocks/product/calendar.js +125 -0
- package/dist/blocks/product/calendar.js.map +1 -0
- package/dist/blocks/product/feature-matrix.d.ts +4 -0
- package/dist/blocks/product/feature-matrix.d.ts.map +1 -0
- package/dist/blocks/product/feature-matrix.js +72 -0
- package/dist/blocks/product/feature-matrix.js.map +1 -0
- package/dist/blocks/product/gallery.d.ts +14 -0
- package/dist/blocks/product/gallery.d.ts.map +1 -0
- package/dist/blocks/product/gallery.js +86 -0
- package/dist/blocks/product/gallery.js.map +1 -0
- package/dist/blocks/product/index.d.ts +4 -0
- package/dist/blocks/product/index.d.ts.map +1 -0
- package/dist/blocks/product/index.js +40 -0
- package/dist/blocks/product/index.js.map +1 -0
- package/dist/blocks/product/logo-cloud.d.ts +4 -0
- package/dist/blocks/product/logo-cloud.d.ts.map +1 -0
- package/dist/blocks/product/logo-cloud.js +42 -0
- package/dist/blocks/product/logo-cloud.js.map +1 -0
- package/dist/blocks/product/people.d.ts +4 -0
- package/dist/blocks/product/people.d.ts.map +1 -0
- package/dist/blocks/product/people.js +53 -0
- package/dist/blocks/product/people.js.map +1 -0
- package/dist/blocks/product/pricing.d.ts +4 -0
- package/dist/blocks/product/pricing.d.ts.map +1 -0
- package/dist/blocks/product/pricing.js +86 -0
- package/dist/blocks/product/pricing.js.map +1 -0
- package/dist/blocks/product/product-helpers.d.ts +22 -0
- package/dist/blocks/product/product-helpers.d.ts.map +1 -0
- package/dist/blocks/product/product-helpers.js +48 -0
- package/dist/blocks/product/product-helpers.js.map +1 -0
- package/dist/blocks/product/product-runtime.d.ts +15 -0
- package/dist/blocks/product/product-runtime.d.ts.map +1 -0
- package/dist/blocks/product/product-runtime.js +97 -0
- package/dist/blocks/product/product-runtime.js.map +1 -0
- package/dist/blocks/product/product-styles.d.ts +14 -0
- package/dist/blocks/product/product-styles.d.ts.map +1 -0
- package/dist/blocks/product/product-styles.js +120 -0
- package/dist/blocks/product/product-styles.js.map +1 -0
- package/dist/blocks/product/testimonial.d.ts +8 -0
- package/dist/blocks/product/testimonial.d.ts.map +1 -0
- package/dist/blocks/product/testimonial.js +67 -0
- package/dist/blocks/product/testimonial.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +193 -39
- package/dist/cli.js.map +1 -1
- package/dist/data/data-json-schema.d.ts +9 -0
- package/dist/data/data-json-schema.d.ts.map +1 -0
- package/dist/data/data-json-schema.js +48 -0
- package/dist/data/data-json-schema.js.map +1 -0
- package/dist/data/dataset-types.d.ts +47 -0
- package/dist/data/dataset-types.d.ts.map +1 -0
- package/dist/data/dataset-types.js +49 -0
- package/dist/data/dataset-types.js.map +1 -0
- package/dist/data/format-value.d.ts +39 -0
- package/dist/data/format-value.d.ts.map +1 -0
- package/dist/data/format-value.js +214 -0
- package/dist/data/format-value.js.map +1 -0
- package/dist/data/resolve-block-data.d.ts +24 -0
- package/dist/data/resolve-block-data.d.ts.map +1 -0
- package/dist/data/resolve-block-data.js +190 -0
- package/dist/data/resolve-block-data.js.map +1 -0
- package/dist/data/transform-pipeline.d.ts +65 -0
- package/dist/data/transform-pipeline.d.ts.map +1 -0
- package/dist/data/transform-pipeline.js +234 -0
- package/dist/data/transform-pipeline.js.map +1 -0
- package/dist/data/validate-datasets.d.ts +22 -0
- package/dist/data/validate-datasets.d.ts.map +1 -0
- package/dist/data/validate-datasets.js +137 -0
- package/dist/data/validate-datasets.js.map +1 -0
- package/dist/diagram/adapter-markup-fit.d.ts +44 -0
- package/dist/diagram/adapter-markup-fit.d.ts.map +1 -0
- package/dist/diagram/adapter-markup-fit.js +292 -0
- package/dist/diagram/adapter-markup-fit.js.map +1 -0
- package/dist/diagram/adapter-stylesheet-filter.d.ts +56 -0
- package/dist/diagram/adapter-stylesheet-filter.d.ts.map +1 -0
- package/dist/diagram/adapter-stylesheet-filter.js +245 -0
- package/dist/diagram/adapter-stylesheet-filter.js.map +1 -0
- package/dist/diagram/adapter.d.ts +17 -0
- package/dist/diagram/adapter.d.ts.map +1 -1
- package/dist/diagram/adapter.js +43 -2
- package/dist/diagram/adapter.js.map +1 -1
- package/dist/index.d.ts +14 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/ir.d.ts +18 -0
- package/dist/ir.d.ts.map +1 -1
- package/dist/ir.js.map +1 -1
- package/dist/mcp/mcp-http-transport.d.ts +68 -0
- package/dist/mcp/mcp-http-transport.d.ts.map +1 -0
- package/dist/mcp/mcp-http-transport.js +140 -0
- package/dist/mcp/mcp-http-transport.js.map +1 -0
- package/dist/mcp/mcp-json-rpc-dispatch.d.ts +38 -0
- package/dist/mcp/mcp-json-rpc-dispatch.d.ts.map +1 -0
- package/dist/mcp/mcp-json-rpc-dispatch.js +98 -0
- package/dist/mcp/mcp-json-rpc-dispatch.js.map +1 -0
- package/dist/mcp/mcp-local-tools.d.ts +20 -0
- package/dist/mcp/mcp-local-tools.d.ts.map +1 -0
- package/dist/mcp/mcp-local-tools.js +58 -0
- package/dist/mcp/mcp-local-tools.js.map +1 -0
- package/dist/mcp/mcp-protocol.d.ts +79 -0
- package/dist/mcp/mcp-protocol.d.ts.map +1 -0
- package/dist/mcp/mcp-protocol.js +83 -0
- package/dist/mcp/mcp-protocol.js.map +1 -0
- package/dist/mcp/mcp-stdio-transport.d.ts +28 -0
- package/dist/mcp/mcp-stdio-transport.d.ts.map +1 -0
- package/dist/mcp/mcp-stdio-transport.js +73 -0
- package/dist/mcp/mcp-stdio-transport.js.map +1 -0
- package/dist/mcp/mcp-tool-definitions.d.ts +66 -0
- package/dist/mcp/mcp-tool-definitions.d.ts.map +1 -0
- package/dist/mcp/mcp-tool-definitions.js +246 -0
- package/dist/mcp/mcp-tool-definitions.js.map +1 -0
- package/dist/mcp-server.d.ts +10 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +9 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/recipes/index.d.ts +27 -0
- package/dist/recipes/index.d.ts.map +1 -0
- package/dist/recipes/index.js +30 -0
- package/dist/recipes/index.js.map +1 -0
- package/dist/recipes/recipes.generated.d.ts +8 -0
- package/dist/recipes/recipes.generated.d.ts.map +1 -0
- package/dist/recipes/recipes.generated.js +704 -0
- package/dist/recipes/recipes.generated.js.map +1 -0
- package/dist/registry/actions.d.ts +2 -0
- package/dist/registry/actions.d.ts.map +1 -1
- package/dist/registry/actions.js +3 -1
- package/dist/registry/actions.js.map +1 -1
- package/dist/registry/block-module.d.ts +65 -0
- package/dist/registry/block-module.d.ts.map +1 -0
- package/dist/registry/block-module.js +19 -0
- package/dist/registry/block-module.js.map +1 -0
- package/dist/registry/catalog-search.d.ts +32 -0
- package/dist/registry/catalog-search.d.ts.map +1 -0
- package/dist/registry/catalog-search.js +122 -0
- package/dist/registry/catalog-search.js.map +1 -0
- package/dist/registry/define-helpers.d.ts +89 -0
- package/dist/registry/define-helpers.d.ts.map +1 -0
- package/dist/registry/define-helpers.js +87 -0
- package/dist/registry/define-helpers.js.map +1 -0
- package/dist/registry/describe-many.d.ts +58 -0
- package/dist/registry/describe-many.d.ts.map +1 -0
- package/dist/registry/describe-many.js +156 -0
- package/dist/registry/describe-many.js.map +1 -0
- package/dist/registry/prop-schema.d.ts +32 -1
- package/dist/registry/prop-schema.d.ts.map +1 -1
- package/dist/registry/prop-schema.js +108 -2
- package/dist/registry/prop-schema.js.map +1 -1
- package/dist/registry/registry-builder.d.ts +17 -0
- package/dist/registry/registry-builder.d.ts.map +1 -0
- package/dist/registry/registry-builder.js +158 -0
- package/dist/registry/registry-builder.js.map +1 -0
- package/dist/registry/registry.d.ts +32 -5
- package/dist/registry/registry.d.ts.map +1 -1
- package/dist/registry/registry.js +67 -14
- package/dist/registry/registry.js.map +1 -1
- package/dist/registry/roster.d.ts +34 -5
- package/dist/registry/roster.d.ts.map +1 -1
- package/dist/registry/roster.js +360 -184
- package/dist/registry/roster.js.map +1 -1
- package/dist/render/block-helpers.d.ts +45 -0
- package/dist/render/block-helpers.d.ts.map +1 -0
- package/dist/render/block-helpers.js +83 -0
- package/dist/render/block-helpers.js.map +1 -0
- package/dist/render/blocks.d.ts +10 -35
- package/dist/render/blocks.d.ts.map +1 -1
- package/dist/render/blocks.js +144 -263
- package/dist/render/blocks.js.map +1 -1
- package/dist/render/chart-figure-encoded.d.ts +11 -0
- package/dist/render/chart-figure-encoded.d.ts.map +1 -0
- package/dist/render/chart-figure-encoded.js +81 -0
- package/dist/render/chart-figure-encoded.js.map +1 -0
- package/dist/render/chart-kinds-cartesian.d.ts +14 -0
- package/dist/render/chart-kinds-cartesian.d.ts.map +1 -0
- package/dist/render/chart-kinds-cartesian.js +122 -0
- package/dist/render/chart-kinds-cartesian.js.map +1 -0
- package/dist/render/chart-kinds-composite.d.ts +16 -0
- package/dist/render/chart-kinds-composite.d.ts.map +1 -0
- package/dist/render/chart-kinds-composite.js +144 -0
- package/dist/render/chart-kinds-composite.js.map +1 -0
- package/dist/render/chart-kinds-gauge-treemap.d.ts +8 -0
- package/dist/render/chart-kinds-gauge-treemap.d.ts.map +1 -0
- package/dist/render/chart-kinds-gauge-treemap.js +101 -0
- package/dist/render/chart-kinds-gauge-treemap.js.map +1 -0
- package/dist/render/chart-kinds-histogram-waterfall.d.ts +17 -0
- package/dist/render/chart-kinds-histogram-waterfall.d.ts.map +1 -0
- package/dist/render/chart-kinds-histogram-waterfall.js +172 -0
- package/dist/render/chart-kinds-histogram-waterfall.js.map +1 -0
- package/dist/render/chart-overlays.d.ts +18 -0
- package/dist/render/chart-overlays.d.ts.map +1 -0
- package/dist/render/chart-overlays.js +58 -0
- package/dist/render/chart-overlays.js.map +1 -0
- package/dist/render/chart-scales.d.ts +83 -0
- package/dist/render/chart-scales.d.ts.map +1 -0
- package/dist/render/chart-scales.js +166 -0
- package/dist/render/chart-scales.js.map +1 -0
- package/dist/render/chart-svg-parts.d.ts +50 -0
- package/dist/render/chart-svg-parts.d.ts.map +1 -0
- package/dist/render/chart-svg-parts.js +125 -0
- package/dist/render/chart-svg-parts.js.map +1 -0
- package/dist/render/chart-text.d.ts +18 -0
- package/dist/render/chart-text.d.ts.map +1 -0
- package/dist/render/chart-text.js +69 -0
- package/dist/render/chart-text.js.map +1 -0
- package/dist/render/chart-treemap-layout.d.ts +17 -0
- package/dist/render/chart-treemap-layout.d.ts.map +1 -0
- package/dist/render/chart-treemap-layout.js +74 -0
- package/dist/render/chart-treemap-layout.js.map +1 -0
- package/dist/render/chart-types.d.ts +107 -0
- package/dist/render/chart-types.d.ts.map +1 -0
- package/dist/render/chart-types.js +11 -0
- package/dist/render/chart-types.js.map +1 -0
- package/dist/render/charts.d.ts +33 -11
- package/dist/render/charts.d.ts.map +1 -1
- package/dist/render/charts.js +145 -109
- package/dist/render/charts.js.map +1 -1
- package/dist/render/derived-variables.d.ts +37 -0
- package/dist/render/derived-variables.d.ts.map +1 -0
- package/dist/render/derived-variables.js +40 -0
- package/dist/render/derived-variables.js.map +1 -0
- package/dist/render/diagram-fallback.d.ts +25 -0
- package/dist/render/diagram-fallback.d.ts.map +1 -0
- package/dist/render/diagram-fallback.js +86 -0
- package/dist/render/diagram-fallback.js.map +1 -0
- package/dist/render/document.d.ts +15 -0
- package/dist/render/document.d.ts.map +1 -1
- package/dist/render/document.js +53 -8
- package/dist/render/document.js.map +1 -1
- package/dist/render/effects-styles.d.ts +14 -0
- package/dist/render/effects-styles.d.ts.map +1 -0
- package/dist/render/effects-styles.js +39 -0
- package/dist/render/effects-styles.js.map +1 -0
- package/dist/render/embedded-fonts.generated.d.ts +22 -0
- package/dist/render/embedded-fonts.generated.d.ts.map +1 -0
- package/dist/render/embedded-fonts.generated.js +59 -0
- package/dist/render/embedded-fonts.generated.js.map +1 -0
- package/dist/render/escape.d.ts +10 -0
- package/dist/render/escape.d.ts.map +1 -1
- package/dist/render/escape.js +28 -0
- package/dist/render/escape.js.map +1 -1
- package/dist/render/feature-styles.d.ts +14 -0
- package/dist/render/feature-styles.d.ts.map +1 -0
- package/dist/render/feature-styles.js +123 -0
- package/dist/render/feature-styles.js.map +1 -0
- package/dist/render/font-faces.d.ts +22 -0
- package/dist/render/font-faces.d.ts.map +1 -0
- package/dist/render/font-faces.js +60 -0
- package/dist/render/font-faces.js.map +1 -0
- package/dist/render/outline.d.ts +21 -0
- package/dist/render/outline.d.ts.map +1 -0
- package/dist/render/outline.js +47 -0
- package/dist/render/outline.js.map +1 -0
- package/dist/render/recipe-styles.d.ts +26 -0
- package/dist/render/recipe-styles.d.ts.map +1 -0
- package/dist/render/recipe-styles.js +218 -0
- package/dist/render/recipe-styles.js.map +1 -0
- package/dist/render/render-context.d.ts +40 -0
- package/dist/render/render-context.d.ts.map +1 -0
- package/dist/render/render-context.js +16 -0
- package/dist/render/render-context.js.map +1 -0
- package/dist/render/render.d.ts +7 -0
- package/dist/render/render.d.ts.map +1 -1
- package/dist/render/render.js +108 -41
- package/dist/render/render.js.map +1 -1
- package/dist/render/runtime.d.ts +4 -1
- package/dist/render/runtime.d.ts.map +1 -1
- package/dist/render/runtime.js +275 -128
- package/dist/render/runtime.js.map +1 -1
- package/dist/render/showcase-blocks.d.ts +52 -0
- package/dist/render/showcase-blocks.d.ts.map +1 -0
- package/dist/render/showcase-blocks.js +329 -0
- package/dist/render/showcase-blocks.js.map +1 -0
- package/dist/render/showcase-styles.d.ts +15 -0
- package/dist/render/showcase-styles.d.ts.map +1 -0
- package/dist/render/showcase-styles.js +201 -0
- package/dist/render/showcase-styles.js.map +1 -0
- package/dist/render/signature-styles.d.ts +18 -0
- package/dist/render/signature-styles.d.ts.map +1 -0
- package/dist/render/signature-styles.js +41 -0
- package/dist/render/signature-styles.js.map +1 -0
- package/dist/render/style-units.d.ts +17 -0
- package/dist/render/style-units.d.ts.map +1 -0
- package/dist/render/style-units.js +24 -0
- package/dist/render/style-units.js.map +1 -0
- package/dist/render/styles.d.ts +18 -9
- package/dist/render/styles.d.ts.map +1 -1
- package/dist/render/styles.js +228 -129
- package/dist/render/styles.js.map +1 -1
- package/dist/render/surface-styles.d.ts +24 -0
- package/dist/render/surface-styles.d.ts.map +1 -0
- package/dist/render/surface-styles.js +41 -0
- package/dist/render/surface-styles.js.map +1 -0
- package/dist/render/tone.d.ts +14 -0
- package/dist/render/tone.d.ts.map +1 -0
- package/dist/render/tone.js +40 -0
- package/dist/render/tone.js.map +1 -0
- package/dist/render/verify.d.ts +3 -0
- package/dist/render/verify.d.ts.map +1 -1
- package/dist/render/verify.js +45 -2
- package/dist/render/verify.js.map +1 -1
- package/dist/spec/asset-references.d.ts +35 -0
- package/dist/spec/asset-references.d.ts.map +1 -0
- package/dist/spec/asset-references.js +93 -0
- package/dist/spec/asset-references.js.map +1 -0
- package/dist/spec/bounds.d.ts +6 -0
- package/dist/spec/bounds.d.ts.map +1 -1
- package/dist/spec/bounds.js +7 -0
- package/dist/spec/bounds.js.map +1 -1
- package/dist/spec/conditions.d.ts +43 -0
- package/dist/spec/conditions.d.ts.map +1 -0
- package/dist/spec/conditions.js +179 -0
- package/dist/spec/conditions.js.map +1 -0
- package/dist/spec/network-policy.d.ts +33 -0
- package/dist/spec/network-policy.d.ts.map +1 -0
- package/dist/spec/network-policy.js +57 -0
- package/dist/spec/network-policy.js.map +1 -0
- package/dist/spec/normalize.d.ts +7 -2
- package/dist/spec/normalize.d.ts.map +1 -1
- package/dist/spec/normalize.js +219 -41
- package/dist/spec/normalize.js.map +1 -1
- package/dist/theme/dialect-presets.d.ts +12 -0
- package/dist/theme/dialect-presets.d.ts.map +1 -0
- package/dist/theme/dialect-presets.js +214 -0
- package/dist/theme/dialect-presets.js.map +1 -0
- package/dist/theme/load-theme.d.ts +11 -3
- package/dist/theme/load-theme.d.ts.map +1 -1
- package/dist/theme/load-theme.js +71 -12
- package/dist/theme/load-theme.js.map +1 -1
- package/dist/theme/preset-builder.d.ts +36 -0
- package/dist/theme/preset-builder.d.ts.map +1 -0
- package/dist/theme/preset-builder.js +51 -0
- package/dist/theme/preset-builder.js.map +1 -0
- package/dist/theme/presets.d.ts +8 -10
- package/dist/theme/presets.d.ts.map +1 -1
- package/dist/theme/presets.js +40 -56
- package/dist/theme/presets.js.map +1 -1
- package/dist/theme/recipes.d.ts +38 -0
- package/dist/theme/recipes.d.ts.map +1 -0
- package/dist/theme/recipes.js +96 -0
- package/dist/theme/recipes.js.map +1 -0
- package/dist/theme/theme-catalog.d.ts.map +1 -1
- package/dist/theme/theme-catalog.js +16 -0
- package/dist/theme/theme-catalog.js.map +1 -1
- package/dist/theme/tokens.d.ts.map +1 -1
- package/dist/theme/tokens.js +4 -4
- package/dist/theme/tokens.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/llms.txt +29 -0
- package/package.json +13 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedded-fonts.generated.js","sourceRoot":"","sources":["../../src/render/embedded-fonts.generated.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,MAAM,CAAC,MAAM,WAAW,GAAG,0JAA0J,CAAC;AACtL,MAAM,CAAC,MAAM,gBAAgB,GAAG,8IAA8I,CAAC;AAE/K,MAAM,CAAC,MAAM,cAAc,GAA4B;IACrD;QACE,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,iFAAiF;QAC5F,KAAK,EAAE,kysCAAkysC;QACzysC,UAAU,EAAE,k7UAAk7U;KAC/7U;IACD;QACE,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,iFAAiF;QAC5F,KAAK,EAAE,8r/CAA8r/C;QACrs/C,UAAU,EAAE,0keAA0ke;KACvle;IACD;QACE,MAAM,EAAE,wBAAwB;QAChC,IAAI,EAAE,qBAAqB;QAC3B,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,oGAAoG;QAC/G,KAAK,EAAE,01rDAA01rD;QACj2rD,UAAU,EAAE,0tWAA0tW;KACvuW;IACD;QACE,MAAM,EAAE,mBAAmB;QAC3B,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,gGAAgG;QAC3G,KAAK,EAAE,knpDAAknpD;QACznpD,UAAU,EAAE,0xTAA0xT;KACvyT;IACD;QACE,MAAM,EAAE,gBAAgB;QACxB,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,gFAAgF;QAC3F,KAAK,EAAE,070DAA070D;QACj80D,UAAU,EAAE,0pbAA0pb;KACvqb;IACD;QACE,MAAM,EAAE,sBAAsB;QAC9B,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,oGAAoG;QAC/G,KAAK,EAAE,knnCAAknnC;QACznnC,UAAU,EAAE,k4VAAk4V;KAC/4V;CACF,CAAC"}
|
package/dist/render/escape.d.ts
CHANGED
|
@@ -8,6 +8,16 @@
|
|
|
8
8
|
*/
|
|
9
9
|
/** Escape text content for an element body. */
|
|
10
10
|
export declare function escapeText(value: string): string;
|
|
11
|
+
/**
|
|
12
|
+
* Escape prose text and render each backtick pair as inline `<code>`.
|
|
13
|
+
*
|
|
14
|
+
* This is the only markup prose text can produce: no other Markdown is
|
|
15
|
+
* recognized. Every segment, inside or outside a code span, goes through
|
|
16
|
+
* `escapeText` before it is wrapped, so a span such as `` `<script>` `` stays
|
|
17
|
+
* inert text. Pairing runs left to right; an unpaired backtick, an empty pair,
|
|
18
|
+
* or a pair holding only whitespace stays literal.
|
|
19
|
+
*/
|
|
20
|
+
export declare function escapeInlineText(value: string): string;
|
|
11
21
|
/** Escape a value for a double-quoted attribute. */
|
|
12
22
|
export declare function escapeAttribute(value: string): string;
|
|
13
23
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"escape.d.ts","sourceRoot":"","sources":["../../src/render/escape.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAsBH,+CAA+C;AAC/C,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMhD;AAED,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMrD;AAMD;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM/C;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAO7D;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEhE;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;CAC9D;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,cAAc,GAAG,MAAM,CAkBnE"}
|
|
1
|
+
{"version":3,"file":"escape.d.ts","sourceRoot":"","sources":["../../src/render/escape.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAsBH,+CAA+C;AAC/C,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMhD;AASD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAWtD;AAED,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMrD;AAMD;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM/C;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAO7D;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEhE;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;CAC9D;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,cAAc,GAAG,MAAM,CAkBnE"}
|
package/dist/render/escape.js
CHANGED
|
@@ -32,6 +32,34 @@ export function escapeText(value) {
|
|
|
32
32
|
}
|
|
33
33
|
return output;
|
|
34
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* A backtick pair on one line, with at least one character between. The class
|
|
37
|
+
* excludes the backtick itself, so each match scans only to the next backtick
|
|
38
|
+
* and matching stays linear in the input length.
|
|
39
|
+
*/
|
|
40
|
+
const INLINE_CODE = /`([^`\r\n]+)`/gu;
|
|
41
|
+
/**
|
|
42
|
+
* Escape prose text and render each backtick pair as inline `<code>`.
|
|
43
|
+
*
|
|
44
|
+
* This is the only markup prose text can produce: no other Markdown is
|
|
45
|
+
* recognized. Every segment, inside or outside a code span, goes through
|
|
46
|
+
* `escapeText` before it is wrapped, so a span such as `` `<script>` `` stays
|
|
47
|
+
* inert text. Pairing runs left to right; an unpaired backtick, an empty pair,
|
|
48
|
+
* or a pair holding only whitespace stays literal.
|
|
49
|
+
*/
|
|
50
|
+
export function escapeInlineText(value) {
|
|
51
|
+
let output = '';
|
|
52
|
+
let last = 0;
|
|
53
|
+
for (const match of value.matchAll(INLINE_CODE)) {
|
|
54
|
+
const content = match[1] ?? '';
|
|
55
|
+
if (content.trim() === '')
|
|
56
|
+
continue;
|
|
57
|
+
output += escapeText(value.slice(last, match.index));
|
|
58
|
+
output += `<code>${escapeText(content)}</code>`;
|
|
59
|
+
last = match.index + match[0].length;
|
|
60
|
+
}
|
|
61
|
+
return output + escapeText(value.slice(last));
|
|
62
|
+
}
|
|
35
63
|
/** Escape a value for a double-quoted attribute. */
|
|
36
64
|
export function escapeAttribute(value) {
|
|
37
65
|
let output = value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"escape.js","sourceRoot":"","sources":["../../src/render/escape.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"escape.js","sourceRoot":"","sources":["../../src/render/escape.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-feature stylesheets.
|
|
3
|
+
*
|
|
4
|
+
* The compiler emits a sheet here only when the page uses that feature, and
|
|
5
|
+
* `verify.ts` checks the marker selector in both directions, so selectors for a
|
|
6
|
+
* feature must stay in its own entry and never move into `BASE_CSS`.
|
|
7
|
+
*
|
|
8
|
+
* Shared vocabulary from the base sheet: `--ak-transition` for every state
|
|
9
|
+
* change, `--ak-fill` for surface backgrounds (a top-lit sheen in dark mode),
|
|
10
|
+
* `--ak-tint` for hover washes and `--ak-ring` for focus halos on inputs.
|
|
11
|
+
*/
|
|
12
|
+
import type { RuntimeFeature } from '../registry/roster.js';
|
|
13
|
+
export declare const FEATURE_CSS: Readonly<Partial<Record<RuntimeFeature, string>>>;
|
|
14
|
+
//# sourceMappingURL=feature-styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feature-styles.d.ts","sourceRoot":"","sources":["../../src/render/feature-styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAmB5D,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAuGzE,CAAC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-feature stylesheets.
|
|
3
|
+
*
|
|
4
|
+
* The compiler emits a sheet here only when the page uses that feature, and
|
|
5
|
+
* `verify.ts` checks the marker selector in both directions, so selectors for a
|
|
6
|
+
* feature must stay in its own entry and never move into `BASE_CSS`.
|
|
7
|
+
*
|
|
8
|
+
* Shared vocabulary from the base sheet: `--ak-transition` for every state
|
|
9
|
+
* change, `--ak-fill` for surface backgrounds (a top-lit sheen in dark mode),
|
|
10
|
+
* `--ak-tint` for hover washes and `--ak-ring` for focus halos on inputs.
|
|
11
|
+
*/
|
|
12
|
+
import { CHART_CSS } from '../blocks/chart/chart-styles.js';
|
|
13
|
+
import { ACCORDION_CSS, CAROUSEL_CSS, TABS_CSS } from '../blocks/composition/composition-styles.js';
|
|
14
|
+
import { scrollEdges } from './derived-variables.js';
|
|
15
|
+
import { SHOWCASE_CSS } from './showcase-styles.js';
|
|
16
|
+
import { disclosureSummary, TRANSITION } from './style-units.js';
|
|
17
|
+
/**
|
|
18
|
+
* Selectors for a block that follows a visible block across `visibleWhen`
|
|
19
|
+
* wrappers: a block inside a wrapper with a visible block or wrapper before it,
|
|
20
|
+
* and a block after a visible wrapper (or after a hidden one that itself
|
|
21
|
+
* follows a block). `scope` prefixes the parent, as in `.ak-section > `.
|
|
22
|
+
*/
|
|
23
|
+
function whenGapTargets(target, scope = '') {
|
|
24
|
+
const before = ':where(.ak-block,.ak-when:not([hidden]))';
|
|
25
|
+
const wrapperBefore = ':where(.ak-when:not([hidden]),.ak-block ~ .ak-when)';
|
|
26
|
+
return [`${scope}${before} ~ .ak-when > ${target}`, `${scope}${wrapperBefore} ~ ${target}`].join(',');
|
|
27
|
+
}
|
|
28
|
+
export const FEATURE_CSS = {
|
|
29
|
+
...SHOWCASE_CSS,
|
|
30
|
+
tabs: TABS_CSS,
|
|
31
|
+
accordion: ACCORDION_CSS,
|
|
32
|
+
carousel: CAROUSEL_CSS,
|
|
33
|
+
slider: `.ak-slider{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.6em var(--ak-space-unit);max-width:440px}
|
|
34
|
+
.ak-slider label{font-weight:550}
|
|
35
|
+
.ak-slider input[type="range"]{grid-column:1 / -1;width:100%;margin:0;accent-color:var(--ak-color-accent);min-height:28px;cursor:pointer}
|
|
36
|
+
.ak-slider output{grid-row:1;grid-column:2;min-width:2.5em;padding:.15em .6em;text-align:center;border-radius:999px;background:var(--ak-tint);border:var(--ak-border-width) solid color-mix(in srgb,var(--ak-color-accent) 25%,var(--ak-color-border));font-family:var(--ak-font-mono);font-size:.8rem;color:var(--ak-color-accent);font-variant-numeric:tabular-nums}
|
|
37
|
+
@media (max-width:768px){.ak-slider input[type="range"]{min-height:44px}}`,
|
|
38
|
+
dialog: `dialog.ak-dialog{width:min(560px,calc(100vw - 32px));max-width:none;border:var(--ak-border-width) solid var(--ak-color-border);border-radius:var(--ak-radius-large);background:var(--ak-fill);color:var(--ak-color-text);padding:calc(var(--ak-space-unit) * 3.5);box-shadow:var(--ak-elevation-popover)}
|
|
39
|
+
dialog.ak-dialog::backdrop{background:color-mix(in srgb,var(--ak-color-background) 62%,transparent);backdrop-filter:blur(8px) saturate(.9)}
|
|
40
|
+
dialog.ak-dialog[open]{animation:ak-rise calc(var(--ak-motion-duration) * 1.5) var(--ak-motion-easing)}
|
|
41
|
+
@keyframes ak-rise{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
|
|
42
|
+
.ak-dialog-title{margin-bottom:var(--ak-space-unit)}
|
|
43
|
+
.ak-dialog-title h2{font-size:calc(var(--ak-font-size-base) * 1.4);font-size:calc(var(--ak-font-size-base) * pow(var(--ak-font-scale),1.5))}
|
|
44
|
+
dialog.ak-dialog > p{color:var(--ak-color-text-muted)}
|
|
45
|
+
.ak-dialog-actions{display:flex;flex-wrap:wrap;gap:var(--ak-space-unit);justify-content:flex-end;margin:calc(var(--ak-space-unit) * 3) calc(var(--ak-space-unit) * -3.5) calc(var(--ak-space-unit) * -3.5);padding:calc(var(--ak-space-unit) * 2) calc(var(--ak-space-unit) * 3.5);border-top:var(--ak-border-width) solid var(--ak-color-border);background:color-mix(in srgb,var(--ak-color-text) 3%,transparent);border-radius:0 0 var(--ak-radius-large) var(--ak-radius-large)}`,
|
|
46
|
+
chart: CHART_CSS,
|
|
47
|
+
filter: `.ak-search{display:flex;flex-direction:column;gap:.5em;max-width:420px}
|
|
48
|
+
.ak-search label{font-weight:550}
|
|
49
|
+
.ak-search input{font:inherit;min-height:44px;padding:.55em .95em;border:var(--ak-border-width) solid var(--ak-color-border);border-radius:var(--ak-radius-medium);background:var(--ak-color-surface);color:var(--ak-color-text);box-shadow:inset 0 1px 2px color-mix(in srgb,var(--ak-color-text) 6%,transparent);${TRANSITION}}
|
|
50
|
+
.ak-search input::placeholder{color:var(--ak-color-text-muted);opacity:.85}
|
|
51
|
+
.ak-search input:hover{border-color:color-mix(in srgb,var(--ak-color-text) 30%,var(--ak-color-border))}
|
|
52
|
+
.ak-search input:focus-visible{outline:0;border-color:var(--ak-color-accent);box-shadow:var(--ak-ring)}`,
|
|
53
|
+
theme: `.ak-theme-toggle{min-height:34px;padding:.35em .9em;font-family:var(--ak-font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ak-color-text-muted);border-radius:999px;background:var(--ak-color-surface)}
|
|
54
|
+
.ak-theme-toggle::before{content:"";width:.75em;height:.75em;border-radius:50%;background:linear-gradient(90deg,currentColor 50%,transparent 50%);box-shadow:inset 0 0 0 1.5px currentColor;${TRANSITION}}
|
|
55
|
+
.ak-theme-toggle:hover{color:var(--ak-color-text)}
|
|
56
|
+
.ak-theme-toggle[aria-pressed="true"]::before{transform:rotate(180deg)}
|
|
57
|
+
@keyframes ak-reveal{from{clip-path:circle(0 at var(--ak-vt-x,100%) var(--ak-vt-y,0))}to{clip-path:circle(150vmax at var(--ak-vt-x,100%) var(--ak-vt-y,0))}}
|
|
58
|
+
@media (prefers-reduced-motion:no-preference){::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-new(root){animation:ak-reveal .75s cubic-bezier(.16,1,.3,1)}}
|
|
59
|
+
@media (max-width:768px){.ak-theme-toggle{min-height:44px}}`,
|
|
60
|
+
media: `.ak-media-fallback{display:flex;flex-direction:column;align-items:flex-start;gap:.5em;background:var(--ak-fill);border:var(--ak-border-width) solid var(--ak-color-border);border-radius:var(--ak-radius-medium);padding:calc(var(--ak-space-unit) * 2.5)}
|
|
61
|
+
.ak-media-fallback p{margin:0}
|
|
62
|
+
.ak-media-fallback img{width:100%;max-width:100%;border-radius:var(--ak-radius-small);margin-bottom:calc(var(--ak-space-unit) * 1)}
|
|
63
|
+
.ak-media-fallback > p:first-of-type:has(strong){font-family:var(--ak-font-heading);font-size:calc(var(--ak-font-size-base) * 1.1)}
|
|
64
|
+
.ak-media-fallback .ak-caption{display:inline-flex;align-items:center;gap:.5em;font-family:var(--ak-font-mono);font-size:.72rem;letter-spacing:.04em}
|
|
65
|
+
.ak-media-fallback .ak-caption::before{content:"";width:.5em;height:.5em;border-radius:50%;background:var(--ak-color-warning)}
|
|
66
|
+
.ak-media-fallback > a{display:inline-flex;align-items:center;gap:.35em;margin-top:.35em;font-weight:550}
|
|
67
|
+
.ak-media-fallback > a::after{content:"\\2197";text-decoration:none}`,
|
|
68
|
+
outline: `.ak-toc{display:none;font-size:.84rem}
|
|
69
|
+
.ak-toc-title{margin:0 0 .9em;font-family:var(--ak-font-mono);font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ak-color-text-muted)}
|
|
70
|
+
.ak-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-left:var(--ak-border-width) solid var(--ak-color-border)}
|
|
71
|
+
.ak-toc a{display:block;margin-left:calc(var(--ak-border-width) * -1);padding:.42em 0 .42em 1.1em;border-left:2px solid transparent;color:var(--ak-color-text-muted);text-decoration:none;line-height:1.4;${TRANSITION}}
|
|
72
|
+
.ak-toc a:hover{color:var(--ak-color-text);border-left-color:color-mix(in srgb,var(--ak-color-text) 30%,transparent)}
|
|
73
|
+
.ak-toc a[aria-current]{color:var(--ak-color-accent);border-left-color:var(--ak-color-accent);font-weight:600}
|
|
74
|
+
@media (min-width:1280px){.ak-shell--outline{max-width:1400px;display:grid;grid-template-columns:minmax(0,1fr) 216px;column-gap:calc(var(--ak-space-unit) * 8);align-items:start}.ak-shell--outline > *{grid-column:1}.ak-shell--outline > .ak-toc{display:block;grid-column:2;grid-row:1 / span 2;position:sticky;top:calc(var(--ak-space-unit) * 4);max-height:calc(100vh - var(--ak-space-unit) * 8);overflow-y:auto;padding-top:calc(var(--ak-space-unit) * 1)}}
|
|
75
|
+
@media print{.ak-toc{display:none!important}}`,
|
|
76
|
+
// A `visibleWhen` wrapper adds no box of its own; `hidden` must win over any
|
|
77
|
+
// display a block sets, and the compiler already emitted the initial view.
|
|
78
|
+
// Because the wrapper is not a block, the base `.ak-block + .ak-block` gap
|
|
79
|
+
// skips it: these rules restore the gap (and the section-break gaps) for a
|
|
80
|
+
// block inside a wrapper and for a block after one, whenever a visible block
|
|
81
|
+
// comes earlier. They stay at low specificity, so the base resets of flex and
|
|
82
|
+
// grid containers keep winning.
|
|
83
|
+
state: `.ak-when{display:contents}
|
|
84
|
+
.ak-when[hidden]{display:none!important}
|
|
85
|
+
${whenGapTargets('.ak-block')}{margin-top:var(--ak-gap)}
|
|
86
|
+
${whenGapTargets('.ak-block:has(> .ak-section-head)', '.ak-section > ')}{margin-top:calc(var(--ak-gap) * 1.75)}
|
|
87
|
+
${whenGapTargets('.ak-block:is(.ak-section,:has(> .ak-section-head))', '.ak-main > ')}{margin-top:calc(var(--ak-gap) * 2.5)}
|
|
88
|
+
:where(.ak-stack,.ak-grid,.ak-split) > .ak-when > .ak-block{margin-top:0}`,
|
|
89
|
+
diagram: `.ak-diagram{min-width:0}
|
|
90
|
+
.ak-diagram-rendered{overflow-x:auto;overscroll-behavior-x:contain;contain:paint;padding:calc(var(--ak-space-unit) * 2);background:var(--ak-fill);border:var(--ak-border-width) solid var(--ak-color-border);border-radius:var(--ak-radius-medium);box-shadow:var(--ak-elevation-card)}
|
|
91
|
+
${scrollEdges('.ak-diagram-rendered')}
|
|
92
|
+
.ak-diagram-rendered svg{display:block;max-width:none;height:auto}
|
|
93
|
+
.ak-diagram-details{margin-top:calc(var(--ak-space-unit) * 1.5)}
|
|
94
|
+
${disclosureSummary('.ak-diagram-details')}
|
|
95
|
+
@media (max-width:768px){.ak-diagram-details summary{min-height:44px}}
|
|
96
|
+
@media print{.ak-diagram-rendered{overflow:visible;box-shadow:none}.ak-diagram-rendered svg{max-width:100%}.ak-diagram-details::details-content{content-visibility:visible;display:block}.ak-diagram-details summary::before{display:none}}
|
|
97
|
+
@media (prefers-reduced-motion:reduce),print{.ak-diagram-canvas,.ak-diagram-canvas *{animation:none!important;transition:none!important}}
|
|
98
|
+
[data-motion="none"] .ak-diagram-canvas,[data-motion="none"] .ak-diagram-canvas *{animation:none!important;transition:none!important}
|
|
99
|
+
.ak-diagram-fallback{display:flex;flex-direction:column;gap:var(--ak-space-unit);background:var(--ak-fill);border:var(--ak-border-width) solid var(--ak-color-border);border-radius:var(--ak-radius-medium);padding:calc(var(--ak-space-unit) * 3);box-shadow:var(--ak-elevation-card)}
|
|
100
|
+
.ak-diagram-fallback{gap:calc(var(--ak-space-unit) * 2)}
|
|
101
|
+
.ak-diagram-fallback > .ak-caption{font-size:.74rem;color:var(--ak-color-text-muted)}
|
|
102
|
+
.ak-diagram-title{margin:0;font-family:var(--ak-font-mono);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ak-color-text-muted)}
|
|
103
|
+
.ak-flow{list-style:none;margin:0;padding:calc(var(--ak-space-unit) * 1) 0;display:flex;align-items:center;overflow-x:auto}
|
|
104
|
+
.ak-flow > li{display:flex;align-items:center;flex:1 1 auto;min-width:0}
|
|
105
|
+
.ak-flow > li:last-child{flex:0 0 auto}
|
|
106
|
+
.ak-flow-node{flex:none;display:flex;flex-direction:column;gap:.3em;min-width:9rem;padding:calc(var(--ak-space-unit) * 1.75) calc(var(--ak-space-unit) * 2.25);background:var(--ak-color-surface);border:var(--ak-border-width) solid color-mix(in srgb,var(--ak-color-text) 14%,var(--ak-color-border));border-radius:var(--ak-radius-medium);box-shadow:var(--ak-elevation-card);${TRANSITION}}
|
|
107
|
+
.ak-flow-name{font-family:var(--ak-font-heading);font-weight:600;line-height:1.25;color:var(--ak-color-text)}
|
|
108
|
+
.ak-flow-node code{align-self:flex-start;padding:0;background:none;border:0;font-size:.72rem;color:var(--ak-color-text-muted)}
|
|
109
|
+
.ak-flow > li:first-child .ak-flow-node{border-color:color-mix(in srgb,var(--ak-color-accent) 45%,var(--ak-color-border))}
|
|
110
|
+
.ak-flow > li:last-child .ak-flow-node{background:color-mix(in srgb,var(--ak-color-accent) 9%,var(--ak-color-surface));border-color:var(--ak-color-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--ak-color-accent) 12%,transparent),var(--ak-elevation-card)}
|
|
111
|
+
.ak-flow-node:hover{border-color:var(--ak-color-accent)}
|
|
112
|
+
.ak-flow-edge{position:relative;flex:1;min-width:7rem;height:2.75rem;margin:0 .4rem}
|
|
113
|
+
.ak-flow-edge::before{content:"";position:absolute;left:0;right:6px;top:50%;height:1.5px;background:linear-gradient(90deg,color-mix(in srgb,var(--ak-color-text) 22%,var(--ak-color-border)),var(--ak-color-accent))}
|
|
114
|
+
.ak-flow-edge::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);border-left:7px solid var(--ak-color-accent);border-top:4.5px solid transparent;border-bottom:4.5px solid transparent}
|
|
115
|
+
.ak-flow-edge-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:calc(100% - 1.5rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:.2em .7em;background:var(--ak-color-surface);border:var(--ak-border-width) solid var(--ak-color-border);border-radius:999px;font-family:var(--ak-font-mono);font-size:.66rem;letter-spacing:.03em;color:var(--ak-color-text-muted)}
|
|
116
|
+
.ak-flow-nodes{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:calc(var(--ak-space-unit) * 1.5)}
|
|
117
|
+
.ak-flow-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
|
|
118
|
+
.ak-flow-links li{display:flex;flex-wrap:wrap;align-items:center;gap:.6em;padding:.65em 0;border-top:var(--ak-border-width) solid var(--ak-color-border)}
|
|
119
|
+
.ak-flow-arrow{color:var(--ak-color-accent);font-weight:600}
|
|
120
|
+
.ak-flow-link-label{margin-left:auto;font-size:.88rem;color:var(--ak-color-text-muted)}
|
|
121
|
+
@media (max-width:640px){.ak-flow{flex-direction:column;align-items:stretch}.ak-flow > li{flex-direction:column;align-items:stretch}.ak-flow-edge{flex:none;min-width:0;height:3.25rem;margin:.25rem 0}.ak-flow-edge::before{left:50%;right:auto;top:0;bottom:6px;width:1.5px;height:auto;background:linear-gradient(180deg,color-mix(in srgb,var(--ak-color-text) 22%,var(--ak-color-border)),var(--ak-color-accent))}.ak-flow-edge::after{right:auto;left:50%;top:auto;bottom:0;transform:translateX(-50%);border-left:4.5px solid transparent;border-right:4.5px solid transparent;border-top:7px solid var(--ak-color-accent);border-bottom:0}}`,
|
|
122
|
+
};
|
|
123
|
+
//# sourceMappingURL=feature-styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feature-styles.js","sourceRoot":"","sources":["../../src/render/feature-styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AAEpG,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEjE;;;;;GAKG;AACH,SAAS,cAAc,CAAC,MAAc,EAAE,KAAK,GAAG,EAAE;IAChD,MAAM,MAAM,GAAG,0CAA0C,CAAC;IAC1D,MAAM,aAAa,GAAG,qDAAqD,CAAC;IAC5E,OAAO,CAAC,GAAG,KAAK,GAAG,MAAM,iBAAiB,MAAM,EAAE,EAAE,GAAG,KAAK,GAAG,aAAa,MAAM,MAAM,EAAE,CAAC,CAAC,IAAI,CAC9F,GAAG,CACJ,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAsD;IAC5E,GAAG,YAAY;IACf,IAAI,EAAE,QAAQ;IAEd,SAAS,EAAE,aAAa;IAExB,QAAQ,EAAE,YAAY;IAEtB,MAAM,EAAE;;;;0EAIgE;IAExE,MAAM,EAAE;;;;;;;qdAO2c;IAEnd,KAAK,EAAE,SAAS;IAEhB,MAAM,EAAE;;qTAE2S,UAAU;;;wGAGvN;IAEtG,KAAK,EAAE;8LACqL,UAAU;;;;;4DAK5I;IAE1D,KAAK,EAAE;;;;;;;qEAO4D;IAEnE,OAAO,EAAE;;;4MAGiM,UAAU;;;;8CAIxK;IAC5C,6EAA6E;IAC7E,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,6EAA6E;IAC7E,8EAA8E;IAC9E,gCAAgC;IAChC,KAAK,EAAE;;EAEP,cAAc,CAAC,WAAW,CAAC;EAC3B,cAAc,CAAC,mCAAmC,EAAE,gBAAgB,CAAC;EACrE,cAAc,CAAC,oDAAoD,EAAE,aAAa,CAAC;0EACX;IACxE,OAAO,EAAE;;EAET,WAAW,CAAC,sBAAsB,CAAC;;;EAGnC,iBAAiB,CAAC,qBAAqB,CAAC;;;;;;;;;;;;qXAY2U,UAAU;;;;;;;;;;;;;;;onBAeqP;CACnnB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embedded display faces.
|
|
3
|
+
*
|
|
4
|
+
* A theme opts into a bundled face by naming its namespaced family (for example
|
|
5
|
+
* `AK Geist`) in a font stack. The compiler then inlines that family as a
|
|
6
|
+
* `data:` WOFF2, so the artifact still opens offline and makes no request; the
|
|
7
|
+
* CSP widens `font-src` to `data:` only on pages that carry a face.
|
|
8
|
+
*
|
|
9
|
+
* Each family ships two subsets. Latin is always emitted; Vietnamese is emitted
|
|
10
|
+
* only when the page text uses a character the Latin subset lacks, so an English
|
|
11
|
+
* page does not pay for it. A family no stack names is never emitted.
|
|
12
|
+
*/
|
|
13
|
+
import type { ResolvedTheme } from '../theme/load-theme.js';
|
|
14
|
+
import { type EmbeddedFont } from './embedded-fonts.generated.js';
|
|
15
|
+
/** Bundled families named by any of the theme's font stacks, in bundle order. */
|
|
16
|
+
export declare function embeddedFamilies(theme: ResolvedTheme): EmbeddedFont[];
|
|
17
|
+
/**
|
|
18
|
+
* The `@font-face` rules a page needs, or an empty string. `text` is the
|
|
19
|
+
* rendered page text the faces must cover; it only decides the subsets.
|
|
20
|
+
*/
|
|
21
|
+
export declare function embeddedFontCss(theme: ResolvedTheme, text: string): string;
|
|
22
|
+
//# sourceMappingURL=font-faces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"font-faces.d.ts","sourceRoot":"","sources":["../../src/render/font-faces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAEL,KAAK,YAAY,EAGlB,MAAM,+BAA+B,CAAC;AAmBvC,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,EAAE,CASrE;AAMD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAe1E"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embedded display faces.
|
|
3
|
+
*
|
|
4
|
+
* A theme opts into a bundled face by naming its namespaced family (for example
|
|
5
|
+
* `AK Geist`) in a font stack. The compiler then inlines that family as a
|
|
6
|
+
* `data:` WOFF2, so the artifact still opens offline and makes no request; the
|
|
7
|
+
* CSP widens `font-src` to `data:` only on pages that carry a face.
|
|
8
|
+
*
|
|
9
|
+
* Each family ships two subsets. Latin is always emitted; Vietnamese is emitted
|
|
10
|
+
* only when the page text uses a character the Latin subset lacks, so an English
|
|
11
|
+
* page does not pay for it. A family no stack names is never emitted.
|
|
12
|
+
*/
|
|
13
|
+
import { EMBEDDED_FONTS, LATIN_RANGE, VIETNAMESE_RANGE, } from './embedded-fonts.generated.js';
|
|
14
|
+
const STACK_TOKENS = ['font-heading', 'font-body', 'font-mono'];
|
|
15
|
+
/**
|
|
16
|
+
* Characters only the Vietnamese subset covers (its overlap with Latin removed).
|
|
17
|
+
* The combining marks are alternatives, because a character class may not mix
|
|
18
|
+
* them with base letters.
|
|
19
|
+
*/
|
|
20
|
+
// biome-ignore lint/complexity/useRegexLiterals: the autofix turns the escapes into raw combining marks.
|
|
21
|
+
const VIETNAMESE_ONLY = new RegExp('[\u0102\u0103\u0110\u0111\u0128\u0129\u0168\u0169\u01A0\u01A1\u01AF\u01B0\u1EA0-\u1EF9\u20AB]|\u0300|\u0301|\u0303|\u0309|\u0323', 'u');
|
|
22
|
+
function stackFamilies(stack) {
|
|
23
|
+
return stack.split(',').map((family) => family.trim().replace(/^["']|["']$/gu, ''));
|
|
24
|
+
}
|
|
25
|
+
/** Bundled families named by any of the theme's font stacks, in bundle order. */
|
|
26
|
+
export function embeddedFamilies(theme) {
|
|
27
|
+
const named = new Set();
|
|
28
|
+
for (const tokens of [theme.light, theme.dark]) {
|
|
29
|
+
for (const token of STACK_TOKENS) {
|
|
30
|
+
const stack = tokens[token];
|
|
31
|
+
if (stack !== undefined)
|
|
32
|
+
for (const family of stackFamilies(stack))
|
|
33
|
+
named.add(family);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return EMBEDDED_FONTS.filter((font) => named.has(font.family));
|
|
37
|
+
}
|
|
38
|
+
function face(font, data, range) {
|
|
39
|
+
return `@font-face{font-family:"${font.family}";font-style:normal;font-weight:${font.weight};font-display:swap;src:url(data:font/woff2;base64,${data}) format("woff2");unicode-range:${range}}`;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* The `@font-face` rules a page needs, or an empty string. `text` is the
|
|
43
|
+
* rendered page text the faces must cover; it only decides the subsets.
|
|
44
|
+
*/
|
|
45
|
+
export function embeddedFontCss(theme, text) {
|
|
46
|
+
const fonts = embeddedFamilies(theme);
|
|
47
|
+
if (fonts.length === 0)
|
|
48
|
+
return '';
|
|
49
|
+
const vietnamese = VIETNAMESE_ONLY.test(text.normalize('NFC'));
|
|
50
|
+
return fonts
|
|
51
|
+
.map((font) => [
|
|
52
|
+
`/* ${font.name}: ${font.copyright}. SIL Open Font License 1.1, https://openfontlicense.org */`,
|
|
53
|
+
face(font, font.latin, LATIN_RANGE),
|
|
54
|
+
vietnamese ? face(font, font.vietnamese, VIETNAMESE_RANGE) : '',
|
|
55
|
+
]
|
|
56
|
+
.filter((rule) => rule !== '')
|
|
57
|
+
.join('\n'))
|
|
58
|
+
.join('\n');
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=font-faces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"font-faces.js","sourceRoot":"","sources":["../../src/render/font-faces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EACL,cAAc,EAEd,WAAW,EACX,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,YAAY,GAAG,CAAC,cAAc,EAAE,WAAW,EAAE,WAAW,CAAU,CAAC;AAEzE;;;;GAIG;AACH,yGAAyG;AACzG,MAAM,eAAe,GAAG,IAAI,MAAM,CAChC,kIAAkI,EAClI,GAAG,CACJ,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,gBAAgB,CAAC,KAAoB;IACnD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,KAAK,SAAS;gBAAE,KAAK,MAAM,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC;oBAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IACD,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,IAAI,CAAC,IAAkB,EAAE,IAAY,EAAE,KAAa;IAC3D,OAAO,2BAA2B,IAAI,CAAC,MAAM,mCAAmC,IAAI,CAAC,MAAM,qDAAqD,IAAI,mCAAmC,KAAK,GAAG,CAAC;AAClM,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAAoB,EAAE,IAAY;IAChE,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ;QACE,MAAM,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,6DAA6D;QAC/F,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC;QACnC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE;KAChE;SACE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;SAC7B,IAAI,CAAC,IAAI,CAAC,CACd;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Page outline ("On this page").
|
|
3
|
+
*
|
|
4
|
+
* A long artifact gets a table of contents built from its top-level titled
|
|
5
|
+
* sections. It is derived from the IR alone, so it is deterministic, and it
|
|
6
|
+
* only appears once there is enough structure to navigate: below the threshold
|
|
7
|
+
* an outline is noise.
|
|
8
|
+
*/
|
|
9
|
+
import type { IrDocument } from '../ir.js';
|
|
10
|
+
/** Fewest titled top-level sections that justify an outline. */
|
|
11
|
+
export declare const OUTLINE_MIN_SECTIONS = 3;
|
|
12
|
+
export interface OutlineEntry {
|
|
13
|
+
anchor: string;
|
|
14
|
+
title: string;
|
|
15
|
+
}
|
|
16
|
+
/** Always-visible titled sections that are direct children of the page root, in document order. */
|
|
17
|
+
export declare function outlineEntries(ir: IrDocument): OutlineEntry[];
|
|
18
|
+
export declare function hasOutline(ir: IrDocument): boolean;
|
|
19
|
+
/** The outline navigation landmark, or an empty string when the page is too short. */
|
|
20
|
+
export declare function renderOutline(ir: IrDocument): string;
|
|
21
|
+
//# sourceMappingURL=outline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outline.d.ts","sourceRoot":"","sources":["../../src/render/outline.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAI3C,gEAAgE;AAChE,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,mGAAmG;AACnG,wBAAgB,cAAc,CAAC,EAAE,EAAE,UAAU,GAAG,YAAY,EAAE,CAe7D;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAElD;AAED,sFAAsF;AACtF,wBAAgB,aAAa,CAAC,EAAE,EAAE,UAAU,GAAG,MAAM,CAUpD"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Page outline ("On this page").
|
|
3
|
+
*
|
|
4
|
+
* A long artifact gets a table of contents built from its top-level titled
|
|
5
|
+
* sections. It is derived from the IR alone, so it is deterministic, and it
|
|
6
|
+
* only appears once there is enough structure to navigate: below the threshold
|
|
7
|
+
* an outline is noise.
|
|
8
|
+
*/
|
|
9
|
+
import { sectionAnchor } from './blocks.js';
|
|
10
|
+
import { escapeAttribute, escapeText } from './escape.js';
|
|
11
|
+
/** Fewest titled top-level sections that justify an outline. */
|
|
12
|
+
export const OUTLINE_MIN_SECTIONS = 3;
|
|
13
|
+
/** Always-visible titled sections that are direct children of the page root, in document order. */
|
|
14
|
+
export function outlineEntries(ir) {
|
|
15
|
+
const byId = new Map(ir.nodes.map((node) => [node.id, node]));
|
|
16
|
+
const root = byId.get(ir.rootId);
|
|
17
|
+
if (root === undefined)
|
|
18
|
+
return [];
|
|
19
|
+
const entries = [];
|
|
20
|
+
for (const childId of root.children) {
|
|
21
|
+
const child = byId.get(childId);
|
|
22
|
+
if (child === undefined || child.type !== 'section')
|
|
23
|
+
continue;
|
|
24
|
+
// A section behind visibleWhen can be hidden, so a link to it could go nowhere.
|
|
25
|
+
if (child.when !== undefined)
|
|
26
|
+
continue;
|
|
27
|
+
const title = child.props.title;
|
|
28
|
+
if (typeof title !== 'string' || title.trim() === '')
|
|
29
|
+
continue;
|
|
30
|
+
entries.push({ anchor: sectionAnchor(child.id), title });
|
|
31
|
+
}
|
|
32
|
+
return entries;
|
|
33
|
+
}
|
|
34
|
+
export function hasOutline(ir) {
|
|
35
|
+
return outlineEntries(ir).length >= OUTLINE_MIN_SECTIONS;
|
|
36
|
+
}
|
|
37
|
+
/** The outline navigation landmark, or an empty string when the page is too short. */
|
|
38
|
+
export function renderOutline(ir) {
|
|
39
|
+
const entries = outlineEntries(ir);
|
|
40
|
+
if (entries.length < OUTLINE_MIN_SECTIONS)
|
|
41
|
+
return '';
|
|
42
|
+
const items = entries
|
|
43
|
+
.map((entry) => `<li><a href="#${escapeAttribute(entry.anchor)}" data-ak-outline-link>${escapeText(entry.title)}</a></li>`)
|
|
44
|
+
.join('');
|
|
45
|
+
return `<nav class="ak-toc" aria-label="On this page"><p class="ak-toc-title">On this page</p><ol>${items}</ol></nav>`;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=outline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outline.js","sourceRoot":"","sources":["../../src/render/outline.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE1D,gEAAgE;AAChE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAOtC,mGAAmG;AACnG,MAAM,UAAU,cAAc,CAAC,EAAc;IAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,SAAS;QAC9D,gFAAgF;QAChF,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,SAAS;QACvC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;QAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,SAAS;QAC/D,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAc;IACvC,OAAO,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,oBAAoB,CAAC;AAC3D,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,aAAa,CAAC,EAAc;IAC1C,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;IACnC,IAAI,OAAO,CAAC,MAAM,GAAG,oBAAoB;QAAE,OAAO,EAAE,CAAC;IACrD,MAAM,KAAK,GAAG,OAAO;SAClB,GAAG,CACF,CAAC,KAAK,EAAE,EAAE,CACR,iBAAiB,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,0BAA0B,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAC7G;SACA,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,6FAA6F,KAAK,aAAa,CAAC;AACzH,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recipe stylesheets: the CSS each theme recipe maps to.
|
|
3
|
+
*
|
|
4
|
+
* Recipe CSS is token-driven like every feature sheet and is emitted only for
|
|
5
|
+
* the recipes a page selects, and within a recipe only for the features the
|
|
6
|
+
* page uses. A recipe left at its default value emits nothing: the default look
|
|
7
|
+
* is the base and feature sheets themselves.
|
|
8
|
+
*
|
|
9
|
+
* Every rule is scoped by the `data-r-<surface>` attribute the document writes
|
|
10
|
+
* on `<html>`, which also lifts it over the base and feature rules it restyles
|
|
11
|
+
* without `!important`. Selectors rely only on stable root classes:
|
|
12
|
+
* `.ak-card`, `.ak-surface`, `.ak-stats`/`.ak-stat`, `.ak-section-head`,
|
|
13
|
+
* `.ak-hero`, `.ak-table-wrap`, `.ak-media`, `.ak-gallery`, `.ak-callout`, and
|
|
14
|
+
* the feature roots `.ak-chart`, `.ak-kpi-card` and `.ak-data-table`.
|
|
15
|
+
*/
|
|
16
|
+
import type { RuntimeFeature } from '../registry/roster.js';
|
|
17
|
+
export interface RecipeSheet {
|
|
18
|
+
/** Emit only when the page uses this feature; absent means always. */
|
|
19
|
+
feature?: RuntimeFeature;
|
|
20
|
+
css: string;
|
|
21
|
+
}
|
|
22
|
+
/** Surface → recipe value → sheets. Default values have no entry. */
|
|
23
|
+
export declare const RECIPE_CSS: Readonly<Record<string, Readonly<Record<string, readonly RecipeSheet[]>>>>;
|
|
24
|
+
/** The recipe CSS for a page, in fixed surface order; '' when nothing applies. */
|
|
25
|
+
export declare function recipeCss(recipes: Readonly<Record<string, string>> | undefined, features: ReadonlySet<RuntimeFeature>): string;
|
|
26
|
+
//# sourceMappingURL=recipe-styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recipe-styles.d.ts","sourceRoot":"","sources":["../../src/render/recipe-styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,MAAM,WAAW,WAAW;IAC1B,sEAAsE;IACtE,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;CACb;AAoFD,qEAAqE;AACrE,eAAO,MAAM,UAAU,EAAE,QAAQ,CAC/B,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC,CAAC,CAAC,CAkNjE,CAAC;AAEF,kFAAkF;AAClF,wBAAgB,SAAS,CACvB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,EACrD,QAAQ,EAAE,WAAW,CAAC,cAAc,CAAC,GACpC,MAAM,CAQR"}
|