@misoto22/folio 0.0.0 → 0.17.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.md +88 -0
- package/CLAUDE.md +1 -0
- package/LICENSE +21 -0
- package/README.md +208 -2
- package/bin/folio-design.mjs +277 -0
- package/bin/migrate-legacy.mjs +81 -0
- package/dist/agent/Accordion.md +65 -0
- package/dist/agent/Actions.md +49 -0
- package/dist/agent/Alert.md +65 -0
- package/dist/agent/AppShell.md +69 -0
- package/dist/agent/ArchitectureFigure.md +72 -0
- package/dist/agent/AreaChart.md +94 -0
- package/dist/agent/Article.md +65 -0
- package/dist/agent/AspectRatio.md +58 -0
- package/dist/agent/Avatar.md +53 -0
- package/dist/agent/Badge.md +62 -0
- package/dist/agent/BarChart.md +93 -0
- package/dist/agent/BarList.md +67 -0
- package/dist/agent/BigNumber.md +70 -0
- package/dist/agent/BoxPlot.md +82 -0
- package/dist/agent/Breadcrumb.md +55 -0
- package/dist/agent/BulletChart.md +71 -0
- package/dist/agent/Button.md +81 -0
- package/dist/agent/Calendar.md +77 -0
- package/dist/agent/CalendarHeatmap.md +75 -0
- package/dist/agent/Card.md +72 -0
- package/dist/agent/Checkbox.md +57 -0
- package/dist/agent/Code.md +51 -0
- package/dist/agent/CodeBlock.md +77 -0
- package/dist/agent/Collapsible.md +68 -0
- package/dist/agent/Collection.md +169 -0
- package/dist/agent/ColorPicker.md +76 -0
- package/dist/agent/Combobox.md +77 -0
- package/dist/agent/Command.md +122 -0
- package/dist/agent/ComposedChart.md +82 -0
- package/dist/agent/Contact.md +90 -0
- package/dist/agent/Content.md +70 -0
- package/dist/agent/ContextMenu.md +93 -0
- package/dist/agent/Conversation.md +247 -0
- package/dist/agent/DataflowFigure.md +49 -0
- package/dist/agent/DatePicker.md +104 -0
- package/dist/agent/DescriptionList.md +69 -0
- package/dist/agent/Diagram.md +71 -0
- package/dist/agent/DiagramCanvas.md +71 -0
- package/dist/agent/DiagramExportMenu.md +65 -0
- package/dist/agent/DiagramInspector.md +73 -0
- package/dist/agent/DiagramLegend.md +56 -0
- package/dist/agent/DiagramMinimap.md +69 -0
- package/dist/agent/DiagramToolbar.md +70 -0
- package/dist/agent/Dialog.md +76 -0
- package/dist/agent/DropdownMenu.md +110 -0
- package/dist/agent/EmptyState.md +63 -0
- package/dist/agent/ErrorState.md +67 -0
- package/dist/agent/Evidence.md +165 -0
- package/dist/agent/Facet.md +107 -0
- package/dist/agent/Field.md +79 -0
- package/dist/agent/FigureBand.md +49 -0
- package/dist/agent/FloatingIconButton.md +61 -0
- package/dist/agent/FunnelChart.md +75 -0
- package/dist/agent/Heading.md +65 -0
- package/dist/agent/Heatmap.md +78 -0
- package/dist/agent/Histogram.md +88 -0
- package/dist/agent/Input.md +52 -0
- package/dist/agent/Kbd.md +48 -0
- package/dist/agent/LifecycleFigure.md +50 -0
- package/dist/agent/LineChart.md +85 -0
- package/dist/agent/LinkArrow.md +49 -0
- package/dist/agent/Markdown.md +69 -0
- package/dist/agent/Media.md +261 -0
- package/dist/agent/Metric.md +70 -0
- package/dist/agent/Metrics.md +114 -0
- package/dist/agent/Music.md +86 -0
- package/dist/agent/NativeSelect.md +62 -0
- package/dist/agent/NavItem.md +56 -0
- package/dist/agent/NumberField.md +73 -0
- package/dist/agent/PageHeader.md +69 -0
- package/dist/agent/Pagination.md +70 -0
- package/dist/agent/PieChart.md +80 -0
- package/dist/agent/Popover.md +80 -0
- package/dist/agent/Portfolio.md +93 -0
- package/dist/agent/PortfolioIndex.md +34 -0
- package/dist/agent/Progress.md +58 -0
- package/dist/agent/RadarChart.md +79 -0
- package/dist/agent/RadialChart.md +81 -0
- package/dist/agent/RadioGroup.md +66 -0
- package/dist/agent/Reading.md +233 -0
- package/dist/agent/Recovery.md +72 -0
- package/dist/agent/SankeyChart.md +85 -0
- package/dist/agent/ScatterChart.md +80 -0
- package/dist/agent/ScrollArea.md +62 -0
- package/dist/agent/SearchPalette.md +51 -0
- package/dist/agent/SearchableMenu.md +69 -0
- package/dist/agent/Select.md +102 -0
- package/dist/agent/Separator.md +60 -0
- package/dist/agent/SequenceFigure.md +51 -0
- package/dist/agent/Sheet.md +82 -0
- package/dist/agent/Sidebar.md +194 -0
- package/dist/agent/SiteNavigation.md +62 -0
- package/dist/agent/SiteShell.md +67 -0
- package/dist/agent/Skeleton.md +96 -0
- package/dist/agent/Slider.md +67 -0
- package/dist/agent/Sparkline.md +68 -0
- package/dist/agent/Spinner.md +62 -0
- package/dist/agent/StatusDot.md +56 -0
- package/dist/agent/StatusPill.md +55 -0
- package/dist/agent/Steps.md +68 -0
- package/dist/agent/Switch.md +50 -0
- package/dist/agent/Table.md +111 -0
- package/dist/agent/Tabs.md +71 -0
- package/dist/agent/Tag.md +67 -0
- package/dist/agent/Text.md +66 -0
- package/dist/agent/Textarea.md +46 -0
- package/dist/agent/Timeline.md +114 -0
- package/dist/agent/Timestamp.md +65 -0
- package/dist/agent/Toast.md +51 -0
- package/dist/agent/ToggleGroup.md +67 -0
- package/dist/agent/Toolbar.md +72 -0
- package/dist/agent/Tooltip.md +74 -0
- package/dist/agent/TreemapChart.md +76 -0
- package/dist/agent/WaterfallChart.md +86 -0
- package/dist/agent/Workbench.md +142 -0
- package/dist/agent/WorkflowFigure.md +51 -0
- package/dist/agent/catalog.json +8055 -0
- package/dist/agent/index.md +185 -0
- package/dist/article.css +407 -0
- package/dist/charts/AreaChart/AreaChart.d.ts +198 -0
- package/dist/charts/AreaChart/AreaChart.js +479 -0
- package/dist/charts/AreaChart/AreaChart.js.map +1 -0
- package/dist/charts/BarChart/BarChart.d.ts +190 -0
- package/dist/charts/BarChart/BarChart.js +599 -0
- package/dist/charts/BarChart/BarChart.js.map +1 -0
- package/dist/charts/BarList/BarList.d.ts +65 -0
- package/dist/charts/BarList/BarList.js +79 -0
- package/dist/charts/BarList/BarList.js.map +1 -0
- package/dist/charts/BigNumber/BigNumber.d.ts +72 -0
- package/dist/charts/BigNumber/BigNumber.js +51 -0
- package/dist/charts/BigNumber/BigNumber.js.map +1 -0
- package/dist/charts/BoxPlot/BoxPlot.d.ts +177 -0
- package/dist/charts/BoxPlot/BoxPlot.js +497 -0
- package/dist/charts/BoxPlot/BoxPlot.js.map +1 -0
- package/dist/charts/BulletChart/BulletChart.d.ts +100 -0
- package/dist/charts/BulletChart/BulletChart.js +197 -0
- package/dist/charts/BulletChart/BulletChart.js.map +1 -0
- package/dist/charts/CalendarHeatmap/CalendarHeatmap.d.ts +106 -0
- package/dist/charts/CalendarHeatmap/CalendarHeatmap.js +103 -0
- package/dist/charts/CalendarHeatmap/CalendarHeatmap.js.map +1 -0
- package/dist/charts/ComposedChart/ComposedChart.d.ts +178 -0
- package/dist/charts/ComposedChart/ComposedChart.js +667 -0
- package/dist/charts/ComposedChart/ComposedChart.js.map +1 -0
- package/dist/charts/Facet/Facet.d.ts +240 -0
- package/dist/charts/Facet/Facet.js +133 -0
- package/dist/charts/Facet/Facet.js.map +1 -0
- package/dist/charts/Facet/panels.d.ts +187 -0
- package/dist/charts/Facet/panels.js +203 -0
- package/dist/charts/Facet/panels.js.map +1 -0
- package/dist/charts/FunnelChart/FunnelChart.d.ts +106 -0
- package/dist/charts/FunnelChart/FunnelChart.js +137 -0
- package/dist/charts/FunnelChart/FunnelChart.js.map +1 -0
- package/dist/charts/Heatmap/Heatmap.d.ts +101 -0
- package/dist/charts/Heatmap/Heatmap.js +125 -0
- package/dist/charts/Heatmap/Heatmap.js.map +1 -0
- package/dist/charts/Histogram/Histogram.d.ts +188 -0
- package/dist/charts/Histogram/Histogram.js +382 -0
- package/dist/charts/Histogram/Histogram.js.map +1 -0
- package/dist/charts/LineChart/LineChart.d.ts +174 -0
- package/dist/charts/LineChart/LineChart.js +485 -0
- package/dist/charts/LineChart/LineChart.js.map +1 -0
- package/dist/charts/PieChart/PieChart.d.ts +140 -0
- package/dist/charts/PieChart/PieChart.js +317 -0
- package/dist/charts/PieChart/PieChart.js.map +1 -0
- package/dist/charts/RadarChart/RadarChart.d.ts +135 -0
- package/dist/charts/RadarChart/RadarChart.js +303 -0
- package/dist/charts/RadarChart/RadarChart.js.map +1 -0
- package/dist/charts/RadialChart/RadialChart.d.ts +142 -0
- package/dist/charts/RadialChart/RadialChart.js +279 -0
- package/dist/charts/RadialChart/RadialChart.js.map +1 -0
- package/dist/charts/SankeyChart/SankeyChart.d.ts +149 -0
- package/dist/charts/SankeyChart/SankeyChart.js +509 -0
- package/dist/charts/SankeyChart/SankeyChart.js.map +1 -0
- package/dist/charts/ScatterChart/ScatterChart.d.ts +149 -0
- package/dist/charts/ScatterChart/ScatterChart.js +275 -0
- package/dist/charts/ScatterChart/ScatterChart.js.map +1 -0
- package/dist/charts/Sparkline/Sparkline.d.ts +53 -0
- package/dist/charts/Sparkline/Sparkline.js +95 -0
- package/dist/charts/Sparkline/Sparkline.js.map +1 -0
- package/dist/charts/TreemapChart/TreemapChart.d.ts +98 -0
- package/dist/charts/TreemapChart/TreemapChart.js +127 -0
- package/dist/charts/TreemapChart/TreemapChart.js.map +1 -0
- package/dist/charts/WaterfallChart/WaterfallChart.d.ts +164 -0
- package/dist/charts/WaterfallChart/WaterfallChart.js +321 -0
- package/dist/charts/WaterfallChart/WaterfallChart.js.map +1 -0
- package/dist/charts/index.d.ts +43 -0
- package/dist/charts/index.js +130 -0
- package/dist/charts/index.js.map +1 -0
- package/dist/charts/lib/annotations.d.ts +103 -0
- package/dist/charts/lib/annotations.js +99 -0
- package/dist/charts/lib/annotations.js.map +1 -0
- package/dist/charts/lib/axis.d.ts +18 -0
- package/dist/charts/lib/axis.js +21 -0
- package/dist/charts/lib/axis.js.map +1 -0
- package/dist/charts/lib/background.d.ts +33 -0
- package/dist/charts/lib/background.js +173 -0
- package/dist/charts/lib/background.js.map +1 -0
- package/dist/charts/lib/brush.d.ts +94 -0
- package/dist/charts/lib/brush.js +535 -0
- package/dist/charts/lib/brush.js.map +1 -0
- package/dist/charts/lib/chart.d.ts +94 -0
- package/dist/charts/lib/chart.js +149 -0
- package/dist/charts/lib/chart.js.map +1 -0
- package/dist/charts/lib/dot.d.ts +29 -0
- package/dist/charts/lib/dot.js +78 -0
- package/dist/charts/lib/dot.js.map +1 -0
- package/dist/charts/lib/empty.d.ts +31 -0
- package/dist/charts/lib/empty.js +24 -0
- package/dist/charts/lib/empty.js.map +1 -0
- package/dist/charts/lib/export.d.ts +94 -0
- package/dist/charts/lib/export.js +62 -0
- package/dist/charts/lib/export.js.map +1 -0
- package/dist/charts/lib/figure.d.ts +81 -0
- package/dist/charts/lib/figure.js +62 -0
- package/dist/charts/lib/figure.js.map +1 -0
- package/dist/charts/lib/format.d.ts +46 -0
- package/dist/charts/lib/format.js +56 -0
- package/dist/charts/lib/format.js.map +1 -0
- package/dist/charts/lib/legend.d.ts +45 -0
- package/dist/charts/lib/legend.js +117 -0
- package/dist/charts/lib/legend.js.map +1 -0
- package/dist/charts/lib/loading.d.ts +48 -0
- package/dist/charts/lib/loading.js +105 -0
- package/dist/charts/lib/loading.js.map +1 -0
- package/dist/charts/lib/paint.d.ts +154 -0
- package/dist/charts/lib/paint.js +551 -0
- package/dist/charts/lib/paint.js.map +1 -0
- package/dist/charts/lib/scale.d.ts +23 -0
- package/dist/charts/lib/scale.js +13 -0
- package/dist/charts/lib/scale.js.map +1 -0
- package/dist/charts/lib/selection.d.ts +20 -0
- package/dist/charts/lib/selection.js +18 -0
- package/dist/charts/lib/selection.js.map +1 -0
- package/dist/charts/lib/sonify-control.d.ts +163 -0
- package/dist/charts/lib/sonify-control.js +172 -0
- package/dist/charts/lib/sonify-control.js.map +1 -0
- package/dist/charts/lib/sonify.d.ts +248 -0
- package/dist/charts/lib/sonify.js +262 -0
- package/dist/charts/lib/sonify.js.map +1 -0
- package/dist/charts/lib/toolbar.d.ts +144 -0
- package/dist/charts/lib/toolbar.js +156 -0
- package/dist/charts/lib/toolbar.js.map +1 -0
- package/dist/charts/lib/tooltip.d.ts +59 -0
- package/dist/charts/lib/tooltip.js +135 -0
- package/dist/charts/lib/tooltip.js.map +1 -0
- package/dist/charts/lib/values.d.ts +56 -0
- package/dist/charts/lib/values.js +71 -0
- package/dist/charts/lib/values.js.map +1 -0
- package/dist/charts/lib/zoom.d.ts +139 -0
- package/dist/charts/lib/zoom.js +314 -0
- package/dist/charts/lib/zoom.js.map +1 -0
- package/dist/components/Accordion/Accordion.d.ts +34 -0
- package/dist/components/Accordion/Accordion.js +43 -0
- package/dist/components/Accordion/Accordion.js.map +1 -0
- package/dist/components/Alert/Alert.d.ts +32 -0
- package/dist/components/Alert/Alert.js +49 -0
- package/dist/components/Alert/Alert.js.map +1 -0
- package/dist/components/AppShell/AppShell.d.ts +58 -0
- package/dist/components/AppShell/AppShell.js +126 -0
- package/dist/components/AppShell/AppShell.js.map +1 -0
- package/dist/components/Article/Article.d.ts +58 -0
- package/dist/components/Article/Article.js +34 -0
- package/dist/components/Article/Article.js.map +1 -0
- package/dist/components/AspectRatio/AspectRatio.d.ts +46 -0
- package/dist/components/AspectRatio/AspectRatio.js +33 -0
- package/dist/components/AspectRatio/AspectRatio.js.map +1 -0
- package/dist/components/Avatar/Avatar.d.ts +38 -0
- package/dist/components/Avatar/Avatar.js +44 -0
- package/dist/components/Avatar/Avatar.js.map +1 -0
- package/dist/components/Badge/Badge.d.ts +30 -0
- package/dist/components/Badge/Badge.js +29 -0
- package/dist/components/Badge/Badge.js.map +1 -0
- package/dist/components/Breadcrumb/Breadcrumb.d.ts +37 -0
- package/dist/components/Breadcrumb/Breadcrumb.js +46 -0
- package/dist/components/Breadcrumb/Breadcrumb.js.map +1 -0
- package/dist/components/Button/Button.d.ts +70 -0
- package/dist/components/Button/Button.js +95 -0
- package/dist/components/Button/Button.js.map +1 -0
- package/dist/components/Calendar/Calendar.d.ts +54 -0
- package/dist/components/Calendar/Calendar.js +369 -0
- package/dist/components/Calendar/Calendar.js.map +1 -0
- package/dist/components/Card/Card.d.ts +55 -0
- package/dist/components/Card/Card.js +64 -0
- package/dist/components/Card/Card.js.map +1 -0
- package/dist/components/Checkbox/Checkbox.d.ts +26 -0
- package/dist/components/Checkbox/Checkbox.js +34 -0
- package/dist/components/Checkbox/Checkbox.js.map +1 -0
- package/dist/components/Code/Code.d.ts +30 -0
- package/dist/components/Code/Code.js +21 -0
- package/dist/components/Code/Code.js.map +1 -0
- package/dist/components/CodeBlock/CodeBlock.d.ts +145 -0
- package/dist/components/CodeBlock/CodeBlock.js +114 -0
- package/dist/components/CodeBlock/CodeBlock.js.map +1 -0
- package/dist/components/Collapsible/Collapsible.d.ts +45 -0
- package/dist/components/Collapsible/Collapsible.js +60 -0
- package/dist/components/Collapsible/Collapsible.js.map +1 -0
- package/dist/components/ColorPicker/ColorPicker.d.ts +67 -0
- package/dist/components/ColorPicker/ColorPicker.js +334 -0
- package/dist/components/ColorPicker/ColorPicker.js.map +1 -0
- package/dist/components/Combobox/Combobox.d.ts +77 -0
- package/dist/components/Combobox/Combobox.js +170 -0
- package/dist/components/Combobox/Combobox.js.map +1 -0
- package/dist/components/Command/Command.d.ts +125 -0
- package/dist/components/Command/Command.js +204 -0
- package/dist/components/Command/Command.js.map +1 -0
- package/dist/components/ContextMenu/ContextMenu.d.ts +63 -0
- package/dist/components/ContextMenu/ContextMenu.js +109 -0
- package/dist/components/ContextMenu/ContextMenu.js.map +1 -0
- package/dist/components/DatePicker/DatePicker.d.ts +130 -0
- package/dist/components/DatePicker/DatePicker.js +257 -0
- package/dist/components/DatePicker/DatePicker.js.map +1 -0
- package/dist/components/DescriptionList/DescriptionList.d.ts +73 -0
- package/dist/components/DescriptionList/DescriptionList.js +35 -0
- package/dist/components/DescriptionList/DescriptionList.js.map +1 -0
- package/dist/components/Diagram/Diagram.d.ts +86 -0
- package/dist/components/Diagram/Diagram.js +211 -0
- package/dist/components/Diagram/Diagram.js.map +1 -0
- package/dist/components/Dialog/Dialog.d.ts +63 -0
- package/dist/components/Dialog/Dialog.js +90 -0
- package/dist/components/Dialog/Dialog.js.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenu.d.ts +87 -0
- package/dist/components/DropdownMenu/DropdownMenu.js +120 -0
- package/dist/components/DropdownMenu/DropdownMenu.js.map +1 -0
- package/dist/components/EmptyState/EmptyState.d.ts +55 -0
- package/dist/components/EmptyState/EmptyState.js +32 -0
- package/dist/components/EmptyState/EmptyState.js.map +1 -0
- package/dist/components/ErrorState/ErrorState.d.ts +55 -0
- package/dist/components/ErrorState/ErrorState.js +41 -0
- package/dist/components/ErrorState/ErrorState.js.map +1 -0
- package/dist/components/Field/Field.d.ts +111 -0
- package/dist/components/Field/Field.js +95 -0
- package/dist/components/Field/Field.js.map +1 -0
- package/dist/components/Field/field-control.d.ts +31 -0
- package/dist/components/Field/field-control.js +12 -0
- package/dist/components/Field/field-control.js.map +1 -0
- package/dist/components/FigureBand/FigureBand.d.ts +31 -0
- package/dist/components/FigureBand/FigureBand.js +51 -0
- package/dist/components/FigureBand/FigureBand.js.map +1 -0
- package/dist/components/FloatingIconButton/FloatingIconButton.d.ts +29 -0
- package/dist/components/FloatingIconButton/FloatingIconButton.js +34 -0
- package/dist/components/FloatingIconButton/FloatingIconButton.js.map +1 -0
- package/dist/components/Heading/Heading.d.ts +62 -0
- package/dist/components/Heading/Heading.js +44 -0
- package/dist/components/Heading/Heading.js.map +1 -0
- package/dist/components/Input/Input.d.ts +22 -0
- package/dist/components/Input/Input.js +21 -0
- package/dist/components/Input/Input.js.map +1 -0
- package/dist/components/Kbd/Kbd.d.ts +27 -0
- package/dist/components/Kbd/Kbd.js +21 -0
- package/dist/components/Kbd/Kbd.js.map +1 -0
- package/dist/components/LinkArrow/LinkArrow.d.ts +24 -0
- package/dist/components/LinkArrow/LinkArrow.js +24 -0
- package/dist/components/LinkArrow/LinkArrow.js.map +1 -0
- package/dist/components/Markdown/Markdown.d.ts +139 -0
- package/dist/components/Markdown/Markdown.js +135 -0
- package/dist/components/Markdown/Markdown.js.map +1 -0
- package/dist/components/Markdown/inline.d.ts +29 -0
- package/dist/components/Markdown/inline.js +74 -0
- package/dist/components/Markdown/inline.js.map +1 -0
- package/dist/components/Markdown/nodes.d.ts +65 -0
- package/dist/components/Markdown/nodes.js +1 -0
- package/dist/components/Markdown/nodes.js.map +1 -0
- package/dist/components/Markdown/parse.d.ts +24 -0
- package/dist/components/Markdown/parse.js +110 -0
- package/dist/components/Markdown/parse.js.map +1 -0
- package/dist/components/Markdown/slug.d.ts +15 -0
- package/dist/components/Markdown/slug.js +7 -0
- package/dist/components/Markdown/slug.js.map +1 -0
- package/dist/components/Metric/Metric.d.ts +61 -0
- package/dist/components/Metric/Metric.js +51 -0
- package/dist/components/Metric/Metric.js.map +1 -0
- package/dist/components/NativeSelect/NativeSelect.d.ts +33 -0
- package/dist/components/NativeSelect/NativeSelect.js +44 -0
- package/dist/components/NativeSelect/NativeSelect.js.map +1 -0
- package/dist/components/NavItem/NavItem.d.ts +39 -0
- package/dist/components/NavItem/NavItem.js +31 -0
- package/dist/components/NavItem/NavItem.js.map +1 -0
- package/dist/components/NumberField/NumberField.d.ts +69 -0
- package/dist/components/NumberField/NumberField.js +162 -0
- package/dist/components/NumberField/NumberField.js.map +1 -0
- package/dist/components/PageHeader/PageHeader.d.ts +92 -0
- package/dist/components/PageHeader/PageHeader.js +37 -0
- package/dist/components/PageHeader/PageHeader.js.map +1 -0
- package/dist/components/Pagination/Pagination.d.ts +67 -0
- package/dist/components/Pagination/Pagination.js +112 -0
- package/dist/components/Pagination/Pagination.js.map +1 -0
- package/dist/components/Popover/Popover.d.ts +39 -0
- package/dist/components/Popover/Popover.js +57 -0
- package/dist/components/Popover/Popover.js.map +1 -0
- package/dist/components/Progress/Progress.d.ts +43 -0
- package/dist/components/Progress/Progress.js +57 -0
- package/dist/components/Progress/Progress.js.map +1 -0
- package/dist/components/RadioGroup/RadioGroup.d.ts +49 -0
- package/dist/components/RadioGroup/RadioGroup.js +53 -0
- package/dist/components/RadioGroup/RadioGroup.js.map +1 -0
- package/dist/components/ScrollArea/ScrollArea.d.ts +46 -0
- package/dist/components/ScrollArea/ScrollArea.js +54 -0
- package/dist/components/ScrollArea/ScrollArea.js.map +1 -0
- package/dist/components/SearchableMenu/SearchableMenu.d.ts +68 -0
- package/dist/components/SearchableMenu/SearchableMenu.js +101 -0
- package/dist/components/SearchableMenu/SearchableMenu.js.map +1 -0
- package/dist/components/Select/Select.d.ts +87 -0
- package/dist/components/Select/Select.js +130 -0
- package/dist/components/Select/Select.js.map +1 -0
- package/dist/components/Separator/Separator.d.ts +48 -0
- package/dist/components/Separator/Separator.js +43 -0
- package/dist/components/Separator/Separator.js.map +1 -0
- package/dist/components/Sheet/Sheet.d.ts +43 -0
- package/dist/components/Sheet/Sheet.js +79 -0
- package/dist/components/Sheet/Sheet.js.map +1 -0
- package/dist/components/Sidebar/Sidebar.d.ts +357 -0
- package/dist/components/Sidebar/Sidebar.js +447 -0
- package/dist/components/Sidebar/Sidebar.js.map +1 -0
- package/dist/components/Skeleton/Skeleton.d.ts +70 -0
- package/dist/components/Skeleton/Skeleton.js +44 -0
- package/dist/components/Skeleton/Skeleton.js.map +1 -0
- package/dist/components/Slider/Slider.d.ts +74 -0
- package/dist/components/Slider/Slider.js +143 -0
- package/dist/components/Slider/Slider.js.map +1 -0
- package/dist/components/Spinner/Spinner.d.ts +58 -0
- package/dist/components/Spinner/Spinner.js +49 -0
- package/dist/components/Spinner/Spinner.js.map +1 -0
- package/dist/components/StatusDot/StatusDot.d.ts +29 -0
- package/dist/components/StatusDot/StatusDot.js +44 -0
- package/dist/components/StatusDot/StatusDot.js.map +1 -0
- package/dist/components/StatusPill/StatusPill.d.ts +30 -0
- package/dist/components/StatusPill/StatusPill.js +37 -0
- package/dist/components/StatusPill/StatusPill.js.map +1 -0
- package/dist/components/Steps/Steps.d.ts +65 -0
- package/dist/components/Steps/Steps.js +25 -0
- package/dist/components/Steps/Steps.js.map +1 -0
- package/dist/components/Switch/Switch.d.ts +23 -0
- package/dist/components/Switch/Switch.js +23 -0
- package/dist/components/Switch/Switch.js.map +1 -0
- package/dist/components/Table/Table.d.ts +116 -0
- package/dist/components/Table/Table.js +137 -0
- package/dist/components/Table/Table.js.map +1 -0
- package/dist/components/Tabs/Tabs.d.ts +37 -0
- package/dist/components/Tabs/Tabs.js +205 -0
- package/dist/components/Tabs/Tabs.js.map +1 -0
- package/dist/components/Tag/Tag.d.ts +87 -0
- package/dist/components/Tag/Tag.js +62 -0
- package/dist/components/Tag/Tag.js.map +1 -0
- package/dist/components/Text/Text.d.ts +62 -0
- package/dist/components/Text/Text.js +30 -0
- package/dist/components/Text/Text.js.map +1 -0
- package/dist/components/Textarea/Textarea.d.ts +20 -0
- package/dist/components/Textarea/Textarea.js +32 -0
- package/dist/components/Textarea/Textarea.js.map +1 -0
- package/dist/components/Timestamp/Timestamp.d.ts +59 -0
- package/dist/components/Timestamp/Timestamp.js +56 -0
- package/dist/components/Timestamp/Timestamp.js.map +1 -0
- package/dist/components/Toast/Toast.d.ts +32 -0
- package/dist/components/Toast/Toast.js +64 -0
- package/dist/components/Toast/Toast.js.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroup.d.ts +46 -0
- package/dist/components/ToggleGroup/ToggleGroup.js +88 -0
- package/dist/components/ToggleGroup/ToggleGroup.js.map +1 -0
- package/dist/components/Toolbar/Toolbar.d.ts +55 -0
- package/dist/components/Toolbar/Toolbar.js +43 -0
- package/dist/components/Toolbar/Toolbar.js.map +1 -0
- package/dist/components/Tooltip/Tooltip.d.ts +43 -0
- package/dist/components/Tooltip/Tooltip.js +40 -0
- package/dist/components/Tooltip/Tooltip.js.map +1 -0
- package/dist/diagrams/ArchitectureFigure/ArchitectureFigure.d.ts +55 -0
- package/dist/diagrams/ArchitectureFigure/ArchitectureFigure.js +175 -0
- package/dist/diagrams/ArchitectureFigure/ArchitectureFigure.js.map +1 -0
- package/dist/diagrams/DataflowFigure/DataflowFigure.d.ts +28 -0
- package/dist/diagrams/DataflowFigure/DataflowFigure.js +148 -0
- package/dist/diagrams/DataflowFigure/DataflowFigure.js.map +1 -0
- package/dist/diagrams/DiagramCanvas/DiagramCanvas.d.ts +78 -0
- package/dist/diagrams/DiagramCanvas/DiagramCanvas.js +229 -0
- package/dist/diagrams/DiagramCanvas/DiagramCanvas.js.map +1 -0
- package/dist/diagrams/DiagramExportMenu/DiagramExportMenu.d.ts +106 -0
- package/dist/diagrams/DiagramExportMenu/DiagramExportMenu.js +123 -0
- package/dist/diagrams/DiagramExportMenu/DiagramExportMenu.js.map +1 -0
- package/dist/diagrams/DiagramInspector/DiagramInspector.d.ts +70 -0
- package/dist/diagrams/DiagramInspector/DiagramInspector.js +94 -0
- package/dist/diagrams/DiagramInspector/DiagramInspector.js.map +1 -0
- package/dist/diagrams/DiagramLegend/DiagramLegend.d.ts +42 -0
- package/dist/diagrams/DiagramLegend/DiagramLegend.js +35 -0
- package/dist/diagrams/DiagramLegend/DiagramLegend.js.map +1 -0
- package/dist/diagrams/DiagramMinimap/DiagramMinimap.d.ts +77 -0
- package/dist/diagrams/DiagramMinimap/DiagramMinimap.js +106 -0
- package/dist/diagrams/DiagramMinimap/DiagramMinimap.js.map +1 -0
- package/dist/diagrams/DiagramToolbar/DiagramToolbar.d.ts +48 -0
- package/dist/diagrams/DiagramToolbar/DiagramToolbar.js +53 -0
- package/dist/diagrams/DiagramToolbar/DiagramToolbar.js.map +1 -0
- package/dist/diagrams/LifecycleFigure/LifecycleFigure.d.ts +31 -0
- package/dist/diagrams/LifecycleFigure/LifecycleFigure.js +234 -0
- package/dist/diagrams/LifecycleFigure/LifecycleFigure.js.map +1 -0
- package/dist/diagrams/SequenceFigure/SequenceFigure.d.ts +38 -0
- package/dist/diagrams/SequenceFigure/SequenceFigure.js +261 -0
- package/dist/diagrams/SequenceFigure/SequenceFigure.js.map +1 -0
- package/dist/diagrams/WorkflowFigure/WorkflowFigure.d.ts +36 -0
- package/dist/diagrams/WorkflowFigure/WorkflowFigure.js +259 -0
- package/dist/diagrams/WorkflowFigure/WorkflowFigure.js.map +1 -0
- package/dist/diagrams/index.d.ts +17 -0
- package/dist/diagrams/index.js +29 -0
- package/dist/diagrams/index.js.map +1 -0
- package/dist/diagrams/lib/dev.d.ts +61 -0
- package/dist/diagrams/lib/dev.js +96 -0
- package/dist/diagrams/lib/dev.js.map +1 -0
- package/dist/diagrams/lib/frame.d.ts +138 -0
- package/dist/diagrams/lib/frame.js +131 -0
- package/dist/diagrams/lib/frame.js.map +1 -0
- package/dist/diagrams/lib/geometry.d.ts +114 -0
- package/dist/diagrams/lib/geometry.js +113 -0
- package/dist/diagrams/lib/geometry.js.map +1 -0
- package/dist/diagrams/lib/legend.d.ts +32 -0
- package/dist/diagrams/lib/legend.js +84 -0
- package/dist/diagrams/lib/legend.js.map +1 -0
- package/dist/diagrams/lib/marks.d.ts +207 -0
- package/dist/diagrams/lib/marks.js +480 -0
- package/dist/diagrams/lib/marks.js.map +1 -0
- package/dist/diagrams/lib/route.d.ts +106 -0
- package/dist/diagrams/lib/route.js +201 -0
- package/dist/diagrams/lib/route.js.map +1 -0
- package/dist/diagrams/lib/wires.d.ts +59 -0
- package/dist/diagrams/lib/wires.js +94 -0
- package/dist/diagrams/lib/wires.js.map +1 -0
- package/dist/diagrams/spec.d.ts +405 -0
- package/dist/diagrams/spec.js +1 -0
- package/dist/diagrams/spec.js.map +1 -0
- package/dist/fonts/hanken-grotesk-300.woff2 +0 -0
- package/dist/fonts/hanken-grotesk-400.woff2 +0 -0
- package/dist/fonts/hanken-grotesk-500.woff2 +0 -0
- package/dist/fonts/hanken-grotesk-600.woff2 +0 -0
- package/dist/fonts/hanken-grotesk-700.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-400.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-500.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-600.woff2 +0 -0
- package/dist/fonts/newsreader-300.woff2 +0 -0
- package/dist/fonts/newsreader-400.woff2 +0 -0
- package/dist/fonts/newsreader-500.woff2 +0 -0
- package/dist/fonts/newsreader-600.woff2 +0 -0
- package/dist/fonts.css +96 -0
- package/dist/index.d.ts +97 -0
- package/dist/index.js +80 -0
- package/dist/index.js.map +1 -0
- package/dist/keyframes.css +300 -0
- package/dist/lib/cn.d.ts +21 -0
- package/dist/lib/cn.js +9 -0
- package/dist/lib/cn.js.map +1 -0
- package/dist/lib/color.d.ts +80 -0
- package/dist/lib/color.js +189 -0
- package/dist/lib/color.js.map +1 -0
- package/dist/lib/control.d.ts +32 -0
- package/dist/lib/control.js +14 -0
- package/dist/lib/control.js.map +1 -0
- package/dist/lib/index.d.ts +4 -0
- package/dist/lib/index.js +11 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/numeric.d.ts +35 -0
- package/dist/lib/numeric.js +29 -0
- package/dist/lib/numeric.js.map +1 -0
- package/dist/lib/overlay-container.d.ts +48 -0
- package/dist/lib/overlay-container.js +15 -0
- package/dist/lib/overlay-container.js.map +1 -0
- package/dist/lib/slot-content.d.ts +8 -0
- package/dist/lib/slot-content.js +17 -0
- package/dist/lib/slot-content.js.map +1 -0
- package/dist/lib/step-rail.d.ts +45 -0
- package/dist/lib/step-rail.js +47 -0
- package/dist/lib/step-rail.js.map +1 -0
- package/dist/lib/svg-export.d.ts +138 -0
- package/dist/lib/svg-export.js +198 -0
- package/dist/lib/svg-export.js.map +1 -0
- package/dist/lib/useClipboardCopy.d.ts +30 -0
- package/dist/lib/useClipboardCopy.js +37 -0
- package/dist/lib/useClipboardCopy.js.map +1 -0
- package/dist/lib/useSelectionIndicator.d.ts +29 -0
- package/dist/lib/useSelectionIndicator.js +49 -0
- package/dist/lib/useSelectionIndicator.js.map +1 -0
- package/dist/lib/warn.d.ts +73 -0
- package/dist/lib/warn.js +38 -0
- package/dist/lib/warn.js.map +1 -0
- package/dist/semantic.css +200 -0
- package/dist/styles.css +98 -0
- package/dist/themes.css +607 -0
- package/dist/tokens/brand.d.ts +47 -0
- package/dist/tokens/brand.js +38 -0
- package/dist/tokens/brand.js.map +1 -0
- package/dist/tokens.css +666 -0
- package/dist/tokens.d.ts +205 -0
- package/dist/tokens.js +1056 -0
- package/dist/tokens.json +1055 -0
- package/dist/website/Actions/Actions.d.ts +34 -0
- package/dist/website/Actions/Actions.js +29 -0
- package/dist/website/Actions/Actions.js.map +1 -0
- package/dist/website/Collection/Collection.d.ts +128 -0
- package/dist/website/Collection/Collection.js +162 -0
- package/dist/website/Collection/Collection.js.map +1 -0
- package/dist/website/Contact/Contact.d.ts +87 -0
- package/dist/website/Contact/Contact.js +94 -0
- package/dist/website/Contact/Contact.js.map +1 -0
- package/dist/website/Content/CodePanel.d.ts +27 -0
- package/dist/website/Content/CodePanel.js +30 -0
- package/dist/website/Content/CodePanel.js.map +1 -0
- package/dist/website/Content/Content.d.ts +29 -0
- package/dist/website/Content/Content.js +38 -0
- package/dist/website/Content/Content.js.map +1 -0
- package/dist/website/Conversation/Conversation.d.ts +193 -0
- package/dist/website/Conversation/Conversation.js +252 -0
- package/dist/website/Conversation/Conversation.js.map +1 -0
- package/dist/website/Evidence/Evidence.d.ts +116 -0
- package/dist/website/Evidence/Evidence.js +142 -0
- package/dist/website/Evidence/Evidence.js.map +1 -0
- package/dist/website/Media/Media.d.ts +173 -0
- package/dist/website/Media/Media.js +225 -0
- package/dist/website/Media/Media.js.map +1 -0
- package/dist/website/Media/MediaLightbox.d.ts +18 -0
- package/dist/website/Media/MediaLightbox.js +38 -0
- package/dist/website/Media/MediaLightbox.js.map +1 -0
- package/dist/website/Metrics/Metrics.d.ts +74 -0
- package/dist/website/Metrics/Metrics.js +96 -0
- package/dist/website/Metrics/Metrics.js.map +1 -0
- package/dist/website/Music/Music.d.ts +60 -0
- package/dist/website/Music/Music.js +80 -0
- package/dist/website/Music/Music.js.map +1 -0
- package/dist/website/Portfolio/FrameLayout.d.ts +9 -0
- package/dist/website/Portfolio/FrameLayout.js +42 -0
- package/dist/website/Portfolio/FrameLayout.js.map +1 -0
- package/dist/website/Portfolio/Portfolio.d.ts +49 -0
- package/dist/website/Portfolio/Portfolio.js +66 -0
- package/dist/website/Portfolio/Portfolio.js.map +1 -0
- package/dist/website/Portfolio/QuestionCard.d.ts +22 -0
- package/dist/website/Portfolio/QuestionCard.js +33 -0
- package/dist/website/Portfolio/QuestionCard.js.map +1 -0
- package/dist/website/PortfolioIndex/PortfolioIndex.d.ts +21 -0
- package/dist/website/PortfolioIndex/PortfolioIndex.js +31 -0
- package/dist/website/PortfolioIndex/PortfolioIndex.js.map +1 -0
- package/dist/website/Reading/Reading.d.ts +203 -0
- package/dist/website/Reading/Reading.js +357 -0
- package/dist/website/Reading/Reading.js.map +1 -0
- package/dist/website/Recovery/Recovery.d.ts +39 -0
- package/dist/website/Recovery/Recovery.js +96 -0
- package/dist/website/Recovery/Recovery.js.map +1 -0
- package/dist/website/SearchPalette/SearchPalette.d.ts +59 -0
- package/dist/website/SearchPalette/SearchPalette.js +120 -0
- package/dist/website/SearchPalette/SearchPalette.js.map +1 -0
- package/dist/website/SiteNavigation/SiteNavigation.d.ts +46 -0
- package/dist/website/SiteNavigation/SiteNavigation.js +101 -0
- package/dist/website/SiteNavigation/SiteNavigation.js.map +1 -0
- package/dist/website/SiteShell/SiteShell.d.ts +45 -0
- package/dist/website/SiteShell/SiteShell.js +46 -0
- package/dist/website/SiteShell/SiteShell.js.map +1 -0
- package/dist/website/Timeline/Timeline.d.ts +80 -0
- package/dist/website/Timeline/Timeline.js +99 -0
- package/dist/website/Timeline/Timeline.js.map +1 -0
- package/dist/website/Workbench/Chronology.d.ts +32 -0
- package/dist/website/Workbench/Chronology.js +32 -0
- package/dist/website/Workbench/Chronology.js.map +1 -0
- package/dist/website/Workbench/ContactRow.d.ts +13 -0
- package/dist/website/Workbench/ContactRow.js +11 -0
- package/dist/website/Workbench/ContactRow.js.map +1 -0
- package/dist/website/Workbench/PhotoMosaic.d.ts +13 -0
- package/dist/website/Workbench/PhotoMosaic.js +15 -0
- package/dist/website/Workbench/PhotoMosaic.js.map +1 -0
- package/dist/website/Workbench/Reveal.d.ts +19 -0
- package/dist/website/Workbench/Reveal.js +29 -0
- package/dist/website/Workbench/Reveal.js.map +1 -0
- package/dist/website/Workbench/ToolStrip.d.ts +18 -0
- package/dist/website/Workbench/ToolStrip.js +15 -0
- package/dist/website/Workbench/ToolStrip.js.map +1 -0
- package/dist/website/Workbench/Workbench.d.ts +23 -0
- package/dist/website/Workbench/Workbench.js +22 -0
- package/dist/website/Workbench/Workbench.js.map +1 -0
- package/dist/website/Workbench/WorkbenchCard.d.ts +29 -0
- package/dist/website/Workbench/WorkbenchCard.js +21 -0
- package/dist/website/Workbench/WorkbenchCard.js.map +1 -0
- package/dist/website/Workbench/WorkbenchEntries.d.ts +22 -0
- package/dist/website/Workbench/WorkbenchEntries.js +24 -0
- package/dist/website/Workbench/WorkbenchEntries.js.map +1 -0
- package/dist/website/Workbench/WorkbenchFigure.d.ts +20 -0
- package/dist/website/Workbench/WorkbenchFigure.js +15 -0
- package/dist/website/Workbench/WorkbenchFigure.js.map +1 -0
- package/dist/website/Workbench/WorkbenchHero.d.ts +24 -0
- package/dist/website/Workbench/WorkbenchHero.js +24 -0
- package/dist/website/Workbench/WorkbenchHero.js.map +1 -0
- package/dist/website/Workbench/theme.d.ts +22 -0
- package/dist/website/Workbench/theme.js +12 -0
- package/dist/website/Workbench/theme.js.map +1 -0
- package/dist/website/index.d.ts +38 -0
- package/dist/website/index.js +32 -0
- package/dist/website/index.js.map +1 -0
- package/dist/website-actions.css +6 -0
- package/dist/website-base.css +46 -0
- package/dist/website-collection.css +89 -0
- package/dist/website-contact.css +29 -0
- package/dist/website-content.css +20 -0
- package/dist/website-controls.css +91 -0
- package/dist/website-conversation.css +115 -0
- package/dist/website-evidence.css +56 -0
- package/dist/website-media.css +227 -0
- package/dist/website-metrics.css +15 -0
- package/dist/website-music.css +27 -0
- package/dist/website-portfolio.css +94 -0
- package/dist/website-reading.css +159 -0
- package/dist/website-recovery.css +28 -0
- package/dist/website-search.css +26 -0
- package/dist/website-shell.css +89 -0
- package/dist/website-timeline.css +43 -0
- package/dist/website-workbench.css +162 -0
- package/dist/website.css +26 -0
- package/llms.txt +35 -0
- package/package.json +163 -5
- package/skills/folio-design/SKILL.md +228 -0
- package/skills/folio-design/evals/claims.json +95 -0
- package/skills/folio-design/evals/evals.json +84 -0
- package/skills/folio-design/rules/a11y.md +167 -0
- package/skills/folio-design/rules/composition.md +108 -0
- package/skills/folio-design/rules/forms.md +135 -0
- package/skills/folio-design/rules/naming.md +155 -0
- package/skills/folio-design/rules/tokens.md +135 -0
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
# @misoto22/folio 0.17.0
|
|
2
|
+
|
|
3
|
+
> Monochrome design system: portable CSS tokens and accessible React 19
|
|
4
|
+
> primitives. Components ship compiled — import them, do not copy them.
|
|
5
|
+
|
|
6
|
+
Install: `npm install @misoto22/folio`. Styles: `import '@misoto22/folio/styles.css'`. Website compositions add `website.css`, and `website-base.css` when the whole page is a website.
|
|
7
|
+
|
|
8
|
+
One component, in full, offline:
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
npx @misoto22/folio docs <Component>
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Theme axes
|
|
15
|
+
|
|
16
|
+
Attributes, independent, and they work on any element — not just the root.
|
|
17
|
+
An unset axis is the default.
|
|
18
|
+
|
|
19
|
+
- `data-accent`: `clay` `cobalt` `ember` `forest` `ink` `moss` `plum` (unset = ink)
|
|
20
|
+
- `data-action`: `accent` `ink` (unset = accent)
|
|
21
|
+
- `data-chart-palette`: `accent` `chroma` (unset = the neutral series ramp)
|
|
22
|
+
- `data-density`: `comfortable` `compact` (unset = comfortable)
|
|
23
|
+
- `data-mode`: `dark` `light` (unset = follows the app)
|
|
24
|
+
- `data-motion`: `snappy` `still` (unset = calm)
|
|
25
|
+
- `data-radius`: `round` `sharp` (unset = the default radius ladder)
|
|
26
|
+
- `data-rules`: `firm` `hairline` `quiet` (unset = hairline)
|
|
27
|
+
- `data-surface`: `cool` `glass` `linen` `paper` `warm` (unset = paper)
|
|
28
|
+
- `data-table-density`: `compact` (unset = comfortable — whatever `data-density` is doing around it)
|
|
29
|
+
- `data-type`: `bookish` `editorial` `grotesk` (unset = editorial)
|
|
30
|
+
- `data-voice`: `display` `quiet` (unset = display)
|
|
31
|
+
|
|
32
|
+
`data-accent` re-points one token, `--clay`, which every component reads
|
|
33
|
+
through `--accent`. A brand the package has never seen re-points it in a
|
|
34
|
+
stylesheet instead; the attribute is the shipped set, not the only way in.
|
|
35
|
+
|
|
36
|
+
## Components
|
|
37
|
+
|
|
38
|
+
### Actions
|
|
39
|
+
|
|
40
|
+
- **Button** — The system’s action, on the same corner as the field beside it.
|
|
41
|
+
- **FloatingIconButton** — A round action pinned to a screen corner.
|
|
42
|
+
|
|
43
|
+
### Forms
|
|
44
|
+
|
|
45
|
+
- **Field** — A labelled form row: label, control, and the one message below it — and, in row layout, the settings row.
|
|
46
|
+
- **Input** — A single line of text entry.
|
|
47
|
+
- **NumberField** — A number, typed or swept to.
|
|
48
|
+
- **Textarea** — Multi-line text entry, resizable vertically only.
|
|
49
|
+
- **Select** — A choice from a list, styled the whole way down.
|
|
50
|
+
- **NativeSelect** — The platform’s own picker, restyled where it can be.
|
|
51
|
+
- **Checkbox** — A choice that takes effect when the form is submitted.
|
|
52
|
+
- **RadioGroup** — A set of mutually exclusive choices.
|
|
53
|
+
- **Switch** — A setting that takes effect immediately.
|
|
54
|
+
- **Combobox** — A select you can type into.
|
|
55
|
+
- **DatePicker** — A date — or a span of them — chosen from a calendar.
|
|
56
|
+
- **ColorPicker** — A colour, chosen or typed.
|
|
57
|
+
- **Slider** — A value chosen along a range.
|
|
58
|
+
- **ToggleGroup** — A segmented control: several options, one strip.
|
|
59
|
+
|
|
60
|
+
### Navigation
|
|
61
|
+
|
|
62
|
+
- **Tabs** — One strip, several panels.
|
|
63
|
+
- **Accordion** — Disclosure rows that open in place.
|
|
64
|
+
- **Breadcrumb** — Where you are, as a path.
|
|
65
|
+
- **Pagination** — Numbered pages, with the middle elided.
|
|
66
|
+
- **Sidebar** — A navigation rail down the side of an application.
|
|
67
|
+
- **NavItem** — A row in a sidebar.
|
|
68
|
+
- **Collapsible** — One thing that opens, on its own.
|
|
69
|
+
|
|
70
|
+
### Overlays
|
|
71
|
+
|
|
72
|
+
- **Dialog** — A modal surface: portal, scrim, centred panel.
|
|
73
|
+
- **DropdownMenu** — A menu of actions.
|
|
74
|
+
- **Tooltip** — A short label on hover and on focus.
|
|
75
|
+
- **Popover** — A panel anchored to a control, holding content you can interact with.
|
|
76
|
+
- **Sheet** — A panel docked to an edge of the viewport.
|
|
77
|
+
- **ContextMenu** — The menu a right-click opens.
|
|
78
|
+
- **SearchableMenu** — A menu of actions you can type into.
|
|
79
|
+
- **Command** — A filterable list of actions — the ⌘K surface.
|
|
80
|
+
|
|
81
|
+
### Feedback
|
|
82
|
+
|
|
83
|
+
- **Spinner** — The one “working” indicator — a ring, never a shimmer.
|
|
84
|
+
- **Skeleton** — The shape of the page, before the page.
|
|
85
|
+
- **Progress** — A bar that fills, or sweeps when the end is unknown.
|
|
86
|
+
- **Alert** — A message about the page, in place.
|
|
87
|
+
- **EmptyState** — A collection with nothing in it — yet.
|
|
88
|
+
- **ErrorState** — A page that could not be shown.
|
|
89
|
+
- **Toast** — A transient confirmation, mounted once near the app root.
|
|
90
|
+
|
|
91
|
+
### Display
|
|
92
|
+
|
|
93
|
+
- **Badge** — A count or a state, set in mono so it reads as metadata.
|
|
94
|
+
- **Tag** — A subject label — a topic, a technology, a filter facet — that filters with onClick and is dismissed with onRemove.
|
|
95
|
+
- **Kbd** — A key on a keyboard, set as one.
|
|
96
|
+
- **Avatar** — A person, as a circle, with initials until the image lands.
|
|
97
|
+
- **StatusDot** — The dot beside a status word.
|
|
98
|
+
- **Steps** — A numbered sequence, as a rail — one thing after another, with a rule through them.
|
|
99
|
+
- **StatusPill** — A live state, named: a dot plus an uppercase mono label.
|
|
100
|
+
- **LinkArrow** — The mark on a link that leaves the page.
|
|
101
|
+
- **Separator** — A rule, in the three weights a monochrome page needs — with words in it when the break has something to say.
|
|
102
|
+
- **Diagram** — A flow or architecture figure, drawn out of the system’s own parts.
|
|
103
|
+
- **FigureBand** — A row of counted facts, divided by hairlines and nothing else.
|
|
104
|
+
- **Text** — The system’s paragraph, on the second rung of the ink ladder.
|
|
105
|
+
- **Heading** — A heading whose element and whose size are two decisions.
|
|
106
|
+
- **Code** — A function name or a flag, inside a sentence.
|
|
107
|
+
- **CodeBlock** — A multi-line snippet, on a plate, with a way to take it away.
|
|
108
|
+
- **Markdown** — A Markdown string, rendered as this system’s components.
|
|
109
|
+
- **Timestamp** — A date or a time, rendered the one way the system renders them.
|
|
110
|
+
|
|
111
|
+
### Surfaces
|
|
112
|
+
|
|
113
|
+
- **Article** — The long-form reading surface — everything a Markdown pipeline emits, in this system’s type.
|
|
114
|
+
- **Card** — A bounded surface, with no shadow under it.
|
|
115
|
+
- **AppShell** — Two columns on a desktop, a drawer on a phone.
|
|
116
|
+
- **PageHeader** — A page opening: what this page is, and what qualifies it.
|
|
117
|
+
- **Calendar** — A month, as a grid of days.
|
|
118
|
+
- **ScrollArea** — A box that scrolls, with a scrollbar that looks the same everywhere.
|
|
119
|
+
- **DescriptionList** — One record’s fields, as a real <dl> rather than a grid of divs.
|
|
120
|
+
- **Toolbar** — The bar of actions at the edge of a working surface.
|
|
121
|
+
- **AspectRatio** — A box that keeps its shape whatever is inside it.
|
|
122
|
+
|
|
123
|
+
### Data
|
|
124
|
+
|
|
125
|
+
- **Table** — A ruled data table — alignment, sorting and rules all per column.
|
|
126
|
+
- **Heatmap** — A grid of values read by weight.
|
|
127
|
+
- **CalendarHeatmap** — A year of daily readings, as a week-by-week grid.
|
|
128
|
+
- **Sparkline** — A run of numbers at the size of a word.
|
|
129
|
+
- **BarList** — A ranked list, with the bar behind the name rather than beside it.
|
|
130
|
+
- **Metric** — One reading, on a plate: a label, a figure, and what qualifies it.
|
|
131
|
+
- **BigNumber** — One number, at the size of a headline.
|
|
132
|
+
- **BulletChart** — A measure, its target, and the bands that say whether it is any good.
|
|
133
|
+
|
|
134
|
+
### Charts
|
|
135
|
+
|
|
136
|
+
- **AreaChart** — A filled series over a continuous axis, where the area means something.
|
|
137
|
+
- **BarChart** — Discrete categories compared by length.
|
|
138
|
+
- **LineChart** — Several series compared over a continuous axis.
|
|
139
|
+
- **ComposedChart** — Bars and lines over one axis — the volume, and the rate it moved at.
|
|
140
|
+
- **PieChart** — Parts of one whole.
|
|
141
|
+
- **RadarChart** — A profile across several named dimensions.
|
|
142
|
+
- **RadialChart** — Values on an arc — a gauge, or a few totals against one scale.
|
|
143
|
+
- **SankeyChart** — Where a quantity goes as it moves through stages.
|
|
144
|
+
- **ScatterChart** — Two measures against each other, one mark per observation.
|
|
145
|
+
- **FunnelChart** — Stages that only ever narrow.
|
|
146
|
+
- **TreemapChart** — Part of a whole, when the whole has too many parts for a pie — and the parts nest.
|
|
147
|
+
- **BoxPlot** — The spread of a measurement, per category.
|
|
148
|
+
- **Histogram** — The shape of one distribution.
|
|
149
|
+
- **WaterfallChart** — How a total got from one figure to another.
|
|
150
|
+
- **Facet** — The same chart once per group, on one shared scale.
|
|
151
|
+
|
|
152
|
+
### Diagrams
|
|
153
|
+
|
|
154
|
+
- **ArchitectureFigure** — A component map: services, datastores, trust boundaries, and what talks to what.
|
|
155
|
+
- **WorkflowFigure** — A process in lanes and phases, with the main path drawn heavier than its branches.
|
|
156
|
+
- **SequenceFigure** — A call chain over time: who asks whom, in what order, and what comes back.
|
|
157
|
+
- **DataflowFigure** — A pipeline: where data comes from, what happens to it, and who ends up with it.
|
|
158
|
+
- **LifecycleFigure** — A state machine: what something can be, and what moves it between states.
|
|
159
|
+
- **DiagramCanvas** — A frame that a picture larger than it can be panned and zoomed inside.
|
|
160
|
+
- **DiagramToolbar** — A bar of actions belonging to the surface underneath them.
|
|
161
|
+
- **DiagramExportMenu** — Taking the figure off the page: PNG, JPEG, WebP, SVG and a 1200×630 share card.
|
|
162
|
+
- **DiagramInspector** — What the reader just picked, written out beside the picture.
|
|
163
|
+
- **DiagramMinimap** — Where you are in something bigger than the window.
|
|
164
|
+
- **DiagramLegend** — The key: which drawn form means which kind of thing.
|
|
165
|
+
|
|
166
|
+
## Website patterns
|
|
167
|
+
|
|
168
|
+
- **SiteShell** — Page landmarks, footer groups and shared section headings.
|
|
169
|
+
- **SiteNavigation** — Responsive navigation and explicit language or appearance choices.
|
|
170
|
+
- **Portfolio** — An editorial introduction, featured images, records and a question card.
|
|
171
|
+
- **PortfolioIndex** — Tabbed collections with a supporting editorial column.
|
|
172
|
+
- **Collection** — Collection headings, search controls, featured records and empty states.
|
|
173
|
+
- **Reading** — Article and project layouts, outlines, media and installation instructions.
|
|
174
|
+
- **Contact** — A correspondence form, contact facts, questions and location imagery.
|
|
175
|
+
- **Music** — Featured recordings, track rows and playlist collections.
|
|
176
|
+
- **Timeline** — Career records, profile narratives and chronological lists.
|
|
177
|
+
- **Recovery** — Loading, unavailable and missing-page states with recovery actions.
|
|
178
|
+
- **Media** — Photograph collections, lightboxes, image details and map controls.
|
|
179
|
+
- **Metrics** — Metric panels, accessible data tables and chart arrangements.
|
|
180
|
+
- **SearchPalette** — Search results, actions and a detail view in one accessible modal.
|
|
181
|
+
- **Content** — Formatted code, clipboard actions, step sequences and rich-content elements.
|
|
182
|
+
- **Actions** — Share action menus and a scroll-to-top control.
|
|
183
|
+
- **Conversation** — Conversation threads, answers, citations, composers and floating chat surfaces.
|
|
184
|
+
- **Evidence** — Expandable traces, source stages, scores and timing summaries.
|
|
185
|
+
- **Workbench** — Section rhythm, hero, cards, entries, timeline, mosaic and scroll reveal for the Workbench preset.
|
package/dist/article.css
ADDED
|
@@ -0,0 +1,407 @@
|
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
ARTICLE — the long-form reading surface
|
|
3
|
+
--------------------------------------------------------------------------
|
|
4
|
+
The one place in this package that styles TAGS rather than components, and
|
|
5
|
+
the reason is that its input is not JSX: it is whatever a Markdown or MDX
|
|
6
|
+
pipeline produced. There is no component to hang a class on, so the contract
|
|
7
|
+
has to be the element names themselves.
|
|
8
|
+
|
|
9
|
+
Scoped to `[data-folio-article]`, which the `Article` component writes. Nothing
|
|
10
|
+
here leaks: a page that does not opt in is untouched.
|
|
11
|
+
|
|
12
|
+
Inside one, these rules BEAT a component's utilities, and that is the
|
|
13
|
+
mechanism the composition rests on rather than an accident. `styles/index.css`
|
|
14
|
+
imports this file unlayered while Tailwind's utilities sit in
|
|
15
|
+
`@layer utilities`, and an unlayered rule wins over a layered one whatever
|
|
16
|
+
either one's specificity is. So a `Markdown` paragraph — a `Text` carrying
|
|
17
|
+
`m-0` — gives its margin up to the rhythm below, which is the only reason
|
|
18
|
+
markdown dropped into an article reads as an article. The low specificity
|
|
19
|
+
here is for ordering these rules against EACH OTHER (see the `:is()` note
|
|
20
|
+
further down), not for losing to a utility.
|
|
21
|
+
|
|
22
|
+
A component that has to keep a property inside an article therefore cannot
|
|
23
|
+
do it with a class: it needs an inline style, or a tag this file does not
|
|
24
|
+
reach for — which is why `Diagram` draws its caption as a `<div>` rather than
|
|
25
|
+
as a `<figcaption>`.
|
|
26
|
+
|
|
27
|
+
It reads only tokens. Re-point the palette or move the radius factor and the
|
|
28
|
+
article moves with everything else, which is the whole reason this is here
|
|
29
|
+
rather than in each consuming site: three sites hand-rolling a prose
|
|
30
|
+
stylesheet is three prose stylesheets that drift.
|
|
31
|
+
========================================================================== */
|
|
32
|
+
|
|
33
|
+
[data-folio-article] {
|
|
34
|
+
/* A measure, not a width. A narrower column still wins, and a figure or a
|
|
35
|
+
table opts out of it explicitly below. */
|
|
36
|
+
max-width: var(--w-reading);
|
|
37
|
+
color: var(--ink-2);
|
|
38
|
+
font-family: var(--sans);
|
|
39
|
+
font-size: 1rem;
|
|
40
|
+
font-weight: 300;
|
|
41
|
+
line-height: 1.75;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/* ─── Headings ─────────────────────────────────────────────────────────────
|
|
45
|
+
The type ladder, unchanged. An article does not get its own scale — it is
|
|
46
|
+
the same five steps every other surface climbs, which is what makes a post
|
|
47
|
+
and a component page read as one publication. */
|
|
48
|
+
|
|
49
|
+
[data-folio-article] :is(h1, h2, h3, h4, h5, h6) {
|
|
50
|
+
margin: 0;
|
|
51
|
+
color: var(--ink);
|
|
52
|
+
font-family: var(--font-heading, var(--serif));
|
|
53
|
+
font-weight: 400;
|
|
54
|
+
line-height: 1.25;
|
|
55
|
+
/* An anchored heading has to clear the masthead it scrolls under. */
|
|
56
|
+
scroll-margin-top: var(--scroll-offset);
|
|
57
|
+
}
|
|
58
|
+
[data-folio-article] h1 {
|
|
59
|
+
font-size: var(--fs-title);
|
|
60
|
+
letter-spacing: -0.02em;
|
|
61
|
+
}
|
|
62
|
+
[data-folio-article] h2 {
|
|
63
|
+
font-size: var(--fs-heading);
|
|
64
|
+
}
|
|
65
|
+
[data-folio-article] h3 {
|
|
66
|
+
font-size: var(--fs-sub);
|
|
67
|
+
}
|
|
68
|
+
[data-folio-article] h4 {
|
|
69
|
+
font-size: var(--fs-item);
|
|
70
|
+
}
|
|
71
|
+
[data-folio-article] :is(h5, h6) {
|
|
72
|
+
font-family: var(--mono);
|
|
73
|
+
font-size: 11px;
|
|
74
|
+
font-weight: 400;
|
|
75
|
+
letter-spacing: 0.2em;
|
|
76
|
+
text-transform: uppercase;
|
|
77
|
+
color: var(--ink-3-aa);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/* ─── Rhythm ───────────────────────────────────────────────────────────────
|
|
81
|
+
Every block gets air ABOVE it and none below, the first one gets none at
|
|
82
|
+
all, and a heading gets more air above than below so it belongs to what
|
|
83
|
+
follows rather than to what it interrupts.
|
|
84
|
+
|
|
85
|
+
The reset uses `:where()`, and that is the load-bearing part. A plain
|
|
86
|
+
`[data-folio-article] p { margin: 0 }` is specificity 0,1,1 and outranks
|
|
87
|
+
`[data-folio-article] > * + *` at 0,1,0 — so the reset silently won and every
|
|
88
|
+
paragraph in the article lost its spacing, which is exactly the defect this
|
|
89
|
+
replaces. `:where()` contributes nothing, so the reset and the rhythm sit at
|
|
90
|
+
the same weight and source order decides, which is what a reset is for. */
|
|
91
|
+
|
|
92
|
+
[data-folio-article] :where(*) {
|
|
93
|
+
margin: 0;
|
|
94
|
+
}
|
|
95
|
+
[data-folio-article] > * + * {
|
|
96
|
+
margin-block-start: 1.25em;
|
|
97
|
+
}
|
|
98
|
+
/* `:is()` takes the specificity of its heaviest argument, so these two land at
|
|
99
|
+
0,1,1 and win over the general rule above whatever their order. */
|
|
100
|
+
[data-folio-article] > :is(h1, h2, h3, h4, h5, h6) {
|
|
101
|
+
margin-block-start: 2.25em;
|
|
102
|
+
}
|
|
103
|
+
[data-folio-article] > :is(h1, h2, h3, h4, h5, h6) + * {
|
|
104
|
+
margin-block-start: 0.75em;
|
|
105
|
+
}
|
|
106
|
+
[data-folio-article] > :first-child {
|
|
107
|
+
margin-block-start: 0;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/* The opening paragraph carries the piece. Marked, not guessed: an author
|
|
111
|
+
writes `<p class="lead">` (or a pipeline emits it), rather than the
|
|
112
|
+
stylesheet deciding that whatever came first is a standfirst. */
|
|
113
|
+
[data-folio-article] p.lead {
|
|
114
|
+
font-size: var(--fs-item);
|
|
115
|
+
line-height: 1.6;
|
|
116
|
+
color: var(--ink);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/* ─── Inline ─────────────────────────────────────────────────────────────── */
|
|
120
|
+
|
|
121
|
+
[data-folio-article] a {
|
|
122
|
+
color: var(--ink);
|
|
123
|
+
/* Extend the hit area without changing the surrounding line box. */
|
|
124
|
+
padding-block: max(0px, calc((var(--control-h-md) - 1.25em) / 2));
|
|
125
|
+
text-decoration: underline;
|
|
126
|
+
text-decoration-color: var(--rule-2);
|
|
127
|
+
text-underline-offset: 4px;
|
|
128
|
+
transition: text-decoration-color var(--fast) var(--ease);
|
|
129
|
+
}
|
|
130
|
+
[data-folio-article] a:hover {
|
|
131
|
+
text-decoration-color: var(--ink);
|
|
132
|
+
}
|
|
133
|
+
[data-folio-article] strong {
|
|
134
|
+
color: var(--ink);
|
|
135
|
+
font-weight: 500;
|
|
136
|
+
}
|
|
137
|
+
[data-folio-article] em {
|
|
138
|
+
font-style: italic;
|
|
139
|
+
}
|
|
140
|
+
[data-folio-article] mark {
|
|
141
|
+
background: var(--accent-muted);
|
|
142
|
+
color: var(--ink);
|
|
143
|
+
padding-inline: 0.2em;
|
|
144
|
+
}
|
|
145
|
+
[data-folio-article] abbr[title] {
|
|
146
|
+
text-decoration: underline dotted var(--rule-2);
|
|
147
|
+
text-underline-offset: 3px;
|
|
148
|
+
}
|
|
149
|
+
[data-folio-article] :is(sub, sup) {
|
|
150
|
+
font-size: 0.75em;
|
|
151
|
+
line-height: 0;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/* ─── Lists ────────────────────────────────────────────────────────────────
|
|
155
|
+
The marker is a token, not a glyph the browser picks: a default disc is a
|
|
156
|
+
filled circle at whatever size the font decides, and this system's only
|
|
157
|
+
filled circle is a status dot. */
|
|
158
|
+
|
|
159
|
+
[data-folio-article] :is(ul, ol) {
|
|
160
|
+
padding-inline-start: 1.4em;
|
|
161
|
+
}
|
|
162
|
+
[data-folio-article] :is(ul, ol) :is(ul, ol) {
|
|
163
|
+
margin-block-start: 0.4em;
|
|
164
|
+
}
|
|
165
|
+
[data-folio-article] li + li {
|
|
166
|
+
margin-block-start: 0.4em;
|
|
167
|
+
}
|
|
168
|
+
/* A paragraph or a fence nested inside a list item is still a block. */
|
|
169
|
+
[data-folio-article] li > * + * {
|
|
170
|
+
margin-block-start: 0.6em;
|
|
171
|
+
}
|
|
172
|
+
[data-folio-article] li::marker {
|
|
173
|
+
color: var(--ink-3-aa);
|
|
174
|
+
font-size: 0.9em;
|
|
175
|
+
}
|
|
176
|
+
[data-folio-article] ul {
|
|
177
|
+
list-style: none;
|
|
178
|
+
padding-inline-start: 1.15em;
|
|
179
|
+
}
|
|
180
|
+
[data-folio-article] ul > li {
|
|
181
|
+
position: relative;
|
|
182
|
+
}
|
|
183
|
+
/* A hairline dash, which is the marker the rest of the system uses. */
|
|
184
|
+
[data-folio-article] ul > li::before {
|
|
185
|
+
content: '';
|
|
186
|
+
position: absolute;
|
|
187
|
+
inset-inline-start: -1.15em;
|
|
188
|
+
inset-block-start: 0.85em;
|
|
189
|
+
width: 0.55em;
|
|
190
|
+
height: 1px;
|
|
191
|
+
background: var(--rule-2);
|
|
192
|
+
}
|
|
193
|
+
/* A task list already has its own marker — the checkbox. Both spellings,
|
|
194
|
+
because a pipeline may wrap the input in a label and `:has()` is what makes
|
|
195
|
+
the rule work either way. */
|
|
196
|
+
[data-folio-article] ul > li:has(input[type='checkbox'])::before {
|
|
197
|
+
content: none;
|
|
198
|
+
}
|
|
199
|
+
[data-folio-article] li:has(input[type='checkbox']) {
|
|
200
|
+
padding-inline-start: 0;
|
|
201
|
+
}
|
|
202
|
+
[data-folio-article] input[type='checkbox'] {
|
|
203
|
+
accent-color: var(--accent);
|
|
204
|
+
margin-inline-end: 0.5em;
|
|
205
|
+
/* A published checklist REPORTS state; it does not collect it. Disabled at
|
|
206
|
+
full opacity, because the dimming a browser applies to a disabled control
|
|
207
|
+
is a hint that it is unavailable, not that it is unticked. */
|
|
208
|
+
opacity: 1;
|
|
209
|
+
}
|
|
210
|
+
[data-folio-article] li:has(input[type='checkbox']) label {
|
|
211
|
+
display: inline;
|
|
212
|
+
cursor: default;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
[data-folio-article] dt {
|
|
216
|
+
color: var(--ink);
|
|
217
|
+
font-weight: 500;
|
|
218
|
+
}
|
|
219
|
+
[data-folio-article] dd {
|
|
220
|
+
margin-block-end: 0.75em;
|
|
221
|
+
padding-inline-start: 1em;
|
|
222
|
+
border-inline-start: 1px solid var(--rule);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
/* ─── Quotation ────────────────────────────────────────────────────────────
|
|
226
|
+
A rule and a change of face, not italics and not a giant quote mark. */
|
|
227
|
+
|
|
228
|
+
[data-folio-article] blockquote {
|
|
229
|
+
padding-inline-start: 1.25em;
|
|
230
|
+
border-inline-start: 2px solid var(--rule-hard);
|
|
231
|
+
color: var(--ink);
|
|
232
|
+
font-family: var(--serif);
|
|
233
|
+
font-size: var(--fs-item);
|
|
234
|
+
line-height: 1.55;
|
|
235
|
+
}
|
|
236
|
+
[data-folio-article] blockquote p + p {
|
|
237
|
+
margin-block-start: 0.6em;
|
|
238
|
+
}
|
|
239
|
+
[data-folio-article] blockquote cite {
|
|
240
|
+
display: block;
|
|
241
|
+
margin-block-start: 0.75em;
|
|
242
|
+
color: var(--ink-3-aa);
|
|
243
|
+
font-family: var(--mono);
|
|
244
|
+
font-size: 11px;
|
|
245
|
+
font-style: normal;
|
|
246
|
+
letter-spacing: 0.08em;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
/* ─── Code ─────────────────────────────────────────────────────────────────
|
|
250
|
+
An inline span is a chip; a block is a plate. Neither is a second surface
|
|
251
|
+
colour — both sit on the one elevated step the system has. */
|
|
252
|
+
|
|
253
|
+
[data-folio-article] code {
|
|
254
|
+
background: var(--stone);
|
|
255
|
+
border-radius: var(--radius-sm);
|
|
256
|
+
padding: 0.15em 0.4em;
|
|
257
|
+
color: var(--ink);
|
|
258
|
+
font-family: var(--mono);
|
|
259
|
+
font-size: 0.85em;
|
|
260
|
+
}
|
|
261
|
+
[data-folio-article] pre {
|
|
262
|
+
padding: 1rem 1.125rem;
|
|
263
|
+
overflow-x: auto;
|
|
264
|
+
background: var(--paper-2);
|
|
265
|
+
border: 1px solid var(--rule);
|
|
266
|
+
border-radius: var(--radius-lg);
|
|
267
|
+
font-size: 13px;
|
|
268
|
+
line-height: 1.7;
|
|
269
|
+
scrollbar-width: thin;
|
|
270
|
+
scrollbar-color: var(--rule-2) transparent;
|
|
271
|
+
}
|
|
272
|
+
[data-folio-article] pre code {
|
|
273
|
+
background: none;
|
|
274
|
+
border-radius: 0;
|
|
275
|
+
padding: 0;
|
|
276
|
+
font-size: inherit;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
/* ─── Figures, media and tables ────────────────────────────────────────────
|
|
280
|
+
These are the three things allowed out of the measure: a table with six
|
|
281
|
+
columns and an image with a subject in it are both unreadable at 46rem. */
|
|
282
|
+
|
|
283
|
+
[data-folio-article] :is(figure, table, .folio-wide) {
|
|
284
|
+
width: 100%;
|
|
285
|
+
max-width: none;
|
|
286
|
+
}
|
|
287
|
+
[data-folio-article] > figure {
|
|
288
|
+
margin-block-start: 2em;
|
|
289
|
+
}
|
|
290
|
+
[data-folio-article] :is(img, video) {
|
|
291
|
+
display: block;
|
|
292
|
+
max-width: 100%;
|
|
293
|
+
height: auto;
|
|
294
|
+
border-radius: var(--radius);
|
|
295
|
+
}
|
|
296
|
+
[data-folio-article] figcaption {
|
|
297
|
+
margin-block-start: 0.75em;
|
|
298
|
+
color: var(--ink-3-aa);
|
|
299
|
+
font-family: var(--mono);
|
|
300
|
+
font-size: 11px;
|
|
301
|
+
letter-spacing: 0.08em;
|
|
302
|
+
line-height: 1.6;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
[data-folio-article] .folio-table-scroll {
|
|
306
|
+
overflow-x: auto;
|
|
307
|
+
scrollbar-width: thin;
|
|
308
|
+
scrollbar-color: var(--rule-2) transparent;
|
|
309
|
+
}
|
|
310
|
+
[data-folio-article] table {
|
|
311
|
+
border-collapse: collapse;
|
|
312
|
+
font-size: 0.9375rem;
|
|
313
|
+
text-align: start;
|
|
314
|
+
}
|
|
315
|
+
[data-folio-article] th {
|
|
316
|
+
padding: 0.65em 1.25em 0.65em 0;
|
|
317
|
+
border-block-end: 1px solid var(--rule-hard);
|
|
318
|
+
color: var(--ink-3-aa);
|
|
319
|
+
font-family: var(--mono);
|
|
320
|
+
font-size: 11px;
|
|
321
|
+
font-weight: 400;
|
|
322
|
+
letter-spacing: 0.2em;
|
|
323
|
+
text-transform: uppercase;
|
|
324
|
+
text-align: start;
|
|
325
|
+
white-space: nowrap;
|
|
326
|
+
}
|
|
327
|
+
[data-folio-article] td {
|
|
328
|
+
padding: 0.65em 1.25em 0.65em 0;
|
|
329
|
+
border-block-end: 1px solid var(--rule);
|
|
330
|
+
color: var(--ink-2);
|
|
331
|
+
vertical-align: baseline;
|
|
332
|
+
}
|
|
333
|
+
[data-folio-article] :is(th, td):last-child {
|
|
334
|
+
padding-inline-end: 0;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
[data-folio-article] > hr {
|
|
338
|
+
margin-block-start: 2.5em;
|
|
339
|
+
}
|
|
340
|
+
[data-folio-article] hr {
|
|
341
|
+
border: 0;
|
|
342
|
+
border-block-start: 1px solid var(--rule);
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
[data-folio-article] kbd {
|
|
346
|
+
border: 1px solid var(--rule-2);
|
|
347
|
+
border-radius: var(--radius-sm);
|
|
348
|
+
padding: 0.1em 0.4em;
|
|
349
|
+
color: var(--ink-2);
|
|
350
|
+
font-family: var(--mono);
|
|
351
|
+
font-size: 0.8em;
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
/* ─── Mathematics ──────────────────────────────────────────────────────────
|
|
355
|
+
MathML, which is why there is no font to load and no second stylesheet: the
|
|
356
|
+
browser sets it in the surrounding face. A display formula is centred and
|
|
357
|
+
allowed to scroll, because a long equation is the one block that genuinely
|
|
358
|
+
cannot wrap. */
|
|
359
|
+
|
|
360
|
+
[data-folio-article] math {
|
|
361
|
+
color: var(--ink);
|
|
362
|
+
font-size: 1.05em;
|
|
363
|
+
}
|
|
364
|
+
[data-folio-article] .folio-math {
|
|
365
|
+
/* `overflow-x: auto` alone turns the OTHER axis into `auto` too, which drew
|
|
366
|
+
a vertical scrollbar down the side of every formula. */
|
|
367
|
+
overflow-x: auto;
|
|
368
|
+
overflow-y: hidden;
|
|
369
|
+
padding-block: 0.35em;
|
|
370
|
+
scrollbar-width: thin;
|
|
371
|
+
scrollbar-color: var(--rule-2) transparent;
|
|
372
|
+
}
|
|
373
|
+
/* A block-level `math` is not affected by the container's `text-align`, so it
|
|
374
|
+
is centred the way any block is: by its own margins. */
|
|
375
|
+
[data-folio-article] math[display='block'] {
|
|
376
|
+
display: block;
|
|
377
|
+
width: fit-content;
|
|
378
|
+
margin-inline: auto;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
/* ─── Footnotes ────────────────────────────────────────────────────────────
|
|
382
|
+
Ruled off and set small: they are apparatus, not the piece. */
|
|
383
|
+
|
|
384
|
+
[data-folio-article] > .footnotes {
|
|
385
|
+
margin-block-start: 3em;
|
|
386
|
+
}
|
|
387
|
+
[data-folio-article] .footnotes {
|
|
388
|
+
padding-block-start: 1.5em;
|
|
389
|
+
border-block-start: 1px solid var(--rule);
|
|
390
|
+
font-size: 0.875rem;
|
|
391
|
+
}
|
|
392
|
+
[data-folio-article] .footnotes h2 {
|
|
393
|
+
font-family: var(--mono);
|
|
394
|
+
font-size: 11px;
|
|
395
|
+
letter-spacing: 0.2em;
|
|
396
|
+
text-transform: uppercase;
|
|
397
|
+
color: var(--ink-3-aa);
|
|
398
|
+
}
|
|
399
|
+
/* The reference and its back-arrow keep the underline every other link in the
|
|
400
|
+
article has. Stripping it was a WCAG 1.4.1 failure and axe says so: a link
|
|
401
|
+
inside a block of text has to be distinguishable from the text without
|
|
402
|
+
relying on colour, and ink on --ink-2 is 2.14:1 — well under the 3:1 that
|
|
403
|
+
would let colour carry it alone. */
|
|
404
|
+
[data-folio-article] .footnote-backref {
|
|
405
|
+
/* The glyph is the affordance; a name is not. */
|
|
406
|
+
font-size: 0.9em;
|
|
407
|
+
}
|