pixelize-design-library 2.4.2-beta.58 → 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 (244) hide show
  1. package/CHANGELOG.md +149 -5
  2. package/COMPONENT-GOTCHAS.md +205 -18
  3. package/DESIGN-GUIDE.md +43 -9
  4. package/dist/Components/AppSwitcher/AppSwitcher.js +5 -1
  5. package/dist/Components/AppSwitcher/AppSwitcherProps.d.ts +2 -0
  6. package/dist/Components/AppSwitcher/AppSwitcherProps.js +7 -4
  7. package/dist/Components/AudioRecorder/AudioRecorder.d.ts +8 -0
  8. package/dist/Components/AudioRecorder/AudioRecorder.js +169 -0
  9. package/dist/Components/AudioRecorder/AudioRecorderProps.d.ts +20 -0
  10. package/dist/Components/AudioRecorder/AudioRecorderProps.js +2 -0
  11. package/dist/Components/Breadcrumbs/Breadcrumbs.d.ts +1 -1
  12. package/dist/Components/Breadcrumbs/Breadcrumbs.js +33 -10
  13. package/dist/Components/Breadcrumbs/BreadcrumbsProps.d.ts +16 -2
  14. package/dist/Components/BulkSelectionBar/BulkSelectionBar.d.ts +3 -0
  15. package/dist/Components/BulkSelectionBar/BulkSelectionBar.js +43 -0
  16. package/dist/Components/BulkSelectionBar/BulkSelectionBarProps.d.ts +35 -0
  17. package/dist/Components/BulkSelectionBar/BulkSelectionBarProps.js +2 -0
  18. package/dist/Components/BulkSelectionBar/index.d.ts +2 -0
  19. package/dist/Components/BulkSelectionBar/index.js +8 -0
  20. package/dist/Components/CalendarGrid/CalendarGrid.d.ts +3 -0
  21. package/dist/Components/CalendarGrid/CalendarGrid.js +173 -0
  22. package/dist/Components/CalendarGrid/CalendarGridProps.d.ts +54 -0
  23. package/dist/Components/CalendarGrid/CalendarGridProps.js +2 -0
  24. package/dist/Components/CalendarGrid/calendarMath.d.ts +49 -0
  25. package/dist/Components/CalendarGrid/calendarMath.js +178 -0
  26. package/dist/Components/Card/Card.d.ts +3 -1
  27. package/dist/Components/Card/Card.js +12 -2
  28. package/dist/Components/Card/CardProps.d.ts +5 -1
  29. package/dist/Components/CircularProgress/CircularProgress.d.ts +4 -0
  30. package/dist/Components/CircularProgress/CircularProgress.js +39 -0
  31. package/dist/Components/CircularProgress/CircularProgressProps.d.ts +22 -0
  32. package/dist/Components/CircularProgress/CircularProgressProps.js +2 -0
  33. package/dist/Components/CircularProgress/arc.d.ts +12 -0
  34. package/dist/Components/CircularProgress/arc.js +16 -0
  35. package/dist/Components/Common/fieldStyles.d.ts +1 -0
  36. package/dist/Components/Common/fieldStyles.js +2 -1
  37. package/dist/Components/Drawer/Drawer.d.ts +1 -1
  38. package/dist/Components/Drawer/Drawer.js +4 -2
  39. package/dist/Components/Drawer/DrawerProps.d.ts +3 -1
  40. package/dist/Components/Editor/Editor.js +50 -2
  41. package/dist/Components/Editor/EditorFieldBar.d.ts +15 -0
  42. package/dist/Components/Editor/EditorFieldBar.js +19 -0
  43. package/dist/Components/Editor/EditorProps.d.ts +74 -1
  44. package/dist/Components/Editor/MakeDynamicDialog.d.ts +12 -0
  45. package/dist/Components/Editor/MakeDynamicDialog.js +59 -0
  46. package/dist/Components/Editor/editorLabels.d.ts +4 -0
  47. package/dist/Components/Editor/editorLabels.js +24 -0
  48. package/dist/Components/Editor/editorTokenStyles.d.ts +28 -0
  49. package/dist/Components/Editor/editorTokenStyles.js +30 -0
  50. package/dist/Components/Editor/editorTokens.d.ts +26 -0
  51. package/dist/Components/Editor/editorTokens.js +134 -0
  52. package/dist/Components/Editor/useEditorBridge.d.ts +40 -0
  53. package/dist/Components/Editor/useEditorBridge.js +141 -0
  54. package/dist/Components/EmptyState/EmptyState.js +2 -1
  55. package/dist/Components/EmptyState/EmptyStateProps.d.ts +2 -2
  56. package/dist/Components/FormDrawer/FormDrawer.d.ts +2 -0
  57. package/dist/Components/FormDrawer/FormDrawer.js +97 -0
  58. package/dist/Components/FormDrawer/FormDrawerProps.d.ts +55 -0
  59. package/dist/Components/FormDrawer/FormDrawerProps.js +2 -0
  60. package/dist/Components/Kbd/Kbd.d.ts +6 -0
  61. package/dist/Components/Kbd/Kbd.js +33 -0
  62. package/dist/Components/Kbd/KbdProps.d.ts +17 -0
  63. package/dist/Components/Kbd/KbdProps.js +2 -0
  64. package/dist/Components/LauncherTrigger/LauncherTrigger.d.ts +4 -0
  65. package/dist/Components/LauncherTrigger/LauncherTrigger.js +48 -0
  66. package/dist/Components/LauncherTrigger/LauncherTriggerProps.d.ts +18 -0
  67. package/dist/Components/LauncherTrigger/LauncherTriggerProps.js +2 -0
  68. package/dist/Components/Modal/Modal.d.ts +1 -1
  69. package/dist/Components/Modal/Modal.js +4 -2
  70. package/dist/Components/Modal/ModalProps.d.ts +3 -1
  71. package/dist/Components/Modal/warnDroppedSlotChildren.d.ts +2 -0
  72. package/dist/Components/Modal/warnDroppedSlotChildren.js +45 -0
  73. package/dist/Components/NavLauncher/NavLauncher.d.ts +3 -0
  74. package/dist/Components/NavLauncher/NavLauncher.js +452 -0
  75. package/dist/Components/NavLauncher/NavLauncherProps.d.ts +187 -0
  76. package/dist/Components/NavLauncher/NavLauncherProps.js +2 -0
  77. package/dist/Components/NavLauncher/NewTabLink.d.ts +3 -0
  78. package/dist/Components/NavLauncher/NewTabLink.js +14 -0
  79. package/dist/Components/NavLauncher/PinToggle.d.ts +3 -0
  80. package/dist/Components/NavLauncher/PinToggle.js +21 -0
  81. package/dist/Components/NavLauncher/launcherParts.d.ts +152 -0
  82. package/dist/Components/NavLauncher/launcherParts.js +212 -0
  83. package/dist/Components/NavLauncher/match.d.ts +53 -0
  84. package/dist/Components/NavLauncher/match.js +178 -0
  85. package/dist/Components/NavLauncher/revealStyles.d.ts +4 -0
  86. package/dist/Components/NavLauncher/revealStyles.js +19 -0
  87. package/dist/Components/NavigationBar/NavigationBar.d.ts +1 -1
  88. package/dist/Components/NavigationBar/NavigationBar.js +2 -2
  89. package/dist/Components/NavigationBar/NavigationBarProps.d.ts +2 -0
  90. package/dist/Components/PageHeader/PageHeader.d.ts +1 -1
  91. package/dist/Components/PageHeader/PageHeader.js +9 -2
  92. package/dist/Components/PageHeader/PageHeaderProps.d.ts +8 -0
  93. package/dist/Components/PdfViewer/PdfViewer.d.ts +21 -4
  94. package/dist/Components/PdfViewer/PdfViewer.js +124 -3
  95. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +5 -0
  96. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewerProps.d.ts +1 -1
  97. package/dist/Components/QueryState/QueryStateBoundary.d.ts +2 -2
  98. package/dist/Components/QueryState/QueryStateBoundary.js +9 -3
  99. package/dist/Components/QueryState/QueryStateProps.d.ts +19 -2
  100. package/dist/Components/Search/Search.js +2 -1
  101. package/dist/Components/SectionRail/SectionRail.d.ts +3 -0
  102. package/dist/Components/SectionRail/SectionRail.js +49 -0
  103. package/dist/Components/SectionRail/SectionRailProps.d.ts +23 -0
  104. package/dist/Components/SectionRail/SectionRailProps.js +2 -0
  105. package/dist/Components/SectionRail/index.d.ts +2 -0
  106. package/dist/Components/SectionRail/index.js +8 -0
  107. package/dist/Components/SegmentedControl/SegmentedControl.js +9 -14
  108. package/dist/Components/SegmentedControl/segmentedInk.d.ts +0 -2
  109. package/dist/Components/SegmentedControl/segmentedInk.js +1 -5
  110. package/dist/Components/SideBar/SecondaryBar.js +4 -3
  111. package/dist/Components/SideBar/SideBar.d.ts +1 -1
  112. package/dist/Components/SideBar/SideBar.js +30 -9
  113. package/dist/Components/SideBar/SideBarProps.d.ts +32 -0
  114. package/dist/Components/SideBar/components/MenuItemBox.d.ts +6 -0
  115. package/dist/Components/SideBar/components/MenuItemBox.js +8 -4
  116. package/dist/Components/SideBar/components/MenuPopoverContent.js +3 -2
  117. package/dist/Components/SideBar/components/OtherApps.js +2 -1
  118. package/dist/Components/SideBar/components/PinnedSection.d.ts +17 -0
  119. package/dist/Components/SideBar/components/PinnedSection.js +98 -0
  120. package/dist/Components/SideBar/sidebarFocus.d.ts +23 -0
  121. package/dist/Components/SideBar/sidebarFocus.js +20 -0
  122. package/dist/Components/StageProgress/StageProgress.js +2 -2
  123. package/dist/Components/StageProgress/StageProgressProps.d.ts +2 -0
  124. package/dist/Components/StageProgress/StepperStage.js +5 -2
  125. package/dist/Components/StatCard/StatCard.d.ts +1 -1
  126. package/dist/Components/StatCard/StatCard.js +6 -2
  127. package/dist/Components/StatCard/StatCardProps.d.ts +3 -0
  128. package/dist/Components/StatusTag/StatusTag.d.ts +4 -0
  129. package/dist/Components/StatusTag/StatusTag.js +24 -0
  130. package/dist/Components/StatusTag/StatusTagProps.d.ts +20 -0
  131. package/dist/Components/StatusTag/StatusTagProps.js +2 -0
  132. package/dist/Components/Table/Table.d.ts +1 -1
  133. package/dist/Components/Table/Table.js +6 -2
  134. package/dist/Components/Table/TableProps.d.ts +20 -0
  135. package/dist/Components/Table/components/TableBody.d.ts +1 -1
  136. package/dist/Components/Table/components/TableBody.js +43 -18
  137. package/dist/Components/Table/components/TableHeader.d.ts +1 -1
  138. package/dist/Components/Table/components/TableHeader.js +7 -5
  139. package/dist/Components/Table/components/rowDetail.d.ts +32 -0
  140. package/dist/Components/Table/components/rowDetail.js +20 -0
  141. package/dist/Components/Table/hooks/useRowExpansion.d.ts +7 -0
  142. package/dist/Components/Table/hooks/useRowExpansion.js +27 -0
  143. package/dist/Components/Tabs/Tabs.d.ts +1 -1
  144. package/dist/Components/Tabs/Tabs.js +15 -2
  145. package/dist/Components/Tabs/TabsProps.d.ts +6 -2
  146. package/dist/Components/Tabs/components/Tab.js +4 -33
  147. package/dist/Components/Tabs/components/TabLinkList.d.ts +7 -0
  148. package/dist/Components/Tabs/components/TabLinkList.js +34 -0
  149. package/dist/Components/Tabs/useTabAppearance.d.ts +17 -0
  150. package/dist/Components/Tabs/useTabAppearance.js +67 -0
  151. package/dist/Components/Tag/Tag.js +11 -1
  152. package/dist/Components/Tag/TagProps.d.ts +4 -0
  153. package/dist/Components/Tag/tagDot.d.ts +3 -0
  154. package/dist/Components/Tag/tagDot.js +21 -0
  155. package/dist/Components/WizardDialog/WizardDialog.d.ts +9 -0
  156. package/dist/Components/WizardDialog/WizardDialog.js +102 -0
  157. package/dist/Components/WizardDialog/WizardDialogProps.d.ts +48 -0
  158. package/dist/Components/WizardDialog/WizardDialogProps.js +2 -0
  159. package/dist/Components/WizardDialog/useWizardFlow.d.ts +22 -0
  160. package/dist/Components/WizardDialog/useWizardFlow.js +47 -0
  161. package/dist/Components/WizardDialog/wizardSteps.d.ts +31 -0
  162. package/dist/Components/WizardDialog/wizardSteps.js +40 -0
  163. package/dist/esm/Components/AppSwitcher/AppSwitcher.js +2 -1
  164. package/dist/esm/Components/AppSwitcher/AppSwitcherProps.js +5 -3
  165. package/dist/esm/Components/AudioRecorder/AudioRecorder.js +161 -0
  166. package/dist/esm/Components/AudioRecorder/AudioRecorderProps.js +1 -0
  167. package/dist/esm/Components/Breadcrumbs/Breadcrumbs.js +35 -12
  168. package/dist/esm/Components/BulkSelectionBar/BulkSelectionBar.js +38 -0
  169. package/dist/esm/Components/BulkSelectionBar/BulkSelectionBarProps.js +1 -0
  170. package/dist/esm/Components/BulkSelectionBar/index.js +1 -0
  171. package/dist/esm/Components/CalendarGrid/CalendarGrid.js +168 -0
  172. package/dist/esm/Components/CalendarGrid/CalendarGridProps.js +1 -0
  173. package/dist/esm/Components/CalendarGrid/calendarMath.js +155 -0
  174. package/dist/esm/Components/Card/Card.js +12 -2
  175. package/dist/esm/Components/CircularProgress/CircularProgress.js +37 -0
  176. package/dist/esm/Components/CircularProgress/CircularProgressProps.js +1 -0
  177. package/dist/esm/Components/CircularProgress/arc.js +11 -0
  178. package/dist/esm/Components/Common/fieldStyles.js +2 -1
  179. package/dist/esm/Components/Drawer/Drawer.js +4 -2
  180. package/dist/esm/Components/Editor/Editor.js +48 -3
  181. package/dist/esm/Components/Editor/EditorFieldBar.js +13 -0
  182. package/dist/esm/Components/Editor/MakeDynamicDialog.js +20 -0
  183. package/dist/esm/Components/Editor/editorLabels.js +20 -0
  184. package/dist/esm/Components/Editor/editorTokenStyles.js +25 -0
  185. package/dist/esm/Components/Editor/editorTokens.js +121 -0
  186. package/dist/esm/Components/Editor/useEditorBridge.js +138 -0
  187. package/dist/esm/Components/EmptyState/EmptyState.js +2 -1
  188. package/dist/esm/Components/FormDrawer/FormDrawer.js +58 -0
  189. package/dist/esm/Components/FormDrawer/FormDrawerProps.js +1 -0
  190. package/dist/esm/Components/Kbd/Kbd.js +28 -0
  191. package/dist/esm/Components/Kbd/KbdProps.js +1 -0
  192. package/dist/esm/Components/LauncherTrigger/LauncherTrigger.js +41 -0
  193. package/dist/esm/Components/LauncherTrigger/LauncherTriggerProps.js +1 -0
  194. package/dist/esm/Components/Modal/Modal.js +4 -2
  195. package/dist/esm/Components/Modal/warnDroppedSlotChildren.js +38 -0
  196. package/dist/esm/Components/NavLauncher/NavLauncher.js +413 -0
  197. package/dist/esm/Components/NavLauncher/NavLauncherProps.js +1 -0
  198. package/dist/esm/Components/NavLauncher/NewTabLink.js +11 -0
  199. package/dist/esm/Components/NavLauncher/PinToggle.js +18 -0
  200. package/dist/esm/Components/NavLauncher/launcherParts.js +187 -0
  201. package/dist/esm/Components/NavLauncher/match.js +172 -0
  202. package/dist/esm/Components/NavLauncher/revealStyles.js +15 -0
  203. package/dist/esm/Components/NavigationBar/NavigationBar.js +3 -3
  204. package/dist/esm/Components/PageHeader/PageHeader.js +9 -2
  205. package/dist/esm/Components/PdfViewer/PdfViewer.js +123 -2
  206. package/dist/esm/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +5 -0
  207. package/dist/esm/Components/QueryState/QueryStateBoundary.js +10 -4
  208. package/dist/esm/Components/Search/Search.js +3 -2
  209. package/dist/esm/Components/SectionRail/SectionRail.js +44 -0
  210. package/dist/esm/Components/SectionRail/SectionRailProps.js +1 -0
  211. package/dist/esm/Components/SectionRail/index.js +1 -0
  212. package/dist/esm/Components/SegmentedControl/SegmentedControl.js +11 -16
  213. package/dist/esm/Components/SegmentedControl/segmentedInk.js +0 -3
  214. package/dist/esm/Components/SideBar/SecondaryBar.js +4 -3
  215. package/dist/esm/Components/SideBar/SideBar.js +31 -10
  216. package/dist/esm/Components/SideBar/components/MenuItemBox.js +4 -2
  217. package/dist/esm/Components/SideBar/components/MenuPopoverContent.js +3 -2
  218. package/dist/esm/Components/SideBar/components/OtherApps.js +2 -1
  219. package/dist/esm/Components/SideBar/components/PinnedSection.js +92 -0
  220. package/dist/esm/Components/SideBar/sidebarFocus.js +15 -0
  221. package/dist/esm/Components/StageProgress/StageProgress.js +2 -2
  222. package/dist/esm/Components/StageProgress/StepperStage.js +5 -2
  223. package/dist/esm/Components/StatCard/StatCard.js +6 -2
  224. package/dist/esm/Components/StatusTag/StatusTag.js +19 -0
  225. package/dist/esm/Components/StatusTag/StatusTagProps.js +1 -0
  226. package/dist/esm/Components/Table/Table.js +7 -3
  227. package/dist/esm/Components/Table/components/TableBody.js +43 -18
  228. package/dist/esm/Components/Table/components/TableHeader.js +7 -5
  229. package/dist/esm/Components/Table/components/rowDetail.js +14 -0
  230. package/dist/esm/Components/Table/hooks/useRowExpansion.js +23 -0
  231. package/dist/esm/Components/Tabs/Tabs.js +15 -2
  232. package/dist/esm/Components/Tabs/components/Tab.js +4 -33
  233. package/dist/esm/Components/Tabs/components/TabLinkList.js +29 -0
  234. package/dist/esm/Components/Tabs/useTabAppearance.js +63 -0
  235. package/dist/esm/Components/Tag/Tag.js +12 -2
  236. package/dist/esm/Components/Tag/tagDot.js +17 -0
  237. package/dist/esm/Components/WizardDialog/WizardDialog.js +58 -0
  238. package/dist/esm/Components/WizardDialog/WizardDialogProps.js +1 -0
  239. package/dist/esm/Components/WizardDialog/useWizardFlow.js +44 -0
  240. package/dist/esm/Components/WizardDialog/wizardSteps.js +35 -0
  241. package/dist/esm/index.js +14 -0
  242. package/dist/index.d.ts +35 -6
  243. package/dist/index.js +38 -4
  244. package/package.json +1 -1
