@vuu-ui/vuu-utils 0.13.33 → 0.13.34
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/cjs/packages/vuu-utils/src/date/date-utils.js +42 -9
- package/cjs/packages/vuu-utils/src/date/date-utils.js.map +1 -1
- package/cjs/packages/vuu-utils/src/formatting-utils.js +1 -1
- package/cjs/packages/vuu-utils/src/index.js +15 -11
- package/cjs/packages/vuu-utils/src/index.js.map +1 -1
- package/cjs/packages/vuu-utils/src/react-utils.js +30 -0
- package/cjs/packages/vuu-utils/src/react-utils.js.map +1 -1
- package/esm/packages/vuu-utils/src/date/date-utils.js +38 -7
- package/esm/packages/vuu-utils/src/date/date-utils.js.map +1 -1
- package/esm/packages/vuu-utils/src/formatting-utils.js +1 -1
- package/esm/packages/vuu-utils/src/index.js +3 -3
- package/esm/packages/vuu-utils/src/react-utils.js +30 -1
- package/esm/packages/vuu-utils/src/react-utils.js.map +1 -1
- package/package.json +6 -6
- package/types/date/date-utils.d.ts +16 -12
- package/types/date/index.d.ts +3 -3
- package/types/filters/filter-utils.d.ts +1 -0
- package/types/react-utils.d.ts +4 -0
|
@@ -13,13 +13,44 @@ var _hours, _minutes, _seconds;
|
|
|
13
13
|
function toCalendarDate(d) {
|
|
14
14
|
return new date.CalendarDate(d.getFullYear(), d.getMonth() + 1, d.getDate());
|
|
15
15
|
}
|
|
16
|
-
const
|
|
16
|
+
const zeroTime = "00:00:00";
|
|
17
|
+
const zeroTimeUnit = "00";
|
|
18
|
+
function incrementTimeUnitValue(unit, value) {
|
|
19
|
+
const num = parseInt(value);
|
|
20
|
+
if (unit === "hours" && num < 23) {
|
|
21
|
+
return `${num + 1}`.padStart(2, "0").slice(-2);
|
|
22
|
+
} else if (unit === "hours" && num === 23) {
|
|
23
|
+
return "00";
|
|
24
|
+
} else if (num < 59) {
|
|
25
|
+
return `${num + 1}`.padStart(2, "0").slice(-2);
|
|
26
|
+
} else if (num === 59) {
|
|
27
|
+
return "00";
|
|
28
|
+
}
|
|
29
|
+
return value;
|
|
30
|
+
}
|
|
31
|
+
function decrementTimeUnitValue(unit, value) {
|
|
32
|
+
const num = parseInt(value);
|
|
33
|
+
if (unit === "hours" && num > 0) {
|
|
34
|
+
return `${num - 1}`.padStart(2, "0").slice(-2);
|
|
35
|
+
} else if (unit === "hours" && num === 0) {
|
|
36
|
+
return "23";
|
|
37
|
+
} else if (num > 0) {
|
|
38
|
+
return `${num - 1}`.padStart(2, "0").slice(-2);
|
|
39
|
+
} else if (num === 0) {
|
|
40
|
+
return "59";
|
|
41
|
+
}
|
|
42
|
+
return value;
|
|
43
|
+
}
|
|
44
|
+
function updateTimeString(timeString, unit, value) {
|
|
45
|
+
const newTimeString = unit === "hours" ? value.concat(timeString.slice(2)) : unit === "minutes" ? timeString.slice(0, 3).concat(value).concat(timeString.slice(5)) : timeString.slice(0, 6).concat(value);
|
|
46
|
+
if (isValidTimeString(newTimeString)) {
|
|
47
|
+
return newTimeString;
|
|
48
|
+
} else {
|
|
49
|
+
throw Error(`[date-utils] udateTimeSting invalid result ${newTimeString}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
17
52
|
const validTimePattern = /(?:[0-1][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]/;
|
|
18
|
-
const
|
|
19
|
-
const stringIsValidTime = (val) => validTimePattern.test(val);
|
|
20
|
-
const stringIsInvalidTime = (val) => stringIsTimeShaped(val) && !stringIsValidTime(val);
|
|
21
|
-
const TIME_PATTERN = /^[01][0-9]:[0-5][0-9]:[0-5][0-9]$/;
|
|
22
|
-
const isValidTimeString = (value) => typeof value === "string" && TIME_PATTERN.test(value);
|
|
53
|
+
const isValidTimeString = (value) => typeof value === "string" && validTimePattern.test(value);
|
|
23
54
|
function asTimeString(value, allowUndefined = false) {
|
|
24
55
|
if (value === void 0) {
|
|
25
56
|
if (allowUndefined) {
|
|
@@ -74,9 +105,11 @@ const Time = (timeString) => new TimeImpl(timeString);
|
|
|
74
105
|
|
|
75
106
|
exports.Time = Time;
|
|
76
107
|
exports.asTimeString = asTimeString;
|
|
108
|
+
exports.decrementTimeUnitValue = decrementTimeUnitValue;
|
|
109
|
+
exports.incrementTimeUnitValue = incrementTimeUnitValue;
|
|
77
110
|
exports.isValidTimeString = isValidTimeString;
|
|
78
|
-
exports.stringIsInvalidTime = stringIsInvalidTime;
|
|
79
|
-
exports.stringIsTimeShaped = stringIsTimeShaped;
|
|
80
|
-
exports.stringIsValidTime = stringIsValidTime;
|
|
81
111
|
exports.toCalendarDate = toCalendarDate;
|
|
112
|
+
exports.updateTimeString = updateTimeString;
|
|
113
|
+
exports.zeroTime = zeroTime;
|
|
114
|
+
exports.zeroTimeUnit = zeroTimeUnit;
|
|
82
115
|
//# sourceMappingURL=date-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-utils.js","sources":["../../../../../../../packages/vuu-utils/src/date/date-utils.ts"],"sourcesContent":["import { CalendarDate } from \"@internationalized/date\";\n\nexport function toCalendarDate(d: Date) {\n return new CalendarDate(d.getFullYear(), d.getMonth() + 1, d.getDate());\n}\n\
|
|
1
|
+
{"version":3,"file":"date-utils.js","sources":["../../../../../../../packages/vuu-utils/src/date/date-utils.ts"],"sourcesContent":["import { CalendarDate } from \"@internationalized/date\";\n\nexport function toCalendarDate(d: Date) {\n return new CalendarDate(d.getFullYear(), d.getMonth() + 1, d.getDate());\n}\n\nexport type oneToFive = 1 | 2 | 3 | 4 | 5;\nexport type zeroToFive = 0 | oneToFive;\nexport type sixToNine = 6 | 7 | 8 | 9;\nexport type zeroToNine = zeroToFive | sixToNine;\nexport type oneToNine = oneToFive | sixToNine;\nexport type TimeUnit = \"hours\" | \"minutes\" | \"seconds\";\nexport type Hours = `${0 | 1}${zeroToNine}` | `2${0 | 1 | 2 | 3}`;\nexport type Minutes = `${zeroToFive}${zeroToNine}`;\nexport type Seconds = `${zeroToFive}${zeroToNine}`;\n\nexport type TimeUnitValue<T extends TimeUnit> = T extends \"hours\"\n ? Hours\n : T extends \"minutes\"\n ? Minutes\n : Seconds;\n\n// This should work, works fine in TypeScript playground, but hangs tsc\n// export type TimeString = `${Hours}:${Minutes}:${Seconds}`;\nexport type TimeString =\n `${number}${number}:${number}${number}:${number}${number}`;\n\ntype YYYY = `19${zeroToNine}${zeroToNine}` | `20${zeroToNine}${zeroToNine}`;\ntype MM = `0${oneToNine}` | `1${0 | 1 | 2}`;\ntype DD = `${0}${oneToNine}` | `${1 | 2}${zeroToNine}` | `3${0 | 1}`;\n\nexport type DateStringISO = `${YYYY}-${MM}-${DD}`;\n\nexport const zeroTime: TimeString = \"00:00:00\";\nexport const zeroTimeUnit: TimeUnitValue<TimeUnit> = \"00\";\n\nexport function incrementTimeUnitValue<T extends TimeUnit>(\n unit: T,\n value: TimeUnitValue<T>,\n) {\n const num = parseInt(value);\n if (unit === \"hours\" && num < 23) {\n return `${num + 1}`.padStart(2, \"0\").slice(-2) as Hours;\n } else if (unit === \"hours\" && num === 23) {\n return \"00\" as Hours;\n } else if (num < 59) {\n return `${num + 1}`.padStart(2, \"0\").slice(-2) as TimeUnitValue<T>;\n } else if (num === 59) {\n return \"00\" as TimeUnitValue<T>;\n }\n return value;\n}\n\nexport function decrementTimeUnitValue<T extends TimeUnit>(\n unit: T,\n value: TimeUnitValue<T>,\n) {\n const num = parseInt(value);\n if (unit === \"hours\" && num > 0) {\n return `${num - 1}`.padStart(2, \"0\").slice(-2) as Hours;\n } else if (unit === \"hours\" && num === 0) {\n return \"23\" as Hours;\n } else if (num > 0) {\n return `${num - 1}`.padStart(2, \"0\").slice(-2) as TimeUnitValue<T>;\n } else if (num === 0) {\n return \"59\" as TimeUnitValue<T>;\n }\n return value;\n}\n\n// TODO accept numeric values with appropriate type checks\nexport function updateTimeString<T extends TimeUnit>(\n timeString: TimeString,\n unit: T,\n value: TimeUnitValue<T>,\n): TimeString {\n const newTimeString =\n unit === \"hours\"\n ? value.concat(timeString.slice(2))\n : unit === \"minutes\"\n ? timeString.slice(0, 3).concat(value).concat(timeString.slice(5))\n : timeString.slice(0, 6).concat(value);\n if (isValidTimeString(newTimeString)) {\n return newTimeString;\n } else {\n throw Error(`[date-utils] udateTimeSting invalid result ${newTimeString}`);\n }\n}\n\nconst validTimePattern = /(?:[0-1][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]/;\nexport const isValidTimeString = (value: unknown): value is TimeString =>\n typeof value === \"string\" && validTimePattern.test(value);\n\nexport function asTimeString(value: unknown, allowUndefined: false): TimeString;\nexport function asTimeString(\n value: unknown,\n allowUndefined?: true,\n): TimeString | undefined;\nexport function asTimeString(\n value: unknown,\n allowUndefined = false,\n): TimeString | undefined {\n if (value === undefined) {\n if (allowUndefined) {\n return value;\n } else {\n throw Error(\"[date-utils] asTimeString, value cannot be undefined\");\n }\n } else if (isValidTimeString(value)) {\n return value;\n } else {\n throw Error(\n `[date-utils] asTimeString, value ${value} is not valid TimeString`,\n );\n }\n}\n\nexport interface Time {\n hours: number;\n minutes: number;\n seconds: number;\n asDate: (date?: Date | DateStringISO) => Date;\n}\n\nconst padZero = (val: number) => `${val}`.padStart(2, \"0\");\n\nclass TimeImpl implements Time {\n #hours: number;\n #minutes: number;\n #seconds: number;\n constructor(timeString: TimeString) {\n const [hours, minutes, seconds] = timeString.split(\":\");\n this.#hours = parseInt(hours);\n this.#minutes = parseInt(minutes);\n this.#seconds = parseInt(seconds);\n }\n get hours() {\n return this.#hours;\n }\n get minutes() {\n return this.#minutes;\n }\n get seconds() {\n return this.#seconds;\n }\n\n asDate(date?: Date | DateStringISO) {\n const dt =\n date === undefined\n ? new Date()\n : typeof date === \"string\"\n ? new Date(date)\n : date;\n dt.setHours(this.#hours);\n dt.setMinutes(this.#minutes);\n dt.setSeconds(this.seconds);\n dt.setMilliseconds(0);\n return dt;\n }\n\n toString() {\n return `${padZero(this.#hours)}:${padZero(this.#minutes)}:${padZero(this.#seconds)}`;\n }\n}\n\nexport const Time = (timeString: TimeString): Time =>\n new TimeImpl(timeString) as Time;\n"],"names":["CalendarDate"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var columnUtils = require('./column-utils.js');
|
|
4
|
-
var formatter = require('./date/formatter.js');
|
|
5
4
|
require('./date/date-utils.js');
|
|
6
5
|
var dateTimePattern = require('./date/dateTimePattern.js');
|
|
6
|
+
var formatter = require('./date/formatter.js');
|
|
7
7
|
var roundDecimal = require('./round-decimal.js');
|
|
8
8
|
|
|
9
9
|
const DEFAULT_NUMERIC_FORMAT = {};
|
|
@@ -18,10 +18,10 @@ var BaseDataSource = require('./datasource/BaseDataSource.js');
|
|
|
18
18
|
var datasourceActionUtils = require('./datasource/datasource-action-utils.js');
|
|
19
19
|
var datasourceFilterUtils = require('./datasource/datasource-filter-utils.js');
|
|
20
20
|
var datasourceUtils = require('./datasource/datasource-utils.js');
|
|
21
|
-
var formatter = require('./date/formatter.js');
|
|
22
|
-
var types = require('./date/types.js');
|
|
23
21
|
var dateUtils = require('./date/date-utils.js');
|
|
24
22
|
var dateTimePattern = require('./date/dateTimePattern.js');
|
|
23
|
+
var formatter = require('./date/formatter.js');
|
|
24
|
+
var types = require('./date/types.js');
|
|
25
25
|
var debugUtils = require('./debug-utils.js');
|
|
26
26
|
var filterUtils = require('./filters/filter-utils.js');
|
|
27
27
|
var filterAsQuery = require('./filters/filterAsQuery.js');
|
|
@@ -230,22 +230,25 @@ exports.messageHasResult = datasourceUtils.messageHasResult;
|
|
|
230
230
|
exports.messageHasSize = datasourceUtils.messageHasSize;
|
|
231
231
|
exports.vanillaConfig = datasourceUtils.vanillaConfig;
|
|
232
232
|
exports.withConfigDefaults = datasourceUtils.withConfigDefaults;
|
|
233
|
-
exports.formatDate = formatter.formatDate;
|
|
234
|
-
exports.getDateFormatter = formatter.getDateFormatter;
|
|
235
|
-
exports.dateTimeLabelByType = types.dateTimeLabelByType;
|
|
236
|
-
exports.isDatePattern = types.isDatePattern;
|
|
237
|
-
exports.isDateTimePattern = types.isDateTimePattern;
|
|
238
|
-
exports.isTimePattern = types.isTimePattern;
|
|
239
|
-
exports.supportedDateTimePatterns = types.supportedDateTimePatterns;
|
|
240
233
|
exports.Time = dateUtils.Time;
|
|
241
234
|
exports.asTimeString = dateUtils.asTimeString;
|
|
235
|
+
exports.decrementTimeUnitValue = dateUtils.decrementTimeUnitValue;
|
|
236
|
+
exports.incrementTimeUnitValue = dateUtils.incrementTimeUnitValue;
|
|
242
237
|
exports.isValidTimeString = dateUtils.isValidTimeString;
|
|
243
|
-
exports.stringIsInvalidTime = dateUtils.stringIsInvalidTime;
|
|
244
|
-
exports.stringIsValidTime = dateUtils.stringIsValidTime;
|
|
245
238
|
exports.toCalendarDate = dateUtils.toCalendarDate;
|
|
239
|
+
exports.updateTimeString = dateUtils.updateTimeString;
|
|
240
|
+
exports.zeroTime = dateUtils.zeroTime;
|
|
241
|
+
exports.zeroTimeUnit = dateUtils.zeroTimeUnit;
|
|
246
242
|
exports.dateTimePattern = dateTimePattern.dateTimePattern;
|
|
247
243
|
exports.defaultPatternsByType = dateTimePattern.defaultPatternsByType;
|
|
248
244
|
exports.fallbackDateTimePattern = dateTimePattern.fallbackDateTimePattern;
|
|
245
|
+
exports.formatDate = formatter.formatDate;
|
|
246
|
+
exports.getDateFormatter = formatter.getDateFormatter;
|
|
247
|
+
exports.dateTimeLabelByType = types.dateTimeLabelByType;
|
|
248
|
+
exports.isDatePattern = types.isDatePattern;
|
|
249
|
+
exports.isDateTimePattern = types.isDateTimePattern;
|
|
250
|
+
exports.isTimePattern = types.isTimePattern;
|
|
251
|
+
exports.supportedDateTimePatterns = types.supportedDateTimePatterns;
|
|
249
252
|
exports.RangeMonitor = debugUtils.RangeMonitor;
|
|
250
253
|
exports.FilterAggregator = filterUtils.FilterAggregator;
|
|
251
254
|
exports.applyFilterToColumns = filterUtils.applyFilterToColumns;
|
|
@@ -339,6 +342,7 @@ exports.isModule = moduleUtils.isModule;
|
|
|
339
342
|
exports.MovingWindow = movingWindow.MovingWindow;
|
|
340
343
|
exports.uuid = index$2.uuid;
|
|
341
344
|
exports.asReactElements = reactUtils.asReactElements;
|
|
345
|
+
exports.createSyntheticEvent = reactUtils.createSyntheticEvent;
|
|
342
346
|
exports.isSimpleStateValue = reactUtils.isSimpleStateValue;
|
|
343
347
|
exports.useIsMounted = reactUtils.useIsMounted;
|
|
344
348
|
exports.roundDecimal = roundDecimal.roundDecimal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -29,8 +29,38 @@ const useIsMounted = (id = "") => {
|
|
|
29
29
|
return isMountedRef;
|
|
30
30
|
};
|
|
31
31
|
const isSimpleStateValue = (arg) => typeof arg !== "function";
|
|
32
|
+
const createSyntheticEvent = (event) => {
|
|
33
|
+
let isDefaultPrevented = false;
|
|
34
|
+
let isPropagationStopped = false;
|
|
35
|
+
const preventDefault = () => {
|
|
36
|
+
isDefaultPrevented = true;
|
|
37
|
+
event.preventDefault();
|
|
38
|
+
};
|
|
39
|
+
const stopPropagation = () => {
|
|
40
|
+
isPropagationStopped = true;
|
|
41
|
+
event.stopPropagation();
|
|
42
|
+
};
|
|
43
|
+
return {
|
|
44
|
+
nativeEvent: event,
|
|
45
|
+
currentTarget: event.currentTarget,
|
|
46
|
+
target: event.target,
|
|
47
|
+
bubbles: event.bubbles,
|
|
48
|
+
cancelable: event.cancelable,
|
|
49
|
+
defaultPrevented: event.defaultPrevented,
|
|
50
|
+
eventPhase: event.eventPhase,
|
|
51
|
+
isTrusted: event.isTrusted,
|
|
52
|
+
preventDefault,
|
|
53
|
+
isDefaultPrevented: () => isDefaultPrevented,
|
|
54
|
+
stopPropagation,
|
|
55
|
+
isPropagationStopped: () => isPropagationStopped,
|
|
56
|
+
persist: () => void 0,
|
|
57
|
+
timeStamp: event.timeStamp,
|
|
58
|
+
type: event.type
|
|
59
|
+
};
|
|
60
|
+
};
|
|
32
61
|
|
|
33
62
|
exports.asReactElements = asReactElements;
|
|
63
|
+
exports.createSyntheticEvent = createSyntheticEvent;
|
|
34
64
|
exports.isSimpleStateValue = isSimpleStateValue;
|
|
35
65
|
exports.useIsMounted = useIsMounted;
|
|
36
66
|
//# sourceMappingURL=react-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-utils.js","sources":["../../../../../../packages/vuu-utils/src/react-utils.ts"],"sourcesContent":["import {\n Children,\n isValidElement,\n ReactElement,\n ReactNode,\n SetStateAction,\n useEffect,\n useRef,\n} from \"react\";\n\nconst EMPTY_ARRAY: ReactElement[] = [];\n\nexport const asReactElements = (children: ReactNode): ReactElement[] => {\n const isArray = Array.isArray(children);\n const count = isArray ? children.length : Children.count(children);\n if (isArray && children.every(isValidElement)) {\n return children;\n } else if (count === 1 && !isArray && isValidElement(children)) {\n return [children];\n } else if (count > 1) {\n return children as ReactElement[];\n } else {\n return EMPTY_ARRAY;\n }\n};\n\nexport const useIsMounted = (id = \"\") => {\n const isMountedRef = useRef(false);\n useEffect(() => {\n console.log(`is MOUNTED ${id}`);\n isMountedRef.current = true;\n return () => {\n console.log(`is UNMOUNTED ${id}`);\n isMountedRef.current = false;\n };\n }, [id]);\n\n return isMountedRef;\n};\n\nexport const isSimpleStateValue = <T>(arg: SetStateAction<T>): arg is T =>\n typeof arg !== \"function\";\n"],"names":["Children","isValidElement","useRef","useEffect"],"mappings":";;;;AAUA,MAAM,cAA8B,EAAC;AAExB,MAAA,eAAA,GAAkB,CAAC,QAAwC,KAAA;AACtE,EAAM,MAAA,OAAA,GAAU,KAAM,CAAA,OAAA,CAAQ,QAAQ,CAAA;AACtC,EAAA,MAAM,QAAQ,OAAU,GAAA,QAAA,CAAS,MAAS,GAAAA,cAAA,CAAS,MAAM,QAAQ,CAAA;AACjE,EAAA,IAAI,OAAW,IAAA,QAAA,CAAS,KAAM,CAAAC,oBAAc,CAAG,EAAA;AAC7C,IAAO,OAAA,QAAA;AAAA,aACE,KAAU,KAAA,CAAA,IAAK,CAAC,OAAW,IAAAA,oBAAA,CAAe,QAAQ,CAAG,EAAA;AAC9D,IAAA,OAAO,CAAC,QAAQ,CAAA;AAAA,GAClB,MAAA,IAAW,QAAQ,CAAG,EAAA;AACpB,IAAO,OAAA,QAAA;AAAA,GACF,MAAA;AACL,IAAO,OAAA,WAAA;AAAA;AAEX;AAEa,MAAA,YAAA,GAAe,CAAC,EAAA,GAAK,EAAO,KAAA;AACvC,EAAM,MAAA,YAAA,GAAeC,aAAO,KAAK,CAAA;AACjC,EAAAC,eAAA,CAAU,MAAM;AACd,IAAQ,OAAA,CAAA,GAAA,CAAI,CAAc,WAAA,EAAA,EAAE,CAAE,CAAA,CAAA;AAC9B,IAAA,YAAA,CAAa,OAAU,GAAA,IAAA;AACvB,IAAA,OAAO,MAAM;AACX,MAAQ,OAAA,CAAA,GAAA,CAAI,CAAgB,aAAA,EAAA,EAAE,CAAE,CAAA,CAAA;AAChC,MAAA,YAAA,CAAa,OAAU,GAAA,KAAA;AAAA,KACzB;AAAA,GACF,EAAG,CAAC,EAAE,CAAC,CAAA;AAEP,EAAO,OAAA,YAAA;AACT;AAEO,MAAM,kBAAqB,GAAA,CAAI,GACpC,KAAA,OAAO,GAAQ,KAAA
|
|
1
|
+
{"version":3,"file":"react-utils.js","sources":["../../../../../../packages/vuu-utils/src/react-utils.ts"],"sourcesContent":["import {\n Children,\n isValidElement,\n ReactElement,\n ReactNode,\n SetStateAction,\n useEffect,\n useRef,\n} from \"react\";\n\nconst EMPTY_ARRAY: ReactElement[] = [];\n\nexport const asReactElements = (children: ReactNode): ReactElement[] => {\n const isArray = Array.isArray(children);\n const count = isArray ? children.length : Children.count(children);\n if (isArray && children.every(isValidElement)) {\n return children;\n } else if (count === 1 && !isArray && isValidElement(children)) {\n return [children];\n } else if (count > 1) {\n return children as ReactElement[];\n } else {\n return EMPTY_ARRAY;\n }\n};\n\nexport const useIsMounted = (id = \"\") => {\n const isMountedRef = useRef(false);\n useEffect(() => {\n console.log(`is MOUNTED ${id}`);\n isMountedRef.current = true;\n return () => {\n console.log(`is UNMOUNTED ${id}`);\n isMountedRef.current = false;\n };\n }, [id]);\n\n return isMountedRef;\n};\n\nexport const isSimpleStateValue = <T>(arg: SetStateAction<T>): arg is T =>\n typeof arg !== \"function\";\n\n/**\n * From an example by stack overflow user Maxim G\n */\nexport const createSyntheticEvent = <T extends Element, E extends Event>(\n event: E,\n): React.SyntheticEvent<T, E> => {\n let isDefaultPrevented = false;\n let isPropagationStopped = false;\n const preventDefault = () => {\n isDefaultPrevented = true;\n event.preventDefault();\n };\n const stopPropagation = () => {\n isPropagationStopped = true;\n event.stopPropagation();\n };\n return {\n nativeEvent: event,\n currentTarget: event.currentTarget as EventTarget & T,\n target: event.target as EventTarget & T,\n bubbles: event.bubbles,\n cancelable: event.cancelable,\n defaultPrevented: event.defaultPrevented,\n eventPhase: event.eventPhase,\n isTrusted: event.isTrusted,\n preventDefault,\n isDefaultPrevented: () => isDefaultPrevented,\n stopPropagation,\n isPropagationStopped: () => isPropagationStopped,\n persist: () => undefined,\n timeStamp: event.timeStamp,\n type: event.type,\n };\n};\n"],"names":["Children","isValidElement","useRef","useEffect"],"mappings":";;;;AAUA,MAAM,cAA8B,EAAC;AAExB,MAAA,eAAA,GAAkB,CAAC,QAAwC,KAAA;AACtE,EAAM,MAAA,OAAA,GAAU,KAAM,CAAA,OAAA,CAAQ,QAAQ,CAAA;AACtC,EAAA,MAAM,QAAQ,OAAU,GAAA,QAAA,CAAS,MAAS,GAAAA,cAAA,CAAS,MAAM,QAAQ,CAAA;AACjE,EAAA,IAAI,OAAW,IAAA,QAAA,CAAS,KAAM,CAAAC,oBAAc,CAAG,EAAA;AAC7C,IAAO,OAAA,QAAA;AAAA,aACE,KAAU,KAAA,CAAA,IAAK,CAAC,OAAW,IAAAA,oBAAA,CAAe,QAAQ,CAAG,EAAA;AAC9D,IAAA,OAAO,CAAC,QAAQ,CAAA;AAAA,GAClB,MAAA,IAAW,QAAQ,CAAG,EAAA;AACpB,IAAO,OAAA,QAAA;AAAA,GACF,MAAA;AACL,IAAO,OAAA,WAAA;AAAA;AAEX;AAEa,MAAA,YAAA,GAAe,CAAC,EAAA,GAAK,EAAO,KAAA;AACvC,EAAM,MAAA,YAAA,GAAeC,aAAO,KAAK,CAAA;AACjC,EAAAC,eAAA,CAAU,MAAM;AACd,IAAQ,OAAA,CAAA,GAAA,CAAI,CAAc,WAAA,EAAA,EAAE,CAAE,CAAA,CAAA;AAC9B,IAAA,YAAA,CAAa,OAAU,GAAA,IAAA;AACvB,IAAA,OAAO,MAAM;AACX,MAAQ,OAAA,CAAA,GAAA,CAAI,CAAgB,aAAA,EAAA,EAAE,CAAE,CAAA,CAAA;AAChC,MAAA,YAAA,CAAa,OAAU,GAAA,KAAA;AAAA,KACzB;AAAA,GACF,EAAG,CAAC,EAAE,CAAC,CAAA;AAEP,EAAO,OAAA,YAAA;AACT;AAEO,MAAM,kBAAqB,GAAA,CAAI,GACpC,KAAA,OAAO,GAAQ,KAAA;AAKJ,MAAA,oBAAA,GAAuB,CAClC,KAC+B,KAAA;AAC/B,EAAA,IAAI,kBAAqB,GAAA,KAAA;AACzB,EAAA,IAAI,oBAAuB,GAAA,KAAA;AAC3B,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAqB,kBAAA,GAAA,IAAA;AACrB,IAAA,KAAA,CAAM,cAAe,EAAA;AAAA,GACvB;AACA,EAAA,MAAM,kBAAkB,MAAM;AAC5B,IAAuB,oBAAA,GAAA,IAAA;AACvB,IAAA,KAAA,CAAM,eAAgB,EAAA;AAAA,GACxB;AACA,EAAO,OAAA;AAAA,IACL,WAAa,EAAA,KAAA;AAAA,IACb,eAAe,KAAM,CAAA,aAAA;AAAA,IACrB,QAAQ,KAAM,CAAA,MAAA;AAAA,IACd,SAAS,KAAM,CAAA,OAAA;AAAA,IACf,YAAY,KAAM,CAAA,UAAA;AAAA,IAClB,kBAAkB,KAAM,CAAA,gBAAA;AAAA,IACxB,YAAY,KAAM,CAAA,UAAA;AAAA,IAClB,WAAW,KAAM,CAAA,SAAA;AAAA,IACjB,cAAA;AAAA,IACA,oBAAoB,MAAM,kBAAA;AAAA,IAC1B,eAAA;AAAA,IACA,sBAAsB,MAAM,oBAAA;AAAA,IAC5B,SAAS,MAAM,KAAA,CAAA;AAAA,IACf,WAAW,KAAM,CAAA,SAAA;AAAA,IACjB,MAAM,KAAM,CAAA;AAAA,GACd;AACF;;;;;;;"}
|
|
@@ -11,13 +11,44 @@ var _hours, _minutes, _seconds;
|
|
|
11
11
|
function toCalendarDate(d) {
|
|
12
12
|
return new CalendarDate(d.getFullYear(), d.getMonth() + 1, d.getDate());
|
|
13
13
|
}
|
|
14
|
-
const
|
|
14
|
+
const zeroTime = "00:00:00";
|
|
15
|
+
const zeroTimeUnit = "00";
|
|
16
|
+
function incrementTimeUnitValue(unit, value) {
|
|
17
|
+
const num = parseInt(value);
|
|
18
|
+
if (unit === "hours" && num < 23) {
|
|
19
|
+
return `${num + 1}`.padStart(2, "0").slice(-2);
|
|
20
|
+
} else if (unit === "hours" && num === 23) {
|
|
21
|
+
return "00";
|
|
22
|
+
} else if (num < 59) {
|
|
23
|
+
return `${num + 1}`.padStart(2, "0").slice(-2);
|
|
24
|
+
} else if (num === 59) {
|
|
25
|
+
return "00";
|
|
26
|
+
}
|
|
27
|
+
return value;
|
|
28
|
+
}
|
|
29
|
+
function decrementTimeUnitValue(unit, value) {
|
|
30
|
+
const num = parseInt(value);
|
|
31
|
+
if (unit === "hours" && num > 0) {
|
|
32
|
+
return `${num - 1}`.padStart(2, "0").slice(-2);
|
|
33
|
+
} else if (unit === "hours" && num === 0) {
|
|
34
|
+
return "23";
|
|
35
|
+
} else if (num > 0) {
|
|
36
|
+
return `${num - 1}`.padStart(2, "0").slice(-2);
|
|
37
|
+
} else if (num === 0) {
|
|
38
|
+
return "59";
|
|
39
|
+
}
|
|
40
|
+
return value;
|
|
41
|
+
}
|
|
42
|
+
function updateTimeString(timeString, unit, value) {
|
|
43
|
+
const newTimeString = unit === "hours" ? value.concat(timeString.slice(2)) : unit === "minutes" ? timeString.slice(0, 3).concat(value).concat(timeString.slice(5)) : timeString.slice(0, 6).concat(value);
|
|
44
|
+
if (isValidTimeString(newTimeString)) {
|
|
45
|
+
return newTimeString;
|
|
46
|
+
} else {
|
|
47
|
+
throw Error(`[date-utils] udateTimeSting invalid result ${newTimeString}`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
15
50
|
const validTimePattern = /(?:[0-1][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]/;
|
|
16
|
-
const
|
|
17
|
-
const stringIsValidTime = (val) => validTimePattern.test(val);
|
|
18
|
-
const stringIsInvalidTime = (val) => stringIsTimeShaped(val) && !stringIsValidTime(val);
|
|
19
|
-
const TIME_PATTERN = /^[01][0-9]:[0-5][0-9]:[0-5][0-9]$/;
|
|
20
|
-
const isValidTimeString = (value) => typeof value === "string" && TIME_PATTERN.test(value);
|
|
51
|
+
const isValidTimeString = (value) => typeof value === "string" && validTimePattern.test(value);
|
|
21
52
|
function asTimeString(value, allowUndefined = false) {
|
|
22
53
|
if (value === void 0) {
|
|
23
54
|
if (allowUndefined) {
|
|
@@ -70,5 +101,5 @@ _minutes = new WeakMap();
|
|
|
70
101
|
_seconds = new WeakMap();
|
|
71
102
|
const Time = (timeString) => new TimeImpl(timeString);
|
|
72
103
|
|
|
73
|
-
export { Time, asTimeString, isValidTimeString,
|
|
104
|
+
export { Time, asTimeString, decrementTimeUnitValue, incrementTimeUnitValue, isValidTimeString, toCalendarDate, updateTimeString, zeroTime, zeroTimeUnit };
|
|
74
105
|
//# sourceMappingURL=date-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-utils.js","sources":["../../../../../../../packages/vuu-utils/src/date/date-utils.ts"],"sourcesContent":["import { CalendarDate } from \"@internationalized/date\";\n\nexport function toCalendarDate(d: Date) {\n return new CalendarDate(d.getFullYear(), d.getMonth() + 1, d.getDate());\n}\n\
|
|
1
|
+
{"version":3,"file":"date-utils.js","sources":["../../../../../../../packages/vuu-utils/src/date/date-utils.ts"],"sourcesContent":["import { CalendarDate } from \"@internationalized/date\";\n\nexport function toCalendarDate(d: Date) {\n return new CalendarDate(d.getFullYear(), d.getMonth() + 1, d.getDate());\n}\n\nexport type oneToFive = 1 | 2 | 3 | 4 | 5;\nexport type zeroToFive = 0 | oneToFive;\nexport type sixToNine = 6 | 7 | 8 | 9;\nexport type zeroToNine = zeroToFive | sixToNine;\nexport type oneToNine = oneToFive | sixToNine;\nexport type TimeUnit = \"hours\" | \"minutes\" | \"seconds\";\nexport type Hours = `${0 | 1}${zeroToNine}` | `2${0 | 1 | 2 | 3}`;\nexport type Minutes = `${zeroToFive}${zeroToNine}`;\nexport type Seconds = `${zeroToFive}${zeroToNine}`;\n\nexport type TimeUnitValue<T extends TimeUnit> = T extends \"hours\"\n ? Hours\n : T extends \"minutes\"\n ? Minutes\n : Seconds;\n\n// This should work, works fine in TypeScript playground, but hangs tsc\n// export type TimeString = `${Hours}:${Minutes}:${Seconds}`;\nexport type TimeString =\n `${number}${number}:${number}${number}:${number}${number}`;\n\ntype YYYY = `19${zeroToNine}${zeroToNine}` | `20${zeroToNine}${zeroToNine}`;\ntype MM = `0${oneToNine}` | `1${0 | 1 | 2}`;\ntype DD = `${0}${oneToNine}` | `${1 | 2}${zeroToNine}` | `3${0 | 1}`;\n\nexport type DateStringISO = `${YYYY}-${MM}-${DD}`;\n\nexport const zeroTime: TimeString = \"00:00:00\";\nexport const zeroTimeUnit: TimeUnitValue<TimeUnit> = \"00\";\n\nexport function incrementTimeUnitValue<T extends TimeUnit>(\n unit: T,\n value: TimeUnitValue<T>,\n) {\n const num = parseInt(value);\n if (unit === \"hours\" && num < 23) {\n return `${num + 1}`.padStart(2, \"0\").slice(-2) as Hours;\n } else if (unit === \"hours\" && num === 23) {\n return \"00\" as Hours;\n } else if (num < 59) {\n return `${num + 1}`.padStart(2, \"0\").slice(-2) as TimeUnitValue<T>;\n } else if (num === 59) {\n return \"00\" as TimeUnitValue<T>;\n }\n return value;\n}\n\nexport function decrementTimeUnitValue<T extends TimeUnit>(\n unit: T,\n value: TimeUnitValue<T>,\n) {\n const num = parseInt(value);\n if (unit === \"hours\" && num > 0) {\n return `${num - 1}`.padStart(2, \"0\").slice(-2) as Hours;\n } else if (unit === \"hours\" && num === 0) {\n return \"23\" as Hours;\n } else if (num > 0) {\n return `${num - 1}`.padStart(2, \"0\").slice(-2) as TimeUnitValue<T>;\n } else if (num === 0) {\n return \"59\" as TimeUnitValue<T>;\n }\n return value;\n}\n\n// TODO accept numeric values with appropriate type checks\nexport function updateTimeString<T extends TimeUnit>(\n timeString: TimeString,\n unit: T,\n value: TimeUnitValue<T>,\n): TimeString {\n const newTimeString =\n unit === \"hours\"\n ? value.concat(timeString.slice(2))\n : unit === \"minutes\"\n ? timeString.slice(0, 3).concat(value).concat(timeString.slice(5))\n : timeString.slice(0, 6).concat(value);\n if (isValidTimeString(newTimeString)) {\n return newTimeString;\n } else {\n throw Error(`[date-utils] udateTimeSting invalid result ${newTimeString}`);\n }\n}\n\nconst validTimePattern = /(?:[0-1][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]/;\nexport const isValidTimeString = (value: unknown): value is TimeString =>\n typeof value === \"string\" && validTimePattern.test(value);\n\nexport function asTimeString(value: unknown, allowUndefined: false): TimeString;\nexport function asTimeString(\n value: unknown,\n allowUndefined?: true,\n): TimeString | undefined;\nexport function asTimeString(\n value: unknown,\n allowUndefined = false,\n): TimeString | undefined {\n if (value === undefined) {\n if (allowUndefined) {\n return value;\n } else {\n throw Error(\"[date-utils] asTimeString, value cannot be undefined\");\n }\n } else if (isValidTimeString(value)) {\n return value;\n } else {\n throw Error(\n `[date-utils] asTimeString, value ${value} is not valid TimeString`,\n );\n }\n}\n\nexport interface Time {\n hours: number;\n minutes: number;\n seconds: number;\n asDate: (date?: Date | DateStringISO) => Date;\n}\n\nconst padZero = (val: number) => `${val}`.padStart(2, \"0\");\n\nclass TimeImpl implements Time {\n #hours: number;\n #minutes: number;\n #seconds: number;\n constructor(timeString: TimeString) {\n const [hours, minutes, seconds] = timeString.split(\":\");\n this.#hours = parseInt(hours);\n this.#minutes = parseInt(minutes);\n this.#seconds = parseInt(seconds);\n }\n get hours() {\n return this.#hours;\n }\n get minutes() {\n return this.#minutes;\n }\n get seconds() {\n return this.#seconds;\n }\n\n asDate(date?: Date | DateStringISO) {\n const dt =\n date === undefined\n ? new Date()\n : typeof date === \"string\"\n ? new Date(date)\n : date;\n dt.setHours(this.#hours);\n dt.setMinutes(this.#minutes);\n dt.setSeconds(this.seconds);\n dt.setMilliseconds(0);\n return dt;\n }\n\n toString() {\n return `${padZero(this.#hours)}:${padZero(this.#minutes)}:${padZero(this.#seconds)}`;\n }\n}\n\nexport const Time = (timeString: TimeString): Time =>\n new TimeImpl(timeString) as Time;\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isDateTimeDataValue, isTypeDescriptor, isMappedValueTypeRenderer } from './column-utils.js';
|
|
2
|
-
import { formatDate } from './date/formatter.js';
|
|
3
2
|
import './date/date-utils.js';
|
|
4
3
|
import { dateTimePattern } from './date/dateTimePattern.js';
|
|
4
|
+
import { formatDate } from './date/formatter.js';
|
|
5
5
|
import { roundDecimal } from './round-decimal.js';
|
|
6
6
|
|
|
7
7
|
const DEFAULT_NUMERIC_FORMAT = {};
|
|
@@ -16,10 +16,10 @@ export { BaseDataSource } from './datasource/BaseDataSource.js';
|
|
|
16
16
|
export { isViewportMenusAction, isVisualLinkCreatedAction, isVisualLinkRemovedAction, isVisualLinksAction, isVuuFeatureAction } from './datasource/datasource-action-utils.js';
|
|
17
17
|
export { combineFilters } from './datasource/datasource-filter-utils.js';
|
|
18
18
|
export { NO_CONFIG_CHANGES, NoFilter, NoSort, dataSourceRowToEntity, hasBaseFilter, hasFilter, hasGroupBy, hasSort, isBaseFilterChanged, isConfigChanged, isConnectionQualityMetrics, isErrorResponse, isFilterChanged, isGroupByChanged, isTableSchemaMessage, isTypeaheadSuggestionProvider, isViewportMessage, isVisualLinkMessage, messageHasDataRows, messageHasResult, messageHasSize, vanillaConfig, withConfigDefaults } from './datasource/datasource-utils.js';
|
|
19
|
+
export { Time, asTimeString, decrementTimeUnitValue, incrementTimeUnitValue, isValidTimeString, toCalendarDate, updateTimeString, zeroTime, zeroTimeUnit } from './date/date-utils.js';
|
|
20
|
+
export { dateTimePattern, defaultPatternsByType, fallbackDateTimePattern } from './date/dateTimePattern.js';
|
|
19
21
|
export { formatDate, getDateFormatter } from './date/formatter.js';
|
|
20
22
|
export { dateTimeLabelByType, isDatePattern, isDateTimePattern, isTimePattern, supportedDateTimePatterns } from './date/types.js';
|
|
21
|
-
export { Time, asTimeString, isValidTimeString, stringIsInvalidTime, stringIsValidTime, toCalendarDate } from './date/date-utils.js';
|
|
22
|
-
export { dateTimePattern, defaultPatternsByType, fallbackDateTimePattern } from './date/dateTimePattern.js';
|
|
23
23
|
export { RangeMonitor } from './debug-utils.js';
|
|
24
24
|
export { FilterAggregator, applyFilterToColumns, extractFilterForColumn, isAndFilter, isCompleteFilter, isFilterClause, isFilteredColumn, isInFilter, isMultiClauseFilter, isMultiValueFilter, isNamedFilter, isOrFilter, isSingleValueFilter, isValidFilterClauseOp, stripFilterFromColumns } from './filters/filter-utils.js';
|
|
25
25
|
export { dateFilterAsQuery, filterAsQuery, removeColumnFromFilter } from './filters/filterAsQuery.js';
|
|
@@ -43,7 +43,7 @@ export { hasShowNotificationAction, isGroupMenuItemDescriptor, isOpenBulkEditRes
|
|
|
43
43
|
export { isModule } from './module-utils.js';
|
|
44
44
|
export { MovingWindow } from './moving-window.js';
|
|
45
45
|
export { uuid } from './nanoid/index.js';
|
|
46
|
-
export { asReactElements, isSimpleStateValue, useIsMounted } from './react-utils.js';
|
|
46
|
+
export { asReactElements, createSyntheticEvent, isSimpleStateValue, useIsMounted } from './react-utils.js';
|
|
47
47
|
export { roundDecimal } from './round-decimal.js';
|
|
48
48
|
export { debounce, throttle } from './perf-utils.js';
|
|
49
49
|
export { DeferredPromise } from './promise-utils.js';
|
|
@@ -27,6 +27,35 @@ const useIsMounted = (id = "") => {
|
|
|
27
27
|
return isMountedRef;
|
|
28
28
|
};
|
|
29
29
|
const isSimpleStateValue = (arg) => typeof arg !== "function";
|
|
30
|
+
const createSyntheticEvent = (event) => {
|
|
31
|
+
let isDefaultPrevented = false;
|
|
32
|
+
let isPropagationStopped = false;
|
|
33
|
+
const preventDefault = () => {
|
|
34
|
+
isDefaultPrevented = true;
|
|
35
|
+
event.preventDefault();
|
|
36
|
+
};
|
|
37
|
+
const stopPropagation = () => {
|
|
38
|
+
isPropagationStopped = true;
|
|
39
|
+
event.stopPropagation();
|
|
40
|
+
};
|
|
41
|
+
return {
|
|
42
|
+
nativeEvent: event,
|
|
43
|
+
currentTarget: event.currentTarget,
|
|
44
|
+
target: event.target,
|
|
45
|
+
bubbles: event.bubbles,
|
|
46
|
+
cancelable: event.cancelable,
|
|
47
|
+
defaultPrevented: event.defaultPrevented,
|
|
48
|
+
eventPhase: event.eventPhase,
|
|
49
|
+
isTrusted: event.isTrusted,
|
|
50
|
+
preventDefault,
|
|
51
|
+
isDefaultPrevented: () => isDefaultPrevented,
|
|
52
|
+
stopPropagation,
|
|
53
|
+
isPropagationStopped: () => isPropagationStopped,
|
|
54
|
+
persist: () => void 0,
|
|
55
|
+
timeStamp: event.timeStamp,
|
|
56
|
+
type: event.type
|
|
57
|
+
};
|
|
58
|
+
};
|
|
30
59
|
|
|
31
|
-
export { asReactElements, isSimpleStateValue, useIsMounted };
|
|
60
|
+
export { asReactElements, createSyntheticEvent, isSimpleStateValue, useIsMounted };
|
|
32
61
|
//# sourceMappingURL=react-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-utils.js","sources":["../../../../../../packages/vuu-utils/src/react-utils.ts"],"sourcesContent":["import {\n Children,\n isValidElement,\n ReactElement,\n ReactNode,\n SetStateAction,\n useEffect,\n useRef,\n} from \"react\";\n\nconst EMPTY_ARRAY: ReactElement[] = [];\n\nexport const asReactElements = (children: ReactNode): ReactElement[] => {\n const isArray = Array.isArray(children);\n const count = isArray ? children.length : Children.count(children);\n if (isArray && children.every(isValidElement)) {\n return children;\n } else if (count === 1 && !isArray && isValidElement(children)) {\n return [children];\n } else if (count > 1) {\n return children as ReactElement[];\n } else {\n return EMPTY_ARRAY;\n }\n};\n\nexport const useIsMounted = (id = \"\") => {\n const isMountedRef = useRef(false);\n useEffect(() => {\n console.log(`is MOUNTED ${id}`);\n isMountedRef.current = true;\n return () => {\n console.log(`is UNMOUNTED ${id}`);\n isMountedRef.current = false;\n };\n }, [id]);\n\n return isMountedRef;\n};\n\nexport const isSimpleStateValue = <T>(arg: SetStateAction<T>): arg is T =>\n typeof arg !== \"function\";\n"],"names":[],"mappings":";;AAUA,MAAM,cAA8B,EAAC;AAExB,MAAA,eAAA,GAAkB,CAAC,QAAwC,KAAA;AACtE,EAAM,MAAA,OAAA,GAAU,KAAM,CAAA,OAAA,CAAQ,QAAQ,CAAA;AACtC,EAAA,MAAM,QAAQ,OAAU,GAAA,QAAA,CAAS,MAAS,GAAA,QAAA,CAAS,MAAM,QAAQ,CAAA;AACjE,EAAA,IAAI,OAAW,IAAA,QAAA,CAAS,KAAM,CAAA,cAAc,CAAG,EAAA;AAC7C,IAAO,OAAA,QAAA;AAAA,aACE,KAAU,KAAA,CAAA,IAAK,CAAC,OAAW,IAAA,cAAA,CAAe,QAAQ,CAAG,EAAA;AAC9D,IAAA,OAAO,CAAC,QAAQ,CAAA;AAAA,GAClB,MAAA,IAAW,QAAQ,CAAG,EAAA;AACpB,IAAO,OAAA,QAAA;AAAA,GACF,MAAA;AACL,IAAO,OAAA,WAAA;AAAA;AAEX;AAEa,MAAA,YAAA,GAAe,CAAC,EAAA,GAAK,EAAO,KAAA;AACvC,EAAM,MAAA,YAAA,GAAe,OAAO,KAAK,CAAA;AACjC,EAAA,SAAA,CAAU,MAAM;AACd,IAAQ,OAAA,CAAA,GAAA,CAAI,CAAc,WAAA,EAAA,EAAE,CAAE,CAAA,CAAA;AAC9B,IAAA,YAAA,CAAa,OAAU,GAAA,IAAA;AACvB,IAAA,OAAO,MAAM;AACX,MAAQ,OAAA,CAAA,GAAA,CAAI,CAAgB,aAAA,EAAA,EAAE,CAAE,CAAA,CAAA;AAChC,MAAA,YAAA,CAAa,OAAU,GAAA,KAAA;AAAA,KACzB;AAAA,GACF,EAAG,CAAC,EAAE,CAAC,CAAA;AAEP,EAAO,OAAA,YAAA;AACT;AAEO,MAAM,kBAAqB,GAAA,CAAI,GACpC,KAAA,OAAO,GAAQ,KAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"react-utils.js","sources":["../../../../../../packages/vuu-utils/src/react-utils.ts"],"sourcesContent":["import {\n Children,\n isValidElement,\n ReactElement,\n ReactNode,\n SetStateAction,\n useEffect,\n useRef,\n} from \"react\";\n\nconst EMPTY_ARRAY: ReactElement[] = [];\n\nexport const asReactElements = (children: ReactNode): ReactElement[] => {\n const isArray = Array.isArray(children);\n const count = isArray ? children.length : Children.count(children);\n if (isArray && children.every(isValidElement)) {\n return children;\n } else if (count === 1 && !isArray && isValidElement(children)) {\n return [children];\n } else if (count > 1) {\n return children as ReactElement[];\n } else {\n return EMPTY_ARRAY;\n }\n};\n\nexport const useIsMounted = (id = \"\") => {\n const isMountedRef = useRef(false);\n useEffect(() => {\n console.log(`is MOUNTED ${id}`);\n isMountedRef.current = true;\n return () => {\n console.log(`is UNMOUNTED ${id}`);\n isMountedRef.current = false;\n };\n }, [id]);\n\n return isMountedRef;\n};\n\nexport const isSimpleStateValue = <T>(arg: SetStateAction<T>): arg is T =>\n typeof arg !== \"function\";\n\n/**\n * From an example by stack overflow user Maxim G\n */\nexport const createSyntheticEvent = <T extends Element, E extends Event>(\n event: E,\n): React.SyntheticEvent<T, E> => {\n let isDefaultPrevented = false;\n let isPropagationStopped = false;\n const preventDefault = () => {\n isDefaultPrevented = true;\n event.preventDefault();\n };\n const stopPropagation = () => {\n isPropagationStopped = true;\n event.stopPropagation();\n };\n return {\n nativeEvent: event,\n currentTarget: event.currentTarget as EventTarget & T,\n target: event.target as EventTarget & T,\n bubbles: event.bubbles,\n cancelable: event.cancelable,\n defaultPrevented: event.defaultPrevented,\n eventPhase: event.eventPhase,\n isTrusted: event.isTrusted,\n preventDefault,\n isDefaultPrevented: () => isDefaultPrevented,\n stopPropagation,\n isPropagationStopped: () => isPropagationStopped,\n persist: () => undefined,\n timeStamp: event.timeStamp,\n type: event.type,\n };\n};\n"],"names":[],"mappings":";;AAUA,MAAM,cAA8B,EAAC;AAExB,MAAA,eAAA,GAAkB,CAAC,QAAwC,KAAA;AACtE,EAAM,MAAA,OAAA,GAAU,KAAM,CAAA,OAAA,CAAQ,QAAQ,CAAA;AACtC,EAAA,MAAM,QAAQ,OAAU,GAAA,QAAA,CAAS,MAAS,GAAA,QAAA,CAAS,MAAM,QAAQ,CAAA;AACjE,EAAA,IAAI,OAAW,IAAA,QAAA,CAAS,KAAM,CAAA,cAAc,CAAG,EAAA;AAC7C,IAAO,OAAA,QAAA;AAAA,aACE,KAAU,KAAA,CAAA,IAAK,CAAC,OAAW,IAAA,cAAA,CAAe,QAAQ,CAAG,EAAA;AAC9D,IAAA,OAAO,CAAC,QAAQ,CAAA;AAAA,GAClB,MAAA,IAAW,QAAQ,CAAG,EAAA;AACpB,IAAO,OAAA,QAAA;AAAA,GACF,MAAA;AACL,IAAO,OAAA,WAAA;AAAA;AAEX;AAEa,MAAA,YAAA,GAAe,CAAC,EAAA,GAAK,EAAO,KAAA;AACvC,EAAM,MAAA,YAAA,GAAe,OAAO,KAAK,CAAA;AACjC,EAAA,SAAA,CAAU,MAAM;AACd,IAAQ,OAAA,CAAA,GAAA,CAAI,CAAc,WAAA,EAAA,EAAE,CAAE,CAAA,CAAA;AAC9B,IAAA,YAAA,CAAa,OAAU,GAAA,IAAA;AACvB,IAAA,OAAO,MAAM;AACX,MAAQ,OAAA,CAAA,GAAA,CAAI,CAAgB,aAAA,EAAA,EAAE,CAAE,CAAA,CAAA;AAChC,MAAA,YAAA,CAAa,OAAU,GAAA,KAAA;AAAA,KACzB;AAAA,GACF,EAAG,CAAC,EAAE,CAAC,CAAA;AAEP,EAAO,OAAA,YAAA;AACT;AAEO,MAAM,kBAAqB,GAAA,CAAI,GACpC,KAAA,OAAO,GAAQ,KAAA;AAKJ,MAAA,oBAAA,GAAuB,CAClC,KAC+B,KAAA;AAC/B,EAAA,IAAI,kBAAqB,GAAA,KAAA;AACzB,EAAA,IAAI,oBAAuB,GAAA,KAAA;AAC3B,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAqB,kBAAA,GAAA,IAAA;AACrB,IAAA,KAAA,CAAM,cAAe,EAAA;AAAA,GACvB;AACA,EAAA,MAAM,kBAAkB,MAAM;AAC5B,IAAuB,oBAAA,GAAA,IAAA;AACvB,IAAA,KAAA,CAAM,eAAgB,EAAA;AAAA,GACxB;AACA,EAAO,OAAA;AAAA,IACL,WAAa,EAAA,KAAA;AAAA,IACb,eAAe,KAAM,CAAA,aAAA;AAAA,IACrB,QAAQ,KAAM,CAAA,MAAA;AAAA,IACd,SAAS,KAAM,CAAA,OAAA;AAAA,IACf,YAAY,KAAM,CAAA,UAAA;AAAA,IAClB,kBAAkB,KAAM,CAAA,gBAAA;AAAA,IACxB,YAAY,KAAM,CAAA,UAAA;AAAA,IAClB,WAAW,KAAM,CAAA,SAAA;AAAA,IACjB,cAAA;AAAA,IACA,oBAAoB,MAAM,kBAAA;AAAA,IAC1B,eAAA;AAAA,IACA,sBAAsB,MAAM,oBAAA;AAAA,IAC5B,SAAS,MAAM,KAAA,CAAA;AAAA,IACf,WAAW,KAAM,CAAA,SAAA;AAAA,IACjB,MAAM,KAAM,CAAA;AAAA,GACd;AACF;;;;"}
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.13.
|
|
2
|
+
"version": "0.13.34",
|
|
3
3
|
"author": "heswell",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"types": "types/index.d.ts",
|
|
6
6
|
"devDependencies": {
|
|
7
|
-
"@vuu-ui/vuu-data-types": "0.13.
|
|
8
|
-
"@vuu-ui/vuu-table-types": "0.13.
|
|
9
|
-
"@vuu-ui/vuu-filter-types": "0.13.
|
|
10
|
-
"@vuu-ui/vuu-protocol-types": "0.13.
|
|
7
|
+
"@vuu-ui/vuu-data-types": "0.13.34",
|
|
8
|
+
"@vuu-ui/vuu-table-types": "0.13.34",
|
|
9
|
+
"@vuu-ui/vuu-filter-types": "0.13.34",
|
|
10
|
+
"@vuu-ui/vuu-protocol-types": "0.13.34"
|
|
11
11
|
},
|
|
12
12
|
"peerDependencies": {
|
|
13
13
|
"@internationalized/date": "^3.0.0",
|
|
14
|
-
"@vuu-ui/vuu-filter-parser": "0.13.
|
|
14
|
+
"@vuu-ui/vuu-filter-parser": "0.13.34",
|
|
15
15
|
"clsx": "^2.0.0",
|
|
16
16
|
"react": "^19.1.0",
|
|
17
17
|
"react-dom": "^19.1.0"
|
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
import { CalendarDate } from "@internationalized/date";
|
|
2
2
|
export declare function toCalendarDate(d: Date): CalendarDate;
|
|
3
|
-
type oneToFive = 1 | 2 | 3 | 4 | 5;
|
|
4
|
-
type zeroToFive = 0 | oneToFive;
|
|
5
|
-
type sixToNine = 6 | 7 | 8 | 9;
|
|
6
|
-
type zeroToNine = zeroToFive | sixToNine;
|
|
7
|
-
type oneToNine = oneToFive | sixToNine;
|
|
8
|
-
type
|
|
9
|
-
type
|
|
10
|
-
type
|
|
11
|
-
export type
|
|
3
|
+
export type oneToFive = 1 | 2 | 3 | 4 | 5;
|
|
4
|
+
export type zeroToFive = 0 | oneToFive;
|
|
5
|
+
export type sixToNine = 6 | 7 | 8 | 9;
|
|
6
|
+
export type zeroToNine = zeroToFive | sixToNine;
|
|
7
|
+
export type oneToNine = oneToFive | sixToNine;
|
|
8
|
+
export type TimeUnit = "hours" | "minutes" | "seconds";
|
|
9
|
+
export type Hours = `${0 | 1}${zeroToNine}` | `2${0 | 1 | 2 | 3}`;
|
|
10
|
+
export type Minutes = `${zeroToFive}${zeroToNine}`;
|
|
11
|
+
export type Seconds = `${zeroToFive}${zeroToNine}`;
|
|
12
|
+
export type TimeUnitValue<T extends TimeUnit> = T extends "hours" ? Hours : T extends "minutes" ? Minutes : Seconds;
|
|
13
|
+
export type TimeString = `${number}${number}:${number}${number}:${number}${number}`;
|
|
12
14
|
type YYYY = `19${zeroToNine}${zeroToNine}` | `20${zeroToNine}${zeroToNine}`;
|
|
13
15
|
type MM = `0${oneToNine}` | `1${0 | 1 | 2}`;
|
|
14
16
|
type DD = `${0}${oneToNine}` | `${1 | 2}${zeroToNine}` | `3${0 | 1}`;
|
|
15
17
|
export type DateStringISO = `${YYYY}-${MM}-${DD}`;
|
|
16
|
-
export declare const
|
|
17
|
-
export declare const
|
|
18
|
-
export declare
|
|
18
|
+
export declare const zeroTime: TimeString;
|
|
19
|
+
export declare const zeroTimeUnit: TimeUnitValue<TimeUnit>;
|
|
20
|
+
export declare function incrementTimeUnitValue<T extends TimeUnit>(unit: T, value: TimeUnitValue<T>): Hours | TimeUnitValue<T>;
|
|
21
|
+
export declare function decrementTimeUnitValue<T extends TimeUnit>(unit: T, value: TimeUnitValue<T>): Hours | TimeUnitValue<T>;
|
|
22
|
+
export declare function updateTimeString<T extends TimeUnit>(timeString: TimeString, unit: T, value: TimeUnitValue<T>): TimeString;
|
|
19
23
|
export declare const isValidTimeString: (value: unknown) => value is TimeString;
|
|
20
24
|
export declare function asTimeString(value: unknown, allowUndefined: false): TimeString;
|
|
21
25
|
export declare function asTimeString(value: unknown, allowUndefined?: true): TimeString | undefined;
|
package/types/date/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export
|
|
2
|
-
export { dateTimeLabelByType, isDatePattern, isTimePattern, isDateTimePattern, type DatePattern, type TimePattern, type DateTimePattern, supportedDateTimePatterns, } from "./types";
|
|
3
|
-
export { asTimeString, isValidTimeString, type DateStringISO, toCalendarDate, stringIsInvalidTime, stringIsValidTime, Time, type TimeString, } from "./date-utils";
|
|
1
|
+
export { asTimeString, decrementTimeUnitValue, incrementTimeUnitValue, isValidTimeString, Time, toCalendarDate, type DateStringISO, type Hours, type Minutes, type Seconds, type TimeString, type TimeUnit, type TimeUnitValue, updateTimeString, zeroTime, zeroTimeUnit, } from "./date-utils";
|
|
4
2
|
export { dateTimePattern, defaultPatternsByType, fallbackDateTimePattern, } from "./dateTimePattern";
|
|
3
|
+
export * from "./formatter";
|
|
4
|
+
export { dateTimeLabelByType, isDatePattern, isDateTimePattern, isTimePattern, supportedDateTimePatterns, type DatePattern, type DateTimePattern, type TimePattern, } from "./types";
|
|
@@ -42,6 +42,7 @@ export declare const stripFilterFromColumns: (columns: RuntimeColumnDescriptor[]
|
|
|
42
42
|
valueFormatter: import("@vuu-ui/vuu-table-types").ValueFormatter;
|
|
43
43
|
width: number;
|
|
44
44
|
aggregate?: import("@vuu-ui/vuu-protocol-types").VuuAggType;
|
|
45
|
+
allowColumnHeaderMenu?: false;
|
|
45
46
|
colHeaderContentRenderer?: string;
|
|
46
47
|
colHeaderLabelRenderer?: string;
|
|
47
48
|
getIcon?: (row: import("@vuu-ui/vuu-data-types").DataSourceRow) => string | undefined;
|
package/types/react-utils.d.ts
CHANGED
|
@@ -2,3 +2,7 @@ import { ReactElement, ReactNode, SetStateAction } from "react";
|
|
|
2
2
|
export declare const asReactElements: (children: ReactNode) => ReactElement[];
|
|
3
3
|
export declare const useIsMounted: (id?: string) => import("react").RefObject<boolean>;
|
|
4
4
|
export declare const isSimpleStateValue: <T>(arg: SetStateAction<T>) => arg is T;
|
|
5
|
+
/**
|
|
6
|
+
* From an example by stack overflow user Maxim G
|
|
7
|
+
*/
|
|
8
|
+
export declare const createSyntheticEvent: <T extends Element, E extends Event>(event: E) => React.SyntheticEvent<T, E>;
|