pixelize-design-library 2.4.2-beta.59 → 2.4.2-beta.60

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.
Files changed (138) hide show
  1. package/CHANGELOG.md +78 -9
  2. package/COMPONENT-GOTCHAS.md +118 -17
  3. package/DESIGN-GUIDE.md +17 -6
  4. package/dist/Components/AudioRecorder/AudioRecorder.d.ts +8 -0
  5. package/dist/Components/AudioRecorder/AudioRecorder.js +169 -0
  6. package/dist/Components/AudioRecorder/AudioRecorderProps.d.ts +20 -0
  7. package/dist/Components/AudioRecorder/AudioRecorderProps.js +2 -0
  8. package/dist/Components/BulkSelectionBar/BulkSelectionBar.d.ts +3 -0
  9. package/dist/Components/BulkSelectionBar/BulkSelectionBar.js +43 -0
  10. package/dist/Components/BulkSelectionBar/BulkSelectionBarProps.d.ts +35 -0
  11. package/dist/Components/BulkSelectionBar/BulkSelectionBarProps.js +2 -0
  12. package/dist/Components/BulkSelectionBar/index.d.ts +2 -0
  13. package/dist/Components/BulkSelectionBar/index.js +8 -0
  14. package/dist/Components/CalendarGrid/CalendarGrid.d.ts +3 -0
  15. package/dist/Components/CalendarGrid/CalendarGrid.js +173 -0
  16. package/dist/Components/CalendarGrid/CalendarGridProps.d.ts +54 -0
  17. package/dist/Components/CalendarGrid/CalendarGridProps.js +2 -0
  18. package/dist/Components/CalendarGrid/calendarMath.d.ts +49 -0
  19. package/dist/Components/CalendarGrid/calendarMath.js +178 -0
  20. package/dist/Components/CircularProgress/CircularProgress.d.ts +4 -0
  21. package/dist/Components/CircularProgress/CircularProgress.js +39 -0
  22. package/dist/Components/CircularProgress/CircularProgressProps.d.ts +22 -0
  23. package/dist/Components/CircularProgress/CircularProgressProps.js +2 -0
  24. package/dist/Components/CircularProgress/arc.d.ts +12 -0
  25. package/dist/Components/CircularProgress/arc.js +16 -0
  26. package/dist/Components/Common/fieldStyles.d.ts +1 -0
  27. package/dist/Components/Common/fieldStyles.js +2 -1
  28. package/dist/Components/Drawer/Drawer.d.ts +1 -1
  29. package/dist/Components/Drawer/Drawer.js +4 -2
  30. package/dist/Components/Drawer/DrawerProps.d.ts +3 -1
  31. package/dist/Components/EmptyState/EmptyState.js +2 -1
  32. package/dist/Components/EmptyState/EmptyStateProps.d.ts +2 -2
  33. package/dist/Components/FormDrawer/FormDrawer.d.ts +2 -0
  34. package/dist/Components/FormDrawer/FormDrawer.js +97 -0
  35. package/dist/Components/FormDrawer/FormDrawerProps.d.ts +55 -0
  36. package/dist/Components/FormDrawer/FormDrawerProps.js +2 -0
  37. package/dist/Components/LauncherTrigger/LauncherTrigger.d.ts +1 -1
  38. package/dist/Components/LauncherTrigger/LauncherTrigger.js +8 -1
  39. package/dist/Components/LauncherTrigger/LauncherTriggerProps.d.ts +2 -0
  40. package/dist/Components/Modal/Modal.d.ts +1 -1
  41. package/dist/Components/Modal/Modal.js +4 -2
  42. package/dist/Components/Modal/ModalProps.d.ts +3 -1
  43. package/dist/Components/Modal/warnDroppedSlotChildren.d.ts +2 -0
  44. package/dist/Components/Modal/warnDroppedSlotChildren.js +45 -0
  45. package/dist/Components/NavLauncher/NavLauncher.js +83 -26
  46. package/dist/Components/NavLauncher/NavLauncherProps.d.ts +6 -6
  47. package/dist/Components/NavLauncher/launcherParts.d.ts +60 -1
  48. package/dist/Components/NavLauncher/launcherParts.js +93 -11
  49. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +5 -0
  50. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewerProps.d.ts +1 -1
  51. package/dist/Components/QueryState/QueryStateBoundary.d.ts +2 -2
  52. package/dist/Components/QueryState/QueryStateBoundary.js +9 -3
  53. package/dist/Components/QueryState/QueryStateProps.d.ts +19 -2
  54. package/dist/Components/SectionRail/SectionRail.d.ts +3 -0
  55. package/dist/Components/SectionRail/SectionRail.js +49 -0
  56. package/dist/Components/SectionRail/SectionRailProps.d.ts +23 -0
  57. package/dist/Components/SectionRail/SectionRailProps.js +2 -0
  58. package/dist/Components/SectionRail/index.d.ts +2 -0
  59. package/dist/Components/SectionRail/index.js +8 -0
  60. package/dist/Components/SegmentedControl/SegmentedControl.js +9 -14
  61. package/dist/Components/SegmentedControl/segmentedInk.d.ts +0 -2
  62. package/dist/Components/SegmentedControl/segmentedInk.js +1 -5
  63. package/dist/Components/StatCard/StatCard.d.ts +1 -1
  64. package/dist/Components/StatCard/StatCard.js +6 -2
  65. package/dist/Components/StatCard/StatCardProps.d.ts +3 -0
  66. package/dist/Components/StatusTag/StatusTag.d.ts +4 -0
  67. package/dist/Components/StatusTag/StatusTag.js +24 -0
  68. package/dist/Components/StatusTag/StatusTagProps.d.ts +20 -0
  69. package/dist/Components/StatusTag/StatusTagProps.js +2 -0
  70. package/dist/Components/Table/Table.d.ts +1 -1
  71. package/dist/Components/Table/Table.js +6 -2
  72. package/dist/Components/Table/TableProps.d.ts +20 -0
  73. package/dist/Components/Table/components/TableBody.d.ts +1 -1
  74. package/dist/Components/Table/components/TableBody.js +43 -18
  75. package/dist/Components/Table/components/TableHeader.d.ts +1 -1
  76. package/dist/Components/Table/components/TableHeader.js +7 -5
  77. package/dist/Components/Table/components/rowDetail.d.ts +32 -0
  78. package/dist/Components/Table/components/rowDetail.js +20 -0
  79. package/dist/Components/Table/hooks/useRowExpansion.d.ts +7 -0
  80. package/dist/Components/Table/hooks/useRowExpansion.js +27 -0
  81. package/dist/Components/Tabs/Tabs.d.ts +1 -1
  82. package/dist/Components/Tabs/Tabs.js +15 -2
  83. package/dist/Components/Tabs/TabsProps.d.ts +6 -2
  84. package/dist/Components/Tabs/components/Tab.js +4 -33
  85. package/dist/Components/Tabs/components/TabLinkList.d.ts +7 -0
  86. package/dist/Components/Tabs/components/TabLinkList.js +34 -0
  87. package/dist/Components/Tabs/useTabAppearance.d.ts +17 -0
  88. package/dist/Components/Tabs/useTabAppearance.js +67 -0
  89. package/dist/Components/Tag/Tag.js +11 -1
  90. package/dist/Components/Tag/TagProps.d.ts +4 -0
  91. package/dist/Components/Tag/tagDot.d.ts +3 -0
  92. package/dist/Components/Tag/tagDot.js +21 -0
  93. package/dist/esm/Components/AudioRecorder/AudioRecorder.js +161 -0
  94. package/dist/esm/Components/AudioRecorder/AudioRecorderProps.js +1 -0
  95. package/dist/esm/Components/BulkSelectionBar/BulkSelectionBar.js +38 -0
  96. package/dist/esm/Components/BulkSelectionBar/BulkSelectionBarProps.js +1 -0
  97. package/dist/esm/Components/BulkSelectionBar/index.js +1 -0
  98. package/dist/esm/Components/CalendarGrid/CalendarGrid.js +168 -0
  99. package/dist/esm/Components/CalendarGrid/CalendarGridProps.js +1 -0
  100. package/dist/esm/Components/CalendarGrid/calendarMath.js +155 -0
  101. package/dist/esm/Components/CircularProgress/CircularProgress.js +37 -0
  102. package/dist/esm/Components/CircularProgress/CircularProgressProps.js +1 -0
  103. package/dist/esm/Components/CircularProgress/arc.js +11 -0
  104. package/dist/esm/Components/Common/fieldStyles.js +2 -1
  105. package/dist/esm/Components/Drawer/Drawer.js +4 -2
  106. package/dist/esm/Components/EmptyState/EmptyState.js +2 -1
  107. package/dist/esm/Components/FormDrawer/FormDrawer.js +58 -0
  108. package/dist/esm/Components/FormDrawer/FormDrawerProps.js +1 -0
  109. package/dist/esm/Components/LauncherTrigger/LauncherTrigger.js +5 -1
  110. package/dist/esm/Components/Modal/Modal.js +4 -2
  111. package/dist/esm/Components/Modal/warnDroppedSlotChildren.js +38 -0
  112. package/dist/esm/Components/NavLauncher/NavLauncher.js +85 -28
  113. package/dist/esm/Components/NavLauncher/launcherParts.js +88 -11
  114. package/dist/esm/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +5 -0
  115. package/dist/esm/Components/QueryState/QueryStateBoundary.js +10 -4
  116. package/dist/esm/Components/SectionRail/SectionRail.js +44 -0
  117. package/dist/esm/Components/SectionRail/SectionRailProps.js +1 -0
  118. package/dist/esm/Components/SectionRail/index.js +1 -0
  119. package/dist/esm/Components/SegmentedControl/SegmentedControl.js +11 -16
  120. package/dist/esm/Components/SegmentedControl/segmentedInk.js +0 -3
  121. package/dist/esm/Components/StatCard/StatCard.js +6 -2
  122. package/dist/esm/Components/StatusTag/StatusTag.js +19 -0
  123. package/dist/esm/Components/StatusTag/StatusTagProps.js +1 -0
  124. package/dist/esm/Components/Table/Table.js +7 -3
  125. package/dist/esm/Components/Table/components/TableBody.js +43 -18
  126. package/dist/esm/Components/Table/components/TableHeader.js +7 -5
  127. package/dist/esm/Components/Table/components/rowDetail.js +14 -0
  128. package/dist/esm/Components/Table/hooks/useRowExpansion.js +23 -0
  129. package/dist/esm/Components/Tabs/Tabs.js +15 -2
  130. package/dist/esm/Components/Tabs/components/Tab.js +4 -33
  131. package/dist/esm/Components/Tabs/components/TabLinkList.js +29 -0
  132. package/dist/esm/Components/Tabs/useTabAppearance.js +63 -0
  133. package/dist/esm/Components/Tag/Tag.js +12 -2
  134. package/dist/esm/Components/Tag/tagDot.js +17 -0
  135. package/dist/esm/index.js +7 -0
  136. package/dist/index.d.ts +16 -2
  137. package/dist/index.js +18 -4
  138. package/package.json +1 -1
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Flex } from "@chakra-ui/react";
3
+ import { useCustomTheme } from "../../../Theme/useCustomTheme.js";
4
+ import { scrollbarStyles } from "../../../Theme/tokens/builders/scrollbar.js";
5
+ import { useTabsContext } from "../TabsContext.js";
6
+ import { useTabAppearance } from "../useTabAppearance.js";
7
+ import CountBadge from "./CountBadge.js";
8
+ const isPlainPrimaryClick = (event) => event.button === 0 && !event.metaKey && !event.ctrlKey && !event.shiftKey && !event.altKey;
9
+ const TabLink = ({ item, linkAs }) => {
10
+ const ctx = useTabsContext();
11
+ const isSelected = ctx.selectedId === item.id;
12
+ const { colors, canvas, scale, style, iconSize, iconSx, boxProps } = useTabAppearance(isSelected, item.isDisabled);
13
+ const content = (_jsxs(_Fragment, { children: [item.icon ? (_jsx(Box, { as: "span", "aria-hidden": true, boxSize: `${iconSize}px`, sx: iconSx, children: item.icon })) : null, _jsx(Box, { as: "span", children: item.label }), item.count !== undefined ? (_jsx(CountBadge, { count: item.count, colors: colors, scale: scale, surface: ctx.variant === "solid" && isSelected ? style.bg : canvas, size: ctx.size })) : null] }));
14
+ if (item.isDisabled) {
15
+ return (_jsx(Box, { as: "span", "aria-disabled": "true", "data-value": item.id, ...boxProps, children: content }));
16
+ }
17
+ return (_jsx(Box, { as: linkAs, href: item.href, "aria-current": isSelected ? "page" : undefined, "data-value": item.id, onClick: (event) => {
18
+ if (!event.defaultPrevented && isPlainPrimaryClick(event))
19
+ ctx.select(item.id);
20
+ }, ...boxProps, children: content }));
21
+ };
22
+ const TabLinkList = ({ items, linkAs, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy }) => {
23
+ const { colors } = useCustomTheme();
24
+ const ctx = useTabsContext();
25
+ const isVertical = ctx.orientation === "vertical";
26
+ const isLine = ctx.variant === "line";
27
+ return (_jsx(Flex, { as: "nav", "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, direction: isVertical ? "column" : "row", flexShrink: 0, minW: isVertical ? "10rem" : undefined, overflowX: isVertical ? undefined : "auto", overflowY: isVertical ? "auto" : undefined, flexWrap: "nowrap", gap: isLine ? 1 : 1.5, borderBottom: isLine && !isVertical ? "1px solid" : undefined, borderBottomColor: isLine && !isVertical ? colors.boxborder[200] : undefined, borderRight: isLine && isVertical ? "1px solid" : undefined, borderRightColor: isLine && isVertical ? colors.boxborder[200] : undefined, sx: scrollbarStyles(colors, "hover"), children: items === null || items === void 0 ? void 0 : items.map((item) => (_jsx(TabLink, { item: item, linkAs: linkAs }, item.id))) }));
28
+ };
29
+ export default TabLinkList;
@@ -0,0 +1,63 @@
1
+ import { useCustomTheme } from "../../Theme/useCustomTheme.js";
2
+ import { FOCUS_VISIBLE_OVER_STATE } from "../../Theme/chakra/focusRing.styles.js";
3
+ import { AA_NON_TEXT, liftToContrast } from "../../Theme/tokens/builders/outlineRung.js";
4
+ import { compositeOver } from "../../Theme/tokens/builders/color.js";
5
+ import { transitionFor } from "../../Theme/tokens/primitives/motion.js";
6
+ import { reducedMotionSx } from "../../Theme/chakra/motion.js";
7
+ import { BUTTON_SIZES } from "../../Theme/tokens/primitives/controlSizes.js";
8
+ import { iconBoxSx } from "../Common/iconBox.js";
9
+ import { resolveTabStyle, scaleForColorScheme } from "./tabStyles.js";
10
+ import { useTabsContext } from "./TabsContext.js";
11
+ export const useTabAppearance = (isSelected, isDisabled) => {
12
+ var _a, _b, _c;
13
+ const { colors } = useCustomTheme();
14
+ const ctx = useTabsContext();
15
+ const isVertical = ctx.orientation === "vertical";
16
+ const isLine = ctx.variant === "line";
17
+ const canvas = colors.backgroundColor.main;
18
+ const scale = scaleForColorScheme(colors, ctx.colorScheme);
19
+ const style = resolveTabStyle(colors, scale, canvas, ctx.variant, isSelected);
20
+ const spec = BUTTON_SIZES[ctx.size];
21
+ // The list scrolls on both axes, so an outer ring is clipped into arcs; a negative offset draws it
22
+ // inside the tab, clear of its own border rather than thickening it.
23
+ const focusRing = {
24
+ outline: `1px solid ${liftToContrast(colors.primary[500],
25
+ // subtle/ghost fills are translucent tints; contrast has no meaning until they are flattened.
26
+ style.bg === "transparent" ? canvas : compositeOver(style.bg, canvas), AA_NON_TEXT)}`,
27
+ outlineOffset: "-2px",
28
+ };
29
+ const borderProps = ctx.variant === "outline"
30
+ ? { border: "1px solid", borderColor: (_a = style.border) !== null && _a !== void 0 ? _a : "transparent" }
31
+ : isLine
32
+ ? isVertical
33
+ ? { borderLeft: "0.125rem solid", borderLeftColor: (_b = style.indicator) !== null && _b !== void 0 ? _b : "transparent" }
34
+ : { borderBottom: "0.125rem solid", borderBottomColor: (_c = style.indicator) !== null && _c !== void 0 ? _c : "transparent" }
35
+ : {};
36
+ const boxProps = {
37
+ display: "flex",
38
+ alignItems: "center",
39
+ justifyContent: "center",
40
+ gap: "0.375rem",
41
+ flexShrink: 0,
42
+ flex: ctx.isFitted ? 1 : undefined,
43
+ w: isVertical ? "100%" : undefined,
44
+ h: isVertical ? "auto" : spec.height,
45
+ minH: spec.height,
46
+ py: isVertical ? "0.5rem" : undefined,
47
+ px: spec.paddingX,
48
+ fontSize: spec.fontSize,
49
+ fontWeight: isSelected ? 600 : 500,
50
+ whiteSpace: "nowrap",
51
+ textDecoration: "none",
52
+ cursor: isDisabled ? "not-allowed" : "pointer",
53
+ opacity: isDisabled ? 0.5 : 1,
54
+ borderRadius: isLine ? "none" : "lg",
55
+ bg: style.bg,
56
+ color: style.color,
57
+ ...borderProps,
58
+ transition: transitionFor(["background-color", "color", "border-color"]),
59
+ sx: { _focusVisible: focusRing, [FOCUS_VISIBLE_OVER_STATE]: focusRing, ...reducedMotionSx() },
60
+ _hover: !isDisabled ? { bg: style.hoverBg, color: style.hoverColor, textDecoration: "none" } : undefined,
61
+ };
62
+ return { ctx, colors, canvas, scale, style, iconSize: spec.iconSize, iconSx: iconBoxSx(spec.iconSize), boxProps };
63
+ };
@@ -1,10 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Box, Icon, Tag as ChakraTag, TagLabel, TagLeftIcon, TagRightIcon } from "@chakra-ui/react";
2
+ import { Box, Flex, Icon, Tag as ChakraTag, TagLabel, TagLeftIcon, TagRightIcon, Text } from "@chakra-ui/react";
3
3
  import { toneToColorScheme } from "../../Theme/tokens/builders/tone.js";
4
4
  import { transitionFor } from "../../Theme/tokens/primitives/motion.js";
5
5
  import { reducedMotionSx } from "../../Theme/chakra/motion.js";
6
6
  import { focusVisibleStyles } from "../../Theme/chakra/focusRing.styles.js";
7
7
  import { useCustomTheme } from "../../Theme/useCustomTheme.js";
8
+ import { dotColor } from "./tagDot.js";
8
9
  // NOTE: the label's pill radius would slice descenders, so clipping lives on a square child.
9
10
  const LabelText = ({ children, title }) => (_jsx(Box, { as: "span", title: title, display: "block", overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap", borderRadius: 0, px: "0.05em", mx: "-0.05em", children: children }));
10
11
  const ICON_SIZE = {
@@ -13,10 +14,19 @@ const ICON_SIZE = {
13
14
  md: "1em",
14
15
  lg: "1.1em",
15
16
  };
17
+ const DOT_FONT_SIZE = {
18
+ xs: "0.75rem",
19
+ sm: "0.8125rem",
20
+ md: "0.875rem",
21
+ lg: "0.9375rem",
22
+ };
16
23
  /** Renders a pill-shaped status/filter chip (Chakra Tag) — not interchangeable with the raw Badge primitive's static marker. */
17
- const Tag = ({ label, colorScheme = "primary", tone, variant = "subtle", size = "sm", maxW, icon, leadingIcon, onTagClick, onIconClick, isDisabled, "data-testid": testId, }) => {
24
+ const Tag = ({ label, colorScheme = "primary", tone, variant = "subtle", display = "chip", size = "sm", maxW, icon, leadingIcon, onTagClick, onIconClick, isDisabled, "data-testid": testId, }) => {
18
25
  const { colors } = useCustomTheme();
19
26
  const isInteractive = !!onTagClick;
27
+ if (display === "dot") {
28
+ return (_jsxs(Flex, { as: isInteractive ? "button" : "span", ...(isInteractive ? { type: "button", disabled: isDisabled || undefined } : {}), display: "inline-flex", alignItems: "center", gap: 2, maxW: maxW, minW: 0, borderRadius: "sm", bg: "transparent", fontSize: DOT_FONT_SIZE[size], fontWeight: 500, color: colors.text[700], cursor: isInteractive ? "pointer" : undefined, opacity: isDisabled ? 0.5 : undefined, onClick: isInteractive && !isDisabled ? onTagClick : undefined, "data-testid": testId, "data-display": "dot", "data-disabled": isDisabled || undefined, sx: isInteractive ? focusVisibleStyles(colors) : undefined, children: [_jsx(Box, { as: "span", "aria-hidden": true, boxSize: "0.5rem", flexShrink: 0, borderRadius: "full", bg: dotColor(colors, tone, colorScheme) }), _jsx(Text, { as: "span", noOfLines: 1, title: maxW ? label : undefined, children: label })] }));
29
+ }
20
30
  return (_jsxs(ChakraTag, { size: size, variant: variant, colorScheme: tone ? toneToColorScheme[tone] : colorScheme, borderRadius: "full", maxW: maxW, "data-testid": testId, "data-interactive": isInteractive || undefined, "data-disabled": isDisabled || undefined, "aria-disabled": isDisabled || undefined, children: [leadingIcon && _jsx(TagLeftIcon, { as: leadingIcon, boxSize: ICON_SIZE[size], "aria-hidden": true }), isInteractive ? (_jsx(TagLabel, { as: "button", type: "button", noOfLines: undefined, disabled: isDisabled || undefined, cursor: "pointer", onClick: isDisabled ? undefined : onTagClick, children: _jsx(LabelText, { title: maxW ? label : undefined, children: label }) })) : (_jsx(TagLabel, { noOfLines: undefined, children: _jsx(LabelText, { title: maxW ? label : undefined, children: label }) })), icon &&
21
31
  (onIconClick ? (_jsx(Box, { as: "button", type: "button", "aria-label": `Remove ${label}`, "data-testid": testId ? `${testId}-remove` : undefined, disabled: isDisabled || undefined, onClick: (e) => {
22
32
  e.stopPropagation();
@@ -0,0 +1,17 @@
1
+ import { liftToContrast } from "../../Theme/tokens/builders/outlineRung.js";
2
+ import { toneToSemantic } from "../../Theme/tokens/builders/tone.js";
3
+ const SCALE_KEYS = [
4
+ "primary", "secondary", "tertiary", "gray", "red", "orange", "yellow",
5
+ "green", "teal", "blue", "cyan", "purple", "pink",
6
+ ];
7
+ export const dotColor = (colors, tone, colorScheme) => {
8
+ const surfaces = [colors.background[50], colors.backgroundColor.main];
9
+ if (tone === "neutral")
10
+ return colors.textMuted;
11
+ const scale = tone
12
+ ? colors.semantic[toneToSemantic[tone]]
13
+ : SCALE_KEYS.includes(colorScheme)
14
+ ? colors[colorScheme]
15
+ : colors.gray;
16
+ return surfaces.reduce((ink, surface) => liftToContrast(ink, surface), scale[500]);
17
+ };
package/dist/esm/index.js CHANGED
@@ -184,6 +184,9 @@ export { fieldLabelStyles } from "./Components/Common/FormLabel.js";
184
184
  export { fieldMessageStyles } from "./Components/Common/fieldMessageStyles.js";
185
185
  export { default as PageHeader } from "./Components/PageHeader/PageHeader.js";
186
186
  export { default as StatCard } from "./Components/StatCard/StatCard.js";
187
+ export { default as StatusTag } from "./Components/StatusTag/StatusTag.js";
188
+ export { default as CircularProgress } from "./Components/CircularProgress/CircularProgress.js";
189
+ export { default as FormDrawer } from "./Components/FormDrawer/FormDrawer.js";
187
190
  export { default as ErrorState } from "./Components/QueryState/ErrorState.js";
188
191
  export { default as QueryStateBoundary } from "./Components/QueryState/QueryStateBoundary.js";
189
192
  export { default as Backdrop } from "./Components/Backdrop/Backdrop.js";
@@ -198,6 +201,10 @@ export { resolveAvatarColorway, avatarScaleKeyFor, initialsFor } from "./Compone
198
201
  export { default as PersonChip } from "./Components/PersonChip/PersonChip.js";
199
202
  export { default as FeedbackForm } from "./Components/FeedbackForm/FeedbackForm.js";
200
203
  export { default as SaveBar } from "./Components/SaveBar/SaveBar.js";
204
+ export { default as BulkSelectionBar } from "./Components/BulkSelectionBar/BulkSelectionBar.js";
205
+ export { default as SectionRail } from "./Components/SectionRail/SectionRail.js";
206
+ export { default as CalendarGrid } from "./Components/CalendarGrid/CalendarGrid.js";
207
+ export { default as AudioRecorder } from "./Components/AudioRecorder/AudioRecorder.js";
201
208
  /** @deprecated Misspelling kept for consumers. Use `Accordion`. */
202
209
  export { default as Accordian } from "./Components/Accordion/Accordion.js";
203
210
  export { Tabs, TabList, Tab, TabPanels, TabPanel } from "./Components/Tabs/index.js";
package/dist/index.d.ts CHANGED
@@ -168,7 +168,7 @@ export type { ToggleSwitchProps, ToggleSwitchSize, ToggleSwitchColorScheme, } fr
168
168
  export type { SegmentedControlProps, SegmentedControlOption, SegmentedControlSize, } from "./Components/SegmentedControl/SegmentedControlProps";
169
169
  export type { ChakraRadioProps as RadioButtonProps, ChakraRadioGroupProps as RadioButtonGroupProps, RadioOption } from "./Components/RadioButton/RadioButtonProps";
170
170
  export type { ChakraPinInputProps as PinInputProps } from "./Components/PinInput/PinInputProps";
171
- export type { TagProps, TagSize, TagVariant, TagColorScheme } from "./Components/Tag/TagProps";
171
+ export type { TagProps, TagSize, TagVariant, TagColorScheme, TagDisplay } from "./Components/Tag/TagProps";
172
172
  export type { ToolTipProps } from "./Components/ToolTip/ToolTipProps";
173
173
  export type { EmptyStateProps, EmptyStateSize, EmptyStateColorScheme } from "./Components/EmptyState/EmptyStateProps";
174
174
  export type { LoadingProps } from "./Components/Loading/LoadingProps";
@@ -214,9 +214,15 @@ export { default as PageHeader } from "./Components/PageHeader/PageHeader";
214
214
  export type { PageHeaderProps, PageHeaderTitleSize, PageHeaderActionsLayout } from "./Components/PageHeader/PageHeaderProps";
215
215
  export { default as StatCard } from "./Components/StatCard/StatCard";
216
216
  export type { StatCardProps } from "./Components/StatCard/StatCardProps";
217
+ export { default as StatusTag } from "./Components/StatusTag/StatusTag";
218
+ export type { StatusTagProps, StatusAppearance } from "./Components/StatusTag/StatusTagProps";
219
+ export { default as CircularProgress } from "./Components/CircularProgress/CircularProgress";
220
+ export type { CircularProgressProps, CircularProgressSize } from "./Components/CircularProgress/CircularProgressProps";
221
+ export { default as FormDrawer } from "./Components/FormDrawer/FormDrawer";
222
+ export type { FormDrawerProps, FormDrawerSection, FormDrawerLabels } from "./Components/FormDrawer/FormDrawerProps";
217
223
  export { default as ErrorState } from "./Components/QueryState/ErrorState";
218
224
  export { default as QueryStateBoundary } from "./Components/QueryState/QueryStateBoundary";
219
- export type { ErrorStateProps, QueryStateBoundaryProps } from "./Components/QueryState/QueryStateProps";
225
+ export type { ErrorStateProps, QueryStateBoundaryProps, QueryStateForbiddenProps } from "./Components/QueryState/QueryStateProps";
220
226
  export { default as Backdrop } from "./Components/Backdrop/Backdrop";
221
227
  export type { BackdropProps, BackdropVariant } from "./Components/Backdrop/BackdropProps";
222
228
  export { default as Spinner } from "./Components/Spinner/Spinner";
@@ -241,6 +247,14 @@ export { default as FeedbackForm } from "./Components/FeedbackForm/FeedbackForm"
241
247
  export type { FeedbackFormProps, FeedbackPayload } from "./Components/FeedbackForm/FeedbackForm";
242
248
  export { default as SaveBar } from "./Components/SaveBar/SaveBar";
243
249
  export type { SaveBarProps } from "./Components/SaveBar/SaveBarProps";
250
+ export { default as BulkSelectionBar } from "./Components/BulkSelectionBar/BulkSelectionBar";
251
+ export type { BulkSelectionBarProps, BulkAction, BulkActionTone } from "./Components/BulkSelectionBar/BulkSelectionBarProps";
252
+ export { default as SectionRail } from "./Components/SectionRail/SectionRail";
253
+ export type { SectionRailProps, RailSection } from "./Components/SectionRail/SectionRailProps";
254
+ export { default as CalendarGrid } from "./Components/CalendarGrid/CalendarGrid";
255
+ export type { CalendarEvent, CalendarGridProps, CalendarGridView, CalendarGridLabels } from "./Components/CalendarGrid/CalendarGridProps";
256
+ export { default as AudioRecorder } from "./Components/AudioRecorder/AudioRecorder";
257
+ export type { AudioRecorderProps, AudioRecorderLabels } from "./Components/AudioRecorder/AudioRecorderProps";
244
258
  export type { ToasterStatus } from "./Components/Toaster/ToasterProps";
245
259
  export type { TableColumnAlign } from "./Components/Table/TableProps";
246
260
  export type { KanbanBoardProps, ColumnType as KanbanColumnType, Account as KanbanAccount, ColumnCollapseChangePayload, KanbanDragPayload, KanbanPermissions, } from "./Components/KanbanBoard/KanbanBoardProps";
package/dist/index.js CHANGED
@@ -44,10 +44,10 @@ exports.splitMonthsAndDays = exports.resolvePlanBadge = exports.formatPlanRemain
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
46
  exports.appInitials = exports.describeDayStates = exports.resolveDayStateVisual = 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.optionRowDescriptionInk = exports.optionRowWeight = exports.optionRowInk = exports.resolveFilledSurface = exports.labelOnFill = exports.darkerFillRung = exports.solidFillRung = exports.DARK_CANVAS_LUMINANCE = exports.AA_NORMAL_TEXT = exports.pickAccentText = 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.Backdrop = exports.QueryStateBoundary = exports.ErrorState = exports.StatCard = exports.PageHeader = exports.fieldMessageStyles = exports.fieldLabelStyles = exports.controlSizeStyles = exports.fieldControlStyles = exports.FieldMessage = exports.useFieldIds = exports.REDUCED_MOTION_QUERY = exports.reducedMotionSx = exports.usePrefersReducedMotion = exports.OVERLAY_BLUR = exports.overlayScrimStyles = 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.transitionFor = 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 = void 0;
48
- 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 = exports.NotificationList = exports.NotificationPanel = exports.NotificationBell = exports.ConfirmDialog = exports.TabPanel = exports.TabPanels = exports.Tab = exports.TabList = exports.Tabs = exports.Accordian = 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 = void 0;
49
- 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 = 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 = void 0;
50
- exports.firstInvalidStep = exports.wizardTransition = exports.Wizard = exports.WizardDialog = exports.flattenScreens = exports.searchLauncherSections = exports.searchLauncher = exports.NewTabLink = 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 = void 0;
47
+ exports.FormDrawer = exports.CircularProgress = exports.StatusTag = exports.StatCard = exports.PageHeader = exports.fieldMessageStyles = exports.fieldLabelStyles = exports.controlSizeStyles = exports.fieldControlStyles = exports.FieldMessage = exports.useFieldIds = exports.REDUCED_MOTION_QUERY = exports.reducedMotionSx = exports.usePrefersReducedMotion = exports.OVERLAY_BLUR = exports.overlayScrimStyles = 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.transitionFor = 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 = void 0;
48
+ 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 = 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 = void 0;
49
+ 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 = 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 = void 0;
50
+ exports.firstInvalidStep = exports.wizardTransition = exports.Wizard = exports.WizardDialog = exports.flattenScreens = exports.searchLauncherSections = exports.searchLauncher = exports.NewTabLink = 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 = void 0;
51
51
  const Accordion_1 = __importDefault(require("./Components/Accordion/Accordion"));
52
52
  exports.Accordion = Accordion_1.default;
53
53
  const AlertDialog_1 = __importDefault(require("./Components/AlertDialog/AlertDialog"));
@@ -469,6 +469,12 @@ var PageHeader_1 = require("./Components/PageHeader/PageHeader");
469
469
  Object.defineProperty(exports, "PageHeader", { enumerable: true, get: function () { return __importDefault(PageHeader_1).default; } });
470
470
  var StatCard_1 = require("./Components/StatCard/StatCard");
471
471
  Object.defineProperty(exports, "StatCard", { enumerable: true, get: function () { return __importDefault(StatCard_1).default; } });
472
+ var StatusTag_1 = require("./Components/StatusTag/StatusTag");
473
+ Object.defineProperty(exports, "StatusTag", { enumerable: true, get: function () { return __importDefault(StatusTag_1).default; } });
474
+ var CircularProgress_1 = require("./Components/CircularProgress/CircularProgress");
475
+ Object.defineProperty(exports, "CircularProgress", { enumerable: true, get: function () { return __importDefault(CircularProgress_1).default; } });
476
+ var FormDrawer_1 = require("./Components/FormDrawer/FormDrawer");
477
+ Object.defineProperty(exports, "FormDrawer", { enumerable: true, get: function () { return __importDefault(FormDrawer_1).default; } });
472
478
  var ErrorState_1 = require("./Components/QueryState/ErrorState");
473
479
  Object.defineProperty(exports, "ErrorState", { enumerable: true, get: function () { return __importDefault(ErrorState_1).default; } });
474
480
  var QueryStateBoundary_1 = require("./Components/QueryState/QueryStateBoundary");
@@ -499,6 +505,14 @@ var FeedbackForm_1 = require("./Components/FeedbackForm/FeedbackForm");
499
505
  Object.defineProperty(exports, "FeedbackForm", { enumerable: true, get: function () { return __importDefault(FeedbackForm_1).default; } });
500
506
  var SaveBar_1 = require("./Components/SaveBar/SaveBar");
501
507
  Object.defineProperty(exports, "SaveBar", { enumerable: true, get: function () { return __importDefault(SaveBar_1).default; } });
508
+ var BulkSelectionBar_1 = require("./Components/BulkSelectionBar/BulkSelectionBar");
509
+ Object.defineProperty(exports, "BulkSelectionBar", { enumerable: true, get: function () { return __importDefault(BulkSelectionBar_1).default; } });
510
+ var SectionRail_1 = require("./Components/SectionRail/SectionRail");
511
+ Object.defineProperty(exports, "SectionRail", { enumerable: true, get: function () { return __importDefault(SectionRail_1).default; } });
512
+ var CalendarGrid_1 = require("./Components/CalendarGrid/CalendarGrid");
513
+ Object.defineProperty(exports, "CalendarGrid", { enumerable: true, get: function () { return __importDefault(CalendarGrid_1).default; } });
514
+ var AudioRecorder_1 = require("./Components/AudioRecorder/AudioRecorder");
515
+ Object.defineProperty(exports, "AudioRecorder", { enumerable: true, get: function () { return __importDefault(AudioRecorder_1).default; } });
502
516
  /** @deprecated Misspelling kept for consumers. Use `Accordion`. */
503
517
  var Accordion_2 = require("./Components/Accordion/Accordion");
504
518
  Object.defineProperty(exports, "Accordian", { enumerable: true, get: function () { return __importDefault(Accordion_2).default; } });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pixelize-design-library",
3
- "version": "2.4.2-beta.59",
3
+ "version": "2.4.2-beta.60",
4
4
  "description": "React component library for Pixelize apps: themeable Chakra-based components, design tokens and light/dark brand theming.",
5
5
  "keywords": [
6
6
  "react",