@@ -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
+ };
@@ -0,0 +1,58 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useRef } from "react";
3
+ import { Alert, AlertDescription, AlertIcon, AlertTitle, Box, Flex, Heading, ListItem, Text, UnorderedList, } from "@chakra-ui/react";
4
+ import { useCustomTheme } from "../../Theme/useCustomTheme.js";
5
+ import Modal, { ModalBody, ModalFooter } from "../Modal/Modal.js";
6
+ import Button from "../Button/Button.js";
7
+ import StageProgress from "../StageProgress/StageProgress.js";
8
+ import DescriptionList from "../DescriptionList/DescriptionList.js";
9
+ import { useWizardFlow } from "./useWizardFlow.js";
10
+ export { wizardTransition, firstInvalidStep, INITIAL_WIZARD_STATE } from "./wizardSteps.js";
11
+ const DEFAULT_LABELS = {
12
+ back: "Back",
13
+ next: "Continue",
14
+ finish: "Finish",
15
+ cancel: "Cancel",
16
+ stepOf: (current, total) => `Step ${current} of ${total}`,
17
+ fixErrors: "Fix the following to continue",
18
+ review: "Review",
19
+ };
20
+ const WizardBody = ({ flow, steps, labels, testId }) => {
21
+ const { colors } = useCustomTheme();
22
+ const headingRef = useRef(null);
23
+ const previousStep = useRef(flow.step.id);
24
+ const reviewed = steps.filter((candidate) => candidate.summary !== undefined);
25
+ useEffect(() => {
26
+ var _a;
27
+ if (previousStep.current === flow.step.id)
28
+ return;
29
+ previousStep.current = flow.step.id;
30
+ (_a = headingRef.current) === null || _a === void 0 ? void 0 : _a.focus();
31
+ }, [flow.step.id]);
32
+ return (_jsxs(Flex, { direction: "column", gap: 5, "data-testid": testId, "data-step": flow.step.id, children: [_jsx(StageProgress, { variant: "stepper", size: "sm", showCheck: true, stages: steps.map((candidate, index) => ({
33
+ id: candidate.id,
34
+ label: candidate.label,
35
+ isDisabled: index > flow.furthest,
36
+ })), value: flow.step.id, onChange: (_id, _stage, index) => flow.goto(index) }), _jsxs(Box, { children: [_jsx(Text, { fontSize: "xs", color: colors.textMuted, children: labels.stepOf(flow.index + 1, steps.length) }), _jsx(Heading, { ref: headingRef, tabIndex: -1, as: "h3", fontSize: "md", fontWeight: 600, color: colors.header[900], _focus: { outline: "none" }, children: flow.step.label })] }), flow.errors.length ? (_jsxs(Alert, { status: "error", variant: "subtle", borderRadius: "md", alignItems: "flex-start", role: "alert", "data-testid": "wizard-errors", children: [_jsx(AlertIcon, {}), _jsxs(Box, { children: [_jsx(AlertTitle, { fontSize: "sm", children: labels.fixErrors }), _jsx(AlertDescription, { fontSize: "sm", children: _jsx(UnorderedList, { mt: 1, children: flow.errors.map((message) => (_jsx(ListItem, { children: message }, message))) }) })] })] })) : null, _jsx(Box, { children: flow.step.content }), flow.isLast && reviewed.length ? (_jsxs(Box, { "data-testid": "wizard-review", children: [_jsx(Heading, { as: "h4", fontSize: "sm", fontWeight: 600, mb: 2, color: colors.header[900], children: labels.review }), _jsx(DescriptionList, { layout: "inline", columns: { base: 1 }, items: reviewed.map((candidate) => ({
37
+ label: candidate.label,
38
+ value: candidate.summary,
39
+ })) })] })) : null] }));
40
+ };
41
+ const WizardFooter = ({ flow, labels, isFinishing, onCancel }) => (_jsxs(Flex, { w: "100%", justify: "space-between", gap: 2, wrap: "wrap", children: [onCancel ? (_jsx(Button, { variant: "ghost", colorScheme: "gray", label: labels.cancel, onClick: onCancel, isDisabled: isFinishing, "data-testid": "wizard-cancel" })) : (_jsx("span", {})), _jsxs(Flex, { gap: 2, children: [!flow.isFirst ? (_jsx(Button, { variant: "outline", colorScheme: "gray", label: labels.back, onClick: flow.back, isDisabled: isFinishing, "data-testid": "wizard-back" })) : null, flow.isLast ? (_jsx(Button, { variant: "solid", colorScheme: "primary", label: labels.finish, onClick: flow.finish, isLoading: isFinishing, loadingText: labels.finish, "data-testid": "wizard-finish" })) : (_jsx(Button, { variant: "solid", colorScheme: "primary", label: labels.next, onClick: flow.next, "data-testid": "wizard-next" }))] })] }));
42
+ /** Modal wizard that owns step state: validated Continue, locked future steps, error summary, review on the last step. */
43
+ export const WizardDialog = ({ isOpen, onClose, title, subtitle, steps, onFinish, isFinishing = false, stepId, onStepChange, size = "3xl", labels, "data-testid": testId, }) => {
44
+ const flow = useWizardFlow({ steps, stepId, onStepChange, onFinish, resetWhen: !isOpen });
45
+ const resolved = { ...DEFAULT_LABELS, ...labels };
46
+ const guardedClose = () => {
47
+ if (!isFinishing)
48
+ onClose();
49
+ };
50
+ return (_jsxs(Modal, { isOpen: isOpen, onClose: guardedClose, size: size, isCentered: true, scrollBehavior: "inside", title: title, subtitle: subtitle, closeOnOverlayClick: false, closeOnEsc: !isFinishing, hideCloseButton: isFinishing, children: [_jsx(ModalBody, { children: _jsx(WizardBody, { flow: flow, steps: steps, labels: resolved, testId: testId !== null && testId !== void 0 ? testId : "wizard-dialog" }) }), _jsx(ModalFooter, { children: _jsx(WizardFooter, { flow: flow, labels: resolved, isFinishing: isFinishing, onCancel: guardedClose }) })] }));
51
+ };
52
+ /** The same wizard inline, for a full-page flow rather than a modal. */
53
+ export const Wizard = ({ steps, onFinish, isFinishing = false, stepId, onStepChange, labels, onCancel, "data-testid": testId, }) => {
54
+ const flow = useWizardFlow({ steps, stepId, onStepChange, onFinish });
55
+ const resolved = { ...DEFAULT_LABELS, ...labels };
56
+ return (_jsxs(Flex, { direction: "column", gap: 6, children: [_jsx(WizardBody, { flow: flow, steps: steps, labels: resolved, testId: testId !== null && testId !== void 0 ? testId : "wizard" }), _jsx(WizardFooter, { flow: flow, labels: resolved, isFinishing: isFinishing, onCancel: onCancel })] }));
57
+ };
58
+ export default WizardDialog;
@@ -0,0 +1,44 @@
1
+ import { useCallback, useEffect, useState } from "react";
2
+ import { INITIAL_WIZARD_STATE, firstInvalidStep, wizardTransition, } from "./wizardSteps.js";
3
+ export function useWizardFlow({ steps, stepId, onStepChange, onFinish, resetWhen }) {
4
+ const [state, setState] = useState(INITIAL_WIZARD_STATE);
5
+ const validators = steps.map((step) => step.validate);
6
+ const controlledIndex = stepId === undefined ? -1 : steps.findIndex((s) => s.id === stepId);
7
+ const isControlled = stepId !== undefined;
8
+ const index = Math.min(isControlled ? Math.max(controlledIndex, 0) : state.index, Math.max(steps.length - 1, 0));
9
+ const furthest = Math.max(state.furthest, index);
10
+ useEffect(() => {
11
+ if (resetWhen)
12
+ setState(INITIAL_WIZARD_STATE);
13
+ }, [resetWhen]);
14
+ const dispatch = useCallback((action) => {
15
+ const base = { ...state, index, furthest };
16
+ const next = wizardTransition(base, action, validators);
17
+ setState(next);
18
+ if (next.index !== index)
19
+ onStepChange === null || onStepChange === void 0 ? void 0 : onStepChange(steps[next.index].id);
20
+ },
21
+ // eslint-disable-next-line react-hooks/exhaustive-deps
22
+ [state, index, furthest, steps, onStepChange]);
23
+ const finish = useCallback(() => {
24
+ const invalid = firstInvalidStep(validators);
25
+ if (invalid) {
26
+ dispatch({ type: "fail", ...invalid });
27
+ return;
28
+ }
29
+ onFinish();
30
+ // eslint-disable-next-line react-hooks/exhaustive-deps
31
+ }, [dispatch, steps, onFinish]);
32
+ return {
33
+ index,
34
+ furthest,
35
+ errors: state.errors,
36
+ step: steps[index],
37
+ isFirst: index === 0,
38
+ isLast: index === steps.length - 1,
39
+ next: () => dispatch({ type: "next" }),
40
+ back: () => dispatch({ type: "back" }),
41
+ goto: (target) => dispatch({ type: "goto", index: target }),
42
+ finish,
43
+ };
44
+ }
@@ -0,0 +1,35 @@
1
+ export const INITIAL_WIZARD_STATE = { index: 0, furthest: 0, errors: [] };
2
+ /** Pure step reducer: `next` validates the current step, `goto` only reaches steps up to `furthest`. */
3
+ export function wizardTransition(state, action, validators) {
4
+ var _a, _b;
5
+ const last = validators.length - 1;
6
+ switch (action.type) {
7
+ case "next": {
8
+ const errors = (_b = (_a = validators[state.index]) === null || _a === void 0 ? void 0 : _a.call(validators)) !== null && _b !== void 0 ? _b : [];
9
+ if (errors.length)
10
+ return { ...state, errors };
11
+ const index = Math.min(state.index + 1, last);
12
+ return { index, furthest: Math.max(state.furthest, index), errors: [] };
13
+ }
14
+ case "back":
15
+ return { ...state, index: Math.max(state.index - 1, 0), errors: [] };
16
+ case "goto":
17
+ if (action.index < 0 || action.index > state.furthest)
18
+ return state;
19
+ return { ...state, index: action.index, errors: [] };
20
+ case "fail":
21
+ return { ...state, index: action.index, errors: action.errors };
22
+ case "reset":
23
+ return INITIAL_WIZARD_STATE;
24
+ }
25
+ }
26
+ /** First step whose validator reports errors, or null when every step is valid. */
27
+ export function firstInvalidStep(validators) {
28
+ var _a, _b;
29
+ for (let index = 0; index < validators.length; index += 1) {
30
+ const errors = (_b = (_a = validators[index]) === null || _a === void 0 ? void 0 : _a.call(validators)) !== null && _b !== void 0 ? _b : [];
31
+ if (errors.length)
32
+ return { index, errors };
33
+ }
34
+ return null;
35
+ }
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";
@@ -262,3 +269,10 @@ export { default as ProductCardGrid } from "./Components/ProductCard/ProductCard
262
269
  export { default as ProductCardSkeleton } from "./Components/ProductCard/ProductCardSkeleton.js";
