@mindlogic-ai/logician-ui 3.0.0 → 3.1.0-alpha.1
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/dist/components/Avatar/Avatar.js +1 -1
- package/dist/components/Avatar/Avatar.js.map +1 -1
- package/dist/components/Avatar/Avatar.mjs +1 -1
- package/dist/components/Avatar/Avatar.mjs.map +1 -1
- package/dist/components/Badge/Badge.styles.d.ts.map +1 -1
- package/dist/components/Badge/Badge.styles.js +5 -3
- package/dist/components/Badge/Badge.styles.js.map +1 -1
- package/dist/components/Badge/Badge.styles.mjs +5 -3
- package/dist/components/Badge/Badge.styles.mjs.map +1 -1
- package/dist/components/Button/Button.styles.d.ts.map +1 -1
- package/dist/components/Button/Button.styles.js +39 -33
- package/dist/components/Button/Button.styles.js.map +1 -1
- package/dist/components/Button/Button.styles.mjs +39 -33
- package/dist/components/Button/Button.styles.mjs.map +1 -1
- package/dist/components/Card/Card.js +1 -1
- package/dist/components/Card/Card.js.map +1 -1
- package/dist/components/Card/Card.mjs +1 -1
- package/dist/components/Card/Card.mjs.map +1 -1
- package/dist/components/Card/Card.styles.js +2 -2
- package/dist/components/Card/Card.styles.js.map +1 -1
- package/dist/components/Card/Card.styles.mjs +2 -2
- package/dist/components/Card/Card.styles.mjs.map +1 -1
- package/dist/components/Checkbox/CheckboxControl.d.ts.map +1 -1
- package/dist/components/Checkbox/CheckboxControl.js +9 -3
- package/dist/components/Checkbox/CheckboxControl.js.map +1 -1
- package/dist/components/Checkbox/CheckboxControl.mjs +9 -3
- package/dist/components/Checkbox/CheckboxControl.mjs.map +1 -1
- package/dist/components/Chip/Chip.styles.d.ts.map +1 -1
- package/dist/components/Chip/Chip.styles.js +14 -11
- package/dist/components/Chip/Chip.styles.js.map +1 -1
- package/dist/components/Chip/Chip.styles.mjs +14 -11
- package/dist/components/Chip/Chip.styles.mjs.map +1 -1
- package/dist/components/Code/Code.js +4 -4
- package/dist/components/Code/Code.js.map +1 -1
- package/dist/components/Code/Code.mjs +4 -4
- package/dist/components/Code/Code.mjs.map +1 -1
- package/dist/components/CodeTabs/CopyButton.js +1 -1
- package/dist/components/CodeTabs/CopyButton.mjs +1 -1
- package/dist/components/Collapsible/CollapsibleRoot.js +1 -1
- package/dist/components/Collapsible/CollapsibleRoot.js.map +1 -1
- package/dist/components/Collapsible/CollapsibleRoot.mjs +1 -1
- package/dist/components/Collapsible/CollapsibleRoot.mjs.map +1 -1
- package/dist/components/Collapsible/CollapsibleTrigger.js +1 -1
- package/dist/components/Collapsible/CollapsibleTrigger.js.map +1 -1
- package/dist/components/Collapsible/CollapsibleTrigger.mjs +1 -1
- package/dist/components/Collapsible/CollapsibleTrigger.mjs.map +1 -1
- package/dist/components/ColorMode/ColorModeProvider.d.ts +39 -0
- package/dist/components/ColorMode/ColorModeProvider.d.ts.map +1 -0
- package/dist/components/ColorMode/ColorModeProvider.js +39 -0
- package/dist/components/ColorMode/ColorModeProvider.js.map +1 -0
- package/dist/components/ColorMode/ColorModeProvider.mjs +37 -0
- package/dist/components/ColorMode/ColorModeProvider.mjs.map +1 -0
- package/dist/components/ColorMode/ColorModeToggle.d.ts +18 -0
- package/dist/components/ColorMode/ColorModeToggle.d.ts.map +1 -0
- package/dist/components/ColorMode/ColorModeToggle.js +34 -0
- package/dist/components/ColorMode/ColorModeToggle.js.map +1 -0
- package/dist/components/ColorMode/ColorModeToggle.mjs +32 -0
- package/dist/components/ColorMode/ColorModeToggle.mjs.map +1 -0
- package/dist/components/ColorMode/index.d.ts +7 -0
- package/dist/components/ColorMode/index.d.ts.map +1 -0
- package/dist/components/ColorMode/useColorMode.d.ts +41 -0
- package/dist/components/ColorMode/useColorMode.d.ts.map +1 -0
- package/dist/components/ColorMode/useColorMode.js +55 -0
- package/dist/components/ColorMode/useColorMode.js.map +1 -0
- package/dist/components/ColorMode/useColorMode.mjs +52 -0
- package/dist/components/ColorMode/useColorMode.mjs.map +1 -0
- package/dist/components/CopyableCode/CopyableCode.d.ts.map +1 -1
- package/dist/components/CopyableCode/CopyableCode.js +4 -1
- package/dist/components/CopyableCode/CopyableCode.js.map +1 -1
- package/dist/components/CopyableCode/CopyableCode.mjs +4 -1
- package/dist/components/CopyableCode/CopyableCode.mjs.map +1 -1
- package/dist/components/DatePicker/RangeDatePicker.d.ts.map +1 -1
- package/dist/components/DatePicker/RangeDatePicker.js +9 -6
- package/dist/components/DatePicker/RangeDatePicker.js.map +1 -1
- package/dist/components/DatePicker/RangeDatePicker.mjs +9 -6
- package/dist/components/DatePicker/RangeDatePicker.mjs.map +1 -1
- package/dist/components/DatePicker/SingleDatePicker.js +4 -4
- package/dist/components/DatePicker/SingleDatePicker.js.map +1 -1
- package/dist/components/DatePicker/SingleDatePicker.mjs +4 -4
- package/dist/components/DatePicker/SingleDatePicker.mjs.map +1 -1
- package/dist/components/ErrorFallback/ErrorFallback.js +1 -1
- package/dist/components/ErrorFallback/ErrorFallback.js.map +1 -1
- package/dist/components/ErrorFallback/ErrorFallback.mjs +1 -1
- package/dist/components/ErrorFallback/ErrorFallback.mjs.map +1 -1
- package/dist/components/FileInput/FileInput.js +1 -1
- package/dist/components/FileInput/FileInput.js.map +1 -1
- package/dist/components/FileInput/FileInput.mjs +1 -1
- package/dist/components/FileInput/FileInput.mjs.map +1 -1
- package/dist/components/FileItem/FileItem.js +2 -2
- package/dist/components/FileItem/FileItem.js.map +1 -1
- package/dist/components/FileItem/FileItem.mjs +2 -2
- package/dist/components/FileItem/FileItem.mjs.map +1 -1
- package/dist/components/FileList/FileList.js +3 -3
- package/dist/components/FileList/FileList.js.map +1 -1
- package/dist/components/FileList/FileList.mjs +3 -3
- package/dist/components/FileList/FileList.mjs.map +1 -1
- package/dist/components/FormLabel/FormLabel.js +1 -1
- package/dist/components/FormLabel/FormLabel.js.map +1 -1
- package/dist/components/FormLabel/FormLabel.mjs +1 -1
- package/dist/components/FormLabel/FormLabel.mjs.map +1 -1
- package/dist/components/IconButton/IconButton.styles.js +1 -1
- package/dist/components/IconButton/IconButton.styles.js.map +1 -1
- package/dist/components/IconButton/IconButton.styles.mjs +1 -1
- package/dist/components/IconButton/IconButton.styles.mjs.map +1 -1
- package/dist/components/InfoSprinkle/InfoSprinkle.js +1 -1
- package/dist/components/InfoSprinkle/InfoSprinkle.js.map +1 -1
- package/dist/components/InfoSprinkle/InfoSprinkle.mjs +1 -1
- package/dist/components/InfoSprinkle/InfoSprinkle.mjs.map +1 -1
- package/dist/components/InlineCode/InlineCode.js +1 -1
- package/dist/components/InlineCode/InlineCode.js.map +1 -1
- package/dist/components/InlineCode/InlineCode.mjs +1 -1
- package/dist/components/InlineCode/InlineCode.mjs.map +1 -1
- package/dist/components/Input/Input.d.ts.map +1 -1
- package/dist/components/Input/Input.js +6 -6
- package/dist/components/Input/Input.js.map +1 -1
- package/dist/components/Input/Input.mjs +6 -6
- package/dist/components/Input/Input.mjs.map +1 -1
- package/dist/components/LineGraph/LineGraph.d.ts.map +1 -1
- package/dist/components/LineGraph/LineGraph.js +9 -5
- package/dist/components/LineGraph/LineGraph.js.map +1 -1
- package/dist/components/LineGraph/LineGraph.mjs +9 -5
- package/dist/components/LineGraph/LineGraph.mjs.map +1 -1
- package/dist/components/Loaders/PageLoader.js +1 -1
- package/dist/components/Loaders/PageLoader.js.map +1 -1
- package/dist/components/Loaders/PageLoader.mjs +1 -1
- package/dist/components/Loaders/PageLoader.mjs.map +1 -1
- package/dist/components/Loaders/SectionLoader.js +1 -1
- package/dist/components/Loaders/SectionLoader.js.map +1 -1
- package/dist/components/Loaders/SectionLoader.mjs +1 -1
- package/dist/components/Loaders/SectionLoader.mjs.map +1 -1
- package/dist/components/LogicianProvider/LogicianProvider.d.ts +20 -0
- package/dist/components/LogicianProvider/LogicianProvider.d.ts.map +1 -1
- package/dist/components/LogicianProvider/LogicianProvider.js +9 -2
- package/dist/components/LogicianProvider/LogicianProvider.js.map +1 -1
- package/dist/components/LogicianProvider/LogicianProvider.mjs +9 -2
- package/dist/components/LogicianProvider/LogicianProvider.mjs.map +1 -1
- package/dist/components/MDXEditor/MDXEditor.d.ts.map +1 -1
- package/dist/components/MDXEditor/MDXEditor.js +14 -16
- package/dist/components/MDXEditor/MDXEditor.js.map +1 -1
- package/dist/components/MDXEditor/MDXEditor.mjs +14 -16
- package/dist/components/MDXEditor/MDXEditor.mjs.map +1 -1
- package/dist/components/Markdown/Markdown.module.css.js +1 -1
- package/dist/components/Markdown/Markdown.module.css.mjs +1 -1
- package/dist/components/MaxLengthIndicator/MaxLengthIndicator.js +1 -1
- package/dist/components/MaxLengthIndicator/MaxLengthIndicator.js.map +1 -1
- package/dist/components/MaxLengthIndicator/MaxLengthIndicator.mjs +1 -1
- package/dist/components/MaxLengthIndicator/MaxLengthIndicator.mjs.map +1 -1
- package/dist/components/Menu/MenuItem.d.ts.map +1 -1
- package/dist/components/Menu/MenuItem.js +7 -3
- package/dist/components/Menu/MenuItem.js.map +1 -1
- package/dist/components/Menu/MenuItem.mjs +7 -3
- package/dist/components/Menu/MenuItem.mjs.map +1 -1
- package/dist/components/Menu/MenuList.d.ts.map +1 -1
- package/dist/components/Menu/MenuList.js +7 -1
- package/dist/components/Menu/MenuList.js.map +1 -1
- package/dist/components/Menu/MenuList.mjs +7 -1
- package/dist/components/Menu/MenuList.mjs.map +1 -1
- package/dist/components/Modal/ModalFooter/ModalFooter.js +1 -1
- package/dist/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
- package/dist/components/Modal/ModalFooter/ModalFooter.mjs +1 -1
- package/dist/components/Modal/ModalFooter/ModalFooter.mjs.map +1 -1
- package/dist/components/MonthPicker/MonthPicker.js +1 -1
- package/dist/components/MonthPicker/MonthPicker.mjs +1 -1
- package/dist/components/Pagination/Pagination.js +1 -1
- package/dist/components/Pagination/Pagination.js.map +1 -1
- package/dist/components/Pagination/Pagination.mjs +1 -1
- package/dist/components/Pagination/Pagination.mjs.map +1 -1
- package/dist/components/PinInput/PinInput.js +1 -1
- package/dist/components/PinInput/PinInput.js.map +1 -1
- package/dist/components/PinInput/PinInput.mjs +1 -1
- package/dist/components/PinInput/PinInput.mjs.map +1 -1
- package/dist/components/Popover/PopoverArrowTip.js +1 -1
- package/dist/components/Popover/PopoverArrowTip.js.map +1 -1
- package/dist/components/Popover/PopoverArrowTip.mjs +1 -1
- package/dist/components/Popover/PopoverArrowTip.mjs.map +1 -1
- package/dist/components/Popover/PopoverContent.js +1 -1
- package/dist/components/Popover/PopoverContent.js.map +1 -1
- package/dist/components/Popover/PopoverContent.mjs +1 -1
- package/dist/components/Popover/PopoverContent.mjs.map +1 -1
- package/dist/components/ProgressBar/ProgressBar.js +1 -1
- package/dist/components/ProgressBar/ProgressBar.mjs +1 -1
- package/dist/components/RadialProgress/RadialProgress.js +4 -4
- package/dist/components/RadialProgress/RadialProgress.js.map +1 -1
- package/dist/components/RadialProgress/RadialProgress.mjs +4 -4
- package/dist/components/RadialProgress/RadialProgress.mjs.map +1 -1
- package/dist/components/SeeMoreButton/SeeMoreButton.styles.js +2 -2
- package/dist/components/SeeMoreButton/SeeMoreButton.styles.js.map +1 -1
- package/dist/components/SeeMoreButton/SeeMoreButton.styles.mjs +2 -2
- package/dist/components/SeeMoreButton/SeeMoreButton.styles.mjs.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.js +8 -4
- package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.mjs +8 -4
- package/dist/components/SegmentedControl/SegmentedControl.mjs.map +1 -1
- package/dist/components/SegmentedProgressBar/ProgressSegment.js +1 -1
- package/dist/components/SegmentedProgressBar/ProgressSegment.mjs +1 -1
- package/dist/components/SegmentedProgressBar/SegmentedProgressBar.js +1 -1
- package/dist/components/SegmentedProgressBar/SegmentedProgressBar.mjs +1 -1
- package/dist/components/Select/Select.styles.d.ts +18 -4
- package/dist/components/Select/Select.styles.d.ts.map +1 -1
- package/dist/components/Select/Select.styles.js +11 -10
- package/dist/components/Select/Select.styles.js.map +1 -1
- package/dist/components/Select/Select.styles.mjs +11 -10
- package/dist/components/Select/Select.styles.mjs.map +1 -1
- package/dist/components/Slider/SliderFilledTrack/SliderFilledTrack.js +1 -1
- package/dist/components/Slider/SliderFilledTrack/SliderFilledTrack.mjs +1 -1
- package/dist/components/Slider/SliderThumb/SliderThumb.js +2 -2
- package/dist/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
- package/dist/components/Slider/SliderThumb/SliderThumb.mjs +2 -2
- package/dist/components/Slider/SliderThumb/SliderThumb.mjs.map +1 -1
- package/dist/components/Slider/SliderTrack/SliderTrack.js +1 -1
- package/dist/components/Slider/SliderTrack/SliderTrack.mjs +1 -1
- package/dist/components/Spinner/Spinner.js +1 -1
- package/dist/components/Spinner/Spinner.mjs +1 -1
- package/dist/components/Switch/SwitchControl.js +1 -1
- package/dist/components/Switch/SwitchControl.mjs +1 -1
- package/dist/components/Table/Table.styles.js +1 -1
- package/dist/components/Table/Table.styles.js.map +1 -1
- package/dist/components/Table/Table.styles.mjs +1 -1
- package/dist/components/Table/Table.styles.mjs.map +1 -1
- package/dist/components/Table/TableContainer.js +1 -1
- package/dist/components/Table/TableContainer.js.map +1 -1
- package/dist/components/Table/TableContainer.mjs +1 -1
- package/dist/components/Table/TableContainer.mjs.map +1 -1
- package/dist/components/Table/Tbody.js +1 -1
- package/dist/components/Table/Tbody.js.map +1 -1
- package/dist/components/Table/Tbody.mjs +1 -1
- package/dist/components/Table/Tbody.mjs.map +1 -1
- package/dist/components/Table/Thead.js +1 -1
- package/dist/components/Table/Thead.mjs +1 -1
- package/dist/components/Tabs/Tab/Tab.js +1 -1
- package/dist/components/Tabs/Tab/Tab.mjs +1 -1
- package/dist/components/Tabs/TabList/TabList.js +1 -1
- package/dist/components/Tabs/TabList/TabList.js.map +1 -1
- package/dist/components/Tabs/TabList/TabList.mjs +1 -1
- package/dist/components/Tabs/TabList/TabList.mjs.map +1 -1
- package/dist/components/Tag/Tag.styles.d.ts.map +1 -1
- package/dist/components/Tag/Tag.styles.js +19 -16
- package/dist/components/Tag/Tag.styles.js.map +1 -1
- package/dist/components/Tag/Tag.styles.mjs +19 -16
- package/dist/components/Tag/Tag.styles.mjs.map +1 -1
- package/dist/components/Textarea/Textarea.d.ts.map +1 -1
- package/dist/components/Textarea/Textarea.js +7 -7
- package/dist/components/Textarea/Textarea.js.map +1 -1
- package/dist/components/Textarea/Textarea.mjs +7 -7
- package/dist/components/Textarea/Textarea.mjs.map +1 -1
- package/dist/components/Typography/H3.js +1 -1
- package/dist/components/Typography/H3.js.map +1 -1
- package/dist/components/Typography/H3.mjs +1 -1
- package/dist/components/Typography/H3.mjs.map +1 -1
- package/dist/components/Typography/Subtext.js +1 -1
- package/dist/components/Typography/Subtext.js.map +1 -1
- package/dist/components/Typography/Subtext.mjs +1 -1
- package/dist/components/Typography/Subtext.mjs.map +1 -1
- package/dist/components/Typography/Subtitle.js +1 -1
- package/dist/components/Typography/Subtitle.js.map +1 -1
- package/dist/components/Typography/Subtitle.mjs +1 -1
- package/dist/components/Typography/Subtitle.mjs.map +1 -1
- package/dist/components/Typography/Text.js +1 -1
- package/dist/components/Typography/Text.js.map +1 -1
- package/dist/components/Typography/Text.mjs +1 -1
- package/dist/components/Typography/Text.mjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -0
- package/dist/index.mjs.map +1 -1
- package/dist/theme/colors.d.ts +276 -40
- package/dist/theme/colors.d.ts.map +1 -1
- package/dist/theme/colors.js +201 -40
- package/dist/theme/colors.js.map +1 -1
- package/dist/theme/colors.mjs +201 -40
- package/dist/theme/colors.mjs.map +1 -1
- package/dist/theme/global.d.ts.map +1 -1
- package/dist/theme/global.js +11 -1
- package/dist/theme/global.js.map +1 -1
- package/dist/theme/global.mjs +11 -1
- package/dist/theme/global.mjs.map +1 -1
- package/package.json +2 -1
- package/src/components/Avatar/Avatar.tsx +1 -1
- package/src/components/Badge/Badge.styles.ts +5 -3
- package/src/components/Button/Button.styles.ts +39 -33
- package/src/components/Card/Card.styles.ts +2 -2
- package/src/components/Card/Card.tsx +3 -3
- package/src/components/Checkbox/CheckboxControl.tsx +8 -3
- package/src/components/Chip/Chip.styles.ts +14 -11
- package/src/components/Code/Code.tsx +5 -5
- package/src/components/CodeTabs/CopyButton.tsx +1 -1
- package/src/components/Collapsible/CollapsibleRoot.tsx +1 -1
- package/src/components/Collapsible/CollapsibleTrigger.tsx +2 -2
- package/src/components/ColorMode/ColorModeProvider.tsx +63 -0
- package/src/components/ColorMode/ColorModeToggle.tsx +45 -0
- package/src/components/ColorMode/index.ts +6 -0
- package/src/components/ColorMode/useColorMode.ts +74 -0
- package/src/components/CopyableCode/CopyableCode.tsx +3 -1
- package/src/components/DatePicker/RangeDatePicker.tsx +9 -6
- package/src/components/DatePicker/SingleDatePicker.tsx +4 -4
- package/src/components/ErrorFallback/ErrorFallback.tsx +3 -3
- package/src/components/FileInput/FileInput.tsx +4 -4
- package/src/components/FileItem/FileItem.tsx +5 -5
- package/src/components/FileList/FileList.tsx +4 -4
- package/src/components/FormLabel/FormLabel.tsx +1 -1
- package/src/components/IconButton/IconButton.styles.ts +1 -1
- package/src/components/InfoSprinkle/InfoSprinkle.tsx +1 -1
- package/src/components/InlineCode/InlineCode.tsx +1 -1
- package/src/components/Input/Input.tsx +10 -7
- package/src/components/LineGraph/LineGraph.tsx +8 -5
- package/src/components/Loaders/PageLoader.tsx +1 -1
- package/src/components/Loaders/SectionLoader.tsx +1 -1
- package/src/components/LogicianProvider/LogicianProvider.tsx +41 -1
- package/src/components/MDXEditor/MDXEditor.css +19 -0
- package/src/components/MDXEditor/MDXEditor.tsx +14 -18
- package/src/components/Markdown/Markdown.module.css +1 -1
- package/src/components/MaxLengthIndicator/MaxLengthIndicator.tsx +1 -1
- package/src/components/Menu/MenuItem.tsx +6 -3
- package/src/components/Menu/MenuList.tsx +7 -2
- package/src/components/Modal/ModalFooter/ModalFooter.tsx +1 -1
- package/src/components/MonthPicker/MonthPicker.tsx +1 -1
- package/src/components/Pagination/Pagination.tsx +2 -2
- package/src/components/PinInput/PinInput.tsx +1 -1
- package/src/components/Popover/PopoverArrowTip.tsx +1 -1
- package/src/components/Popover/PopoverContent.tsx +1 -1
- package/src/components/ProgressBar/ProgressBar.tsx +1 -1
- package/src/components/RadialProgress/RadialProgress.stories.tsx +1 -1
- package/src/components/RadialProgress/RadialProgress.tsx +7 -7
- package/src/components/SeeMoreButton/SeeMoreButton.styles.ts +2 -2
- package/src/components/SegmentedControl/SegmentedControl.tsx +7 -4
- package/src/components/SegmentedProgressBar/ProgressSegment.tsx +1 -1
- package/src/components/SegmentedProgressBar/SegmentedProgressBar.tsx +1 -1
- package/src/components/Select/Select.styles.ts +11 -10
- package/src/components/Slider/SliderFilledTrack/SliderFilledTrack.tsx +1 -1
- package/src/components/Slider/SliderThumb/SliderThumb.tsx +2 -2
- package/src/components/Slider/SliderTrack/SliderTrack.tsx +1 -1
- package/src/components/Spinner/Spinner.tsx +1 -1
- package/src/components/Switch/SwitchControl.tsx +1 -1
- package/src/components/Table/Table.styles.ts +1 -1
- package/src/components/Table/TableContainer.tsx +1 -1
- package/src/components/Table/Tbody.tsx +1 -1
- package/src/components/Table/Thead.tsx +1 -1
- package/src/components/Tabs/Tab/Tab.tsx +1 -1
- package/src/components/Tabs/TabList/TabList.tsx +1 -1
- package/src/components/Tag/Tag.styles.ts +19 -16
- package/src/components/Textarea/Textarea.tsx +10 -7
- package/src/components/Typography/H3.tsx +1 -1
- package/src/components/Typography/Subtext.tsx +1 -1
- package/src/components/Typography/Subtitle.tsx +1 -1
- package/src/components/Typography/Text.tsx +1 -1
- package/src/index.ts +2 -0
- package/src/theme/Palette.stories.tsx +114 -88
- package/src/theme/SemanticTokens.mdx +198 -0
- package/src/theme/colors.ts +229 -40
- package/src/theme/global.ts +12 -1
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useCallback } from 'react';
|
|
3
|
+
import { useTheme } from 'next-themes';
|
|
4
|
+
|
|
5
|
+
import type { ColorMode } from './ColorModeProvider';
|
|
6
|
+
|
|
7
|
+
export interface UseColorModeReturn {
|
|
8
|
+
/**
|
|
9
|
+
* The resolved color mode actually being rendered: `'light'` or `'dark'`.
|
|
10
|
+
* If a forced mode is active (e.g. factchat's short-term force-light), this
|
|
11
|
+
* reflects the forced value.
|
|
12
|
+
*/
|
|
13
|
+
colorMode: ColorMode;
|
|
14
|
+
/** The raw user preference, including `'system'`. */
|
|
15
|
+
colorModePreference: string | undefined;
|
|
16
|
+
/** Set the preference. Accepts `'light' | 'dark' | 'system'`. */
|
|
17
|
+
setColorMode: (mode: ColorMode | 'system') => void;
|
|
18
|
+
/** Toggle between light and dark based on the currently resolved mode. */
|
|
19
|
+
toggleColorMode: () => void;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Typed color-mode accessor backed by `next-themes`.
|
|
24
|
+
*
|
|
25
|
+
* Must be called under a {@link ColorModeProvider} (mounted by
|
|
26
|
+
* {@link LogicianProvider}).
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```tsx
|
|
30
|
+
* const { colorMode, toggleColorMode } = useColorMode();
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export function useColorMode(): UseColorModeReturn {
|
|
34
|
+
const { theme, resolvedTheme, forcedTheme, setTheme } = useTheme();
|
|
35
|
+
|
|
36
|
+
// `colorMode` reflects what's actually rendered (a forced mode wins).
|
|
37
|
+
const colorMode = (forcedTheme ?? resolvedTheme ?? 'light') as ColorMode;
|
|
38
|
+
|
|
39
|
+
// Toggle/preference operate on the *user* preference, not the forced
|
|
40
|
+
// override — so a staged `forcedColorMode` rollout doesn't invert the stored
|
|
41
|
+
// value, and the preference is preserved for when the force is removed.
|
|
42
|
+
const resolvedPreference = (resolvedTheme ?? 'light') as ColorMode;
|
|
43
|
+
|
|
44
|
+
const toggleColorMode = useCallback(() => {
|
|
45
|
+
setTheme(resolvedPreference === 'dark' ? 'light' : 'dark');
|
|
46
|
+
}, [resolvedPreference, setTheme]);
|
|
47
|
+
|
|
48
|
+
return {
|
|
49
|
+
colorMode,
|
|
50
|
+
colorModePreference: theme,
|
|
51
|
+
setColorMode: setTheme,
|
|
52
|
+
toggleColorMode,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Returns one of two values based on the resolved color mode — the Logician
|
|
58
|
+
* equivalent of Chakra v2's `useColorModeValue`.
|
|
59
|
+
*
|
|
60
|
+
* Prefer semantic tokens (`color="fg.default"`) over this hook; reach for it
|
|
61
|
+
* only when a value can't be expressed as a token (e.g. a chart color array).
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```tsx
|
|
65
|
+
* const stroke = useColorModeValue('#1751D0', '#4A79DC');
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export function useColorModeValue<TLight, TDark>(
|
|
69
|
+
light: TLight,
|
|
70
|
+
dark: TDark
|
|
71
|
+
): TLight | TDark {
|
|
72
|
+
const { colorMode } = useColorMode();
|
|
73
|
+
return colorMode === 'dark' ? dark : light;
|
|
74
|
+
}
|
|
@@ -33,7 +33,9 @@ export const CopyableCode = ({
|
|
|
33
33
|
top={0}
|
|
34
34
|
bottom={0}
|
|
35
35
|
w={24}
|
|
36
|
-
bg
|
|
36
|
+
// Fade matches the Card surface (bg.surface) so it flips with the
|
|
37
|
+
// mode instead of fading to white on dark.
|
|
38
|
+
bg="linear-gradient(to right, transparent, var(--chakra-colors-bg-surface) 15%)"
|
|
37
39
|
pointerEvents="none"
|
|
38
40
|
/>
|
|
39
41
|
</Card>
|
|
@@ -39,7 +39,7 @@ export const RangeDatePicker = ({
|
|
|
39
39
|
propsConfigs={{
|
|
40
40
|
triggerBtnProps: {
|
|
41
41
|
fontWeight: 'regular',
|
|
42
|
-
color: '
|
|
42
|
+
color: 'fg.default',
|
|
43
43
|
fontSize: 'md',
|
|
44
44
|
...propsConfigs?.triggerBtnProps,
|
|
45
45
|
},
|
|
@@ -58,7 +58,10 @@ export const RangeDatePicker = ({
|
|
|
58
58
|
boxShadow: 'lg',
|
|
59
59
|
border: 'none',
|
|
60
60
|
borderWidth: 0,
|
|
61
|
-
|
|
61
|
+
// Flip the popover surface with the mode; gray.0 stayed white and
|
|
62
|
+
// framed the (already dark) calendars in dark mode. bg.surface keeps
|
|
63
|
+
// the same light value and resolves to gray.1400 under .dark.
|
|
64
|
+
bg: 'bg.surface',
|
|
62
65
|
...propsConfigs?.popoverCompProps?.popoverContentProps,
|
|
63
66
|
},
|
|
64
67
|
...propsConfigs?.popoverCompProps,
|
|
@@ -79,7 +82,7 @@ export const RangeDatePicker = ({
|
|
|
79
82
|
borderWidth: '1px',
|
|
80
83
|
borderColor: 'primary.extralight',
|
|
81
84
|
borderRadius: 16,
|
|
82
|
-
bg: '
|
|
85
|
+
bg: 'bg.surface',
|
|
83
86
|
...propsConfigs?.calendarPanelProps?.contentProps,
|
|
84
87
|
},
|
|
85
88
|
bodyProps: {
|
|
@@ -95,7 +98,7 @@ export const RangeDatePicker = ({
|
|
|
95
98
|
},
|
|
96
99
|
weekdayLabelProps: {
|
|
97
100
|
mb: 2,
|
|
98
|
-
color: '
|
|
101
|
+
color: 'fg.muted',
|
|
99
102
|
fontSize: 'sm',
|
|
100
103
|
fontWeight: 'regular',
|
|
101
104
|
...propsConfigs?.weekdayLabelProps,
|
|
@@ -104,7 +107,7 @@ export const RangeDatePicker = ({
|
|
|
104
107
|
defaultBtnProps: {
|
|
105
108
|
width: 34,
|
|
106
109
|
height: 34,
|
|
107
|
-
color: '
|
|
110
|
+
color: 'fg.default',
|
|
108
111
|
fontWeight: 'regular',
|
|
109
112
|
_hover: {
|
|
110
113
|
background: 'primary.extralight',
|
|
@@ -163,7 +166,7 @@ export const RangeDatePicker = ({
|
|
|
163
166
|
{...(propsConfigs?.triggerBtnProps as ButtonProps)}
|
|
164
167
|
>
|
|
165
168
|
<MdOutlineCalendarToday
|
|
166
|
-
color="
|
|
169
|
+
color="fg.subtle"
|
|
167
170
|
style={{ marginInlineEnd: 3 }}
|
|
168
171
|
/>
|
|
169
172
|
{selectedDates && selectedDates.length > 0
|
|
@@ -40,7 +40,7 @@ export const SingleDatePicker = ({
|
|
|
40
40
|
triggerBtnProps: {
|
|
41
41
|
justifyContent: 'left',
|
|
42
42
|
fontWeight: 'regular',
|
|
43
|
-
color: '
|
|
43
|
+
color: 'fg.default',
|
|
44
44
|
fontSize: 'md',
|
|
45
45
|
...propsConfigs?.triggerBtnProps,
|
|
46
46
|
},
|
|
@@ -82,7 +82,7 @@ export const SingleDatePicker = ({
|
|
|
82
82
|
},
|
|
83
83
|
weekdayLabelProps: {
|
|
84
84
|
mb: 2,
|
|
85
|
-
color: '
|
|
85
|
+
color: 'fg.muted',
|
|
86
86
|
fontWeight: 'regular',
|
|
87
87
|
...propsConfigs?.weekdayLabelProps,
|
|
88
88
|
},
|
|
@@ -90,7 +90,7 @@ export const SingleDatePicker = ({
|
|
|
90
90
|
defaultBtnProps: {
|
|
91
91
|
width: 34,
|
|
92
92
|
height: 34,
|
|
93
|
-
color: '
|
|
93
|
+
color: 'fg.default',
|
|
94
94
|
fontSize: 'sm',
|
|
95
95
|
fontWeight: 'regular',
|
|
96
96
|
_hover: {
|
|
@@ -124,7 +124,7 @@ export const SingleDatePicker = ({
|
|
|
124
124
|
{...(propsConfigs?.triggerBtnProps as ButtonProps)}
|
|
125
125
|
>
|
|
126
126
|
<MdOutlineCalendarToday
|
|
127
|
-
color="
|
|
127
|
+
color="fg.subtle"
|
|
128
128
|
style={{ marginInlineEnd: 3 }}
|
|
129
129
|
/>
|
|
130
130
|
{selectedDate
|
|
@@ -67,7 +67,7 @@ User Agent: ${errorInfo.userAgent}`;
|
|
|
67
67
|
p={12}
|
|
68
68
|
textAlign="center"
|
|
69
69
|
w="full"
|
|
70
|
-
bgColor="
|
|
70
|
+
bgColor="bg.surface"
|
|
71
71
|
boxShadow="2xl"
|
|
72
72
|
>
|
|
73
73
|
<VStack gap={6} align="center" w="full" mx="auto">
|
|
@@ -83,10 +83,10 @@ User Agent: ${errorInfo.userAgent}`;
|
|
|
83
83
|
|
|
84
84
|
{/* Error Title */}
|
|
85
85
|
<VStack gap={3} align="center" w="full">
|
|
86
|
-
<H1 color="
|
|
86
|
+
<H1 color="fg.default" textStyle="h2" fontWeight="bold">
|
|
87
87
|
{translate('error_boundary_title')}
|
|
88
88
|
</H1>
|
|
89
|
-
<Subtitle color="
|
|
89
|
+
<Subtitle color="fg.muted" textStyle="h5" maxW="md">
|
|
90
90
|
{translate('error_boundary_subtitle')}
|
|
91
91
|
</Subtitle>
|
|
92
92
|
</VStack>
|
|
@@ -36,7 +36,7 @@ export const FileInput = forwardRef<HTMLInputElement, FileInputProps>(
|
|
|
36
36
|
align="center"
|
|
37
37
|
justify="center"
|
|
38
38
|
border="1px dashed"
|
|
39
|
-
borderColor="
|
|
39
|
+
borderColor="border.default"
|
|
40
40
|
position="relative"
|
|
41
41
|
overflow="hidden"
|
|
42
42
|
borderRadius="md"
|
|
@@ -85,14 +85,14 @@ export const FileInput = forwardRef<HTMLInputElement, FileInputProps>(
|
|
|
85
85
|
<Flex w="100%" flexDir="column" align="center" justify="center">
|
|
86
86
|
<Box
|
|
87
87
|
borderRadius="lg"
|
|
88
|
-
bgColor={bgImage ? 'transparent' : '
|
|
88
|
+
bgColor={bgImage ? 'transparent' : 'bg.muted'}
|
|
89
89
|
p={3}
|
|
90
90
|
mb={2}
|
|
91
91
|
w="fit-content"
|
|
92
92
|
>
|
|
93
|
-
<LuUpload color={bgImage ? '
|
|
93
|
+
<LuUpload color={bgImage ? 'fg.default' : 'fg.subtle'} />
|
|
94
94
|
</Box>
|
|
95
|
-
<Text color={bgImage ? '
|
|
95
|
+
<Text color={bgImage ? 'fg.default' : 'fg.subtle'}>
|
|
96
96
|
{fileInputLabel || translate('upload_your_file')}
|
|
97
97
|
</Text>
|
|
98
98
|
</Flex>
|
|
@@ -44,7 +44,7 @@ export const FileItem = ({
|
|
|
44
44
|
justifyContent="space-between"
|
|
45
45
|
alignItems="center"
|
|
46
46
|
border="1px solid"
|
|
47
|
-
borderColor="
|
|
47
|
+
borderColor="border.subtle"
|
|
48
48
|
w="100%"
|
|
49
49
|
position="relative"
|
|
50
50
|
_before={{
|
|
@@ -60,7 +60,7 @@ export const FileItem = ({
|
|
|
60
60
|
>
|
|
61
61
|
<Flex w="60%" alignItems="center" gap={2}>
|
|
62
62
|
<Box minW={5}>
|
|
63
|
-
<CiFileOn color={error ? errorColor : '
|
|
63
|
+
<CiFileOn color={error ? errorColor : 'fg.muted'} />
|
|
64
64
|
</Box>
|
|
65
65
|
<Text truncate color={error ? errorColor : undefined}>
|
|
66
66
|
{fileName}
|
|
@@ -89,7 +89,7 @@ export const FileItem = ({
|
|
|
89
89
|
colorPalette="neutral"
|
|
90
90
|
variant="ghost"
|
|
91
91
|
>
|
|
92
|
-
<IoClose color="
|
|
92
|
+
<IoClose color="fg.subtle" boxSize="md" />
|
|
93
93
|
</IconButton>
|
|
94
94
|
</Flex>
|
|
95
95
|
)}
|
|
@@ -113,7 +113,7 @@ export const FileItem = ({
|
|
|
113
113
|
colorPalette="neutral"
|
|
114
114
|
variant="ghost"
|
|
115
115
|
>
|
|
116
|
-
<LuDownload color="
|
|
116
|
+
<LuDownload color="fg.muted" />
|
|
117
117
|
</IconButton>
|
|
118
118
|
</Tooltip>
|
|
119
119
|
)}
|
|
@@ -134,7 +134,7 @@ export const FileItem = ({
|
|
|
134
134
|
colorPalette="neutral"
|
|
135
135
|
variant="ghost"
|
|
136
136
|
>
|
|
137
|
-
<FaRegTrashAlt boxSize="sm" color="
|
|
137
|
+
<FaRegTrashAlt boxSize="sm" color="fg.muted" />
|
|
138
138
|
</IconButton>
|
|
139
139
|
</Tooltip>
|
|
140
140
|
)}
|
|
@@ -48,7 +48,7 @@ export const FileList = ({
|
|
|
48
48
|
<Box
|
|
49
49
|
w="100%"
|
|
50
50
|
border="1px solid"
|
|
51
|
-
borderColor="
|
|
51
|
+
borderColor="border.subtle"
|
|
52
52
|
borderRadius="md"
|
|
53
53
|
overflow="hidden"
|
|
54
54
|
>
|
|
@@ -67,7 +67,7 @@ export const FileList = ({
|
|
|
67
67
|
}
|
|
68
68
|
border={0}
|
|
69
69
|
borderBottom="1px solid"
|
|
70
|
-
borderBottomColor="
|
|
70
|
+
borderBottomColor="border.subtle"
|
|
71
71
|
progress={file.progress}
|
|
72
72
|
error={file.error}
|
|
73
73
|
fileSize={file.size}
|
|
@@ -91,10 +91,10 @@ export const FileList = ({
|
|
|
91
91
|
cursor: 'pointer',
|
|
92
92
|
}}
|
|
93
93
|
>
|
|
94
|
-
<Subtitle color="
|
|
94
|
+
<Subtitle color="fg.subtle">
|
|
95
95
|
{translate('see_more')} ({visibleCount}/{files.length})
|
|
96
96
|
</Subtitle>
|
|
97
|
-
<IoChevronDownOutline color="
|
|
97
|
+
<IoChevronDownOutline color="fg.subtle" />
|
|
98
98
|
</Button>
|
|
99
99
|
)}
|
|
100
100
|
</Box>
|
|
@@ -318,8 +318,11 @@ export const Input = forwardRef(
|
|
|
318
318
|
disabled={disabled}
|
|
319
319
|
readOnly={readOnly}
|
|
320
320
|
data-invalid={invalid || undefined}
|
|
321
|
-
bg="
|
|
322
|
-
|
|
321
|
+
bg="bg.surface"
|
|
322
|
+
color="fg.default"
|
|
323
|
+
borderColor={
|
|
324
|
+
invalid ? 'danger.main' : { base: 'gray.400', _dark: 'gray.1100' }
|
|
325
|
+
}
|
|
323
326
|
_hover={{
|
|
324
327
|
borderColor: invalid ? 'danger.main' : 'primary.lighter',
|
|
325
328
|
..._hover,
|
|
@@ -340,15 +343,15 @@ export const Input = forwardRef(
|
|
|
340
343
|
_readOnly={{
|
|
341
344
|
opacity: 1,
|
|
342
345
|
cursor: 'not-allowed',
|
|
343
|
-
bg: '
|
|
344
|
-
color: '
|
|
345
|
-
borderColor: '
|
|
346
|
+
bg: 'bg.subtle',
|
|
347
|
+
color: 'fg.muted',
|
|
348
|
+
borderColor: 'border.subtle',
|
|
346
349
|
}}
|
|
347
350
|
_disabled={{
|
|
348
351
|
opacity: 1,
|
|
349
352
|
cursor: 'not-allowed',
|
|
350
|
-
bg: '
|
|
351
|
-
color: 'gray.1000',
|
|
353
|
+
bg: 'bg.subtle',
|
|
354
|
+
color: { base: 'gray.1000', _dark: 'gray.400' },
|
|
352
355
|
fontWeight: 'semibold',
|
|
353
356
|
}}
|
|
354
357
|
{...rest}
|
|
@@ -35,15 +35,18 @@ export const LineGraph = <T extends DatumBase>({
|
|
|
35
35
|
// No dashes
|
|
36
36
|
strokeDasharray=""
|
|
37
37
|
vertical={false}
|
|
38
|
-
|
|
38
|
+
// recharts passes this straight to SVG and never resolves Chakra
|
|
39
|
+
// tokens, so use the CSS var directly — it flips with the .dark class.
|
|
40
|
+
stroke="var(--chakra-colors-border-default)"
|
|
39
41
|
/>
|
|
40
42
|
<XAxis
|
|
41
43
|
dataKey="name"
|
|
42
44
|
// Color of line
|
|
43
45
|
stroke="transparent"
|
|
44
|
-
// Props of text
|
|
46
|
+
// Props of text. CSS var (not a Chakra token) so the axis labels
|
|
47
|
+
// flip with the mode — recharts won't resolve 'gray.1200' itself.
|
|
45
48
|
tick={{
|
|
46
|
-
fill: '
|
|
49
|
+
fill: 'var(--chakra-colors-fg-muted)',
|
|
47
50
|
fontSize: `${useToken('fontSizes', 'sm')}`,
|
|
48
51
|
}}
|
|
49
52
|
tickMargin={8}
|
|
@@ -51,9 +54,9 @@ export const LineGraph = <T extends DatumBase>({
|
|
|
51
54
|
<YAxis
|
|
52
55
|
// Color of line
|
|
53
56
|
stroke="transparent"
|
|
54
|
-
//
|
|
57
|
+
// CSS var (see XAxis) so the labels flip with the mode.
|
|
55
58
|
tick={{
|
|
56
|
-
fill: '
|
|
59
|
+
fill: 'var(--chakra-colors-fg-muted)',
|
|
57
60
|
fontSize: `${useToken('fontSizes', 'sm')}`,
|
|
58
61
|
}}
|
|
59
62
|
tickMargin={0}
|
|
@@ -3,6 +3,8 @@ import React, { useEffect, useMemo } from 'react';
|
|
|
3
3
|
import type { SystemConfig } from '@chakra-ui/react';
|
|
4
4
|
import { ChakraProvider, createSystem, defaultConfig } from '@chakra-ui/react';
|
|
5
5
|
|
|
6
|
+
import type { ColorMode } from '@/components/ColorMode';
|
|
7
|
+
import { ColorModeProvider } from '@/components/ColorMode';
|
|
6
8
|
import type { SupportedLanguage } from '@/components/MonthPicker/constants';
|
|
7
9
|
import { LanguageContext } from '@/hooks/useLanguage';
|
|
8
10
|
|
|
@@ -85,6 +87,28 @@ export interface LogicianProviderProps {
|
|
|
85
87
|
* @default true
|
|
86
88
|
*/
|
|
87
89
|
loadFonts?: boolean;
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Initial color mode preference when none is stored.
|
|
93
|
+
* @default 'system'
|
|
94
|
+
*/
|
|
95
|
+
defaultColorMode?: ColorMode | 'system';
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Pin the app to a single color mode, ignoring stored/system preference.
|
|
99
|
+
* Use for a staged rollout (e.g. force light while a product migrates its
|
|
100
|
+
* components). Leave undefined for normal light/dark/system behavior.
|
|
101
|
+
*/
|
|
102
|
+
forcedColorMode?: ColorMode;
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Set to `false` to skip mounting the color-mode provider — e.g. if the host
|
|
106
|
+
* app already mounts its own. Disabling it means `useColorMode`,
|
|
107
|
+
* `useColorModeValue`, and `ColorModeToggle` won't work unless a
|
|
108
|
+
* `ColorModeProvider` is supplied elsewhere.
|
|
109
|
+
* @default true
|
|
110
|
+
*/
|
|
111
|
+
enableColorMode?: boolean;
|
|
88
112
|
children?: React.ReactNode;
|
|
89
113
|
}
|
|
90
114
|
|
|
@@ -111,6 +135,9 @@ export const LogicianProvider: React.FC<LogicianProviderProps> = ({
|
|
|
111
135
|
config,
|
|
112
136
|
language = 'en',
|
|
113
137
|
loadFonts = true,
|
|
138
|
+
defaultColorMode = 'system',
|
|
139
|
+
forcedColorMode,
|
|
140
|
+
enableColorMode = true,
|
|
114
141
|
children,
|
|
115
142
|
}) => {
|
|
116
143
|
useEffect(() => {
|
|
@@ -129,11 +156,24 @@ export const LogicianProvider: React.FC<LogicianProviderProps> = ({
|
|
|
129
156
|
|
|
130
157
|
const languageValue = useMemo(() => ({ language }), [language]);
|
|
131
158
|
|
|
132
|
-
|
|
159
|
+
const tree = (
|
|
133
160
|
<LanguageContext.Provider value={languageValue}>
|
|
134
161
|
<ChakraProvider value={system}>{children}</ChakraProvider>
|
|
135
162
|
</LanguageContext.Provider>
|
|
136
163
|
);
|
|
164
|
+
|
|
165
|
+
if (!enableColorMode) {
|
|
166
|
+
return tree;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
return (
|
|
170
|
+
<ColorModeProvider
|
|
171
|
+
defaultTheme={defaultColorMode}
|
|
172
|
+
forcedTheme={forcedColorMode}
|
|
173
|
+
>
|
|
174
|
+
{tree}
|
|
175
|
+
</ColorModeProvider>
|
|
176
|
+
);
|
|
137
177
|
};
|
|
138
178
|
|
|
139
179
|
LogicianProvider.displayName = 'LogicianProvider';
|
|
@@ -19,3 +19,22 @@
|
|
|
19
19
|
[data-radix-select-content] {
|
|
20
20
|
z-index: 9999 !important;
|
|
21
21
|
}
|
|
22
|
+
|
|
23
|
+
/*
|
|
24
|
+
* Block-type select dropdown popup. It's portaled outside `.mdxeditor`, so the
|
|
25
|
+
* scoped css prop can't reach it — flip its surface/text/highlight onto the
|
|
26
|
+
* semantic tokens here (they resolve per color mode via the `.dark` class).
|
|
27
|
+
*/
|
|
28
|
+
.mdxeditor-select-content {
|
|
29
|
+
background: var(--chakra-colors-bg-surface) !important;
|
|
30
|
+
color: var(--chakra-colors-fg-default);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.mdxeditor-select-content [class*='_selectItem_'] {
|
|
34
|
+
color: var(--chakra-colors-fg-default);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.mdxeditor-select-content [class*='_selectItem_'][data-highlighted],
|
|
38
|
+
.mdxeditor-select-content [class*='_selectItem_']:hover {
|
|
39
|
+
background: var(--chakra-colors-bg-muted) !important;
|
|
40
|
+
}
|
|
@@ -39,16 +39,6 @@ export const MDXEditor = forwardRef<
|
|
|
39
39
|
const [error, setError] = useState<string | null>(null);
|
|
40
40
|
|
|
41
41
|
// Resolve theme tokens to actual values
|
|
42
|
-
const [gray50, gray100, gray800, primaryLight, primaryLighter, primaryMain] =
|
|
43
|
-
useToken('colors', [
|
|
44
|
-
'gray.50',
|
|
45
|
-
'gray.100',
|
|
46
|
-
'gray.800',
|
|
47
|
-
'primary.light',
|
|
48
|
-
'primary.lighter',
|
|
49
|
-
'primary.main',
|
|
50
|
-
]);
|
|
51
|
-
|
|
52
42
|
const [space1, space2, space4] = useToken('spacing', ['1', '2', '4']);
|
|
53
43
|
const [radiusSm] = useToken('radii', ['sm']);
|
|
54
44
|
|
|
@@ -99,7 +89,7 @@ export const MDXEditor = forwardRef<
|
|
|
99
89
|
width: '100%',
|
|
100
90
|
minHeight: '300px',
|
|
101
91
|
height: '100%',
|
|
102
|
-
background: '
|
|
92
|
+
background: 'var(--chakra-colors-bg-surface)',
|
|
103
93
|
display: 'flex',
|
|
104
94
|
flexDirection: 'column',
|
|
105
95
|
},
|
|
@@ -108,10 +98,16 @@ export const MDXEditor = forwardRef<
|
|
|
108
98
|
gap: space2,
|
|
109
99
|
padding: space2,
|
|
110
100
|
borderBottomWidth: '1px',
|
|
111
|
-
background:
|
|
101
|
+
background: 'var(--chakra-colors-bg-subtle)',
|
|
112
102
|
flexShrink: 0,
|
|
113
103
|
cursor: 'default',
|
|
114
104
|
},
|
|
105
|
+
// Block-type select trigger in the toolbar — mdxeditor themes it with
|
|
106
|
+
// its own vars (left white), so flip it onto the semantic surface.
|
|
107
|
+
'& [class*="_selectTrigger_"]': {
|
|
108
|
+
background: 'var(--chakra-colors-bg-surface)',
|
|
109
|
+
color: 'var(--chakra-colors-fg-default)',
|
|
110
|
+
},
|
|
115
111
|
// Target the root contenteditable wrapper
|
|
116
112
|
'& [class*="_rootContentEditableWrapper_"]': {
|
|
117
113
|
flex: 1,
|
|
@@ -135,7 +131,7 @@ export const MDXEditor = forwardRef<
|
|
|
135
131
|
},
|
|
136
132
|
'& .content-editable': {
|
|
137
133
|
padding: space4,
|
|
138
|
-
color: '
|
|
134
|
+
color: 'var(--chakra-colors-fg-default)',
|
|
139
135
|
display: 'flex',
|
|
140
136
|
flexDirection: 'column',
|
|
141
137
|
gap: radiusSm,
|
|
@@ -221,22 +217,22 @@ export const MDXEditor = forwardRef<
|
|
|
221
217
|
|
|
222
218
|
'& blockquote': {
|
|
223
219
|
borderLeftWidth: '4px',
|
|
224
|
-
borderLeftColor:
|
|
225
|
-
background:
|
|
220
|
+
borderLeftColor: 'var(--chakra-colors-primary-light)',
|
|
221
|
+
background: 'var(--chakra-colors-primary-lighter)',
|
|
226
222
|
paddingLeft: space4,
|
|
227
223
|
paddingBlock: space2,
|
|
228
224
|
marginBlock: space4,
|
|
229
|
-
color:
|
|
225
|
+
color: 'var(--chakra-colors-fg-muted)',
|
|
230
226
|
},
|
|
231
227
|
|
|
232
228
|
'& a': {
|
|
233
|
-
color:
|
|
229
|
+
color: 'var(--chakra-colors-primary-main)',
|
|
234
230
|
textDecoration: 'underline',
|
|
235
231
|
},
|
|
236
232
|
|
|
237
233
|
'& code': {
|
|
238
234
|
fontFamily: 'mono',
|
|
239
|
-
background:
|
|
235
|
+
background: 'var(--chakra-colors-bg-muted)',
|
|
240
236
|
paddingInline: space1,
|
|
241
237
|
borderRadius: radiusSm,
|
|
242
238
|
|
|
@@ -17,15 +17,18 @@ export const MenuItem = ({
|
|
|
17
17
|
return (
|
|
18
18
|
<Menu.Item
|
|
19
19
|
value={value}
|
|
20
|
-
|
|
20
|
+
// Map item text/hover onto semantic tokens so they flip with the mode.
|
|
21
|
+
// Was gray.1000 / hover gray.1500 / hover bg gray.50 — none flipped, so
|
|
22
|
+
// items rendered dim and hover went near-black on a dark menu.
|
|
23
|
+
color={isDangerVariant ? 'danger.main' : 'fg.muted'}
|
|
21
24
|
py={2}
|
|
22
25
|
minW="fit-content"
|
|
23
26
|
fontWeight="semibold"
|
|
24
27
|
gap={3}
|
|
25
28
|
cursor="pointer"
|
|
26
29
|
_hover={{
|
|
27
|
-
color: isDangerVariant ? 'danger.main' : '
|
|
28
|
-
backgroundColor: isDangerVariant ? 'danger.lightest' : '
|
|
30
|
+
color: isDangerVariant ? 'danger.main' : 'fg.default',
|
|
31
|
+
backgroundColor: isDangerVariant ? 'danger.lightest' : 'bg.subtle',
|
|
29
32
|
}}
|
|
30
33
|
{...focusRing}
|
|
31
34
|
{...rest}
|