@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,24 @@
|
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
function WorkbenchHero({ statement, lead, actions, stats = [], figure }) {
|
|
3
|
+
return /* @__PURE__ */ jsxs("section", { className: "folio-wb-hero", children: [
|
|
4
|
+
/* @__PURE__ */ jsxs("div", { className: "folio-wb-hero-copy", children: [
|
|
5
|
+
/* @__PURE__ */ jsxs("h1", { className: "folio-wb-heading folio-wb-hero-statement", children: [
|
|
6
|
+
/* @__PURE__ */ jsx("span", { children: statement }),
|
|
7
|
+
lead && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
8
|
+
" ",
|
|
9
|
+
/* @__PURE__ */ jsx("span", { className: "folio-wb-heading-lead", children: lead })
|
|
10
|
+
] })
|
|
11
|
+
] }),
|
|
12
|
+
actions && /* @__PURE__ */ jsx("div", { className: "folio-wb-hero-actions", children: actions })
|
|
13
|
+
] }),
|
|
14
|
+
stats.length > 0 && /* @__PURE__ */ jsx("dl", { className: "folio-wb-hero-stats", children: stats.map((stat) => /* @__PURE__ */ jsxs("div", { children: [
|
|
15
|
+
/* @__PURE__ */ jsx("dt", { children: stat.label }),
|
|
16
|
+
/* @__PURE__ */ jsx("dd", { children: stat.value })
|
|
17
|
+
] }, stat.id)) }),
|
|
18
|
+
figure && /* @__PURE__ */ jsx("div", { className: "folio-wb-hero-figure", children: figure })
|
|
19
|
+
] });
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
WorkbenchHero
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=WorkbenchHero.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/website/Workbench/WorkbenchHero.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\n\nexport interface WorkbenchStat {\n id: string\n value: ReactNode\n label: ReactNode\n}\n\nexport interface WorkbenchHeroProps {\n /** The ink clause of the statement; it is the page's h1. */\n statement: ReactNode\n /** The muted continuation of the statement. */\n lead?: ReactNode\n /** Up to two buttons or links, primary first. */\n actions?: ReactNode\n /** Small counts beside the statement, such as projects and posts. */\n stats?: WorkbenchStat[]\n /** One captioned photograph under the statement — a `WorkbenchFigure`. */\n figure?: ReactNode\n}\n\n/** The Workbench opening: a two-tone statement, its actions, a few counts and one photograph. */\nexport function WorkbenchHero({ statement, lead, actions, stats = [], figure }: WorkbenchHeroProps) {\n return (\n <section className=\"folio-wb-hero\">\n <div className=\"folio-wb-hero-copy\">\n <h1 className=\"folio-wb-heading folio-wb-hero-statement\">\n <span>{statement}</span>\n {lead && <> <span className=\"folio-wb-heading-lead\">{lead}</span></>}\n </h1>\n {actions && <div className=\"folio-wb-hero-actions\">{actions}</div>}\n </div>\n {stats.length > 0 && (\n <dl className=\"folio-wb-hero-stats\">\n {stats.map((stat) => (\n <div key={stat.id}>\n <dt>{stat.label}</dt>\n <dd>{stat.value}</dd>\n </div>\n ))}\n </dl>\n )}\n {figure && <div className=\"folio-wb-hero-figure\">{figure}</div>}\n </section>\n )\n}\n"],"mappings":"AA2BU,SACS,UADT,KACS,YADT;AALH,SAAS,cAAc,EAAE,WAAW,MAAM,SAAS,QAAQ,CAAC,GAAG,OAAO,GAAuB;AAClG,SACE,qBAAC,aAAQ,WAAU,iBACjB;AAAA,yBAAC,SAAI,WAAU,sBACb;AAAA,2BAAC,QAAG,WAAU,4CACZ;AAAA,4BAAC,UAAM,qBAAU;AAAA,QAChB,QAAQ,iCAAE;AAAA;AAAA,UAAC,oBAAC,UAAK,WAAU,yBAAyB,gBAAK;AAAA,WAAO;AAAA,SACnE;AAAA,MACC,WAAW,oBAAC,SAAI,WAAU,yBAAyB,mBAAQ;AAAA,OAC9D;AAAA,IACC,MAAM,SAAS,KACd,oBAAC,QAAG,WAAU,uBACX,gBAAM,IAAI,CAAC,SACV,qBAAC,SACC;AAAA,0BAAC,QAAI,eAAK,OAAM;AAAA,MAChB,oBAAC,QAAI,eAAK,OAAM;AAAA,SAFR,KAAK,EAGf,CACD,GACH;AAAA,IAED,UAAU,oBAAC,SAAI,WAAU,wBAAwB,kBAAO;AAAA,KAC3D;AAEJ;","names":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Workbench preset as the attributes a host writes on `<html>`.
|
|
3
|
+
*
|
|
4
|
+
* A preset is a combination of theme axes, never a block of its own, so this
|
|
5
|
+
* is the whole of it: linen ground and warm ink, an ember accent for links and
|
|
6
|
+
* the current state, primary buttons in ink, headings in the grotesk at a quiet voice, and quiet rules. Radius, motion
|
|
7
|
+
* and density stay on their defaults. Spread it onto the root element:
|
|
8
|
+
*
|
|
9
|
+
* ```tsx
|
|
10
|
+
* <html {...WORKBENCH_THEME} data-mode="light">
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
declare const WORKBENCH_THEME: {
|
|
14
|
+
readonly 'data-surface': "linen";
|
|
15
|
+
readonly 'data-accent': "ember";
|
|
16
|
+
readonly 'data-action': "ink";
|
|
17
|
+
readonly 'data-type': "grotesk";
|
|
18
|
+
readonly 'data-rules': "quiet";
|
|
19
|
+
readonly 'data-voice': "quiet";
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export { WORKBENCH_THEME };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/website/Workbench/theme.ts"],"sourcesContent":["/**\n * The Workbench preset as the attributes a host writes on `<html>`.\n *\n * A preset is a combination of theme axes, never a block of its own, so this\n * is the whole of it: linen ground and warm ink, an ember accent for links and\n * the current state, primary buttons in ink, headings in the grotesk at a quiet voice, and quiet rules. Radius, motion\n * and density stay on their defaults. Spread it onto the root element:\n *\n * ```tsx\n * <html {...WORKBENCH_THEME} data-mode=\"light\">\n * ```\n */\nexport const WORKBENCH_THEME = {\n 'data-surface': 'linen',\n 'data-accent': 'ember',\n 'data-action': 'ink',\n 'data-type': 'grotesk',\n 'data-rules': 'quiet',\n 'data-voice': 'quiet',\n} as const\n"],"mappings":"AAYO,MAAM,kBAAkB;AAAA,EAC7B,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,eAAe;AAAA,EACf,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAChB;","names":[]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export { SiteFooter, SiteFooterGroup, SiteFooterProps, SiteLink, SiteLinkProps, SiteSectionHeading, SiteSectionHeadingProps, SiteShell, SiteShellProps } from './SiteShell/SiteShell.js';
|
|
2
|
+
export { NavigationSearchTrigger, NavigationSearchTriggerProps, PreferenceMenu, PreferenceMenuProps, SiteNavigation, SiteNavigationItem, SiteNavigationProps } from './SiteNavigation/SiteNavigation.js';
|
|
3
|
+
export { Portfolio, PortfolioCategories, PortfolioCategoriesProps, PortfolioImage, PortfolioImageProps, PortfolioList, PortfolioListProps, PortfolioProps, PortfolioRecord, PortfolioRecordProps } from './Portfolio/Portfolio.js';
|
|
4
|
+
export { QuestionCard, QuestionCardProps } from './Portfolio/QuestionCard.js';
|
|
5
|
+
export { PortfolioIndex, PortfolioIndexItem, PortfolioIndexProps } from './PortfolioIndex/PortfolioIndex.js';
|
|
6
|
+
export { CollectionControls, CollectionControlsProps, CollectionEmpty, CollectionEmptyProps, CollectionFilter, CollectionFooter, CollectionFooterProps, CollectionGroup, CollectionGroupProps, CollectionIntro, CollectionIntroProps, CollectionLink, CollectionList, CollectionListProps, CollectionMetadata, CollectionMetadataItem, CollectionMetadataProps, CollectionSearch, CollectionSearchProps, CollectionTally, CollectionTallyProps, ContentBand, ContentBandProps, FeaturedRecord, FeaturedRecordProps, HighlightedText, HighlightedTextProps, RecordRow, RecordRowProps, ReferenceLink, ReferenceRows, ReferenceRowsProps, TaxonomyLinks, TaxonomyLinksProps } from './Collection/Collection.js';
|
|
7
|
+
export { ActionBand, ActionBandProps, ArchitectureColumnNode, ArchitectureColumns, ArchitectureColumnsProps, AuthorPanel, AuthorPanelProps, CommandPiece, CommandSnippet, CommandSnippetProps, CommandTab, CommandTabs, CommandTabsProps, ContentFigure, ContentFigureProps, DetailMasthead, DetailMastheadProps, DevicePreview, DevicePreviewProps, FeaturePairs, FeaturePairsProps, MediaPlayback, MediaPlaybackProps, MobileOutline, MobileOutlineProps, OutlineItem, PreviewPair, PreviewPairProps, ReadingFigure, ReadingFigureProps, ReadingForm, ReadingFormProps, ReadingLayout, ReadingLayoutProps, ReadingLead, ReadingLeadProps, ReadingMetadataItem, ReadingPage, ReadingPageProps, ReadingPagerItem, ReadingProgress, ReadingSection, ReadingSectionProps, ReadingSurface, ReadingSurfaceProps, RecordPager, RecordPagerProps, TableOfContents, TableOfContentsProps, TokenLine, TokenLineProps, isSelfNumbered, numberToc } from './Reading/Reading.js';
|
|
8
|
+
export { ContactFacts, ContactFactsProps, ContactFormLabels, ContactFormValues, ContactFormView, ContactFormViewProps, CorrespondenceSection, CorrespondenceSectionProps, LocationFigure, LocationFigureProps, QuestionList, QuestionListProps } from './Contact/Contact.js';
|
|
9
|
+
export { MediaCollectionCard, MediaCollectionCardProps, MediaListRow, MediaListRowProps, MediaPreviewAction, MusicFeature, MusicFeatureProps, MusicSection, MusicSectionProps } from './Music/Music.js';
|
|
10
|
+
export { CareerRecord, CareerRecordProps, ProfileFigure, ProfileFigureProps, ProfileInterests, ProfileInterestsProps, ProfileNarrative, ProfileNarrativeProps, ProfileSection, ProfileSectionProps, ProfileSkill, ProfileSkills, ProfileSkillsProps, RecordSection, RecordSectionProps, Timeline, TimelineItem } from './Timeline/Timeline.js';
|
|
11
|
+
export { LoadingRecords, LoadingRecordsProps, LoadingRouteIntro, LoadingRouteIntroProps, RecoveryLinks, RecoveryLinksProps, RecoveryState, RecoveryStateProps, WebsiteLoading, WebsiteLoadingProps } from './Recovery/Recovery.js';
|
|
12
|
+
export { MediaCollection, MediaCollectionProps, MediaDetailLayout, MediaDetailLayoutProps, MediaGallery, MediaGalleryItem, MediaGalleryItemProps, MediaGalleryProps, MediaGallerySkeleton, MediaGallerySkeletonProps, MediaLightNote, MediaLightNoteLine, MediaLightNoteProps, MediaMapArea, MediaMapAreaList, MediaMapAreaListProps, MediaMapCanvas, MediaMapCanvasProps, MediaMapFrame, MediaMapFrameProps, MediaMapMarker, MediaMapMarkerProps, MediaMapNavigation, MediaMapNavigationProps, MediaMapPin, MediaMapPinProps, MediaMapPreview, MediaMapPreviewProps, MediaMapSection, MediaMapSectionProps, MediaMapSkeleton, MediaMasthead, MediaMastheadProps, MediaMetadata, MediaMetadataProps, MediaPager, MediaPagerItem, MediaPagerItemProps, MediaPagerProps, MediaThumbnail, MediaThumbnailProps, MediaThumbnailStrip, MediaThumbnailStripProps, PhotographFeature, PhotographFeatureProps } from './Media/Media.js';
|
|
13
|
+
export { MediaLightbox, MediaLightboxProps } from './Media/MediaLightbox.js';
|
|
14
|
+
export { LiveCount, LiveCountProps, MetricDelta, MetricDeltaProps, MetricValue, MetricValueProps, MetricsEmptyState, MetricsEmptyStateProps, MetricsList, MetricsListProps, MetricsPanel, MetricsPanelGrid, MetricsPanelGridProps, MetricsPanelProps, MetricsRange, MetricsRangeProps, MetricsSection, MetricsSectionProps } from './Metrics/Metrics.js';
|
|
15
|
+
export { SearchExcerpt, SearchExcerptProps, SearchPalette, SearchPaletteGroup, SearchPaletteItem, SearchPaletteProps } from './SearchPalette/SearchPalette.js';
|
|
16
|
+
export { ContentTable, ContentTableProps, ExternalLinkMark, ExternalLinkMarkProps, SequenceStep, StepSequence, StepSequenceProps, StepSequenceSpec } from './Content/Content.js';
|
|
17
|
+
export { ClipboardButton, ClipboardButtonProps, CodePanel, CodePanelProps } from './Content/CodePanel.js';
|
|
18
|
+
export { ActionMenu, ActionMenuItem, ActionMenuProps, ScrollControl, ScrollControlProps } from './Actions/Actions.js';
|
|
19
|
+
export { ActionProposal, ActionProposalProps, ConversationAnswer, ConversationAnswerHeading, ConversationAnswerProps, ConversationControl, ConversationDock, ConversationDockCorner, ConversationDockProps, ConversationDockWelcome, ConversationDockWelcomeProps, ConversationFacts, ConversationFactsProps, ConversationLauncher, ConversationLauncherProps, ConversationLayout, ConversationLayoutProps, ConversationLog, ConversationLogProps, ConversationProse, ConversationQuote, ConversationQuoteProps, ConversationResizeHandle, ConversationResizeHandleProps, ConversationRoomLink, ConversationSource, ConversationSources, ConversationSourcesProps, ConversationSuggestion, ConversationSuggestions, ConversationSuggestionsProps, ConversationThread, ConversationThreadProps, ConversationTurn, ConversationTurnProps, QuestionComposer, QuestionComposerProps, SelectionToolbar, SelectionToolbarAction, SelectionToolbarProps, StreamingCaret } from './Conversation/Conversation.js';
|
|
20
|
+
export { ActivityTrace, ActivityTraceItem, ActivityTraceProps, EvidenceDisclosure, EvidenceDisclosureProps, EvidenceDuration, EvidenceDurations, EvidenceDurationsProps, EvidenceFacts, EvidenceFactsProps, EvidenceMeter, EvidenceMeterProps, EvidencePanel, EvidencePanelProps, EvidenceQuery, EvidenceQueryProps, EvidenceScore, EvidenceScores, EvidenceScoresProps, EvidenceSelection, EvidenceSelectionProps, EvidenceStage, EvidenceStageProps, EvidenceStages, EvidenceState, EvidenceStatus, EvidenceStatusProps, EvidenceSummary, EvidenceSummaryProps, SignalFigure, SignalFigureProps } from './Evidence/Evidence.js';
|
|
21
|
+
export { Reveal, RevealProps } from './Workbench/Reveal.js';
|
|
22
|
+
export { WorkbenchSection, WorkbenchSectionProps } from './Workbench/Workbench.js';
|
|
23
|
+
export { WorkbenchHero, WorkbenchHeroProps, WorkbenchStat } from './Workbench/WorkbenchHero.js';
|
|
24
|
+
export { WorkbenchFigure, WorkbenchFigureProps } from './Workbench/WorkbenchFigure.js';
|
|
25
|
+
export { ToolStrip, ToolStripItem, ToolStripProps } from './Workbench/ToolStrip.js';
|
|
26
|
+
export { WorkbenchCard, WorkbenchCardGrid, WorkbenchCardGridProps, WorkbenchCardProps, WorkbenchTile, WorkbenchTileProps } from './Workbench/WorkbenchCard.js';
|
|
27
|
+
export { WorkbenchEntries, WorkbenchEntriesProps, WorkbenchEntry } from './Workbench/WorkbenchEntries.js';
|
|
28
|
+
export { Chronology, ChronologyItem, ChronologyProps } from './Workbench/Chronology.js';
|
|
29
|
+
export { PhotoMosaic, PhotoMosaicProps } from './Workbench/PhotoMosaic.js';
|
|
30
|
+
export { ContactRow, ContactRowProps } from './Workbench/ContactRow.js';
|
|
31
|
+
export { WORKBENCH_THEME } from './Workbench/theme.js';
|
|
32
|
+
import 'react';
|
|
33
|
+
import '../components/DescriptionList/DescriptionList.js';
|
|
34
|
+
import '../components/ErrorState/ErrorState.js';
|
|
35
|
+
import '../components/Heading/Heading.js';
|
|
36
|
+
import '../components/Button/Button.js';
|
|
37
|
+
import '../components/Dialog/Dialog.js';
|
|
38
|
+
import '@radix-ui/react-dialog';
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export * from "./SiteShell/SiteShell.js";
|
|
2
|
+
export * from "./SiteNavigation/SiteNavigation.js";
|
|
3
|
+
export * from "./Portfolio/Portfolio.js";
|
|
4
|
+
export * from "./Portfolio/QuestionCard.js";
|
|
5
|
+
export * from "./PortfolioIndex/PortfolioIndex.js";
|
|
6
|
+
export * from "./Collection/Collection.js";
|
|
7
|
+
export * from "./Reading/Reading.js";
|
|
8
|
+
export * from "./Contact/Contact.js";
|
|
9
|
+
export * from "./Music/Music.js";
|
|
10
|
+
export * from "./Timeline/Timeline.js";
|
|
11
|
+
export * from "./Recovery/Recovery.js";
|
|
12
|
+
export * from "./Media/Media.js";
|
|
13
|
+
export * from "./Media/MediaLightbox.js";
|
|
14
|
+
export * from "./Metrics/Metrics.js";
|
|
15
|
+
export * from "./SearchPalette/SearchPalette.js";
|
|
16
|
+
export * from "./Content/Content.js";
|
|
17
|
+
export * from "./Content/CodePanel.js";
|
|
18
|
+
export * from "./Actions/Actions.js";
|
|
19
|
+
export * from "./Conversation/Conversation.js";
|
|
20
|
+
export * from "./Evidence/Evidence.js";
|
|
21
|
+
export * from "./Workbench/Reveal.js";
|
|
22
|
+
export * from "./Workbench/Workbench.js";
|
|
23
|
+
export * from "./Workbench/WorkbenchHero.js";
|
|
24
|
+
export * from "./Workbench/WorkbenchFigure.js";
|
|
25
|
+
export * from "./Workbench/ToolStrip.js";
|
|
26
|
+
export * from "./Workbench/WorkbenchCard.js";
|
|
27
|
+
export * from "./Workbench/WorkbenchEntries.js";
|
|
28
|
+
export * from "./Workbench/Chronology.js";
|
|
29
|
+
export * from "./Workbench/PhotoMosaic.js";
|
|
30
|
+
export * from "./Workbench/ContactRow.js";
|
|
31
|
+
export * from "./Workbench/theme.js";
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/website/index.ts"],"sourcesContent":["export * from './SiteShell/SiteShell'\nexport * from './SiteNavigation/SiteNavigation'\nexport * from './Portfolio/Portfolio'\nexport * from './Portfolio/QuestionCard'\nexport * from './PortfolioIndex/PortfolioIndex'\nexport * from './Collection/Collection'\nexport * from './Reading/Reading'\nexport * from './Contact/Contact'\nexport * from './Music/Music'\nexport * from './Timeline/Timeline'\nexport * from './Recovery/Recovery'\nexport * from './Media/Media'\nexport * from './Media/MediaLightbox'\nexport * from './Metrics/Metrics'\nexport * from './SearchPalette/SearchPalette'\nexport * from './Content/Content'\nexport * from './Content/CodePanel'\nexport * from './Actions/Actions'\nexport * from './Conversation/Conversation'\nexport * from './Evidence/Evidence'\nexport * from './Workbench/Reveal'\nexport * from './Workbench/Workbench'\nexport * from './Workbench/WorkbenchHero'\nexport * from './Workbench/WorkbenchFigure'\nexport * from './Workbench/ToolStrip'\nexport * from './Workbench/WorkbenchCard'\nexport * from './Workbench/WorkbenchEntries'\nexport * from './Workbench/Chronology'\nexport * from './Workbench/PhotoMosaic'\nexport * from './Workbench/ContactRow'\nexport * from './Workbench/theme'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
.folio-action-menu { inline-size: 15rem; max-inline-size: calc(100vw - 1rem); max-block-size: min(32rem, var(--radix-dropdown-menu-content-available-height)); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
|
|
2
|
+
.folio-action-menu-item { min-block-size: 44px; }
|
|
3
|
+
.folio-scroll-control { transition: opacity var(--duration-fast) var(--ease); }
|
|
4
|
+
.folio-scroll-control-hidden { opacity: 0; pointer-events: none; }
|
|
5
|
+
@media (prefers-reduced-motion: reduce) { .folio-scroll-control { transition: none; } }
|
|
6
|
+
[data-motion='none'] .folio-scroll-control { transition: none; }
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Document defaults for a host whose whole page is a website, published as
|
|
3
|
+
* `website-base.css`.
|
|
4
|
+
*
|
|
5
|
+
* Opt-in, and deliberately not part of `website.css`: every rule here reaches
|
|
6
|
+
* past the compositions to the document — the body's type and ground, heading
|
|
7
|
+
* and paragraph margins, link colour, the scrollbar gutter, and one focus ring
|
|
8
|
+
* for every focusable element. An application that renders a composition inside
|
|
9
|
+
* its own chrome keeps its own defaults by not importing this file.
|
|
10
|
+
*
|
|
11
|
+
* All of it sits in the base layer, so any utility still wins over it.
|
|
12
|
+
*/
|
|
13
|
+
@layer base {
|
|
14
|
+
html { -webkit-text-size-adjust: 100%; scrollbar-gutter: stable; }
|
|
15
|
+
body {
|
|
16
|
+
margin: 0;
|
|
17
|
+
background: var(--paper);
|
|
18
|
+
color: var(--ink);
|
|
19
|
+
font-family: var(--sans);
|
|
20
|
+
font-size: clamp(15.5px, 1.05vw, 17px);
|
|
21
|
+
line-height: 1.62;
|
|
22
|
+
-webkit-font-smoothing: antialiased;
|
|
23
|
+
text-rendering: optimizeLegibility;
|
|
24
|
+
}
|
|
25
|
+
h1, h2, h3, h4 { margin: 0; font-weight: 400; }
|
|
26
|
+
p { margin: 0; }
|
|
27
|
+
a { color: inherit; }
|
|
28
|
+
:lang(zh) {
|
|
29
|
+
text-spacing-trim: space-first;
|
|
30
|
+
text-autospace: normal;
|
|
31
|
+
font-synthesis-style: none;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/* The site-wide ring the compositions are drawn against.
|
|
35
|
+
|
|
36
|
+
Layered, because unlayered it beat every utility whatever its specificity:
|
|
37
|
+
the `Command` input asks for `outline-none` and still drew a clipped square.
|
|
38
|
+
`:is()` rather than `:where()` so it outranks the core `:focus-visible` ring
|
|
39
|
+
in this same layer whichever stylesheet loads last, while any composition
|
|
40
|
+
rule and any utility still outranks it. `--website-focus` is defined in
|
|
41
|
+
`website.css`; without it the ring takes the core focus colour. */
|
|
42
|
+
:is(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
|
|
43
|
+
outline: var(--focus-w) solid var(--website-focus, var(--focus));
|
|
44
|
+
outline-offset: 3px;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
.folio-collection-frame{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
|
|
2
|
+
.folio-content-band{background:var(--paper);color:var(--ink)}
|
|
3
|
+
.folio-content-band[data-tone=muted]{background:var(--paper-2)}
|
|
4
|
+
.folio-content-band[data-tone=feature]{background:var(--feature-surface);color:var(--on-feature)}
|
|
5
|
+
.folio-content-band[data-spacing=content]{padding-block:0 clamp(4rem,8vw,7rem)}
|
|
6
|
+
.folio-content-band[data-spacing=section]{padding-block:clamp(3rem,7vw,6rem)}
|
|
7
|
+
.folio-collection-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.65fr);align-items:center;gap:clamp(2rem,5vw,5rem);padding-block:clamp(3.5rem,8vw,6.5rem) clamp(2.5rem,5vw,4.5rem)}
|
|
8
|
+
.folio-collection-intro:has(>div:only-child){grid-template-columns:minmax(0,1fr)}
|
|
9
|
+
.folio-collection-intro h1{margin:0;font-family:var(--serif-i18n,var(--font-heading));font-weight:var(--display-weight);font-size:var(--fs-title);line-height:1.05;letter-spacing:-.032em;text-wrap:balance}
|
|
10
|
+
.folio-collection-intro>div:first-child>p{max-width:54ch;margin-block:1.5rem 0;color:var(--ink-2);font-size:clamp(1.0625rem,1.6vw,1.25rem);line-height:1.65;text-wrap:pretty}
|
|
11
|
+
.folio-collection-intro[data-compact] h1{font-size:var(--fs-lead)}
|
|
12
|
+
.folio-collection-intro-media{min-width:0}
|
|
13
|
+
.folio-collection-intro-media img{width:100%;height:auto}
|
|
14
|
+
.folio-collection-context,.folio-record-context,.folio-record-metadata,.folio-collection-count{font-family:var(--mono-i18n,var(--label-font));font-size:.6875rem;line-height:1.65;letter-spacing:calc(.09em * var(--label-tracking-scale));color:var(--ink-3-aa)}
|
|
15
|
+
.folio-collection-context{margin-block-end:1rem;text-transform:var(--label-case)}
|
|
16
|
+
.folio-collection-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-block-start:1.5rem}
|
|
17
|
+
.folio-collection-metadata{display:flex;flex-wrap:wrap;gap:1.5rem 3rem;margin:0;padding-block:1.25rem;border-block:1px solid var(--rule)}
|
|
18
|
+
.folio-collection-metadata dt{font-family:var(--mono-i18n,var(--font-mono));font-size:.6875rem;color:var(--ink-3-aa)}
|
|
19
|
+
.folio-collection-metadata dd{margin:.5rem 0 0;color:var(--ink)}
|
|
20
|
+
.folio-collection-group{padding-block-start:clamp(3rem,7vw,6rem)}
|
|
21
|
+
.folio-collection-group[data-compact]{padding-block-start:1.5rem}
|
|
22
|
+
.folio-collection-group-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:1rem;border-block-end:1px solid var(--rule-hard);padding-block-end:1rem;margin-block-end:1rem}
|
|
23
|
+
.folio-collection-group-heading h2{margin:0;font-family:var(--serif-i18n,var(--font-heading));font-weight:var(--display-weight);font-size:var(--fs-lead);line-height:1.1;letter-spacing:-.028em}
|
|
24
|
+
.folio-collection-group-heading>span{font-family:var(--mono-i18n,var(--font-mono));font-size:.6875rem;color:var(--ink-3-aa)}
|
|
25
|
+
.folio-collection-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;border-block:1px solid var(--rule);padding-block:1rem}
|
|
26
|
+
.folio-collection-controls[data-quiet]{border:0}
|
|
27
|
+
.folio-collection-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem}
|
|
28
|
+
.folio-collection-filters>.folio-collection-context{margin:0 1rem 0 0}
|
|
29
|
+
.folio-collection-count{margin-inline-start:.25rem;letter-spacing:normal}
|
|
30
|
+
.folio-collection-search{display:flex;align-items:center;gap:.5rem;min-width:0;max-width:24rem;flex:1 1 16rem}
|
|
31
|
+
.folio-collection-search>div{min-width:0;flex:1;gap:0}
|
|
32
|
+
.folio-collection-search input{width:100%;min-width:0;min-height:44px}
|
|
33
|
+
.folio-collection-highlight{background:var(--accent-muted);color:var(--accent-on-muted);border-radius:var(--radius-sm);padding-inline:.125rem}
|
|
34
|
+
.folio-record{border-block-end:1px solid var(--rule)}
|
|
35
|
+
.folio-record-link{display:grid;grid-template-columns:9.25rem minmax(0,1fr) minmax(7rem,auto);gap:1.75rem;padding-block:1.875rem;color:inherit;text-decoration:none;align-items:start}
|
|
36
|
+
.folio-record-link:focus-visible{outline:var(--focus-w) solid var(--focus);outline-offset:var(--focus-off)}
|
|
37
|
+
.folio-record-media{position:relative;height:6.5rem;overflow:hidden;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--paper-2)}
|
|
38
|
+
.folio-record-media[data-empty]{border:0;background:transparent}
|
|
39
|
+
.folio-record-media img{display:block;width:100%;height:100%;object-fit:cover}
|
|
40
|
+
.folio-record-copy{min-width:0}
|
|
41
|
+
.folio-record-copy h2,.folio-record-copy h3{margin:.375rem 0 0;font-family:var(--serif-i18n,var(--font-heading));font-size:var(--fs-heading);font-weight:var(--display-weight);line-height:1.16;letter-spacing:-.022em}
|
|
42
|
+
.folio-record-link:hover h2,.folio-record-link:hover h3{color:var(--ink-2)}
|
|
43
|
+
.folio-record-context{display:flex;flex-wrap:wrap;gap:.75rem}
|
|
44
|
+
.folio-record-summary{max-width:var(--measure-record,62ch);margin:.875rem 0 0;color:var(--ink-2);line-height:1.66;text-wrap:pretty}
|
|
45
|
+
.folio-record-metadata{margin-block-start:1rem}
|
|
46
|
+
.folio-record-metadata ul{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
|
|
47
|
+
.folio-record-trailing{font-family:var(--mono-i18n,var(--font-mono));font-size:.6875rem;line-height:1.8;text-align:end;color:var(--ink-3-aa)}
|
|
48
|
+
.folio-record-context,.folio-record-metadata,.folio-record-trailing,.folio-collection-metadata dt,.folio-collection-group-heading>span{font-family:var(--sans);font-size:.75rem;letter-spacing:normal;font-variant-numeric:tabular-nums}
|
|
49
|
+
.folio-record-index{font-family:var(--mono-i18n,var(--font-mono));font-size:.6875rem;color:var(--ink-3-aa)}
|
|
50
|
+
.folio-record[data-variant=editorial][data-indexed] .folio-record-link{grid-template-columns:2rem 9.25rem minmax(0,1fr) minmax(7rem,auto)}
|
|
51
|
+
.folio-record[data-variant=media] .folio-record-link{grid-template-columns:15.375rem minmax(0,1fr) auto}
|
|
52
|
+
.folio-record[data-variant=media][data-indexed] .folio-record-link{grid-template-columns:2rem 15.375rem minmax(0,1fr) auto}
|
|
53
|
+
.folio-record[data-variant=media] .folio-record-media{height:9.625rem}
|
|
54
|
+
.folio-record[data-variant=compact] .folio-record-link{grid-template-columns:minmax(0,1fr) auto;padding-block:1.125rem}
|
|
55
|
+
.folio-record[data-variant=compact][data-indexed] .folio-record-link{grid-template-columns:2.25rem minmax(0,1fr) auto}
|
|
56
|
+
.folio-record[data-variant=compact] h2,.folio-record[data-variant=compact] h3{font-family:var(--mono-i18n,var(--font-mono));font-size:.9375rem;font-weight:500;line-height:1.6;letter-spacing:normal}
|
|
57
|
+
.folio-record-subtitle{font-family:var(--mono-i18n,var(--font-mono));font-size:.6875rem;line-height:1.6;color:var(--ink-3-aa);overflow-wrap:anywhere}
|
|
58
|
+
.folio-featured-record{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(2rem,6vw,6rem);align-items:center;padding-block:2.5rem clamp(3rem,6vw,5.5rem);border-block-end:1px solid var(--rule)}
|
|
59
|
+
.folio-featured-record-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--paper-2);border-radius:var(--radius-sm)}
|
|
60
|
+
.folio-featured-record-media>a{display:block;width:100%;height:100%}
|
|
61
|
+
.folio-featured-record-media img{width:100%;height:100%;object-fit:cover}
|
|
62
|
+
.folio-featured-record h2{margin-block:1.125rem 0;font-family:var(--serif-i18n,var(--font-heading));font-size:var(--fs-lead);font-weight:var(--display-weight);line-height:1.1;letter-spacing:-.028em}
|
|
63
|
+
.folio-featured-record h2 a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:none}
|
|
64
|
+
.folio-featured-record p{max-width:49ch;margin-block:1.25rem 0;color:var(--ink-2);line-height:1.7}
|
|
65
|
+
.folio-collection-footer{padding-block-start:clamp(2rem,5vw,4rem)}
|
|
66
|
+
.folio-collection-footer>div{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem 2rem}
|
|
67
|
+
.folio-taxonomy-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-block:1.5rem}
|
|
68
|
+
.folio-reference-rows{margin:0;border-block-start:1px solid var(--rule-hard)}
|
|
69
|
+
.folio-reference-rows>div{display:grid;grid-template-columns:minmax(10rem,1fr) minmax(0,3fr);gap:1.5rem;padding-block:1.5rem;border-block-end:1px solid var(--rule)}
|
|
70
|
+
.folio-reference-rows dt{font-family:var(--mono-i18n,var(--font-mono));font-size:.75rem;color:var(--ink-3-aa)}
|
|
71
|
+
.folio-reference-rows dt p{font-family:var(--sans);font-size:.8125rem;line-height:1.6;margin-block:.5rem 0}
|
|
72
|
+
.folio-reference-rows dd{margin:0;min-width:0}
|
|
73
|
+
/* The enclosing row owns the divider when structured content is nested. */
|
|
74
|
+
.folio-reference-rows>div>dd>:is(.folio-feature-pairs,.folio-reference-rows){border-block-start:0}
|
|
75
|
+
.folio-reference-rows>div>dd>.folio-feature-pairs{row-gap:1.5rem}
|
|
76
|
+
.folio-reference-rows>div>dd>.folio-feature-pairs>div{padding-block:0;border-block-end:0}
|
|
77
|
+
.folio-reference-rows>div>dd>.folio-reference-rows>div:first-child{padding-block-start:0}
|
|
78
|
+
.folio-reference-rows>div>dd>.folio-reference-rows>div:last-child{padding-block-end:0;border-block-end:0}
|
|
79
|
+
.folio-reference-rows + .folio-collection-controls,
|
|
80
|
+
.folio-reference-rows + :is(div,section)>.folio-collection-controls:first-child{border-block-start:0}
|
|
81
|
+
.folio-collection-group-heading ~ .folio-reference-rows{border-block-start:0}
|
|
82
|
+
@media(max-width:900px){.folio-collection-intro,.folio-featured-record{grid-template-columns:1fr}.folio-record[data-variant=media] .folio-record-link,.folio-record[data-variant=media][data-indexed] .folio-record-link{grid-template-columns:10rem minmax(0,1fr) auto}.folio-record[data-variant=media] .folio-record-index{display:none}}
|
|
83
|
+
@media(max-width:640px){.folio-collection-controls{align-items:stretch}.folio-collection-search{max-width:none}.folio-record[data-variant] .folio-record-link,.folio-record[data-variant][data-indexed] .folio-record-link{grid-template-columns:minmax(0,1fr);gap:1rem}.folio-record-media,.folio-record-index{display:none}.folio-record[data-variant=media] .folio-record-media:not([data-empty]){display:block;height:auto;aspect-ratio:16/9}.folio-record-trailing{text-align:start}.folio-reference-rows>div{grid-template-columns:1fr}.folio-collection-intro{padding-block-start:3.5rem}}
|
|
84
|
+
:lang(zh) :is(.folio-collection-intro h1,.folio-record-copy h2,.folio-record-copy h3,.folio-featured-record h2,.folio-collection-group h2){letter-spacing:var(--ls-cjk,normal);line-height:1.35}
|
|
85
|
+
.folio-collection-tally{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem 1.5rem;margin:0;font-family:var(--sans);font-size:.8125rem;font-weight:400;line-height:1.5;letter-spacing:normal;color:var(--ink-3-aa);font-variant-numeric:tabular-nums}
|
|
86
|
+
.folio-collection-tally>span{display:inline-flex;align-items:center;padding:.5rem .875rem;border:1px solid var(--rule);border-radius:var(--radius-pill);background:var(--paper-2)}
|
|
87
|
+
@media(max-width:767px){.folio-collection-tally{justify-content:flex-start}}
|
|
88
|
+
.folio-collection-list{list-style:none;margin:0;padding:0}
|
|
89
|
+
.folio-collection-list>li{min-width:0}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
.folio-correspondence {
|
|
2
|
+
display: grid;
|
|
3
|
+
align-items: start;
|
|
4
|
+
gap: 3rem;
|
|
5
|
+
border-block-start: 1px solid var(--rule-hard);
|
|
6
|
+
padding-block: clamp(2.5rem, 5vw, 4rem) clamp(4rem, 8vw, 7rem);
|
|
7
|
+
}
|
|
8
|
+
.folio-contact-form, .folio-contact-facts { min-inline-size: 0; }
|
|
9
|
+
.folio-contact-form__fields { display: grid; gap: 2rem; border-block-start: 1px solid var(--rule-hard); padding-block-start: 2rem; }
|
|
10
|
+
.folio-contact-form__identity { display: grid; gap: 2rem; }
|
|
11
|
+
.folio-contact-form__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem; }
|
|
12
|
+
.folio-contact-facts__links { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin-block-start: 1rem; }
|
|
13
|
+
.folio-question-list__items { border-block-start: 1px solid var(--rule-hard); }
|
|
14
|
+
.folio-question-list__item { display: grid; gap: 1rem; padding-block: 1.5rem; border-block-end: 1px solid var(--rule); }
|
|
15
|
+
.folio-location-figure { margin: 0; }
|
|
16
|
+
.folio-location-figure__map { position: relative; aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--radius-sm); background: var(--paper-2); }
|
|
17
|
+
.folio-location-figure__map > img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; }
|
|
18
|
+
.folio-location-figure__crosshair::before, .folio-location-figure__crosshair::after { content: ''; position: absolute; background: var(--rule-2); }
|
|
19
|
+
.folio-location-figure__crosshair::before { inset-block: 0; inset-inline-start: 50%; inline-size: 1px; }
|
|
20
|
+
.folio-location-figure__crosshair::after { inset-inline: 0; inset-block-start: 50%; block-size: 1px; }
|
|
21
|
+
.folio-location-figure__marker { position: absolute; inset-inline-start: 50%; inset-block-start: 50%; inline-size: .875rem; block-size: .875rem; border-radius: var(--radius-pill); border: 2px solid var(--paper); background: var(--ink); outline: 1px solid var(--ink); translate: -50% -50%; }
|
|
22
|
+
[dir='rtl'] .folio-location-figure__marker { translate: 50% -50%; }
|
|
23
|
+
.folio-location-figure__caption { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .25rem 1rem; margin-block-start: .75rem; border-block-start: 1px solid var(--rule); padding-block-start: .75rem; }
|
|
24
|
+
@media (min-width: 640px) { .folio-contact-form__identity { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
|
|
25
|
+
@media (min-width: 768px) { .folio-question-list__item { grid-template-columns: minmax(12rem, 4fr) minmax(0, 8fr); gap: 2rem; } }
|
|
26
|
+
@media (min-width: 901px) {
|
|
27
|
+
.folio-correspondence { grid-template-columns: minmax(16rem, 4fr) minmax(0, 8fr); gap: clamp(3rem, 7vw, 7rem); }
|
|
28
|
+
.folio-correspondence[data-aside-position='end'] { grid-template-columns: minmax(0, 8fr) minmax(18rem, 4fr); }
|
|
29
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
.folio-step-sequence { margin: 0; }
|
|
2
|
+
/* A sequence's anchor is emphasis, not progress, so it takes the primary
|
|
3
|
+
action's fill: the accent by default, ink where `data-action` says so. */
|
|
4
|
+
.folio-sequence-step[data-anchor] .folio-sequence-counter { border-color: var(--action); background: var(--action); color: var(--action-foreground); }
|
|
5
|
+
/* The rail itself is the core Steps rendering; only what Steps has no slot for lives here. The column's own 0.25rem gap plus this margin keeps tags 0.625rem under the note. */
|
|
6
|
+
.folio-sequence-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-block-start: 0.375rem; }
|
|
7
|
+
.folio-sequence-caption { max-inline-size: 62ch; margin-block-start: 1.5rem; padding-block-start: 1rem; border-block-start: 1px solid var(--border-subtle); color: var(--foreground-muted); font-size: 0.875rem; line-height: 1.65; }
|
|
8
|
+
.folio-content-table { overflow-x: auto; scrollbar-width: thin; }
|
|
9
|
+
.folio-content-table:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
|
|
10
|
+
.folio-external-link-mark { display: inline-block; margin-inline-start: 0.2em; font-family: var(--font-sans); font-size: 0.8em; }
|
|
11
|
+
.folio-code-panel,
|
|
12
|
+
figure:has(> .folio-code-panel-head) { min-inline-size: 0; margin-block: 2rem; margin-inline: 0; overflow: hidden; border: 1px solid var(--border-subtle); border-radius: var(--radius); background: var(--background); }
|
|
13
|
+
.folio-code-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding-block: 0.25rem; padding-inline: 1rem 0.375rem; border-block-end: 1px solid var(--border-subtle); background: var(--background-elevated); }
|
|
14
|
+
.folio-code-panel-head > span { color: var(--secondary-text); font-family: var(--label-font); font-size: 0.625rem; letter-spacing: calc(0.14em * var(--label-tracking-scale)); }
|
|
15
|
+
.folio-clipboard-button { min-inline-size: 44px; min-block-size: 44px; }
|
|
16
|
+
pre.folio-code-panel-pre,
|
|
17
|
+
[data-folio-article] pre.folio-code-panel-pre { min-inline-size: 0; margin: 0; padding: 1rem 1.125rem; overflow-x: auto; border: 0; border-radius: 0; background: var(--background); color: var(--foreground); font-family: var(--font-mono); font-size: 0.8125rem; line-height: 1.7; scrollbar-width: thin; }
|
|
18
|
+
pre.folio-code-panel-pre code { display: block; inline-size: fit-content; min-inline-size: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; font: inherit; }
|
|
19
|
+
pre.folio-code-panel-pre [data-line] { display: inline-block; min-inline-size: 100%; min-block-size: 1.7em; }
|
|
20
|
+
pre.folio-code-panel-pre:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/* Shared interaction density and focus treatment for public reading surfaces. */
|
|
2
|
+
.folio-collection-controls { gap: .75rem 1.25rem; padding-block: .75rem; }
|
|
3
|
+
.folio-collection-filters { gap: .25rem; }
|
|
4
|
+
.folio-collection-filters>button { min-inline-size: 44px; min-block-size: 34px; padding: .375rem .625rem; font-size: .8125rem; border-radius: var(--radius-sm); }
|
|
5
|
+
.folio-collection-search { gap: .5rem; flex: 0 1 16rem; max-inline-size: 18rem; padding: 0 .625rem; border: 1px solid var(--rule); border-radius: var(--radius-sm); background: var(--paper); }
|
|
6
|
+
.folio-collection-search:focus-within { border-color: var(--website-focus); }
|
|
7
|
+
.folio-collection-search>svg { flex: none; color: var(--ink-3-aa); }
|
|
8
|
+
.folio-collection-search input { min-inline-size: 0; min-block-size: 34px; block-size: 34px; flex: 1; padding: 0; border: 0; border-radius: 0; background: transparent; font-size: .8125rem; box-shadow: none; }
|
|
9
|
+
.folio-collection-search input:focus,.folio-collection-search input:focus-visible { outline: none; box-shadow: none; }
|
|
10
|
+
.folio-collection-search input::-webkit-search-cancel-button { -webkit-appearance: none; }
|
|
11
|
+
.folio-collection-search>button { min-inline-size: 28px; min-block-size: 28px; inline-size: 28px; block-size: 28px; }
|
|
12
|
+
.folio-reference-link { display: inline-flex; align-items: center; gap: .375rem; min-block-size: 32px; max-inline-size: 100%; padding: .25rem 0; font-family: var(--sans); font-size: .8125rem; color: var(--ink-2); text-decoration: none; }
|
|
13
|
+
.folio-reference-link>span { overflow-wrap: anywhere; }
|
|
14
|
+
.folio-reference-link>svg { flex: none; }
|
|
15
|
+
.folio-reference-link:hover>span { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--rule-2); }
|
|
16
|
+
.folio-reference-link:focus-visible { outline: 1px solid var(--rule-2); outline-offset: 2px; border-radius: 2px; }
|
|
17
|
+
.folio-command-tabs [role=tab] { min-block-size: 34px; padding: .375rem .625rem; font-size: .75rem; }
|
|
18
|
+
:is(.folio-command-tabs,.folio-command-snippet) [role=group] { padding: .625rem .75rem; }
|
|
19
|
+
:is(.folio-command-tabs,.folio-command-snippet) pre { font-size: .78125rem; line-height: 1.6; }
|
|
20
|
+
:is(.folio-command-tabs [role=tabpanel],.folio-command-snippet) button { min-inline-size: 28px; min-block-size: 28px; inline-size: 28px; block-size: 28px; }
|
|
21
|
+
.folio-command-tabs [role=tabpanel] { padding-block-start: .75rem; }
|
|
22
|
+
.folio-record[data-variant=compact] .folio-record-link { padding-block: 1rem; gap: 1rem; }
|
|
23
|
+
.folio-record[data-variant=compact] :is(h2,h3) { font-family: var(--sans); font-size: .875rem; margin-block-start: 0; }
|
|
24
|
+
.folio-record[data-variant=compact] .folio-record-summary { font-size: .8125rem; margin-block-start: .375rem; line-height: 1.7; }
|
|
25
|
+
@media (max-width: 640px) { .folio-collection-search { flex-basis: auto; inline-size: 100%; max-inline-size: none; } }
|
|
26
|
+
@media (pointer: coarse) {
|
|
27
|
+
.folio-collection-filters>button,.folio-collection-search input,.folio-reference-link,.folio-command-tabs [role=tab] { min-block-size: 44px; }
|
|
28
|
+
.folio-collection-search>button,:is(.folio-command-tabs [role=tabpanel],.folio-command-snippet) button { min-inline-size: 44px; min-block-size: 44px; }
|
|
29
|
+
:is(.folio-command-tabs [role=tabpanel],.folio-command-snippet) div:has(>button[aria-label]) { padding-block: 0; }
|
|
30
|
+
}
|
|
31
|
+
.folio-selection-toolbar { animation: folio-fade-in var(--duration-fast) var(--ease); }
|
|
32
|
+
/* The site-wide ring that reads this colour lives in `website-base.css`; the
|
|
33
|
+
scoped rules below read it too. */
|
|
34
|
+
:root { --website-focus: color-mix(in srgb, var(--ink) 60%, var(--paper)); }
|
|
35
|
+
.folio-site-navigation-inner { min-block-size: 3.75rem; }
|
|
36
|
+
.folio-site-navigation .folio-navigation-search {
|
|
37
|
+
min-block-size: 34px;
|
|
38
|
+
block-size: 34px;
|
|
39
|
+
inline-size: clamp(9rem, 14vw, 12rem);
|
|
40
|
+
padding-inline: .75rem;
|
|
41
|
+
background: var(--paper);
|
|
42
|
+
border-radius: var(--radius-sm);
|
|
43
|
+
font-size: .8125rem;
|
|
44
|
+
}
|
|
45
|
+
.folio-navigation-search kbd { border: 0; background: transparent; padding: 0; }
|
|
46
|
+
.folio-site-navigation button:focus-visible { outline-color: var(--website-focus); outline-offset: 2px; }
|
|
47
|
+
.folio-site-navigation button:focus:not(:focus-visible) { outline: none; }
|
|
48
|
+
.folio-site-navigation .folio-navigation-search:focus-visible { outline: none; background: var(--paper-2); box-shadow: inset 0 0 0 1px var(--website-focus); }
|
|
49
|
+
.folio-question-card form { padding: .375rem; border-radius: var(--radius-md); align-items: center; gap: .375rem; }
|
|
50
|
+
.folio-question-card form:focus-within { border-color: var(--website-focus); box-shadow: 0 2px 8px color-mix(in srgb, var(--ink) 5%, transparent); }
|
|
51
|
+
.folio-question-card form>button { border-radius: 50%; inline-size: 44px; min-inline-size: 44px; block-size: 44px; min-block-size: 44px; }
|
|
52
|
+
.folio-question-card form>button:disabled { background: var(--paper-2); color: var(--ink-3-aa); opacity: 1; border-color: var(--rule); }
|
|
53
|
+
.folio-question-card form input:focus,
|
|
54
|
+
.folio-question-card form input:focus-visible { outline: none; box-shadow: none; border: 0; }
|
|
55
|
+
.folio-question-card form input { border-radius: 0; }
|
|
56
|
+
.folio-selection-toolbar { gap: 0; padding: .25rem; border-color: var(--rule-2); border-radius: var(--radius-md); box-shadow: 0 4px 16px color-mix(in srgb, var(--ink) 9%, transparent); }
|
|
57
|
+
.folio-selection-toolbar > button,
|
|
58
|
+
.folio-selection-toolbar > button:first-child { min-block-size: 34px; background: transparent; color: var(--ink-2); border: 0; border-radius: var(--radius-sm); padding: .375rem .75rem; font-family: var(--sans); font-size: .8125rem; font-weight: 400; }
|
|
59
|
+
.folio-selection-toolbar > button + button { border-inline-start: 1px solid var(--rule); border-start-start-radius: 0; border-end-start-radius: 0; }
|
|
60
|
+
.folio-selection-toolbar > button:hover { background: var(--paper-2); color: var(--ink); }
|
|
61
|
+
/* The menus the compositions open, and no others. A menu portals to <body>, so
|
|
62
|
+
it cannot be scoped by an ancestor; it carries its composition's class
|
|
63
|
+
instead, and a host's own DropdownMenu keeps the primitive's look. */
|
|
64
|
+
:is(.folio-action-menu, .folio-site-preference-menu)[data-folio-menu] { padding: .375rem; border-color: var(--rule); border-radius: var(--radius-md); background: var(--paper); box-shadow: 0 4px 20px color-mix(in srgb, var(--ink) 8%, transparent); backdrop-filter: none; }
|
|
65
|
+
:is(.folio-action-menu, .folio-site-preference-menu)[data-folio-menu]:focus { outline: none; }
|
|
66
|
+
:is(.folio-action-menu, .folio-site-preference-menu)[data-folio-menu] [role='menuitem'],
|
|
67
|
+
.folio-site-preference-item { min-block-size: 36px; font-family: var(--sans); font-size: .8125rem; font-weight: 400; border-radius: var(--radius-sm); }
|
|
68
|
+
.folio-portfolio-index [role='tab'] > span { color: var(--ink-3-aa); background: transparent; border: 0; font-family: var(--sans); font-size: .75rem; font-weight: 400; font-variant-numeric: tabular-nums; }
|
|
69
|
+
.folio-portfolio-image[data-natural] .folio-portfolio-image-frame { aspect-ratio: auto; background: transparent; }
|
|
70
|
+
.folio-portfolio-image[data-natural] img { position: static; display: block; inline-size: 100%; block-size: auto; object-fit: contain; }
|
|
71
|
+
.folio-portfolio-list[data-variant='thumbnails'] > div,
|
|
72
|
+
.folio-portfolio-list[data-variant='frames'] > div { align-items: start; }
|
|
73
|
+
@media (max-width: 599px) {
|
|
74
|
+
.folio-site-navigation .folio-navigation-search { inline-size: auto; }
|
|
75
|
+
.folio-collection-intro { padding-block-start: 6rem; }
|
|
76
|
+
}
|
|
77
|
+
@media (max-width: 40rem) {
|
|
78
|
+
/* Safari zooms a page when the field it focuses is under 16px. Keep the
|
|
79
|
+
surrounding compact composition, but make the editable text legible. */
|
|
80
|
+
.folio-collection-search input,
|
|
81
|
+
.folio-question-card form input { font-size: 1rem; }
|
|
82
|
+
}
|
|
83
|
+
@media (max-width: 359px) {
|
|
84
|
+
.folio-site-navigation .folio-navigation-search { inline-size: 44px; }
|
|
85
|
+
}
|
|
86
|
+
@media (pointer: coarse) {
|
|
87
|
+
.folio-site-navigation .folio-navigation-search,
|
|
88
|
+
.folio-selection-toolbar > button,
|
|
89
|
+
:is(.folio-action-menu, .folio-site-preference-menu)[data-folio-menu] [role='menuitem'],
|
|
90
|
+
.folio-site-preference-item { min-block-size: 44px; }
|
|
91
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
.folio-conversation-layout { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 3rem; }
|
|
2
|
+
.folio-conversation-layout__evidence { display: none; min-inline-size: 0; }
|
|
3
|
+
.folio-conversation-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 2rem; border-block: 1px solid var(--rule); padding-block: 1.25rem; }
|
|
4
|
+
.folio-conversation-facts dd > span { display: inline-flex; align-items: center; gap: .5rem; }
|
|
5
|
+
.folio-conversation-thread { min-inline-size: 0; }
|
|
6
|
+
.folio-conversation-thread__intro { border-block-start: 1px solid var(--rule-hard); padding-block-start: 2rem; }
|
|
7
|
+
.folio-conversation-thread__intro > h2 { max-inline-size: 22ch; text-wrap: balance; }
|
|
8
|
+
.folio-conversation-thread__intro > p { max-inline-size: 56ch; }
|
|
9
|
+
.folio-conversation-suggestions { margin-block-start: 2rem; }
|
|
10
|
+
.folio-conversation-suggestions > ul, .folio-conversation-sources > ul { list-style: none; margin: .5rem 0 0; padding: 0; border-block-start: 1px solid var(--rule); }
|
|
11
|
+
.folio-conversation-suggestions > ul > li, .folio-conversation-sources > ul > li { border-block-end: 1px solid var(--rule); }
|
|
12
|
+
.folio-conversation-suggestions__action { inline-size: 100%; justify-content: space-between; text-align: start; gap: 1.5rem; padding-inline: 0; }
|
|
13
|
+
.folio-conversation-suggestions__action > svg { flex-shrink: 0; }
|
|
14
|
+
.folio-conversation-thread__controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .25rem 1.5rem; border-block-start: 1px solid var(--rule-hard); padding-block-start: .75rem; }
|
|
15
|
+
.folio-conversation-thread__controls > div { display: flex; flex-wrap: wrap; gap: .25rem; }
|
|
16
|
+
.folio-conversation-log { display: flex; flex-direction: column; }
|
|
17
|
+
.folio-conversation-log[data-compact] { gap: 2rem; }
|
|
18
|
+
.folio-conversation-thread__composer { margin-block-start: 3rem; }
|
|
19
|
+
.folio-conversation-thread__composer[data-sticky] { position: sticky; inset-block-end: 0; z-index: 10; margin-block-start: 2rem; padding-block: 1rem .75rem; border-block-start: 1px solid var(--rule-hard); background: var(--paper); }
|
|
20
|
+
.folio-conversation-thread__proposal { margin-block-end: 1.25rem; }
|
|
21
|
+
.folio-question-composer__row { display: flex; align-items: end; gap: 1rem; }
|
|
22
|
+
.folio-question-composer__field { flex: 1; min-inline-size: 0; }
|
|
23
|
+
.folio-question-composer__row > button { flex-shrink: 0; }
|
|
24
|
+
.folio-question-composer__footer { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; justify-content: space-between; margin-block-start: .75rem; }
|
|
25
|
+
.folio-question-composer__footer > p { max-inline-size: 56ch; }
|
|
26
|
+
.folio-question-composer__counter { white-space: nowrap; font-variant-numeric: tabular-nums; }
|
|
27
|
+
.folio-conversation-turn { border-block-end: 1px solid var(--rule); padding-block: 1.75rem; }
|
|
28
|
+
.folio-conversation-turn__toggle { inline-size: 100%; justify-content: space-between; align-items: baseline; gap: 1rem; text-align: start; font: inherit; color: inherit; padding-inline: 0; }
|
|
29
|
+
.folio-conversation-turn__toggle > span { text-wrap: balance; }
|
|
30
|
+
.folio-conversation-turn__toggle > svg { flex-shrink: 0; transition: rotate var(--duration-fast) var(--ease); }
|
|
31
|
+
.folio-conversation-turn__toggle[data-state='open'] > svg { rotate: 90deg; }
|
|
32
|
+
.folio-conversation-turn__body { max-inline-size: 64ch; padding-block-start: .75rem; }
|
|
33
|
+
.folio-conversation-turn__preview { max-inline-size: 64ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
34
|
+
.folio-conversation-quote { margin: 0 0 1.5rem; border-inline-start: 1px solid var(--rule-2); padding-inline-start: 1.25rem; }
|
|
35
|
+
.folio-conversation-quote > blockquote { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; margin: .5rem 0 0; font-family: var(--font-heading); font-weight: var(--display-weight); font-style: italic; font-size: 1rem; line-height: 1.6; color: var(--ink-2); }
|
|
36
|
+
.folio-conversation-quote[data-compact] { margin-block-end: 1rem; padding-inline-start: .875rem; }
|
|
37
|
+
.folio-conversation-quote[data-compact] > blockquote { -webkit-line-clamp: 3; font-size: .875rem; }
|
|
38
|
+
.folio-conversation-answer__question { margin-block: .375rem 1rem; font-family: var(--font-heading); }
|
|
39
|
+
.folio-conversation-answer > .folio-activity-trace { margin-block-end: 1rem; }
|
|
40
|
+
.folio-conversation-prose { font-size: 1rem; overflow-wrap: anywhere; }
|
|
41
|
+
.folio-conversation-prose > p { white-space: pre-wrap; }
|
|
42
|
+
.folio-conversation-prose p.folio-conversation-prose__heading { margin-block: 1.5rem .5rem; font-size: 1rem; font-family: var(--font-sans); font-weight: 500; line-height: 1.5; color: var(--ink); }
|
|
43
|
+
.folio-conversation-prose p.folio-conversation-prose__heading[data-lead] { margin-block-start: 0; }
|
|
44
|
+
.folio-conversation-prose sup { font-size: .75em; }
|
|
45
|
+
.folio-conversation-caret { display: inline-block; inline-size: .375rem; block-size: 1em; margin-inline-start: .2rem; vertical-align: -.1em; background: var(--ink); }
|
|
46
|
+
.folio-conversation-sources { margin-block-start: 1.5rem; border-block-start: 1px solid var(--rule-hard); padding-block-start: .75rem; }
|
|
47
|
+
.folio-conversation-sources__header { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
|
|
48
|
+
.folio-conversation-sources__link { display: grid; grid-template-columns: 2rem minmax(0, 1fr) auto; inline-size: 100%; align-items: baseline; text-align: start; gap: .75rem; padding-inline: 0; }
|
|
49
|
+
.folio-conversation-sources__link[data-highlighted] { background: var(--accent-muted); }
|
|
50
|
+
.folio-conversation-sources__link > span:nth-child(2) { min-inline-size: 0; }
|
|
51
|
+
.folio-conversation-sources__link > span:nth-child(2) > span { display: block; }
|
|
52
|
+
.folio-action-proposal__actions { margin-block-start: .375rem; border-block-start: 1px solid var(--rule-hard); }
|
|
53
|
+
.folio-action-proposal__action { display: flex; inline-size: 100%; justify-content: space-between; gap: 1rem; text-align: start; border-block-end: 1px solid var(--rule); padding-inline: 0; }
|
|
54
|
+
.folio-action-proposal__action > span { min-inline-size: 0; }
|
|
55
|
+
.folio-action-proposal__action > span:last-child { display: flex; align-items: center; gap: .75rem; flex-shrink: 0; }
|
|
56
|
+
.folio-conversation-launcher { position: fixed; inset-block-end: 1.5rem; inset-inline-start: 1.5rem; z-index: 40; min-block-size:3rem; padding-inline:1rem 1.125rem; gap:.625rem; border:1px solid var(--rule-2); border-radius:var(--radius-pill); background:var(--paper); color:var(--ink-2); font-family:var(--sans); font-size:.8125rem; font-weight:500; box-shadow:0 2px 5px color-mix(in srgb,var(--ink) 4%,transparent),0 8px 24px color-mix(in srgb,var(--ink) 6%,transparent); transition: opacity var(--duration-base) var(--ease),background var(--duration-fast),box-shadow var(--duration-fast); }
|
|
57
|
+
.folio-conversation-launcher:hover { background:var(--paper-2); box-shadow:0 3px 8px color-mix(in srgb,var(--ink) 5%,transparent),0 10px 28px color-mix(in srgb,var(--ink) 8%,transparent); }
|
|
58
|
+
.folio-conversation-launcher[data-revealed='false'] { opacity: 0; pointer-events: none; }
|
|
59
|
+
.folio-conversation-dock__scrim { position: fixed; inset: 0; z-index: var(--z-scrim); background: var(--scrim); }
|
|
60
|
+
.folio-conversation-dock { position: fixed; inset-inline: 0; inset-block-end: 0; z-index: var(--z-modal); display: flex; flex-direction: column; max-block-size: min(72svh, 40rem); overflow: hidden; border: 1px solid var(--rule-hard); border-radius: var(--radius-lg) var(--radius-lg) 0 0; background: var(--paper); transition: opacity var(--duration-base) var(--ease), transform var(--duration-base) var(--ease), visibility var(--duration-base) var(--ease); }
|
|
61
|
+
.folio-conversation-dock[data-open='false'] { visibility: hidden; opacity: 0; translate: 0 .75rem; }
|
|
62
|
+
.folio-conversation-dock[data-card='true'] { inset: auto; max-block-size: none; border-radius: var(--radius-lg); }
|
|
63
|
+
.folio-conversation-dock[data-card='true'][data-corner='bottom-left'] { bottom: 1.5rem; left: 1.5rem; }
|
|
64
|
+
.folio-conversation-dock[data-card='true'][data-corner='bottom-right'] { bottom: 1.5rem; right: 1.5rem; }
|
|
65
|
+
.folio-conversation-dock[data-card='true'][data-corner='top-left'] { top: 1.5rem; left: 1.5rem; }
|
|
66
|
+
.folio-conversation-dock[data-card='true'][data-corner='top-right'] { top: 1.5rem; right: 1.5rem; }
|
|
67
|
+
.folio-conversation-dock[data-dragging] { user-select: none; }
|
|
68
|
+
.folio-conversation-dock[data-moving] { transition: none; }
|
|
69
|
+
.folio-conversation-dock__header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-shrink: 0; border-block-end: 1px solid var(--rule-hard); padding-inline: 1rem; }
|
|
70
|
+
.folio-conversation-dock__header > span, .folio-conversation-dock__header > div { display: flex; align-items: center; gap: .5rem; }
|
|
71
|
+
.folio-conversation-dock[data-card='true'] > .folio-conversation-dock__header { cursor: grab; padding-block: .5rem; }
|
|
72
|
+
.folio-conversation-dock[data-moving] > .folio-conversation-dock__header { cursor: grabbing; }
|
|
73
|
+
.folio-conversation-dock__log { min-block-size: 0; flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 1rem; }
|
|
74
|
+
.folio-conversation-dock__proposal { border-block-start: 1px solid var(--rule); padding: .75rem 1rem 0; }
|
|
75
|
+
.folio-conversation-dock__notice { border-block-start: 1px solid var(--rule); padding: .75rem 1rem; background: var(--paper-2); }
|
|
76
|
+
.folio-conversation-dock__composer { border-block-start: 1px solid var(--rule-hard); padding: .75rem 1rem max(.75rem, env(safe-area-inset-bottom)); }
|
|
77
|
+
.folio-conversation-dock-welcome > p { max-inline-size: 30ch; font-family: var(--font-heading); }
|
|
78
|
+
.folio-conversation-dock-welcome .folio-conversation-suggestions { margin-block-start: 1.5rem; }
|
|
79
|
+
.folio-conversation-dock { border-color:var(--rule-2); box-shadow:0 12px 48px color-mix(in srgb,var(--ink) 12%,transparent); }
|
|
80
|
+
.folio-conversation-dock__header { padding-inline:1.25rem; border-color:var(--rule); font-family:var(--sans); }
|
|
81
|
+
.folio-conversation-dock__header a { font-family:var(--sans); font-size:.8125rem; }
|
|
82
|
+
.folio-conversation-dock__log { padding:1.5rem; }
|
|
83
|
+
.folio-conversation-dock-welcome>p { font-family:var(--sans); font-size:1rem; line-height:1.75; font-weight:400; color:var(--ink-2); }
|
|
84
|
+
.folio-conversation-dock .folio-conversation-suggestions__action { font-family:var(--sans); font-size:.8125rem; font-weight:400; line-height:1.65; white-space:normal; padding-block:.75rem; }
|
|
85
|
+
.folio-conversation-dock__composer { padding:1rem 1.25rem; border-color:var(--rule); background:var(--paper-2); }
|
|
86
|
+
.folio-conversation-resize { position: absolute; z-index: 10; }
|
|
87
|
+
.folio-conversation-resize[data-side='top'], .folio-conversation-resize[data-side='bottom'] { inset-inline: 0; block-size: .375rem; cursor: ns-resize; }
|
|
88
|
+
.folio-conversation-resize[data-side='left'], .folio-conversation-resize[data-side='right'] { inset-block: 0; inline-size: .375rem; cursor: ew-resize; }
|
|
89
|
+
.folio-conversation-resize[data-side='top'] { top: 0; }
|
|
90
|
+
.folio-conversation-resize[data-side='bottom'] { bottom: 0; }
|
|
91
|
+
.folio-conversation-resize[data-side='left'] { left: 0; }
|
|
92
|
+
.folio-conversation-resize[data-side='right'] { right: 0; }
|
|
93
|
+
.folio-conversation-resize:focus-visible, .folio-conversation-resize[data-dragging] { background: var(--focus); outline: none; }
|
|
94
|
+
.folio-selection-toolbar { position: fixed; z-index: var(--z-modal); display: flex; align-items: stretch; gap: .125rem; padding: .3125rem; max-inline-size: calc(100vw - 2rem); border: 1px solid var(--rule-hard); border-radius: var(--radius-lg); background:var(--paper); box-shadow:0 .75rem 2rem color-mix(in srgb,var(--ink) 14%,transparent); }
|
|
95
|
+
.folio-selection-toolbar[data-floating='false'] { left: 50%; translate: -50% 0; bottom: calc(5rem + env(safe-area-inset-bottom)); }
|
|
96
|
+
.folio-selection-toolbar > button { min-block-size:2.5rem; white-space: nowrap; border-radius:calc(var(--radius) - 1px); }
|
|
97
|
+
.folio-selection-toolbar > button:first-child{background:var(--ink);color:var(--paper)}
|
|
98
|
+
@media (max-width: 639px) {
|
|
99
|
+
.folio-conversation-suggestions [data-wide-only] { display: none; }
|
|
100
|
+
.folio-action-proposal__detail { display: none; }
|
|
101
|
+
.folio-question-composer[data-compact] .folio-question-composer__row { gap: .5rem; }
|
|
102
|
+
.folio-question-composer[data-compact] input { font-size: 1rem; }
|
|
103
|
+
}
|
|
104
|
+
@media (min-width: 901px) {
|
|
105
|
+
.folio-conversation-layout { grid-template-columns: minmax(0, 1fr) minmax(17rem, 21rem); gap: clamp(2.5rem, 5vw, 5rem); }
|
|
106
|
+
.folio-conversation-layout__evidence { display: block; position: sticky; inset-block-start: var(--scroll-offset); border-inline-start: 1px solid var(--rule); padding-inline-start: clamp(1.5rem, 3vw, 2.5rem); }
|
|
107
|
+
}
|
|
108
|
+
@media (min-width: 640px) { .folio-conversation-facts { display: flex; flex-direction: row; flex-wrap: wrap; gap: 1.5rem 3rem; } }
|
|
109
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
110
|
+
.folio-conversation-caret { animation: folio-conversation-blink 1s steps(2, end) infinite; }
|
|
111
|
+
}
|
|
112
|
+
@media (prefers-reduced-motion: reduce) {
|
|
113
|
+
.folio-conversation-dock, .folio-conversation-launcher, .folio-conversation-turn__toggle > svg { transition: none; }
|
|
114
|
+
}
|
|
115
|
+
@keyframes folio-conversation-blink { to { opacity: 0; } }
|