263
270
  export { default as QuickAddSheet } from "./Components/ProductCard/QuickAddSheet.js";
264
271
  export * from "./Components/Primitives/Primitives.js";
272
+ export { default as Kbd, KbdShortcut } from "./Components/Kbd/Kbd.js";
273
+ export { default as LauncherTrigger } from "./Components/LauncherTrigger/LauncherTrigger.js";
274
+ export { default as NavLauncher } from "./Components/NavLauncher/NavLauncher.js";
275
+ export { default as PinToggle } from "./Components/NavLauncher/PinToggle.js";
276
+ export { default as NewTabLink } from "./Components/NavLauncher/NewTabLink.js";
277
+ export { searchLauncher, searchLauncherSections, flattenScreens } from "./Components/NavLauncher/match.js";
278
+ export { default as WizardDialog, Wizard, wizardTransition, firstInvalidStep, } from "./Components/WizardDialog/WizardDialog.js";
package/dist/index.d.ts CHANGED
@@ -147,7 +147,7 @@ export type { LimitReachedModalProps, LimitKind, } from "./Components/LimitReach
147
147
  export type { AccountHandoffConfig, AccountHandoff, AccountHandoffLinkOptions, AccountHandoffUsersOptions, ResolveReturnUrlOptions, } from "./Utils/accountHandoff";
