@juspay/blend-design-system 0.0.37-beta.3 → 0.0.37-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/AccordionV2/index.d.ts +3 -0
- package/dist/components/AvatarV2/avatarV2.utils.d.ts +1 -1
- package/dist/components/AvatarV2/index.d.ts +1 -2
- package/dist/components/Breadcrumb/Breadcrumb.d.ts +2 -5
- package/dist/components/Breadcrumb/types.d.ts +6 -0
- package/dist/components/BreadcrumbV2/index.d.ts +10 -0
- package/dist/components/ButtonV2/ButtonGroupV2/index.d.ts +1 -0
- package/dist/components/ButtonV2/buttonV2.types.d.ts +0 -4
- package/dist/components/ButtonV2/index.d.ts +3 -0
- package/dist/components/ButtonV2/utils.d.ts +1 -1
- package/dist/components/Charts/ChartUtils.d.ts +2 -0
- package/dist/components/Charts/types.d.ts +2 -2
- package/dist/components/ChartsV2/index.d.ts +5 -0
- package/dist/components/CodeEditorV2/CodeEditorV2.d.ts +1 -1
- package/dist/components/CodeEditorV2/codeEditorV2.tokens.d.ts +5 -5
- package/dist/components/CodeEditorV2/codeEditorV2.types.d.ts +5 -5
- package/dist/components/CodeEditorV2/index.d.ts +2 -0
- package/dist/components/CodeEditorV2/utils.d.ts +1 -1
- package/dist/components/DataTable/DataTable.d.ts +2 -1
- package/dist/components/DataTable/PivotTableModal/PivotPreviewPanel.d.ts +3 -0
- package/dist/components/DataTable/PivotTableModal/PivotTableIllustration.d.ts +7 -0
- package/dist/components/DataTable/PivotTableModal/index.d.ts +3 -0
- package/dist/components/DataTable/PivotTableModal/pivotModalStyleTokens.d.ts +123 -0
- package/dist/components/DataTable/PivotTableModal/types.d.ts +62 -0
- package/dist/components/DataTable/PivotTableModal/utils.d.ts +32 -0
- package/dist/components/DataTable/TableBody/types.d.ts +2 -0
- package/dist/components/DataTable/TableHeader/types.d.ts +1 -0
- package/dist/components/DataTable/index.d.ts +2 -0
- package/dist/components/DataTable/types.d.ts +56 -0
- package/dist/components/DataTable/utils.d.ts +19 -1
- package/dist/components/DateRangePicker/types.d.ts +1 -1
- package/dist/components/DateRangePicker/utils.d.ts +2 -0
- package/dist/components/Directory/Directory.d.ts +1 -1
- package/dist/components/Directory/types.d.ts +1 -1
- package/dist/components/Directory/utils.d.ts +2 -0
- package/dist/components/InputsV2/ChatInputV2/AttachmentDropdown.d.ts +3 -3
- package/dist/components/InputsV2/ChatInputV2/ChatInputTagV2.d.ts +2 -2
- package/dist/components/InputsV2/ChatInputV2/ChatInputV2.d.ts +4 -4
- package/dist/components/InputsV2/ChatInputV2/ChatInputV2.types.d.ts +8 -8
- package/dist/components/InputsV2/ChatInputV2/ChatInputV2AttachmentRow.d.ts +3 -3
- package/dist/components/InputsV2/ChatInputV2/MobileChatInputV2.d.ts +2 -2
- package/dist/components/InputsV2/ChatInputV2/utils.d.ts +4 -4
- package/dist/components/InputsV2/SearchInputV2/utils.d.ts +39 -0
- package/dist/components/InputsV2/TextInputV2/TextInputV2.types.d.ts +2 -2
- package/dist/components/InputsV2/TextInputV2/index.d.ts +2 -0
- package/dist/components/InputsV2/utils/utils.d.ts +1 -1
- package/dist/components/KeyValuePairV2/KeyValuePairV2.d.ts +1 -1
- package/dist/components/KeyValuePairV2/ResponsiveText.d.ts +2 -2
- package/dist/components/KeyValuePairV2/index.d.ts +3 -0
- package/dist/components/KeyValuePairV2/keyValuePairV2.types.d.ts +2 -2
- package/dist/components/KeyValuePairV2/responsiveTextStyles.d.ts +3 -3
- package/dist/components/KeyValuePairV2/utils.d.ts +2 -2
- package/dist/components/MenuV2/index.d.ts +1 -0
- package/dist/components/MenuV2/menuV2.utils.d.ts +2 -2
- package/dist/components/MultiSelectV2/index.d.ts +3 -0
- package/dist/components/MultiSelectV2/multiSelectV2.types.d.ts +1 -1
- package/dist/components/MultiSelectV2/utils.d.ts +2 -2
- package/dist/components/ProgressBarV2/index.d.ts +3 -0
- package/dist/components/ProgressBarV2/utils.d.ts +1 -1
- package/dist/components/Radio/StyledRadio.d.ts +0 -1
- package/dist/components/SelectV2/index.d.ts +1 -0
- package/dist/components/SelectorV2/CheckboxV2/index.d.ts +4 -0
- package/dist/components/SelectorV2/CheckboxV2/utils.d.ts +1 -1
- package/dist/components/SelectorV2/RadioV2/index.d.ts +3 -0
- package/dist/components/SelectorV2/SwitchV2/index.d.ts +1 -0
- package/dist/components/Sidebar/SidebarContent.d.ts +1 -1
- package/dist/components/Sidebar/types.d.ts +10 -1
- package/dist/components/Sidebar/utils.d.ts +1 -1
- package/dist/components/SidebarV2/SidebarV2Panel.d.ts +1 -1
- package/dist/components/SidebarV2/index.d.ts +6 -1
- package/dist/components/SidebarV2/types.d.ts +3 -0
- package/dist/components/SingleSelectV2/SingleSelectV2VirtualList.d.ts +2 -2
- package/dist/components/SingleSelectV2/index.d.ts +3 -0
- package/dist/components/SingleSelectV2/singleSelectV2.types.d.ts +2 -2
- package/dist/components/SingleSelectV2/utils.d.ts +6 -6
- package/dist/components/StatCardV2/index.d.ts +10 -1
- package/dist/components/Stepper/types.d.ts +2 -0
- package/dist/components/StepperV2/index.d.ts +3 -1
- package/dist/components/StepperV2/stepperV2.types.d.ts +2 -2
- package/dist/components/TabsV2/index.d.ts +3 -1
- package/dist/components/TagV2/index.d.ts +3 -0
- package/dist/components/TooltipV2/index.d.ts +1 -0
- package/dist/components/common/index.d.ts +1 -1
- package/dist/main.d.ts +30 -70
- package/dist/main.js +91851 -89103
- package/dist/{node-CRWdZOVN.js → node-C2uf3sNA.js} +1303 -1300
- package/dist/node.js +1 -1
- package/dist/tokens.js +17 -16
- package/lib/components/AccordionV2/index.ts +3 -0
- package/lib/components/Avatar/Avatar.tsx +6 -1
- package/lib/components/AvatarGroup/AvatarGroup.tsx +1 -1
- package/lib/components/AvatarV2/AvatarV2.tsx +12 -3
- package/lib/components/AvatarV2/avatarV2.utils.ts +1 -1
- package/lib/components/AvatarV2/index.ts +1 -12
- package/lib/components/Breadcrumb/Breadcrumb.tsx +9 -8
- package/lib/components/Breadcrumb/types.ts +12 -0
- package/lib/components/BreadcrumbV2/index.ts +10 -0
- package/lib/components/Button/ButtonBase.tsx +1 -1
- package/lib/components/ButtonV2/ButtonGroupV2/index.ts +1 -0
- package/lib/components/ButtonV2/ButtonV2.tsx +2 -2
- package/lib/components/ButtonV2/LinkButton.tsx +2 -2
- package/lib/components/ButtonV2/buttonV2.types.ts +0 -6
- package/lib/components/ButtonV2/index.ts +3 -0
- package/lib/components/ButtonV2/utils.ts +2 -2
- package/lib/components/Card/CardComponents.tsx +52 -17
- package/lib/components/Charts/BlendChart.tsx +1 -1
- package/lib/components/Charts/ChartUtils.tsx +7 -0
- package/lib/components/Charts/Charts.tsx +4 -2
- package/lib/components/Charts/CoreChart.tsx +4 -2
- package/lib/components/Charts/types.tsx +2 -2
- package/lib/components/ChartsV2/ChartV2.tsx +4 -3
- package/lib/components/ChartsV2/index.ts +5 -0
- package/lib/components/Checkbox/Checkbox.tsx +29 -7
- package/lib/components/CodeBlock/CodeBlock.tsx +47 -1
- package/lib/components/CodeBlock/codeBlock.token.ts +5 -5
- package/lib/components/CodeEditor/CodeEditor.tsx +26 -4
- package/lib/components/CodeEditor/MonacoEditorWrapper.tsx +13 -1
- package/lib/components/CodeEditorV2/CodeEditorV2.tsx +2 -2
- package/lib/components/CodeEditorV2/codeEditorV2.dark.tokens.ts +37 -25
- package/lib/components/CodeEditorV2/codeEditorV2.light.token.ts +37 -25
- package/lib/components/CodeEditorV2/codeEditorV2.tokens.ts +5 -5
- package/lib/components/CodeEditorV2/codeEditorV2.types.ts +5 -5
- package/lib/components/CodeEditorV2/index.ts +2 -0
- package/lib/components/CodeEditorV2/utils.ts +1 -1
- package/lib/components/DataTable/DataTable.tsx +156 -4
- package/lib/components/DataTable/PivotTableModal/PivotPreviewPanel.tsx +174 -0
- package/lib/components/DataTable/PivotTableModal/PivotTableIllustration.tsx +28 -0
- package/lib/components/DataTable/PivotTableModal/index.tsx +859 -0
- package/lib/components/DataTable/PivotTableModal/pivot-table-illustration.png +0 -0
- package/lib/components/DataTable/PivotTableModal/pivotModal.styled.ts +13 -0
- package/lib/components/DataTable/PivotTableModal/pivotModalStyleTokens.ts +250 -0
- package/lib/components/DataTable/PivotTableModal/types.ts +69 -0
- package/lib/components/DataTable/PivotTableModal/utils.ts +360 -0
- package/lib/components/DataTable/TableBody/index.tsx +16 -5
- package/lib/components/DataTable/TableBody/types.ts +2 -0
- package/lib/components/DataTable/TableHeader/FilterComponents.tsx +4 -0
- package/lib/components/DataTable/TableHeader/index.tsx +6 -3
- package/lib/components/DataTable/TableHeader/types.ts +1 -0
- package/lib/components/DataTable/index.ts +4 -0
- package/lib/components/DataTable/types.ts +57 -0
- package/lib/components/DataTable/utils.ts +197 -0
- package/lib/components/DateRangePicker/DateRangePicker.tsx +34 -17
- package/lib/components/DateRangePicker/types.ts +5 -5
- package/lib/components/DateRangePicker/utils.ts +5 -0
- package/lib/components/Directory/Directory.tsx +3 -2
- package/lib/components/Directory/types.ts +1 -1
- package/lib/components/Directory/utils.ts +6 -0
- package/lib/components/Drawer/components/DrawerBase.tsx +16 -0
- package/lib/components/Drawer/components/NestedSelectDrawer.tsx +13 -1
- package/lib/components/Drawer/components/SelectDrawer.tsx +9 -1
- package/lib/components/Inputs/OTPInput/OTPInput.tsx +5 -3
- package/lib/components/InputsV2/ChatInputV2/AttachmentDropdown.tsx +3 -3
- package/lib/components/InputsV2/ChatInputV2/ChatInputTagV2.tsx +3 -3
- package/lib/components/InputsV2/ChatInputV2/ChatInputV2.types.ts +8 -8
- package/lib/components/InputsV2/ChatInputV2/ChatInputV2AttachmentRow.tsx +7 -7
- package/lib/components/InputsV2/ChatInputV2/utils.ts +8 -8
- package/lib/components/InputsV2/SearchInputV2/utils.ts +14 -1
- package/lib/components/InputsV2/TextInputV2/TextInputV2.tsx +3 -3
- package/lib/components/InputsV2/TextInputV2/TextInputV2.types.ts +2 -2
- package/lib/components/InputsV2/TextInputV2/index.ts +2 -0
- package/lib/components/KeyValuePairV2/KeyValuePairV2.tsx +6 -2
- package/lib/components/KeyValuePairV2/ResponsiveText.tsx +2 -2
- package/lib/components/KeyValuePairV2/index.ts +3 -0
- package/lib/components/KeyValuePairV2/keyValuePairV2.types.ts +2 -2
- package/lib/components/KeyValuePairV2/responsiveTextStyles.ts +3 -3
- package/lib/components/KeyValuePairV2/utils.ts +3 -3
- package/lib/components/Menu/Menu.tsx +9 -1
- package/lib/components/MenuV2/MenuV2.tsx +2 -2
- package/lib/components/MenuV2/MenuV2SubMenu.tsx +2 -2
- package/lib/components/MenuV2/index.ts +1 -0
- package/lib/components/MenuV2/menuV2.utils.ts +4 -4
- package/lib/components/Modal/useModal.ts +7 -0
- package/lib/components/MultiSelectV2/MultiSelectV2.tsx +2 -2
- package/lib/components/MultiSelectV2/MultiSelectV2Menu.tsx +5 -2
- package/lib/components/MultiSelectV2/index.ts +3 -0
- package/lib/components/MultiSelectV2/mobile/MobileMultiSelectV2.tsx +7 -4
- package/lib/components/MultiSelectV2/multiSelectV2.types.ts +1 -1
- package/lib/components/MultiSelectV2/utils.ts +2 -2
- package/lib/components/ProgressBarV2/ProgressBarV2.tsx +5 -2
- package/lib/components/ProgressBarV2/index.ts +3 -0
- package/lib/components/ProgressBarV2/utils.ts +1 -1
- package/lib/components/Radio/Radio.tsx +12 -5
- package/lib/components/Radio/StyledRadio.tsx +33 -17
- package/lib/components/SelectV2/index.ts +1 -0
- package/lib/components/SelectorV2/CheckboxV2/CheckboxV2.tsx +2 -2
- package/lib/components/SelectorV2/CheckboxV2/index.ts +4 -0
- package/lib/components/SelectorV2/CheckboxV2/utils.ts +1 -1
- package/lib/components/SelectorV2/RadioV2/index.ts +3 -0
- package/lib/components/SelectorV2/SwitchV2/index.ts +1 -0
- package/lib/components/Sidebar/Sidebar.tsx +18 -3
- package/lib/components/Sidebar/SidebarContent.tsx +5 -2
- package/lib/components/Sidebar/TenantPanel.tsx +52 -34
- package/lib/components/Sidebar/types.ts +11 -1
- package/lib/components/Sidebar/utils.ts +1 -1
- package/lib/components/SidebarV2/SecondarySidebar.tsx +86 -44
- package/lib/components/SidebarV2/SidebarV2Panel.tsx +4 -2
- package/lib/components/SidebarV2/index.ts +6 -0
- package/lib/components/SidebarV2/types.ts +4 -0
- package/lib/components/SingleSelectV2/MobileSingleSelectV2.tsx +2 -2
- package/lib/components/SingleSelectV2/SingleSelectV2.tsx +10 -3
- package/lib/components/SingleSelectV2/SingleSelectV2Menu.tsx +4 -2
- package/lib/components/SingleSelectV2/SingleSelectV2VirtualList.tsx +5 -2
- package/lib/components/SingleSelectV2/index.ts +7 -0
- package/lib/components/SingleSelectV2/singleSelectV2.types.ts +2 -2
- package/lib/components/SingleSelectV2/utils.ts +10 -10
- package/lib/components/StatCard/statcard.tokens.ts +1 -1
- package/lib/components/StatCardV2/index.ts +13 -1
- package/lib/components/Stepper/VerticalStepper.tsx +209 -171
- package/lib/components/Stepper/types.ts +2 -0
- package/lib/components/StepperV2/Stepper/Steps.tsx +15 -1
- package/lib/components/StepperV2/index.ts +3 -1
- package/lib/components/StepperV2/stepperV2.types.ts +2 -2
- package/lib/components/TabsV2/index.ts +13 -1
- package/lib/components/TagV2/index.ts +3 -0
- package/lib/components/Text/Text.tsx +1 -0
- package/lib/components/TooltipV2/index.ts +1 -0
- package/lib/components/Upload/Upload.tsx +6 -0
- package/lib/components/Upload/components/FileListDisplay.tsx +159 -16
- package/lib/components/Upload/utils.ts +10 -2
- package/lib/components/common/index.ts +1 -1
- package/lib/context/ThemeProvider.tsx +19 -8
- package/lib/hooks/useDebounce.ts +9 -1
- package/lib/main.ts +34 -258
- package/lib/types/assets.d.ts +24 -0
- package/package.json +2 -1
package/dist/node.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { F as a, T as o, y as t, x as T, w as n, v as g, z as k, u as V, t as r, s as i, r as l, q as c, g as b, p as d, o as u, n as S, m as p, a as h, l as m, j as v, i as x, k as A, h as C, f as M, e as B, d as E, c as N, b as P } from "./node-
|
|
1
|
+
import { F as a, T as o, y as t, x as T, w as n, v as g, z as k, u as V, t as r, s as i, r as l, q as c, g as b, p as d, o as u, n as S, m as p, a as h, l as m, j as v, i as x, k as A, h as C, f as M, e as B, d as E, c as N, b as P } from "./node-C2uf3sNA.js";
|
|
2
2
|
export {
|
|
3
3
|
a as FOUNDATION_THEME,
|
|
4
4
|
o as Theme,
|
package/dist/tokens.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { F as u, T as d, g as k, a as E, b as V, c as g, d as v, e as
|
|
2
|
-
import { BRANCH_COLLECTION as ie, BRANCH_ID_PATTERN as ae, PRESETS as ce, PRESET_BLEND_DEFAULT as fe, PRESET_GREEN as le, PRESET_JUSPAY as Te, PRESET_ORANGE as ue, PRESET_PURPLE as de, RADIUS_PRESETS as Oe, SNAPSHOT_SUBCOLLECTION as ke, STORAGE_KEYS as Ee, TEAM_ROLE_PERMISSIONS as Ve, VERSION_PATTERN as ge, VERSION_SUBCOLLECTION as ve, analyzeContrast as
|
|
1
|
+
import { F as u, T as d, g as k, a as E, b as V, c as g, d as v, e as p, f as S, h, i as R, j as A, k as y, l as C, m as N, n as I, o as P, p as m, q as _, r as B, s as L, t as w, u as M, v as j, w as U, x as D, y as G, z as H } from "./node-C2uf3sNA.js";
|
|
2
|
+
import { BRANCH_COLLECTION as ie, BRANCH_ID_PATTERN as ae, PRESETS as ce, PRESET_BLEND_DEFAULT as fe, PRESET_GREEN as le, PRESET_JUSPAY as Te, PRESET_ORANGE as ue, PRESET_PURPLE as de, RADIUS_PRESETS as Oe, SNAPSHOT_SUBCOLLECTION as ke, STORAGE_KEYS as Ee, TEAM_ROLE_PERMISSIONS as Ve, VERSION_PATTERN as ge, VERSION_SUBCOLLECTION as ve, analyzeContrast as pe, canUserPerformAction as Se, diffBrandConfigs as he, extractOverridePaths as Re, generateBranchId as Ae, generateColorScale as ye, getContrastRatio as Ce, getContrastRatioHex as Ne, getDefaultOnboardingState as Ie, getDefaultPreferences as Pe, getPreset as me, hexToRgb as _e, incrementVersion as Be, isValidHexColor as Le, listPresets as we, meetsWCAG as Me, parseBranchId as je, relativeLuminance as Ue, resolveWithInheritance as De, snapshotsPath as Ge, suggestForeground as He, validateAgainstLocks as xe, validateBranchId as Ke, validateBrandConfig as Fe, validatePaletteContrast as Je, validateVersion as $e, versionsPath as Ye } from "./tokens-server.js";
|
|
3
3
|
function O(e) {
|
|
4
4
|
const o = typeof structuredClone == "function" ? structuredClone(u) : JSON.parse(JSON.stringify(u));
|
|
5
5
|
return x(o, e), K(o, e), F(o, e), J(o, e), o;
|
|
@@ -30,8 +30,9 @@ function F(e, o) {
|
|
|
30
30
|
function J(e, o) {
|
|
31
31
|
if (o.font) {
|
|
32
32
|
if (o.font.family) {
|
|
33
|
-
const t = e.font;
|
|
34
|
-
|
|
33
|
+
const t = e.font.family, n = o.font.family.trim(), s = n.toLowerCase() === "system ui" ? "system-ui, sans-serif" : n;
|
|
34
|
+
for (const r of Object.keys(t))
|
|
35
|
+
r !== "mono" && (t[r] = s);
|
|
35
36
|
}
|
|
36
37
|
if (o.font.weight) {
|
|
37
38
|
const t = e.font.weight;
|
|
@@ -46,12 +47,12 @@ const l = {
|
|
|
46
47
|
ALERTV2: D,
|
|
47
48
|
AVATARV2: U,
|
|
48
49
|
BREADCRUMBV2: j,
|
|
49
|
-
CHARTSV2:
|
|
50
|
-
CHECKBOXV2:
|
|
50
|
+
CHARTSV2: M,
|
|
51
|
+
CHECKBOXV2: w,
|
|
51
52
|
CODEEDITORV2: L,
|
|
52
53
|
KEYVALUEPAIRV2: B,
|
|
53
|
-
MENU_V2:
|
|
54
|
-
MULTI_SELECT_V2:
|
|
54
|
+
MENU_V2: _,
|
|
55
|
+
MULTI_SELECT_V2: m,
|
|
55
56
|
POPOVERV2: P,
|
|
56
57
|
PROGRESS_BARV2: I,
|
|
57
58
|
RADIOV2: N,
|
|
@@ -60,8 +61,8 @@ const l = {
|
|
|
60
61
|
SNACKBARV2: A,
|
|
61
62
|
STATCARDV2: R,
|
|
62
63
|
TABSV2: h,
|
|
63
|
-
TAGV2:
|
|
64
|
-
TEXT_INPUTV2:
|
|
64
|
+
TAGV2: S,
|
|
65
|
+
TEXT_INPUTV2: p,
|
|
65
66
|
TIMELINE: v,
|
|
66
67
|
TOOLTIPV2: g,
|
|
67
68
|
TOPBARV2: V,
|
|
@@ -198,9 +199,9 @@ export {
|
|
|
198
199
|
te as V2_COMPONENT_KEYS,
|
|
199
200
|
ge as VERSION_PATTERN,
|
|
200
201
|
ve as VERSION_SUBCOLLECTION,
|
|
201
|
-
|
|
202
|
+
pe as analyzeContrast,
|
|
202
203
|
O as buildBrandFoundation,
|
|
203
|
-
|
|
204
|
+
Se as canUserPerformAction,
|
|
204
205
|
z as clearTokenCache,
|
|
205
206
|
he as diffBrandConfigs,
|
|
206
207
|
Re as extractOverridePaths,
|
|
@@ -210,12 +211,12 @@ export {
|
|
|
210
211
|
Ne as getContrastRatioHex,
|
|
211
212
|
Ie as getDefaultOnboardingState,
|
|
212
213
|
Pe as getDefaultPreferences,
|
|
213
|
-
|
|
214
|
-
|
|
214
|
+
me as getPreset,
|
|
215
|
+
_e as hexToRgb,
|
|
215
216
|
Be as incrementVersion,
|
|
216
217
|
Le as isValidHexColor,
|
|
217
|
-
|
|
218
|
-
|
|
218
|
+
we as listPresets,
|
|
219
|
+
Me as meetsWCAG,
|
|
219
220
|
je as parseBranchId,
|
|
220
221
|
oe as registerResolver,
|
|
221
222
|
Ue as relativeLuminance,
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export { default as AccordionV2 } from './AccordionV2'
|
|
2
2
|
export { AccordionV2Item } from './AccordionV2Item'
|
|
3
|
+
export { AccordionV2Chevron } from './AccordionV2Chevron'
|
|
4
|
+
export { AccordionV2TriggerContent } from './AccordionV2TriggerContent'
|
|
5
|
+
export * from './accordionV2.animations'
|
|
3
6
|
export * from './accordionV2.tokens'
|
|
4
7
|
export * from './accordionV2.types'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { forwardRef, useState } from 'react'
|
|
1
|
+
import { forwardRef, useEffect, useState } from 'react'
|
|
2
2
|
import {
|
|
3
3
|
type AvatarProps,
|
|
4
4
|
AvatarSize,
|
|
@@ -33,6 +33,11 @@ const Avatar = forwardRef<HTMLDivElement, AvatarProps>(
|
|
|
33
33
|
ref
|
|
34
34
|
) => {
|
|
35
35
|
const [imageError, setImageError] = useState(false)
|
|
36
|
+
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
setImageError(false)
|
|
39
|
+
}, [src])
|
|
40
|
+
|
|
36
41
|
const hasImage = src && !imageError
|
|
37
42
|
const shouldShowSkeleton = skeleton?.show
|
|
38
43
|
const variant = hasImage ? 'withImage' : 'withoutImage'
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, {
|
|
2
|
+
forwardRef,
|
|
3
|
+
useEffect,
|
|
4
|
+
useState,
|
|
5
|
+
type ReactElement,
|
|
6
|
+
} from 'react'
|
|
2
7
|
import {
|
|
3
8
|
AvatarV2Props,
|
|
4
9
|
AvatarV2Size,
|
|
@@ -21,7 +26,7 @@ import {
|
|
|
21
26
|
getAriaLiveValue,
|
|
22
27
|
getStatusPositionStyles,
|
|
23
28
|
renderFallbackContent,
|
|
24
|
-
|
|
29
|
+
createAvatarKeyboardHandler,
|
|
25
30
|
isInteractive,
|
|
26
31
|
} from './avatarV2.utils'
|
|
27
32
|
|
|
@@ -176,6 +181,10 @@ const AvatarV2 = forwardRef<HTMLDivElement, AvatarV2Props>(
|
|
|
176
181
|
) => {
|
|
177
182
|
const [imageError, setImageError] = useState(false)
|
|
178
183
|
|
|
184
|
+
useEffect(() => {
|
|
185
|
+
setImageError(false)
|
|
186
|
+
}, [src])
|
|
187
|
+
|
|
179
188
|
const tokens = useResponsiveTokens<AvatarV2TokensType>('AVATARV2')
|
|
180
189
|
|
|
181
190
|
const hasImage = src && !imageError
|
|
@@ -209,7 +218,7 @@ const AvatarV2 = forwardRef<HTMLDivElement, AvatarV2Props>(
|
|
|
209
218
|
onImageLoad?.()
|
|
210
219
|
}
|
|
211
220
|
|
|
212
|
-
const keyboardHandler =
|
|
221
|
+
const keyboardHandler = createAvatarKeyboardHandler(rest.onClick)
|
|
213
222
|
const filteredProps = filterBlockedProps(rest)
|
|
214
223
|
|
|
215
224
|
const renderAvatarContent = () => {
|
|
@@ -174,7 +174,7 @@ export function getStatusPositionStyles(
|
|
|
174
174
|
return { top, right }
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
|
-
export function
|
|
177
|
+
export function createAvatarKeyboardHandler(
|
|
178
178
|
onClick: ((event: React.MouseEvent<HTMLDivElement>) => void) | undefined
|
|
179
179
|
) {
|
|
180
180
|
if (!onClick) {
|
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
export { default as AvatarV2 } from './AvatarV2'
|
|
2
|
-
export
|
|
3
|
-
AvatarV2Props,
|
|
4
|
-
AvatarV2SkeletonConfig,
|
|
5
|
-
AvatarV2StatusConfig,
|
|
6
|
-
} from './avatarV2.types'
|
|
7
|
-
export {
|
|
8
|
-
AvatarV2Size,
|
|
9
|
-
AvatarV2Shape,
|
|
10
|
-
AvatarV2Status,
|
|
11
|
-
AvatarV2StatusPosition,
|
|
12
|
-
AvatarV2Variant,
|
|
13
|
-
} from './avatarV2.types'
|
|
2
|
+
export * from './avatarV2.types'
|
|
14
3
|
export * from './avatarV2.tokens'
|
|
15
4
|
export * from './avatarV2.utils'
|
|
@@ -5,7 +5,12 @@ import PrimitiveButton from '../Primitives/PrimitiveButton/PrimitiveButton'
|
|
|
5
5
|
import PrimitiveText from '../Primitives/PrimitiveText/PrimitiveText'
|
|
6
6
|
import { FOUNDATION_THEME } from '../../tokens'
|
|
7
7
|
import type { BreadcrumbTokenType } from './breadcrumb.tokens'
|
|
8
|
-
import type {
|
|
8
|
+
import type {
|
|
9
|
+
BreadcrumbItemType,
|
|
10
|
+
BreadcrumbProps,
|
|
11
|
+
BreadcrumbSkeletonProps,
|
|
12
|
+
} from './types'
|
|
13
|
+
import { normalizeBreadcrumbItems } from './types'
|
|
9
14
|
import { useResponsiveTokens } from '../../hooks/useResponsiveTokens'
|
|
10
15
|
import { SkeletonVariant } from '../Skeleton'
|
|
11
16
|
import BreadcrumbSkeleton from './BreadcrumbSkeleton'
|
|
@@ -111,13 +116,9 @@ const BreadcrumbItem = ({
|
|
|
111
116
|
)
|
|
112
117
|
}
|
|
113
118
|
|
|
114
|
-
const Breadcrumb = ({
|
|
115
|
-
items
|
|
116
|
-
|
|
117
|
-
}: {
|
|
118
|
-
items: BreadcrumbItemType[]
|
|
119
|
-
skeleton?: BreadcrumbSkeletonProps
|
|
120
|
-
}) => {
|
|
119
|
+
const Breadcrumb = ({ items: itemsProp, skeleton }: BreadcrumbProps) => {
|
|
120
|
+
const items = normalizeBreadcrumbItems(itemsProp)
|
|
121
|
+
|
|
121
122
|
const breadcrumbTokens =
|
|
122
123
|
useResponsiveTokens<BreadcrumbTokenType>('BREADCRUMB')
|
|
123
124
|
if (items.length === 0) return null
|
|
@@ -5,6 +5,18 @@ export type BreadcrumbSkeletonProps = {
|
|
|
5
5
|
variant: SkeletonVariant
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
+
/** Replace null, undefined, or non-array `items` with `[]`. */
|
|
9
|
+
export function normalizeBreadcrumbItems(
|
|
10
|
+
items: BreadcrumbItemType[] | null | undefined
|
|
11
|
+
): BreadcrumbItemType[] {
|
|
12
|
+
return Array.isArray(items) ? items : []
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export type BreadcrumbProps = {
|
|
16
|
+
items: BreadcrumbItemType[] | null
|
|
17
|
+
skeleton?: BreadcrumbSkeletonProps
|
|
18
|
+
}
|
|
19
|
+
|
|
8
20
|
export type BreadcrumbItemType = {
|
|
9
21
|
leftSlot?: React.ReactNode
|
|
10
22
|
rightSlot?: React.ReactNode
|
|
@@ -1,3 +1,13 @@
|
|
|
1
1
|
export { default as BreadcrumbV2 } from './BreadcrumbV2'
|
|
2
|
+
export { default as BreadcrumbV2Icon } from './BreadcrumbV2Icon'
|
|
3
|
+
export { default as BreadcrumbV2Item } from './BreadcrumbV2Item'
|
|
4
|
+
export { default as BreadcrumbV2List } from './BreadcrumbV2List'
|
|
5
|
+
export type { BreadcrumbV2ListProps } from './BreadcrumbV2List'
|
|
6
|
+
export { default as BreadcrumbV2OverflowMenu } from './BreadcrumbV2OverflowMenu'
|
|
7
|
+
export type { BreadcrumbV2OverflowMenuProps } from './BreadcrumbV2OverflowMenu'
|
|
8
|
+
export { default as BreadcrumbV2Page } from './BreadcrumbV2Page'
|
|
9
|
+
export type { BreadcrumbV2PageProps } from './BreadcrumbV2Page'
|
|
10
|
+
export { default as BreadcrumbV2Separator } from './BreadcrumbV2Separator'
|
|
2
11
|
export * from './breadcrumbV2.tokens'
|
|
3
12
|
export * from './breadcrumbV2.types'
|
|
13
|
+
export * from './utils'
|
|
@@ -11,7 +11,7 @@ import type { ButtonTokensType } from './button.tokens'
|
|
|
11
11
|
import { LoaderCircle } from 'lucide-react'
|
|
12
12
|
import { useResponsiveTokens } from '../../hooks/useResponsiveTokens'
|
|
13
13
|
import { FOUNDATION_THEME } from '../../tokens'
|
|
14
|
-
const StyledButtonText = styled
|
|
14
|
+
const StyledButtonText = styled.span`
|
|
15
15
|
display: flex;
|
|
16
16
|
align-items: center;
|
|
17
17
|
justify-content: center;
|
|
@@ -15,7 +15,7 @@ import Skeleton from '../Skeleton/Skeleton'
|
|
|
15
15
|
import PrimitiveButton from '../Primitives/PrimitiveButton/PrimitiveButton'
|
|
16
16
|
import { VisuallyHidden } from './VisuallyHidden'
|
|
17
17
|
import {
|
|
18
|
-
|
|
18
|
+
getButtonV2BorderRadius,
|
|
19
19
|
getButtonHeight,
|
|
20
20
|
getButtonStatus,
|
|
21
21
|
getButtonTabIndex,
|
|
@@ -208,7 +208,7 @@ const ButtonV2 = forwardRef<HTMLButtonElement, ButtonV2Props>(
|
|
|
208
208
|
onClick?.(event)
|
|
209
209
|
}
|
|
210
210
|
|
|
211
|
-
const borderRadius =
|
|
211
|
+
const borderRadius = getButtonV2BorderRadius(
|
|
212
212
|
size,
|
|
213
213
|
buttonType,
|
|
214
214
|
subType,
|
|
@@ -12,7 +12,7 @@ import { useResponsiveTokens } from '../../hooks/useResponsiveTokens'
|
|
|
12
12
|
import Skeleton from '../Skeleton/Skeleton'
|
|
13
13
|
import { renderButtonContent } from './ButtonV2'
|
|
14
14
|
import {
|
|
15
|
-
|
|
15
|
+
getButtonV2BorderRadius,
|
|
16
16
|
getButtonHeight,
|
|
17
17
|
getButtonStatus,
|
|
18
18
|
getSkeletonBorderRadius,
|
|
@@ -60,7 +60,7 @@ const LinkButton = forwardRef<HTMLAnchorElement, LinkButtonProps>(
|
|
|
60
60
|
)
|
|
61
61
|
const buttonStatus = getButtonStatus(isLoading, isDisabled)
|
|
62
62
|
|
|
63
|
-
const borderRadius =
|
|
63
|
+
const borderRadius = getButtonV2BorderRadius(
|
|
64
64
|
size,
|
|
65
65
|
buttonType,
|
|
66
66
|
subType,
|
|
@@ -34,12 +34,6 @@ export enum PaddingDirection {
|
|
|
34
34
|
LEFT = 'left',
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
// Legacy exports for backward compatibility
|
|
38
|
-
export const ButtonType = ButtonV2Type
|
|
39
|
-
export const ButtonSize = ButtonV2Size
|
|
40
|
-
export const ButtonSubType = ButtonV2SubType
|
|
41
|
-
export const ButtonState = ButtonV2State
|
|
42
|
-
|
|
43
37
|
export type ButtonSlot = {
|
|
44
38
|
slot: React.ReactNode
|
|
45
39
|
maxHeight?: string | number
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { default as ButtonV2 } from './ButtonV2'
|
|
2
|
+
export { renderButtonContent } from './ButtonV2'
|
|
2
3
|
export { default as IconButton } from './IconButton'
|
|
3
4
|
export { default as LinkButton } from './LinkButton'
|
|
4
5
|
export { ButtonGroupV2 } from './ButtonGroupV2'
|
|
@@ -6,3 +7,5 @@ export type { ButtonV2Props, LinkButtonProps } from './buttonV2.types'
|
|
|
6
7
|
export type { IconButtonProps } from './IconButton'
|
|
7
8
|
export type { ButtonGroupV2Props, ButtonGroupPosition } from './ButtonGroupV2'
|
|
8
9
|
export * from './buttonV2.types'
|
|
10
|
+
export * from './buttonV2.tokens'
|
|
11
|
+
export * from './utils'
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
import type { ButtonV2TokensType } from './buttonV2.tokens'
|
|
11
11
|
import { FOUNDATION_THEME } from '../../tokens'
|
|
12
12
|
|
|
13
|
-
export function
|
|
13
|
+
export function getButtonV2BorderRadius(
|
|
14
14
|
size: ButtonV2Size,
|
|
15
15
|
buttonType: ButtonV2Type,
|
|
16
16
|
subType: ButtonV2SubType,
|
|
@@ -101,7 +101,7 @@ export function getSkeletonBorderRadius(
|
|
|
101
101
|
buttonGroupPosition: 'center' | 'left' | 'right' | undefined,
|
|
102
102
|
tokens: ButtonV2TokensType
|
|
103
103
|
): string {
|
|
104
|
-
return
|
|
104
|
+
return getButtonV2BorderRadius(
|
|
105
105
|
size,
|
|
106
106
|
buttonType,
|
|
107
107
|
subType,
|
|
@@ -44,6 +44,37 @@ type CustomCardComponentProps = {
|
|
|
44
44
|
baseId?: string
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
+
const isPlainTextContent = (content: React.ReactNode) =>
|
|
48
|
+
typeof content === 'string' || typeof content === 'number'
|
|
49
|
+
|
|
50
|
+
const CardBodyContent = ({
|
|
51
|
+
content,
|
|
52
|
+
contentId,
|
|
53
|
+
cardToken,
|
|
54
|
+
describedBy,
|
|
55
|
+
}: {
|
|
56
|
+
content: React.ReactNode
|
|
57
|
+
contentId: string
|
|
58
|
+
cardToken: CardTokenType
|
|
59
|
+
describedBy?: string
|
|
60
|
+
}) => {
|
|
61
|
+
const sharedProps = {
|
|
62
|
+
id: contentId,
|
|
63
|
+
style: getBodyContentStyles(cardToken),
|
|
64
|
+
'aria-describedby': describedBy,
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if (isPlainTextContent(content)) {
|
|
68
|
+
return (
|
|
69
|
+
<Text as="p" {...sharedProps}>
|
|
70
|
+
{content}
|
|
71
|
+
</Text>
|
|
72
|
+
)
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return <Block {...sharedProps}>{content}</Block>
|
|
76
|
+
}
|
|
77
|
+
|
|
47
78
|
export const DefaultCard: React.FC<CardComponentProps> = ({
|
|
48
79
|
props,
|
|
49
80
|
cardToken,
|
|
@@ -80,6 +111,9 @@ export const DefaultCard: React.FC<CardComponentProps> = ({
|
|
|
80
111
|
const subHeaderId = `${baseId}-subheader`
|
|
81
112
|
const bodyTitleId = `${baseId}-body-title`
|
|
82
113
|
const contentId = `${baseId}-content`
|
|
114
|
+
const contentDataId = isPlainTextContent(content)
|
|
115
|
+
? String(content)
|
|
116
|
+
: undefined
|
|
83
117
|
|
|
84
118
|
return (
|
|
85
119
|
<>
|
|
@@ -228,22 +262,20 @@ export const DefaultCard: React.FC<CardComponentProps> = ({
|
|
|
228
262
|
),
|
|
229
263
|
}}
|
|
230
264
|
data-element="card-body-content"
|
|
231
|
-
data-id={
|
|
265
|
+
data-id={contentDataId}
|
|
232
266
|
>
|
|
233
|
-
<
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
267
|
+
<CardBodyContent
|
|
268
|
+
content={content}
|
|
269
|
+
contentId={contentId}
|
|
270
|
+
cardToken={cardToken}
|
|
271
|
+
describedBy={
|
|
238
272
|
bodyTitle
|
|
239
273
|
? bodyTitleId
|
|
240
274
|
: headerTitle
|
|
241
275
|
? headerTitleId
|
|
242
276
|
: undefined
|
|
243
277
|
}
|
|
244
|
-
|
|
245
|
-
{content}
|
|
246
|
-
</Text>
|
|
278
|
+
/>
|
|
247
279
|
</Block>
|
|
248
280
|
)}
|
|
249
281
|
|
|
@@ -461,20 +493,18 @@ const CardContent: React.FC<{
|
|
|
461
493
|
}
|
|
462
494
|
>
|
|
463
495
|
{hasContent && (
|
|
464
|
-
<
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
496
|
+
<CardBodyContent
|
|
497
|
+
content={content}
|
|
498
|
+
contentId={contentId}
|
|
499
|
+
cardToken={cardToken}
|
|
500
|
+
describedBy={
|
|
469
501
|
bodyTitle
|
|
470
502
|
? bodyTitleId
|
|
471
503
|
: headerTitle
|
|
472
504
|
? headerTitleId
|
|
473
505
|
: undefined
|
|
474
506
|
}
|
|
475
|
-
|
|
476
|
-
{content}
|
|
477
|
-
</Text>
|
|
507
|
+
/>
|
|
478
508
|
)}
|
|
479
509
|
|
|
480
510
|
{hasActionButton && (
|
|
@@ -612,7 +642,12 @@ export const CustomCard: React.FC<CustomCardComponentProps> = ({
|
|
|
612
642
|
|
|
613
643
|
return (
|
|
614
644
|
<Block
|
|
645
|
+
display="flex"
|
|
646
|
+
flexDirection="column"
|
|
647
|
+
flexGrow={1}
|
|
615
648
|
style={{
|
|
649
|
+
minHeight: 0,
|
|
650
|
+
width: '100%',
|
|
616
651
|
...(maxHeight && {
|
|
617
652
|
overflowY: 'auto',
|
|
618
653
|
overflowX: 'hidden',
|
|
@@ -6,6 +6,13 @@ import {
|
|
|
6
6
|
} from './types'
|
|
7
7
|
import { parseTimestamp, dateFormat } from './DateTimeFormatter'
|
|
8
8
|
|
|
9
|
+
/** Replace null, undefined, or non-array `data` with `[]` (empty / no-data state). */
|
|
10
|
+
export function normalizeChartData(
|
|
11
|
+
data: NewNestedDataPoint[] | null | undefined
|
|
12
|
+
): NewNestedDataPoint[] {
|
|
13
|
+
return Array.isArray(data) ? data : []
|
|
14
|
+
}
|
|
15
|
+
|
|
9
16
|
export function transformNestedData(
|
|
10
17
|
data: NewNestedDataPoint[],
|
|
11
18
|
selectedKeys: string[] = []
|
|
@@ -5,7 +5,7 @@ import ChartHeader from './ChartHeader'
|
|
|
5
5
|
import ChartLegends from './ChartLegend'
|
|
6
6
|
import { useRef, useState, useEffect, useCallback, useId, useMemo } from 'react'
|
|
7
7
|
import { renderChart } from './renderChart'
|
|
8
|
-
import { transformNestedData } from './ChartUtils'
|
|
8
|
+
import { normalizeChartData, transformNestedData } from './ChartUtils'
|
|
9
9
|
import Block from '../../components/Primitives/Block/Block'
|
|
10
10
|
import { ChartTokensType } from './chart.tokens'
|
|
11
11
|
import { FOUNDATION_THEME } from '../../tokens'
|
|
@@ -20,7 +20,7 @@ import ChartsSkeleton from './ChartsSkeleton'
|
|
|
20
20
|
|
|
21
21
|
const Charts: React.FC<ChartsProps> = ({
|
|
22
22
|
chartType = ChartType.LINE,
|
|
23
|
-
data,
|
|
23
|
+
data: dataProp,
|
|
24
24
|
colors,
|
|
25
25
|
slot1,
|
|
26
26
|
slot2,
|
|
@@ -46,6 +46,8 @@ const Charts: React.FC<ChartsProps> = ({
|
|
|
46
46
|
lineSeriesKeys,
|
|
47
47
|
...props
|
|
48
48
|
}) => {
|
|
49
|
+
const data = normalizeChartData(dataProp)
|
|
50
|
+
|
|
49
51
|
const { breakPointLabel } = useBreakpoints(BREAKPOINTS)
|
|
50
52
|
const isSmallScreen = breakPointLabel === 'sm'
|
|
51
53
|
const chartTokens = useResponsiveTokens<ChartTokensType>('CHARTS')
|
|
@@ -3,11 +3,11 @@ import { ResponsiveContainer } from 'recharts'
|
|
|
3
3
|
import { ChartType, CoreChartProps } from './types'
|
|
4
4
|
import { DEFAULT_COLORS } from './utils'
|
|
5
5
|
import { renderChart } from './renderChart'
|
|
6
|
-
import { transformNestedData } from './ChartUtils'
|
|
6
|
+
import { normalizeChartData, transformNestedData } from './ChartUtils'
|
|
7
7
|
|
|
8
8
|
export const CoreChart: React.FC<CoreChartProps> = ({
|
|
9
9
|
chartType = ChartType.LINE,
|
|
10
|
-
data,
|
|
10
|
+
data: dataProp,
|
|
11
11
|
colors = DEFAULT_COLORS,
|
|
12
12
|
barsize,
|
|
13
13
|
xAxis,
|
|
@@ -22,6 +22,8 @@ export const CoreChart: React.FC<CoreChartProps> = ({
|
|
|
22
22
|
enableHover = false,
|
|
23
23
|
lineSeriesKeys,
|
|
24
24
|
}) => {
|
|
25
|
+
const data = normalizeChartData(dataProp)
|
|
26
|
+
|
|
25
27
|
const [internalHoveredKey, setInternalHoveredKey] = useState<string | null>(
|
|
26
28
|
null
|
|
27
29
|
)
|
|
@@ -151,7 +151,7 @@ export type RenderChartProps = {
|
|
|
151
151
|
|
|
152
152
|
export type CoreChartProps = {
|
|
153
153
|
chartType?: ChartType
|
|
154
|
-
data
|
|
154
|
+
data?: NewNestedDataPoint[] | null
|
|
155
155
|
colors?: { key: string; color: string }[]
|
|
156
156
|
barsize?: number
|
|
157
157
|
xAxis?: XAxisConfig
|
|
@@ -175,7 +175,7 @@ export type ChartsSkeletonProps = {
|
|
|
175
175
|
|
|
176
176
|
export type ChartsProps = {
|
|
177
177
|
chartType?: ChartType
|
|
178
|
-
data
|
|
178
|
+
data?: NewNestedDataPoint[] | null
|
|
179
179
|
colors?: { key: string; color: string }[]
|
|
180
180
|
slot1?: ReactNode
|
|
181
181
|
slot2?: ReactNode
|
|
@@ -5,8 +5,9 @@ import {
|
|
|
5
5
|
ChartV2SeriesOptionsType,
|
|
6
6
|
} from './chartV2.types'
|
|
7
7
|
import Highcharts from 'highcharts'
|
|
8
|
-
import
|
|
9
|
-
|
|
8
|
+
import {
|
|
9
|
+
HighchartsReact,
|
|
10
|
+
type HighchartsReactProps,
|
|
10
11
|
} from 'highcharts-react-official'
|
|
11
12
|
import { useResponsiveTokens } from '../../hooks/useResponsiveTokens'
|
|
12
13
|
import { ChartV2TokensType } from './chartV2.tokens'
|
|
@@ -31,7 +32,7 @@ const ChartV2 = forwardRef<ChartV2ReactRefObject, ChartV2Props>(
|
|
|
31
32
|
ref
|
|
32
33
|
) => {
|
|
33
34
|
const tokens = useResponsiveTokens<ChartV2TokensType>('CHARTSV2')
|
|
34
|
-
const { options, ...restProps } = props
|
|
35
|
+
const { options = {}, ...restProps } = props
|
|
35
36
|
|
|
36
37
|
const hasSeriesData =
|
|
37
38
|
(options.series as ChartV2SeriesOptionsType[] | undefined)?.some(
|
|
@@ -7,3 +7,8 @@ export { default as ChartV2Skeleton } from './ChartV2Skeleton'
|
|
|
7
7
|
export { default as ChartV2NoData } from './ChartV2NoData'
|
|
8
8
|
export * from './chartV2.tokens'
|
|
9
9
|
export * from './chartV2.types'
|
|
10
|
+
export { useChartLegend } from './useChartLegend'
|
|
11
|
+
export { useChartLegendHover } from './useChartLegendHover'
|
|
12
|
+
export { default as useChartRefs } from './useChartRefs'
|
|
13
|
+
export { getLegendItems, applyHoverState } from './utils'
|
|
14
|
+
export { mergeChartOptions } from './chartV2Options'
|