@flikk/ui 1.0.0-beta.30 → 1.0.0-beta.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +97 -0
- package/dist/components/ai/AgentStatus/AgentStatus.d.ts +3 -0
- package/dist/components/ai/AgentStatus/AgentStatus.js +144 -0
- package/dist/components/ai/AgentStatus/AgentStatus.theme.d.ts +2 -0
- package/dist/components/ai/AgentStatus/AgentStatus.theme.js +37 -0
- package/dist/components/ai/AgentStatus/AgentStatus.types.d.ts +116 -0
- package/dist/components/ai/AgentStatus/index.d.ts +3 -0
- package/dist/components/ai/CodeBlock/CodeBlock.js +3 -3
- package/dist/components/ai/CodeBlock/CodeBlock.theme.js +1 -1
- package/dist/components/ai/PromptInput/PromptInput.js +13 -14
- package/dist/components/ai/PromptInput/PromptInput.theme.js +1 -1
- package/dist/components/ai/PromptInput/VoiceRecorder.js +3 -3
- package/dist/components/ai/Reasoning/Reasoning.d.ts +5 -0
- package/dist/components/ai/Reasoning/Reasoning.js +16 -0
- package/dist/components/ai/Reasoning/Reasoning.types.d.ts +20 -0
- package/dist/components/ai/Reasoning/index.d.ts +2 -0
- package/dist/components/ai/SourceCitation/SourceCitation.d.ts +4 -0
- package/dist/components/ai/SourceCitation/SourceCitation.js +29 -0
- package/dist/components/ai/SourceCitation/SourceCitation.theme.d.ts +2 -0
- package/dist/components/ai/SourceCitation/SourceCitation.theme.js +23 -0
- package/dist/components/ai/SourceCitation/SourceCitation.types.d.ts +55 -0
- package/dist/components/ai/SourceCitation/index.d.ts +3 -0
- package/dist/components/ai/StreamingResponse/ErrorDisplay.js +2 -2
- package/dist/components/ai/StreamingResponse/StreamingResponse.js +1 -3
- package/dist/components/ai/StreamingResponse/StreamingResponse.theme.js +3 -1
- package/dist/components/ai/TokenCounter/TokenCounter.js +2 -2
- package/dist/components/ai/index.d.ts +3 -0
- package/dist/components/ai/index.js +6 -3
- package/dist/components/ai/shared/StatusIndicator.d.ts +8 -0
- package/dist/components/ai/shared/StatusIndicator.js +34 -0
- package/dist/components/canvas/CanvasToolbar.js +2 -2
- package/dist/components/canvas/NodeControls.js +2 -2
- package/dist/components/canvas/NodeRenderer.js +2 -2
- package/dist/components/charts/ActivityRings/ActivityRings.js +2 -2
- package/dist/components/charts/AreaChart/AreaChart.js +21 -32
- package/dist/components/charts/AreaChart/AreaChart.theme.d.ts +1 -6
- package/dist/components/charts/AreaChart/AreaChart.theme.js +7 -19
- package/dist/components/charts/AreaChart/AreaChart.types.d.ts +18 -11
- package/dist/components/charts/AreaChart/AreaChart.types.js +10 -3
- package/dist/components/charts/AreaChart/index.d.ts +1 -1
- package/dist/components/charts/BarChart/BarChart.js +9 -28
- package/dist/components/charts/BarChart/BarChart.types.d.ts +20 -16
- package/dist/components/charts/BarChart/BarChart.types.js +11 -4
- package/dist/components/charts/ComboChart/BarRenderer.js +8 -5
- package/dist/components/charts/ComboChart/ComboChart.js +11 -24
- package/dist/components/charts/ComboChart/ComboChart.types.d.ts +15 -13
- package/dist/components/charts/ComboChart/ComboChart.types.js +14 -2
- package/dist/components/charts/ComboChart/LineRenderer.js +15 -10
- package/dist/components/charts/HorizontalBarChart/HorizontalBarChart.d.ts +16 -0
- package/dist/components/charts/HorizontalBarChart/HorizontalBarChart.js +237 -0
- package/dist/components/charts/HorizontalBarChart/HorizontalBarChart.types.d.ts +62 -0
- package/dist/components/charts/HorizontalBarChart/HorizontalBarChart.types.js +21 -0
- package/dist/components/charts/HorizontalBarChart/index.d.ts +3 -0
- package/dist/components/charts/LineChart/LineChart.js +9 -26
- package/dist/components/charts/LineChart/LineChart.types.d.ts +11 -14
- package/dist/components/charts/LineChart/LineChart.types.js +11 -3
- package/dist/components/charts/LollipopChart/LollipopChart.d.ts +3 -0
- package/dist/components/charts/LollipopChart/LollipopChart.js +361 -0
- package/dist/components/charts/LollipopChart/LollipopChart.types.d.ts +42 -0
- package/dist/components/charts/LollipopChart/LollipopChart.types.js +12 -0
- package/dist/components/charts/LollipopChart/index.d.ts +3 -0
- package/dist/components/charts/ScatterPlot/ScatterPlot.js +5 -4
- package/dist/components/charts/ScatterPlot/ScatterPlot.types.d.ts +14 -19
- package/dist/components/charts/ScatterPlot/ScatterPlot.types.js +9 -2
- package/dist/components/charts/StackedBarChart/StackedBarChart.js +150 -132
- package/dist/components/charts/StackedBarChart/StackedBarChart.types.d.ts +20 -18
- package/dist/components/charts/StackedBarChart/StackedBarChart.types.js +10 -4
- package/dist/components/charts/hooks/useChartAccessibility.d.ts +1 -1
- package/dist/components/charts/hooks/useChartAccessibility.js +3 -0
- package/dist/components/charts/hooks/useTooltipPosition.js +18 -6
- package/dist/components/charts/index.d.ts +6 -0
- package/dist/components/charts/index.js +6 -0
- package/dist/components/charts/shared/ChartAxis/CategoryYAxis.d.ts +14 -0
- package/dist/components/charts/shared/ChartAxis/CategoryYAxis.js +35 -0
- package/dist/components/charts/shared/ChartAxis/ChartAxis.types.d.ts +69 -8
- package/dist/components/charts/shared/ChartAxis/ValueXAxis.d.ts +14 -0
- package/dist/components/charts/shared/ChartAxis/ValueXAxis.js +64 -0
- package/dist/components/charts/shared/ChartAxis/XAxis.js +1 -1
- package/dist/components/charts/shared/ChartAxis/YAxis.js +2 -2
- package/dist/components/charts/shared/ChartAxis/index.d.ts +3 -1
- package/dist/components/charts/shared/ChartGrid/HorizontalGrid.d.ts +0 -2
- package/dist/components/charts/shared/ChartGrid/HorizontalGrid.js +1 -1
- package/dist/components/charts/shared/ChartGrid/VerticalGrid.d.ts +29 -0
- package/dist/components/charts/shared/ChartGrid/VerticalGrid.js +26 -0
- package/dist/components/charts/shared/ChartGrid/index.d.ts +2 -0
- package/dist/components/charts/shared/ChartMarker/ChartMarker.js +7 -1
- package/dist/components/charts/theme/chart.theme.js +18 -23
- package/dist/components/charts/types/chart.types.d.ts +9 -5
- package/dist/components/charts/types/chart.types.js +1 -7
- package/dist/components/charts/utils/animation-utils.js +1 -3
- package/dist/components/charts/utils/bar-emphasis.d.ts +32 -3
- package/dist/components/charts/utils/bar-emphasis.js +24 -8
- package/dist/components/charts/utils/index.d.ts +1 -0
- package/dist/components/charts/utils/series-color.d.ts +7 -0
- package/dist/components/charts/utils/series-color.js +20 -0
- package/dist/components/core/Accordion/Accordion.theme.js +2 -2
- package/dist/components/core/Accordion/AccordionTrigger.js +2 -2
- package/dist/components/core/Alert/Alert.animations.d.ts +2 -1
- package/dist/components/core/Alert/Alert.animations.js +21 -6
- package/dist/components/core/Alert/Alert.js +7 -7
- package/dist/components/core/Avatar/Avatar.js +50 -42
- package/dist/components/core/Avatar/Avatar.theme.d.ts +8 -4
- package/dist/components/core/Avatar/Avatar.theme.js +64 -8
- package/dist/components/core/Avatar/Avatar.types.d.ts +13 -2
- package/dist/components/core/Avatar/index.d.ts +1 -1
- package/dist/components/core/AvatarGroup/AvatarGroup.js +6 -8
- package/dist/components/core/AvatarGroup/AvatarGroup.theme.d.ts +1 -2
- package/dist/components/core/AvatarGroup/AvatarGroup.theme.js +2 -6
- package/dist/components/core/AvatarGroup/AvatarGroup.types.d.ts +0 -6
- package/dist/components/core/AvatarGroup/index.d.ts +1 -1
- package/dist/components/core/Badge/Badge.animations.js +4 -2
- package/dist/components/core/Badge/Badge.js +9 -4
- package/dist/components/core/Badge/Badge.theme.js +18 -12
- package/dist/components/core/Breadcrumbs/Breadcrumbs.theme.d.ts +1 -4
- package/dist/components/core/Breadcrumbs/Breadcrumbs.theme.js +2 -2
- package/dist/components/core/Button/Button.js +9 -17
- package/dist/components/core/Button/Button.ripple.js +2 -2
- package/dist/components/core/Button/Button.theme.d.ts +2 -0
- package/dist/components/core/Button/Button.theme.js +34 -21
- package/dist/components/core/Button/Button.types.d.ts +18 -1
- package/dist/components/core/Calendar/Calendar.js +20 -5
- package/dist/components/core/Calendar/Calendar.theme.js +14 -22
- package/dist/components/core/Calendar/Calendar.types.d.ts +0 -1
- package/dist/components/core/Calendar/CalendarMini/CalendarMini.js +3 -3
- package/dist/components/core/Card/Card.theme.js +12 -4
- package/dist/components/core/Card/CardBody.js +1 -1
- package/dist/components/core/Card/CardFooter.js +1 -1
- package/dist/components/core/Card/CardHeader.js +1 -1
- package/dist/components/core/Carousel/CarouselNext.js +2 -2
- package/dist/components/core/Carousel/CarouselPrevious.js +2 -2
- package/dist/components/core/CommandPalette/CommandPalette.js +5 -4
- package/dist/components/core/CommandPalette/CommandPalette.theme.js +3 -7
- package/dist/components/core/CommandPalette/CommandPalette.types.d.ts +2 -0
- package/dist/components/core/ContextMenu/ContextMenuItem.js +2 -2
- package/dist/components/core/ContextMenu/ContextMenuSubTrigger.js +2 -2
- package/dist/components/core/Drawer/Drawer.theme.js +7 -4
- package/dist/components/core/Drawer/DrawerHeader.js +2 -2
- package/dist/components/core/Dropdown/Dropdown.theme.js +3 -1
- package/dist/components/core/Dropdown/DropdownItem.js +2 -2
- package/dist/components/core/Dropdown/DropdownTrigger.js +16 -5
- package/dist/components/core/HeroCard/HeroCard.theme.js +5 -2
- package/dist/components/core/Kbd/Kbd.theme.js +4 -2
- package/dist/components/core/Link/Link.js +6 -4
- package/dist/components/core/Message/Message.js +2 -2
- package/dist/components/core/Message/Message.theme.js +5 -7
- package/dist/components/core/Message/MessageAudio.js +2 -2
- package/dist/components/core/Message/MessageFile.js +2 -2
- package/dist/components/core/Message/MessageLink.js +2 -2
- package/dist/components/core/Message/MessageStatusIndicator.js +5 -5
- package/dist/components/core/Modal/Modal.d.ts +1 -1
- package/dist/components/core/Modal/Modal.js +2 -2
- package/dist/components/core/Modal/Modal.theme.js +9 -4
- package/dist/components/core/Modal/ModalHeader.js +2 -2
- package/dist/components/core/ModalStack/ModalStackModal.js +2 -2
- package/dist/components/core/NavItem/NavItem.js +6 -6
- package/dist/components/core/OfflineIndicator/OfflineIndicator.animations.d.ts +22 -0
- package/dist/components/core/OfflineIndicator/OfflineIndicator.animations.js +54 -0
- package/dist/components/core/OfflineIndicator/OfflineIndicator.js +23 -24
- package/dist/components/core/OfflineIndicator/OfflineIndicator.theme.js +25 -6
- package/dist/components/core/OfflineIndicator/OfflineIndicator.types.d.ts +17 -0
- package/dist/components/core/PageHeading/PageHeading.theme.js +1 -1
- package/dist/components/core/PageHeading/PageHeadingBackButton.js +2 -2
- package/dist/components/core/Pagination/Pagination.js +3 -3
- package/dist/components/core/Pagination/Pagination.theme.js +3 -3
- package/dist/components/core/Pill/Pill.js +4 -2
- package/dist/components/core/Pill/Pill.theme.js +6 -4
- package/dist/components/core/Rating/Rating.js +4 -5
- package/dist/components/core/Rating/Rating.theme.js +1 -1
- package/dist/components/core/Segmented/Segmented.theme.js +9 -6
- package/dist/components/core/Sidebar/Sidebar.types.d.ts +4 -2
- package/dist/components/core/Sidebar/SidebarHeader.js +2 -2
- package/dist/components/core/Sidebar/SidebarMobileTrigger.js +2 -2
- package/dist/components/core/Sidebar/SidebarSearch.js +3 -3
- package/dist/components/core/Sidebar/SidebarToggle.js +3 -3
- package/dist/components/core/Sidebar/SidebarUserProfile.js +2 -2
- package/dist/components/core/Sortable/Sortable.js +2 -2
- package/dist/components/core/Tag/Tag.js +2 -2
- package/dist/components/core/Tag/Tag.theme.js +4 -2
- package/dist/components/core/Toast/Toast.js +3 -3
- package/dist/components/core/Toast/Toast.types.d.ts +1 -1
- package/dist/components/core/Toast/useToast.js +5 -5
- package/dist/components/core/Tooltip/Tooltip.d.ts +1 -1
- package/dist/components/core/Tooltip/Tooltip.js +42 -10
- package/dist/components/core/Tooltip/Tooltip.types.d.ts +25 -0
- package/dist/components/core/Tree/Tree.js +2 -2
- package/dist/components/core/shared/interaction.animations.d.ts +51 -0
- package/dist/components/core/shared/interaction.animations.js +59 -0
- package/dist/components/data-display/Feed/Feed.js +2 -2
- package/dist/components/data-display/GanttChart/GanttChart.theme.js +1 -1
- package/dist/components/data-display/GanttChart/GanttChartPanel.js +2 -2
- package/dist/components/data-display/GanttChart/GanttTableGroupRow.js +3 -3
- package/dist/components/data-display/GanttChart/GanttTaskContextMenu.js +2 -2
- package/dist/components/data-display/GanttChart/GanttToolbar.js +2 -2
- package/dist/components/data-display/KPI/KPI.js +2 -2
- package/dist/components/data-display/KPI/KPI.theme.js +4 -4
- package/dist/components/data-display/Metric/Metric.js +2 -2
- package/dist/components/data-display/Metric/Metric.theme.js +25 -8
- package/dist/components/data-display/Metric/Metric.types.d.ts +1 -1
- package/dist/components/data-display/Table/Table.theme.js +9 -9
- package/dist/components/data-display/Table/TableActions.js +2 -2
- package/dist/components/data-display/Table/TableActionsMenu.js +1 -1
- package/dist/components/data-display/Table/TableColumnManager.js +2 -2
- package/dist/components/data-display/Table/TableDeclarative.js +3 -3
- package/dist/components/data-display/Table/TableFilter.js +4 -4
- package/dist/components/data-display/Table/TableHeader.js +3 -3
- package/dist/components/data-display/Table/TableRow.js +2 -2
- package/dist/components/data-display/Table/TableSelectionHeader.js +3 -3
- package/dist/components/data-display/Timeline/TimelineMarker.js +2 -2
- package/dist/components/effects/CustomCursor/CustomCursor.js +2 -2
- package/dist/components/effects/CustomCursor/CustomCursor.theme.js +2 -2
- package/dist/components/effects/DotPattern/DotPattern.js +6 -0
- package/dist/components/effects/DotPattern/DotPattern.types.d.ts +4 -2
- package/dist/components/effects/MeshGradient/MeshGradient.utils.d.ts +1 -1
- package/dist/components/effects/MeshGradient/MeshGradient.utils.js +1 -1
- package/dist/components/forms/Checkbox/Checkbox.js +2 -1
- package/dist/components/forms/Checkbox/Checkbox.theme.js +2 -2
- package/dist/components/forms/ColorPicker/ColorPickerEyeDropper.js +2 -2
- package/dist/components/forms/ColorPicker/ColorPickerGradient.js +2 -2
- package/dist/components/forms/ColorPicker/ColorPickerHeader.js +2 -2
- package/dist/components/forms/ColorPicker/ColorPickerImage.js +3 -3
- package/dist/components/forms/ColorPicker/ColorPickerInput.js +2 -2
- package/dist/components/forms/ColorPicker/ColorPickerPresets.js +2 -2
- package/dist/components/forms/ColorPicker/ColorPickerSavedColors.js +2 -2
- package/dist/components/forms/Combobox/Combobox.js +3 -3
- package/dist/components/forms/Combobox/Combobox.theme.js +2 -2
- package/dist/components/forms/DatePicker/DatePicker.animations.js +16 -25
- package/dist/components/forms/DatePicker/DatePicker.theme.js +2 -2
- package/dist/components/forms/DatePicker/DatePickerBody.js +1 -1
- package/dist/components/forms/DatePicker/DatePickerTrigger.js +2 -2
- package/dist/components/forms/DateRangePicker/DateRangePicker.theme.js +3 -3
- package/dist/components/forms/DateRangePicker/DateRangePickerBody.js +1 -1
- package/dist/components/forms/DateRangePicker/DateRangePickerPresets.js +2 -2
- package/dist/components/forms/DateRangePicker/DateRangePickerTrigger.js +2 -2
- package/dist/components/forms/FileUpload/FileUpload.js +4 -4
- package/dist/components/forms/FileUpload/FileUpload.theme.js +5 -1
- package/dist/components/forms/FileUpload/FileUploadProgress.js +7 -7
- package/dist/components/forms/Input/Input.js +6 -7
- package/dist/components/forms/Input/Input.theme.js +19 -15
- package/dist/components/forms/InputAddress/InputAddress.js +10 -3
- package/dist/components/forms/InputCounter/InputCounter.js +3 -3
- package/dist/components/forms/InputOTP/InputOTP.d.ts +3 -12
- package/dist/components/forms/InputOTP/InputOTP.js +140 -151
- package/dist/components/forms/InputOTP/InputOTP.theme.d.ts +5 -1
- package/dist/components/forms/InputOTP/InputOTP.theme.js +40 -5
- package/dist/components/forms/InputOTP/InputOTP.types.d.ts +45 -2
- package/dist/components/forms/InputOTP/index.d.ts +1 -1
- package/dist/components/forms/InputTag/InputTag.js +5 -5
- package/dist/components/forms/InputTag/InputTag.theme.js +1 -2
- package/dist/components/forms/Mention/Mention.theme.js +3 -5
- package/dist/components/forms/Radio/Radio.js +3 -2
- package/dist/components/forms/Radio/Radio.theme.js +2 -2
- package/dist/components/forms/RichTextEditor/RichTextEditor.js +22 -23
- package/dist/components/forms/Select/Select.d.ts +5 -1
- package/dist/components/forms/Select/Select.js +12 -11
- package/dist/components/forms/Select/Select.theme.js +4 -4
- package/dist/components/forms/Select/Select.types.d.ts +4 -1
- package/dist/components/forms/SelectableCard/SelectableCard.animations.d.ts +1 -2
- package/dist/components/forms/SelectableCard/SelectableCard.animations.js +6 -7
- package/dist/components/forms/SelectableCard/SelectableCard.js +1 -1
- package/dist/components/forms/Signature/Signature.js +1 -1
- package/dist/components/forms/Slider/Slider.js +24 -11
- package/dist/components/forms/Slider/Slider.theme.js +9 -3
- package/dist/components/forms/Switch/Switch.theme.js +1 -1
- package/dist/components/forms/TimePicker/TimePicker.theme.js +6 -7
- package/dist/components/forms/TimePicker/TimePickerContent.js +1 -1
- package/dist/components/forms/TimePicker/TimePickerTrigger.js +3 -3
- package/dist/components/forms/forms.theme.js +23 -12
- package/dist/components/forms/index.js +1 -1
- package/dist/components/generative/registry.js +195 -2
- package/dist/components/generative/resolvers.js +16 -16
- package/dist/components/generative/schema.generated.js +2687 -379
- package/dist/components/layout/Section/Section.theme.js +1 -1
- package/dist/generative.schema.json +2687 -379
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/useElapsedTime.d.ts +28 -0
- package/dist/hooks/useElapsedTime.js +37 -0
- package/dist/hooks/useSelectPortal.d.ts +10 -2
- package/dist/hooks/useSelectPortal.js +6 -3
- package/dist/index.js +1 -1
- package/dist/registry.json +835 -261
- package/dist/shadcn-compat.css +1 -1
- package/dist/styles.css +1 -1
- package/dist/theme.css +5 -1
- package/dist/themes/ember.css +131 -0
- package/dist/themes/iris.css +94 -0
- package/dist/themes/jade.css +139 -0
- package/dist/tools.json +2705 -361
- package/dist/utils/colorUtils.d.ts +6 -6
- package/dist/utils/colorUtils.js +8 -8
- package/package.json +9 -6
- package/src/global.scss +15 -4
- package/src/styles/theme.css +440 -152
- package/tailwind.preset.cjs +52 -34
- package/dist/components/core/Pill/Pill.animations.d.ts +0 -32
- package/dist/components/core/Pill/Pill.animations.js +0 -16
package/dist/theme.css
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
/* NOTE: this file ships as dist/theme.css (copied verbatim by build:copy-css) and is
|
|
2
|
+
only ever consumed from there. Paths below are therefore resolved relative to dist/:
|
|
3
|
+
`../src/global.scss` = the shipped src/global.scss (package.json `files` ships src/global.scss
|
|
4
|
+
+ src/styles), and `../dist` = the built components scanned for used classes. */
|
|
1
5
|
@source "../dist";
|
|
2
|
-
@import "
|
|
6
|
+
@import "../src/global.scss";
|
|
3
7
|
|
|
4
8
|
@theme {
|
|
5
9
|
--font-weight-light: 300;
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/* ============================================================
|
|
2
|
+
@flikk/ui — Ember theme
|
|
3
|
+
Coral/burnt-orange primary × Plus Jakarta Sans × pill geometry × zinc neutrals.
|
|
4
|
+
|
|
5
|
+
Usage (import AFTER styles.css):
|
|
6
|
+
import "@flikk/ui/styles.css";
|
|
7
|
+
import "@flikk/ui/themes/ember.css";
|
|
8
|
+
|
|
9
|
+
Theme-file authoring rules (applies to every preset theme):
|
|
10
|
+
- All rules live in `@layer theme` — an unlayered :root would beat the
|
|
11
|
+
layered `.dark` overrides in styles.css and break dark mode.
|
|
12
|
+
- Any token overridden here in :root that styles.css ALSO overrides in
|
|
13
|
+
`.dark` MUST get an explicit `.dark` value below (this file is later in
|
|
14
|
+
source order, so its :root wins over styles.css's `.dark` otherwise).
|
|
15
|
+
- Never redeclare `--color-*-contrast` — it auto-derives from the live
|
|
16
|
+
base var (see CLAUDE.md §3).
|
|
17
|
+
============================================================ */
|
|
18
|
+
@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&display=swap");
|
|
19
|
+
|
|
20
|
+
@layer theme {
|
|
21
|
+
:root {
|
|
22
|
+
/* Primary — Tailwind v4 orange ramp (coral/terracotta accent) */
|
|
23
|
+
--color-primary-50: oklch(98% 0.016 73.684);
|
|
24
|
+
--color-primary-100: oklch(95.4% 0.038 75.164);
|
|
25
|
+
--color-primary-200: oklch(90.1% 0.076 70.697);
|
|
26
|
+
--color-primary-300: oklch(83.7% 0.128 66.29);
|
|
27
|
+
--color-primary-400: oklch(75% 0.183 55.934);
|
|
28
|
+
--color-primary-500: oklch(70.5% 0.213 47.604);
|
|
29
|
+
--color-primary-600: oklch(64.6% 0.222 41.116);
|
|
30
|
+
--color-primary-700: oklch(55.3% 0.195 38.402);
|
|
31
|
+
--color-primary-800: oklch(47% 0.157 37.304);
|
|
32
|
+
--color-primary-900: oklch(40.8% 0.123 38.172);
|
|
33
|
+
--color-primary-950: oklch(26.6% 0.079 36.259);
|
|
34
|
+
--color-primary: var(--color-primary-600);
|
|
35
|
+
|
|
36
|
+
/* Neutrals — Tailwind v4 zinc ramp (cool near-neutral cast; reads as the
|
|
37
|
+
dark navy-black used for filled badges/buttons/headings in the
|
|
38
|
+
reference dashboard). Dark text tokens reference these rungs by var(),
|
|
39
|
+
so dark picks the cast up too. */
|
|
40
|
+
--color-mono-50: oklch(98.5% 0 0);
|
|
41
|
+
--color-mono-100: oklch(96.7% 0.001 286.375);
|
|
42
|
+
--color-mono-200: oklch(92% 0.004 286.32);
|
|
43
|
+
--color-mono-300: oklch(87.1% 0.006 286.286);
|
|
44
|
+
--color-mono-400: oklch(70.5% 0.015 286.067);
|
|
45
|
+
--color-mono-500: oklch(55.2% 0.016 285.938);
|
|
46
|
+
--color-mono-600: oklch(44.2% 0.017 285.786);
|
|
47
|
+
--color-mono-700: oklch(37% 0.013 285.805);
|
|
48
|
+
--color-mono-800: oklch(27.4% 0.006 286.033);
|
|
49
|
+
--color-mono-900: oklch(21% 0.006 285.885);
|
|
50
|
+
--color-mono-950: oklch(14.1% 0.005 285.823);
|
|
51
|
+
|
|
52
|
+
/* Borders — zinc-tinted hairlines at the same lightness rungs as the
|
|
53
|
+
base theme's neutral borders (93% / 87% / 80%) */
|
|
54
|
+
--color-border: oklch(92% 0.004 286.32);
|
|
55
|
+
--color-border-secondary: oklch(87.1% 0.006 286.286);
|
|
56
|
+
--color-border-hover: oklch(80% 0.01 286);
|
|
57
|
+
|
|
58
|
+
/* Typography */
|
|
59
|
+
--font-family-base: "Plus Jakarta Sans", var(--font-sans);
|
|
60
|
+
|
|
61
|
+
/* Geometry — rounder, softer cards; every --*-radius derives from this */
|
|
62
|
+
--radius-base: 24px;
|
|
63
|
+
|
|
64
|
+
/* Taller, pill-leaning controls (base: 32/40/48). Buttons inherit via
|
|
65
|
+
--button-min-h-* = var(--form-min-h-*). */
|
|
66
|
+
--form-min-h-sm: 40px;
|
|
67
|
+
--form-min-h-md: 48px;
|
|
68
|
+
--form-min-h-lg: 56px;
|
|
69
|
+
|
|
70
|
+
/* Wider padding to suit the pill shape */
|
|
71
|
+
--form-px-sm: 16px;
|
|
72
|
+
--form-px-md: 20px;
|
|
73
|
+
--form-px-lg: 24px;
|
|
74
|
+
--button-px-sm: 18px;
|
|
75
|
+
--button-px-md: 22px;
|
|
76
|
+
--button-px-lg: 28px;
|
|
77
|
+
--button-icon-p-sm: 8px;
|
|
78
|
+
--button-icon-p-md: 10px;
|
|
79
|
+
--button-icon-p-lg: 12px;
|
|
80
|
+
|
|
81
|
+
/* Chip tier — grow badges/pills/tags/keycaps to match the spacious controls.
|
|
82
|
+
Radius rides --radius-base (24px → pill), so only padding is set here. */
|
|
83
|
+
--badge-px-sm: 8px;
|
|
84
|
+
--badge-px-md: 10px;
|
|
85
|
+
--badge-py-sm: 2px;
|
|
86
|
+
--badge-py-md: 4px;
|
|
87
|
+
--badge-pill-px-sm: 12px;
|
|
88
|
+
--badge-pill-px-md: 14px;
|
|
89
|
+
--pill-px-sm: 14px;
|
|
90
|
+
--pill-px-md: 14px;
|
|
91
|
+
--pill-px-lg: 18px;
|
|
92
|
+
--pill-py-sm: 4px;
|
|
93
|
+
--pill-py-md: 4px;
|
|
94
|
+
--pill-py-lg: 6px;
|
|
95
|
+
--tag-px-sm: 12px;
|
|
96
|
+
--tag-px-md: 12px;
|
|
97
|
+
--tag-pl-md: 14px;
|
|
98
|
+
--tag-py-sm: 4px;
|
|
99
|
+
--tag-py-md: 4px;
|
|
100
|
+
--kbd-px-sm: 8px;
|
|
101
|
+
--kbd-px-md: 10px;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.dark {
|
|
105
|
+
/* One step lighter on dark surfaces, matching Iris/Jade: orange-500 keeps
|
|
106
|
+
saturated white-on-coral legible without reading washy like -400 would
|
|
107
|
+
on a big filled button. */
|
|
108
|
+
--color-primary: var(--color-primary-500);
|
|
109
|
+
|
|
110
|
+
/* Zinc in light, NEUTRAL in dark. Mid/deep zinc rungs read violet-tinted
|
|
111
|
+
against the hueless dark surfaces (#171717…) — same judgment as
|
|
112
|
+
Iris's "slate reads navy" — so the whole dark ramp reverts to the base
|
|
113
|
+
hueless values; light keeps the cool zinc cast. */
|
|
114
|
+
--color-mono-50: oklch(98.5% 0 0);
|
|
115
|
+
--color-mono-100: oklch(97% 0 0);
|
|
116
|
+
--color-mono-200: oklch(92.2% 0 0);
|
|
117
|
+
--color-mono-300: oklch(87% 0 0);
|
|
118
|
+
--color-mono-400: oklch(70.8% 0 0);
|
|
119
|
+
--color-mono-500: oklch(55.6% 0 0);
|
|
120
|
+
--color-mono-600: oklch(43.9% 0 0);
|
|
121
|
+
--color-mono-700: oklch(37.1% 0 0);
|
|
122
|
+
--color-mono-800: oklch(26.9% 0 0);
|
|
123
|
+
--color-mono-900: oklch(20.5% 0 0);
|
|
124
|
+
--color-mono-950: oklch(14.5% 0 0);
|
|
125
|
+
|
|
126
|
+
/* Restated verbatim from styles.css .dark (see authoring rules above) */
|
|
127
|
+
--color-border: oklch(100% 0.01 255 / 0.05);
|
|
128
|
+
--color-border-secondary: oklch(100% 0.01 255 / 0.1);
|
|
129
|
+
--color-border-hover: oklch(100% 0.01 255 / 0.18);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/* ============================================================
|
|
2
|
+
@flikk/ui — Iris theme
|
|
3
|
+
Indigo primary × Bricolage Grotesque × rounder geometry × slate neutrals.
|
|
4
|
+
|
|
5
|
+
Usage (import AFTER styles.css):
|
|
6
|
+
import "@flikk/ui/styles.css";
|
|
7
|
+
import "@flikk/ui/themes/iris.css";
|
|
8
|
+
|
|
9
|
+
Theme-file authoring rules (applies to every preset theme):
|
|
10
|
+
- All rules live in `@layer theme` — an unlayered :root would beat the
|
|
11
|
+
layered `.dark` overrides in styles.css and break dark mode.
|
|
12
|
+
- Any token overridden here in :root that styles.css ALSO overrides in
|
|
13
|
+
`.dark` MUST get an explicit `.dark` value below (this file is later in
|
|
14
|
+
source order, so its :root wins over styles.css's `.dark` otherwise).
|
|
15
|
+
- Never redeclare `--color-*-contrast` — it auto-derives from the live
|
|
16
|
+
base var (see CLAUDE.md §3).
|
|
17
|
+
============================================================ */
|
|
18
|
+
@import url("https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,200..800&display=swap");
|
|
19
|
+
|
|
20
|
+
@layer theme {
|
|
21
|
+
:root {
|
|
22
|
+
/* Primary — Tailwind v4 indigo ramp */
|
|
23
|
+
--color-primary-50: oklch(96.2% 0.018 272.314);
|
|
24
|
+
--color-primary-100: oklch(93% 0.034 272.788);
|
|
25
|
+
--color-primary-200: oklch(87% 0.065 274.039);
|
|
26
|
+
--color-primary-300: oklch(78.5% 0.115 274.713);
|
|
27
|
+
--color-primary-400: oklch(67.3% 0.182 276.935);
|
|
28
|
+
--color-primary-500: oklch(58.5% 0.233 277.117);
|
|
29
|
+
--color-primary-600: oklch(51.1% 0.262 276.966);
|
|
30
|
+
--color-primary-700: oklch(45.7% 0.24 277.023);
|
|
31
|
+
--color-primary-800: oklch(39.8% 0.195 277.366);
|
|
32
|
+
--color-primary-900: oklch(35.9% 0.144 278.697);
|
|
33
|
+
--color-primary-950: oklch(25.7% 0.09 281.288);
|
|
34
|
+
--color-primary: var(--color-primary-600);
|
|
35
|
+
|
|
36
|
+
/* Neutrals — Tailwind v4 slate ramp (cool cast on text/fills; dark text
|
|
37
|
+
tokens reference these rungs by var(), so dark picks the cast up too) */
|
|
38
|
+
--color-mono-50: oklch(98.4% 0.003 247.858);
|
|
39
|
+
--color-mono-100: oklch(96.8% 0.007 247.896);
|
|
40
|
+
--color-mono-200: oklch(92.9% 0.013 255.508);
|
|
41
|
+
--color-mono-300: oklch(86.9% 0.022 252.894);
|
|
42
|
+
--color-mono-400: oklch(70.4% 0.04 256.788);
|
|
43
|
+
--color-mono-500: oklch(55.4% 0.046 257.417);
|
|
44
|
+
--color-mono-600: oklch(44.6% 0.043 257.281);
|
|
45
|
+
--color-mono-700: oklch(37.2% 0.044 257.287);
|
|
46
|
+
--color-mono-800: oklch(27.9% 0.041 260.031);
|
|
47
|
+
--color-mono-900: oklch(20.8% 0.042 265.755);
|
|
48
|
+
--color-mono-950: oklch(12.9% 0.042 264.695);
|
|
49
|
+
|
|
50
|
+
/* Borders — slate-tinted hairlines at the same lightness rungs as the
|
|
51
|
+
base theme's neutral borders (93% / 87% / 80%) */
|
|
52
|
+
--color-border: oklch(92.9% 0.013 255.508);
|
|
53
|
+
--color-border-secondary: oklch(86.9% 0.022 252.894);
|
|
54
|
+
--color-border-hover: oklch(80% 0.03 255);
|
|
55
|
+
|
|
56
|
+
/* Typography */
|
|
57
|
+
--font-family-base: "Bricolage Grotesque", var(--font-sans);
|
|
58
|
+
|
|
59
|
+
/* Geometry — rounder, friendlier; every --*-radius derives from this */
|
|
60
|
+
--radius-base: 16px;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.dark {
|
|
64
|
+
/* Hue ramps read one step lighter on dark surfaces: indigo-400 filled
|
|
65
|
+
controls keep white text via the auto -contrast formula */
|
|
66
|
+
--color-primary: var(--color-primary-400);
|
|
67
|
+
|
|
68
|
+
/* Slate in light, NEUTRAL in dark. Mid/deep slate rungs read navy against
|
|
69
|
+
the hueless dark surfaces (#171717…) — visible anywhere a component
|
|
70
|
+
legitimately paints from the ramp in dark (Button/Badge soft-neutral
|
|
71
|
+
fills, disabled text/fill tokens, …). The base theme itself makes this
|
|
72
|
+
call (dark text-secondary is hardcoded hueless: "slate was too blue").
|
|
73
|
+
So the whole dark ramp reverts to the base hueless values; light keeps
|
|
74
|
+
the slate cast. Text tokens need no pins — placeholder/muted alpha-derive
|
|
75
|
+
from text-primary, and the rest resolve through these rungs. */
|
|
76
|
+
--color-mono-50: oklch(98.5% 0 0);
|
|
77
|
+
--color-mono-100: oklch(97% 0 0);
|
|
78
|
+
--color-mono-200: oklch(92.2% 0 0);
|
|
79
|
+
--color-mono-300: oklch(87% 0 0);
|
|
80
|
+
--color-mono-400: oklch(70.8% 0 0);
|
|
81
|
+
--color-mono-500: oklch(55.6% 0 0);
|
|
82
|
+
--color-mono-600: oklch(43.9% 0 0);
|
|
83
|
+
--color-mono-700: oklch(37.1% 0 0);
|
|
84
|
+
--color-mono-800: oklch(26.9% 0 0);
|
|
85
|
+
--color-mono-900: oklch(20.5% 0 0);
|
|
86
|
+
--color-mono-950: oklch(14.5% 0 0);
|
|
87
|
+
|
|
88
|
+
/* Restated verbatim from styles.css .dark (see authoring rules above) —
|
|
89
|
+
the translucent light hairlines already carry a cool hue */
|
|
90
|
+
--color-border: oklch(100% 0.01 255 / 0.05);
|
|
91
|
+
--color-border-secondary: oklch(100% 0.01 255 / 0.1);
|
|
92
|
+
--color-border-hover: oklch(100% 0.01 255 / 0.18);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/* ============================================================
|
|
2
|
+
@flikk/ui — Jade theme
|
|
3
|
+
Emerald primary × Poppins × pill geometry × warm stone neutrals.
|
|
4
|
+
|
|
5
|
+
Usage (import AFTER styles.css):
|
|
6
|
+
import "@flikk/ui/styles.css";
|
|
7
|
+
import "@flikk/ui/themes/jade.css";
|
|
8
|
+
|
|
9
|
+
Theme-file authoring rules (applies to every preset theme):
|
|
10
|
+
- All rules live in `@layer theme` — an unlayered :root would beat the
|
|
11
|
+
layered `.dark` overrides in styles.css and break dark mode.
|
|
12
|
+
- Any token overridden here in :root that styles.css ALSO overrides in
|
|
13
|
+
`.dark` MUST get an explicit `.dark` value below (this file is later in
|
|
14
|
+
source order, so its :root wins over styles.css's `.dark` otherwise).
|
|
15
|
+
- Never redeclare `--color-*-contrast` — it auto-derives from the live
|
|
16
|
+
base var (see CLAUDE.md §3).
|
|
17
|
+
============================================================ */
|
|
18
|
+
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&display=swap");
|
|
19
|
+
|
|
20
|
+
@layer theme {
|
|
21
|
+
:root {
|
|
22
|
+
/* Primary — Tailwind v4 emerald ramp */
|
|
23
|
+
--color-primary-50: oklch(97.9% 0.021 166.113);
|
|
24
|
+
--color-primary-100: oklch(95% 0.052 163.051);
|
|
25
|
+
--color-primary-200: oklch(90.5% 0.093 164.15);
|
|
26
|
+
--color-primary-300: oklch(84.5% 0.143 164.978);
|
|
27
|
+
--color-primary-400: oklch(76.5% 0.177 163.223);
|
|
28
|
+
--color-primary-500: oklch(69.6% 0.17 162.48);
|
|
29
|
+
--color-primary-600: oklch(59.6% 0.145 163.225);
|
|
30
|
+
--color-primary-700: oklch(50.8% 0.118 165.612);
|
|
31
|
+
--color-primary-800: oklch(43.2% 0.095 166.913);
|
|
32
|
+
--color-primary-900: oklch(37.8% 0.077 168.94);
|
|
33
|
+
--color-primary-950: oklch(26.2% 0.051 172.552);
|
|
34
|
+
--color-primary: var(--color-primary-600);
|
|
35
|
+
|
|
36
|
+
/* Neutrals — Tailwind v4 stone ramp (warm cast; jade-and-sandstone
|
|
37
|
+
pairing). Dark text tokens reference these rungs by var(), and
|
|
38
|
+
placeholder/muted alpha-derive from text-primary automatically. */
|
|
39
|
+
--color-mono-50: oklch(98.5% 0.001 106.423);
|
|
40
|
+
--color-mono-100: oklch(97% 0.001 106.424);
|
|
41
|
+
--color-mono-200: oklch(92.3% 0.003 48.717);
|
|
42
|
+
--color-mono-300: oklch(86.9% 0.005 56.366);
|
|
43
|
+
--color-mono-400: oklch(70.9% 0.01 56.259);
|
|
44
|
+
--color-mono-500: oklch(55.3% 0.013 58.071);
|
|
45
|
+
--color-mono-600: oklch(44.4% 0.011 73.639);
|
|
46
|
+
--color-mono-700: oklch(37.4% 0.01 67.558);
|
|
47
|
+
--color-mono-800: oklch(26.8% 0.007 34.298);
|
|
48
|
+
--color-mono-900: oklch(21.6% 0.006 56.043);
|
|
49
|
+
--color-mono-950: oklch(14.7% 0.004 49.25);
|
|
50
|
+
|
|
51
|
+
/* Borders — stone-tinted hairlines at the base lightness rungs
|
|
52
|
+
(93% / 87% / 80%) */
|
|
53
|
+
--color-border: oklch(92.3% 0.003 48.717);
|
|
54
|
+
--color-border-secondary: oklch(86.9% 0.005 56.366);
|
|
55
|
+
--color-border-hover: oklch(80% 0.008 56);
|
|
56
|
+
|
|
57
|
+
/* Typography — Poppins on a 14px-based text scale (--font-scale multiplies
|
|
58
|
+
the whole --text-* ramp, rounded to whole px; text-sm 12px, text-base
|
|
59
|
+
14px). Spacing and the px geometry tokens below are unaffected. */
|
|
60
|
+
--font-family-base: "Poppins", var(--font-sans);
|
|
61
|
+
--font-scale: 0.875;
|
|
62
|
+
|
|
63
|
+
/* Geometry — pill-leaning: at the taller control heights below, buttons
|
|
64
|
+
and inputs read as soft pills; cards round to 30px */
|
|
65
|
+
--radius-base: 20px;
|
|
66
|
+
|
|
67
|
+
/* Card padding — roomier to suit the taller, pill-leaning geometry */
|
|
68
|
+
--card-px: 32px;
|
|
69
|
+
--card-py: 32px;
|
|
70
|
+
|
|
71
|
+
/* Taller, comfier controls (base: 32/40/48). Buttons inherit via
|
|
72
|
+
--button-min-h-* = var(--form-min-h-*). */
|
|
73
|
+
--form-min-h-sm: 36px;
|
|
74
|
+
--form-min-h-md: 44px;
|
|
75
|
+
--form-min-h-lg: 52px;
|
|
76
|
+
|
|
77
|
+
/* Wider padding to suit the pill shape */
|
|
78
|
+
--form-px-sm: 14px;
|
|
79
|
+
--form-px-md: 18px;
|
|
80
|
+
--form-px-lg: 20px;
|
|
81
|
+
--button-px-sm: 16px;
|
|
82
|
+
--button-px-md: 20px;
|
|
83
|
+
--button-px-lg: 24px;
|
|
84
|
+
--button-icon-p-sm: 8px;
|
|
85
|
+
--button-icon-p-md: 10px;
|
|
86
|
+
--button-icon-p-lg: 12px;
|
|
87
|
+
|
|
88
|
+
/* Chip tier — grow badges/pills/tags/keycaps to match the taller controls.
|
|
89
|
+
Radius rides --radius-base (20px → pill), so only padding is set here. */
|
|
90
|
+
--badge-px-sm: 7px;
|
|
91
|
+
--badge-px-md: 9px;
|
|
92
|
+
--badge-py-sm: 1px;
|
|
93
|
+
--badge-py-md: 3px;
|
|
94
|
+
--badge-pill-px-sm: 11px;
|
|
95
|
+
--badge-pill-px-md: 13px;
|
|
96
|
+
--pill-px-sm: 13px;
|
|
97
|
+
--pill-px-md: 13px;
|
|
98
|
+
--pill-px-lg: 16px;
|
|
99
|
+
--pill-py-sm: 3px;
|
|
100
|
+
--pill-py-md: 3px;
|
|
101
|
+
--pill-py-lg: 5px;
|
|
102
|
+
--tag-px-sm: 11px;
|
|
103
|
+
--tag-px-md: 11px;
|
|
104
|
+
--tag-pl-md: 13px;
|
|
105
|
+
--tag-py-sm: 3px;
|
|
106
|
+
--tag-py-md: 3px;
|
|
107
|
+
--kbd-px-sm: 7px;
|
|
108
|
+
--kbd-px-md: 9px;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.dark {
|
|
112
|
+
/* One step lighter on dark surfaces. -500, not -400: the emerald ramp
|
|
113
|
+
runs light (400 = L 0.765) and the auto -contrast crossover would still
|
|
114
|
+
give it white text — washy on a big filled button. 500 keeps saturated
|
|
115
|
+
white-on-green legible. */
|
|
116
|
+
--color-primary: var(--color-primary-500);
|
|
117
|
+
|
|
118
|
+
/* Stone in light, NEUTRAL in dark. Warm stone rungs read muddy-brown
|
|
119
|
+
against the hueless dark surfaces (#171717…) — same judgment as Iris's
|
|
120
|
+
"slate reads navy" — so the whole dark ramp reverts to the base hueless
|
|
121
|
+
values; light keeps the warm cast. */
|
|
122
|
+
--color-mono-50: oklch(98.5% 0 0);
|
|
123
|
+
--color-mono-100: oklch(97% 0 0);
|
|
124
|
+
--color-mono-200: oklch(92.2% 0 0);
|
|
125
|
+
--color-mono-300: oklch(87% 0 0);
|
|
126
|
+
--color-mono-400: oklch(70.8% 0 0);
|
|
127
|
+
--color-mono-500: oklch(55.6% 0 0);
|
|
128
|
+
--color-mono-600: oklch(43.9% 0 0);
|
|
129
|
+
--color-mono-700: oklch(37.1% 0 0);
|
|
130
|
+
--color-mono-800: oklch(26.9% 0 0);
|
|
131
|
+
--color-mono-900: oklch(20.5% 0 0);
|
|
132
|
+
--color-mono-950: oklch(14.5% 0 0);
|
|
133
|
+
|
|
134
|
+
/* Restated verbatim from styles.css .dark (see authoring rules above) */
|
|
135
|
+
--color-border: oklch(100% 0.01 255 / 0.05);
|
|
136
|
+
--color-border-secondary: oklch(100% 0.01 255 / 0.1);
|
|
137
|
+
--color-border-hover: oklch(100% 0.01 255 / 0.18);
|
|
138
|
+
}
|
|
139
|
+
}
|