148
148
  export type { TableProps, TableHeaderProps, TableColumnType, TableDensity, TableVariant, TableEmptyState, TableRenderGroup, HeaderActionsProps, ColumnSortingProps, ExportOption, DataObject, FilterValues, } from "./Components/Table/TableProps";
149
149
  export type { ButtonProps } from "./Components/Button/ButtonProps";
150
- export type { CardProps } from "./Components/Card/CardProps";
150
+ export type { CardProps, CardPadding } from "./Components/Card/CardProps";
151
151
  export type { ProfileCardProps, ProfileCardVariant, ProfileCardVariantLegacy, } from "./Components/ProfileCard/ProfileCardProps";
152
152
  export type { ChakraModelProps as ModalProps } from "./Components/Modal/ModalProps";
153
153
  export type { DrawerProps } from "./Components/Drawer/DrawerProps";
@@ -168,18 +168,18 @@ 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";
175
175
  export type { SkeletonProps } from "./Components/Skeletons/SkeletonProps";
176
176
  export type { ProgressBarProps } from "./Components/ProgressBar/ProgressBarProps";
177
177
  export type { ToasterToastProps } from "./Components/Toaster/ToasterProps";
178
- export type { BreadcrumbsProps, BreadcrumbItem } from "./Components/Breadcrumbs/BreadcrumbsProps";
178
+ export type { BreadcrumbsProps, BreadcrumbItem, BreadcrumbsLabels } from "./Components/Breadcrumbs/BreadcrumbsProps";
179
179
  export type { TimelineProps, TimelineEvent, TimelineEvents, TimelineNote, TimelineNoteAttachment, } from "./Components/Timeline/TimelineProps";
