@tidbcloud/uikit 2.1.5 → 2.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/dist/_virtual/customParseFormat.cjs +4 -0
- package/dist/_virtual/customParseFormat.mjs +4 -0
- package/dist/_virtual/duration.cjs +4 -0
- package/dist/_virtual/duration.mjs +4 -0
- package/dist/_virtual/minMax.cjs +4 -0
- package/dist/_virtual/minMax.mjs +4 -0
- package/dist/biz/CodeBlock/index.cjs +1 -1
- package/dist/biz/CodeBlock/index.mjs +1 -1
- package/dist/biz/DateTimePicker/TimeScollerPicker.cjs +6 -8
- package/dist/biz/DateTimePicker/TimeScollerPicker.mjs +1 -3
- package/dist/biz/DateTimePicker/index.cjs +14 -13
- package/dist/biz/DateTimePicker/index.mjs +6 -5
- package/dist/biz/Form/CopyText.cjs +1 -1
- package/dist/biz/Form/CopyText.mjs +1 -1
- package/dist/biz/TimeRangePicker/AbsoluteTimeRangePicker.cjs +7 -9
- package/dist/biz/TimeRangePicker/AbsoluteTimeRangePicker.mjs +1 -3
- package/dist/biz/TimeRangePicker/helpers.cjs +3 -5
- package/dist/biz/TimeRangePicker/helpers.mjs +1 -3
- package/dist/hooks/index.cjs +2 -2
- package/dist/hooks/index.d.cts +2 -1
- package/dist/hooks/index.d.mts +2 -1
- package/dist/hooks/index.mjs +1 -1
- package/dist/hooks/use-clipboard/use-clipboard.cjs +16 -0
- package/dist/hooks/use-clipboard/use-clipboard.d.cts +8 -0
- package/dist/hooks/use-clipboard/use-clipboard.d.mts +8 -0
- package/dist/hooks/use-clipboard/use-clipboard.mjs +16 -0
- package/dist/hooks/use-clipboard/use-fallback-clipboard.cjs +44 -0
- package/dist/hooks/use-clipboard/use-fallback-clipboard.d.cts +8 -0
- package/dist/hooks/use-clipboard/use-fallback-clipboard.d.mts +8 -0
- package/dist/hooks/use-clipboard/use-fallback-clipboard.mjs +44 -0
- package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/customParseFormat.cjs +129 -0
- package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/customParseFormat.mjs +129 -0
- package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/duration.cjs +136 -0
- package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/duration.mjs +136 -0
- package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/minMax.cjs +32 -0
- package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/minMax.mjs +32 -0
- package/dist/primitive/CopyButton/CopyButton.cjs +15 -0
- package/dist/primitive/CopyButton/CopyButton.d.cts +2 -0
- package/dist/primitive/CopyButton/CopyButton.d.mts +2 -0
- package/dist/primitive/CopyButton/CopyButton.mjs +15 -0
- package/dist/primitive/index.cjs +2 -2
- package/dist/primitive/index.d.cts +2 -1
- package/dist/primitive/index.d.mts +2 -1
- package/dist/primitive/index.mjs +1 -1
- package/dist/utils/dayjs.cjs +15 -0
- package/dist/utils/dayjs.d.cts +2 -2
- package/dist/utils/dayjs.d.mts +2 -2
- package/dist/utils/dayjs.mjs +15 -0
- package/dist/utils/index.cjs +2 -2
- package/dist/utils/index.d.cts +1 -1
- package/dist/utils/index.d.mts +1 -1
- package/dist/utils/index.mjs +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @tidbcloud/uikit
|
|
2
2
|
|
|
3
|
+
## 2.1.7
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- fix(uikit): Improve `CopyButton` and `useClipboard` compatibility ([#485](https://github.com/tidbcloud/tidbcloud-uikit/pull/485))
|
|
8
|
+
|
|
9
|
+
## 2.1.6
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- fix(uikit): update dayjs import and export strategy ([#482](https://github.com/tidbcloud/tidbcloud-uikit/pull/482))
|
|
14
|
+
- chore(deps): upgrade Storybook and Vite to latest versions ([#481](https://github.com/tidbcloud/tidbcloud-uikit/pull/481))
|
|
15
|
+
|
|
3
16
|
## 2.1.5
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
|
@@ -8,6 +8,7 @@ const index = require("../../icons/index.cjs");
|
|
|
8
8
|
;/* empty css */
|
|
9
9
|
;/* empty css */
|
|
10
10
|
;/* empty css */
|
|
11
|
+
const CopyButton = require("../../primitive/CopyButton/CopyButton.cjs");
|
|
11
12
|
require("clsx");
|
|
12
13
|
const styles = require("../../utils/styles.cjs");
|
|
13
14
|
const Box = require("../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/core/Box/Box.cjs");
|
|
@@ -15,7 +16,6 @@ const Prism = require("../../primitive/Prism/Prism.cjs");
|
|
|
15
16
|
const Group = require("../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/components/Group/Group.cjs");
|
|
16
17
|
const HoverCard = require("../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/components/HoverCard/HoverCard.cjs");
|
|
17
18
|
const ActionIcon = require("../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/components/ActionIcon/ActionIcon.cjs");
|
|
18
|
-
const CopyButton = require("../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/components/CopyButton/CopyButton.cjs");
|
|
19
19
|
const Code = require("../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/components/Code/Code.cjs");
|
|
20
20
|
const useLocalStorage = require("../../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-local-storage/use-local-storage.cjs");
|
|
21
21
|
function useFold(persistenceKey) {
|
|
@@ -6,6 +6,7 @@ import { IconChevronVerticalExpand, IconChevronVerticalShrink, IconCheck, IconCo
|
|
|
6
6
|
/* empty css */
|
|
7
7
|
/* empty css */
|
|
8
8
|
/* empty css */
|
|
9
|
+
import { CopyButton } from "../../primitive/CopyButton/CopyButton.mjs";
|
|
9
10
|
import "clsx";
|
|
10
11
|
import { mergeSxList, mergeStylesList } from "../../utils/styles.mjs";
|
|
11
12
|
import { Box } from "../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/core/Box/Box.mjs";
|
|
@@ -13,7 +14,6 @@ import { Prism } from "../../primitive/Prism/Prism.mjs";
|
|
|
13
14
|
import { Group } from "../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/components/Group/Group.mjs";
|
|
14
15
|
import { HoverCard } from "../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/components/HoverCard/HoverCard.mjs";
|
|
15
16
|
import { ActionIcon } from "../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/components/ActionIcon/ActionIcon.mjs";
|
|
16
|
-
import { CopyButton } from "../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/components/CopyButton/CopyButton.mjs";
|
|
17
17
|
import { Code } from "../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/components/Code/Code.mjs";
|
|
18
18
|
import { useLocalStorage } from "../../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-local-storage/use-local-storage.mjs";
|
|
19
19
|
function useFold(persistenceKey) {
|
|
@@ -9,9 +9,7 @@ const React = require("react");
|
|
|
9
9
|
;/* empty css */
|
|
10
10
|
;/* empty css */
|
|
11
11
|
;/* empty css */
|
|
12
|
-
const dayjs = require("dayjs");
|
|
13
|
-
require("../../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/timezone.cjs");
|
|
14
|
-
require("../../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/utc.cjs");
|
|
12
|
+
const dayjs = require("../../utils/dayjs.cjs");
|
|
15
13
|
const constant = require("./constant.cjs");
|
|
16
14
|
const Flex = require("../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/components/Flex/Flex.cjs");
|
|
17
15
|
const useUncontrolled = require("../../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-uncontrolled/use-uncontrolled.cjs");
|
|
@@ -37,12 +35,12 @@ const getTimeRange = ({
|
|
|
37
35
|
type,
|
|
38
36
|
start,
|
|
39
37
|
end,
|
|
40
|
-
utcOffset = dayjs().utcOffset()
|
|
38
|
+
utcOffset = dayjs.dayjs().utcOffset()
|
|
41
39
|
}) => {
|
|
42
40
|
const map = {
|
|
43
41
|
year: {
|
|
44
|
-
min: dayjs().year(),
|
|
45
|
-
max: dayjs().year() + 100
|
|
42
|
+
min: dayjs.dayjs().year(),
|
|
43
|
+
max: dayjs.dayjs().year() + 100
|
|
46
44
|
},
|
|
47
45
|
month: {
|
|
48
46
|
min: 1,
|
|
@@ -66,8 +64,8 @@ const getTimeRange = ({
|
|
|
66
64
|
}
|
|
67
65
|
};
|
|
68
66
|
let { min, max } = map[type];
|
|
69
|
-
const s1 = start ? dayjs(start).utcOffset(utcOffset) : null;
|
|
70
|
-
const s2 = end ? dayjs(end).utcOffset(utcOffset) : null;
|
|
67
|
+
const s1 = start ? dayjs.dayjs(start).utcOffset(utcOffset) : null;
|
|
68
|
+
const s2 = end ? dayjs.dayjs(end).utcOffset(utcOffset) : null;
|
|
71
69
|
switch (type) {
|
|
72
70
|
case "year": {
|
|
73
71
|
if (s1) {
|
|
@@ -7,9 +7,7 @@ import { useMemo, useRef, useEffect } from "react";
|
|
|
7
7
|
/* empty css */
|
|
8
8
|
/* empty css */
|
|
9
9
|
/* empty css */
|
|
10
|
-
import dayjs from "dayjs";
|
|
11
|
-
import "../../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/timezone.mjs";
|
|
12
|
-
import "../../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/utc.mjs";
|
|
10
|
+
import { dayjs } from "../../utils/dayjs.mjs";
|
|
13
11
|
import { CellHeight, CellStyle } from "./constant.mjs";
|
|
14
12
|
import { Flex } from "../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/components/Flex/Flex.mjs";
|
|
15
13
|
import { useUncontrolled } from "../../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-uncontrolled/use-uncontrolled.mjs";
|
|
@@ -10,9 +10,7 @@ const index = require("../../icons/index.cjs");
|
|
|
10
10
|
;/* empty css */
|
|
11
11
|
;/* empty css */
|
|
12
12
|
const index$1 = require("../../primitive/Typography/index.cjs");
|
|
13
|
-
const dayjs = require("dayjs");
|
|
14
|
-
require("../../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/timezone.cjs");
|
|
15
|
-
require("../../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/utc.cjs");
|
|
13
|
+
const dayjs = require("../../utils/dayjs.cjs");
|
|
16
14
|
const helpers = require("../TimeRangePicker/helpers.cjs");
|
|
17
15
|
const TimeScollerPicker = require("./TimeScollerPicker.cjs");
|
|
18
16
|
const useDisclosure = require("../../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-disclosure/use-disclosure.cjs");
|
|
@@ -32,11 +30,11 @@ const DateTimePicker = ({
|
|
|
32
30
|
format = helpers.DEFAULT_TIME_FORMAT,
|
|
33
31
|
defaultValue,
|
|
34
32
|
value,
|
|
35
|
-
startDate = dayjs().subtract(10, "year").toDate(),
|
|
36
|
-
endDate = dayjs().add(10, "year").toDate(),
|
|
33
|
+
startDate = dayjs.dayjs().subtract(10, "year").toDate(),
|
|
34
|
+
endDate = dayjs.dayjs().add(10, "year").toDate(),
|
|
37
35
|
onChange,
|
|
38
36
|
disable = false,
|
|
39
|
-
utcOffset = dayjs().utcOffset(),
|
|
37
|
+
utcOffset = dayjs.dayjs().utcOffset(),
|
|
40
38
|
withinPortal = true,
|
|
41
39
|
sx,
|
|
42
40
|
loading = false,
|
|
@@ -44,8 +42,8 @@ const DateTimePicker = ({
|
|
|
44
42
|
}) => {
|
|
45
43
|
const [opened, { close, open }] = useDisclosure.useDisclosure(false);
|
|
46
44
|
const [currentValue, setCurrentValue] = useUncontrolled.useUncontrolled({
|
|
47
|
-
value: value ? dayjs(value) : void 0,
|
|
48
|
-
defaultValue: defaultValue ? dayjs(defaultValue) : dayjs(),
|
|
45
|
+
value: value ? dayjs.dayjs(value) : void 0,
|
|
46
|
+
defaultValue: defaultValue ? dayjs.dayjs(defaultValue) : dayjs.dayjs(),
|
|
49
47
|
onChange: (v) => {
|
|
50
48
|
onChange == null ? void 0 : onChange(v.toDate());
|
|
51
49
|
}
|
|
@@ -53,13 +51,16 @@ const DateTimePicker = ({
|
|
|
53
51
|
const [currentValueChangedBy, setCurrentValueChangedBy] = React.useState(null);
|
|
54
52
|
const updateCurrentValue = ahooks.useMemoizedFn((val, from) => {
|
|
55
53
|
let next = val;
|
|
54
|
+
if (!next.isValid()) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
56
57
|
if ((currentValue == null ? void 0 : currentValue.unix()) === next.unix()) {
|
|
57
58
|
return;
|
|
58
59
|
}
|
|
59
|
-
if (startDate && next.
|
|
60
|
-
next = dayjs(startDate);
|
|
61
|
-
} else if (endDate && next.
|
|
62
|
-
next = dayjs(endDate);
|
|
60
|
+
if (startDate && next.isBefore(startDate)) {
|
|
61
|
+
next = dayjs.dayjs(startDate);
|
|
62
|
+
} else if (endDate && next.isAfter(endDate)) {
|
|
63
|
+
next = dayjs.dayjs(endDate);
|
|
63
64
|
}
|
|
64
65
|
setCurrentValue(next);
|
|
65
66
|
setCurrentValueChangedBy(from);
|
|
@@ -80,7 +81,7 @@ const DateTimePicker = ({
|
|
|
80
81
|
});
|
|
81
82
|
const timeInputChange = ahooks.useMemoizedFn((e) => {
|
|
82
83
|
const originVal = e.currentTarget.value;
|
|
83
|
-
const v = dayjs(originVal, "HH:mm:ss").toDate();
|
|
84
|
+
const v = dayjs.dayjs(originVal, "HH:mm:ss").toDate();
|
|
84
85
|
let next = currentValue;
|
|
85
86
|
next = next.utcOffset(utcOffset).hour(v.getHours()).minute(v.getMinutes()).second(v.getSeconds());
|
|
86
87
|
updateCurrentValue(next, "timeInput");
|
|
@@ -8,9 +8,7 @@ import { IconClock } from "../../icons/index.mjs";
|
|
|
8
8
|
/* empty css */
|
|
9
9
|
/* empty css */
|
|
10
10
|
import { Typography } from "../../primitive/Typography/index.mjs";
|
|
11
|
-
import dayjs from "dayjs";
|
|
12
|
-
import "../../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/timezone.mjs";
|
|
13
|
-
import "../../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/utc.mjs";
|
|
11
|
+
import { dayjs } from "../../utils/dayjs.mjs";
|
|
14
12
|
import { DEFAULT_TIME_FORMAT } from "../TimeRangePicker/helpers.mjs";
|
|
15
13
|
import { TimeScollerPicker } from "./TimeScollerPicker.mjs";
|
|
16
14
|
import { useDisclosure } from "../../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-disclosure/use-disclosure.mjs";
|
|
@@ -51,12 +49,15 @@ const DateTimePicker = ({
|
|
|
51
49
|
const [currentValueChangedBy, setCurrentValueChangedBy] = useState(null);
|
|
52
50
|
const updateCurrentValue = useMemoizedFn((val, from) => {
|
|
53
51
|
let next = val;
|
|
52
|
+
if (!next.isValid()) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
54
55
|
if ((currentValue == null ? void 0 : currentValue.unix()) === next.unix()) {
|
|
55
56
|
return;
|
|
56
57
|
}
|
|
57
|
-
if (startDate && next.
|
|
58
|
+
if (startDate && next.isBefore(startDate)) {
|
|
58
59
|
next = dayjs(startDate);
|
|
59
|
-
} else if (endDate && next.
|
|
60
|
+
} else if (endDate && next.isAfter(endDate)) {
|
|
60
61
|
next = dayjs(endDate);
|
|
61
62
|
}
|
|
62
63
|
setCurrentValue(next);
|
|
@@ -8,9 +8,9 @@ const index$1 = require("../../icons/index.cjs");
|
|
|
8
8
|
;/* empty css */
|
|
9
9
|
;/* empty css */
|
|
10
10
|
const index = require("../../primitive/Typography/index.cjs");
|
|
11
|
+
const CopyButton = require("../../primitive/CopyButton/CopyButton.cjs");
|
|
11
12
|
require("clsx");
|
|
12
13
|
const styles = require("../../utils/styles.cjs");
|
|
13
|
-
const CopyButton = require("../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/components/CopyButton/CopyButton.cjs");
|
|
14
14
|
const Box = require("../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/core/Box/Box.cjs");
|
|
15
15
|
const Tooltip = require("../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/components/Tooltip/Tooltip.cjs");
|
|
16
16
|
const ActionIcon = require("../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/components/ActionIcon/ActionIcon.cjs");
|
|
@@ -6,9 +6,9 @@ import { IconCopy01 } from "../../icons/index.mjs";
|
|
|
6
6
|
/* empty css */
|
|
7
7
|
/* empty css */
|
|
8
8
|
import { Typography } from "../../primitive/Typography/index.mjs";
|
|
9
|
+
import { CopyButton } from "../../primitive/CopyButton/CopyButton.mjs";
|
|
9
10
|
import "clsx";
|
|
10
11
|
import { mergeSxList } from "../../utils/styles.mjs";
|
|
11
|
-
import { CopyButton } from "../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/components/CopyButton/CopyButton.mjs";
|
|
12
12
|
import { Box } from "../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/core/Box/Box.mjs";
|
|
13
13
|
import { Tooltip } from "../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/components/Tooltip/Tooltip.mjs";
|
|
14
14
|
import { ActionIcon } from "../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/components/ActionIcon/ActionIcon.mjs";
|
|
@@ -10,9 +10,7 @@ const index = require("../../icons/index.cjs");
|
|
|
10
10
|
;/* empty css */
|
|
11
11
|
const index$1 = require("../../primitive/Typography/index.cjs");
|
|
12
12
|
const index$2 = require("../../primitive/Button/index.cjs");
|
|
13
|
-
const dayjs = require("dayjs");
|
|
14
|
-
require("../../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/timezone.cjs");
|
|
15
|
-
require("../../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/utc.cjs");
|
|
13
|
+
const dayjs = require("../../utils/dayjs.cjs");
|
|
16
14
|
const helpers = require("./helpers.cjs");
|
|
17
15
|
const Box = require("../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/core/Box/Box.cjs");
|
|
18
16
|
const Group = require("../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/components/Group/Group.cjs");
|
|
@@ -33,10 +31,10 @@ const AbsoluteTimeRangePicker = ({
|
|
|
33
31
|
}) => {
|
|
34
32
|
const [start, setStart] = React.useState(() => value ? new Date(value[0] * 1e3) : null);
|
|
35
33
|
const [end, setEnd] = React.useState(() => value ? new Date(value[1] * 1e3) : null);
|
|
36
|
-
const startDate = start ? dayjs(start).format("MMM D, YYYY") : "-";
|
|
37
|
-
const endDate = end ? dayjs(end).format("MMM D, YYYY") : "-";
|
|
38
|
-
const startTime = start ? dayjs(start).format("HH:mm:ss") : "-";
|
|
39
|
-
const endTime = end ? dayjs(end).format("HH:mm:ss") : "-";
|
|
34
|
+
const startDate = start ? dayjs.dayjs(start).format("MMM D, YYYY") : "-";
|
|
35
|
+
const endDate = end ? dayjs.dayjs(end).format("MMM D, YYYY") : "-";
|
|
36
|
+
const startTime = start ? dayjs.dayjs(start).format("HH:mm:ss") : "-";
|
|
37
|
+
const endTime = end ? dayjs.dayjs(end).format("HH:mm:ss") : "-";
|
|
40
38
|
const isRangeComplete = !!start && !!end;
|
|
41
39
|
const startAfterEnd = isRangeComplete && start.valueOf() > end.valueOf();
|
|
42
40
|
const beyondMin = isRangeComplete && minDateTime && start.valueOf() < minDateTime.valueOf();
|
|
@@ -65,7 +63,7 @@ const AbsoluteTimeRangePicker = ({
|
|
|
65
63
|
};
|
|
66
64
|
const updateTime = (v, setter) => {
|
|
67
65
|
setter((old) => {
|
|
68
|
-
const d = dayjs(v, "HH:mm:ss").toDate();
|
|
66
|
+
const d = dayjs.dayjs(v, "HH:mm:ss").toDate();
|
|
69
67
|
const newD = new Date(old);
|
|
70
68
|
newD.setHours(d.getHours());
|
|
71
69
|
newD.setMinutes(d.getMinutes());
|
|
@@ -73,7 +71,7 @@ const AbsoluteTimeRangePicker = ({
|
|
|
73
71
|
return newD;
|
|
74
72
|
});
|
|
75
73
|
};
|
|
76
|
-
const apply = () => onChange == null ? void 0 : onChange({ type: "absolute", value: [dayjs(start).unix(), dayjs(end).unix()] });
|
|
74
|
+
const apply = () => onChange == null ? void 0 : onChange({ type: "absolute", value: [dayjs.dayjs(start).unix(), dayjs.dayjs(end).unix()] });
|
|
77
75
|
return /* @__PURE__ */ jsxRuntime.jsxs(Box.Box, { p: "md", w: 280, m: -4, children: [
|
|
78
76
|
/* @__PURE__ */ jsxRuntime.jsxs(Group.Group, { pb: "xs", mt: -4, onClick: onReturnClick, sx: { cursor: "pointer" }, children: [
|
|
79
77
|
/* @__PURE__ */ jsxRuntime.jsx(index.IconChevronLeft, { size: 16 }),
|
|
@@ -8,9 +8,7 @@ import { IconChevronLeft, IconAlertCircle } from "../../icons/index.mjs";
|
|
|
8
8
|
/* empty css */
|
|
9
9
|
import { Typography } from "../../primitive/Typography/index.mjs";
|
|
10
10
|
import { Button } from "../../primitive/Button/index.mjs";
|
|
11
|
-
import dayjs from "dayjs";
|
|
12
|
-
import "../../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/timezone.mjs";
|
|
13
|
-
import "../../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/utc.mjs";
|
|
11
|
+
import { dayjs } from "../../utils/dayjs.mjs";
|
|
14
12
|
import { timeFormatter, formatDuration } from "./helpers.mjs";
|
|
15
13
|
import { Box } from "../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/core/Box/Box.mjs";
|
|
16
14
|
import { Group } from "../../node_modules/.pnpm/@mantine_core@7.15.2_patch_hash_jclkxeaefn6uz54h34k3r3yjsq_@mantine_hooks@7.15.2_react@18.3.1_szqfuioo5damkjdixckhzmwycq/node_modules/@mantine/core/esm/components/Group/Group.mjs";
|
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const lodashEs = require("lodash-es");
|
|
4
4
|
const prettyMs = require("pretty-ms");
|
|
5
|
-
const dayjs = require("dayjs");
|
|
6
|
-
require("../../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/timezone.cjs");
|
|
7
|
-
require("../../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/utc.cjs");
|
|
5
|
+
const dayjs = require("../../utils/dayjs.cjs");
|
|
8
6
|
const DEFAULT_QUICK_RANGES = [
|
|
9
7
|
5 * 60,
|
|
10
8
|
15 * 60,
|
|
@@ -31,7 +29,7 @@ const toTimeRangeValue = (timeRange, offset = 0) => {
|
|
|
31
29
|
if (timeRange.type === "absolute") {
|
|
32
30
|
return timeRange.value.map((t) => t + offset);
|
|
33
31
|
} else {
|
|
34
|
-
const now = dayjs().unix();
|
|
32
|
+
const now = dayjs.dayjs().unix();
|
|
35
33
|
return [now - timeRange.value + offset, now + offset];
|
|
36
34
|
}
|
|
37
35
|
};
|
|
@@ -85,7 +83,7 @@ const timeFormatter = (timeValue, utcOffset, format = DEFAULT_TIME_FORMAT) => {
|
|
|
85
83
|
const time = timeValue instanceof Date || isNaN(Number(timeValue)) ? timeValue : Number(timeValue) * 1e3;
|
|
86
84
|
const currentTZOffsetInHours = utcOffset === void 0 || utcOffset === null ? -((/* @__PURE__ */ new Date()).getTimezoneOffset() / 60) : utcOffset;
|
|
87
85
|
const withUTC = format.indexOf("Z") >= 0;
|
|
88
|
-
return dayjs(addOffsetUTC(time, currentTZOffsetInHours)).format(withUTC ? lodashEs.trim(format, "Z") : format) + (withUTC ? getUTCString(currentTZOffsetInHours) : "");
|
|
86
|
+
return dayjs.dayjs(addOffsetUTC(time, currentTZOffsetInHours)).format(withUTC ? lodashEs.trim(format, "Z") : format) + (withUTC ? getUTCString(currentTZOffsetInHours) : "");
|
|
89
87
|
};
|
|
90
88
|
exports.DEFAULT_QUICK_RANGES = DEFAULT_QUICK_RANGES;
|
|
91
89
|
exports.DEFAULT_TIME_FORMAT = DEFAULT_TIME_FORMAT;
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { trim } from "lodash-es";
|
|
2
2
|
import prettyMs from "pretty-ms";
|
|
3
|
-
import dayjs from "dayjs";
|
|
4
|
-
import "../../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/timezone.mjs";
|
|
5
|
-
import "../../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/utc.mjs";
|
|
3
|
+
import { dayjs } from "../../utils/dayjs.mjs";
|
|
6
4
|
const DEFAULT_QUICK_RANGES = [
|
|
7
5
|
5 * 60,
|
|
8
6
|
15 * 60,
|
package/dist/hooks/index.cjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const useClipboard = require("./use-clipboard/use-clipboard.cjs");
|
|
3
4
|
const useURLQueryState = require("./useURLQueryState.cjs");
|
|
4
5
|
const useClickOutside = require("../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-click-outside/use-click-outside.cjs");
|
|
5
6
|
const useColorScheme = require("../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-color-scheme/use-color-scheme.cjs");
|
|
@@ -45,7 +46,6 @@ const useThrottledValue = require("../node_modules/.pnpm/@mantine_hooks@7.15.2_r
|
|
|
45
46
|
const useToggle = require("../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-toggle/use-toggle.cjs");
|
|
46
47
|
const useUncontrolled = require("../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-uncontrolled/use-uncontrolled.cjs");
|
|
47
48
|
const useValidatedState = require("../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-validated-state/use-validated-state.cjs");
|
|
48
|
-
const useClipboard = require("../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-clipboard/use-clipboard.cjs");
|
|
49
49
|
const useDocumentTitle = require("../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-document-title/use-document-title.cjs");
|
|
50
50
|
const useDocumentVisibility = require("../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-document-visibility/use-document-visibility.cjs");
|
|
51
51
|
const useEyeDropper = require("../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-eye-dropper/use-eye-dropper.cjs");
|
|
@@ -68,6 +68,7 @@ const useIsomorphicEffect = require("../node_modules/.pnpm/@mantine_hooks@7.15.2
|
|
|
68
68
|
const useLogger = require("../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-logger/use-logger.cjs");
|
|
69
69
|
const useMounted = require("../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-mounted/use-mounted.cjs");
|
|
70
70
|
const useShallowEffect = require("../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-shallow-effect/use-shallow-effect.cjs");
|
|
71
|
+
exports.useClipboard = useClipboard.useClipboard;
|
|
71
72
|
exports.useURLQueryState = useURLQueryState.useURLQueryState;
|
|
72
73
|
exports.useClickOutside = useClickOutside.useClickOutside;
|
|
73
74
|
exports.useSystemColorScheme = useColorScheme.useColorScheme;
|
|
@@ -114,7 +115,6 @@ exports.useThrottledValue = useThrottledValue.useThrottledValue;
|
|
|
114
115
|
exports.useToggle = useToggle.useToggle;
|
|
115
116
|
exports.useUncontrolled = useUncontrolled.useUncontrolled;
|
|
116
117
|
exports.useValidatedState = useValidatedState.useValidatedState;
|
|
117
|
-
exports.useClipboard = useClipboard.useClipboard;
|
|
118
118
|
exports.useDocumentTitle = useDocumentTitle.useDocumentTitle;
|
|
119
119
|
exports.useDocumentVisibility = useDocumentVisibility.useDocumentVisibility;
|
|
120
120
|
exports.useEyeDropper = useEyeDropper.useEyeDropper;
|
package/dist/hooks/index.d.cts
CHANGED
|
@@ -28,5 +28,6 @@ declare module '@mantine/core' {
|
|
|
28
28
|
sx?: EmotionSx
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
export { useClickOutside, useColorScheme as useSystemColorScheme, useElementSize, useEventListener, useFocusReturn, useFocusTrap, useFocusWithin, useFullscreen, useHotkeys, useHover, useInViewport, useIntersection, useMediaQuery, useMouse, useMove, useMutationObserver, useOrientation, useReducedMotion, useResizeObserver, useScrollIntoView, useViewportSize, useWindowEvent, useWindowScroll, useCounter, useDebouncedCallback, useDebouncedState, useDebouncedValue, useDisclosure, useId, useInputState, useListState, useLocalStorage, useMap, usePagination, usePrevious, useQueue, useSet, useSetState, useStateHistory, useThrottledCallback, useThrottledState, useThrottledValue, useToggle, useUncontrolled, useValidatedState,
|
|
31
|
+
export { useClickOutside, useColorScheme as useSystemColorScheme, useElementSize, useEventListener, useFocusReturn, useFocusTrap, useFocusWithin, useFullscreen, useHotkeys, useHover, useInViewport, useIntersection, useMediaQuery, useMouse, useMove, useMutationObserver, useOrientation, useReducedMotion, useResizeObserver, useScrollIntoView, useViewportSize, useWindowEvent, useWindowScroll, useCounter, useDebouncedCallback, useDebouncedState, useDebouncedValue, useDisclosure, useId, useInputState, useListState, useLocalStorage, useMap, usePagination, usePrevious, useQueue, useSet, useSetState, useStateHistory, useThrottledCallback, useThrottledState, useThrottledValue, useToggle, useUncontrolled, useValidatedState, useDocumentTitle, useDocumentVisibility, useEyeDropper, useFavicon, useFetch, useHash, useHeadroom, useIdle, useInterval, useMergedRef, useNetwork, useOs, usePageLeave, useTextSelection, useTimeout, useDidUpdate, useForceUpdate, useIsFirstRender, useIsomorphicEffect, useLogger, useMounted, useShallowEffect } from '@mantine/hooks';
|
|
32
|
+
export { useClipboard } from './use-clipboard/use-clipboard.cjs';
|
|
32
33
|
export { useURLQueryState } from './useURLQueryState.cjs';
|
package/dist/hooks/index.d.mts
CHANGED
|
@@ -28,5 +28,6 @@ declare module '@mantine/core' {
|
|
|
28
28
|
sx?: EmotionSx
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
export { useClickOutside, useColorScheme as useSystemColorScheme, useElementSize, useEventListener, useFocusReturn, useFocusTrap, useFocusWithin, useFullscreen, useHotkeys, useHover, useInViewport, useIntersection, useMediaQuery, useMouse, useMove, useMutationObserver, useOrientation, useReducedMotion, useResizeObserver, useScrollIntoView, useViewportSize, useWindowEvent, useWindowScroll, useCounter, useDebouncedCallback, useDebouncedState, useDebouncedValue, useDisclosure, useId, useInputState, useListState, useLocalStorage, useMap, usePagination, usePrevious, useQueue, useSet, useSetState, useStateHistory, useThrottledCallback, useThrottledState, useThrottledValue, useToggle, useUncontrolled, useValidatedState,
|
|
31
|
+
export { useClickOutside, useColorScheme as useSystemColorScheme, useElementSize, useEventListener, useFocusReturn, useFocusTrap, useFocusWithin, useFullscreen, useHotkeys, useHover, useInViewport, useIntersection, useMediaQuery, useMouse, useMove, useMutationObserver, useOrientation, useReducedMotion, useResizeObserver, useScrollIntoView, useViewportSize, useWindowEvent, useWindowScroll, useCounter, useDebouncedCallback, useDebouncedState, useDebouncedValue, useDisclosure, useId, useInputState, useListState, useLocalStorage, useMap, usePagination, usePrevious, useQueue, useSet, useSetState, useStateHistory, useThrottledCallback, useThrottledState, useThrottledValue, useToggle, useUncontrolled, useValidatedState, useDocumentTitle, useDocumentVisibility, useEyeDropper, useFavicon, useFetch, useHash, useHeadroom, useIdle, useInterval, useMergedRef, useNetwork, useOs, usePageLeave, useTextSelection, useTimeout, useDidUpdate, useForceUpdate, useIsFirstRender, useIsomorphicEffect, useLogger, useMounted, useShallowEffect } from '@mantine/hooks';
|
|
32
|
+
export { useClipboard } from './use-clipboard/use-clipboard.mjs';
|
|
32
33
|
export { useURLQueryState } from './useURLQueryState.mjs';
|
package/dist/hooks/index.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { useClipboard } from "./use-clipboard/use-clipboard.mjs";
|
|
1
2
|
import { useURLQueryState } from "./useURLQueryState.mjs";
|
|
2
3
|
import { useClickOutside } from "../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-click-outside/use-click-outside.mjs";
|
|
3
4
|
import { useColorScheme } from "../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-color-scheme/use-color-scheme.mjs";
|
|
@@ -43,7 +44,6 @@ import { useThrottledValue } from "../node_modules/.pnpm/@mantine_hooks@7.15.2_r
|
|
|
43
44
|
import { useToggle } from "../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-toggle/use-toggle.mjs";
|
|
44
45
|
import { useUncontrolled } from "../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-uncontrolled/use-uncontrolled.mjs";
|
|
45
46
|
import { useValidatedState } from "../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-validated-state/use-validated-state.mjs";
|
|
46
|
-
import { useClipboard } from "../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-clipboard/use-clipboard.mjs";
|
|
47
47
|
import { useDocumentTitle } from "../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-document-title/use-document-title.mjs";
|
|
48
48
|
import { useDocumentVisibility } from "../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-document-visibility/use-document-visibility.mjs";
|
|
49
49
|
import { useEyeDropper } from "../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-eye-dropper/use-eye-dropper.mjs";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const useFallbackClipboard = require("./use-fallback-clipboard.cjs");
|
|
4
|
+
const useClipboard$1 = require("../../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-clipboard/use-clipboard.cjs");
|
|
5
|
+
const isClipboardApiSupported = () => {
|
|
6
|
+
return !!(window.isSecureContext && (navigator == null ? void 0 : navigator.clipboard));
|
|
7
|
+
};
|
|
8
|
+
function useClipboard({ timeout = 2e3 } = {}) {
|
|
9
|
+
const clipboard = useClipboard$1.useClipboard({ timeout });
|
|
10
|
+
const fallbackClipboard = useFallbackClipboard.useFallbackClipboard({ timeout });
|
|
11
|
+
if (isClipboardApiSupported()) {
|
|
12
|
+
return clipboard;
|
|
13
|
+
}
|
|
14
|
+
return fallbackClipboard;
|
|
15
|
+
}
|
|
16
|
+
exports.useClipboard = useClipboard;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { useFallbackClipboard } from "./use-fallback-clipboard.mjs";
|
|
2
|
+
import { useClipboard as useClipboard$1 } from "../../node_modules/.pnpm/@mantine_hooks@7.15.2_react@18.3.1/node_modules/@mantine/hooks/esm/use-clipboard/use-clipboard.mjs";
|
|
3
|
+
const isClipboardApiSupported = () => {
|
|
4
|
+
return !!(window.isSecureContext && (navigator == null ? void 0 : navigator.clipboard));
|
|
5
|
+
};
|
|
6
|
+
function useClipboard({ timeout = 2e3 } = {}) {
|
|
7
|
+
const clipboard = useClipboard$1({ timeout });
|
|
8
|
+
const fallbackClipboard = useFallbackClipboard({ timeout });
|
|
9
|
+
if (isClipboardApiSupported()) {
|
|
10
|
+
return clipboard;
|
|
11
|
+
}
|
|
12
|
+
return fallbackClipboard;
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
useClipboard
|
|
16
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const React = require("react");
|
|
4
|
+
const fallbackCopy = (text) => {
|
|
5
|
+
return new Promise((resolve, reject) => {
|
|
6
|
+
try {
|
|
7
|
+
const textarea = document.createElement("textarea");
|
|
8
|
+
textarea.value = text;
|
|
9
|
+
textarea.style.cssText = "position:fixed;left:-9999px;opacity:0;";
|
|
10
|
+
document.body.appendChild(textarea);
|
|
11
|
+
textarea.focus();
|
|
12
|
+
textarea.select();
|
|
13
|
+
const successful = document.execCommand("copy");
|
|
14
|
+
textarea.remove();
|
|
15
|
+
if (successful) {
|
|
16
|
+
resolve(void 0);
|
|
17
|
+
} else {
|
|
18
|
+
reject(new Error("Fallback copy failed"));
|
|
19
|
+
}
|
|
20
|
+
} catch (err) {
|
|
21
|
+
reject(err);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
function useFallbackClipboard({ timeout = 2e3 } = {}) {
|
|
26
|
+
const [error, setError] = React.useState(null);
|
|
27
|
+
const [copied, setCopied] = React.useState(false);
|
|
28
|
+
const [copyTimeout, setCopyTimeout] = React.useState(null);
|
|
29
|
+
const handleCopyResult = (value) => {
|
|
30
|
+
window.clearTimeout(copyTimeout);
|
|
31
|
+
setCopyTimeout(window.setTimeout(() => setCopied(false), timeout));
|
|
32
|
+
setCopied(value);
|
|
33
|
+
};
|
|
34
|
+
const copy = (valueToCopy) => {
|
|
35
|
+
fallbackCopy(valueToCopy).then(() => handleCopyResult(true)).catch((err) => setError(err));
|
|
36
|
+
};
|
|
37
|
+
const reset = () => {
|
|
38
|
+
setCopied(false);
|
|
39
|
+
setError(null);
|
|
40
|
+
window.clearTimeout(copyTimeout);
|
|
41
|
+
};
|
|
42
|
+
return { copy, reset, error, copied };
|
|
43
|
+
}
|
|
44
|
+
exports.useFallbackClipboard = useFallbackClipboard;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { useState } from "react";
|
|
2
|
+
const fallbackCopy = (text) => {
|
|
3
|
+
return new Promise((resolve, reject) => {
|
|
4
|
+
try {
|
|
5
|
+
const textarea = document.createElement("textarea");
|
|
6
|
+
textarea.value = text;
|
|
7
|
+
textarea.style.cssText = "position:fixed;left:-9999px;opacity:0;";
|
|
8
|
+
document.body.appendChild(textarea);
|
|
9
|
+
textarea.focus();
|
|
10
|
+
textarea.select();
|
|
11
|
+
const successful = document.execCommand("copy");
|
|
12
|
+
textarea.remove();
|
|
13
|
+
if (successful) {
|
|
14
|
+
resolve(void 0);
|
|
15
|
+
} else {
|
|
16
|
+
reject(new Error("Fallback copy failed"));
|
|
17
|
+
}
|
|
18
|
+
} catch (err) {
|
|
19
|
+
reject(err);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
function useFallbackClipboard({ timeout = 2e3 } = {}) {
|
|
24
|
+
const [error, setError] = useState(null);
|
|
25
|
+
const [copied, setCopied] = useState(false);
|
|
26
|
+
const [copyTimeout, setCopyTimeout] = useState(null);
|
|
27
|
+
const handleCopyResult = (value) => {
|
|
28
|
+
window.clearTimeout(copyTimeout);
|
|
29
|
+
setCopyTimeout(window.setTimeout(() => setCopied(false), timeout));
|
|
30
|
+
setCopied(value);
|
|
31
|
+
};
|
|
32
|
+
const copy = (valueToCopy) => {
|
|
33
|
+
fallbackCopy(valueToCopy).then(() => handleCopyResult(true)).catch((err) => setError(err));
|
|
34
|
+
};
|
|
35
|
+
const reset = () => {
|
|
36
|
+
setCopied(false);
|
|
37
|
+
setError(null);
|
|
38
|
+
window.clearTimeout(copyTimeout);
|
|
39
|
+
};
|
|
40
|
+
return { copy, reset, error, copied };
|
|
41
|
+
}
|
|
42
|
+
export {
|
|
43
|
+
useFallbackClipboard
|
|
44
|
+
};
|