@vuu-ui/vuu-utils 0.13.89 → 0.13.91
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/PageVisibilityObserver.js +7 -7
- package/cjs/packages/vuu-utils/src/PageVisibilityObserver.js.map +1 -1
- package/cjs/packages/vuu-utils/src/formatting-utils.js +3 -1
- package/cjs/packages/vuu-utils/src/formatting-utils.js.map +1 -1
- package/cjs/packages/vuu-utils/src/index.js +1 -0
- package/cjs/packages/vuu-utils/src/index.js.map +1 -1
- package/cjs/packages/vuu-utils/src/local-storage-utils.js +12 -2
- package/cjs/packages/vuu-utils/src/local-storage-utils.js.map +1 -1
- package/cjs/packages/vuu-utils/src/round-decimal.js +7 -3
- package/cjs/packages/vuu-utils/src/round-decimal.js.map +1 -1
- package/esm/packages/vuu-utils/src/PageVisibilityObserver.js +7 -7
- package/esm/packages/vuu-utils/src/PageVisibilityObserver.js.map +1 -1
- package/esm/packages/vuu-utils/src/formatting-utils.js +3 -1
- package/esm/packages/vuu-utils/src/formatting-utils.js.map +1 -1
- package/esm/packages/vuu-utils/src/index.js +1 -1
- package/esm/packages/vuu-utils/src/local-storage-utils.js +12 -3
- package/esm/packages/vuu-utils/src/local-storage-utils.js.map +1 -1
- package/esm/packages/vuu-utils/src/round-decimal.js +7 -3
- package/esm/packages/vuu-utils/src/round-decimal.js.map +1 -1
- package/package.json +8 -8
- package/types/PageVisibilityObserver.d.ts +1 -1
- package/types/local-storage-utils.d.ts +2 -1
- package/types/round-decimal.d.ts +2 -1
|
@@ -12,24 +12,24 @@ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot
|
|
|
12
12
|
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
13
13
|
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
14
14
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
15
|
-
var
|
|
15
|
+
var _inactiveTimeoutMs, _inactivityTimer, _hidden;
|
|
16
16
|
const defaultProps = {};
|
|
17
17
|
class PageVisibilityObserver extends eventEmitter.EventEmitter {
|
|
18
18
|
constructor({
|
|
19
|
-
inactiveTimeout,
|
|
19
|
+
inactiveTimeout = 0,
|
|
20
20
|
onHidden,
|
|
21
21
|
onVisibilityChange,
|
|
22
22
|
onVisible
|
|
23
23
|
} = defaultProps) {
|
|
24
24
|
super();
|
|
25
|
-
__privateAdd(this,
|
|
25
|
+
__privateAdd(this, _inactiveTimeoutMs);
|
|
26
26
|
__privateAdd(this, _inactivityTimer);
|
|
27
27
|
__privateAdd(this, _hidden);
|
|
28
28
|
__publicField(this, "visibilityChangeHandler", () => {
|
|
29
29
|
this.hidden = document.hidden;
|
|
30
30
|
});
|
|
31
31
|
__privateSet(this, _hidden, document.hidden);
|
|
32
|
-
__privateSet(this,
|
|
32
|
+
__privateSet(this, _inactiveTimeoutMs, inactiveTimeout * 1e3);
|
|
33
33
|
if (onHidden) {
|
|
34
34
|
this.on("hidden", onHidden);
|
|
35
35
|
}
|
|
@@ -52,10 +52,10 @@ class PageVisibilityObserver extends eventEmitter.EventEmitter {
|
|
|
52
52
|
__privateSet(this, _hidden, hidden);
|
|
53
53
|
if (document.hidden) {
|
|
54
54
|
this.emit("hidden");
|
|
55
|
-
if (__privateGet(this,
|
|
55
|
+
if (__privateGet(this, _inactiveTimeoutMs)) {
|
|
56
56
|
__privateSet(this, _inactivityTimer, setTimeout(() => {
|
|
57
57
|
this.emit("inactive-timeout");
|
|
58
|
-
}, __privateGet(this,
|
|
58
|
+
}, __privateGet(this, _inactiveTimeoutMs)));
|
|
59
59
|
}
|
|
60
60
|
} else {
|
|
61
61
|
this.emit("visible");
|
|
@@ -68,7 +68,7 @@ class PageVisibilityObserver extends eventEmitter.EventEmitter {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
-
|
|
71
|
+
_inactiveTimeoutMs = new WeakMap();
|
|
72
72
|
_inactivityTimer = new WeakMap();
|
|
73
73
|
_hidden = new WeakMap();
|
|
74
74
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageVisibilityObserver.js","sources":["../../../../../../packages/vuu-utils/src/PageVisibilityObserver.ts"],"sourcesContent":["import { EventEmitter } from \"./event-emitter\";\n\nexport type PageVisibilityEvents = {\n /**\n * emits when page has been hidden for this period of time\n */\n \"inactive-timeout\": () => void;\n /**\n * emits when page is hidden\n */\n hidden: () => void;\n /**\n * emits when page is made visible\n */\n visible: () => void;\n /**\n * emits when page visibility status changes\n */\n visibilityChange: (hidden: boolean) => void;\n};\n\nexport interface PageVisibilityObserverConstructorProps {\n /**\n * timeout period in seconds
|
|
1
|
+
{"version":3,"file":"PageVisibilityObserver.js","sources":["../../../../../../packages/vuu-utils/src/PageVisibilityObserver.ts"],"sourcesContent":["import { EventEmitter } from \"./event-emitter\";\n\nexport type PageVisibilityEvents = {\n /**\n * emits when page has been hidden for this period of time\n */\n \"inactive-timeout\": () => void;\n /**\n * emits when page is hidden\n */\n hidden: () => void;\n /**\n * emits when page is made visible\n */\n visible: () => void;\n /**\n * emits when page visibility status changes\n */\n visibilityChange: (hidden: boolean) => void;\n};\n\nexport interface PageVisibilityObserverConstructorProps {\n /**\n * timeout period in seconds. Defaults to zero which will never timeout\n */\n inactiveTimeout?: number;\n onHidden?: () => void;\n onVisible?: () => void;\n onVisibilityChange?: () => void;\n}\n\nconst defaultProps: PageVisibilityObserverConstructorProps = {};\n\nexport class PageVisibilityObserver extends EventEmitter<PageVisibilityEvents> {\n #inactiveTimeoutMs?: number;\n #inactivityTimer?: ReturnType<typeof setTimeout>;\n #hidden: boolean;\n\n visibilityChangeHandler = () => {\n this.hidden = document.hidden;\n };\n\n constructor({\n inactiveTimeout = 0,\n onHidden,\n onVisibilityChange,\n onVisible,\n } = defaultProps) {\n super();\n\n this.#hidden = document.hidden;\n this.#inactiveTimeoutMs = inactiveTimeout * 1000;\n\n if (onHidden) {\n this.on(\"hidden\", onHidden);\n }\n if (onVisible) {\n this.on(\"visible\", onVisible);\n }\n if (onVisibilityChange) {\n this.on(\"visibilityChange\", onVisibilityChange);\n }\n\n document.addEventListener(\"visibilitychange\", this.visibilityChangeHandler);\n }\n\n clear() {\n document.removeEventListener(\n \"visibilitychange\",\n this.visibilityChangeHandler,\n );\n }\n\n private set hidden(hidden: boolean) {\n if (hidden !== this.#hidden) {\n this.#hidden = hidden;\n if (document.hidden) {\n this.emit(\"hidden\");\n if (this.#inactiveTimeoutMs) {\n this.#inactivityTimer = setTimeout(() => {\n this.emit(\"inactive-timeout\");\n }, this.#inactiveTimeoutMs);\n }\n } else {\n this.emit(\"visible\");\n if (this.#inactivityTimer) {\n clearTimeout(this.#inactivityTimer);\n this.#inactivityTimer = undefined;\n }\n }\n this.emit(\"visibilityChange\", hidden);\n }\n }\n}\n"],"names":["EventEmitter"],"mappings":";;;;;;;;;;;;;;AAAA,IAAA,kBAAA,EAAA,gBAAA,EAAA,OAAA;AA+BA,MAAM,eAAuD,EAAC;AAEvD,MAAM,+BAA+BA,yBAAmC,CAAA;AAAA,EAS7E,WAAY,CAAA;AAAA,IACV,eAAkB,GAAA,CAAA;AAAA,IAClB,QAAA;AAAA,IACA,kBAAA;AAAA,IACA;AAAA,MACE,YAAc,EAAA;AAChB,IAAM,KAAA,EAAA;AAdR,IAAA,YAAA,CAAA,IAAA,EAAA,kBAAA,CAAA;AACA,IAAA,YAAA,CAAA,IAAA,EAAA,gBAAA,CAAA;AACA,IAAA,YAAA,CAAA,IAAA,EAAA,OAAA,CAAA;AAEA,IAAA,aAAA,CAAA,IAAA,EAAA,yBAAA,EAA0B,MAAM;AAC9B,MAAA,IAAA,CAAK,SAAS,QAAS,CAAA,MAAA;AAAA,KACzB,CAAA;AAUE,IAAA,YAAA,CAAA,IAAA,EAAK,SAAU,QAAS,CAAA,MAAA,CAAA;AACxB,IAAA,YAAA,CAAA,IAAA,EAAK,oBAAqB,eAAkB,GAAA,GAAA,CAAA;AAE5C,IAAA,IAAI,QAAU,EAAA;AACZ,MAAK,IAAA,CAAA,EAAA,CAAG,UAAU,QAAQ,CAAA;AAAA;AAE5B,IAAA,IAAI,SAAW,EAAA;AACb,MAAK,IAAA,CAAA,EAAA,CAAG,WAAW,SAAS,CAAA;AAAA;AAE9B,IAAA,IAAI,kBAAoB,EAAA;AACtB,MAAK,IAAA,CAAA,EAAA,CAAG,oBAAoB,kBAAkB,CAAA;AAAA;AAGhD,IAAS,QAAA,CAAA,gBAAA,CAAiB,kBAAoB,EAAA,IAAA,CAAK,uBAAuB,CAAA;AAAA;AAC5E,EAEA,KAAQ,GAAA;AACN,IAAS,QAAA,CAAA,mBAAA;AAAA,MACP,kBAAA;AAAA,MACA,IAAK,CAAA;AAAA,KACP;AAAA;AACF,EAEA,IAAY,OAAO,MAAiB,EAAA;AAClC,IAAI,IAAA,MAAA,KAAW,mBAAK,OAAS,CAAA,EAAA;AAC3B,MAAA,YAAA,CAAA,IAAA,EAAK,OAAU,EAAA,MAAA,CAAA;AACf,MAAA,IAAI,SAAS,MAAQ,EAAA;AACnB,QAAA,IAAA,CAAK,KAAK,QAAQ,CAAA;AAClB,QAAA,IAAI,mBAAK,kBAAoB,CAAA,EAAA;AAC3B,UAAK,YAAA,CAAA,IAAA,EAAA,gBAAA,EAAmB,WAAW,MAAM;AACvC,YAAA,IAAA,CAAK,KAAK,kBAAkB,CAAA;AAAA,WAC9B,EAAG,mBAAK,kBAAkB,CAAA,CAAA,CAAA;AAAA;AAC5B,OACK,MAAA;AACL,QAAA,IAAA,CAAK,KAAK,SAAS,CAAA;AACnB,QAAA,IAAI,mBAAK,gBAAkB,CAAA,EAAA;AACzB,UAAA,YAAA,CAAa,mBAAK,gBAAgB,CAAA,CAAA;AAClC,UAAA,YAAA,CAAA,IAAA,EAAK,gBAAmB,EAAA,KAAA,CAAA,CAAA;AAAA;AAC1B;AAEF,MAAK,IAAA,CAAA,IAAA,CAAK,oBAAoB,MAAM,CAAA;AAAA;AACtC;AAEJ;AA3DE,kBAAA,GAAA,IAAA,OAAA,EAAA;AACA,gBAAA,GAAA,IAAA,OAAA,EAAA;AACA,OAAA,GAAA,IAAA,OAAA,EAAA;;;;"}
|
|
@@ -29,6 +29,7 @@ const numericFormatter = ({
|
|
|
29
29
|
const {
|
|
30
30
|
alignOnDecimals = false,
|
|
31
31
|
decimals,
|
|
32
|
+
roundingRule,
|
|
32
33
|
useLocaleString,
|
|
33
34
|
zeroPad = false
|
|
34
35
|
} = type.formatting ?? DEFAULT_NUMERIC_FORMAT;
|
|
@@ -43,7 +44,8 @@ const numericFormatter = ({
|
|
|
43
44
|
decimals,
|
|
44
45
|
zeroPad,
|
|
45
46
|
alignOnDecimals,
|
|
46
|
-
useLocaleString
|
|
47
|
+
useLocaleString,
|
|
48
|
+
roundingRule
|
|
47
49
|
);
|
|
48
50
|
};
|
|
49
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatting-utils.js","sources":["../../../../../../packages/vuu-utils/src/formatting-utils.ts"],"sourcesContent":["import { DataValueDescriptor } from \"@vuu-ui/vuu-data-types\";\nimport {\n ColumnDescriptor,\n ColumnTypeFormatting,\n ColumnTypeValueMap,\n ValueFormatter,\n} from \"@vuu-ui/vuu-table-types\";\nimport {\n isDateTimeDataValue,\n isMappedValueTypeRenderer,\n isTypeDescriptor,\n} from \"./column-utils\";\nimport { dateTimePattern, formatDate } from \"./date\";\nimport { roundDecimal } from \"./round-decimal\";\n\nexport type ValueFormatters = {\n [key: string]: ValueFormatter;\n};\n\nconst DEFAULT_NUMERIC_FORMAT: ColumnTypeFormatting = {};\n\nexport const defaultValueFormatter = (value: unknown) =>\n value == null ? \"\" : typeof value === \"string\" ? value : value.toString();\n\nconst dateFormatter = (column: DataValueDescriptor) => {\n const pattern = dateTimePattern(column.type);\n const formatter = formatDate(pattern);\n\n return (value: unknown) => {\n if (typeof value === \"number\" && value !== 0) {\n return formatter(new Date(value));\n } else {\n return \"\";\n }\n };\n};\n\nexport const numericFormatter = ({\n align = \"right\",\n type,\n}: Partial<ColumnDescriptor>) => {\n if (type === undefined || typeof type === \"string\") {\n return defaultValueFormatter;\n } else {\n const {\n alignOnDecimals = false,\n decimals,\n useLocaleString,\n zeroPad = false,\n } = type.formatting ?? DEFAULT_NUMERIC_FORMAT;\n return (value: unknown) => {\n if (\n typeof value === \"string\" &&\n (value.startsWith(\"Σ\") || value.startsWith(\"[\"))\n ) {\n return value;\n }\n const number =\n typeof value === \"number\"\n ? value\n : typeof value === \"string\"\n ? parseFloat(value)\n : undefined;\n return roundDecimal(\n number,\n align,\n decimals,\n zeroPad,\n alignOnDecimals,\n useLocaleString,\n );\n };\n }\n};\n\nconst mapFormatter = (map: ColumnTypeValueMap) => {\n return (value: unknown) => {\n return map[value as string] ?? \"\";\n };\n};\n\nexport const getValueFormatter = (\n column: ColumnDescriptor,\n serverDataType = column.serverDataType,\n): ValueFormatter => {\n if (isDateTimeDataValue(column)) {\n return dateFormatter(column);\n }\n\n const { type } = column;\n if (isTypeDescriptor(type) && isMappedValueTypeRenderer(type?.renderer)) {\n return mapFormatter(type.renderer.map);\n } else if (\n serverDataType === \"double\" ||\n (isTypeDescriptor(type) && type.name === \"number\")\n ) {\n return numericFormatter(column);\n } else if (serverDataType === \"string\" || serverDataType === \"char\") {\n return (value: unknown) => value as string;\n }\n return defaultValueFormatter;\n};\n\n/**\n * Lowercases a string and returns as Lowercase typescript type\n *\n * @param str the input string\n * @returns str converted to Lowercase\n */\nexport const lowerCase = (str: string) =>\n str.toLowerCase() as Lowercase<string>;\n"],"names":["dateTimePattern","formatter","formatDate","roundDecimal","isDateTimeDataValue","isTypeDescriptor","isMappedValueTypeRenderer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"formatting-utils.js","sources":["../../../../../../packages/vuu-utils/src/formatting-utils.ts"],"sourcesContent":["import { DataValueDescriptor } from \"@vuu-ui/vuu-data-types\";\nimport {\n ColumnDescriptor,\n ColumnTypeFormatting,\n ColumnTypeValueMap,\n ValueFormatter,\n} from \"@vuu-ui/vuu-table-types\";\nimport {\n isDateTimeDataValue,\n isMappedValueTypeRenderer,\n isTypeDescriptor,\n} from \"./column-utils\";\nimport { dateTimePattern, formatDate } from \"./date\";\nimport { roundDecimal } from \"./round-decimal\";\n\nexport type ValueFormatters = {\n [key: string]: ValueFormatter;\n};\n\nconst DEFAULT_NUMERIC_FORMAT: ColumnTypeFormatting = {};\n\nexport const defaultValueFormatter = (value: unknown) =>\n value == null ? \"\" : typeof value === \"string\" ? value : value.toString();\n\nconst dateFormatter = (column: DataValueDescriptor) => {\n const pattern = dateTimePattern(column.type);\n const formatter = formatDate(pattern);\n\n return (value: unknown) => {\n if (typeof value === \"number\" && value !== 0) {\n return formatter(new Date(value));\n } else {\n return \"\";\n }\n };\n};\n\nexport const numericFormatter = ({\n align = \"right\",\n type,\n}: Partial<ColumnDescriptor>) => {\n if (type === undefined || typeof type === \"string\") {\n return defaultValueFormatter;\n } else {\n const {\n alignOnDecimals = false,\n decimals,\n roundingRule,\n useLocaleString,\n zeroPad = false,\n } = type.formatting ?? DEFAULT_NUMERIC_FORMAT;\n return (value: unknown) => {\n if (\n typeof value === \"string\" &&\n (value.startsWith(\"Σ\") || value.startsWith(\"[\"))\n ) {\n return value;\n }\n const number =\n typeof value === \"number\"\n ? value\n : typeof value === \"string\"\n ? parseFloat(value)\n : undefined;\n return roundDecimal(\n number,\n align,\n decimals,\n zeroPad,\n alignOnDecimals,\n useLocaleString,\n roundingRule,\n );\n };\n }\n};\n\nconst mapFormatter = (map: ColumnTypeValueMap) => {\n return (value: unknown) => {\n return map[value as string] ?? \"\";\n };\n};\n\nexport const getValueFormatter = (\n column: ColumnDescriptor,\n serverDataType = column.serverDataType,\n): ValueFormatter => {\n if (isDateTimeDataValue(column)) {\n return dateFormatter(column);\n }\n\n const { type } = column;\n if (isTypeDescriptor(type) && isMappedValueTypeRenderer(type?.renderer)) {\n return mapFormatter(type.renderer.map);\n } else if (\n serverDataType === \"double\" ||\n (isTypeDescriptor(type) && type.name === \"number\")\n ) {\n return numericFormatter(column);\n } else if (serverDataType === \"string\" || serverDataType === \"char\") {\n return (value: unknown) => value as string;\n }\n return defaultValueFormatter;\n};\n\n/**\n * Lowercases a string and returns as Lowercase typescript type\n *\n * @param str the input string\n * @returns str converted to Lowercase\n */\nexport const lowerCase = (str: string) =>\n str.toLowerCase() as Lowercase<string>;\n"],"names":["dateTimePattern","formatter","formatDate","roundDecimal","isDateTimeDataValue","isTypeDescriptor","isMappedValueTypeRenderer"],"mappings":"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"}
|
|
@@ -340,6 +340,7 @@ exports.Tab = keyboardUtils.Tab;
|
|
|
340
340
|
exports.isArrowKey = keyboardUtils.isArrowKey;
|
|
341
341
|
exports.KeySet = keyset.KeySet;
|
|
342
342
|
exports.getSelectedOption = listUtils.getSelectedOption;
|
|
343
|
+
exports.clearLocalEntity = localStorageUtils.clearLocalEntity;
|
|
343
344
|
exports.getAllLocalEntity = localStorageUtils.getAllLocalEntity;
|
|
344
345
|
exports.getLocalEntity = localStorageUtils.getLocalEntity;
|
|
345
346
|
exports.saveLocalEntity = localStorageUtils.saveLocalEntity;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const getLocalEntity = (
|
|
4
|
-
const data = localStorage.getItem(
|
|
3
|
+
const getLocalEntity = (key) => {
|
|
4
|
+
const data = localStorage.getItem(key);
|
|
5
5
|
return data ? JSON.parse(data) : void 0;
|
|
6
6
|
};
|
|
7
|
+
const clearLocalEntity = (key) => {
|
|
8
|
+
const doomedItem = localStorage.getItem(key);
|
|
9
|
+
if (doomedItem) {
|
|
10
|
+
localStorage.removeItem(key);
|
|
11
|
+
return true;
|
|
12
|
+
} else {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
7
16
|
const getAllLocalEntity = (url) => Object.entries(localStorage).filter(([key]) => key.includes(url)).map(([, value]) => JSON.parse(value));
|
|
8
17
|
const saveLocalEntity = (url, data) => {
|
|
9
18
|
try {
|
|
@@ -14,6 +23,7 @@ const saveLocalEntity = (url, data) => {
|
|
|
14
23
|
}
|
|
15
24
|
};
|
|
16
25
|
|
|
26
|
+
exports.clearLocalEntity = clearLocalEntity;
|
|
17
27
|
exports.getAllLocalEntity = getAllLocalEntity;
|
|
18
28
|
exports.getLocalEntity = getLocalEntity;
|
|
19
29
|
exports.saveLocalEntity = saveLocalEntity;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-storage-utils.js","sources":["../../../../../../packages/vuu-utils/src/local-storage-utils.ts"],"sourcesContent":["export const getLocalEntity = <T>(
|
|
1
|
+
{"version":3,"file":"local-storage-utils.js","sources":["../../../../../../packages/vuu-utils/src/local-storage-utils.ts"],"sourcesContent":["export const getLocalEntity = <T>(key: string): T | undefined => {\n const data = localStorage.getItem(key);\n return data ? JSON.parse(data) : undefined;\n};\n\nexport const clearLocalEntity = (key: string) => {\n const doomedItem = localStorage.getItem(key);\n if (doomedItem) {\n localStorage.removeItem(key);\n return true;\n } else {\n return false;\n }\n};\n\nexport const getAllLocalEntity = <T>(url: string): T[] =>\n Object.entries(localStorage)\n .filter(([key]) => key.includes(url))\n .map(([, value]) => JSON.parse(value) as T);\n\nexport const saveLocalEntity = <T>(url: string, data: T): T | undefined => {\n try {\n localStorage.setItem(url, JSON.stringify(data));\n return data;\n } catch {\n return undefined;\n }\n};\n"],"names":[],"mappings":";;AAAa,MAAA,cAAA,GAAiB,CAAI,GAA+B,KAAA;AAC/D,EAAM,MAAA,IAAA,GAAO,YAAa,CAAA,OAAA,CAAQ,GAAG,CAAA;AACrC,EAAA,OAAO,IAAO,GAAA,IAAA,CAAK,KAAM,CAAA,IAAI,CAAI,GAAA,KAAA,CAAA;AACnC;AAEa,MAAA,gBAAA,GAAmB,CAAC,GAAgB,KAAA;AAC/C,EAAM,MAAA,UAAA,GAAa,YAAa,CAAA,OAAA,CAAQ,GAAG,CAAA;AAC3C,EAAA,IAAI,UAAY,EAAA;AACd,IAAA,YAAA,CAAa,WAAW,GAAG,CAAA;AAC3B,IAAO,OAAA,IAAA;AAAA,GACF,MAAA;AACL,IAAO,OAAA,KAAA;AAAA;AAEX;AAEa,MAAA,iBAAA,GAAoB,CAAI,GAAA,KACnC,MAAO,CAAA,OAAA,CAAQ,YAAY,CAAA,CACxB,MAAO,CAAA,CAAC,CAAC,GAAG,CAAM,KAAA,GAAA,CAAI,SAAS,GAAG,CAAC,CACnC,CAAA,GAAA,CAAI,CAAC,GAAG,KAAK,CAAM,KAAA,IAAA,CAAK,KAAM,CAAA,KAAK,CAAM;AAEjC,MAAA,eAAA,GAAkB,CAAI,GAAA,EAAa,IAA2B,KAAA;AACzE,EAAI,IAAA;AACF,IAAA,YAAA,CAAa,OAAQ,CAAA,GAAA,EAAK,IAAK,CAAA,SAAA,CAAU,IAAI,CAAC,CAAA;AAC9C,IAAO,OAAA,IAAA;AAAA,GACD,CAAA,MAAA;AACN,IAAO,OAAA,KAAA,CAAA;AAAA;AAEX;;;;;;;"}
|
|
@@ -53,21 +53,25 @@ function pad(n, dp, Pad) {
|
|
|
53
53
|
}
|
|
54
54
|
return n;
|
|
55
55
|
}
|
|
56
|
-
function roundDecimal(value, align = Align.Right, decimals = 4, zeroPad, alignOnDecimals, useLocaleString = true) {
|
|
56
|
+
function roundDecimal(value, align = Align.Right, decimals = 4, zeroPad, alignOnDecimals, useLocaleString = true, roundingRule = "round") {
|
|
57
57
|
if (value === void 0 || typeof value !== "number" || isNaN(value)) {
|
|
58
58
|
return "";
|
|
59
59
|
}
|
|
60
60
|
let integral, fraction, Pad;
|
|
61
61
|
const [part1, part2 = ""] = value.toString().split(".");
|
|
62
62
|
const actualDecimals = part2.length;
|
|
63
|
-
integral = useLocaleString ? parseFloat(part1).toLocaleString() : parseFloat(part1).toString();
|
|
63
|
+
integral = part1 === "-0" ? "-0" : useLocaleString ? parseFloat(part1).toLocaleString() : parseFloat(part1).toString();
|
|
64
64
|
if (align === Align.Left && alignOnDecimals) {
|
|
65
65
|
integral = padLeft(integral);
|
|
66
66
|
}
|
|
67
67
|
if (decimals === DECIMALS_AUTO || actualDecimals === decimals) {
|
|
68
68
|
fraction = part2;
|
|
69
69
|
} else if (actualDecimals > decimals) {
|
|
70
|
-
|
|
70
|
+
if (roundingRule === "round") {
|
|
71
|
+
fraction = parseFloat("0." + part2).toFixed(decimals).slice(2);
|
|
72
|
+
} else {
|
|
73
|
+
fraction = part2.slice(0, decimals);
|
|
74
|
+
}
|
|
71
75
|
} else {
|
|
72
76
|
if (Pad = zeroPad ? Zero : alignOnDecimals && align !== Align.Left ? Space : null) {
|
|
73
77
|
if (actualDecimals === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"round-decimal.js","sources":["../../../../../../packages/vuu-utils/src/round-decimal.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"round-decimal.js","sources":["../../../../../../packages/vuu-utils/src/round-decimal.ts"],"sourcesContent":["import { RoundingRule } from \"@vuu-ui/vuu-table-types\";\n\nconst PUNCTUATION_STR = String.fromCharCode(8200);\nconst DIGIT_STR = String.fromCharCode(8199);\nconst DECIMALS_AUTO = -1;\n\ntype PadMap = {\n DIGIT: string;\n TWO_DIGITS: string;\n THREE_DIGITS: string;\n FULL_PADDING: [null, string, string, string, string];\n};\n\nconst Space: PadMap = {\n DIGIT: DIGIT_STR,\n TWO_DIGITS: DIGIT_STR + DIGIT_STR,\n THREE_DIGITS: DIGIT_STR + DIGIT_STR + DIGIT_STR,\n FULL_PADDING: [\n null,\n PUNCTUATION_STR + DIGIT_STR,\n PUNCTUATION_STR + DIGIT_STR + DIGIT_STR,\n PUNCTUATION_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR,\n PUNCTUATION_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR,\n ],\n};\n\nconst Zero: PadMap = {\n DIGIT: \"0\",\n TWO_DIGITS: \"00\",\n THREE_DIGITS: \"000\",\n FULL_PADDING: [null, \"0\", \"00\", \"000\", \"0000\"],\n};\n\nfunction padLeft(value: string, maxLength = 6) {\n return (LEADING_FILL + value).slice(-maxLength);\n}\n\nconst LEADING_FILL =\n DIGIT_STR +\n DIGIT_STR +\n DIGIT_STR +\n DIGIT_STR +\n DIGIT_STR +\n DIGIT_STR +\n DIGIT_STR +\n DIGIT_STR +\n DIGIT_STR;\n\nconst Align = {\n Right: \"right\",\n Center: \"center\",\n Left: \"left\",\n};\n\nfunction pad(n: string, dp: number, Pad: PadMap): string {\n let len = n.length;\n const diff = dp - len;\n\n if (diff > 0) {\n if (diff === 1) {\n n = n + Pad.DIGIT;\n } else if (diff === 2) {\n n = n + Pad.TWO_DIGITS;\n } else if (diff === 3) {\n n = n + Pad.THREE_DIGITS;\n }\n } else {\n if (diff < 0) {\n n = n.slice(0, dp);\n len = dp;\n }\n\n if (Pad === Space && n.charAt(len - 1) === \"0\") {\n n = n.replace(/0+$/, \"\");\n return pad(n, dp, Pad);\n }\n }\n return n;\n}\n\nexport function roundDecimal(\n value?: number,\n align = Align.Right,\n decimals = 4,\n zeroPad?: boolean,\n alignOnDecimals?: boolean,\n useLocaleString = true,\n roundingRule: RoundingRule = \"round\",\n) {\n if (value === undefined || typeof value !== \"number\" || isNaN(value)) {\n return \"\";\n }\n let integral, fraction, Pad;\n\n const [part1, part2 = \"\"] = value.toString().split(\".\");\n const actualDecimals = part2.length;\n\n integral =\n part1 === \"-0\"\n ? \"-0\"\n : useLocaleString\n ? parseFloat(part1).toLocaleString()\n : parseFloat(part1).toString();\n\n if (align === Align.Left && alignOnDecimals) {\n integral = padLeft(integral);\n }\n\n if (decimals === DECIMALS_AUTO || actualDecimals === decimals) {\n fraction = part2;\n } else if (actualDecimals > decimals) {\n if (roundingRule === \"round\") {\n fraction = parseFloat(\"0.\" + part2)\n .toFixed(decimals)\n .slice(2);\n } else {\n fraction = part2.slice(0, decimals);\n }\n } else {\n /* eslint-disable no-cond-assign */\n if (\n (Pad = zeroPad\n ? Zero\n : alignOnDecimals && align !== Align.Left\n ? Space\n : null)\n ) {\n if (actualDecimals === 0) {\n fraction = Pad.FULL_PADDING[decimals];\n } else {\n fraction = pad(part2, decimals, Pad);\n }\n } else {\n fraction = part2;\n }\n }\n\n return integral + (fraction ? \".\" + fraction : \"\");\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -10,24 +10,24 @@ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot
|
|
|
10
10
|
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
11
11
|
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
12
12
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
13
|
-
var
|
|
13
|
+
var _inactiveTimeoutMs, _inactivityTimer, _hidden;
|
|
14
14
|
const defaultProps = {};
|
|
15
15
|
class PageVisibilityObserver extends EventEmitter {
|
|
16
16
|
constructor({
|
|
17
|
-
inactiveTimeout,
|
|
17
|
+
inactiveTimeout = 0,
|
|
18
18
|
onHidden,
|
|
19
19
|
onVisibilityChange,
|
|
20
20
|
onVisible
|
|
21
21
|
} = defaultProps) {
|
|
22
22
|
super();
|
|
23
|
-
__privateAdd(this,
|
|
23
|
+
__privateAdd(this, _inactiveTimeoutMs);
|
|
24
24
|
__privateAdd(this, _inactivityTimer);
|
|
25
25
|
__privateAdd(this, _hidden);
|
|
26
26
|
__publicField(this, "visibilityChangeHandler", () => {
|
|
27
27
|
this.hidden = document.hidden;
|
|
28
28
|
});
|
|
29
29
|
__privateSet(this, _hidden, document.hidden);
|
|
30
|
-
__privateSet(this,
|
|
30
|
+
__privateSet(this, _inactiveTimeoutMs, inactiveTimeout * 1e3);
|
|
31
31
|
if (onHidden) {
|
|
32
32
|
this.on("hidden", onHidden);
|
|
33
33
|
}
|
|
@@ -50,10 +50,10 @@ class PageVisibilityObserver extends EventEmitter {
|
|
|
50
50
|
__privateSet(this, _hidden, hidden);
|
|
51
51
|
if (document.hidden) {
|
|
52
52
|
this.emit("hidden");
|
|
53
|
-
if (__privateGet(this,
|
|
53
|
+
if (__privateGet(this, _inactiveTimeoutMs)) {
|
|
54
54
|
__privateSet(this, _inactivityTimer, setTimeout(() => {
|
|
55
55
|
this.emit("inactive-timeout");
|
|
56
|
-
}, __privateGet(this,
|
|
56
|
+
}, __privateGet(this, _inactiveTimeoutMs)));
|
|
57
57
|
}
|
|
58
58
|
} else {
|
|
59
59
|
this.emit("visible");
|
|
@@ -66,7 +66,7 @@ class PageVisibilityObserver extends EventEmitter {
|
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
|
-
|
|
69
|
+
_inactiveTimeoutMs = new WeakMap();
|
|
70
70
|
_inactivityTimer = new WeakMap();
|
|
71
71
|
_hidden = new WeakMap();
|
|
72
72
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageVisibilityObserver.js","sources":["../../../../../../packages/vuu-utils/src/PageVisibilityObserver.ts"],"sourcesContent":["import { EventEmitter } from \"./event-emitter\";\n\nexport type PageVisibilityEvents = {\n /**\n * emits when page has been hidden for this period of time\n */\n \"inactive-timeout\": () => void;\n /**\n * emits when page is hidden\n */\n hidden: () => void;\n /**\n * emits when page is made visible\n */\n visible: () => void;\n /**\n * emits when page visibility status changes\n */\n visibilityChange: (hidden: boolean) => void;\n};\n\nexport interface PageVisibilityObserverConstructorProps {\n /**\n * timeout period in seconds
|
|
1
|
+
{"version":3,"file":"PageVisibilityObserver.js","sources":["../../../../../../packages/vuu-utils/src/PageVisibilityObserver.ts"],"sourcesContent":["import { EventEmitter } from \"./event-emitter\";\n\nexport type PageVisibilityEvents = {\n /**\n * emits when page has been hidden for this period of time\n */\n \"inactive-timeout\": () => void;\n /**\n * emits when page is hidden\n */\n hidden: () => void;\n /**\n * emits when page is made visible\n */\n visible: () => void;\n /**\n * emits when page visibility status changes\n */\n visibilityChange: (hidden: boolean) => void;\n};\n\nexport interface PageVisibilityObserverConstructorProps {\n /**\n * timeout period in seconds. Defaults to zero which will never timeout\n */\n inactiveTimeout?: number;\n onHidden?: () => void;\n onVisible?: () => void;\n onVisibilityChange?: () => void;\n}\n\nconst defaultProps: PageVisibilityObserverConstructorProps = {};\n\nexport class PageVisibilityObserver extends EventEmitter<PageVisibilityEvents> {\n #inactiveTimeoutMs?: number;\n #inactivityTimer?: ReturnType<typeof setTimeout>;\n #hidden: boolean;\n\n visibilityChangeHandler = () => {\n this.hidden = document.hidden;\n };\n\n constructor({\n inactiveTimeout = 0,\n onHidden,\n onVisibilityChange,\n onVisible,\n } = defaultProps) {\n super();\n\n this.#hidden = document.hidden;\n this.#inactiveTimeoutMs = inactiveTimeout * 1000;\n\n if (onHidden) {\n this.on(\"hidden\", onHidden);\n }\n if (onVisible) {\n this.on(\"visible\", onVisible);\n }\n if (onVisibilityChange) {\n this.on(\"visibilityChange\", onVisibilityChange);\n }\n\n document.addEventListener(\"visibilitychange\", this.visibilityChangeHandler);\n }\n\n clear() {\n document.removeEventListener(\n \"visibilitychange\",\n this.visibilityChangeHandler,\n );\n }\n\n private set hidden(hidden: boolean) {\n if (hidden !== this.#hidden) {\n this.#hidden = hidden;\n if (document.hidden) {\n this.emit(\"hidden\");\n if (this.#inactiveTimeoutMs) {\n this.#inactivityTimer = setTimeout(() => {\n this.emit(\"inactive-timeout\");\n }, this.#inactiveTimeoutMs);\n }\n } else {\n this.emit(\"visible\");\n if (this.#inactivityTimer) {\n clearTimeout(this.#inactivityTimer);\n this.#inactivityTimer = undefined;\n }\n }\n this.emit(\"visibilityChange\", hidden);\n }\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA,IAAA,kBAAA,EAAA,gBAAA,EAAA,OAAA;AA+BA,MAAM,eAAuD,EAAC;AAEvD,MAAM,+BAA+B,YAAmC,CAAA;AAAA,EAS7E,WAAY,CAAA;AAAA,IACV,eAAkB,GAAA,CAAA;AAAA,IAClB,QAAA;AAAA,IACA,kBAAA;AAAA,IACA;AAAA,MACE,YAAc,EAAA;AAChB,IAAM,KAAA,EAAA;AAdR,IAAA,YAAA,CAAA,IAAA,EAAA,kBAAA,CAAA;AACA,IAAA,YAAA,CAAA,IAAA,EAAA,gBAAA,CAAA;AACA,IAAA,YAAA,CAAA,IAAA,EAAA,OAAA,CAAA;AAEA,IAAA,aAAA,CAAA,IAAA,EAAA,yBAAA,EAA0B,MAAM;AAC9B,MAAA,IAAA,CAAK,SAAS,QAAS,CAAA,MAAA;AAAA,KACzB,CAAA;AAUE,IAAA,YAAA,CAAA,IAAA,EAAK,SAAU,QAAS,CAAA,MAAA,CAAA;AACxB,IAAA,YAAA,CAAA,IAAA,EAAK,oBAAqB,eAAkB,GAAA,GAAA,CAAA;AAE5C,IAAA,IAAI,QAAU,EAAA;AACZ,MAAK,IAAA,CAAA,EAAA,CAAG,UAAU,QAAQ,CAAA;AAAA;AAE5B,IAAA,IAAI,SAAW,EAAA;AACb,MAAK,IAAA,CAAA,EAAA,CAAG,WAAW,SAAS,CAAA;AAAA;AAE9B,IAAA,IAAI,kBAAoB,EAAA;AACtB,MAAK,IAAA,CAAA,EAAA,CAAG,oBAAoB,kBAAkB,CAAA;AAAA;AAGhD,IAAS,QAAA,CAAA,gBAAA,CAAiB,kBAAoB,EAAA,IAAA,CAAK,uBAAuB,CAAA;AAAA;AAC5E,EAEA,KAAQ,GAAA;AACN,IAAS,QAAA,CAAA,mBAAA;AAAA,MACP,kBAAA;AAAA,MACA,IAAK,CAAA;AAAA,KACP;AAAA;AACF,EAEA,IAAY,OAAO,MAAiB,EAAA;AAClC,IAAI,IAAA,MAAA,KAAW,mBAAK,OAAS,CAAA,EAAA;AAC3B,MAAA,YAAA,CAAA,IAAA,EAAK,OAAU,EAAA,MAAA,CAAA;AACf,MAAA,IAAI,SAAS,MAAQ,EAAA;AACnB,QAAA,IAAA,CAAK,KAAK,QAAQ,CAAA;AAClB,QAAA,IAAI,mBAAK,kBAAoB,CAAA,EAAA;AAC3B,UAAK,YAAA,CAAA,IAAA,EAAA,gBAAA,EAAmB,WAAW,MAAM;AACvC,YAAA,IAAA,CAAK,KAAK,kBAAkB,CAAA;AAAA,WAC9B,EAAG,mBAAK,kBAAkB,CAAA,CAAA,CAAA;AAAA;AAC5B,OACK,MAAA;AACL,QAAA,IAAA,CAAK,KAAK,SAAS,CAAA;AACnB,QAAA,IAAI,mBAAK,gBAAkB,CAAA,EAAA;AACzB,UAAA,YAAA,CAAa,mBAAK,gBAAgB,CAAA,CAAA;AAClC,UAAA,YAAA,CAAA,IAAA,EAAK,gBAAmB,EAAA,KAAA,CAAA,CAAA;AAAA;AAC1B;AAEF,MAAK,IAAA,CAAA,IAAA,CAAK,oBAAoB,MAAM,CAAA;AAAA;AACtC;AAEJ;AA3DE,kBAAA,GAAA,IAAA,OAAA,EAAA;AACA,gBAAA,GAAA,IAAA,OAAA,EAAA;AACA,OAAA,GAAA,IAAA,OAAA,EAAA;;;;"}
|
|
@@ -27,6 +27,7 @@ const numericFormatter = ({
|
|
|
27
27
|
const {
|
|
28
28
|
alignOnDecimals = false,
|
|
29
29
|
decimals,
|
|
30
|
+
roundingRule,
|
|
30
31
|
useLocaleString,
|
|
31
32
|
zeroPad = false
|
|
32
33
|
} = type.formatting ?? DEFAULT_NUMERIC_FORMAT;
|
|
@@ -41,7 +42,8 @@ const numericFormatter = ({
|
|
|
41
42
|
decimals,
|
|
42
43
|
zeroPad,
|
|
43
44
|
alignOnDecimals,
|
|
44
|
-
useLocaleString
|
|
45
|
+
useLocaleString,
|
|
46
|
+
roundingRule
|
|
45
47
|
);
|
|
46
48
|
};
|
|
47
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatting-utils.js","sources":["../../../../../../packages/vuu-utils/src/formatting-utils.ts"],"sourcesContent":["import { DataValueDescriptor } from \"@vuu-ui/vuu-data-types\";\nimport {\n ColumnDescriptor,\n ColumnTypeFormatting,\n ColumnTypeValueMap,\n ValueFormatter,\n} from \"@vuu-ui/vuu-table-types\";\nimport {\n isDateTimeDataValue,\n isMappedValueTypeRenderer,\n isTypeDescriptor,\n} from \"./column-utils\";\nimport { dateTimePattern, formatDate } from \"./date\";\nimport { roundDecimal } from \"./round-decimal\";\n\nexport type ValueFormatters = {\n [key: string]: ValueFormatter;\n};\n\nconst DEFAULT_NUMERIC_FORMAT: ColumnTypeFormatting = {};\n\nexport const defaultValueFormatter = (value: unknown) =>\n value == null ? \"\" : typeof value === \"string\" ? value : value.toString();\n\nconst dateFormatter = (column: DataValueDescriptor) => {\n const pattern = dateTimePattern(column.type);\n const formatter = formatDate(pattern);\n\n return (value: unknown) => {\n if (typeof value === \"number\" && value !== 0) {\n return formatter(new Date(value));\n } else {\n return \"\";\n }\n };\n};\n\nexport const numericFormatter = ({\n align = \"right\",\n type,\n}: Partial<ColumnDescriptor>) => {\n if (type === undefined || typeof type === \"string\") {\n return defaultValueFormatter;\n } else {\n const {\n alignOnDecimals = false,\n decimals,\n useLocaleString,\n zeroPad = false,\n } = type.formatting ?? DEFAULT_NUMERIC_FORMAT;\n return (value: unknown) => {\n if (\n typeof value === \"string\" &&\n (value.startsWith(\"Σ\") || value.startsWith(\"[\"))\n ) {\n return value;\n }\n const number =\n typeof value === \"number\"\n ? value\n : typeof value === \"string\"\n ? parseFloat(value)\n : undefined;\n return roundDecimal(\n number,\n align,\n decimals,\n zeroPad,\n alignOnDecimals,\n useLocaleString,\n );\n };\n }\n};\n\nconst mapFormatter = (map: ColumnTypeValueMap) => {\n return (value: unknown) => {\n return map[value as string] ?? \"\";\n };\n};\n\nexport const getValueFormatter = (\n column: ColumnDescriptor,\n serverDataType = column.serverDataType,\n): ValueFormatter => {\n if (isDateTimeDataValue(column)) {\n return dateFormatter(column);\n }\n\n const { type } = column;\n if (isTypeDescriptor(type) && isMappedValueTypeRenderer(type?.renderer)) {\n return mapFormatter(type.renderer.map);\n } else if (\n serverDataType === \"double\" ||\n (isTypeDescriptor(type) && type.name === \"number\")\n ) {\n return numericFormatter(column);\n } else if (serverDataType === \"string\" || serverDataType === \"char\") {\n return (value: unknown) => value as string;\n }\n return defaultValueFormatter;\n};\n\n/**\n * Lowercases a string and returns as Lowercase typescript type\n *\n * @param str the input string\n * @returns str converted to Lowercase\n */\nexport const lowerCase = (str: string) =>\n str.toLowerCase() as Lowercase<string>;\n"],"names":[],"mappings":";;;;;;AAmBA,MAAM,yBAA+C,EAAC;AAEzC,MAAA,qBAAA,GAAwB,CAAC,KAAA,KACpC,KAAS,IAAA,IAAA,GAAO,EAAK,GAAA,OAAO,KAAU,KAAA,QAAA,GAAW,KAAQ,GAAA,KAAA,CAAM,QAAS;AAE1E,MAAM,aAAA,GAAgB,CAAC,MAAgC,KAAA;AACrD,EAAM,MAAA,OAAA,GAAU,eAAgB,CAAA,MAAA,CAAO,IAAI,CAAA;AAC3C,EAAM,MAAA,SAAA,GAAY,WAAW,OAAO,CAAA;AAEpC,EAAA,OAAO,CAAC,KAAmB,KAAA;AACzB,IAAA,IAAI,OAAO,KAAA,KAAU,QAAY,IAAA,KAAA,KAAU,CAAG,EAAA;AAC5C,MAAA,OAAO,SAAU,CAAA,IAAI,IAAK,CAAA,KAAK,CAAC,CAAA;AAAA,KAC3B,MAAA;AACL,MAAO,OAAA,EAAA;AAAA;AACT,GACF;AACF,CAAA;AAEO,MAAM,mBAAmB,CAAC;AAAA,EAC/B,KAAQ,GAAA,OAAA;AAAA,EACR;AACF,CAAiC,KAAA;AAC/B,EAAA,IAAI,IAAS,KAAA,KAAA,CAAA,IAAa,OAAO,IAAA,KAAS,QAAU,EAAA;AAClD,IAAO,OAAA,qBAAA;AAAA,GACF,MAAA;AACL,IAAM,MAAA;AAAA,MACJ,eAAkB,GAAA,KAAA;AAAA,MAClB,QAAA;AAAA,MACA,eAAA;AAAA,MACA,OAAU,GAAA;AAAA,KACZ,GAAI,KAAK,UAAc,IAAA,sBAAA;AACvB,IAAA,OAAO,CAAC,KAAmB,KAAA;AACzB,MACE,IAAA,OAAO,KAAU,KAAA,QAAA,KAChB,KAAM,CAAA,UAAA,CAAW,QAAG,CAAK,IAAA,KAAA,CAAM,UAAW,CAAA,GAAG,CAC9C,CAAA,EAAA;AACA,QAAO,OAAA,KAAA;AAAA;AAET,MAAM,MAAA,MAAA,GACJ,OAAO,KAAA,KAAU,QACb,GAAA,KAAA,GACA,OAAO,KAAU,KAAA,QAAA,GACf,UAAW,CAAA,KAAK,CAChB,GAAA,KAAA,CAAA;AACR,MAAO,OAAA,YAAA;AAAA,QACL,MAAA;AAAA,QACA,KAAA;AAAA,QACA,QAAA;AAAA,QACA,OAAA;AAAA,QACA,eAAA;AAAA,QACA;AAAA,OACF;AAAA,KACF;AAAA;AAEJ;AAEA,MAAM,YAAA,GAAe,CAAC,GAA4B,KAAA;AAChD,EAAA,OAAO,CAAC,KAAmB,KAAA;AACzB,IAAO,OAAA,GAAA,CAAI,KAAe,CAAK,IAAA,EAAA;AAAA,GACjC;AACF,CAAA;AAEO,MAAM,iBAAoB,GAAA,CAC/B,MACA,EAAA,cAAA,GAAiB,OAAO,cACL,KAAA;AACnB,EAAI,IAAA,mBAAA,CAAoB,MAAM,CAAG,EAAA;AAC/B,IAAA,OAAO,cAAc,MAAM,CAAA;AAAA;AAG7B,EAAM,MAAA,EAAE,MAAS,GAAA,MAAA;AACjB,EAAA,IAAI,iBAAiB,IAAI,CAAA,IAAK,yBAA0B,CAAA,IAAA,EAAM,QAAQ,CAAG,EAAA;AACvE,IAAO,OAAA,YAAA,CAAa,IAAK,CAAA,QAAA,CAAS,GAAG,CAAA;AAAA,GACvC,MAAA,IACE,mBAAmB,QAClB,IAAA,gBAAA,CAAiB,IAAI,CAAK,IAAA,IAAA,CAAK,SAAS,QACzC,EAAA;AACA,IAAA,OAAO,iBAAiB,MAAM,CAAA;AAAA,GACrB,MAAA,IAAA,cAAA,KAAmB,QAAY,IAAA,cAAA,KAAmB,MAAQ,EAAA;AACnE,IAAA,OAAO,CAAC,KAAmB,KAAA,KAAA;AAAA;AAE7B,EAAO,OAAA,qBAAA;AACT;AAQO,MAAM,SAAY,GAAA,CAAC,GACxB,KAAA,GAAA,CAAI,WAAY;;;;"}
|
|
1
|
+
{"version":3,"file":"formatting-utils.js","sources":["../../../../../../packages/vuu-utils/src/formatting-utils.ts"],"sourcesContent":["import { DataValueDescriptor } from \"@vuu-ui/vuu-data-types\";\nimport {\n ColumnDescriptor,\n ColumnTypeFormatting,\n ColumnTypeValueMap,\n ValueFormatter,\n} from \"@vuu-ui/vuu-table-types\";\nimport {\n isDateTimeDataValue,\n isMappedValueTypeRenderer,\n isTypeDescriptor,\n} from \"./column-utils\";\nimport { dateTimePattern, formatDate } from \"./date\";\nimport { roundDecimal } from \"./round-decimal\";\n\nexport type ValueFormatters = {\n [key: string]: ValueFormatter;\n};\n\nconst DEFAULT_NUMERIC_FORMAT: ColumnTypeFormatting = {};\n\nexport const defaultValueFormatter = (value: unknown) =>\n value == null ? \"\" : typeof value === \"string\" ? value : value.toString();\n\nconst dateFormatter = (column: DataValueDescriptor) => {\n const pattern = dateTimePattern(column.type);\n const formatter = formatDate(pattern);\n\n return (value: unknown) => {\n if (typeof value === \"number\" && value !== 0) {\n return formatter(new Date(value));\n } else {\n return \"\";\n }\n };\n};\n\nexport const numericFormatter = ({\n align = \"right\",\n type,\n}: Partial<ColumnDescriptor>) => {\n if (type === undefined || typeof type === \"string\") {\n return defaultValueFormatter;\n } else {\n const {\n alignOnDecimals = false,\n decimals,\n roundingRule,\n useLocaleString,\n zeroPad = false,\n } = type.formatting ?? DEFAULT_NUMERIC_FORMAT;\n return (value: unknown) => {\n if (\n typeof value === \"string\" &&\n (value.startsWith(\"Σ\") || value.startsWith(\"[\"))\n ) {\n return value;\n }\n const number =\n typeof value === \"number\"\n ? value\n : typeof value === \"string\"\n ? parseFloat(value)\n : undefined;\n return roundDecimal(\n number,\n align,\n decimals,\n zeroPad,\n alignOnDecimals,\n useLocaleString,\n roundingRule,\n );\n };\n }\n};\n\nconst mapFormatter = (map: ColumnTypeValueMap) => {\n return (value: unknown) => {\n return map[value as string] ?? \"\";\n };\n};\n\nexport const getValueFormatter = (\n column: ColumnDescriptor,\n serverDataType = column.serverDataType,\n): ValueFormatter => {\n if (isDateTimeDataValue(column)) {\n return dateFormatter(column);\n }\n\n const { type } = column;\n if (isTypeDescriptor(type) && isMappedValueTypeRenderer(type?.renderer)) {\n return mapFormatter(type.renderer.map);\n } else if (\n serverDataType === \"double\" ||\n (isTypeDescriptor(type) && type.name === \"number\")\n ) {\n return numericFormatter(column);\n } else if (serverDataType === \"string\" || serverDataType === \"char\") {\n return (value: unknown) => value as string;\n }\n return defaultValueFormatter;\n};\n\n/**\n * Lowercases a string and returns as Lowercase typescript type\n *\n * @param str the input string\n * @returns str converted to Lowercase\n */\nexport const lowerCase = (str: string) =>\n str.toLowerCase() as Lowercase<string>;\n"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ export { jsonToDataSourceRows } from './json-utils.js';
|
|
|
37
37
|
export { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, End, Enter, Escape, Home, PageDown, PageUp, Space, Tab, isArrowKey } from './keyboard-utils.js';
|
|
38
38
|
export { KeySet } from './keyset.js';
|
|
39
39
|
export { getSelectedOption } from './list-utils.js';
|
|
40
|
-
export { getAllLocalEntity, getLocalEntity, saveLocalEntity } from './local-storage-utils.js';
|
|
40
|
+
export { clearLocalEntity, getAllLocalEntity, getLocalEntity, saveLocalEntity } from './local-storage-utils.js';
|
|
41
41
|
export { getLoggingConfigForWorker, logUnhandledMessage, logger } from './logging-utils.js';
|
|
42
42
|
export { isModule } from './module-utils.js';
|
|
43
43
|
export { uuid } from './nanoid/index.js';
|
|
@@ -1,7 +1,16 @@
|
|
|
1
|
-
const getLocalEntity = (
|
|
2
|
-
const data = localStorage.getItem(
|
|
1
|
+
const getLocalEntity = (key) => {
|
|
2
|
+
const data = localStorage.getItem(key);
|
|
3
3
|
return data ? JSON.parse(data) : void 0;
|
|
4
4
|
};
|
|
5
|
+
const clearLocalEntity = (key) => {
|
|
6
|
+
const doomedItem = localStorage.getItem(key);
|
|
7
|
+
if (doomedItem) {
|
|
8
|
+
localStorage.removeItem(key);
|
|
9
|
+
return true;
|
|
10
|
+
} else {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
5
14
|
const getAllLocalEntity = (url) => Object.entries(localStorage).filter(([key]) => key.includes(url)).map(([, value]) => JSON.parse(value));
|
|
6
15
|
const saveLocalEntity = (url, data) => {
|
|
7
16
|
try {
|
|
@@ -12,5 +21,5 @@ const saveLocalEntity = (url, data) => {
|
|
|
12
21
|
}
|
|
13
22
|
};
|
|
14
23
|
|
|
15
|
-
export { getAllLocalEntity, getLocalEntity, saveLocalEntity };
|
|
24
|
+
export { clearLocalEntity, getAllLocalEntity, getLocalEntity, saveLocalEntity };
|
|
16
25
|
//# sourceMappingURL=local-storage-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-storage-utils.js","sources":["../../../../../../packages/vuu-utils/src/local-storage-utils.ts"],"sourcesContent":["export const getLocalEntity = <T>(
|
|
1
|
+
{"version":3,"file":"local-storage-utils.js","sources":["../../../../../../packages/vuu-utils/src/local-storage-utils.ts"],"sourcesContent":["export const getLocalEntity = <T>(key: string): T | undefined => {\n const data = localStorage.getItem(key);\n return data ? JSON.parse(data) : undefined;\n};\n\nexport const clearLocalEntity = (key: string) => {\n const doomedItem = localStorage.getItem(key);\n if (doomedItem) {\n localStorage.removeItem(key);\n return true;\n } else {\n return false;\n }\n};\n\nexport const getAllLocalEntity = <T>(url: string): T[] =>\n Object.entries(localStorage)\n .filter(([key]) => key.includes(url))\n .map(([, value]) => JSON.parse(value) as T);\n\nexport const saveLocalEntity = <T>(url: string, data: T): T | undefined => {\n try {\n localStorage.setItem(url, JSON.stringify(data));\n return data;\n } catch {\n return undefined;\n }\n};\n"],"names":[],"mappings":"AAAa,MAAA,cAAA,GAAiB,CAAI,GAA+B,KAAA;AAC/D,EAAM,MAAA,IAAA,GAAO,YAAa,CAAA,OAAA,CAAQ,GAAG,CAAA;AACrC,EAAA,OAAO,IAAO,GAAA,IAAA,CAAK,KAAM,CAAA,IAAI,CAAI,GAAA,KAAA,CAAA;AACnC;AAEa,MAAA,gBAAA,GAAmB,CAAC,GAAgB,KAAA;AAC/C,EAAM,MAAA,UAAA,GAAa,YAAa,CAAA,OAAA,CAAQ,GAAG,CAAA;AAC3C,EAAA,IAAI,UAAY,EAAA;AACd,IAAA,YAAA,CAAa,WAAW,GAAG,CAAA;AAC3B,IAAO,OAAA,IAAA;AAAA,GACF,MAAA;AACL,IAAO,OAAA,KAAA;AAAA;AAEX;AAEa,MAAA,iBAAA,GAAoB,CAAI,GAAA,KACnC,MAAO,CAAA,OAAA,CAAQ,YAAY,CAAA,CACxB,MAAO,CAAA,CAAC,CAAC,GAAG,CAAM,KAAA,GAAA,CAAI,SAAS,GAAG,CAAC,CACnC,CAAA,GAAA,CAAI,CAAC,GAAG,KAAK,CAAM,KAAA,IAAA,CAAK,KAAM,CAAA,KAAK,CAAM;AAEjC,MAAA,eAAA,GAAkB,CAAI,GAAA,EAAa,IAA2B,KAAA;AACzE,EAAI,IAAA;AACF,IAAA,YAAA,CAAa,OAAQ,CAAA,GAAA,EAAK,IAAK,CAAA,SAAA,CAAU,IAAI,CAAC,CAAA;AAC9C,IAAO,OAAA,IAAA;AAAA,GACD,CAAA,MAAA;AACN,IAAO,OAAA,KAAA,CAAA;AAAA;AAEX;;;;"}
|
|
@@ -51,21 +51,25 @@ function pad(n, dp, Pad) {
|
|
|
51
51
|
}
|
|
52
52
|
return n;
|
|
53
53
|
}
|
|
54
|
-
function roundDecimal(value, align = Align.Right, decimals = 4, zeroPad, alignOnDecimals, useLocaleString = true) {
|
|
54
|
+
function roundDecimal(value, align = Align.Right, decimals = 4, zeroPad, alignOnDecimals, useLocaleString = true, roundingRule = "round") {
|
|
55
55
|
if (value === void 0 || typeof value !== "number" || isNaN(value)) {
|
|
56
56
|
return "";
|
|
57
57
|
}
|
|
58
58
|
let integral, fraction, Pad;
|
|
59
59
|
const [part1, part2 = ""] = value.toString().split(".");
|
|
60
60
|
const actualDecimals = part2.length;
|
|
61
|
-
integral = useLocaleString ? parseFloat(part1).toLocaleString() : parseFloat(part1).toString();
|
|
61
|
+
integral = part1 === "-0" ? "-0" : useLocaleString ? parseFloat(part1).toLocaleString() : parseFloat(part1).toString();
|
|
62
62
|
if (align === Align.Left && alignOnDecimals) {
|
|
63
63
|
integral = padLeft(integral);
|
|
64
64
|
}
|
|
65
65
|
if (decimals === DECIMALS_AUTO || actualDecimals === decimals) {
|
|
66
66
|
fraction = part2;
|
|
67
67
|
} else if (actualDecimals > decimals) {
|
|
68
|
-
|
|
68
|
+
if (roundingRule === "round") {
|
|
69
|
+
fraction = parseFloat("0." + part2).toFixed(decimals).slice(2);
|
|
70
|
+
} else {
|
|
71
|
+
fraction = part2.slice(0, decimals);
|
|
72
|
+
}
|
|
69
73
|
} else {
|
|
70
74
|
if (Pad = zeroPad ? Zero : alignOnDecimals && align !== Align.Left ? Space : null) {
|
|
71
75
|
if (actualDecimals === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"round-decimal.js","sources":["../../../../../../packages/vuu-utils/src/round-decimal.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"round-decimal.js","sources":["../../../../../../packages/vuu-utils/src/round-decimal.ts"],"sourcesContent":["import { RoundingRule } from \"@vuu-ui/vuu-table-types\";\n\nconst PUNCTUATION_STR = String.fromCharCode(8200);\nconst DIGIT_STR = String.fromCharCode(8199);\nconst DECIMALS_AUTO = -1;\n\ntype PadMap = {\n DIGIT: string;\n TWO_DIGITS: string;\n THREE_DIGITS: string;\n FULL_PADDING: [null, string, string, string, string];\n};\n\nconst Space: PadMap = {\n DIGIT: DIGIT_STR,\n TWO_DIGITS: DIGIT_STR + DIGIT_STR,\n THREE_DIGITS: DIGIT_STR + DIGIT_STR + DIGIT_STR,\n FULL_PADDING: [\n null,\n PUNCTUATION_STR + DIGIT_STR,\n PUNCTUATION_STR + DIGIT_STR + DIGIT_STR,\n PUNCTUATION_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR,\n PUNCTUATION_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR,\n ],\n};\n\nconst Zero: PadMap = {\n DIGIT: \"0\",\n TWO_DIGITS: \"00\",\n THREE_DIGITS: \"000\",\n FULL_PADDING: [null, \"0\", \"00\", \"000\", \"0000\"],\n};\n\nfunction padLeft(value: string, maxLength = 6) {\n return (LEADING_FILL + value).slice(-maxLength);\n}\n\nconst LEADING_FILL =\n DIGIT_STR +\n DIGIT_STR +\n DIGIT_STR +\n DIGIT_STR +\n DIGIT_STR +\n DIGIT_STR +\n DIGIT_STR +\n DIGIT_STR +\n DIGIT_STR;\n\nconst Align = {\n Right: \"right\",\n Center: \"center\",\n Left: \"left\",\n};\n\nfunction pad(n: string, dp: number, Pad: PadMap): string {\n let len = n.length;\n const diff = dp - len;\n\n if (diff > 0) {\n if (diff === 1) {\n n = n + Pad.DIGIT;\n } else if (diff === 2) {\n n = n + Pad.TWO_DIGITS;\n } else if (diff === 3) {\n n = n + Pad.THREE_DIGITS;\n }\n } else {\n if (diff < 0) {\n n = n.slice(0, dp);\n len = dp;\n }\n\n if (Pad === Space && n.charAt(len - 1) === \"0\") {\n n = n.replace(/0+$/, \"\");\n return pad(n, dp, Pad);\n }\n }\n return n;\n}\n\nexport function roundDecimal(\n value?: number,\n align = Align.Right,\n decimals = 4,\n zeroPad?: boolean,\n alignOnDecimals?: boolean,\n useLocaleString = true,\n roundingRule: RoundingRule = \"round\",\n) {\n if (value === undefined || typeof value !== \"number\" || isNaN(value)) {\n return \"\";\n }\n let integral, fraction, Pad;\n\n const [part1, part2 = \"\"] = value.toString().split(\".\");\n const actualDecimals = part2.length;\n\n integral =\n part1 === \"-0\"\n ? \"-0\"\n : useLocaleString\n ? parseFloat(part1).toLocaleString()\n : parseFloat(part1).toString();\n\n if (align === Align.Left && alignOnDecimals) {\n integral = padLeft(integral);\n }\n\n if (decimals === DECIMALS_AUTO || actualDecimals === decimals) {\n fraction = part2;\n } else if (actualDecimals > decimals) {\n if (roundingRule === \"round\") {\n fraction = parseFloat(\"0.\" + part2)\n .toFixed(decimals)\n .slice(2);\n } else {\n fraction = part2.slice(0, decimals);\n }\n } else {\n /* eslint-disable no-cond-assign */\n if (\n (Pad = zeroPad\n ? Zero\n : alignOnDecimals && align !== Align.Left\n ? Space\n : null)\n ) {\n if (actualDecimals === 0) {\n fraction = Pad.FULL_PADDING[decimals];\n } else {\n fraction = pad(part2, decimals, Pad);\n }\n } else {\n fraction = part2;\n }\n }\n\n return integral + (fraction ? \".\" + fraction : \"\");\n}\n"],"names":[],"mappings":"AAEA,MAAM,eAAA,GAAkB,MAAO,CAAA,YAAA,CAAa,IAAI,CAAA;AAChD,MAAM,SAAA,GAAY,MAAO,CAAA,YAAA,CAAa,IAAI,CAAA;AAC1C,MAAM,aAAgB,GAAA,CAAA,CAAA;AAStB,MAAM,KAAgB,GAAA;AAAA,EACpB,KAAO,EAAA,SAAA;AAAA,EACP,YAAY,SAAY,GAAA,SAAA;AAAA,EACxB,YAAA,EAAc,YAAY,SAAY,GAAA,SAAA;AAAA,EACtC,YAAc,EAAA;AAAA,IACZ,IAAA;AAAA,IACA,eAAkB,GAAA,SAAA;AAAA,IAClB,kBAAkB,SAAY,GAAA,SAAA;AAAA,IAC9B,eAAA,GAAkB,YAAY,SAAY,GAAA,SAAA;AAAA,IAC1C,eAAA,GAAkB,SAAY,GAAA,SAAA,GAAY,SAAY,GAAA;AAAA;AAE1D,CAAA;AAEA,MAAM,IAAe,GAAA;AAAA,EACnB,KAAO,EAAA,GAAA;AAAA,EACP,UAAY,EAAA,IAAA;AAAA,EACZ,YAAc,EAAA,KAAA;AAAA,EACd,cAAc,CAAC,IAAA,EAAM,GAAK,EAAA,IAAA,EAAM,OAAO,MAAM;AAC/C,CAAA;AAEA,SAAS,OAAA,CAAQ,KAAe,EAAA,SAAA,GAAY,CAAG,EAAA;AAC7C,EAAA,OAAA,CAAQ,YAAe,GAAA,KAAA,EAAO,KAAM,CAAA,CAAC,SAAS,CAAA;AAChD;AAEA,MAAM,YAAA,GACJ,YACA,SACA,GAAA,SAAA,GACA,YACA,SACA,GAAA,SAAA,GACA,YACA,SACA,GAAA,SAAA;AAEF,MAAM,KAAQ,GAAA;AAAA,EACZ,KAAO,EAAA,OAAA;AAAA,EACP,MAAQ,EAAA,QAAA;AAAA,EACR,IAAM,EAAA;AACR,CAAA;AAEA,SAAS,GAAA,CAAI,CAAW,EAAA,EAAA,EAAY,GAAqB,EAAA;AACvD,EAAA,IAAI,MAAM,CAAE,CAAA,MAAA;AACZ,EAAA,MAAM,OAAO,EAAK,GAAA,GAAA;AAElB,EAAA,IAAI,OAAO,CAAG,EAAA;AACZ,IAAA,IAAI,SAAS,CAAG,EAAA;AACd,MAAA,CAAA,GAAI,IAAI,GAAI,CAAA,KAAA;AAAA,KACd,MAAA,IAAW,SAAS,CAAG,EAAA;AACrB,MAAA,CAAA,GAAI,IAAI,GAAI,CAAA,UAAA;AAAA,KACd,MAAA,IAAW,SAAS,CAAG,EAAA;AACrB,MAAA,CAAA,GAAI,IAAI,GAAI,CAAA,YAAA;AAAA;AACd,GACK,MAAA;AACL,IAAA,IAAI,OAAO,CAAG,EAAA;AACZ,MAAI,CAAA,GAAA,CAAA,CAAE,KAAM,CAAA,CAAA,EAAG,EAAE,CAAA;AACjB,MAAM,GAAA,GAAA,EAAA;AAAA;AAGR,IAAA,IAAI,QAAQ,KAAS,IAAA,CAAA,CAAE,OAAO,GAAM,GAAA,CAAC,MAAM,GAAK,EAAA;AAC9C,MAAI,CAAA,GAAA,CAAA,CAAE,OAAQ,CAAA,KAAA,EAAO,EAAE,CAAA;AACvB,MAAO,OAAA,GAAA,CAAI,CAAG,EAAA,EAAA,EAAI,GAAG,CAAA;AAAA;AACvB;AAEF,EAAO,OAAA,CAAA;AACT;AAEO,SAAS,YACd,CAAA,KAAA,EACA,KAAQ,GAAA,KAAA,CAAM,KACd,EAAA,QAAA,GAAW,CACX,EAAA,OAAA,EACA,eACA,EAAA,eAAA,GAAkB,IAClB,EAAA,YAAA,GAA6B,OAC7B,EAAA;AACA,EAAA,IAAI,UAAU,KAAa,CAAA,IAAA,OAAO,UAAU,QAAY,IAAA,KAAA,CAAM,KAAK,CAAG,EAAA;AACpE,IAAO,OAAA,EAAA;AAAA;AAET,EAAA,IAAI,UAAU,QAAU,EAAA,GAAA;AAExB,EAAM,MAAA,CAAC,OAAO,KAAQ,GAAA,EAAE,IAAI,KAAM,CAAA,QAAA,EAAW,CAAA,KAAA,CAAM,GAAG,CAAA;AACtD,EAAA,MAAM,iBAAiB,KAAM,CAAA,MAAA;AAE7B,EAAA,QAAA,GACE,KAAU,KAAA,IAAA,GACN,IACA,GAAA,eAAA,GACE,UAAW,CAAA,KAAK,CAAE,CAAA,cAAA,EAClB,GAAA,UAAA,CAAW,KAAK,CAAA,CAAE,QAAS,EAAA;AAEnC,EAAI,IAAA,KAAA,KAAU,KAAM,CAAA,IAAA,IAAQ,eAAiB,EAAA;AAC3C,IAAA,QAAA,GAAW,QAAQ,QAAQ,CAAA;AAAA;AAG7B,EAAI,IAAA,QAAA,KAAa,aAAiB,IAAA,cAAA,KAAmB,QAAU,EAAA;AAC7D,IAAW,QAAA,GAAA,KAAA;AAAA,GACb,MAAA,IAAW,iBAAiB,QAAU,EAAA;AACpC,IAAA,IAAI,iBAAiB,OAAS,EAAA;AAC5B,MAAW,QAAA,GAAA,UAAA,CAAW,OAAO,KAAK,CAAA,CAC/B,QAAQ,QAAQ,CAAA,CAChB,MAAM,CAAC,CAAA;AAAA,KACL,MAAA;AACL,MAAW,QAAA,GAAA,KAAA,CAAM,KAAM,CAAA,CAAA,EAAG,QAAQ,CAAA;AAAA;AACpC,GACK,MAAA;AAEL,IACG,IAAA,GAAA,GAAM,UACH,IACA,GAAA,eAAA,IAAmB,UAAU,KAAM,CAAA,IAAA,GACjC,QACA,IACN,EAAA;AACA,MAAA,IAAI,mBAAmB,CAAG,EAAA;AACxB,QAAW,QAAA,GAAA,GAAA,CAAI,aAAa,QAAQ,CAAA;AAAA,OAC/B,MAAA;AACL,QAAW,QAAA,GAAA,GAAA,CAAI,KAAO,EAAA,QAAA,EAAU,GAAG,CAAA;AAAA;AACrC,KACK,MAAA;AACL,MAAW,QAAA,GAAA,KAAA;AAAA;AACb;AAGF,EAAO,OAAA,QAAA,IAAY,QAAW,GAAA,GAAA,GAAM,QAAW,GAAA,EAAA,CAAA;AACjD;;;;"}
|
package/package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.13.
|
|
2
|
+
"version": "0.13.91",
|
|
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.91",
|
|
8
|
+
"@vuu-ui/vuu-table-types": "0.13.91",
|
|
9
|
+
"@vuu-ui/vuu-filter-types": "0.13.91",
|
|
10
|
+
"@vuu-ui/vuu-protocol-types": "0.13.91"
|
|
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.91",
|
|
15
15
|
"clsx": "^2.0.0",
|
|
16
|
-
"react": "^19.2.
|
|
17
|
-
"react-dom": "^19.2.
|
|
16
|
+
"react": "^19.2.3",
|
|
17
|
+
"react-dom": "^19.2.3"
|
|
18
18
|
},
|
|
19
19
|
"sideEffects": false,
|
|
20
20
|
"files": [
|
|
@@ -19,7 +19,7 @@ export type PageVisibilityEvents = {
|
|
|
19
19
|
};
|
|
20
20
|
export interface PageVisibilityObserverConstructorProps {
|
|
21
21
|
/**
|
|
22
|
-
* timeout period in seconds.
|
|
22
|
+
* timeout period in seconds. Defaults to zero which will never timeout
|
|
23
23
|
*/
|
|
24
24
|
inactiveTimeout?: number;
|
|
25
25
|
onHidden?: () => void;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export declare const getLocalEntity: <T>(
|
|
1
|
+
export declare const getLocalEntity: <T>(key: string) => T | undefined;
|
|
2
|
+
export declare const clearLocalEntity: (key: string) => boolean;
|
|
2
3
|
export declare const getAllLocalEntity: <T>(url: string) => T[];
|
|
3
4
|
export declare const saveLocalEntity: <T>(url: string, data: T) => T | undefined;
|
package/types/round-decimal.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { RoundingRule } from "@vuu-ui/vuu-table-types";
|
|
2
|
+
export declare function roundDecimal(value?: number, align?: string, decimals?: number, zeroPad?: boolean, alignOnDecimals?: boolean, useLocaleString?: boolean, roundingRule?: RoundingRule): string;
|