180
180
  export type { Stage, StageProgressProps, StageItemProps, StageSize, StageState, StageVariant, StageColorScheme, } from "./Components/StageProgress/StageProgressProps";
181
181
  export type { FileUploaderProps, MimeExtension } from "./Components/FileUpload/FileUploadProps";
182
- export type { SidebarProps, SidebarUser, SecondaryBarProps, OtherAppsProps, MenuProps as SidebarMenuProps, } from "./Components/SideBar/SideBarProps";
182
+ export type { SidebarProps, SidebarUser, SecondaryBarProps, OtherAppsProps, MenuProps as SidebarMenuProps, SidebarPinnedItem, SidebarPinnedLabels, SidebarCollapseTransition, } from "./Components/SideBar/SideBarProps";
183
183
  export type { NavbarProps, MenuProps as NavbarMenuProps } from "./Components/NavigationBar/NavigationBarProps";
184
184
  export type { HeaderProps } from "./Components/Header/HeaderProps";
185
185
  export { appInitials, filterApps, matchesShortcut, formatShortcut, buildSuiteApps, } from "./Components/AppSwitcher/AppSwitcherProps";
@@ -211,12 +211,18 @@ export { fieldControlStyles, controlSizeStyles } from "./Components/Common/field
211
211
  export { fieldLabelStyles } from "./Components/Common/FormLabel";
