pixelize-design-library 2.4.2-beta.20 → 2.4.2-beta.22
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/Button/Button.styles.js +29 -3
- package/dist/Components/Primitives/Primitives.d.ts +6 -0
- package/dist/Components/Primitives/Primitives.js +113 -0
- package/dist/esm/Components/Button/Button.styles.js +29 -3
- package/dist/esm/Components/Primitives/Primitives.js +6 -0
- package/dist/esm/index.js +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +4 -0
- package/package.json +1 -1
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Button = void 0;
|
|
4
4
|
const accentText_1 = require("../../Theme/tokens/builders/accentText");
|
|
5
|
+
const color_1 = require("../../Theme/tokens/builders/color");
|
|
5
6
|
const gradientInk_1 = require("../../Theme/tokens/builders/gradientInk");
|
|
6
7
|
/**
|
|
7
8
|
* Outline/ghost/link text sits ON the canvas, so it needs a rung that stays readable there —
|
|
@@ -30,9 +31,34 @@ const onCanvasHoverBg = (theme, colorScheme, step) => {
|
|
|
30
31
|
* ~3.2 contrast.
|
|
31
32
|
*/
|
|
32
33
|
const FILL_STEP_RUNGS = { light: [600, 700], dark: [400, 300] };
|
|
34
|
+
const RUNGS = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900];
|
|
35
|
+
const AA_NORMAL_TEXT = 4.5;
|
|
36
|
+
// Semantic scales (red/green) carry no opacity ramp; brand scales do and keep their own [500].
|
|
37
|
+
const solidRung = (theme, colorScheme) => {
|
|
38
|
+
const scale = theme.colors[colorScheme];
|
|
39
|
+
const white = theme.colors.white;
|
|
40
|
+
if ("opacity" in scale)
|
|
41
|
+
return 500;
|
|
42
|
+
if ((0, color_1.contrastRatio)(scale[500], white) >= AA_NORMAL_TEXT)
|
|
43
|
+
return 500;
|
|
44
|
+
const passing = RUNGS.filter((r) => scale[r] && (0, color_1.contrastRatio)(scale[r], white) >= AA_NORMAL_TEXT);
|
|
45
|
+
if (!passing.length)
|
|
46
|
+
return 500;
|
|
47
|
+
return passing.reduce((a, b) => (0, color_1.contrastRatio)(scale[a], white) <= (0, color_1.contrastRatio)(scale[b], white) ? a : b);
|
|
48
|
+
};
|
|
49
|
+
const steppedRung = (theme, base, step) => {
|
|
50
|
+
const dir = (0, accentText_1.isDarkCanvas)(theme.colors.backgroundColor.main) ? -100 : 100;
|
|
51
|
+
return Math.min(900, Math.max(50, base + dir * step));
|
|
52
|
+
};
|
|
33
53
|
const darkerFill = (theme, colorScheme, step) => {
|
|
34
|
-
|
|
35
|
-
|
|
54
|
+
var _a;
|
|
55
|
+
const scale = theme.colors[colorScheme];
|
|
56
|
+
const base = solidRung(theme, colorScheme);
|
|
57
|
+
if (base === 500) {
|
|
58
|
+
const mode = (0, accentText_1.isDarkCanvas)(theme.colors.backgroundColor.main) ? "dark" : "light";
|
|
59
|
+
return scale[FILL_STEP_RUNGS[mode][step]];
|
|
60
|
+
}
|
|
61
|
+
return (_a = scale[steppedRung(theme, base, step === 0 ? 1 : 2)]) !== null && _a !== void 0 ? _a : scale[base];
|
|
36
62
|
};
|
|
37
63
|
/** Label for the solid variant's filled bg — derived from THAT fill, since hover/active swap it. */
|
|
38
64
|
const labelFor = (theme, fill) => (0, accentText_1.onFilled)(fill, theme.colors.white, theme.colors.black);
|
|
@@ -49,7 +75,7 @@ exports.Button = {
|
|
|
49
75
|
}),
|
|
50
76
|
variants: {
|
|
51
77
|
solid: ({ theme, colorScheme = "primary" }) => {
|
|
52
|
-
const fill = theme.colors[colorScheme][
|
|
78
|
+
const fill = theme.colors[colorScheme][solidRung(theme, colorScheme)];
|
|
53
79
|
const hoverFill = darkerFill(theme, colorScheme, 0);
|
|
54
80
|
const activeFill = darkerFill(theme, colorScheme, 1);
|
|
55
81
|
const hoverLabel = labelFor(theme, hoverFill);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { Box, Flex, Stack, VStack, HStack, Grid, GridItem, SimpleGrid, Wrap, WrapItem, Center, Spacer, Container, Divider, Text, Heading, Link, Image, Icon, Avatar, AvatarGroup, Badge, Spinner, Alert, AlertIcon, AlertTitle, AlertDescription, Portal, Collapse, Show, Hide, List, ListItem, ListIcon, OrderedList, UnorderedList, Tabs, TabList, Tab, TabPanels, TabPanel, Popover, PopoverTrigger, PopoverContent, PopoverBody, PopoverHeader, PopoverFooter, PopoverArrow, PopoverCloseButton, FormControl, FormLabel, FormErrorMessage, FormHelperText, IconButton, TableContainer, Thead, Tbody, Tfoot, Tr, Th, Td, Menu, MenuButton, MenuList, MenuItem, MenuGroup, MenuDivider, MenuOptionGroup, MenuItemOption, Accordion, AccordionItem, AccordionButton, AccordionPanel, AccordionIcon, SliderTrack, SliderFilledTrack, SliderThumb, SliderMark, ChakraProvider, extendTheme, useDisclosure, useMediaQuery, useToken, useBreakpointValue, } from "@chakra-ui/react";
|
|
2
|
+
export { Table as TableRoot, Slider as RangeSlider } from "@chakra-ui/react";
|
|
3
|
+
export type { BoxProps, FlexProps, StackProps, TextProps, HeadingProps, GridProps, GridItemProps, SimpleGridProps, AvatarProps, BadgeProps, IconProps, LinkProps, ImageProps, SpinnerProps, DividerProps, ContainerProps, IconButtonProps, FormControlProps, FormLabelProps, TabsProps, PopoverProps, ListProps, AlertProps, MenuProps, AccordionProps, } from "@chakra-ui/react";
|
|
4
|
+
export { Input, Textarea, Progress, Radio, RadioGroup, Skeleton, ModalOverlay, ModalContent, ModalCloseButton, CardBody, } from "@chakra-ui/react";
|
|
5
|
+
export { Card as ChakraCard, Select as ChakraSelect, Modal as ChakraModal, ModalBody as ChakraModalBody, ModalHeader as ChakraModalHeader, ModalFooter as ChakraModalFooter, } from "@chakra-ui/react";
|
|
6
|
+
export type { InputProps, TextareaProps, ProgressProps, RadioProps, SkeletonProps as ChakraSkeletonProps, SelectProps as ChakraSelectProps, ModalProps as ChakraModalProps, CardProps as ChakraCardProps, } from "@chakra-ui/react";
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FormControl = exports.PopoverCloseButton = exports.PopoverArrow = exports.PopoverFooter = exports.PopoverHeader = exports.PopoverBody = exports.PopoverContent = exports.PopoverTrigger = exports.Popover = exports.TabPanel = exports.TabPanels = exports.Tab = exports.TabList = exports.Tabs = exports.UnorderedList = exports.OrderedList = exports.ListIcon = exports.ListItem = exports.List = exports.Hide = exports.Show = exports.Collapse = exports.Portal = exports.AlertDescription = exports.AlertTitle = exports.AlertIcon = exports.Alert = exports.Spinner = exports.Badge = exports.AvatarGroup = exports.Avatar = exports.Icon = exports.Image = exports.Link = exports.Heading = exports.Text = exports.Divider = exports.Container = exports.Spacer = exports.Center = exports.WrapItem = exports.Wrap = exports.SimpleGrid = exports.GridItem = exports.Grid = exports.HStack = exports.VStack = exports.Stack = exports.Flex = exports.Box = void 0;
|
|
4
|
+
exports.ChakraModalBody = exports.ChakraModal = exports.ChakraSelect = exports.ChakraCard = exports.CardBody = exports.ModalCloseButton = exports.ModalContent = exports.ModalOverlay = exports.Skeleton = exports.RadioGroup = exports.Radio = exports.Progress = exports.Textarea = exports.Input = exports.RangeSlider = exports.TableRoot = exports.useBreakpointValue = exports.useToken = exports.useMediaQuery = exports.useDisclosure = exports.extendTheme = exports.ChakraProvider = exports.SliderMark = exports.SliderThumb = exports.SliderFilledTrack = exports.SliderTrack = exports.AccordionIcon = exports.AccordionPanel = exports.AccordionButton = exports.AccordionItem = exports.Accordion = exports.MenuItemOption = exports.MenuOptionGroup = exports.MenuDivider = exports.MenuGroup = exports.MenuItem = exports.MenuList = exports.MenuButton = exports.Menu = exports.Td = exports.Th = exports.Tr = exports.Tfoot = exports.Tbody = exports.Thead = exports.TableContainer = exports.IconButton = exports.FormHelperText = exports.FormErrorMessage = exports.FormLabel = void 0;
|
|
5
|
+
exports.ChakraModalFooter = exports.ChakraModalHeader = void 0;
|
|
6
|
+
var react_1 = require("@chakra-ui/react");
|
|
7
|
+
Object.defineProperty(exports, "Box", { enumerable: true, get: function () { return react_1.Box; } });
|
|
8
|
+
Object.defineProperty(exports, "Flex", { enumerable: true, get: function () { return react_1.Flex; } });
|
|
9
|
+
Object.defineProperty(exports, "Stack", { enumerable: true, get: function () { return react_1.Stack; } });
|
|
10
|
+
Object.defineProperty(exports, "VStack", { enumerable: true, get: function () { return react_1.VStack; } });
|
|
11
|
+
Object.defineProperty(exports, "HStack", { enumerable: true, get: function () { return react_1.HStack; } });
|
|
12
|
+
Object.defineProperty(exports, "Grid", { enumerable: true, get: function () { return react_1.Grid; } });
|
|
13
|
+
Object.defineProperty(exports, "GridItem", { enumerable: true, get: function () { return react_1.GridItem; } });
|
|
14
|
+
Object.defineProperty(exports, "SimpleGrid", { enumerable: true, get: function () { return react_1.SimpleGrid; } });
|
|
15
|
+
Object.defineProperty(exports, "Wrap", { enumerable: true, get: function () { return react_1.Wrap; } });
|
|
16
|
+
Object.defineProperty(exports, "WrapItem", { enumerable: true, get: function () { return react_1.WrapItem; } });
|
|
17
|
+
Object.defineProperty(exports, "Center", { enumerable: true, get: function () { return react_1.Center; } });
|
|
18
|
+
Object.defineProperty(exports, "Spacer", { enumerable: true, get: function () { return react_1.Spacer; } });
|
|
19
|
+
Object.defineProperty(exports, "Container", { enumerable: true, get: function () { return react_1.Container; } });
|
|
20
|
+
Object.defineProperty(exports, "Divider", { enumerable: true, get: function () { return react_1.Divider; } });
|
|
21
|
+
Object.defineProperty(exports, "Text", { enumerable: true, get: function () { return react_1.Text; } });
|
|
22
|
+
Object.defineProperty(exports, "Heading", { enumerable: true, get: function () { return react_1.Heading; } });
|
|
23
|
+
Object.defineProperty(exports, "Link", { enumerable: true, get: function () { return react_1.Link; } });
|
|
24
|
+
Object.defineProperty(exports, "Image", { enumerable: true, get: function () { return react_1.Image; } });
|
|
25
|
+
Object.defineProperty(exports, "Icon", { enumerable: true, get: function () { return react_1.Icon; } });
|
|
26
|
+
Object.defineProperty(exports, "Avatar", { enumerable: true, get: function () { return react_1.Avatar; } });
|
|
27
|
+
Object.defineProperty(exports, "AvatarGroup", { enumerable: true, get: function () { return react_1.AvatarGroup; } });
|
|
28
|
+
Object.defineProperty(exports, "Badge", { enumerable: true, get: function () { return react_1.Badge; } });
|
|
29
|
+
Object.defineProperty(exports, "Spinner", { enumerable: true, get: function () { return react_1.Spinner; } });
|
|
30
|
+
Object.defineProperty(exports, "Alert", { enumerable: true, get: function () { return react_1.Alert; } });
|
|
31
|
+
Object.defineProperty(exports, "AlertIcon", { enumerable: true, get: function () { return react_1.AlertIcon; } });
|
|
32
|
+
Object.defineProperty(exports, "AlertTitle", { enumerable: true, get: function () { return react_1.AlertTitle; } });
|
|
33
|
+
Object.defineProperty(exports, "AlertDescription", { enumerable: true, get: function () { return react_1.AlertDescription; } });
|
|
34
|
+
Object.defineProperty(exports, "Portal", { enumerable: true, get: function () { return react_1.Portal; } });
|
|
35
|
+
Object.defineProperty(exports, "Collapse", { enumerable: true, get: function () { return react_1.Collapse; } });
|
|
36
|
+
Object.defineProperty(exports, "Show", { enumerable: true, get: function () { return react_1.Show; } });
|
|
37
|
+
Object.defineProperty(exports, "Hide", { enumerable: true, get: function () { return react_1.Hide; } });
|
|
38
|
+
Object.defineProperty(exports, "List", { enumerable: true, get: function () { return react_1.List; } });
|
|
39
|
+
Object.defineProperty(exports, "ListItem", { enumerable: true, get: function () { return react_1.ListItem; } });
|
|
40
|
+
Object.defineProperty(exports, "ListIcon", { enumerable: true, get: function () { return react_1.ListIcon; } });
|
|
41
|
+
Object.defineProperty(exports, "OrderedList", { enumerable: true, get: function () { return react_1.OrderedList; } });
|
|
42
|
+
Object.defineProperty(exports, "UnorderedList", { enumerable: true, get: function () { return react_1.UnorderedList; } });
|
|
43
|
+
Object.defineProperty(exports, "Tabs", { enumerable: true, get: function () { return react_1.Tabs; } });
|
|
44
|
+
Object.defineProperty(exports, "TabList", { enumerable: true, get: function () { return react_1.TabList; } });
|
|
45
|
+
Object.defineProperty(exports, "Tab", { enumerable: true, get: function () { return react_1.Tab; } });
|
|
46
|
+
Object.defineProperty(exports, "TabPanels", { enumerable: true, get: function () { return react_1.TabPanels; } });
|
|
47
|
+
Object.defineProperty(exports, "TabPanel", { enumerable: true, get: function () { return react_1.TabPanel; } });
|
|
48
|
+
Object.defineProperty(exports, "Popover", { enumerable: true, get: function () { return react_1.Popover; } });
|
|
49
|
+
Object.defineProperty(exports, "PopoverTrigger", { enumerable: true, get: function () { return react_1.PopoverTrigger; } });
|
|
50
|
+
Object.defineProperty(exports, "PopoverContent", { enumerable: true, get: function () { return react_1.PopoverContent; } });
|
|
51
|
+
Object.defineProperty(exports, "PopoverBody", { enumerable: true, get: function () { return react_1.PopoverBody; } });
|
|
52
|
+
Object.defineProperty(exports, "PopoverHeader", { enumerable: true, get: function () { return react_1.PopoverHeader; } });
|
|
53
|
+
Object.defineProperty(exports, "PopoverFooter", { enumerable: true, get: function () { return react_1.PopoverFooter; } });
|
|
54
|
+
Object.defineProperty(exports, "PopoverArrow", { enumerable: true, get: function () { return react_1.PopoverArrow; } });
|
|
55
|
+
Object.defineProperty(exports, "PopoverCloseButton", { enumerable: true, get: function () { return react_1.PopoverCloseButton; } });
|
|
56
|
+
Object.defineProperty(exports, "FormControl", { enumerable: true, get: function () { return react_1.FormControl; } });
|
|
57
|
+
Object.defineProperty(exports, "FormLabel", { enumerable: true, get: function () { return react_1.FormLabel; } });
|
|
58
|
+
Object.defineProperty(exports, "FormErrorMessage", { enumerable: true, get: function () { return react_1.FormErrorMessage; } });
|
|
59
|
+
Object.defineProperty(exports, "FormHelperText", { enumerable: true, get: function () { return react_1.FormHelperText; } });
|
|
60
|
+
Object.defineProperty(exports, "IconButton", { enumerable: true, get: function () { return react_1.IconButton; } });
|
|
61
|
+
Object.defineProperty(exports, "TableContainer", { enumerable: true, get: function () { return react_1.TableContainer; } });
|
|
62
|
+
Object.defineProperty(exports, "Thead", { enumerable: true, get: function () { return react_1.Thead; } });
|
|
63
|
+
Object.defineProperty(exports, "Tbody", { enumerable: true, get: function () { return react_1.Tbody; } });
|
|
64
|
+
Object.defineProperty(exports, "Tfoot", { enumerable: true, get: function () { return react_1.Tfoot; } });
|
|
65
|
+
Object.defineProperty(exports, "Tr", { enumerable: true, get: function () { return react_1.Tr; } });
|
|
66
|
+
Object.defineProperty(exports, "Th", { enumerable: true, get: function () { return react_1.Th; } });
|
|
67
|
+
Object.defineProperty(exports, "Td", { enumerable: true, get: function () { return react_1.Td; } });
|
|
68
|
+
Object.defineProperty(exports, "Menu", { enumerable: true, get: function () { return react_1.Menu; } });
|
|
69
|
+
Object.defineProperty(exports, "MenuButton", { enumerable: true, get: function () { return react_1.MenuButton; } });
|
|
70
|
+
Object.defineProperty(exports, "MenuList", { enumerable: true, get: function () { return react_1.MenuList; } });
|
|
71
|
+
Object.defineProperty(exports, "MenuItem", { enumerable: true, get: function () { return react_1.MenuItem; } });
|
|
72
|
+
Object.defineProperty(exports, "MenuGroup", { enumerable: true, get: function () { return react_1.MenuGroup; } });
|
|
73
|
+
Object.defineProperty(exports, "MenuDivider", { enumerable: true, get: function () { return react_1.MenuDivider; } });
|
|
74
|
+
Object.defineProperty(exports, "MenuOptionGroup", { enumerable: true, get: function () { return react_1.MenuOptionGroup; } });
|
|
75
|
+
Object.defineProperty(exports, "MenuItemOption", { enumerable: true, get: function () { return react_1.MenuItemOption; } });
|
|
76
|
+
Object.defineProperty(exports, "Accordion", { enumerable: true, get: function () { return react_1.Accordion; } });
|
|
77
|
+
Object.defineProperty(exports, "AccordionItem", { enumerable: true, get: function () { return react_1.AccordionItem; } });
|
|
78
|
+
Object.defineProperty(exports, "AccordionButton", { enumerable: true, get: function () { return react_1.AccordionButton; } });
|
|
79
|
+
Object.defineProperty(exports, "AccordionPanel", { enumerable: true, get: function () { return react_1.AccordionPanel; } });
|
|
80
|
+
Object.defineProperty(exports, "AccordionIcon", { enumerable: true, get: function () { return react_1.AccordionIcon; } });
|
|
81
|
+
Object.defineProperty(exports, "SliderTrack", { enumerable: true, get: function () { return react_1.SliderTrack; } });
|
|
82
|
+
Object.defineProperty(exports, "SliderFilledTrack", { enumerable: true, get: function () { return react_1.SliderFilledTrack; } });
|
|
83
|
+
Object.defineProperty(exports, "SliderThumb", { enumerable: true, get: function () { return react_1.SliderThumb; } });
|
|
84
|
+
Object.defineProperty(exports, "SliderMark", { enumerable: true, get: function () { return react_1.SliderMark; } });
|
|
85
|
+
Object.defineProperty(exports, "ChakraProvider", { enumerable: true, get: function () { return react_1.ChakraProvider; } });
|
|
86
|
+
Object.defineProperty(exports, "extendTheme", { enumerable: true, get: function () { return react_1.extendTheme; } });
|
|
87
|
+
Object.defineProperty(exports, "useDisclosure", { enumerable: true, get: function () { return react_1.useDisclosure; } });
|
|
88
|
+
Object.defineProperty(exports, "useMediaQuery", { enumerable: true, get: function () { return react_1.useMediaQuery; } });
|
|
89
|
+
Object.defineProperty(exports, "useToken", { enumerable: true, get: function () { return react_1.useToken; } });
|
|
90
|
+
Object.defineProperty(exports, "useBreakpointValue", { enumerable: true, get: function () { return react_1.useBreakpointValue; } });
|
|
91
|
+
// Renamed: the library's own Table and Slider own these names.
|
|
92
|
+
var react_2 = require("@chakra-ui/react");
|
|
93
|
+
Object.defineProperty(exports, "TableRoot", { enumerable: true, get: function () { return react_2.Table; } });
|
|
94
|
+
Object.defineProperty(exports, "RangeSlider", { enumerable: true, get: function () { return react_2.Slider; } });
|
|
95
|
+
var react_3 = require("@chakra-ui/react");
|
|
96
|
+
Object.defineProperty(exports, "Input", { enumerable: true, get: function () { return react_3.Input; } });
|
|
97
|
+
Object.defineProperty(exports, "Textarea", { enumerable: true, get: function () { return react_3.Textarea; } });
|
|
98
|
+
Object.defineProperty(exports, "Progress", { enumerable: true, get: function () { return react_3.Progress; } });
|
|
99
|
+
Object.defineProperty(exports, "Radio", { enumerable: true, get: function () { return react_3.Radio; } });
|
|
100
|
+
Object.defineProperty(exports, "RadioGroup", { enumerable: true, get: function () { return react_3.RadioGroup; } });
|
|
101
|
+
Object.defineProperty(exports, "Skeleton", { enumerable: true, get: function () { return react_3.Skeleton; } });
|
|
102
|
+
Object.defineProperty(exports, "ModalOverlay", { enumerable: true, get: function () { return react_3.ModalOverlay; } });
|
|
103
|
+
Object.defineProperty(exports, "ModalContent", { enumerable: true, get: function () { return react_3.ModalContent; } });
|
|
104
|
+
Object.defineProperty(exports, "ModalCloseButton", { enumerable: true, get: function () { return react_3.ModalCloseButton; } });
|
|
105
|
+
Object.defineProperty(exports, "CardBody", { enumerable: true, get: function () { return react_3.CardBody; } });
|
|
106
|
+
// Prefixed because the library ships its own component under each of these names.
|
|
107
|
+
var react_4 = require("@chakra-ui/react");
|
|
108
|
+
Object.defineProperty(exports, "ChakraCard", { enumerable: true, get: function () { return react_4.Card; } });
|
|
109
|
+
Object.defineProperty(exports, "ChakraSelect", { enumerable: true, get: function () { return react_4.Select; } });
|
|
110
|
+
Object.defineProperty(exports, "ChakraModal", { enumerable: true, get: function () { return react_4.Modal; } });
|
|
111
|
+
Object.defineProperty(exports, "ChakraModalBody", { enumerable: true, get: function () { return react_4.ModalBody; } });
|
|
112
|
+
Object.defineProperty(exports, "ChakraModalHeader", { enumerable: true, get: function () { return react_4.ModalHeader; } });
|
|
113
|
+
Object.defineProperty(exports, "ChakraModalFooter", { enumerable: true, get: function () { return react_4.ModalFooter; } });
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { accentTextOnCanvas, isDarkCanvas, onFilled } from "../../Theme/tokens/builders/accentText.js";
|
|
2
|
+
import { contrastRatio } from "../../Theme/tokens/builders/color.js";
|
|
2
3
|
import { resolveGradient, gradientCss } from "../../Theme/tokens/builders/gradientInk.js";
|
|
3
4
|
/**
|
|
4
5
|
* Outline/ghost/link text sits ON the canvas, so it needs a rung that stays readable there —
|
|
@@ -27,9 +28,34 @@ const onCanvasHoverBg = (theme, colorScheme, step) => {
|
|
|
27
28
|
* ~3.2 contrast.
|
|
28
29
|
*/
|
|
29
30
|
const FILL_STEP_RUNGS = { light: [600, 700], dark: [400, 300] };
|
|
31
|
+
const RUNGS = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900];
|
|
32
|
+
const AA_NORMAL_TEXT = 4.5;
|
|
33
|
+
// Semantic scales (red/green) carry no opacity ramp; brand scales do and keep their own [500].
|
|
34
|
+
const solidRung = (theme, colorScheme) => {
|
|
35
|
+
const scale = theme.colors[colorScheme];
|
|
36
|
+
const white = theme.colors.white;
|
|
37
|
+
if ("opacity" in scale)
|
|
38
|
+
return 500;
|
|
39
|
+
if (contrastRatio(scale[500], white) >= AA_NORMAL_TEXT)
|
|
40
|
+
return 500;
|
|
41
|
+
const passing = RUNGS.filter((r) => scale[r] && contrastRatio(scale[r], white) >= AA_NORMAL_TEXT);
|
|
42
|
+
if (!passing.length)
|
|
43
|
+
return 500;
|
|
44
|
+
return passing.reduce((a, b) => contrastRatio(scale[a], white) <= contrastRatio(scale[b], white) ? a : b);
|
|
45
|
+
};
|
|
46
|
+
const steppedRung = (theme, base, step) => {
|
|
47
|
+
const dir = isDarkCanvas(theme.colors.backgroundColor.main) ? -100 : 100;
|
|
48
|
+
return Math.min(900, Math.max(50, base + dir * step));
|
|
49
|
+
};
|
|
30
50
|
const darkerFill = (theme, colorScheme, step) => {
|
|
31
|
-
|
|
32
|
-
|
|
51
|
+
var _a;
|
|
52
|
+
const scale = theme.colors[colorScheme];
|
|
53
|
+
const base = solidRung(theme, colorScheme);
|
|
54
|
+
if (base === 500) {
|
|
55
|
+
const mode = isDarkCanvas(theme.colors.backgroundColor.main) ? "dark" : "light";
|
|
56
|
+
return scale[FILL_STEP_RUNGS[mode][step]];
|
|
57
|
+
}
|
|
58
|
+
return (_a = scale[steppedRung(theme, base, step === 0 ? 1 : 2)]) !== null && _a !== void 0 ? _a : scale[base];
|
|
33
59
|
};
|
|
34
60
|
/** Label for the solid variant's filled bg — derived from THAT fill, since hover/active swap it. */
|
|
35
61
|
const labelFor = (theme, fill) => onFilled(fill, theme.colors.white, theme.colors.black);
|
|
@@ -46,7 +72,7 @@ export const Button = {
|
|
|
46
72
|
}),
|
|
47
73
|
variants: {
|
|
48
74
|
solid: ({ theme, colorScheme = "primary" }) => {
|
|
49
|
-
const fill = theme.colors[colorScheme][
|
|
75
|
+
const fill = theme.colors[colorScheme][solidRung(theme, colorScheme)];
|
|
50
76
|
const hoverFill = darkerFill(theme, colorScheme, 0);
|
|
51
77
|
const activeFill = darkerFill(theme, colorScheme, 1);
|
|
52
78
|
const hoverLabel = labelFor(theme, hoverFill);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { Box, Flex, Stack, VStack, HStack, Grid, GridItem, SimpleGrid, Wrap, WrapItem, Center, Spacer, Container, Divider, Text, Heading, Link, Image, Icon, Avatar, AvatarGroup, Badge, Spinner, Alert, AlertIcon, AlertTitle, AlertDescription, Portal, Collapse, Show, Hide, List, ListItem, ListIcon, OrderedList, UnorderedList, Tabs, TabList, Tab, TabPanels, TabPanel, Popover, PopoverTrigger, PopoverContent, PopoverBody, PopoverHeader, PopoverFooter, PopoverArrow, PopoverCloseButton, FormControl, FormLabel, FormErrorMessage, FormHelperText, IconButton, TableContainer, Thead, Tbody, Tfoot, Tr, Th, Td, Menu, MenuButton, MenuList, MenuItem, MenuGroup, MenuDivider, MenuOptionGroup, MenuItemOption, Accordion, AccordionItem, AccordionButton, AccordionPanel, AccordionIcon, SliderTrack, SliderFilledTrack, SliderThumb, SliderMark, ChakraProvider, extendTheme, useDisclosure, useMediaQuery, useToken, useBreakpointValue, } from "@chakra-ui/react";
|
|
2
|
+
// Renamed: the library's own Table and Slider own these names.
|
|
3
|
+
export { Table as TableRoot, Slider as RangeSlider } from "@chakra-ui/react";
|
|
4
|
+
export { Input, Textarea, Progress, Radio, RadioGroup, Skeleton, ModalOverlay, ModalContent, ModalCloseButton, CardBody, } from "@chakra-ui/react";
|
|
5
|
+
// Prefixed because the library ships its own component under each of these names.
|
|
6
|
+
export { Card as ChakraCard, Select as ChakraSelect, Modal as ChakraModal, ModalBody as ChakraModalBody, ModalHeader as ChakraModalHeader, ModalFooter as ChakraModalFooter, } from "@chakra-ui/react";
|
package/dist/esm/index.js
CHANGED
|
@@ -139,3 +139,4 @@ export { hexToRgb, hexToRgba, compositeOver, rgbToHex, rgbToHsl, hslToRgb, hexTo
|
|
|
139
139
|
export { scrollbarStyles, globalScrollbarStyles, SCROLLBAR_WIDTH, } from "./Theme/tokens/builders/scrollbar.js";
|
|
140
140
|
export { placeholderInk, placeholderInkOn, fieldSurfaces } from "./Theme/tokens/builders/placeholderInk.js";
|
|
141
141
|
export { resolveGradient, gradientCss, inkSafeGradient as inkSafeGradientToken, } from "./Theme/tokens/builders/gradientInk.js";
|
|
142
|
+
export * from "./Components/Primitives/Primitives.js";
|
package/dist/index.d.ts
CHANGED
|
@@ -164,3 +164,4 @@ export { placeholderInk, placeholderInkOn, fieldSurfaces } from "./Theme/tokens/
|
|
|
164
164
|
export type { FieldSurfaces } from "./Theme/tokens/builders/placeholderInk";
|
|
165
165
|
export { resolveGradient, gradientCss, inkSafeGradient as inkSafeGradientToken, } from "./Theme/tokens/builders/gradientInk";
|
|
166
166
|
export type { Gradient, ResolvedGradient, } from "./Theme/tokens/builders/gradientInk";
|
|
167
|
+
export * from "./Components/Primitives/Primitives";
|
package/dist/index.js
CHANGED
|
@@ -33,6 +33,9 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
return result;
|
|
34
34
|
};
|
|
35
35
|
})();
|
|
36
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
37
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
38
|
+
};
|
|
36
39
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
40
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
41
|
};
|
|
@@ -338,3 +341,4 @@ var gradientInk_1 = require("./Theme/tokens/builders/gradientInk");
|
|
|
338
341
|
Object.defineProperty(exports, "resolveGradient", { enumerable: true, get: function () { return gradientInk_1.resolveGradient; } });
|
|
339
342
|
Object.defineProperty(exports, "gradientCss", { enumerable: true, get: function () { return gradientInk_1.gradientCss; } });
|
|
340
343
|
Object.defineProperty(exports, "inkSafeGradientToken", { enumerable: true, get: function () { return gradientInk_1.inkSafeGradient; } });
|
|
344
|
+
__exportStar(require("./Components/Primitives/Primitives"), exports);
|
package/package.json
CHANGED