@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,28 @@
|
|
|
1
|
+
.folio-recovery-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
|
|
2
|
+
.folio-recovery-links { margin-block: clamp(3.5rem, 7vw, 6rem) 3rem; }
|
|
3
|
+
.folio-recovery-links ul { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 4rem; margin: .25rem 0 0; padding: 0; list-style: none; }
|
|
4
|
+
.folio-recovery-links li { border-block-end: 1px solid var(--rule); padding-block: .25rem; }
|
|
5
|
+
.folio-loading-container { inline-size: 100%; max-inline-size: var(--w-page); margin-inline: auto; padding-inline: var(--page-pad); }
|
|
6
|
+
.folio-loading-intro { display: grid; align-items: end; gap: clamp(2rem, 5vw, 5rem); padding-block: clamp(4.5rem, 9vw, 7rem) clamp(2.75rem, 5vw, 4.5rem); }
|
|
7
|
+
.folio-loading-records, .folio-loading-gallery, .folio-loading-metrics { padding-block-end: clamp(4rem, 9vw, 8rem); }
|
|
8
|
+
.folio-loading-records__row { display: grid; gap: 1rem 2.25rem; border-block-end: 1px solid var(--rule); padding-block: 2rem; }
|
|
9
|
+
.folio-loading-records__row:first-child { border-block-start: 1px solid var(--rule-hard); }
|
|
10
|
+
.folio-loading-filters { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: 1rem; }
|
|
11
|
+
.folio-loading-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem .75rem; }
|
|
12
|
+
.folio-loading-media { border-block: 1px solid var(--rule); background: var(--paper-2); }
|
|
13
|
+
.folio-loading-metrics__figures { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-block: 1px solid var(--rule); }
|
|
14
|
+
.folio-loading-metrics__figures > div { padding: clamp(1.5rem, 4vw, 2.25rem) clamp(1rem, 3vw, 1.625rem); }
|
|
15
|
+
.folio-loading-identity { display: grid; align-items: center; gap: 3.5rem; padding-block: clamp(7rem, 9vw, 8rem) clamp(2.5rem, 5vw, 4rem); }
|
|
16
|
+
@media (min-width: 640px) {
|
|
17
|
+
.folio-recovery-links ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
|
18
|
+
.folio-loading-records__row { grid-template-columns: 11rem minmax(0, 1fr); }
|
|
19
|
+
.folio-loading-records__row[data-media] { grid-template-columns: 2rem 15.375rem minmax(0, 1fr); }
|
|
20
|
+
}
|
|
21
|
+
@media (min-width: 768px) {
|
|
22
|
+
.folio-loading-intro { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
|
|
23
|
+
.folio-loading-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 1.5rem; }
|
|
24
|
+
}
|
|
25
|
+
@media (min-width: 1024px) {
|
|
26
|
+
.folio-loading-metrics__figures { grid-template-columns: repeat(4, minmax(0, 1fr)); }
|
|
27
|
+
.folio-loading-identity { grid-template-columns: minmax(0, 1fr) minmax(20rem, 30rem); gap: clamp(3rem, 6vw, 6rem); }
|
|
28
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
.folio-search-palette__search { position: relative; }
|
|
2
|
+
.folio-search-palette__search:focus-within { background: var(--paper-2); }
|
|
3
|
+
.folio-search-palette__search input { padding-inline-end: 3rem; font-size: .875rem; }
|
|
4
|
+
.folio-search-palette__search input:focus, .folio-search-palette__search input:focus-visible,
|
|
5
|
+
.folio-search-palette__input input:focus, .folio-search-palette__input input:focus-visible { outline: none; box-shadow: none; }
|
|
6
|
+
.folio-search-palette__close { position: absolute; inset-block-start: 50%; inset-inline-end: .5rem; translate: 0 -50%; }
|
|
7
|
+
.folio-search-palette__input { display: flex; align-items: center; gap: .5rem; padding: .75rem; border-block-end: 1px solid var(--rule); }
|
|
8
|
+
.folio-search-palette__input input { min-inline-size: 0; }
|
|
9
|
+
.folio-search-palette__detail { max-block-size: calc(80svh - 6.5rem); overflow-y: auto; overscroll-behavior: contain; padding: 1.5rem; }
|
|
10
|
+
.folio-search-palette__result { flex: 1; min-inline-size: 0; display: grid; gap: .125rem; }
|
|
11
|
+
.folio-search-palette__result > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
12
|
+
.folio-search-palette__description { color: var(--ink-3-aa); font-size: .75rem; }
|
|
13
|
+
.folio-search-palette__heading { font-family: var(--sans); font-size: .75rem; letter-spacing: normal; text-transform: none; }
|
|
14
|
+
.folio-search-palette__item { margin: .125rem 0; border-radius: var(--radius-sm); font-size: .875rem; }
|
|
15
|
+
.folio-search-palette__item::before { display: none; }
|
|
16
|
+
.folio-search-palette__item[data-selected=true] { background: var(--paper-2); box-shadow: inset 0 0 0 1px var(--rule); }
|
|
17
|
+
.folio-search-palette__meta { font-family: var(--sans); font-size: .6875rem; opacity: 0; }
|
|
18
|
+
.folio-search-palette__item[data-selected=true] .folio-search-palette__meta { opacity: 1; }
|
|
19
|
+
.folio-search-palette__highlight { color: var(--ink); background: var(--stone); border-radius: var(--radius-sm); }
|
|
20
|
+
.folio-search-palette__footer { flex-wrap: wrap; }
|
|
21
|
+
@media (max-width: 40rem) {
|
|
22
|
+
.folio-search-palette__search input { font-size: 1rem; }
|
|
23
|
+
.folio-search-palette__detail { max-block-size: calc(84svh - 4.5rem); }
|
|
24
|
+
.folio-search-palette__meta { display: none; }
|
|
25
|
+
.folio-search-palette__footer { display: none; }
|
|
26
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
@layer base {
|
|
2
|
+
.folio-site-shell { min-block-size: 100svh; background: var(--background); color: var(--foreground); }
|
|
3
|
+
.folio-site-shell main { min-block-size: 60svh; }
|
|
4
|
+
}
|
|
5
|
+
.folio-site-container { max-inline-size: var(--w-page); margin-inline: auto; padding-inline: var(--page-pad); }
|
|
6
|
+
.folio-site-skip { position: fixed; inset-block-start: 1rem; inset-inline-start: 1rem; z-index: var(--z-toast); padding: .75rem 1rem; background: var(--paper); color: var(--ink); border: 1px solid var(--rule); transform: translateY(-200%); }
|
|
7
|
+
.folio-site-skip:focus { transform: none; }
|
|
8
|
+
.folio-site-navigation { position: fixed; inset: 0 0 auto; z-index: var(--z-sticky); background: var(--paper); color: var(--ink); border-block-end: 1px solid var(--rule); transition: background-color var(--duration-fast), color var(--duration-fast); }
|
|
9
|
+
.folio-site-navigation[data-overlay] { background: transparent; color: var(--on-dark); border-color: transparent; }
|
|
10
|
+
.folio-site-navigation { inset-inline-end:auto; inline-size:100%; }
|
|
11
|
+
.folio-navigation-search { inline-size: clamp(10rem, 16vw, 14rem); justify-content: flex-start; gap: .65rem; border: 1px solid var(--rule); border-radius: .625rem; background: var(--paper-2); color: var(--ink-2); padding-inline: .875rem; }
|
|
12
|
+
.folio-navigation-search-label { font-size: .8rem; }
|
|
13
|
+
.folio-navigation-search { block-size:44px; padding-block:0; flex-shrink:0; }
|
|
14
|
+
.folio-navigation-search kbd { margin-inline-start: auto; font-size: .7rem; border: 1px solid var(--rule); padding: .15rem .35rem; background: var(--paper); color: var(--ink-3-aa); }
|
|
15
|
+
@media (max-width: 599px) {
|
|
16
|
+
.folio-navigation-search-label { display: none; }
|
|
17
|
+
.folio-navigation-search kbd { margin-inline-start: 0; }
|
|
18
|
+
.folio-navigation-search { inline-size: auto; gap: .4rem; padding-inline: .5rem; }
|
|
19
|
+
}
|
|
20
|
+
.folio-site-navigation[data-overlay]::before { content: ''; position: absolute; inset: 0 0 -3rem; z-index: -1; pointer-events: none; background: linear-gradient(color-mix(in srgb, var(--photo-scrim) 45%, transparent), transparent); }
|
|
21
|
+
.folio-site-navigation-inner { max-inline-size: var(--w-page); padding-inline: var(--page-pad); margin-inline: auto; min-block-size: 4.25rem; display: flex; align-items: center; gap: 2rem; }
|
|
22
|
+
.folio-site-wordmark { font-family: var(--font-heading); font-size: 1.4rem; letter-spacing: -.025em; white-space: nowrap; }
|
|
23
|
+
.folio-site-wordmark a { display: inline-flex; align-items: center; min-block-size: 44px; }
|
|
24
|
+
.folio-site-navigation-desktop { margin-inline-start: auto; }
|
|
25
|
+
.folio-site-navigation-desktop ul { list-style: none; padding: 0; margin: 0; display: flex; gap: 1.6rem; }
|
|
26
|
+
.folio-site-navigation-link { display: inline-flex; align-items: center; min-block-size: 44px; font-family: var(--sans); font-size: .875rem; color: inherit; opacity: .7; text-decoration: none; }
|
|
27
|
+
.folio-site-navigation-link[aria-current] { opacity: 1; text-decoration: underline; text-underline-offset: 8px; text-decoration-thickness: 1px; }
|
|
28
|
+
.folio-site-navigation-link:hover { opacity: 1; }
|
|
29
|
+
.folio-site-navigation-actions { display: flex; align-items: center; gap: .4rem; }
|
|
30
|
+
.folio-site-navigation-actions>button { flex-shrink:0; }
|
|
31
|
+
@media(max-width:359px) {
|
|
32
|
+
.folio-site-navigation .folio-site-navigation-inner { padding-inline:12px; gap:4px; }
|
|
33
|
+
.folio-site-navigation .folio-site-wordmark { font-size:1.05rem; }
|
|
34
|
+
.folio-site-navigation .folio-site-navigation-actions { gap:0; }
|
|
35
|
+
.folio-navigation-search kbd { display:none; }
|
|
36
|
+
.folio-navigation-search { inline-size:44px; justify-content:center; }
|
|
37
|
+
}
|
|
38
|
+
.folio-site-navigation-toggle { display: none; }
|
|
39
|
+
.folio-site-navigation-sheet { padding: max(1rem, env(safe-area-inset-top)) 1rem 1rem; max-block-size: 85svh; border-radius: 0 0 1rem 1rem; background: var(--paper); backdrop-filter: none; transition: none; translate: none; }
|
|
40
|
+
.folio-site-navigation-sheet[data-state=open] { animation: folio-navigation-down 260ms var(--ease-out-expo) both; }
|
|
41
|
+
.folio-site-navigation-sheet[data-state=closed] { animation: folio-navigation-up 180ms var(--ease) both; }
|
|
42
|
+
.folio-site-navigation-sheet>div:first-child { margin: 0; min-block-size: 3rem; padding-inline: .75rem 3rem; justify-content: center; border-block-end: 1px solid var(--rule); }
|
|
43
|
+
.folio-site-navigation-sheet h2 { font-family: var(--sans); font-size: .75rem; font-weight: 500; color: var(--ink-3-aa); }
|
|
44
|
+
.folio-site-navigation-sheet>button { inset-block-start: max(1rem, env(safe-area-inset-top)); inset-inline-end: 1rem; inline-size: 44px; block-size: 44px; }
|
|
45
|
+
.folio-site-navigation-mobile { display: flex; flex-direction: column; gap: .25rem; padding-block-start: .75rem; }
|
|
46
|
+
.folio-site-navigation-mobile .folio-site-navigation-link { justify-content: space-between; min-block-size: 48px; padding-inline: .75rem; font-size: 1rem; border-radius: var(--radius-md); color: var(--ink-2); opacity: 1; text-decoration: none; }
|
|
47
|
+
.folio-site-navigation-mobile .folio-site-navigation-link[aria-current] { background: var(--paper-2); color: var(--ink); }
|
|
48
|
+
.folio-site-navigation-mobile .folio-site-navigation-link[aria-current]::after { content: ''; inline-size: 5px; block-size: 5px; border-radius: 50%; background: currentColor; }
|
|
49
|
+
.folio-site-navigation-mobile .folio-site-navigation-link:hover { background: var(--paper-2); }
|
|
50
|
+
@keyframes folio-navigation-down { from { transform: translateY(-100%); } to { transform: translateY(0); } }
|
|
51
|
+
@keyframes folio-navigation-up { from { transform: translateY(0); } to { transform: translateY(-100%); } }
|
|
52
|
+
.folio-site-navigation-footer { margin-block-start: auto; padding-block-start: 2rem; color: var(--ink-2); }
|
|
53
|
+
.folio-site-footer { border-block-start: 1px solid var(--rule); padding-block: 3rem 6rem; background: var(--paper); }
|
|
54
|
+
.folio-site-footer-masthead { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; }
|
|
55
|
+
.folio-site-footer-masthead > a { font-size: .9rem; color: var(--ink-2); min-block-size: 44px; display: inline-flex; align-items: center; }
|
|
56
|
+
.folio-site-footer-description { margin-block: .75rem 0; color: var(--ink-3-aa); font-size: .85rem; }
|
|
57
|
+
.folio-site-footer-groups { display: grid; grid-template-columns: 2fr 2fr 1fr; gap: 3rem; margin-block-start: 2rem; padding-block-start: 1.5rem; border-block-start: 1px solid var(--rule); }
|
|
58
|
+
.folio-site-footer h2 { font-family: var(--sans); font-size: .85rem; font-weight: 500; color: var(--ink-3-aa); margin-block-end: .75rem; }
|
|
59
|
+
.folio-site-footer ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1rem; }
|
|
60
|
+
.folio-site-footer li a { min-block-size: 44px; display: inline-flex; align-items: center; font-size: .85rem; color: var(--ink-2); overflow-wrap: anywhere; }
|
|
61
|
+
.folio-site-footer li a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
|
|
62
|
+
.folio-site-footer [data-kind='files'] a { font-family: var(--mono); font-size: .75rem; }
|
|
63
|
+
.folio-site-footer [data-kind='social'] ul { display: flex; flex-wrap: wrap; gap: .25rem; }
|
|
64
|
+
.folio-site-footer [data-kind='social'] a { min-inline-size: 44px; justify-content: center; }
|
|
65
|
+
.folio-site-colophon { margin-block-start: 2rem; padding-block-start: 1.5rem; border-block-start: 1px solid var(--rule); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; font-family: var(--sans); font-size: .75rem; color: var(--ink-3-aa); }
|
|
66
|
+
.folio-site-section-heading { margin-block-end: clamp(2rem, 4vw, 3.5rem); }
|
|
67
|
+
.folio-site-section-heading p { max-inline-size: 42rem; margin-block-start: .8rem; }
|
|
68
|
+
.folio-site-link { display: inline-flex; align-items: center; gap: .5rem; min-block-size: 44px; font-family: var(--sans); font-size: .875rem; color: var(--ink-2); text-decoration: underline; text-decoration-color: var(--rule-2); text-underline-offset: 5px; transition: color var(--duration-fast); }
|
|
69
|
+
.folio-site-link:hover { color: var(--ink); text-decoration-color: currentColor; }
|
|
70
|
+
.folio-site-link-back { text-decoration: none; }
|
|
71
|
+
.folio-site-link-back::before { content: '↳'; }
|
|
72
|
+
.folio-site-link-meta { font-size: .85rem; }
|
|
73
|
+
.folio-site-preference-item { position: relative; display: flex; align-items: center; gap: .75rem; min-block-size: 44px; padding: .5rem 1.75rem .5rem .75rem; color: var(--ink-2); font-family: var(--sans); font-size: .875rem; outline: none; border-radius: var(--radius-sm); cursor: default; }
|
|
74
|
+
.folio-site-preference-item[data-highlighted] { background: var(--paper-2); color: var(--ink); }
|
|
75
|
+
.folio-site-preference-item > span:first-child { flex: 1; }
|
|
76
|
+
.folio-site-preference-indicator { position: absolute; inset-inline-end: .5rem; }
|
|
77
|
+
.folio-locale-mark{display:inline-flex;align-items:baseline;gap:.15rem;font-family:var(--mono-i18n,var(--font-mono));font-size:.7rem;font-weight:600;letter-spacing:-.08em;line-height:1}.folio-locale-mark>span{color:var(--ink-3-aa);font-weight:400}
|
|
78
|
+
@media (max-width: 899px) {
|
|
79
|
+
.folio-site-navigation-desktop { display: none; }
|
|
80
|
+
.folio-site-navigation-actions { margin-inline-start: auto; gap: .1rem; }
|
|
81
|
+
.folio-site-navigation-inner { gap: .5rem; }
|
|
82
|
+
.folio-site-navigation-toggle { display: inline-flex; }
|
|
83
|
+
.folio-site-wordmark { font-size: 1.2rem; }
|
|
84
|
+
}
|
|
85
|
+
@media (max-width: 767px) {
|
|
86
|
+
.folio-site-footer-groups { grid-template-columns: 1fr 1fr; gap: 2rem 1.25rem; }
|
|
87
|
+
.folio-site-footer-groups [data-kind='social'] { grid-column: 1 / -1; }
|
|
88
|
+
.folio-site-footer ul { grid-template-columns: 1fr; }
|
|
89
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
.folio-record-section { scroll-margin-block-start: var(--scroll-offset); }
|
|
2
|
+
.folio-record-section__header { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding-block-end: 1rem; border-block-end: 1px solid var(--rule-hard); }
|
|
3
|
+
.folio-career-record { display: grid; gap: 1rem; border-block-end: 1px solid var(--rule); padding-block: clamp(2rem, 3.5vw, 3rem); }
|
|
4
|
+
.folio-career-record__dates { display: flex; flex-wrap: wrap; align-items: baseline; gap: 1rem; }
|
|
5
|
+
.folio-career-record__dates dl, .folio-career-record__dates dd { margin: 0; }
|
|
6
|
+
.folio-career-record__dates dl { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
|
|
7
|
+
.folio-career-record__dates dd { font-variant-numeric: tabular-nums; }
|
|
8
|
+
.folio-career-record__body { min-inline-size: 0; }
|
|
9
|
+
.folio-career-record__description { margin-block: 1.25rem 0; max-inline-size: var(--measure-record); padding-inline-start: 1.25rem; list-style: disc; }
|
|
10
|
+
.folio-career-record__description > li + li { margin-block-start: .5rem; }
|
|
11
|
+
.folio-career-record__tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-block: 1.25rem 0; list-style: none; padding: 0; }
|
|
12
|
+
.folio-career-record__mark { display: none; }
|
|
13
|
+
.folio-career-record__mark img { inline-size: 4rem; block-size: 4rem; object-fit: contain; }
|
|
14
|
+
.folio-profile-section, .folio-profile-narrative { padding-block: clamp(3rem, 6vw, 5rem); }
|
|
15
|
+
.folio-profile-section__header { display: flex; flex-direction: column; gap: 1rem; margin-block-end: clamp(2rem, 4vw, 3rem); }
|
|
16
|
+
.folio-profile-narrative { display: grid; gap: 2rem; }
|
|
17
|
+
.folio-profile-figure { margin: 0; padding-block: clamp(2rem, 5vw, 4rem); }
|
|
18
|
+
.folio-profile-figure__image { overflow: hidden; border-radius: var(--radius); }
|
|
19
|
+
.folio-profile-figure__image img { display: block; inline-size: 100%; block-size: auto; }
|
|
20
|
+
.folio-profile-skills__group { display: grid; gap: 1rem; border-block-end: 1px solid var(--rule); padding-block: 1.5rem; }
|
|
21
|
+
.folio-profile-skills__group:first-child { border-block-start: 1px solid var(--rule-hard); }
|
|
22
|
+
.folio-profile-skills__items { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; list-style: none; margin: 0; padding: 0; }
|
|
23
|
+
.folio-profile-skills__items > li { display: inline-flex; align-items: center; gap: .5rem; }
|
|
24
|
+
.folio-profile-skill__icon { display: inline-flex; }
|
|
25
|
+
.folio-profile-skill__icon:empty { display: none; }
|
|
26
|
+
.folio-profile-skill__icon [data-artwork='dark'] { display: none; }
|
|
27
|
+
[data-mode='dark'] .folio-profile-skill__icon[data-has-dark] [data-artwork='light'] { display: none; }
|
|
28
|
+
[data-mode='dark'] .folio-profile-skill__icon[data-has-dark] [data-artwork='dark'] { display: inline-flex; }
|
|
29
|
+
[data-mode='dark'] .folio-profile-skill__icon[data-invert]:not([data-has-dark]) img { filter: invert(1); }
|
|
30
|
+
.folio-profile-interests { display: grid; gap: 2rem; }
|
|
31
|
+
.folio-profile-interests article { border-block-start: 1px solid var(--rule); padding-block-start: 1.5rem; }
|
|
32
|
+
.folio-timeline { border-block-start: 1px solid var(--rule-hard); }
|
|
33
|
+
.folio-timeline__item { min-inline-size: 0; }
|
|
34
|
+
@media (min-width: 768px) {
|
|
35
|
+
.folio-career-record { grid-template-columns: 11rem minmax(0, 1fr) 4rem; column-gap: clamp(2rem, 4vw, 3.5rem); }
|
|
36
|
+
.folio-career-record__dates, .folio-career-record__dates dl { display: block; }
|
|
37
|
+
.folio-career-record__dates dd + dt + dd { margin-block-start: .5rem; }
|
|
38
|
+
.folio-career-record__dates > dl + * { margin-block-start: 1rem; }
|
|
39
|
+
.folio-career-record__mark { display: block; justify-self: end; }
|
|
40
|
+
.folio-profile-narrative { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(3rem, 7vw, 6rem); }
|
|
41
|
+
.folio-profile-skills__group { grid-template-columns: minmax(10rem, 3fr) minmax(0, 9fr); gap: 2rem; }
|
|
42
|
+
.folio-profile-interests { grid-template-columns: repeat(3, minmax(0, 1fr)); }
|
|
43
|
+
}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Workbench compositions.
|
|
3
|
+
*
|
|
4
|
+
* One grid for the whole page: 12 columns with a 24px gutter inside the page
|
|
5
|
+
* width. A section's heading takes columns 1–4 and its content an 8-column
|
|
6
|
+
* subgrid on columns 5–12, so every list, card and caption on the page shares
|
|
7
|
+
* the same vertical lines. Colour, rules and type come from the theme axes;
|
|
8
|
+
* the Workbench preset is `linen` + `ember` + `grotesk` + `quiet`, but these
|
|
9
|
+
* compositions read only roles and work under any preset.
|
|
10
|
+
*/
|
|
11
|
+
@layer components {
|
|
12
|
+
.folio-wb-section,
|
|
13
|
+
.folio-wb-hero {
|
|
14
|
+
--wb-gap: 24px;
|
|
15
|
+
max-inline-size: var(--w-page);
|
|
16
|
+
margin-inline: auto;
|
|
17
|
+
padding-inline: var(--page-pad);
|
|
18
|
+
display: grid;
|
|
19
|
+
grid-template-columns: repeat(12, minmax(0, 1fr));
|
|
20
|
+
column-gap: var(--wb-gap);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/* ─── Section ─────────────────────────────────────────────────────────── */
|
|
24
|
+
.folio-wb-section { margin-block-start: 7.5rem; }
|
|
25
|
+
.folio-wb-section:last-child { margin-block-end: 7.5rem; }
|
|
26
|
+
.folio-wb-section::before { content: ''; grid-column: 1 / -1; border-block-start: 1px solid var(--rule); margin-block-end: 2rem; }
|
|
27
|
+
.folio-wb-section-head { grid-column: 1 / span 4; display: flex; flex-direction: column; gap: 1rem; padding-inline-end: 1.5rem; }
|
|
28
|
+
.folio-wb-section-body { grid-column: 5 / -1; min-inline-size: 0; }
|
|
29
|
+
.folio-wb-heading { margin: 0; font-family: var(--font-heading); font-weight: 400; font-size: 1.375rem; line-height: 1.3; letter-spacing: -0.015em; color: var(--ink); text-wrap: pretty; }
|
|
30
|
+
.folio-wb-heading-lead { color: var(--ink-3-aa); }
|
|
31
|
+
.folio-wb-section-action a,
|
|
32
|
+
.folio-wb-link { display: inline-flex; align-items: center; min-block-size: 44px; color: var(--accent-on-muted); text-decoration: none; font-size: .9375rem; }
|
|
33
|
+
.folio-wb-section-action a:hover,
|
|
34
|
+
.folio-wb-link:hover { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
|
|
35
|
+
|
|
36
|
+
/* ─── Hero ────────────────────────────────────────────────────────────── */
|
|
37
|
+
.folio-wb-hero { padding-block-start: clamp(4rem, 8vw, 6rem); row-gap: 3rem; align-items: end; }
|
|
38
|
+
.folio-wb-hero-copy { grid-column: 1 / span 7; display: flex; flex-direction: column; gap: 1.75rem; }
|
|
39
|
+
.folio-wb-hero-statement { font-size: clamp(1.5rem, 2.2vw, 1.75rem); line-height: 1.3; }
|
|
40
|
+
.folio-wb-hero-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
|
|
41
|
+
.folio-wb-hero-stats { grid-column: 10 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--wb-gap); margin: 0; align-self: end; }
|
|
42
|
+
.folio-wb-hero-stats > div { display: flex; flex-direction: column-reverse; gap: .125rem; }
|
|
43
|
+
.folio-wb-hero-stats dd { margin: 0; font-size: 1.25rem; color: var(--ink); font-variant-numeric: tabular-nums; }
|
|
44
|
+
.folio-wb-hero-stats dt { font-size: .8125rem; color: var(--ink-3-aa); }
|
|
45
|
+
.folio-wb-hero-figure { grid-column: 1 / -1; }
|
|
46
|
+
|
|
47
|
+
/* ─── Figure ──────────────────────────────────────────────────────────── */
|
|
48
|
+
.folio-wb-figure { margin: 0; }
|
|
49
|
+
.folio-wb-figure-frame { position: relative; display: block; overflow: hidden; border-radius: var(--radius); background: var(--paper-2); aspect-ratio: 3 / 2; }
|
|
50
|
+
.folio-wb-figure[data-ratio='wide'] .folio-wb-figure-frame { aspect-ratio: 16 / 9; }
|
|
51
|
+
.folio-wb-figure[data-ratio='portrait'] .folio-wb-figure-frame { aspect-ratio: 4 / 5; }
|
|
52
|
+
.folio-wb-figure[data-ratio='panorama'] .folio-wb-figure-frame { aspect-ratio: 3 / 1; }
|
|
53
|
+
.folio-wb-figure-frame img,
|
|
54
|
+
.folio-wb-mosaic-frame img,
|
|
55
|
+
.folio-wb-card-cover img { inline-size: 100%; block-size: 100%; object-fit: cover; transition: scale var(--slow) var(--ease); }
|
|
56
|
+
.folio-wb-figure figcaption { display: flex; justify-content: space-between; gap: 1rem; margin-block-start: .75rem; font-size: .8125rem; color: var(--ink-3-aa); }
|
|
57
|
+
|
|
58
|
+
/* ─── Tools ───────────────────────────────────────────────────────────── */
|
|
59
|
+
.folio-wb-tools { max-inline-size: var(--w-page); margin: 4.5rem auto 0; padding-inline: var(--page-pad); }
|
|
60
|
+
.folio-wb-tools-label { margin: 0 0 1.25rem; text-align: center; font-size: .8125rem; color: var(--ink-3-aa); }
|
|
61
|
+
.folio-wb-tools ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; }
|
|
62
|
+
.folio-wb-tools li { display: grid; place-items: center; block-size: 4rem; border-radius: var(--radius); background: var(--paper-2); color: var(--ink-3-aa); transition: color var(--mid) var(--ease), background-color var(--mid) var(--ease); }
|
|
63
|
+
.folio-wb-tools li:hover { color: var(--ink); background: var(--stone); }
|
|
64
|
+
.folio-wb-tools li svg { inline-size: 1.375rem; block-size: 1.375rem; }
|
|
65
|
+
|
|
66
|
+
/* ─── Cards ───────────────────────────────────────────────────────────── */
|
|
67
|
+
.folio-wb-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 24px; }
|
|
68
|
+
.folio-wb-card { position: relative; display: flex; flex-direction: column; gap: .375rem; }
|
|
69
|
+
.folio-wb-card-cover { position: relative; overflow: hidden; aspect-ratio: 16 / 10; margin-block-end: .625rem; border: 1px solid var(--rule); border-radius: var(--radius); background: var(--paper-2); transition: border-color var(--mid) var(--ease), translate var(--mid) var(--ease); }
|
|
70
|
+
.folio-wb-card-title { margin: 0; font-family: var(--font-heading); font-weight: 400; font-size: 1rem; line-height: 1.4; color: var(--ink); }
|
|
71
|
+
.folio-wb-card-title a { display: inline-flex; align-items: center; min-block-size: 44px; color: inherit; text-decoration: none; }
|
|
72
|
+
.folio-wb-card-title a::after { content: ''; position: absolute; inset: 0; border-radius: var(--radius); }
|
|
73
|
+
.folio-wb-card:has(a:focus-visible) .folio-wb-card-cover { outline: var(--focus-w) solid var(--focus); outline-offset: 2px; }
|
|
74
|
+
.folio-wb-card-description,
|
|
75
|
+
.folio-wb-card-meta { margin: 0; font-size: .875rem; line-height: 1.5; color: var(--ink-3-aa); }
|
|
76
|
+
.folio-wb-card-meta { font-size: .8125rem; }
|
|
77
|
+
.folio-wb-card:hover .folio-wb-card-cover { translate: 0 -2px; border-color: var(--rule-2); }
|
|
78
|
+
.folio-wb-card:hover .folio-wb-card-cover img,
|
|
79
|
+
.folio-wb-figure:hover .folio-wb-figure-frame img,
|
|
80
|
+
.folio-wb-mosaic-frame:hover img { scale: 1.02; }
|
|
81
|
+
.folio-wb-tile { display: grid; align-items: end; block-size: 100%; padding: 1.25rem; color: var(--paper); background-color: var(--ink); background-image: linear-gradient(color-mix(in srgb, var(--paper) 10%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--paper) 10%, transparent) 1px, transparent 1px); background-size: 24px 24px; }
|
|
82
|
+
.folio-wb-tile span { font-size: 1.25rem; letter-spacing: .08em; text-transform: uppercase; }
|
|
83
|
+
|
|
84
|
+
/* ─── Entries ─────────────────────────────────────────────────────────── */
|
|
85
|
+
.folio-wb-entries { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); column-gap: 24px; row-gap: 2rem; }
|
|
86
|
+
.folio-wb-entries > ul { grid-column: 1 / -1; list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
|
|
87
|
+
.folio-wb-entries[data-has-featured] > ul { grid-column: 5 / -1; }
|
|
88
|
+
.folio-wb-entries > ul > li + li { border-block-start: 1px solid var(--rule); }
|
|
89
|
+
.folio-wb-entries > ul > li { padding-block: 1.25rem; }
|
|
90
|
+
.folio-wb-entries > ul > li:first-child { padding-block-start: 0; }
|
|
91
|
+
.folio-wb-entry-featured { grid-column: 1 / span 4; position: relative; display: flex; flex-direction: column; gap: 1rem; padding: 1.5rem; border: 1px solid var(--rule); border-radius: var(--radius); background-color: var(--paper-2); background-image: repeating-linear-gradient(to bottom, transparent 0 calc(1.625rem - 1px), var(--rule) calc(1.625rem - 1px) 1.625rem); transition: border-color var(--mid) var(--ease), translate var(--mid) var(--ease); }
|
|
92
|
+
.folio-wb-entry-featured:hover { translate: 0 -2px; border-color: var(--rule-2); }
|
|
93
|
+
.folio-wb-entry-featured h3 { margin: 0 0 auto; font-family: var(--font-heading); font-weight: 400; font-size: 1.375rem; line-height: 1.3; color: var(--ink); }
|
|
94
|
+
.folio-wb-entry-featured p { margin: 0; font-size: .9375rem; line-height: 1.625rem; color: var(--ink-2); }
|
|
95
|
+
.folio-wb-entry-featured h3 a::after { content: ''; position: absolute; inset: 0; }
|
|
96
|
+
.folio-wb-entry h3 { margin: 0; font-family: var(--font-heading); font-weight: 400; font-size: 1rem; line-height: 1.4; }
|
|
97
|
+
.folio-wb-entry h3 a,
|
|
98
|
+
.folio-wb-entry-featured h3 a { display: inline-flex; align-items: center; min-block-size: 44px; color: var(--ink); text-decoration: none; }
|
|
99
|
+
.folio-wb-entry h3 a:hover { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
|
|
100
|
+
.folio-wb-entry-date { margin: 0 0 .25rem; font-size: .8125rem; color: var(--ink-3-aa); }
|
|
101
|
+
.folio-wb-entry-excerpt { margin: .375rem 0 0; font-size: .875rem; line-height: 1.5; color: var(--ink-3-aa); }
|
|
102
|
+
.folio-wb-entry-meta { margin: .375rem 0 0; font-size: .8125rem; color: var(--ink-3-aa); }
|
|
103
|
+
|
|
104
|
+
/* ─── Chronology ──────────────────────────────────────────────────────── */
|
|
105
|
+
.folio-wb-chronology { margin: 0; }
|
|
106
|
+
.folio-wb-chronology ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1.25rem; }
|
|
107
|
+
.folio-wb-chronology li p { margin: 0 0 .375rem; font-size: .8125rem; line-height: 1.4; color: var(--ink); white-space: nowrap; }
|
|
108
|
+
.folio-wb-chronology li[data-align='start'] p { margin-inline-start: var(--start); }
|
|
109
|
+
.folio-wb-chronology li[data-align='end'] p { text-align: end; padding-inline-end: calc(100% - var(--end)); }
|
|
110
|
+
.folio-wb-chronology-org { color: var(--ink-3-aa); }
|
|
111
|
+
.folio-wb-chronology-now { color: var(--accent-on-muted); }
|
|
112
|
+
.folio-wb-chronology-bar { display: block; margin-inline-start: var(--start); block-size: .5rem; inline-size: calc(var(--end) - var(--start)); min-inline-size: .75rem; border-radius: var(--radius-pill); }
|
|
113
|
+
.folio-wb-chronology li[data-kind='role'] .folio-wb-chronology-bar { background: var(--stone); }
|
|
114
|
+
.folio-wb-chronology li[data-kind='study'] .folio-wb-chronology-bar { box-shadow: inset 0 0 0 1px var(--rule-2); }
|
|
115
|
+
.folio-wb-chronology li[data-current] .folio-wb-chronology-bar { background: linear-gradient(90deg, var(--ink) calc(100% - .5rem), var(--accent) 0); }
|
|
116
|
+
.folio-wb-chronology-axis { display: flex; overflow: hidden; margin-block-start: 1.5rem; border-block-start: 1px solid var(--rule-2); }
|
|
117
|
+
.folio-wb-chronology-axis span { flex: 1; min-inline-size: 0; white-space: nowrap; padding: .5rem 0 0 .375rem; border-inline-start: 1px solid var(--rule); font-size: .8125rem; color: var(--ink-3-aa); font-variant-numeric: tabular-nums; }
|
|
118
|
+
|
|
119
|
+
/* ─── Mosaic ──────────────────────────────────────────────────────────── */
|
|
120
|
+
.folio-wb-mosaic { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: auto auto; gap: 24px; }
|
|
121
|
+
.folio-wb-mosaic-lead { grid-row: span 2; margin: 0; display: flex; flex-direction: column; }
|
|
122
|
+
.folio-wb-mosaic-lead .folio-wb-mosaic-frame { flex: 1; }
|
|
123
|
+
.folio-wb-mosaic-frame { position: relative; overflow: hidden; border-radius: var(--radius); background: var(--paper-2); aspect-ratio: 4 / 5; }
|
|
124
|
+
.folio-wb-mosaic-lead .folio-wb-mosaic-frame { aspect-ratio: auto; min-block-size: 100%; }
|
|
125
|
+
.folio-wb-mosaic-frame > a { position: absolute; inset: 0; display: block; }
|
|
126
|
+
.folio-wb-mosaic-lead figcaption { margin-block-start: .75rem; font-size: .8125rem; color: var(--ink-3-aa); }
|
|
127
|
+
|
|
128
|
+
/* ─── Contact ─────────────────────────────────────────────────────────── */
|
|
129
|
+
.folio-wb-contact { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; }
|
|
130
|
+
.folio-wb-contact-address a { display: inline-flex; align-items: center; min-block-size: 44px; font-size: clamp(1.25rem, 2vw, 1.625rem); color: var(--ink); text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; text-decoration-color: var(--rule-2); transition: text-decoration-color var(--mid) var(--ease); }
|
|
131
|
+
.folio-wb-contact-address a:hover { text-decoration-color: var(--ink); }
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
/* ─── Reveal ──────────────────────────────────────────────────────────── */
|
|
135
|
+
.folio-wb-reveal[data-reveal] { transition: opacity calc(var(--slow) * 1.2) var(--ease), translate calc(var(--slow) * 1.2) var(--ease); }
|
|
136
|
+
.folio-wb-reveal[data-reveal='hidden'] { opacity: 0; translate: 0 12px; }
|
|
137
|
+
|
|
138
|
+
.folio-wb-visually-hidden { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
|
|
139
|
+
|
|
140
|
+
/* ─── Narrow screens ──────────────────────────────────────────────────── */
|
|
141
|
+
@media (max-width: 47.5rem) {
|
|
142
|
+
.folio-wb-section { margin-block-start: 5rem; }
|
|
143
|
+
.folio-wb-section-head,
|
|
144
|
+
.folio-wb-section-body,
|
|
145
|
+
.folio-wb-hero-copy,
|
|
146
|
+
.folio-wb-hero-stats { grid-column: 1 / -1; }
|
|
147
|
+
.folio-wb-section-head { margin-block-end: 2rem; padding-inline-end: 0; }
|
|
148
|
+
.folio-wb-tools ul { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
|
|
149
|
+
.folio-wb-card-grid { grid-template-columns: minmax(0, 1fr); }
|
|
150
|
+
.folio-wb-entries > ul,
|
|
151
|
+
.folio-wb-entries[data-has-featured] > ul,
|
|
152
|
+
.folio-wb-entry-featured { grid-column: 1 / -1; }
|
|
153
|
+
.folio-wb-mosaic { grid-template-columns: 1fr 1fr; }
|
|
154
|
+
.folio-wb-mosaic-lead { grid-column: 1 / -1; grid-row: auto; }
|
|
155
|
+
.folio-wb-mosaic-lead .folio-wb-mosaic-frame { aspect-ratio: 4 / 5; }
|
|
156
|
+
.folio-wb-chronology li p { white-space: normal; }
|
|
157
|
+
/* A long career puts a dozen years on a phone-width axis; every other
|
|
158
|
+
label keeps them legible without pushing the page sideways. */
|
|
159
|
+
.folio-wb-chronology-axis span:nth-child(even) { color: transparent; }
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
package/dist/website.css
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Styles for `@misoto22/folio/website`, published as `website.css`.
|
|
3
|
+
*
|
|
4
|
+
* Separate from `styles.css`, so an application that renders only the
|
|
5
|
+
* primitives ships none of it. Every rule here is scoped to a composition's own
|
|
6
|
+
* classes. The document defaults a whole website wants — body type, heading
|
|
7
|
+
* margins, the site-wide focus ring — are in `website-base.css`, a second
|
|
8
|
+
* opt-in entry, because they reach past the compositions to the page itself.
|
|
9
|
+
*/
|
|
10
|
+
@import './website-shell.css';
|
|
11
|
+
@import './website-portfolio.css';
|
|
12
|
+
@import './website-collection.css';
|
|
13
|
+
@import './website-reading.css';
|
|
14
|
+
@import './website-contact.css';
|
|
15
|
+
@import './website-music.css';
|
|
16
|
+
@import './website-timeline.css';
|
|
17
|
+
@import './website-recovery.css';
|
|
18
|
+
@import './website-media.css';
|
|
19
|
+
@import './website-metrics.css';
|
|
20
|
+
@import './website-search.css';
|
|
21
|
+
@import './website-content.css';
|
|
22
|
+
@import './website-actions.css';
|
|
23
|
+
@import './website-conversation.css';
|
|
24
|
+
@import './website-evidence.css';
|
|
25
|
+
@import './website-controls.css';
|
|
26
|
+
@import './website-workbench.css';
|
package/llms.txt
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# @misoto22/folio
|
|
2
|
+
|
|
3
|
+
> A monochrome design system for software, writing and photography: portable CSS
|
|
4
|
+
> tokens and accessible React 19 primitives, charts and diagrams. Components ship
|
|
5
|
+
> compiled — import them, do not copy them.
|
|
6
|
+
|
|
7
|
+
This file is a stub on purpose. It carries no prop tables and no version, so it
|
|
8
|
+
cannot go stale between releases; everything it points at is generated from the
|
|
9
|
+
source in this same tarball at build time.
|
|
10
|
+
|
|
11
|
+
## In this package, offline
|
|
12
|
+
|
|
13
|
+
- [dist/agent/index.md](./dist/agent/index.md): every component, one line each, plus the theme axes read out of the stylesheets.
|
|
14
|
+
- [dist/agent/<Component>.md](./dist/agent/): one component in full — every prop with its type and default, the exported unions, the keyboard contract, the accessibility promises, the examples.
|
|
15
|
+
- [skills/folio-design/SKILL.md](./skills/folio-design/SKILL.md): the conventions an agent gets wrong from habit — the names that diverge from shadcn/ui, and colour that is never a raw class.
|
|
16
|
+
- [AGENTS.md](./AGENTS.md): the short version of this, plus what to know when working on the package itself.
|
|
17
|
+
|
|
18
|
+
Prefer the CLI over reading these by path — it resolves parts and types, not
|
|
19
|
+
just components:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx @misoto22/folio docs Button
|
|
23
|
+
npx @misoto22/folio docs --installed
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## On the web
|
|
27
|
+
|
|
28
|
+
- [https://ui.misoto22.com/llms.txt](https://ui.misoto22.com/llms.txt): the site's index.
|
|
29
|
+
- [https://ui.misoto22.com/llms-full.txt](https://ui.misoto22.com/llms-full.txt): every component inline, in one file.
|
|
30
|
+
- [https://ui.misoto22.com](https://ui.misoto22.com): the rendered documentation.
|
|
31
|
+
|
|
32
|
+
## Optional
|
|
33
|
+
|
|
34
|
+
- [README.md](./README.md): install, theming, and the same three commands for a human reader.
|
|
35
|
+
- [CHANGELOG.md](./CHANGELOG.md)
|
package/package.json
CHANGED
|
@@ -1,14 +1,172 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@misoto22/folio",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
3
|
+
"version": "0.17.0",
|
|
4
|
+
"private": false,
|
|
5
|
+
"description": "Monochrome design system — CSS tokens and accessible React primitives",
|
|
5
6
|
"license": "MIT",
|
|
6
|
-
"
|
|
7
|
+
"author": "Henry Chen",
|
|
8
|
+
"type": "module",
|
|
9
|
+
"sideEffects": [
|
|
10
|
+
"**/*.css"
|
|
11
|
+
],
|
|
12
|
+
"files": [
|
|
13
|
+
"dist",
|
|
14
|
+
"skills",
|
|
15
|
+
"bin",
|
|
16
|
+
"AGENTS.md",
|
|
17
|
+
"CLAUDE.md",
|
|
18
|
+
"llms.txt",
|
|
19
|
+
"LICENSE",
|
|
20
|
+
"README.md"
|
|
21
|
+
],
|
|
22
|
+
"bin": {
|
|
23
|
+
"folio-design": "./bin/folio-design.mjs"
|
|
24
|
+
},
|
|
25
|
+
"exports": {
|
|
26
|
+
".": {
|
|
27
|
+
"types": "./dist/index.d.ts",
|
|
28
|
+
"import": "./dist/index.js"
|
|
29
|
+
},
|
|
30
|
+
"./charts": {
|
|
31
|
+
"types": "./dist/charts/index.d.ts",
|
|
32
|
+
"import": "./dist/charts/index.js"
|
|
33
|
+
},
|
|
34
|
+
"./diagrams": {
|
|
35
|
+
"types": "./dist/diagrams/index.d.ts",
|
|
36
|
+
"import": "./dist/diagrams/index.js"
|
|
37
|
+
},
|
|
38
|
+
"./website": {
|
|
39
|
+
"types": "./dist/website/index.d.ts",
|
|
40
|
+
"import": "./dist/website/index.js"
|
|
41
|
+
},
|
|
42
|
+
"./website.css": "./dist/website.css",
|
|
43
|
+
"./website-base.css": "./dist/website-base.css",
|
|
44
|
+
"./styles.css": "./dist/styles.css",
|
|
45
|
+
"./tokens.css": "./dist/tokens.css",
|
|
46
|
+
"./semantic.css": "./dist/semantic.css",
|
|
47
|
+
"./keyframes.css": "./dist/keyframes.css",
|
|
48
|
+
"./fonts.css": "./dist/fonts.css",
|
|
49
|
+
"./tokens.json": "./dist/tokens.json",
|
|
50
|
+
"./tokens": {
|
|
51
|
+
"types": "./dist/tokens.d.ts",
|
|
52
|
+
"import": "./dist/tokens.js"
|
|
53
|
+
},
|
|
54
|
+
"./themes.css": "./dist/themes.css",
|
|
55
|
+
"./article.css": "./dist/article.css",
|
|
56
|
+
"./brand": {
|
|
57
|
+
"types": "./dist/tokens/brand.d.ts",
|
|
58
|
+
"default": "./dist/tokens/brand.js"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"main": "./dist/index.js",
|
|
62
|
+
"types": "./dist/index.d.ts",
|
|
63
|
+
"peerDependencies": {
|
|
64
|
+
"motion": "^12.23.26",
|
|
65
|
+
"react": "^19.0.0",
|
|
66
|
+
"react-dom": "^19.0.0",
|
|
67
|
+
"recharts": "^3.8.0"
|
|
68
|
+
},
|
|
69
|
+
"dependencies": {
|
|
70
|
+
"@radix-ui/react-accordion": "^1.2.14",
|
|
71
|
+
"@radix-ui/react-avatar": "^1.1.14",
|
|
72
|
+
"@radix-ui/react-checkbox": "^1.3.11",
|
|
73
|
+
"@radix-ui/react-collapsible": "^1.1.20",
|
|
74
|
+
"@radix-ui/react-context-menu": "^2.3.7",
|
|
75
|
+
"@radix-ui/react-dialog": "^1.1.23",
|
|
76
|
+
"@radix-ui/react-dropdown-menu": "^2.1.24",
|
|
77
|
+
"@radix-ui/react-label": "^2.1.15",
|
|
78
|
+
"@radix-ui/react-popover": "^1.1.23",
|
|
79
|
+
"@radix-ui/react-progress": "^1.1.10",
|
|
80
|
+
"@radix-ui/react-radio-group": "^1.3.11",
|
|
81
|
+
"@radix-ui/react-scroll-area": "^1.2.18",
|
|
82
|
+
"@radix-ui/react-select": "^2.3.7",
|
|
83
|
+
"@radix-ui/react-slider": "^1.4.7",
|
|
84
|
+
"@radix-ui/react-slot": "^1.2.8",
|
|
85
|
+
"@radix-ui/react-switch": "^1.3.7",
|
|
86
|
+
"@radix-ui/react-tabs": "^1.1.21",
|
|
87
|
+
"@radix-ui/react-toggle-group": "^1.1.19",
|
|
88
|
+
"@radix-ui/react-tooltip": "^1.2.12",
|
|
89
|
+
"@remixicon/react": "^4.9.0",
|
|
90
|
+
"clsx": "^2.1.1",
|
|
91
|
+
"cmdk": "^1.1.1",
|
|
92
|
+
"react-day-picker": "^10.0.1",
|
|
93
|
+
"sonner": "^2.0.8",
|
|
94
|
+
"tailwind-merge": "^3.4.0"
|
|
95
|
+
},
|
|
96
|
+
"devDependencies": {
|
|
97
|
+
"@arethetypeswrong/cli": "^0.18.5",
|
|
98
|
+
"@fontsource/hanken-grotesk": "^5.2.5",
|
|
99
|
+
"@fontsource/ibm-plex-mono": "^5.2.5",
|
|
100
|
+
"@fontsource/newsreader": "^5.2.5",
|
|
101
|
+
"@tailwindcss/cli": "4.3.3",
|
|
102
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
103
|
+
"@testing-library/react": "^16.3.2",
|
|
104
|
+
"@testing-library/user-event": "^14.6.7",
|
|
105
|
+
"@types/culori": "^4.0.1",
|
|
106
|
+
"@types/react": "^19.2.18",
|
|
107
|
+
"@types/react-dom": "^19.2.4",
|
|
108
|
+
"@vitejs/plugin-react": "^6.1.0",
|
|
109
|
+
"axe-core": "^4.13.0",
|
|
110
|
+
"culori": "^4.0.2",
|
|
111
|
+
"esbuild": "^0.28.2",
|
|
112
|
+
"esbuild-fix-imports-plugin": "^1.0.23",
|
|
113
|
+
"jsdom": "^29.1.1",
|
|
114
|
+
"motion": "^12.43.0",
|
|
115
|
+
"publint": "^0.3.24",
|
|
116
|
+
"react": "^19.2.8",
|
|
117
|
+
"react-dom": "^19.2.8",
|
|
118
|
+
"recharts": "3.8.0",
|
|
119
|
+
"tailwindcss": "4.3.3",
|
|
120
|
+
"tsup": "^8.5.0",
|
|
121
|
+
"typescript": "^6.0.3",
|
|
122
|
+
"vitest": "^4.1.11"
|
|
123
|
+
},
|
|
124
|
+
"engines": {
|
|
125
|
+
"node": ">=24",
|
|
126
|
+
"pnpm": ">=11"
|
|
127
|
+
},
|
|
7
128
|
"repository": {
|
|
8
129
|
"type": "git",
|
|
9
|
-
"url": "git+https://github.com/Misoto22/folio.git"
|
|
130
|
+
"url": "git+https://github.com/Misoto22/folio.git",
|
|
131
|
+
"directory": "packages/design"
|
|
132
|
+
},
|
|
133
|
+
"keywords": [
|
|
134
|
+
"design-system",
|
|
135
|
+
"react",
|
|
136
|
+
"tailwind",
|
|
137
|
+
"radix",
|
|
138
|
+
"components",
|
|
139
|
+
"tokens",
|
|
140
|
+
"accessibility"
|
|
141
|
+
],
|
|
142
|
+
"homepage": "https://ui.misoto22.com",
|
|
143
|
+
"bugs": {
|
|
144
|
+
"url": "https://github.com/Misoto22/folio/issues"
|
|
10
145
|
},
|
|
11
146
|
"publishConfig": {
|
|
12
147
|
"access": "public"
|
|
148
|
+
},
|
|
149
|
+
"peerDependenciesMeta": {
|
|
150
|
+
"motion": {
|
|
151
|
+
"optional": true
|
|
152
|
+
},
|
|
153
|
+
"recharts": {
|
|
154
|
+
"optional": true
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
"scripts": {
|
|
158
|
+
"build:fonts": "node scripts/vendor-fonts.mjs",
|
|
159
|
+
"build:js": "NODE_OPTIONS=--max-old-space-size=8192 tsup",
|
|
160
|
+
"build:css": "tailwindcss -i ./src/styles/index.css -o ./dist/styles.css --minify && node scripts/copy-portable-css.mjs && node scripts/emit-tokens.mjs",
|
|
161
|
+
"build:agent": "node scripts/emit-agent.mjs",
|
|
162
|
+
"build": "pnpm run build:fonts && pnpm run build:js && pnpm run build:css && pnpm run build:agent",
|
|
163
|
+
"dev": "tsup --watch",
|
|
164
|
+
"typecheck": "tsc --noEmit",
|
|
165
|
+
"lint": "eslint src scripts agent bin",
|
|
166
|
+
"test": "vitest run",
|
|
167
|
+
"test:watch": "vitest",
|
|
168
|
+
"clean": "rm -rf dist",
|
|
169
|
+
"check:size": "node scripts/check-size.mjs",
|
|
170
|
+
"check:publish": "node scripts/check-publish.mjs"
|
|
13
171
|
}
|
|
14
|
-
}
|
|
172
|
+
}
|