212
212
  export { fieldMessageStyles } from "./Components/Common/fieldMessageStyles";
213
213
  export { default as PageHeader } from "./Components/PageHeader/PageHeader";
214
- export type { PageHeaderProps } from "./Components/PageHeader/PageHeaderProps";
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";
@@ -354,3 +368,18 @@ export { default as QuickAddSheet } from "./Components/ProductCard/QuickAddSheet
354
368
  export type { ProductCardProps, ProductCardLayout, ProductCardDensity, ProductCardAspectRatio, ProductCardAction, ProductCardLabels, ProductCardPressHandler, ProductCardSkeletonProps, ProductCardGridProps, ProductCardGridColumns } from "./Components/ProductCard/ProductCardProps";
355
369
  export type { QuickAddSheetProps, QuickAddSheetLabels, QuickAddPresentation } from "./Components/ProductCard/QuickAddSheetProps";
356
370
  export * from "./Components/Primitives/Primitives";
371
+ export { default as Kbd, KbdShortcut } from "./Components/Kbd/Kbd";
372
+ export type { KbdProps, KbdShortcutProps } from "./Components/Kbd/KbdProps";
373
+ export { default as LauncherTrigger } from "./Components/LauncherTrigger/LauncherTrigger";
374
+ export type { LauncherTriggerProps } from "./Components/LauncherTrigger/LauncherTriggerProps";
375
+ export { default as NavLauncher } from "./Components/NavLauncher/NavLauncher";
376
+ export { default as PinToggle } from "./Components/NavLauncher/PinToggle";
377
+ export { default as NewTabLink } from "./Components/NavLauncher/NewTabLink";
378
+ export { searchLauncher, searchLauncherSections, flattenScreens } from "./Components/NavLauncher/match";
379
+ export type { LauncherResult, LauncherResultView, LauncherSectionResult } from "./Components/NavLauncher/match";
380
+ export type { LauncherIcon, LauncherScreen, LauncherModule, LauncherSection, LauncherSearchItem, LauncherResultGroup, LauncherLabels, LauncherNavigateOptions, NavLauncherProps, PinToggleProps, NewTabLinkProps, } from "./Components/NavLauncher/NavLauncherProps";
381
+ export { default as WizardDialog, Wizard, wizardTransition, firstInvalidStep, } from "./Components/WizardDialog/WizardDialog";
382
+ export type { WizardStep, WizardLabels, WizardDialogProps, WizardProps } from "./Components/WizardDialog/WizardDialogProps";
383
+ export type { WizardState, WizardAction, StepValidator } from "./Components/WizardDialog/wizardSteps";
384
+ export type { PdfViewerProps, PdfViewerLabels } from "./Components/PdfViewer/PdfViewer";
385
+ export type { EditorProps, EditorApi, EditorMergeField, EditorTokenSyntax, EditorToolbarButton, EditorLabels, } from "./Components/Editor/EditorProps";
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.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; } });
@@ -668,3 +682,23 @@ Object.defineProperty(exports, "ProductCardSkeleton", { enumerable: true, get: f
668
682
  var QuickAddSheet_1 = require("./Components/ProductCard/QuickAddSheet");
669
683
  Object.defineProperty(exports, "QuickAddSheet", { enumerable: true, get: function () { return __importDefault(QuickAddSheet_1).default; } });
670
684
  __exportStar(require("./Components/Primitives/Primitives"), exports);
685
+ var Kbd_1 = require("./Components/Kbd/Kbd");
686
+ Object.defineProperty(exports, "Kbd", { enumerable: true, get: function () { return __importDefault(Kbd_1).default; } });
687
+ Object.defineProperty(exports, "KbdShortcut", { enumerable: true, get: function () { return Kbd_1.KbdShortcut; } });
688
+ var LauncherTrigger_1 = require("./Components/LauncherTrigger/LauncherTrigger");
689
+ Object.defineProperty(exports, "LauncherTrigger", { enumerable: true, get: function () { return __importDefault(LauncherTrigger_1).default; } });
690
+ var NavLauncher_1 = require("./Components/NavLauncher/NavLauncher");
691
+ Object.defineProperty(exports, "NavLauncher", { enumerable: true, get: function () { return __importDefault(NavLauncher_1).default; } });
692
+ var PinToggle_1 = require("./Components/NavLauncher/PinToggle");
693
+ Object.defineProperty(exports, "PinToggle", { enumerable: true, get: function () { return __importDefault(PinToggle_1).default; } });
694
+ var NewTabLink_1 = require("./Components/NavLauncher/NewTabLink");
695
+ Object.defineProperty(exports, "NewTabLink", { enumerable: true, get: function () { return __importDefault(NewTabLink_1).default; } });
696
+ var match_1 = require("./Components/NavLauncher/match");
697
+ Object.defineProperty(exports, "searchLauncher", { enumerable: true, get: function () { return match_1.searchLauncher; } });
698
+ Object.defineProperty(exports, "searchLauncherSections", { enumerable: true, get: function () { return match_1.searchLauncherSections; } });
699
+ Object.defineProperty(exports, "flattenScreens", { enumerable: true, get: function () { return match_1.flattenScreens; } });
700
+ var WizardDialog_1 = require("./Components/WizardDialog/WizardDialog");
701
+ Object.defineProperty(exports, "WizardDialog", { enumerable: true, get: function () { return __importDefault(WizardDialog_1).default; } });
702
+ Object.defineProperty(exports, "Wizard", { enumerable: true, get: function () { return WizardDialog_1.Wizard; } });
703
+ Object.defineProperty(exports, "wizardTransition", { enumerable: true, get: function () { return WizardDialog_1.wizardTransition; } });
704
+ Object.defineProperty(exports, "firstInvalidStep", { enumerable: true, get: function () { return WizardDialog_1.firstInvalidStep; } });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pixelize-design-library",
3
- "version": "2.4.2-beta.58",
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",