pixelize-design-library 2.4.2-beta.63 → 2.4.2-beta.65
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 +130 -8
- package/COMPONENT-GOTCHAS.md +63 -7
- package/DESIGN-GUIDE.md +8 -3
- package/dist/Components/Button/Button.styles.js +7 -2
- package/dist/Components/CopyButton/CopyButton.d.ts +3 -1
- package/dist/Components/CopyButton/CopyButton.js +2 -2
- package/dist/Components/Drawer/Drawer.d.ts +1 -1
- package/dist/Components/Drawer/Drawer.js +6 -2
- package/dist/Components/Drawer/DrawerProps.d.ts +4 -0
- package/dist/Components/Dropdown/DropDown.js +2 -9
- package/dist/Components/FilePreview/FilePreview.js +2 -1
- package/dist/Components/FileUploader/FileUploader.js +4 -0
- package/dist/Components/FileUploader/FileUploaderProps.d.ts +1 -1
- package/dist/Components/FormDrawer/FormDrawer.d.ts +1 -1
- package/dist/Components/FormDrawer/FormDrawer.js +3 -3
- package/dist/Components/FormDrawer/FormDrawerProps.d.ts +2 -0
- package/dist/Components/Input/TextInput.styles.js +10 -6
- package/dist/Components/KanbanBoard/KanbanBoard.js +6 -5
- package/dist/Components/Modal/dialogNaming.d.ts +8 -0
- package/dist/Components/Modal/dialogNaming.js +21 -0
- package/dist/Components/NavLauncher/LauncherTabs.js +2 -2
- package/dist/Components/NavLauncher/NavLauncher.d.ts +1 -1
- package/dist/Components/NavLauncher/NavLauncher.js +257 -47
- package/dist/Components/NavLauncher/NavLauncherProps.d.ts +79 -3
- package/dist/Components/NavLauncher/ScopeBar.d.ts +14 -0
- package/dist/Components/NavLauncher/ScopeBar.js +137 -0
- package/dist/Components/NavLauncher/engine/distance.d.ts +4 -0
- package/dist/Components/NavLauncher/engine/distance.js +41 -0
- package/dist/Components/NavLauncher/engine/engine.d.ts +84 -0
- package/dist/Components/NavLauncher/engine/engine.js +471 -0
- package/dist/Components/NavLauncher/engine/fold.d.ts +15 -0
- package/dist/Components/NavLauncher/engine/fold.js +83 -0
- package/dist/Components/NavLauncher/engine/index.d.ts +21 -0
- package/dist/Components/NavLauncher/engine/index.js +17 -0
- package/dist/Components/NavLauncher/launcherParts.d.ts +2 -0
- package/dist/Components/NavLauncher/launcherParts.js +11 -7
- package/dist/Components/NavLauncher/match.d.ts +13 -2
- package/dist/Components/NavLauncher/match.js +26 -12
- package/dist/Components/NavLauncher/searchLayout.d.ts +60 -0
- package/dist/Components/NavLauncher/searchLayout.js +108 -0
- package/dist/Components/NavLauncher/spotlight.d.ts +39 -0
- package/dist/Components/NavLauncher/spotlight.js +202 -0
- package/dist/Components/NavLauncher/spotlightParts.d.ts +49 -0
- package/dist/Components/NavLauncher/spotlightParts.js +108 -0
- package/dist/Components/NavigationBar/NavigationBar.js +2 -1
- package/dist/Components/OrgSwitcher/OrgSwitcher.js +2 -4
- package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +6 -5
- package/dist/Components/ScrollToTop/ScrollToTop.js +4 -3
- package/dist/Components/SearchSelect/SearchSelect.js +4 -16
- package/dist/Components/Select/SelectPopup.js +1 -3
- package/dist/Components/Select/optionRowInk.d.ts +12 -0
- package/dist/Components/Select/optionRowInk.js +10 -1
- package/dist/Components/SelectSearch/SelectSearch.js +1 -10
- package/dist/Components/Table/Table.js +3 -2
- package/dist/Components/Table/TableProps.d.ts +1 -1
- package/dist/Components/Table/components/TableBody.js +9 -1
- package/dist/Components/Table/components/TableHeader.js +9 -2
- package/dist/Components/Table/components/TableLoading.d.ts +4 -1
- package/dist/Components/Table/components/TableLoading.js +13 -6
- package/dist/Components/Table/filters/CompactSelect.js +1 -10
- package/dist/Components/Table/variants/TableVariantContext.d.ts +1 -1
- package/dist/Components/Table/variants/TableVariantContext.js +3 -3
- package/dist/Components/WizardDialog/WizardDialog.d.ts +1 -1
- package/dist/Components/WizardDialog/WizardDialog.js +15 -3
- package/dist/Components/WizardDialog/WizardDialogProps.d.ts +5 -3
- package/dist/Components/WorkspaceWindow/WorkspaceTrayPreview.js +4 -0
- package/dist/Components/WorkspaceWindow/WorkspaceWindow.d.ts +2 -2
- package/dist/Components/WorkspaceWindow/WorkspaceWindow.js +26 -18
- package/dist/Components/WorkspaceWindow/WorkspaceWindowProps.d.ts +38 -8
- package/dist/Theme/chakra/Menu.styles.d.ts +8 -0
- package/dist/Theme/chakra/Menu.styles.js +7 -0
- package/dist/Theme/chakra/componentStyles.d.ts +8 -0
- package/dist/Theme/chakra/componentStyles.js +2 -2
- package/dist/Theme/chakra/ringShadow.d.ts +3 -0
- package/dist/Theme/chakra/ringShadow.js +7 -0
- package/dist/Theme/tokens/builders/accentText.d.ts +2 -0
- package/dist/Theme/tokens/builders/accentText.js +7 -1
- package/dist/Theme/tokens/builders/buildDarkPalette.d.ts +1 -1
- package/dist/Theme/tokens/builders/buildDarkPalette.js +5 -5
- package/dist/Theme/tokens/builders/filledSurface.d.ts +5 -1
- package/dist/Theme/tokens/builders/filledSurface.js +17 -4
- package/dist/Theme/tokens/builders/planeStep.d.ts +1 -0
- package/dist/Theme/tokens/builders/planeStep.js +5 -4
- package/dist/Utils/table.js +2 -2
- package/dist/esm/Components/Button/Button.styles.js +8 -3
- package/dist/esm/Components/CopyButton/CopyButton.js +2 -2
- package/dist/esm/Components/Drawer/Drawer.js +6 -2
- package/dist/esm/Components/Dropdown/DropDown.js +2 -9
- package/dist/esm/Components/FilePreview/FilePreview.js +3 -2
- package/dist/esm/Components/FileUploader/FileUploader.js +4 -0
- package/dist/esm/Components/FormDrawer/FormDrawer.js +3 -3
- package/dist/esm/Components/Input/TextInput.styles.js +10 -6
- package/dist/esm/Components/KanbanBoard/KanbanBoard.js +6 -5
- package/dist/esm/Components/Modal/dialogNaming.js +18 -0
- package/dist/esm/Components/NavLauncher/LauncherTabs.js +2 -2
- package/dist/esm/Components/NavLauncher/NavLauncher.js +259 -49
- package/dist/esm/Components/NavLauncher/ScopeBar.js +134 -0
- package/dist/esm/Components/NavLauncher/engine/distance.js +37 -0
- package/dist/esm/Components/NavLauncher/engine/engine.js +458 -0
- package/dist/esm/Components/NavLauncher/engine/fold.js +74 -0
- package/dist/esm/Components/NavLauncher/engine/index.js +14 -0
- package/dist/esm/Components/NavLauncher/launcherParts.js +10 -6
- package/dist/esm/Components/NavLauncher/match.js +25 -12
- package/dist/esm/Components/NavLauncher/searchLayout.js +100 -0
- package/dist/esm/Components/NavLauncher/spotlight.js +194 -0
- package/dist/esm/Components/NavLauncher/spotlightParts.js +95 -0
- package/dist/esm/Components/NavigationBar/NavigationBar.js +2 -1
- package/dist/esm/Components/OrgSwitcher/OrgSwitcher.js +2 -4
- package/dist/esm/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +7 -6
- package/dist/esm/Components/ScrollToTop/ScrollToTop.js +5 -4
- package/dist/esm/Components/SearchSelect/SearchSelect.js +6 -18
- package/dist/esm/Components/Select/SelectPopup.js +2 -4
- package/dist/esm/Components/Select/optionRowInk.js +7 -0
- package/dist/esm/Components/SelectSearch/SelectSearch.js +2 -11
- package/dist/esm/Components/Table/Table.js +4 -3
- package/dist/esm/Components/Table/components/TableBody.js +10 -2
- package/dist/esm/Components/Table/components/TableHeader.js +10 -3
- package/dist/esm/Components/Table/components/TableLoading.js +10 -6
- package/dist/esm/Components/Table/filters/CompactSelect.js +2 -11
- package/dist/esm/Components/Table/variants/TableVariantContext.js +3 -3
- package/dist/esm/Components/WizardDialog/WizardDialog.js +15 -3
- package/dist/esm/Components/WorkspaceWindow/WorkspaceTrayPreview.js +4 -0
- package/dist/esm/Components/WorkspaceWindow/WorkspaceWindow.js +28 -20
- package/dist/esm/Theme/chakra/Menu.styles.js +7 -0
- package/dist/esm/Theme/chakra/componentStyles.js +2 -2
- package/dist/esm/Theme/chakra/ringShadow.js +3 -0
- package/dist/esm/Theme/tokens/builders/accentText.js +5 -0
- package/dist/esm/Theme/tokens/builders/buildDarkPalette.js +5 -5
- package/dist/esm/Theme/tokens/builders/filledSurface.js +18 -5
- package/dist/esm/Theme/tokens/builders/planeStep.js +3 -3
- package/dist/esm/Utils/table.js +2 -2
- package/dist/esm/index.js +6 -5
- package/dist/index.d.ts +10 -8
- package/dist/index.js +14 -6
- package/package.json +1 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Box, Flex, HStack, IconButton, Modal, ModalContent, ModalOverlay, Text, useModalContext, } from "@chakra-ui/react";
|
|
3
|
-
import { useEffect } from "react";
|
|
2
|
+
import { Box, Flex, HStack, IconButton, Modal, ModalContent, ModalOverlay, Portal, Text, useModalContext, } from "@chakra-ui/react";
|
|
3
|
+
import { Fragment, useEffect } from "react";
|
|
4
4
|
import { ExternalLink, Minus, X } from "lucide-react";
|
|
5
5
|
import { useCustomTheme } from "../../Theme/useCustomTheme.js";
|
|
6
6
|
import zIndices from "../../Theme/tokens/primitives/zIndices.js";
|
|
7
7
|
import { accentTextOnCanvas } from "../../Theme/tokens/builders/accentText.js";
|
|
8
|
-
// NOTE: no maximize/restore toggle (removed by product decision)
|
|
8
|
+
// NOTE: no maximize/restore toggle (removed by product decision); onMedium/onMaximize stay as deprecated no-ops.
|
|
9
9
|
const WINDOW_SIZE = { maxW: "88rem", h: "92vh" };
|
|
10
10
|
const WindowTitle = ({ testId, color, children }) => {
|
|
11
11
|
const { headerId, setHeaderMounted } = useModalContext();
|
|
@@ -16,7 +16,8 @@ const WindowTitle = ({ testId, color, children }) => {
|
|
|
16
16
|
return (_jsx(Text, { id: headerId, fontSize: "sm", fontWeight: 600, color: color, noOfLines: 1, "data-testid": `${testId}-title`, children: children }));
|
|
17
17
|
};
|
|
18
18
|
// Presentational floating "workspace window" (Jira-style dialog), headless — the parent owns window state.
|
|
19
|
-
export default function WorkspaceWindow({ title, state, children, onMinimize, onClose, onOpenFullPage, onOverlayClick, headerActions, testId = "workspace-window", }) {
|
|
19
|
+
export default function WorkspaceWindow({ title, state, children, onMinimize, onClose, onOpenFullPage, onOverlayClick, headerActions, labels, finalFocusRef, testId = "workspace-window", }) {
|
|
20
|
+
var _a, _b, _c;
|
|
20
21
|
// Must run before the early return: a minimized render would otherwise skip the hook
|
|
21
22
|
// and change hook order when the window reopens.
|
|
22
23
|
const theme = useCustomTheme();
|
|
@@ -26,28 +27,35 @@ export default function WorkspaceWindow({ title, state, children, onMinimize, on
|
|
|
26
27
|
return (_jsxs(Modal, { isOpen: true, onClose: () => onClose === null || onClose === void 0 ? void 0 : onClose(), size: "full", isCentered: true, scrollBehavior: "inside",
|
|
27
28
|
// Don't discard unsaved work on an accidental overlay click / Esc — the
|
|
28
29
|
// parent decides via the explicit Close control.
|
|
29
|
-
closeOnOverlayClick: false, closeOnEsc: false, children: [_jsx(ModalOverlay, { backdropFilter: "blur(3px)" }), _jsx(ModalContent, { bg: "transparent", boxShadow: "none", m: 0, display: "flex", alignItems: "center", justifyContent: "center",
|
|
30
|
+
closeOnOverlayClick: false, closeOnEsc: false, finalFocusRef: finalFocusRef, children: [_jsx(ModalOverlay, { backdropFilter: "blur(3px)" }), _jsx(ModalContent, { bg: "transparent", boxShadow: "none", m: 0, display: "flex", alignItems: "center", justifyContent: "center",
|
|
30
31
|
// NOTE: size="full" blocks Chakra's own closeOnOverlayClick — detect the outside click ourselves instead.
|
|
31
32
|
onMouseDown: (e) => {
|
|
32
33
|
if (e.target === e.currentTarget)
|
|
33
34
|
onOverlayClick === null || onOverlayClick === void 0 ? void 0 : onOverlayClick();
|
|
34
|
-
}, "data-testid": `${testId}-backdrop`, children: _jsxs(Box, { bg: theme.colors.surfaceRaised, borderRadius: "xl", boxShadow: "2xl", overflow: "hidden", w: "100%", maxW: size.maxW, h: size.h, display: "flex", flexDirection: "column", "data-testid": testId, "data-window-state": state, children: [_jsxs(Flex, { align: "center", justify: "space-between", px: 3, py: 2, borderBottomWidth: "1px", borderColor: theme.colors.boxborder[200], bg: theme.colors.background[100], flexShrink: 0, children: [_jsx(WindowTitle, { testId: testId, color: theme.colors.text[700], children: title }), _jsxs(HStack, { spacing: 1, children: [headerActions, onOpenFullPage ? (_jsx(IconButton, { "aria-label": "Open full page", size: "xs", variant: "ghost", icon: _jsx(ExternalLink, { size: 14 }), onClick: onOpenFullPage, "data-testid": `${testId}-fullpage` })) : null, onMinimize ? (_jsx(IconButton, { "aria-label": "Minimize", size: "xs", variant: "ghost", icon: _jsx(Minus, { size: 15 }), onClick: onMinimize, "data-testid": `${testId}-minimize` })) : null, onClose ? (_jsx(IconButton, { "aria-label": "Close", size: "xs", variant: "ghost", colorScheme: "red", icon: _jsx(X, { size: 15 }), onClick: onClose, "data-testid": `${testId}-close` })) : null] })] }), _jsx(Box, { flex: "1", overflow: "auto", px: { base: 3, md: 5 }, py: 4, children: children })] }) })] }));
|
|
35
|
+
}, "data-testid": `${testId}-backdrop`, children: _jsxs(Box, { bg: theme.colors.surfaceRaised, borderRadius: "xl", boxShadow: "2xl", overflow: "hidden", w: "100%", maxW: size.maxW, h: size.h, display: "flex", flexDirection: "column", "data-testid": testId, "data-window-state": state, children: [_jsxs(Flex, { align: "center", justify: "space-between", px: 3, py: 2, borderBottomWidth: "1px", borderColor: theme.colors.boxborder[200], bg: theme.colors.background[100], flexShrink: 0, children: [_jsx(WindowTitle, { testId: testId, color: theme.colors.text[700], children: title }), _jsxs(HStack, { spacing: 1, children: [headerActions, onOpenFullPage ? (_jsx(IconButton, { "aria-label": (_a = labels === null || labels === void 0 ? void 0 : labels.openFullPage) !== null && _a !== void 0 ? _a : "Open full page", size: "xs", variant: "ghost", icon: _jsx(ExternalLink, { size: 14 }), onClick: onOpenFullPage, "data-testid": `${testId}-fullpage` })) : null, onMinimize ? (_jsx(IconButton, { "aria-label": (_b = labels === null || labels === void 0 ? void 0 : labels.minimize) !== null && _b !== void 0 ? _b : "Minimize", size: "xs", variant: "ghost", icon: _jsx(Minus, { size: 15 }), onClick: onMinimize, "data-testid": `${testId}-minimize` })) : null, onClose ? (_jsx(IconButton, { "aria-label": (_c = labels === null || labels === void 0 ? void 0 : labels.close) !== null && _c !== void 0 ? _c : "Close", size: "xs", variant: "ghost", colorScheme: "red", icon: _jsx(X, { size: 15 }), onClick: onClose, "data-testid": `${testId}-close` })) : null] })] }), _jsx(Box, { flex: "1", overflow: "auto", px: { base: 3, md: 5 }, py: 4, children: children })] }) })] }));
|
|
35
36
|
}
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
const cssLength = (value) => (typeof value === "number" ? `${value}px` : value);
|
|
38
|
+
// Portalled above modal overlays; aria-live keeps Chakra's modal aria-hidden off it, data-no-focus-lock keeps the focus trap off it.
|
|
39
|
+
export function WorkspaceTray({ items, onRestore, onClose, testId = "workspace-tray", placement = "bottom-end", offset, closeLabel, dirtyLabel = "Unsaved changes", label = "Minimized windows", renderItem, }) {
|
|
40
|
+
var _a, _b;
|
|
38
41
|
const theme = useCustomTheme();
|
|
39
42
|
if (!items.length)
|
|
40
43
|
return null;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
44
|
+
const atEnd = placement === "bottom-end";
|
|
45
|
+
const inset = {
|
|
46
|
+
bottom: cssLength((_a = offset === null || offset === void 0 ? void 0 : offset.y) !== null && _a !== void 0 ? _a : "1rem"),
|
|
47
|
+
[atEnd ? "right" : "left"]: cssLength((_b = offset === null || offset === void 0 ? void 0 : offset.x) !== null && _b !== void 0 ? _b : "1rem"),
|
|
48
|
+
};
|
|
49
|
+
const ink = accentTextOnCanvas(theme.colors.primary, theme.colors.primary[100]);
|
|
50
|
+
return (_jsx(Portal, { children: _jsx(Flex, { role: "region", "aria-label": label, "aria-live": "polite", "data-no-focus-lock": "true", position: "fixed", ...inset, zIndex: zIndices.modal + 1, direction: atEnd ? "row-reverse" : "row", wrap: "wrap-reverse", justify: "flex-start", gap: 2, maxW: { base: "calc(100vw - 2rem)", md: "36rem" }, "data-testid": testId, children: items.map((item) => {
|
|
51
|
+
const api = {
|
|
52
|
+
restore: () => onRestore === null || onRestore === void 0 ? void 0 : onRestore(item.id),
|
|
53
|
+
close: () => onClose === null || onClose === void 0 ? void 0 : onClose(item.id),
|
|
54
|
+
};
|
|
55
|
+
const pill = (_jsxs(HStack, { spacing: 1, pl: 3, pr: 1, py: 1, borderRadius: "full", bg: theme.colors.primary[100], color: ink, boxShadow: "md", borderWidth: "1px", borderColor: theme.colors.primary[200], "data-testid": `${testId}-pill`, children: [item.isDirty ? (_jsx(Box, { role: "img", "aria-label": dirtyLabel, boxSize: "0.5rem", borderRadius: "full", bg: "currentColor", flexShrink: 0, "data-testid": `${testId}-dirty` })) : null, _jsxs(Box, { as: "button", type: "button", fontSize: "sm", onClick: api.restore, "data-testid": `${testId}-restore`, maxW: "16rem", overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap", children: [item.title, item.subtitle ? (_jsx(Box, { as: "span", fontWeight: 400, ml: 1.5, children: item.subtitle })) : null] }), onClose ? (_jsx(IconButton, { "aria-label": closeLabel ? closeLabel(item) : "Close", size: "xs", variant: "ghost", borderRadius: "full", minW: "auto", h: "auto", p: 1, color: "inherit", icon: _jsx(X, { size: 13 }), onClick: api.close, "data-testid": `${testId}-close` })) : null] }));
|
|
56
|
+
if (renderItem) {
|
|
57
|
+
return _jsx(Box, { children: renderItem(item, api, pill) }, item.id);
|
|
58
|
+
}
|
|
59
|
+
return _jsx(Fragment, { children: pill }, item.id);
|
|
60
|
+
}) }) }));
|
|
53
61
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createMultiStyleConfigHelpers, cssVar } from "@chakra-ui/react";
|
|
2
2
|
import { menuAnatomy } from "@chakra-ui/anatomy";
|
|
3
3
|
import { listRowBackgrounds } from "../tokens/builders/rowStates.js";
|
|
4
|
+
import { optionRowInk, optionRowWeight } from "../../Components/Select/optionRowInk.js";
|
|
4
5
|
import { OPTION_ROW_SIZES, OPTION_ROW_RADIUS } from "../tokens/primitives/optionRowSizes.js";
|
|
5
6
|
import { paletteOf } from "./paletteFromTheme.js";
|
|
6
7
|
import { POPUP_SURFACE } from "./overlay.styles.js";
|
|
@@ -25,6 +26,7 @@ const baseStyle = definePartsStyle(({ theme }) => {
|
|
|
25
26
|
...POPUP_SURFACE,
|
|
26
27
|
},
|
|
27
28
|
item: {
|
|
29
|
+
color: optionRowInk(colors, false),
|
|
28
30
|
minH: itemRowSpec.minH,
|
|
29
31
|
px: itemRowSpec.px,
|
|
30
32
|
py: itemRowSpec.py,
|
|
@@ -37,6 +39,11 @@ const baseStyle = definePartsStyle(({ theme }) => {
|
|
|
37
39
|
_hover: { [$itemBg.variable]: hoverBg, bg: $itemBg.reference },
|
|
38
40
|
_active: { [$itemBg.variable]: activeBg, bg: $itemBg.reference },
|
|
39
41
|
_expanded: { [$itemBg.variable]: hoverBg, bg: $itemBg.reference },
|
|
42
|
+
"&[aria-checked=true]": {
|
|
43
|
+
color: optionRowInk(colors, true),
|
|
44
|
+
fontWeight: optionRowWeight(true),
|
|
45
|
+
"& .chakra-menu__icon-wrapper": { color: colors.accentText },
|
|
46
|
+
},
|
|
40
47
|
},
|
|
41
48
|
};
|
|
42
49
|
});
|
|
@@ -23,7 +23,7 @@ import { Card } from "./Card.styles.js";
|
|
|
23
23
|
// NOTE: guards untethemed scales (blackAlpha/whiteAlpha) whose rgba() rungs would throw in hexToRgb.
|
|
24
24
|
const isHexColor = (color) => typeof color === "string" && /^#([0-9a-f]{3}|[0-9a-f]{6})$/i.test(color);
|
|
25
25
|
const solidFillStyle = (palette, swatch) => {
|
|
26
|
-
const rung = solidFillRung(swatch, palette.white);
|
|
26
|
+
const rung = solidFillRung(swatch, palette.white, palette.backgroundColor.main);
|
|
27
27
|
const bg = swatch[rung];
|
|
28
28
|
return {
|
|
29
29
|
bg,
|
|
@@ -158,7 +158,7 @@ const Radio = {
|
|
|
158
158
|
baseStyle: ({ theme, colorScheme }) => {
|
|
159
159
|
const palette = paletteOf(theme);
|
|
160
160
|
const swatch = scaleFor(palette, colorScheme);
|
|
161
|
-
const fill = swatch[solidFillRung(swatch, palette.white)];
|
|
161
|
+
const fill = swatch[solidFillRung(swatch, palette.white, palette.backgroundColor.main)];
|
|
162
162
|
const dot = labelOnFill(fill, palette.white, palette.black);
|
|
163
163
|
const hoverFill = resolveHoverTint(fill, fill);
|
|
164
164
|
return {
|
|
@@ -19,6 +19,11 @@ const DARK_CANVAS_LUMINANCE = 0.2;
|
|
|
19
19
|
export const isDarkCanvas = (canvas) => relativeLuminance(canvas) < DARK_CANVAS_LUMINANCE;
|
|
20
20
|
// NOTE: held to AA in both modes now — some brands' light [500] no longer passes through untouched.
|
|
21
21
|
export const accentTextOnCanvas = (scale, canvas) => pickAccentText(scale, canvas);
|
|
22
|
+
/** Accent ink for chrome that can land on any plane (canvas, card, overlay): the first rung clearing AA on all. */
|
|
23
|
+
export const accentTextOnPlanes = (scale, planes) => {
|
|
24
|
+
const found = SEARCH_ORDER.find((rung) => planes.every((plane) => contrastRatio(scale[rung], plane) >= AA_NORMAL_TEXT));
|
|
25
|
+
return scale[found !== null && found !== void 0 ? found : SEARCH_ORDER[SEARCH_ORDER.length - 1]];
|
|
26
|
+
};
|
|
22
27
|
// NOTE: white/black must be the mode-stable absolutes, not an adaptive token — always clears AA.
|
|
23
28
|
export const onFilled = (fill, white, black) => contrastRatio(white, fill) >= AA_NORMAL_TEXT ? white : black;
|
|
24
29
|
// NOTE: resolves against whichever gradient stop is lighter — the harder case for ink to clear.
|
|
@@ -143,7 +143,8 @@ const NAMED_SURFACE_L = {
|
|
|
143
143
|
accent: 17,
|
|
144
144
|
muted: 18,
|
|
145
145
|
};
|
|
146
|
-
|
|
146
|
+
// NOTE: surfaces are hue-neutral on every brand; brand hue stays on accents, ink and rules.
|
|
147
|
+
const SURFACE_SAT = 0;
|
|
147
148
|
const TEXT_SAT = 12;
|
|
148
149
|
const PLACEHOLDER_SAT = 10;
|
|
149
150
|
const BORDER_SAT = 12;
|
|
@@ -174,16 +175,15 @@ const cardPlane = (canvas, white, planes) => {
|
|
|
174
175
|
export function buildDarkPalette(light, { planes = "lifted" } = {}) {
|
|
175
176
|
const hueSource = light.primary[500];
|
|
176
177
|
const { h } = hexToHsl(hueSource);
|
|
177
|
-
const surfaceSat = SURFACE_SAT[planes];
|
|
178
178
|
const namedSurfaces = Object.fromEntries(Object.entries(NAMED_SURFACE_L).map(([key, l]) => [
|
|
179
179
|
key,
|
|
180
|
-
hslToHex({ h, s:
|
|
180
|
+
hslToHex({ h, s: SURFACE_SAT, l }),
|
|
181
181
|
]));
|
|
182
182
|
const white = light.white;
|
|
183
183
|
const { card, rise, tableHover } = cardPlane(namedSurfaces.main, white, planes);
|
|
184
184
|
const primary = liftBrand(light.primary, white);
|
|
185
185
|
const background = {
|
|
186
|
-
...fromTargets(hueSource, raise(SURFACE_TARGETS, BACKGROUND_FILLS, rise),
|
|
186
|
+
...fromTargets(hueSource, raise(SURFACE_TARGETS, BACKGROUND_FILLS, rise), SURFACE_SAT),
|
|
187
187
|
50: card,
|
|
188
188
|
};
|
|
189
189
|
const semantic = {
|
|
@@ -223,7 +223,7 @@ export function buildDarkPalette(light, { planes = "lifted" } = {}) {
|
|
|
223
223
|
border: dividerRamp,
|
|
224
224
|
boxborder: dividerRamp,
|
|
225
225
|
table: {
|
|
226
|
-
hover: fromTargets(hueSource, tableHover,
|
|
226
|
+
hover: fromTargets(hueSource, tableHover, SURFACE_SAT),
|
|
227
227
|
},
|
|
228
228
|
disabled: fromTargets(hueSource, DISABLED_TARGETS, DISABLED_SAT),
|
|
229
229
|
accentText: pickAccentText(primary, namedSurfaces.main),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { contrastRatio } from "./color.js";
|
|
2
2
|
import { AA_NORMAL_TEXT, isDarkCanvas, onFilled } from "./accentText.js";
|
|
3
|
-
import { AA_NON_TEXT } from "./outlineRung.js";
|
|
3
|
+
import { AA_NON_TEXT, CHROME_BORDER } from "./outlineRung.js";
|
|
4
4
|
import { memoize, scaleKey } from "./memo.js";
|
|
5
5
|
const RUNGS = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900];
|
|
6
6
|
// NOTE: "darker than [500]" is [600]/[700] in light but [400]/[300] in dark, since dark ramps run dark -> light.
|
|
@@ -40,15 +40,28 @@ const steppedRung = (base, canvas, step) => {
|
|
|
40
40
|
const dir = isDarkCanvas(canvas) ? -100 : 100;
|
|
41
41
|
return Math.min(900, Math.max(50, base + dir * step));
|
|
42
42
|
};
|
|
43
|
-
|
|
43
|
+
const steppedTowardBase = (from, base) => RUNGS[RUNGS.indexOf(from) + (from > base ? -1 : 1)];
|
|
44
|
+
/**
|
|
45
|
+
* Hover (step 0) or active (step 1) fill rung, one step darker than `solidFillRung`. A step may not
|
|
46
|
+
* flip the label's side of AA (zinc dark: near-white fill, black ink) or fall below `CHROME_BORDER`
|
|
47
|
+
* against the canvas (a pressed warning solid used to reach 1.00:1 on the card).
|
|
48
|
+
*/
|
|
44
49
|
export const darkerFillRung = (scale, canvas, white, step) => {
|
|
45
50
|
const base = solidFillRung(scale, white, canvas);
|
|
51
|
+
const wantsWhite = contrastRatio(white, scale[base]) >= AA_NORMAL_TEXT;
|
|
52
|
+
const holds = (rung) => contrastRatio(scale[rung], canvas) >= CHROME_BORDER &&
|
|
53
|
+
(contrastRatio(white, scale[rung]) >= AA_NORMAL_TEXT) === wantsWhite;
|
|
54
|
+
let rung;
|
|
46
55
|
if (base === 500) {
|
|
47
56
|
const mode = isDarkCanvas(canvas) ? "dark" : "light";
|
|
48
|
-
|
|
57
|
+
rung = FILL_STEP_RUNGS[mode][step];
|
|
49
58
|
}
|
|
50
|
-
|
|
51
|
-
|
|
59
|
+
else {
|
|
60
|
+
rung = steppedRung(base, canvas, step === 0 ? 1 : 2);
|
|
61
|
+
}
|
|
62
|
+
while (rung !== base && !holds(rung))
|
|
63
|
+
rung = steppedTowardBase(rung, base);
|
|
64
|
+
return rung;
|
|
52
65
|
};
|
|
53
66
|
/** Label ink for a specific fill swatch — always `onFilled`, exported for style configs. */
|
|
54
67
|
export const labelOnFill = (fill, white, black) => onFilled(fill, white, black);
|
|
@@ -7,8 +7,8 @@ export const bandOn = (fill, plane) => holds(fill, plane, MIN_PERCEPTIBLE_STEP)
|
|
|
7
7
|
export const recessOn = (fill, plane) => holds(fill, plane, MIN_PERCEPTIBLE_STEP)
|
|
8
8
|
? fill
|
|
9
9
|
: lift(DEFAULT_BLACK, plane, MIN_PERCEPTIBLE_STEP);
|
|
10
|
-
export const
|
|
10
|
+
export const ruleOn = (colors, plane) => {
|
|
11
11
|
const rule = colors.boxborder[200];
|
|
12
|
-
|
|
13
|
-
return holds(rule, card, CHROME_RULE) ? rule : liftToContrast(rule, card, CHROME_RULE);
|
|
12
|
+
return holds(rule, plane, CHROME_RULE) ? rule : liftToContrast(rule, plane, CHROME_RULE);
|
|
14
13
|
};
|
|
14
|
+
export const cardRule = (colors) => ruleOn(colors, colors.background[50]);
|
package/dist/esm/Utils/table.js
CHANGED
|
@@ -66,7 +66,7 @@ export function buildSemanticStatusPalette(toneByValue, theme) {
|
|
|
66
66
|
return Object.fromEntries(Object.entries(toneByValue).map(([value, key]) => {
|
|
67
67
|
const scale = scales[key];
|
|
68
68
|
const tone = resolveSoftTone(c, scale);
|
|
69
|
-
const solidRung = solidFillRung(scale, c.white);
|
|
69
|
+
const solidRung = solidFillRung(scale, c.white, c.backgroundColor.main);
|
|
70
70
|
const solid = scale[solidRung];
|
|
71
71
|
return [
|
|
72
72
|
value,
|
|
@@ -108,7 +108,7 @@ export function buildTablePalette(theme) {
|
|
|
108
108
|
];
|
|
109
109
|
return scales.map((scale) => {
|
|
110
110
|
const tone = resolveSoftTone(c, scale);
|
|
111
|
-
const solidRung = solidFillRung(scale, c.white);
|
|
111
|
+
const solidRung = solidFillRung(scale, c.white, c.backgroundColor.main);
|
|
112
112
|
const solid = scale[solidRung];
|
|
113
113
|
return {
|
|
114
114
|
solid,
|
package/dist/esm/index.js
CHANGED
|
@@ -149,12 +149,12 @@ export { useChartTheme } from "./Theme/useChartTheme.js";
|
|
|
149
149
|
// custom components against `ColorScale`/`PaletteProps` tokens can reuse the same logic instead
|
|
150
150
|
// of re-deriving contrast math themselves.
|
|
151
151
|
export { statusGradient, inkSafeGradient, chipFill, chipBorder, ACCENT_GRADIENT, STATUS_INK, } from "./Components/PlanPill/planPillGradient.js";
|
|
152
|
-
export { isDarkCanvas, onFilled, onGradient, accentTextOnCanvas, pickAccentText, AA_NORMAL_TEXT, DARK_CANVAS_LUMINANCE, } from "./Theme/tokens/builders/accentText.js";
|
|
152
|
+
export { isDarkCanvas, onFilled, onGradient, accentTextOnCanvas, accentTextOnPlanes, pickAccentText, AA_NORMAL_TEXT, DARK_CANVAS_LUMINANCE, } from "./Theme/tokens/builders/accentText.js";
|
|
153
153
|
// Filled-surface helpers — use whenever you paint a `bg` from a ColorScale (buttons, badges,
|
|
154
154
|
// chips, alerts). Never pair `scale[500]` with `onFilled` or `colors.white` by hand.
|
|
155
155
|
export { solidFillRung, darkerFillRung, labelOnFill, resolveFilledSurface, } from "./Theme/tokens/builders/filledSurface.js";
|
|
156
156
|
// Ink for a custom option row (a `SearchSelect` `option.view` or `Select` `renderOption` node).
|
|
157
|
-
export { optionRowInk, optionRowWeight, optionRowDescriptionInk, } from "./Components/Select/optionRowInk.js";
|
|
157
|
+
export { optionRowInk, optionRowWeight, optionRowDescriptionInk, optionRowFill, optionRowCursorSx, } from "./Components/Select/optionRowInk.js";
|
|
158
158
|
// Pure color math backing the helpers above (and `buildDarkPalette`) — no Chakra/React/DOM
|
|
159
159
|
// dependency, safe for the mobile port. `relativeLuminance`/`contrastRatio` are the WCAG 2.1
|
|
160
160
|
// primitives; `compositeOver` flattens a translucent color onto a backdrop first (an alpha
|
|
@@ -170,7 +170,7 @@ export { scrollbarStyles, globalScrollbarStyles, SCROLLBAR_WIDTH, } from "./Them
|
|
|
170
170
|
export { placeholderInk, placeholderInkOn, fieldSurfaces } from "./Theme/tokens/builders/placeholderInk.js";
|
|
171
171
|
export { resolveGradient, gradientCss, inkSafeGradient as inkSafeGradientToken, } from "./Theme/tokens/builders/gradientInk.js";
|
|
172
172
|
export { CONTROL_SIZES, CONTROL_SIZE_NAMES, DEFAULT_CONTROL_SIZE, isControlSize, } from "./Theme/tokens/primitives/controlSizes.js";
|
|
173
|
-
export { MOTION_MS, MOTION_EASE, MOTION_EASE_OUT, MOTION_EASE_IN, MOTION_BEZIER, MOTION_LOOP_MS, transitionFor, motionTransition, } from "./Theme/tokens/primitives/motion.js";
|
|
173
|
+
export { MOTION_MS, MOTION_EASE, MOTION_EASE_OUT, MOTION_EASE_IN, MOTION_BEZIER, MOTION_LOOP_MS, MOTION_PRESS_SCALE, transitionFor, motionTransition, } from "./Theme/tokens/primitives/motion.js";
|
|
174
174
|
export { RADIUS_ROLE } from "./Theme/tokens/primitives/radii.js";
|
|
175
175
|
export { BORDER_WIDTHS } from "./Theme/tokens/primitives/borderWidths.js";
|
|
176
176
|
export { DISABLED_OPACITY } from "./Theme/tokens/primitives/states.js";
|
|
@@ -180,7 +180,7 @@ export { TONES, isTone, toneToColorScheme, toneToSemantic, toneScale, toneInk, r
|
|
|
180
180
|
export { overlayScrim, SCRIM_OPACITY } from "./Theme/tokens/builders/scrim.js";
|
|
181
181
|
export { tooltipSurface } from "./Theme/tokens/builders/tooltipSurface.js";
|
|
182
182
|
export { buildSurfaceRaised, raisedRule, RAISED_OVERLAY } from "./Theme/tokens/builders/surfaceRaised.js";
|
|
183
|
-
export { bandOn, recessOn, cardRule } from "./Theme/tokens/builders/planeStep.js";
|
|
183
|
+
export { bandOn, recessOn, cardRule, ruleOn } from "./Theme/tokens/builders/planeStep.js";
|
|
184
184
|
export { overlayScrimStyles, OVERLAY_BLUR } from "./Theme/chakra/overlay.styles.js";
|
|
185
185
|
export { usePrefersReducedMotion, reducedMotionSx, REDUCED_MOTION_QUERY, MOTION_KEEP_CLASS, } from "./Theme/chakra/motion.js";
|
|
186
186
|
export { useFieldIds } from "./Components/Common/useFieldIds.js";
|
|
@@ -280,7 +280,8 @@ export { default as LauncherTrigger } from "./Components/LauncherTrigger/Launche
|
|
|
280
280
|
export { default as NavLauncher } from "./Components/NavLauncher/NavLauncher.js";
|
|
281
281
|
export { default as PinToggle } from "./Components/NavLauncher/PinToggle.js";
|
|
282
282
|
export { default as NewTabLink } from "./Components/NavLauncher/NewTabLink.js";
|
|
283
|
-
export { searchLauncher, searchLauncherSections, flattenScreens } from "./Components/NavLauncher/match.js";
|
|
283
|
+
export { searchLauncher, searchLauncherSections, flattenScreens, highlightSegments } from "./Components/NavLauncher/match.js";
|
|
284
|
+
export { LauncherSearchEngine } from "./Components/NavLauncher/engine/index.js";
|
|
284
285
|
export { default as WizardDialog, Wizard, wizardTransition, firstInvalidStep, } from "./Components/WizardDialog/WizardDialog.js";
|
|
285
286
|
export { default as Pagination } from "./Components/Pagination/Pagination.js";
|
|
286
287
|
export { defaultPaginationLabels } from "./Components/Pagination/PaginationProps.js";
|
package/dist/index.d.ts
CHANGED
|
@@ -99,7 +99,7 @@ import OrganizationDetails from "./Components/OrganizationDetails/OrganizationDe
|
|
|
99
99
|
export { Accordion, AlertDialog, ApexBarChart, ApexPieChart, ApexPolarChart, ApexLineChart, ApexAreaChart, ApexRadialChart, Breadcrumbs, Button, ButtonGroupIcon, Card, Checkbox, ContactForm, DatePicker, Drawer, DrawerHeader, DrawerBody, DrawerFooter, Dropdown, Editor, EmptyState, WorkspaceWindow, WorkspaceTray, WorkspaceTrayPreview, FieldSelectModal, FilePreview, FilePreviewTrigger, FileUpload, FileUploader, FilterSidebar, FormWrapper, LazyWrapper, MoreItems, PdfViewer, ScrollToTop, CopyButton, StageProgress, StageItem, OrgSwitcher, AppSwitcher, LimitReachedModal, UpgradeButton, PlanPill, PlanBadge, formatPlanElapsed, formatPlanExpiry, formatPlanRemaining, resolvePlanBadge, splitMonthsAndDays, UserDetails, RolesPermission, CustomModulesTable, SignInActivityTable, OrganizationDetails, Header, HeaderActions, InputTextArea, InputSwitch, KanbanBoard, KanbanActions, Loading, Modal, ModalHeader, ModalBody, ModalFooter, NavigationBar, Notification, NoteTextArea, MultiSelect, NumberInput, PaymentCard, PhoneNumberInput, PinInput, ProductCard, ProductDetails, ProfileCard, ProfileCardHeader, ProfileCardBody, ProfileCardFooter, ProfilePhotoViewer, ProgressBar, RadioButton, RadioButtonGroup, Reorder, Search, Select, SelectV2, SearchSelect, SelectSearch, SideBar, Slider, ScrollbarBox, Skeletons, Switch, ToggleSwitch, SegmentedControl, Table, TableToggle, Tag, TextInput, Timeline, Toaster, ToolTip, OverflowToolTip, useToaster, VerifyEmailOtp, useSidebarPrefs, useIsTruncated, useCustomTheme, ThemesList, debounce, isAllowedReturnUrl, resolveReturnUrl, createAccountHandoff, };
|
|
100
100
|
export default withTheme;
|
|
101
101
|
export type { UserDetailsProps, UserDetailsLabels, UserListItem, SelectedUserDetail, UserDetailRow, RoleOption, AddUserFormValues, ChangeRoleSubmitPayload, } from "./Components/UserDetails/UserDetailsProps";
|
|
102
|
-
export type { WorkspaceWindowProps, WorkspaceWindowState, WorkspaceTrayProps, WorkspaceTrayItem, WorkspaceTrayPreviewProps, } from "./Components/WorkspaceWindow/WorkspaceWindowProps";
|
|
102
|
+
export type { WorkspaceWindowProps, WorkspaceWindowLabels, WorkspaceWindowState, WorkspaceTrayProps, WorkspaceTrayItem, WorkspaceTrayPreviewProps, } from "./Components/WorkspaceWindow/WorkspaceWindowProps";
|
|
103
103
|
export type { RolesPermissionProps, RolesPermissionLabels, RolesPermissionView, RolesPermissionMode, Permission, PermissionKey, RoleData, } from "./Components/RolesPermission/RolesPermissionProps";
|
|
104
104
|
export type { CustomModulesTableProps, CustomModulesTableLabels, ModuleItem, UpdateModulePayload, } from "./Components/CustomModulesTable/CustomModulesTableProps";
|
|
105
105
|
export type { SignInActivityTableProps, SignInActivityLabels, SignInDevice, } from "./Components/SignInActivityTable/SignInActivityTableProps";
|
|
@@ -131,10 +131,10 @@ export { useChartTheme } from "./Theme/useChartTheme";
|
|
|
131
131
|
export type { RechartsAxisTheme, RechartsChartTheme, RechartsGridTheme, RechartsLegendTheme, RechartsTooltipTheme, } from "./Theme/useChartTheme";
|
|
132
132
|
export type { ColorMode, ResolvedColorMode, ThemeName, PaletteProps, ColorScale, BrandScale, SemanticColors, NamedSurfaces, FocusRingTokens, } from "./Theme/tokens/types";
|
|
133
133
|
export { statusGradient, inkSafeGradient, chipFill, chipBorder, ACCENT_GRADIENT, STATUS_INK, } from "./Components/PlanPill/planPillGradient";
|
|
134
|
-
export { isDarkCanvas, onFilled, onGradient, accentTextOnCanvas, pickAccentText, AA_NORMAL_TEXT, DARK_CANVAS_LUMINANCE, } from "./Theme/tokens/builders/accentText";
|
|
134
|
+
export { isDarkCanvas, onFilled, onGradient, accentTextOnCanvas, accentTextOnPlanes, pickAccentText, AA_NORMAL_TEXT, DARK_CANVAS_LUMINANCE, } from "./Theme/tokens/builders/accentText";
|
|
135
135
|
export { solidFillRung, darkerFillRung, labelOnFill, resolveFilledSurface, } from "./Theme/tokens/builders/filledSurface";
|
|
136
136
|
export type { FilledSurface } from "./Theme/tokens/builders/filledSurface";
|
|
137
|
-
export { optionRowInk, optionRowWeight, optionRowDescriptionInk, } from "./Components/Select/optionRowInk";
|
|
137
|
+
export { optionRowInk, optionRowWeight, optionRowDescriptionInk, optionRowFill, optionRowCursorSx, } from "./Components/Select/optionRowInk";
|
|
138
138
|
export { hexToRgb, hexToRgba, compositeOver, rgbToHex, rgbToHsl, hslToRgb, hexToHsl, hslToHex, withLightness, mix, relativeLuminance, contrastRatio, } from "./Theme/tokens/builders/color";
|
|
139
139
|
export type { Rgb, Hsl } from "./Theme/tokens/builders/color";
|
|
140
140
|
export type { SelectV2Props, SelectV2Size, OptionProp as SelectV2Option } from "./Components/SelectV2/SelectV2Props";
|
|
@@ -194,7 +194,7 @@ export { resolveGradient, gradientCss, inkSafeGradient as inkSafeGradientToken,
|
|
|
194
194
|
export type { Gradient, ResolvedGradient, } from "./Theme/tokens/builders/gradientInk";
|
|
195
195
|
export { CONTROL_SIZES, CONTROL_SIZE_NAMES, DEFAULT_CONTROL_SIZE, isControlSize, } from "./Theme/tokens/primitives/controlSizes";
|
|
196
196
|
export type { ControlSize, ControlSizeSpec } from "./Theme/tokens/primitives/controlSizes";
|
|
197
|
-
export { MOTION_MS, MOTION_EASE, MOTION_EASE_OUT, MOTION_EASE_IN, MOTION_BEZIER, MOTION_LOOP_MS, transitionFor, motionTransition, } from "./Theme/tokens/primitives/motion";
|
|
197
|
+
export { MOTION_MS, MOTION_EASE, MOTION_EASE_OUT, MOTION_EASE_IN, MOTION_BEZIER, MOTION_LOOP_MS, MOTION_PRESS_SCALE, transitionFor, motionTransition, } from "./Theme/tokens/primitives/motion";
|
|
198
198
|
export type { MotionSpeed, MotionCurve } from "./Theme/tokens/primitives/motion";
|
|
199
199
|
export { RADIUS_ROLE } from "./Theme/tokens/primitives/radii";
|
|
200
200
|
export type { RadiusRole } from "./Theme/tokens/primitives/radii";
|
|
@@ -208,7 +208,7 @@ export type { Tone, ToneColorScheme } from "./Theme/tokens/builders/tone";
|
|
|
208
208
|
export { overlayScrim, SCRIM_OPACITY } from "./Theme/tokens/builders/scrim";
|
|
209
209
|
export { tooltipSurface } from "./Theme/tokens/builders/tooltipSurface";
|
|
210
210
|
export { buildSurfaceRaised, raisedRule, RAISED_OVERLAY } from "./Theme/tokens/builders/surfaceRaised";
|
|
211
|
-
export { bandOn, recessOn, cardRule } from "./Theme/tokens/builders/planeStep";
|
|
211
|
+
export { bandOn, recessOn, cardRule, ruleOn } from "./Theme/tokens/builders/planeStep";
|
|
212
212
|
export { overlayScrimStyles, OVERLAY_BLUR } from "./Theme/chakra/overlay.styles";
|
|
213
213
|
export { usePrefersReducedMotion, reducedMotionSx, REDUCED_MOTION_QUERY, MOTION_KEEP_CLASS, } from "./Theme/chakra/motion";
|
|
214
214
|
export type { ReducedMotionScope } from "./Theme/chakra/motion";
|
|
@@ -385,9 +385,11 @@ export type { LauncherTriggerProps } from "./Components/LauncherTrigger/Launcher
|
|
|
385
385
|
export { default as NavLauncher } from "./Components/NavLauncher/NavLauncher";
|
|
386
386
|
export { default as PinToggle } from "./Components/NavLauncher/PinToggle";
|
|
387
387
|
export { default as NewTabLink } from "./Components/NavLauncher/NewTabLink";
|
|
388
|
-
export { searchLauncher, searchLauncherSections, flattenScreens } from "./Components/NavLauncher/match";
|
|
389
|
-
export type { LauncherResult, LauncherResultView, LauncherSectionResult } from "./Components/NavLauncher/match";
|
|
390
|
-
export
|
|
388
|
+
export { searchLauncher, searchLauncherSections, flattenScreens, highlightSegments } from "./Components/NavLauncher/match";
|
|
389
|
+
export type { LauncherResult, LauncherResultView, LauncherSectionResult, HighlightSegment, HighlightOptions, } from "./Components/NavLauncher/match";
|
|
390
|
+
export { LauncherSearchEngine } from "./Components/NavLauncher/engine";
|
|
391
|
+
export type { LauncherMatchKind, LauncherMatcher, LauncherSearchDocument, LauncherSearchField, LauncherSearchHit, LauncherSearchIndex, LauncherSearchOptions, LauncherSynonyms, LauncherTokenMatch, } from "./Components/NavLauncher/engine";
|
|
392
|
+
export type { LauncherIcon, LauncherScreen, LauncherModule, LauncherSection, LauncherSearchItem, LauncherResultGroup, LauncherLabels, LauncherNavigateOptions, LauncherFact, LauncherAnswer, LauncherScope, LauncherSearchMode, NavLauncherProps, PinToggleProps, NewTabLinkProps, } from "./Components/NavLauncher/NavLauncherProps";
|
|
391
393
|
export { default as WizardDialog, Wizard, wizardTransition, firstInvalidStep, } from "./Components/WizardDialog/WizardDialog";
|
|
392
394
|
export type { WizardStep, WizardLabels, WizardDialogProps, WizardProps } from "./Components/WizardDialog/WizardDialogProps";
|
|
393
395
|
export type { WizardState, WizardAction, StepValidator } from "./Components/WizardDialog/wizardSteps";
|
package/dist/index.js
CHANGED
|
@@ -43,12 +43,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
43
43
|
exports.splitMonthsAndDays = exports.resolvePlanBadge = exports.formatPlanRemaining = exports.formatPlanExpiry = exports.formatPlanElapsed = exports.PlanBadge = exports.PlanPill = exports.UpgradeButton = exports.LimitReachedModal = exports.AppSwitcher = exports.OrgSwitcher = exports.StageItem = exports.StageProgress = exports.CopyButton = exports.ScrollToTop = exports.PdfViewer = exports.MoreItems = exports.LazyWrapper = exports.FormWrapper = exports.FilterSidebar = exports.FileUploader = exports.FileUpload = exports.FilePreviewTrigger = exports.FilePreview = exports.FieldSelectModal = exports.WorkspaceTrayPreview = exports.WorkspaceTray = exports.WorkspaceWindow = exports.EmptyState = exports.Editor = exports.Dropdown = exports.DrawerFooter = exports.DrawerBody = exports.DrawerHeader = exports.Drawer = exports.DatePicker = exports.ContactForm = exports.Checkbox = exports.Card = exports.ButtonGroupIcon = exports.Button = exports.Breadcrumbs = exports.ApexRadialChart = exports.ApexAreaChart = exports.ApexLineChart = exports.ApexPolarChart = exports.ApexPieChart = exports.ApexBarChart = exports.AlertDialog = exports.Accordion = void 0;
|
|
44
44
|
exports.Tag = exports.TableToggle = exports.Table = exports.SegmentedControl = exports.ToggleSwitch = exports.Switch = exports.Skeletons = exports.ScrollbarBox = exports.Slider = exports.SideBar = exports.SelectSearch = exports.SearchSelect = exports.SelectV2 = exports.Select = exports.Search = exports.Reorder = exports.RadioButtonGroup = exports.RadioButton = exports.ProgressBar = exports.ProfilePhotoViewer = exports.ProfileCardFooter = exports.ProfileCardBody = exports.ProfileCardHeader = exports.ProfileCard = exports.ProductDetails = exports.ProductCard = exports.PinInput = exports.PhoneNumberInput = exports.PaymentCard = exports.NumberInput = exports.MultiSelect = exports.NoteTextArea = exports.Notification = exports.NavigationBar = exports.ModalFooter = exports.ModalBody = exports.ModalHeader = exports.Modal = exports.Loading = exports.KanbanActions = exports.KanbanBoard = exports.InputSwitch = exports.InputTextArea = exports.HeaderActions = exports.Header = exports.OrganizationDetails = exports.SignInActivityTable = exports.CustomModulesTable = exports.RolesPermission = exports.UserDetails = void 0;
|
|
45
45
|
exports.setRef = exports.mergeRefs = exports.resolveStatusTone = exports.resolveAvatarFill = exports.meetsBodyText = exports.avatarFillFor = exports.AVATAR_SEEDS = exports.FOCUS_RING_WIDTH = exports.FOCUS_HALO_WIDTH = exports.FOCUS_VISIBLE_OVER_STATE = exports.focusVisibleStyles = exports.focusVisibleRing = exports.focusRingShadow = exports.withFocusRing = exports.settleBetween = exports.buildFocusRing = exports.listRowBackgrounds = exports.withOutlineRung = exports.liftToContrast = exports.AA_NON_TEXT = exports.buildDarkPalette = exports.themeNames = exports.palettes = exports.darkPalettes = exports.lightPalettes = exports.brandThemes = exports.AppearanceSettings = exports.useFontSizeSync = exports.resolveFontSize = exports.isFontSize = exports.FONT_SIZE_OPTIONS = exports.DEFAULT_FONT_SIZE = exports.ThemeSwitcher = exports.useThemeMode = exports.PixelizeThemeProvider = exports.createAccountHandoff = exports.resolveReturnUrl = exports.isAllowedReturnUrl = exports.debounce = exports.ThemesList = exports.useCustomTheme = exports.useIsTruncated = exports.useSidebarPrefs = exports.VerifyEmailOtp = exports.useToaster = exports.OverflowToolTip = exports.ToolTip = exports.Toaster = exports.Timeline = exports.TextInput = void 0;
|
|
46
|
-
exports.
|
|
47
|
-
exports.
|
|
48
|
-
exports.
|
|
49
|
-
exports.
|
|
50
|
-
exports.
|
|
51
|
-
exports.TagInput = exports.TimePicker = exports.DEFAULT_DATE_FALLBACK = exports.formatDateRange = exports.formatDateTime = exports.formatDate = exports.SkipLink = exports.VisuallyHidden = exports.FormField = exports.IconButton = exports.ChoiceCardGroup = exports.ChoiceCard = exports.defaultPaginationLabels = exports.Pagination = exports.firstInvalidStep = exports.wizardTransition = exports.Wizard = void 0;
|
|
46
|
+
exports.isDayStateKey = exports.CALENDAR_DAY_CLASS = exports.DAY_STATE_KEYS = exports.contrastRatio = exports.relativeLuminance = exports.mix = exports.withLightness = exports.hslToHex = exports.hexToHsl = exports.hslToRgb = exports.rgbToHsl = exports.rgbToHex = exports.compositeOver = exports.hexToRgba = exports.hexToRgb = exports.optionRowCursorSx = exports.optionRowFill = exports.optionRowDescriptionInk = exports.optionRowWeight = exports.optionRowInk = exports.resolveFilledSurface = exports.labelOnFill = exports.darkerFillRung = exports.solidFillRung = exports.DARK_CANVAS_LUMINANCE = exports.AA_NORMAL_TEXT = exports.pickAccentText = exports.accentTextOnPlanes = exports.accentTextOnCanvas = exports.onGradient = exports.onFilled = exports.isDarkCanvas = exports.STATUS_INK = exports.ACCENT_GRADIENT = exports.chipBorder = exports.chipFill = exports.inkSafeGradient = exports.statusGradient = exports.useChartTheme = exports.labelOnSeries = exports.getDefaultSeriesColors = exports.getCategoricalSeriesColors = exports.chartMode = exports.chartInk = exports.chartAxisLabelColor = exports.CATEGORICAL_SERIES = exports.useDebouncedValue = exports.useDebouncedCallback = exports.toWords = exports.rafThrottle = void 0;
|
|
47
|
+
exports.bandOn = exports.RAISED_OVERLAY = exports.raisedRule = exports.buildSurfaceRaised = exports.tooltipSurface = exports.SCRIM_OPACITY = exports.overlayScrim = exports.resolveSoftTone = exports.toneInk = exports.toneScale = exports.toneToSemantic = exports.toneToColorScheme = exports.isTone = exports.TONES = exports.shadowsFor = exports.TEXT_STYLES = exports.NUMERIC_TEXT = exports.DISABLED_OPACITY = exports.BORDER_WIDTHS = exports.RADIUS_ROLE = exports.motionTransition = exports.transitionFor = exports.MOTION_PRESS_SCALE = exports.MOTION_LOOP_MS = exports.MOTION_BEZIER = exports.MOTION_EASE_IN = exports.MOTION_EASE_OUT = exports.MOTION_EASE = exports.MOTION_MS = exports.isControlSize = exports.DEFAULT_CONTROL_SIZE = exports.CONTROL_SIZE_NAMES = exports.CONTROL_SIZES = exports.inkSafeGradientToken = exports.gradientCss = exports.resolveGradient = exports.fieldSurfaces = exports.placeholderInkOn = exports.placeholderInk = exports.SCROLLBAR_WIDTH = exports.globalScrollbarStyles = exports.scrollbarStyles = exports.useAppSwitcherShortcut = exports.buildSuiteApps = exports.formatShortcut = exports.matchesShortcut = exports.filterApps = exports.appInitials = exports.describeDayStates = exports.resolveDayStateVisual = void 0;
|
|
48
|
+
exports.NotificationList = exports.NotificationPanel = exports.NotificationBell = exports.ConfirmDialog = exports.TabPanel = exports.TabPanels = exports.Tab = exports.TabList = exports.Tabs = exports.Accordian = exports.AudioRecorder = exports.CalendarGrid = exports.SectionRail = exports.BulkSelectionBar = exports.SaveBar = exports.FeedbackForm = exports.PersonChip = exports.initialsFor = exports.avatarScaleKeyFor = exports.resolveAvatarColorway = exports.AvatarGroup = exports.Avatar = exports.SettingsSection = exports.SettingRow = exports.FilterBar = exports.DescriptionList = exports.Spinner = exports.Backdrop = exports.QueryStateBoundary = exports.ErrorState = exports.FormDrawer = exports.CircularProgress = exports.StatusTag = exports.StatCard = exports.PageHeader = exports.fieldMessageStyles = exports.fieldLabelStyles = exports.controlSizeStyles = exports.fieldControlStyles = exports.FieldMessage = exports.useFieldIds = exports.MOTION_KEEP_CLASS = exports.REDUCED_MOTION_QUERY = exports.reducedMotionSx = exports.usePrefersReducedMotion = exports.OVERLAY_BLUR = exports.overlayScrimStyles = exports.ruleOn = exports.cardRule = exports.recessOn = void 0;
|
|
49
|
+
exports.PLAYBACK_SPEEDS = exports.ZOOM_STEP = exports.MAX_ZOOM = exports.MIN_ZOOM = exports.resolveMediaUrl = exports.fileKind = exports.countMedia = exports.planPreview = exports.buildFileItems = exports.buildMediaItems = exports.MediaStatusPanel = exports.MediaScrubber = exports.defaultMediaAudioPlayerLabels = exports.MediaAudioPlayer = exports.defaultMediaViewerLabels = exports.defaultMediaDocumentStageLabels = exports.MediaDocumentStage = exports.defaultMediaVideoPlayerLabels = exports.MediaVideoPlayer = exports.defaultMediaImageViewerLabels = exports.MediaImageViewer = exports.useFileViewer = exports.MediaViewer = exports.RangeSlider = exports.getApiErrorStatus = exports.getApiErrorMessage = exports.defaultValidationMessages = exports.validateYoutubeUrl = exports.validateVideoFile = exports.validateVideoFileType = exports.validateFile = exports.validateFileSize = exports.validateFileType = exports.validatePositiveNumber = exports.validateRequired = exports.validatePassword = exports.validateEmail = exports.EMAIL_REGEX = exports.createEnumLabelResolver = exports.humanize = exports.clearChunkReloadGuard = exports.isChunkLoadError = exports.installPreloadErrorReload = exports.lazyWithRetry = exports.useAnchoredPanelHeight = exports.formatRelativeTime = exports.formatCount = exports.groupConsecutive = exports.sectionizeByDay = exports.NotificationItem = void 0;
|
|
50
|
+
exports.PinToggle = exports.NavLauncher = exports.LauncherTrigger = exports.KbdShortcut = exports.Kbd = exports.QuickAddSheet = exports.ProductCardSkeleton = exports.ProductCardGrid = exports.unitPrice = exports.discountAmount = exports.discountPercent = exports.formatPrice = exports.firstAvailableSelection = exports.priceRange = exports.remainingStock = exports.isOptionAvailable = exports.findVariant = exports.selectionComplete = exports.stockState = exports.LOW_STOCK_THRESHOLD = exports.defaultMediaLightboxLabels = exports.defaultMediaGalleryLabels = exports.MediaLightbox = exports.MediaGallery = exports.PaymentOptionGroup = exports.PaymentOption = exports.AddressCardGroup = exports.AddressCard = exports.DetailSections = exports.ReviewList = exports.ReviewSummary = exports.SpecTable = exports.OffersList = exports.TrustBadges = exports.PincodeChecker = exports.StickyBuyBar = exports.BagBar = exports.OrderStatusTimeline = exports.CouponField = exports.OrderSummary = exports.CartItem = exports.QuantityStepper = exports.VariantSelector = exports.OptionChip = exports.WishlistToggle = exports.ProductBadges = exports.StockStatus = exports.PriceBlock = exports.Rating = exports.SEEK_STEP_SECONDS = void 0;
|
|
51
|
+
exports.TagInput = exports.TimePicker = exports.DEFAULT_DATE_FALLBACK = exports.formatDateRange = exports.formatDateTime = exports.formatDate = exports.SkipLink = exports.VisuallyHidden = exports.FormField = exports.IconButton = exports.ChoiceCardGroup = exports.ChoiceCard = exports.defaultPaginationLabels = exports.Pagination = exports.firstInvalidStep = exports.wizardTransition = exports.Wizard = exports.WizardDialog = exports.LauncherSearchEngine = exports.highlightSegments = exports.flattenScreens = exports.searchLauncherSections = exports.searchLauncher = exports.NewTabLink = void 0;
|
|
52
52
|
const Accordion_1 = __importDefault(require("./Components/Accordion/Accordion"));
|
|
53
53
|
exports.Accordion = Accordion_1.default;
|
|
54
54
|
const AlertDialog_1 = __importDefault(require("./Components/AlertDialog/AlertDialog"));
|
|
@@ -361,6 +361,7 @@ Object.defineProperty(exports, "isDarkCanvas", { enumerable: true, get: function
|
|
|
361
361
|
Object.defineProperty(exports, "onFilled", { enumerable: true, get: function () { return accentText_1.onFilled; } });
|
|
362
362
|
Object.defineProperty(exports, "onGradient", { enumerable: true, get: function () { return accentText_1.onGradient; } });
|
|
363
363
|
Object.defineProperty(exports, "accentTextOnCanvas", { enumerable: true, get: function () { return accentText_1.accentTextOnCanvas; } });
|
|
364
|
+
Object.defineProperty(exports, "accentTextOnPlanes", { enumerable: true, get: function () { return accentText_1.accentTextOnPlanes; } });
|
|
364
365
|
Object.defineProperty(exports, "pickAccentText", { enumerable: true, get: function () { return accentText_1.pickAccentText; } });
|
|
365
366
|
Object.defineProperty(exports, "AA_NORMAL_TEXT", { enumerable: true, get: function () { return accentText_1.AA_NORMAL_TEXT; } });
|
|
366
367
|
Object.defineProperty(exports, "DARK_CANVAS_LUMINANCE", { enumerable: true, get: function () { return accentText_1.DARK_CANVAS_LUMINANCE; } });
|
|
@@ -376,6 +377,8 @@ var optionRowInk_1 = require("./Components/Select/optionRowInk");
|
|
|
376
377
|
Object.defineProperty(exports, "optionRowInk", { enumerable: true, get: function () { return optionRowInk_1.optionRowInk; } });
|
|
377
378
|
Object.defineProperty(exports, "optionRowWeight", { enumerable: true, get: function () { return optionRowInk_1.optionRowWeight; } });
|
|
378
379
|
Object.defineProperty(exports, "optionRowDescriptionInk", { enumerable: true, get: function () { return optionRowInk_1.optionRowDescriptionInk; } });
|
|
380
|
+
Object.defineProperty(exports, "optionRowFill", { enumerable: true, get: function () { return optionRowInk_1.optionRowFill; } });
|
|
381
|
+
Object.defineProperty(exports, "optionRowCursorSx", { enumerable: true, get: function () { return optionRowInk_1.optionRowCursorSx; } });
|
|
379
382
|
// Pure color math backing the helpers above (and `buildDarkPalette`) — no Chakra/React/DOM
|
|
380
383
|
// dependency, safe for the mobile port. `relativeLuminance`/`contrastRatio` are the WCAG 2.1
|
|
381
384
|
// primitives; `compositeOver` flattens a translucent color onto a backdrop first (an alpha
|
|
@@ -434,6 +437,7 @@ Object.defineProperty(exports, "MOTION_EASE_OUT", { enumerable: true, get: funct
|
|
|
434
437
|
Object.defineProperty(exports, "MOTION_EASE_IN", { enumerable: true, get: function () { return motion_1.MOTION_EASE_IN; } });
|
|
435
438
|
Object.defineProperty(exports, "MOTION_BEZIER", { enumerable: true, get: function () { return motion_1.MOTION_BEZIER; } });
|
|
436
439
|
Object.defineProperty(exports, "MOTION_LOOP_MS", { enumerable: true, get: function () { return motion_1.MOTION_LOOP_MS; } });
|
|
440
|
+
Object.defineProperty(exports, "MOTION_PRESS_SCALE", { enumerable: true, get: function () { return motion_1.MOTION_PRESS_SCALE; } });
|
|
437
441
|
Object.defineProperty(exports, "transitionFor", { enumerable: true, get: function () { return motion_1.transitionFor; } });
|
|
438
442
|
Object.defineProperty(exports, "motionTransition", { enumerable: true, get: function () { return motion_1.motionTransition; } });
|
|
439
443
|
var radii_1 = require("./Theme/tokens/primitives/radii");
|
|
@@ -468,6 +472,7 @@ var planeStep_1 = require("./Theme/tokens/builders/planeStep");
|
|
|
468
472
|
Object.defineProperty(exports, "bandOn", { enumerable: true, get: function () { return planeStep_1.bandOn; } });
|
|
469
473
|
Object.defineProperty(exports, "recessOn", { enumerable: true, get: function () { return planeStep_1.recessOn; } });
|
|
470
474
|
Object.defineProperty(exports, "cardRule", { enumerable: true, get: function () { return planeStep_1.cardRule; } });
|
|
475
|
+
Object.defineProperty(exports, "ruleOn", { enumerable: true, get: function () { return planeStep_1.ruleOn; } });
|
|
471
476
|
var overlay_styles_1 = require("./Theme/chakra/overlay.styles");
|
|
472
477
|
Object.defineProperty(exports, "overlayScrimStyles", { enumerable: true, get: function () { return overlay_styles_1.overlayScrimStyles; } });
|
|
473
478
|
Object.defineProperty(exports, "OVERLAY_BLUR", { enumerable: true, get: function () { return overlay_styles_1.OVERLAY_BLUR; } });
|
|
@@ -719,6 +724,9 @@ var match_1 = require("./Components/NavLauncher/match");
|
|
|
719
724
|
Object.defineProperty(exports, "searchLauncher", { enumerable: true, get: function () { return match_1.searchLauncher; } });
|
|
720
725
|
Object.defineProperty(exports, "searchLauncherSections", { enumerable: true, get: function () { return match_1.searchLauncherSections; } });
|
|
721
726
|
Object.defineProperty(exports, "flattenScreens", { enumerable: true, get: function () { return match_1.flattenScreens; } });
|
|
727
|
+
Object.defineProperty(exports, "highlightSegments", { enumerable: true, get: function () { return match_1.highlightSegments; } });
|
|
728
|
+
var engine_1 = require("./Components/NavLauncher/engine");
|
|
729
|
+
Object.defineProperty(exports, "LauncherSearchEngine", { enumerable: true, get: function () { return engine_1.LauncherSearchEngine; } });
|
|
722
730
|
var WizardDialog_1 = require("./Components/WizardDialog/WizardDialog");
|
|
723
731
|
Object.defineProperty(exports, "WizardDialog", { enumerable: true, get: function () { return __importDefault(WizardDialog_1).default; } });
|
|
724
732
|
Object.defineProperty(exports, "Wizard", { enumerable: true, get: function () { return WizardDialog_1.Wizard; } });
|
package/package.json
CHANGED