@once-ui-system/core 1.0.13 → 1.0.15
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/Accordion.js +15 -33
- package/dist/components/Accordion.js.map +1 -1
- package/dist/components/AccordionGroup.js +6 -24
- package/dist/components/AccordionGroup.js.map +1 -1
- package/dist/components/Arrow.js +15 -32
- package/dist/components/Arrow.js.map +1 -1
- package/dist/components/AutoScroll.js +7 -25
- package/dist/components/AutoScroll.js.map +1 -1
- package/dist/components/Avatar.js +19 -30
- package/dist/components/Avatar.js.map +1 -1
- package/dist/components/AvatarGroup.js +14 -26
- package/dist/components/AvatarGroup.js.map +1 -1
- package/dist/components/Background.js +37 -59
- package/dist/components/Background.js.map +1 -1
- package/dist/components/Badge.d.ts.map +1 -1
- package/dist/components/Badge.js +14 -61
- package/dist/components/Badge.js.map +1 -1
- package/dist/components/Banner.js +5 -22
- package/dist/components/Banner.js.map +1 -1
- package/dist/components/Button.d.ts.map +1 -1
- package/dist/components/Button.js +12 -29
- package/dist/components/Button.js.map +1 -1
- package/dist/components/Card.d.ts.map +1 -1
- package/dist/components/Card.js +12 -27
- package/dist/components/Card.js.map +1 -1
- package/dist/components/Carousel.js +18 -32
- package/dist/components/Carousel.js.map +1 -1
- package/dist/components/Checkbox.js +18 -36
- package/dist/components/Checkbox.js.map +1 -1
- package/dist/components/Chip.js +20 -35
- package/dist/components/Chip.js.map +1 -1
- package/dist/components/ColorInput.js +12 -27
- package/dist/components/ColorInput.js.map +1 -1
- package/dist/components/Column.js +6 -21
- package/dist/components/Column.js.map +1 -1
- package/dist/components/CompareImage.js +15 -33
- package/dist/components/CompareImage.js.map +1 -1
- package/dist/components/CursorCard.js +23 -37
- package/dist/components/CursorCard.js.map +1 -1
- package/dist/components/DateInput.js +24 -35
- package/dist/components/DateInput.js.map +1 -1
- package/dist/components/DatePicker.js +40 -65
- package/dist/components/DatePicker.js.map +1 -1
- package/dist/components/DateRangeInput.js +17 -35
- package/dist/components/DateRangeInput.js.map +1 -1
- package/dist/components/DateRangePicker.js +15 -30
- package/dist/components/DateRangePicker.js.map +1 -1
- package/dist/components/Dialog.js +33 -87
- package/dist/components/Dialog.js.map +1 -1
- package/dist/components/Dropdown.js +6 -21
- package/dist/components/Dropdown.js.map +1 -1
- package/dist/components/DropdownWrapper.js +42 -45
- package/dist/components/DropdownWrapper.js.map +1 -1
- package/dist/components/ElementType.js +10 -28
- package/dist/components/ElementType.js.map +1 -1
- package/dist/components/Fade.js +19 -33
- package/dist/components/Fade.js.map +1 -1
- package/dist/components/Feedback.js +6 -21
- package/dist/components/Feedback.js.map +1 -1
- package/dist/components/Flex.js +18 -26
- package/dist/components/Flex.js.map +1 -1
- package/dist/components/FlipFx.js +29 -37
- package/dist/components/FlipFx.js.map +1 -1
- package/dist/components/GlitchFx.js +13 -31
- package/dist/components/GlitchFx.js.map +1 -1
- package/dist/components/Grid.js +18 -26
- package/dist/components/Grid.js.map +1 -1
- package/dist/components/Heading.js +10 -24
- package/dist/components/Heading.js.map +1 -1
- package/dist/components/HoloFx.js +35 -36
- package/dist/components/HoloFx.js.map +1 -1
- package/dist/components/Icon.js +14 -32
- package/dist/components/Icon.js.map +1 -1
- package/dist/components/IconButton.js +15 -33
- package/dist/components/IconButton.js.map +1 -1
- package/dist/components/InfiniteScroll.js +16 -63
- package/dist/components/InfiniteScroll.js.map +1 -1
- package/dist/components/InlineCode.js +8 -26
- package/dist/components/InlineCode.js.map +1 -1
- package/dist/components/Input.js +31 -49
- package/dist/components/Input.js.map +1 -1
- package/dist/components/InteractiveDetails.js +6 -9
- package/dist/components/InteractiveDetails.js.map +1 -1
- package/dist/components/Kbd.js +5 -22
- package/dist/components/Kbd.js.map +1 -1
- package/dist/components/LetterFx.js +13 -19
- package/dist/components/LetterFx.js.map +1 -1
- package/dist/components/Line.js +6 -21
- package/dist/components/Line.js.map +1 -1
- package/dist/components/Logo.js +12 -30
- package/dist/components/Logo.js.map +1 -1
- package/dist/components/LogoCloud.js +14 -29
- package/dist/components/LogoCloud.js.map +1 -1
- package/dist/components/Mask.js +17 -32
- package/dist/components/Mask.js.map +1 -1
- package/dist/components/Media.js +25 -36
- package/dist/components/Media.js.map +1 -1
- package/dist/components/NavIcon.js +8 -26
- package/dist/components/NavIcon.js.map +1 -1
- package/dist/components/NumberInput.js +11 -30
- package/dist/components/NumberInput.js.map +1 -1
- package/dist/components/OTPInput.js +16 -37
- package/dist/components/OTPInput.js.map +1 -1
- package/dist/components/OgCard.js +22 -30
- package/dist/components/OgCard.js.map +1 -1
- package/dist/components/Option.js +15 -33
- package/dist/components/Option.js.map +1 -1
- package/dist/components/Particle.d.ts +2 -3
- package/dist/components/Particle.d.ts.map +1 -1
- package/dist/components/Particle.js +14 -62
- package/dist/components/Particle.js.map +1 -1
- package/dist/components/PasswordInput.js +8 -11
- package/dist/components/PasswordInput.js.map +1 -1
- package/dist/components/RadioButton.js +17 -35
- package/dist/components/RadioButton.js.map +1 -1
- package/dist/components/RevealFx.js +18 -32
- package/dist/components/RevealFx.js.map +1 -1
- package/dist/components/Row.js +6 -21
- package/dist/components/Row.js.map +1 -1
- package/dist/components/ScrollToTop.js +9 -28
- package/dist/components/ScrollToTop.js.map +1 -1
- package/dist/components/Scroller.js +30 -77
- package/dist/components/Scroller.js.map +1 -1
- package/dist/components/SegmentedControl.js +15 -32
- package/dist/components/SegmentedControl.js.map +1 -1
- package/dist/components/Select.js +32 -50
- package/dist/components/Select.js.map +1 -1
- package/dist/components/Skeleton.js +8 -26
- package/dist/components/Skeleton.js.map +1 -1
- package/dist/components/SmartLink.js +28 -34
- package/dist/components/SmartLink.js.map +1 -1
- package/dist/components/Spinner.js +8 -26
- package/dist/components/Spinner.js.map +1 -1
- package/dist/components/StatusIndicator.js +8 -26
- package/dist/components/StatusIndicator.js.map +1 -1
- package/dist/components/StyleOverlay.js +9 -27
- package/dist/components/StyleOverlay.js.map +1 -1
- package/dist/components/StylePanel.js +45 -63
- package/dist/components/StylePanel.js.map +1 -1
- package/dist/components/Switch.js +18 -36
- package/dist/components/Switch.js.map +1 -1
- package/dist/components/Table.d.ts.map +1 -1
- package/dist/components/Table.js +12 -29
- package/dist/components/Table.js.map +1 -1
- package/dist/components/Tag.js +8 -26
- package/dist/components/Tag.js.map +1 -1
- package/dist/components/TagInput.js +9 -24
- package/dist/components/TagInput.js.map +1 -1
- package/dist/components/Text.js +10 -24
- package/dist/components/Text.js.map +1 -1
- package/dist/components/Textarea.js +34 -81
- package/dist/components/Textarea.js.map +1 -1
- package/dist/components/ThemeSwitcher.js +10 -46
- package/dist/components/ThemeSwitcher.js.map +1 -1
- package/dist/components/TiltFx.js +8 -26
- package/dist/components/TiltFx.js.map +1 -1
- package/dist/components/Toast.js +14 -20
- package/dist/components/Toast.js.map +1 -1
- package/dist/components/Toaster.js +10 -16
- package/dist/components/Toaster.js.map +1 -1
- package/dist/components/ToggleButton.d.ts.map +1 -1
- package/dist/components/ToggleButton.js +10 -27
- package/dist/components/ToggleButton.js.map +1 -1
- package/dist/components/Tooltip.js +11 -25
- package/dist/components/Tooltip.js.map +1 -1
- package/dist/components/User.js +8 -25
- package/dist/components/User.js.map +1 -1
- package/dist/components/UserMenu.js +8 -26
- package/dist/components/UserMenu.js.map +1 -1
- package/dist/components/index.js +81 -97
- package/dist/components/index.js.map +1 -1
- package/dist/contexts/DataThemeProvider.js +23 -19
- package/dist/contexts/DataThemeProvider.js.map +1 -1
- package/dist/contexts/IconProvider.js +9 -14
- package/dist/contexts/IconProvider.js.map +1 -1
- package/dist/contexts/ThemeProvider.js +43 -32
- package/dist/contexts/ThemeProvider.js.map +1 -1
- package/dist/contexts/ToastProvider.js +14 -15
- package/dist/contexts/ToastProvider.js.map +1 -1
- package/dist/contexts/index.js +4 -20
- package/dist/contexts/index.js.map +1 -1
- package/dist/hooks/index.js +3 -19
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useDebounce.d.ts.map +1 -1
- package/dist/hooks/useDebounce.js +5 -7
- package/dist/hooks/useDebounce.js.map +1 -1
- package/dist/hooks/useFetchOg.d.ts.map +1 -1
- package/dist/hooks/useFetchOg.js +8 -11
- package/dist/hooks/useFetchOg.js.map +1 -1
- package/dist/hooks/useHeadingLinks.d.ts.map +1 -1
- package/dist/hooks/useHeadingLinks.js +5 -8
- package/dist/hooks/useHeadingLinks.js.map +1 -1
- package/dist/icons.js +31 -34
- package/dist/icons.js.map +1 -1
- package/dist/index.js +8 -24
- package/dist/index.js.map +1 -1
- package/dist/interfaces.js +1 -2
- package/dist/modules/code/CodeBlock.js +33 -84
- package/dist/modules/code/CodeBlock.js.map +1 -1
- package/dist/modules/data/BarChart.js +30 -75
- package/dist/modules/data/BarChart.js.map +1 -1
- package/dist/modules/data/ChartHeader.js +29 -45
- package/dist/modules/data/ChartHeader.js.map +1 -1
- package/dist/modules/data/ChartStatus.js +4 -8
- package/dist/modules/data/ChartStatus.js.map +1 -1
- package/dist/modules/data/DataTooltip.js +14 -17
- package/dist/modules/data/DataTooltip.js.map +1 -1
- package/dist/modules/data/Gradient.js +6 -11
- package/dist/modules/data/Gradient.js.map +1 -1
- package/dist/modules/data/Legend.js +8 -11
- package/dist/modules/data/Legend.js.map +1 -1
- package/dist/modules/data/LineBarChart.js +29 -77
- package/dist/modules/data/LineBarChart.js.map +1 -1
- package/dist/modules/data/LineChart.js +42 -87
- package/dist/modules/data/LineChart.js.map +1 -1
- package/dist/modules/data/PieChart.js +28 -78
- package/dist/modules/data/PieChart.js.map +1 -1
- package/dist/modules/data/Swatch.js +17 -12
- package/dist/modules/data/Swatch.js.map +1 -1
- package/dist/modules/data/index.js +11 -27
- package/dist/modules/data/index.js.map +1 -1
- package/dist/modules/data/interfaces.js +1 -2
- package/dist/modules/data/utils/colorDistribution.js +8 -12
- package/dist/modules/data/utils/colorDistribution.js.map +1 -1
- package/dist/modules/data/utils/formatDate.js +6 -9
- package/dist/modules/data/utils/formatDate.js.map +1 -1
- package/dist/modules/index.js +19 -41
- package/dist/modules/index.js.map +1 -1
- package/dist/modules/media/MediaUpload.js +16 -34
- package/dist/modules/media/MediaUpload.js.map +1 -1
- package/dist/modules/navigation/HeadingLink.d.ts.map +1 -1
- package/dist/modules/navigation/HeadingLink.js +33 -46
- package/dist/modules/navigation/HeadingLink.js.map +1 -1
- package/dist/modules/navigation/HeadingNav.js +24 -42
- package/dist/modules/navigation/HeadingNav.js.map +1 -1
- package/dist/modules/navigation/Kbar.js +52 -109
- package/dist/modules/navigation/Kbar.js.map +1 -1
- package/dist/modules/navigation/MegaMenu.js +27 -44
- package/dist/modules/navigation/MegaMenu.js.map +1 -1
- package/dist/modules/navigation/MobileMegaMenu.js +10 -25
- package/dist/modules/navigation/MobileMegaMenu.js.map +1 -1
- package/dist/modules/navigation/index.js +5 -21
- package/dist/modules/navigation/index.js.map +1 -1
- package/dist/modules/seo/Meta.js +28 -19
- package/dist/modules/seo/Meta.js.map +1 -1
- package/dist/modules/seo/Schema.js +16 -17
- package/dist/modules/seo/Schema.js.map +1 -1
- package/dist/package.json +2 -4
- package/dist/types.js +1 -4
- package/dist/types.js.map +1 -1
- package/dist/utils/devLogger.js +1 -4
- package/dist/utils/devLogger.js.map +1 -1
- package/dist/utils/index.js +1 -17
- package/dist/utils/index.js.map +1 -1
- package/next-env.d.ts +5 -0
- package/package.json +18 -20
|
@@ -1,28 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./interfaces"), exports);
|
|
18
|
-
__exportStar(require("./LineChart"), exports);
|
|
19
|
-
__exportStar(require("./BarChart"), exports);
|
|
20
|
-
__exportStar(require("./PieChart"), exports);
|
|
21
|
-
__exportStar(require("./LineBarChart"), exports);
|
|
22
|
-
__exportStar(require("./ChartHeader"), exports);
|
|
23
|
-
__exportStar(require("./ChartStatus"), exports);
|
|
24
|
-
__exportStar(require("./Gradient"), exports);
|
|
25
|
-
__exportStar(require("./DataTooltip"), exports);
|
|
26
|
-
__exportStar(require("./Legend"), exports);
|
|
27
|
-
__exportStar(require("./Swatch"), exports);
|
|
1
|
+
export * from "./interfaces";
|
|
2
|
+
export * from "./LineChart";
|
|
3
|
+
export * from "./BarChart";
|
|
4
|
+
export * from "./PieChart";
|
|
5
|
+
export * from "./LineBarChart";
|
|
6
|
+
export * from "./ChartHeader";
|
|
7
|
+
export * from "./ChartStatus";
|
|
8
|
+
export * from "./Gradient";
|
|
9
|
+
export * from "./DataTooltip";
|
|
10
|
+
export * from "./Legend";
|
|
11
|
+
export * from "./Swatch";
|
|
28
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/data/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/data/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAE7B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getDistributedColor = void 0;
|
|
4
|
-
const types_1 = require("../../../types");
|
|
1
|
+
import { schemes } from "../../../types";
|
|
5
2
|
/**
|
|
6
3
|
* Returns a color from the schemes array with even distribution
|
|
7
4
|
* Instead of sequential colors (0,1,2), this distributes them evenly across the color spectrum
|
|
@@ -10,24 +7,24 @@ const types_1 = require("../../../types");
|
|
|
10
7
|
* @param totalItems Total number of items in the series (if known)
|
|
11
8
|
* @returns A color from the schemes array
|
|
12
9
|
*/
|
|
13
|
-
const getDistributedColor = (index, totalItems) => {
|
|
14
|
-
const totalColors =
|
|
10
|
+
export const getDistributedColor = (index, totalItems) => {
|
|
11
|
+
const totalColors = schemes.length;
|
|
15
12
|
// For small sets, use predefined optimal distributions
|
|
16
13
|
if (totalItems) {
|
|
17
14
|
// Special case for 3 items - use blue, orange, cyan (maximally distinct)
|
|
18
15
|
if (totalItems === 3) {
|
|
19
16
|
const optimalIndices = [0, 6, 12]; // blue, orange, cyan
|
|
20
|
-
return
|
|
17
|
+
return schemes[optimalIndices[index % 3]];
|
|
21
18
|
}
|
|
22
19
|
// Special case for 2 items - use blue and orange (complementary colors)
|
|
23
20
|
if (totalItems === 2) {
|
|
24
21
|
const optimalIndices = [0, 6]; // blue, orange
|
|
25
|
-
return
|
|
22
|
+
return schemes[optimalIndices[index % 2]];
|
|
26
23
|
}
|
|
27
24
|
// Special case for 4 items - use blue, orange, green, magenta (balanced tetrad)
|
|
28
25
|
if (totalItems === 4) {
|
|
29
26
|
const optimalIndices = [0, 6, 9, 3]; // blue, orange, green, magenta
|
|
30
|
-
return
|
|
27
|
+
return schemes[optimalIndices[index % 4]];
|
|
31
28
|
}
|
|
32
29
|
// For 5+ items, use a more sophisticated distribution
|
|
33
30
|
if (totalItems > 1) {
|
|
@@ -35,7 +32,7 @@ const getDistributedColor = (index, totalItems) => {
|
|
|
35
32
|
// and ensure better distribution across the spectrum
|
|
36
33
|
const step = Math.max(1, Math.floor(totalColors / totalItems));
|
|
37
34
|
const offset = Math.floor(totalColors / (2 * totalItems)); // Add offset for better distribution
|
|
38
|
-
return
|
|
35
|
+
return schemes[(index * step + offset) % totalColors];
|
|
39
36
|
}
|
|
40
37
|
}
|
|
41
38
|
// If we don't know the total or there's only one item,
|
|
@@ -44,7 +41,6 @@ const getDistributedColor = (index, totalItems) => {
|
|
|
44
41
|
const goldenRatioConjugate = 0.618033988749895;
|
|
45
42
|
const hue = (index * goldenRatioConjugate) % 1;
|
|
46
43
|
const colorIndex = Math.floor(hue * totalColors);
|
|
47
|
-
return
|
|
44
|
+
return schemes[colorIndex];
|
|
48
45
|
};
|
|
49
|
-
exports.getDistributedColor = getDistributedColor;
|
|
50
46
|
//# sourceMappingURL=colorDistribution.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colorDistribution.js","sourceRoot":"","sources":["../../../../src/modules/data/utils/colorDistribution.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"colorDistribution.js","sourceRoot":"","sources":["../../../../src/modules/data/utils/colorDistribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAE,UAAmB,EAAU,EAAE;IAChF,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAEnC,uDAAuD;IACvD,IAAI,UAAU,EAAE,CAAC;QACf,yEAAyE;QACzE,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB;YACxD,OAAO,OAAO,CAAC,cAAc,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,wEAAwE;QACxE,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe;YAC9C,OAAO,OAAO,CAAC,cAAc,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,gFAAgF;QAChF,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,+BAA+B;YACpE,OAAO,OAAO,CAAC,cAAc,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,sDAAsD;QACtD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,0DAA0D;YAC1D,qDAAqD;YACrD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,qCAAqC;YAChG,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,sDAAsD;IACtD,mFAAmF;IACnF,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;IAC/C,MAAM,GAAG,GAAG,CAAC,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC;IAEjD,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;AAC7B,CAAC,CAAC"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.formatDate = formatDate;
|
|
4
|
-
const date_fns_1 = require("date-fns");
|
|
1
|
+
import { format, parseISO } from "date-fns";
|
|
5
2
|
/**
|
|
6
3
|
* Formats a value as a date if it's a valid date and a format is provided
|
|
7
4
|
* Otherwise returns the original value or label if available
|
|
@@ -11,19 +8,19 @@ const date_fns_1 = require("date-fns");
|
|
|
11
8
|
* @param dataPoint - Optional data point object that might contain a label property
|
|
12
9
|
* @returns Formatted date string or original value
|
|
13
10
|
*/
|
|
14
|
-
function formatDate(value, dateConfig, dataPoint) {
|
|
15
|
-
if (dataPoint
|
|
11
|
+
export function formatDate(value, dateConfig, dataPoint) {
|
|
12
|
+
if (dataPoint?.label) {
|
|
16
13
|
return dataPoint.label;
|
|
17
14
|
}
|
|
18
|
-
if (dateConfig
|
|
15
|
+
if (dateConfig?.format) {
|
|
19
16
|
try {
|
|
20
17
|
// Check if it's already a Date object
|
|
21
18
|
if (value instanceof Date) {
|
|
22
|
-
return
|
|
19
|
+
return format(value, dateConfig.format);
|
|
23
20
|
}
|
|
24
21
|
// Check if it's an ISO date string
|
|
25
22
|
if (typeof value === "string" && /^\d{4}-\d{2}-\d{2}/.test(value)) {
|
|
26
|
-
return
|
|
23
|
+
return format(parseISO(value), dateConfig.format);
|
|
27
24
|
}
|
|
28
25
|
}
|
|
29
26
|
catch (error) { }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatDate.js","sourceRoot":"","sources":["../../../../src/modules/data/utils/formatDate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"formatDate.js","sourceRoot":"","sources":["../../../../src/modules/data/utils/formatDate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAG5C;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CACxB,KAAU,EACV,UAAuB,EACvB,SAA+B;IAE/B,IAAI,SAAS,EAAE,KAAK,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC,KAAK,CAAC;IACzB,CAAC;IAED,IAAI,UAAU,EAAE,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,sCAAsC;YACtC,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;gBAC1B,OAAO,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;YAED,mCAAmC;YACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClE,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC,CAAA,CAAC;IACpB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/modules/index.js
CHANGED
|
@@ -1,42 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var Kbar_1 = require("./navigation/Kbar");
|
|
21
|
-
Object.defineProperty(exports, "Kbar", { enumerable: true, get: function () { return Kbar_1.Kbar; } });
|
|
22
|
-
var ChartHeader_1 = require("./data/ChartHeader");
|
|
23
|
-
Object.defineProperty(exports, "ChartHeader", { enumerable: true, get: function () { return ChartHeader_1.ChartHeader; } });
|
|
24
|
-
var ChartStatus_1 = require("./data/ChartStatus");
|
|
25
|
-
Object.defineProperty(exports, "ChartStatus", { enumerable: true, get: function () { return ChartStatus_1.ChartStatus; } });
|
|
26
|
-
var Gradient_1 = require("./data/Gradient");
|
|
27
|
-
Object.defineProperty(exports, "LinearGradient", { enumerable: true, get: function () { return Gradient_1.LinearGradient; } });
|
|
28
|
-
var Gradient_2 = require("./data/Gradient");
|
|
29
|
-
Object.defineProperty(exports, "RadialGradient", { enumerable: true, get: function () { return Gradient_2.RadialGradient; } });
|
|
30
|
-
var BarChart_1 = require("./data/BarChart");
|
|
31
|
-
Object.defineProperty(exports, "BarChart", { enumerable: true, get: function () { return BarChart_1.BarChart; } });
|
|
32
|
-
var LineChart_1 = require("./data/LineChart");
|
|
33
|
-
Object.defineProperty(exports, "LineChart", { enumerable: true, get: function () { return LineChart_1.LineChart; } });
|
|
34
|
-
var PieChart_1 = require("./data/PieChart");
|
|
35
|
-
Object.defineProperty(exports, "PieChart", { enumerable: true, get: function () { return PieChart_1.PieChart; } });
|
|
36
|
-
var LineBarChart_1 = require("./data/LineBarChart");
|
|
37
|
-
Object.defineProperty(exports, "LineBarChart", { enumerable: true, get: function () { return LineBarChart_1.LineBarChart; } });
|
|
38
|
-
var DataTooltip_1 = require("./data/DataTooltip");
|
|
39
|
-
Object.defineProperty(exports, "DataTooltip", { enumerable: true, get: function () { return DataTooltip_1.DataTooltip; } });
|
|
40
|
-
var Legend_1 = require("./data/Legend");
|
|
41
|
-
Object.defineProperty(exports, "Legend", { enumerable: true, get: function () { return Legend_1.Legend; } });
|
|
1
|
+
export { CodeBlock } from "./code/CodeBlock";
|
|
2
|
+
export { MediaUpload } from "./media/MediaUpload";
|
|
3
|
+
export { Meta } from "./seo/Meta";
|
|
4
|
+
export { Schema } from "./seo/Schema";
|
|
5
|
+
export { HeadingNav } from "./navigation/HeadingNav";
|
|
6
|
+
export { HeadingLink } from "./navigation/HeadingLink";
|
|
7
|
+
export { MegaMenu } from "./navigation/MegaMenu";
|
|
8
|
+
export { MobileMegaMenu } from "./navigation/MobileMegaMenu";
|
|
9
|
+
export { Kbar } from "./navigation/Kbar";
|
|
10
|
+
export { ChartHeader } from "./data/ChartHeader";
|
|
11
|
+
export { ChartStatus } from "./data/ChartStatus";
|
|
12
|
+
export { LinearGradient } from "./data/Gradient";
|
|
13
|
+
export { RadialGradient } from "./data/Gradient";
|
|
14
|
+
export { BarChart } from "./data/BarChart";
|
|
15
|
+
export { LineChart } from "./data/LineChart";
|
|
16
|
+
export { PieChart } from "./data/PieChart";
|
|
17
|
+
export { LineBarChart } from "./data/LineBarChart";
|
|
18
|
+
export { DataTooltip } from "./data/DataTooltip";
|
|
19
|
+
export { Legend } from "./data/Legend";
|
|
42
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/modules/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/modules/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -1,33 +1,15 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
"use client";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
15
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
16
|
-
};
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.MediaUpload = void 0;
|
|
19
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
20
|
-
const react_1 = require("react");
|
|
21
|
-
const compressorjs_1 = __importDefault(require("compressorjs"));
|
|
22
|
-
const __1 = require("../../");
|
|
23
|
-
const MediaUpload_module_scss_1 = __importDefault(require("./MediaUpload.module.scss"));
|
|
24
|
-
const MediaUpload = (0, react_1.forwardRef)((_a, ref) => {
|
|
25
|
-
var { onFileUpload, compress = true, aspectRatio = "16 / 9", quality = 0.8, convertTypes = ["image/png", "image/webp", "image/jpg"], emptyState = "Drag and drop or click to browse", resizeMaxWidth = 1920, resizeMaxHeight = 1920, resizeWidth = 1200, resizeHeight = 1200, loading = false, sizes, children, initialPreviewImage = null, accept = "image/*" } = _a, rest = __rest(_a, ["onFileUpload", "compress", "aspectRatio", "quality", "convertTypes", "emptyState", "resizeMaxWidth", "resizeMaxHeight", "resizeWidth", "resizeHeight", "loading", "sizes", "children", "initialPreviewImage", "accept"]);
|
|
26
|
-
const [dragActive, setDragActive] = (0, react_1.useState)(false);
|
|
27
|
-
const [previewImage, setPreviewImage] = (0, react_1.useState)(initialPreviewImage); // Use prop as initial state
|
|
28
|
-
const [uploading, setUploading] = (0, react_1.useState)(false);
|
|
29
|
-
const inputRef = (0, react_1.useRef)(null);
|
|
30
|
-
(0, react_1.useEffect)(() => {
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useRef, useState, forwardRef, useEffect } from "react";
|
|
4
|
+
import Compressor from "compressorjs";
|
|
5
|
+
import { Flex, Icon, Media, Spinner, Text } from "../../";
|
|
6
|
+
import styles from "./MediaUpload.module.scss";
|
|
7
|
+
const MediaUpload = forwardRef(({ onFileUpload, compress = true, aspectRatio = "16 / 9", quality = 0.8, convertTypes = ["image/png", "image/webp", "image/jpg"], emptyState = "Drag and drop or click to browse", resizeMaxWidth = 1920, resizeMaxHeight = 1920, resizeWidth = 1200, resizeHeight = 1200, loading = false, sizes, children, initialPreviewImage = null, accept = "image/*", ...rest }, ref) => {
|
|
8
|
+
const [dragActive, setDragActive] = useState(false);
|
|
9
|
+
const [previewImage, setPreviewImage] = useState(initialPreviewImage); // Use prop as initial state
|
|
10
|
+
const [uploading, setUploading] = useState(false);
|
|
11
|
+
const inputRef = useRef(null);
|
|
12
|
+
useEffect(() => {
|
|
31
13
|
if (initialPreviewImage) {
|
|
32
14
|
setPreviewImage(initialPreviewImage);
|
|
33
15
|
}
|
|
@@ -73,7 +55,7 @@ const MediaUpload = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
73
55
|
}
|
|
74
56
|
};
|
|
75
57
|
const compressImage = (file) => {
|
|
76
|
-
new
|
|
58
|
+
new Compressor(file, {
|
|
77
59
|
convertTypes: convertTypes,
|
|
78
60
|
quality: quality,
|
|
79
61
|
maxWidth: resizeMaxWidth,
|
|
@@ -97,15 +79,15 @@ const MediaUpload = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
97
79
|
}
|
|
98
80
|
setUploading(false);
|
|
99
81
|
};
|
|
100
|
-
return ((
|
|
82
|
+
return (_jsxs(Flex, { style: { isolation: "isolate" }, transition: "micro-medium", overflow: "hidden", cursor: "interactive", className: styles.container, aspectRatio: aspectRatio, fillWidth: true, horizontal: "center", vertical: "center", border: "neutral-medium", radius: "l", onClick: handleFileSelection, onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop, ...rest, children: [!loading && (_jsx(_Fragment, { children: previewImage ? (_jsx(Media, { style: {
|
|
101
83
|
cursor: "pointer",
|
|
102
84
|
filter: uploading ? "grayscale(1)" : "",
|
|
103
|
-
}, sizes: sizes, fill: true, src: previewImage ? previewImage : "", alt: "Preview of uploaded image" })) : ((
|
|
85
|
+
}, sizes: sizes, fill: true, src: previewImage ? previewImage : "", alt: "Preview of uploaded image" })) : (_jsx(Flex, { fill: true, center: true, children: _jsx(Icon, { name: "plus", size: "l" }) })) })), children, _jsx(Flex, { className: styles.upload, zIndex: 1, transition: "micro-medium", position: "absolute", fill: true, padding: "m", horizontal: "center", vertical: "center", children: uploading || loading ? (_jsx(Spinner, { size: "l" })) : (_jsx(Text, { className: styles.text, align: "center", children: emptyState })) }), _jsx("input", { type: "file", ref: inputRef, accept: accept, style: { display: "none" }, onChange: (e) => {
|
|
104
86
|
if (e.target.files) {
|
|
105
87
|
handleFiles(e.target.files);
|
|
106
88
|
}
|
|
107
|
-
} })] }))
|
|
89
|
+
} })] }));
|
|
108
90
|
});
|
|
109
|
-
exports.MediaUpload = MediaUpload;
|
|
110
91
|
MediaUpload.displayName = "MediaUpload";
|
|
92
|
+
export { MediaUpload };
|
|
111
93
|
//# sourceMappingURL=MediaUpload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaUpload.js","sourceRoot":"","sources":["../../../src/modules/media/MediaUpload.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MediaUpload.js","sourceRoot":"","sources":["../../../src/modules/media/MediaUpload.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeadingLink.d.ts","sourceRoot":"","sources":["../../../src/modules/navigation/HeadingLink.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"HeadingLink.d.ts","sourceRoot":"","sources":["../../../src/modules/navigation/HeadingLink.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAoB,MAAM,kBAAkB,CAAC;AAI7D,UAAU,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,OAAO,CAAC;IACrE,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAWD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAsDlD,CAAC"}
|
|
@@ -1,52 +1,39 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
"use client";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useCallback } from "react";
|
|
4
|
+
import { Heading, Flex, IconButton } from "../../components";
|
|
5
|
+
import { useToast } from "../../contexts";
|
|
6
|
+
import styles from "./HeadingLink.module.scss";
|
|
7
|
+
const variantMap = {
|
|
8
|
+
h1: "display-strong-xs",
|
|
9
|
+
h2: "heading-strong-xl",
|
|
10
|
+
h3: "heading-strong-l",
|
|
11
|
+
h4: "heading-strong-m",
|
|
12
|
+
h5: "heading-strong-s",
|
|
13
|
+
h6: "heading-strong-xs",
|
|
16
14
|
};
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
});
|
|
33
|
-
}, () => {
|
|
34
|
-
addToast({
|
|
35
|
-
variant: "danger",
|
|
36
|
-
message: "Failed to copy link.",
|
|
15
|
+
export const HeadingLink = ({ id, as, children, style, ...heading }) => {
|
|
16
|
+
const { addToast } = useToast();
|
|
17
|
+
const copyURL = useCallback((id) => {
|
|
18
|
+
try {
|
|
19
|
+
const url = `${window.location.origin}${window.location.pathname}#${id}`;
|
|
20
|
+
navigator.clipboard.writeText(url).then(() => {
|
|
21
|
+
addToast?.({
|
|
22
|
+
variant: "success",
|
|
23
|
+
message: "Link copied to clipboard.",
|
|
24
|
+
});
|
|
25
|
+
}, () => {
|
|
26
|
+
addToast?.({
|
|
27
|
+
variant: "danger",
|
|
28
|
+
message: "Failed to copy link.",
|
|
29
|
+
});
|
|
37
30
|
});
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
h3: "heading-strong-l",
|
|
44
|
-
h4: "heading-strong-m",
|
|
45
|
-
h5: "heading-strong-s",
|
|
46
|
-
h6: "heading-strong-xs",
|
|
47
|
-
};
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
console.error("Error copying to clipboard:", error);
|
|
34
|
+
}
|
|
35
|
+
}, [addToast]);
|
|
48
36
|
const variant = variantMap[as];
|
|
49
|
-
return ((
|
|
37
|
+
return (_jsxs(Flex, { style: style, onClick: () => copyURL(id), className: styles.control, vertical: "center", gap: "8", children: [_jsx(Heading, { className: styles.text, id: id, variant: variant, as: as, ...heading, children: children }), _jsx(IconButton, { className: styles.visibility, size: "m", icon: "openLink", variant: "secondary", tooltip: "Copy", tooltipPosition: "right" })] }));
|
|
50
38
|
};
|
|
51
|
-
exports.HeadingLink = HeadingLink;
|
|
52
39
|
//# sourceMappingURL=HeadingLink.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeadingLink.js","sourceRoot":"","sources":["../../../src/modules/navigation/HeadingLink.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HeadingLink.js","sourceRoot":"","sources":["../../../src/modules/navigation/HeadingLink.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAS/C,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,kBAAkB;IACtB,EAAE,EAAE,kBAAkB;IACtB,EAAE,EAAE,kBAAkB;IACtB,EAAE,EAAE,mBAAmB;CACf,CAAC;AAEX,MAAM,CAAC,MAAM,WAAW,GAA+B,CAAC,EACtD,EAAE,EACF,EAAE,EACF,QAAQ,EACR,KAAK,EACL,GAAG,OAAO,EACX,EAAE,EAAE;IACH,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC;IAEhC,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,EAAU,EAAE,EAAE;QACzC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YACzE,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CACrC,GAAG,EAAE;gBACH,QAAQ,EAAE,CAAC;oBACT,OAAO,EAAE,SAAS;oBAClB,OAAO,EAAE,2BAA2B;iBACrC,CAAC,CAAC;YACL,CAAC,EACD,GAAG,EAAE;gBACH,QAAQ,EAAE,CAAC;oBACT,OAAO,EAAE,QAAQ;oBACjB,OAAO,EAAE,sBAAsB;iBAChC,CAAC,CAAC;YACL,CAAC,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;IAE/B,OAAO,CACL,MAAC,IAAI,IACH,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAC1B,SAAS,EAAE,MAAM,CAAC,OAAO,EACzB,QAAQ,EAAC,QAAQ,EACjB,GAAG,EAAC,GAAG,aAEP,KAAC,OAAO,IAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,KAAM,OAAO,YAC3E,QAAQ,GACD,EACV,KAAC,UAAU,IACT,SAAS,EAAE,MAAM,CAAC,UAAU,EAC5B,IAAI,EAAC,GAAG,EACR,IAAI,EAAC,UAAU,EACf,OAAO,EAAC,WAAW,EACnB,OAAO,EAAC,MAAM,EACd,eAAe,EAAC,OAAO,GACvB,IACG,CACR,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,33 +1,18 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
"use client";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
const react_1 = require("react");
|
|
18
|
-
const __1 = require("../../");
|
|
19
|
-
const HeadingNav = (0, react_1.forwardRef)((_a, ref) => {
|
|
20
|
-
var { className, style } = _a, rest = __rest(_a, ["className", "style"]);
|
|
21
|
-
const [activeHeadingId, setActiveHeadingId] = (0, react_1.useState)(null);
|
|
22
|
-
const [activeIndex, setActiveIndex] = (0, react_1.useState)(0);
|
|
23
|
-
const indicatorRef = (0, react_1.useRef)(null);
|
|
24
|
-
const headings = (0, __1.useHeadingLinks)();
|
|
25
|
-
const observerRef = (0, react_1.useRef)(null);
|
|
26
|
-
const lastUpdateTimeRef = (0, react_1.useRef)(0);
|
|
27
|
-
const pendingUpdateRef = (0, react_1.useRef)(null);
|
|
28
|
-
const scrollTimeoutRef = (0, react_1.useRef)(null);
|
|
29
|
-
const isUpdatingRef = (0, react_1.useRef)(false);
|
|
30
|
-
const updateActiveHeadingInternal = (0, react_1.useCallback)((id) => {
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef, useEffect, useState, useRef, useCallback } from "react";
|
|
4
|
+
import { Column, Flex, Row, SmartLink, Text, useHeadingLinks } from "../../";
|
|
5
|
+
const HeadingNav = forwardRef(({ className, style, ...rest }, ref) => {
|
|
6
|
+
const [activeHeadingId, setActiveHeadingId] = useState(null);
|
|
7
|
+
const [activeIndex, setActiveIndex] = useState(0);
|
|
8
|
+
const indicatorRef = useRef(null);
|
|
9
|
+
const headings = useHeadingLinks();
|
|
10
|
+
const observerRef = useRef(null);
|
|
11
|
+
const lastUpdateTimeRef = useRef(0);
|
|
12
|
+
const pendingUpdateRef = useRef(null);
|
|
13
|
+
const scrollTimeoutRef = useRef(null);
|
|
14
|
+
const isUpdatingRef = useRef(false);
|
|
15
|
+
const updateActiveHeadingInternal = useCallback((id) => {
|
|
31
16
|
const index = headings.findIndex((h) => h.id === id);
|
|
32
17
|
if (index !== -1) {
|
|
33
18
|
setActiveHeadingId(id);
|
|
@@ -39,11 +24,10 @@ const HeadingNav = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
39
24
|
isUpdatingRef.current = false;
|
|
40
25
|
}
|
|
41
26
|
}, [headings]);
|
|
42
|
-
|
|
43
|
-
var _a;
|
|
27
|
+
useEffect(() => {
|
|
44
28
|
if (headings.length === 0)
|
|
45
29
|
return;
|
|
46
|
-
setActiveHeadingId(
|
|
30
|
+
setActiveHeadingId(headings[0]?.id || null);
|
|
47
31
|
const headingElements = headings
|
|
48
32
|
.map((heading) => document.getElementById(heading.id))
|
|
49
33
|
.filter(Boolean);
|
|
@@ -80,9 +64,8 @@ const HeadingNav = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
80
64
|
updateActiveHeadingInternal(id);
|
|
81
65
|
};
|
|
82
66
|
const findActiveHeading = () => {
|
|
83
|
-
var _a;
|
|
84
67
|
const scrollPosition = window.scrollY;
|
|
85
|
-
let activeId =
|
|
68
|
+
let activeId = headings[0]?.id;
|
|
86
69
|
let closestPosition = -Infinity;
|
|
87
70
|
headingPositions.forEach((position, id) => {
|
|
88
71
|
if (position <= scrollPosition && position > closestPosition) {
|
|
@@ -131,9 +114,8 @@ const HeadingNav = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
131
114
|
return () => {
|
|
132
115
|
if (observerRef.current) {
|
|
133
116
|
headingElements.forEach((element) => {
|
|
134
|
-
var _a;
|
|
135
117
|
if (element)
|
|
136
|
-
|
|
118
|
+
observerRef.current?.unobserve(element);
|
|
137
119
|
});
|
|
138
120
|
}
|
|
139
121
|
window.removeEventListener("scroll", handleScroll);
|
|
@@ -151,13 +133,13 @@ const HeadingNav = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
151
133
|
}
|
|
152
134
|
lastUpdateTimeRef.current = Date.now();
|
|
153
135
|
};
|
|
154
|
-
return ((
|
|
136
|
+
return (_jsxs(Row, { paddingLeft: "8", gap: "12", className: className, style: style, ref: ref, ...rest, children: [_jsx(Row, { width: "2", background: "neutral-alpha-medium", radius: "full", overflow: "hidden", children: _jsx(Row, { ref: indicatorRef, height: "32", paddingY: "4", fillWidth: true, position: "absolute", style: {
|
|
155
137
|
top: `calc(${activeIndex} * var(--static-space-32))`,
|
|
156
138
|
transition: "top 0.3s ease",
|
|
157
|
-
}, children: (
|
|
139
|
+
}, children: _jsx(Row, { fillWidth: true, solid: "brand-strong", radius: "full" }) }) }), _jsx(Column, { fillWidth: true, children: headings.map((heading, index) => {
|
|
158
140
|
const indent = heading.level - 2;
|
|
159
141
|
const isActive = heading.id === activeHeadingId;
|
|
160
|
-
return ((
|
|
142
|
+
return (_jsx(Flex, { fillWidth: true, height: "32", paddingX: "4", children: _jsx(SmartLink, { fillWidth: true, href: "#" + heading.id, onClick: (e) => {
|
|
161
143
|
e.preventDefault();
|
|
162
144
|
const target = document.getElementById(heading.id);
|
|
163
145
|
if (target) {
|
|
@@ -174,11 +156,11 @@ const HeadingNav = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
174
156
|
? "var(--neutral-on-background-strong)"
|
|
175
157
|
: "var(--neutral-on-background-weak)",
|
|
176
158
|
transition: "color 0.2s ease",
|
|
177
|
-
}, children: (
|
|
159
|
+
}, children: _jsx(Text, { variant: isActive ? "body-strong-s" : "body-default-s", truncate: true, style: {
|
|
178
160
|
transition: "font-weight 0.2s ease",
|
|
179
161
|
}, children: heading.text }) }) }, heading.id));
|
|
180
|
-
}) })] }))
|
|
162
|
+
}) })] }));
|
|
181
163
|
});
|
|
182
|
-
exports.HeadingNav = HeadingNav;
|
|
183
164
|
HeadingNav.displayName = "HeadingNav";
|
|
165
|
+
export { HeadingNav };
|
|
184
166
|
//# sourceMappingURL=HeadingNav.js.map
|