@pega/cosmos-react-core 3.0.0-dev.5.0 → 3.0.0-dev.8.0
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/lib/components/AppShell/AppShell.d.ts.map +1 -1
- package/lib/components/AppShell/AppShell.js +1 -1
- package/lib/components/AppShell/AppShell.js.map +1 -1
- package/lib/components/AppShell/AppShell.styles.d.ts +1 -3
- package/lib/components/AppShell/AppShell.styles.d.ts.map +1 -1
- package/lib/components/AppShell/AppShell.styles.js +7 -32
- package/lib/components/AppShell/AppShell.styles.js.map +1 -1
- package/lib/components/ComboBox/ComboBox.d.ts.map +1 -1
- package/lib/components/ComboBox/ComboBox.js +1 -2
- package/lib/components/ComboBox/ComboBox.js.map +1 -1
- package/lib/components/Configuration/Configuration.d.ts.map +1 -1
- package/lib/components/Configuration/Configuration.js +1 -1
- package/lib/components/Configuration/Configuration.js.map +1 -1
- package/lib/components/DateTime/Input/Duration/NumberUnit.js +1 -1
- package/lib/components/DateTime/Input/Duration/NumberUnit.js.map +1 -1
- package/lib/components/DateTime/Picker/Calendar.d.ts.map +1 -1
- package/lib/components/DateTime/Picker/Calendar.js +6 -6
- package/lib/components/DateTime/Picker/Calendar.js.map +1 -1
- package/lib/components/DateTime/Picker/Calendar.styles.d.ts +3 -2
- package/lib/components/DateTime/Picker/Calendar.styles.d.ts.map +1 -1
- package/lib/components/DateTime/Picker/Calendar.styles.js +10 -8
- package/lib/components/DateTime/Picker/Calendar.styles.js.map +1 -1
- package/lib/components/DateTime/Picker/DatePicker.d.ts.map +1 -1
- package/lib/components/DateTime/Picker/DatePicker.js +3 -3
- package/lib/components/DateTime/Picker/DatePicker.js.map +1 -1
- package/lib/components/DateTime/Picker/DateRangePicker.d.ts.map +1 -1
- package/lib/components/DateTime/Picker/DateRangePicker.js +2 -2
- package/lib/components/DateTime/Picker/DateRangePicker.js.map +1 -1
- package/lib/components/DateTime/Picker/TimePicker.d.ts.map +1 -1
- package/lib/components/DateTime/Picker/TimePicker.js +27 -4
- package/lib/components/DateTime/Picker/TimePicker.js.map +1 -1
- package/lib/components/FieldValueList/FieldValueList.d.ts.map +1 -1
- package/lib/components/FieldValueList/FieldValueList.js +2 -1
- package/lib/components/FieldValueList/FieldValueList.js.map +1 -1
- package/lib/components/HTML/HTML.d.ts +1 -0
- package/lib/components/HTML/HTML.d.ts.map +1 -1
- package/lib/components/HTML/HTML.js +12 -4
- package/lib/components/HTML/HTML.js.map +1 -1
- package/lib/components/Link/Link.d.ts.map +1 -1
- package/lib/components/Link/Link.js +1 -2
- package/lib/components/Link/Link.js.map +1 -1
- package/lib/components/Menu/Menu.d.ts.map +1 -1
- package/lib/components/Menu/Menu.js +1 -2
- package/lib/components/Menu/Menu.js.map +1 -1
- package/lib/components/Modal/Modal.d.ts.map +1 -1
- package/lib/components/Modal/Modal.js +23 -11
- package/lib/components/Modal/Modal.js.map +1 -1
- package/lib/components/PageTemplates/DashboardPage.d.ts +2 -6
- package/lib/components/PageTemplates/DashboardPage.d.ts.map +1 -1
- package/lib/components/PageTemplates/PageTemplates.d.ts +11 -7
- package/lib/components/PageTemplates/PageTemplates.d.ts.map +1 -1
- package/lib/components/PageTemplates/PageTemplates.js +9 -17
- package/lib/components/PageTemplates/PageTemplates.js.map +1 -1
- package/lib/components/SearchInput/SearchInput.d.ts +3 -10
- package/lib/components/SearchInput/SearchInput.d.ts.map +1 -1
- package/lib/components/SearchInput/SearchInput.js +79 -104
- package/lib/components/SearchInput/SearchInput.js.map +1 -1
- package/lib/components/SearchInput/index.d.ts +1 -1
- package/lib/components/SearchInput/index.d.ts.map +1 -1
- package/lib/components/SearchInput/index.js +1 -1
- package/lib/components/SearchInput/index.js.map +1 -1
- package/lib/components/Tabs/TabPanel.d.ts.map +1 -1
- package/lib/components/Tabs/TabPanel.js +0 -1
- package/lib/components/Tabs/TabPanel.js.map +1 -1
- package/lib/components/VisuallyHiddenText/VisuallyHiddenText.d.ts.map +1 -1
- package/lib/components/VisuallyHiddenText/VisuallyHiddenText.js +2 -0
- package/lib/components/VisuallyHiddenText/VisuallyHiddenText.js.map +1 -1
- package/lib/hooks/useAutoResize.d.ts +2 -2
- package/lib/hooks/useAutoResize.d.ts.map +1 -1
- package/lib/hooks/useAutoResize.js +7 -3
- package/lib/hooks/useAutoResize.js.map +1 -1
- package/lib/hooks/useEscape.d.ts +2 -2
- package/lib/hooks/useEscape.d.ts.map +1 -1
- package/lib/hooks/useEscape.js.map +1 -1
- package/lib/hooks/useEvent.d.ts +3 -3
- package/lib/hooks/useEvent.d.ts.map +1 -1
- package/lib/hooks/useEvent.js +5 -3
- package/lib/hooks/useEvent.js.map +1 -1
- package/lib/hooks/useFocusTrap.js +1 -1
- package/lib/hooks/useFocusTrap.js.map +1 -1
- package/lib/hooks/useI18n.d.ts +3 -6
- package/lib/hooks/useI18n.d.ts.map +1 -1
- package/lib/i18n/default.d.ts +3 -6
- package/lib/i18n/default.d.ts.map +1 -1
- package/lib/i18n/default.js +3 -7
- package/lib/i18n/default.js.map +1 -1
- package/lib/i18n/i18n.d.ts +6 -12
- package/lib/i18n/i18n.d.ts.map +1 -1
- package/lib/styles/GlobalStyle.d.ts +5 -1
- package/lib/styles/GlobalStyle.d.ts.map +1 -1
- package/lib/styles/GlobalStyle.js +84 -70
- package/lib/styles/GlobalStyle.js.map +1 -1
- package/lib/utils/utils.d.ts +2 -2
- package/lib/utils/utils.d.ts.map +1 -1
- package/lib/utils/utils.js +2 -2
- package/lib/utils/utils.js.map +1 -1
- package/package.json +11 -2
- package/lib/components/SearchInput/SearchInput.styles.d.ts +0 -13
- package/lib/components/SearchInput/SearchInput.styles.d.ts.map +0 -1
- package/lib/components/SearchInput/SearchInput.styles.js +0 -122
- package/lib/components/SearchInput/SearchInput.styles.js.map +0 -1
package/lib/utils/utils.d.ts
CHANGED
|
@@ -32,11 +32,11 @@ export declare function tryCatch<T>(tryFn: () => T): T | undefined;
|
|
|
32
32
|
export declare function tryCatch<T, C>(tryFn: () => T, catchFn: (err: unknown) => C): T | C;
|
|
33
33
|
export declare function tryCatch<T, C, F>(tryFn: () => T, catchFn: ((err: unknown) => C) | undefined, finallyFn: () => F): F;
|
|
34
34
|
/**
|
|
35
|
-
* Returns normalized list of elements, ie. it de-reference the element from the
|
|
35
|
+
* Returns normalized list of elements, ie. it de-reference the element from the RefObject if needed.
|
|
36
36
|
* @param els a list of elements or refs to normalize.
|
|
37
37
|
* @returns a new list of the same length with the de-referenced elements.
|
|
38
38
|
*/
|
|
39
|
-
export declare const normalizeElements: <T extends
|
|
39
|
+
export declare const normalizeElements: <T extends EventTarget = EventTarget>(els: (T | RefObject<T | null> | null)[]) => (T | null)[];
|
|
40
40
|
/**
|
|
41
41
|
* Returns all valid focusable elements within a given ref.
|
|
42
42
|
* @param focusablesRef The ref containing the element to search for focusable elements within.
|
package/lib/utils/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils/utils.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/D,eAAO,MAAM,iBAAiB,SAAgC,CAAC;AAC/D,eAAO,MAAM,oBAAoB,SAAmC,CAAC;AACrE,eAAO,MAAM,mBAAmB,SAAkC,CAAC;AAEnE,gFAAgF;AAChF,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACxD,IAAI,EAAE,GAAG,EACT,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,MAAM,GACf,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAUlC;AAED,qCAAqC;AACrC,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,WAAW,EAC7D,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,CAAC,GACN,GAAG,IAAI,CAAC,GAAG;KAAG,GAAG,IAAI,CAAC,GAAG,OAAO;CAAE,CAEpC;AAGD,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,CAIrF;AAGD,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAErC;AAED,sCAAsC;AACtC,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,kDAAkD;AAClD,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAI1D;AAED,+DAA+D;AAC/D,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAAC,OAAO,iBAkCvC;AAED,0BAA0B;AAC1B,wBAAgB,iBAAiB,IAAI,MAAM,CAgB1C;AAED,gCAAgC;AAChC,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,OAAO,aAE5C;AAED,6DAA6D;AAC7D,wBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,MAAM,CAGxD;AAED,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,KAAK,KAAK,GAAG,EACnD,OAAO,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,UAAU,KAAK,GAAG,QAQ1D;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,GAAG,CAc7D;AAED,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAiCtE;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,uBAajC;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;AAC3D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACpF,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC9B,KAAK,EAAE,MAAM,CAAC,EACd,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,CAAC,CAAC,GAAG,SAAS,EAC1C,SAAS,EAAE,MAAM,CAAC,GACjB,CAAC,CAAC;AAgBL;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils/utils.tsx"],"names":[],"mappings":"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"}
|
package/lib/utils/utils.js
CHANGED
|
@@ -171,7 +171,7 @@ export function tryCatch(tryFn, catchFn, finallyFn) {
|
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
173
|
/**
|
|
174
|
-
* Returns normalized list of elements, ie. it de-reference the element from the
|
|
174
|
+
* Returns normalized list of elements, ie. it de-reference the element from the RefObject if needed.
|
|
175
175
|
* @param els a list of elements or refs to normalize.
|
|
176
176
|
* @returns a new list of the same length with the de-referenced elements.
|
|
177
177
|
*/
|
|
@@ -179,7 +179,7 @@ export const normalizeElements = (els) => {
|
|
|
179
179
|
return els.map((el) => {
|
|
180
180
|
if (!el)
|
|
181
181
|
return null;
|
|
182
|
-
return el instanceof
|
|
182
|
+
return el instanceof EventTarget ? el : el.current;
|
|
183
183
|
});
|
|
184
184
|
};
|
|
185
185
|
/**
|
package/lib/utils/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Fragment, RefObject } from 'react';\n\nimport { TranslationFunction, TranslationPack } from '../i18n';\n\nexport const windowIsAvailable = typeof window !== 'undefined';\nexport const navigatorIsAvailable = typeof navigator !== 'undefined';\nexport const documentIsAvailable = typeof document !== 'undefined';\n\n/** @returns Debounced function that can be called only once in given timeout */\nexport function debounce<F extends (...args: any[]) => any>(\n this: any,\n func: F,\n waitTime: number\n): (...args: Parameters<F>) => void {\n let timeout: any;\n return (...args) => {\n const waitFunc = () => {\n timeout = null;\n func.apply(this, args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(waitFunc, waitTime);\n };\n}\n\n/** Check for an existence of prop */\nexport function hasProp<T extends object, P extends PropertyKey>(\n obj: T,\n prop: P\n): obj is T & { [key in P]: unknown } {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\n// Add some context...\nexport function bindAll<T extends object, K extends keyof T>(obj: T, names: K[]): void {\n names.forEach(fn => {\n obj[fn] = (obj[fn] as unknown as Function).bind(obj);\n });\n}\n\n// Capitalize\nexport function cap(s: string): string {\n return s.charAt(0).toUpperCase() + s.slice(1);\n}\n\n/** Generate unique id for elements */\nexport function createUID(): string {\n return `_${Math.random().toString(36).substr(2, 9)}`;\n}\n\n/** Returns array with numbers from given range */\nexport function range(start: number, end: number): number[] {\n return Array(end - start + 1)\n .fill(0)\n .map((_: any, idx: number) => start + idx);\n}\n\n/** Return an array of strings and regex replaced components */\nexport function replaceMatchWithElement(\n str: string,\n re: RegExp,\n render: (match: string) => JSX.Element\n) {\n const arr: (string | JSX.Element)[] = [];\n\n // Only loop for stateful regexes.\n if (re.global || re.sticky) {\n let currIdx = 0;\n let match: RegExpExecArray | null;\n\n // eslint-disable-next-line no-cond-assign\n while ((match = re.exec(str))) {\n arr.push(str.slice(currIdx, match.index), render(match[0]));\n\n currIdx = match.index + match[0].length;\n }\n\n arr.push(str.slice(currIdx));\n } else {\n const match = re.exec(str);\n if (!match) arr.push(str);\n else {\n arr.push(\n str.slice(0, match.index),\n render(match[0]),\n str.slice(match.index + match[0].length)\n );\n }\n }\n\n return arr.flatMap((item, idx) => {\n if (!item) return [];\n\n return <Fragment key={idx}>{item}</Fragment>;\n });\n}\n\n/** Get scrollbar width */\nexport function getScrollbarWidth(): number {\n const scrollDiv = document.createElement('div');\n const divSize = '50px';\n let size = 0;\n\n scrollDiv.style.position = 'absolute';\n scrollDiv.style.top = `-${divSize}`;\n scrollDiv.style.width = divSize;\n scrollDiv.style.height = divSize;\n scrollDiv.style.overflow = 'scroll';\n\n document.body.appendChild(scrollDiv);\n size = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n\n return size;\n}\n\n/** Test element for overflow */\nexport function testElForOverflow(el: Element) {\n return [el.scrollWidth > el.clientWidth, el.scrollHeight > el.clientHeight];\n}\n\n/** Used mostly to trigger css transition after DOM append */\nexport function reflow(node?: HTMLElement | null): number {\n node = node ?? document.body;\n return node.offsetWidth;\n}\n\nexport function loadScript(\n src: string,\n onLoad: (this: HTMLScriptElement, ev: Event) => any,\n onError: (this: HTMLScriptElement, ev: ErrorEvent) => any\n) {\n const scriptElem = document.createElement('script');\n scriptElem.src = src;\n\n scriptElem.addEventListener('load', onLoad);\n scriptElem.addEventListener('error', onError);\n document.head.appendChild(scriptElem);\n}\n\nexport function deepGet(obj: object, keys: PropertyKey[]): any {\n let rtn: any = obj;\n\n const found = keys.every(key => {\n if (typeof rtn === 'object' && rtn) {\n rtn = rtn[key];\n return true;\n }\n return false;\n });\n\n if (found) return rtn;\n\n return undefined;\n}\n\n/** Compares two objects by comparing each key value regardless of order. */\nexport function deepObjectComparison(valueA: any, valueB: any): boolean {\n // If the values are strictly equal, return true\n if (valueA === valueB) return true;\n\n // If the values are not objects and are not equal, return false\n if (\n typeof valueA !== 'object' ||\n typeof valueB !== 'object' ||\n valueA === null ||\n valueB === null\n )\n return false;\n\n const keysA = Object.keys(valueA);\n const keysB = Object.keys(valueB);\n\n // If the objects have different numbers of keys, return false\n if (keysA.length !== keysB.length) return false;\n\n for (let i = 0; i < keysA.length; i += 1) {\n const key = keysA[i];\n // If there is not a 1:1 mapping of keys between the objects, return false\n if (!keysB.includes(key)) return false;\n\n if (typeof valueA[key] === 'function' || typeof valueB[key] === 'function') {\n // If the value of a given key is a function, and the functions are not equivalent between the objects, return false\n if (valueA[key].toString() !== valueB[key].toString()) return false;\n // If all checks have passed thus far, compare the next set of nested values\n } else if (!deepObjectComparison(valueA[key], valueB[key])) return false;\n }\n\n // If all checks have passed, the objects are deeply equal\n return true;\n}\n\nexport function defineSmartGetter(\n obj: Record<string, any>,\n key: string,\n valueFn: (...args: any[]) => any\n) {\n Object.defineProperty(obj, key, {\n get: () => {\n delete obj[key];\n obj[key] = valueFn();\n return obj[key];\n },\n enumerable: true,\n configurable: true\n });\n\n return obj;\n}\n\nexport function tryCatch<T>(tryFn: () => T): T | undefined;\nexport function tryCatch<T, C>(tryFn: () => T, catchFn: (err: unknown) => C): T | C;\nexport function tryCatch<T, C, F>(\n tryFn: () => T,\n catchFn: ((err: unknown) => C) | undefined,\n finallyFn: () => F\n): F;\nexport function tryCatch<T, C, F>(\n tryFn: () => T,\n catchFn?: (err: unknown) => C,\n finallyFn?: () => F\n): T | C | F | undefined {\n try {\n return tryFn();\n } catch (err) {\n if (catchFn) return catchFn(err);\n } finally {\n // eslint-disable-next-line no-unsafe-finally\n if (finallyFn) return finallyFn();\n }\n}\n\n/**\n * Returns normalized list of elements, ie. it de-reference the element from the Ref if needed.\n * @param els a list of elements or refs to normalize.\n * @returns a new list of the same length with the de-referenced elements.\n */\nexport const normalizeElements = <T extends Element = Element>(\n els: (T | null | RefObject<T | null>)[]\n) => {\n return els.map((el: T | null | RefObject<T | null>) => {\n if (!el) return null;\n return el instanceof Element ? el : el.current;\n });\n};\n\n/**\n * Returns all valid focusable elements within a given ref.\n * @param focusablesRef The ref containing the element to search for focusable elements within.\n * @returns a list of valid focusable elements within the given ref.\n */\nexport const getFocusables = (focusablesRef: RefObject<HTMLElement>) => {\n if (!focusablesRef.current) return [];\n\n const selector = 'a, button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"])';\n\n return ([...focusablesRef.current.querySelectorAll(selector)] as HTMLElement[]).filter(\n el =>\n el instanceof HTMLElement &&\n !el.hasAttribute('disabled') &&\n el.getAttribute('tabindex') !== '-1'\n );\n};\n\n/**\n * Generator that returns triple of subsequent values in the given array.\n * @param array source array\n * @returns triple of previous, current and next value on every call\n */\nexport function* triple<T>(\n array: T[]\n): Generator<{ prev?: T; current: T; next?: T }, undefined, unknown> {\n for (let i = 0; i < array.length; i += 1) {\n yield { prev: array[i - 1], current: array[i], next: array[i + 1] };\n }\n return undefined;\n}\n\n/**\n * Escape special characters in order to pass a string to the RegExp constructor.\n * @param s a string.\n * @returns a string with special characters escaped.\n */\nexport const escapeRegExp = (s: string): string => String(s).replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\n/**\n * Generate a RegExp with a string parameter.\n * @param s The string to match.\n * @param type How to match.\n * @param flags Standard RegExp flags.\n * @returns A RegExp with the match pattern.\n */\nexport const createStringMatcher = (\n s: string,\n type: 'contains' | 'start' | 'boundary' = 'contains',\n flags: string = 'i'\n): RegExp => {\n const escaped = escapeRegExp(s);\n let pattern: string = escaped;\n\n if (type === 'start') {\n pattern = `^${escaped}`;\n } else if (type === 'boundary') {\n pattern = `(?:^|\\\\s)${escaped}`;\n }\n\n return new RegExp(pattern, flags);\n};\n\n/**\n * Function generates string representation of the given list accordingly to localization rules of given locale.\n * @param list list of strings to format\n * @param t translation function used internally\n * @param locale locale tag to get the localization rules for\n * @param options formatting options\n * @returns\n */\nexport const formatListToLocaleString = (\n list: string[],\n t: TranslationFunction<TranslationPack>,\n locale: string,\n {\n count = list.length,\n separator\n }: {\n count?: number;\n separator?: string;\n } = {}\n) => {\n const remainder = list.length ? count - list.length : 0;\n\n const toFormat =\n remainder > 0 ? [...list, t('more_count', [remainder], { count: remainder })] : list;\n\n if (separator || !('ListFormat' in Intl)) return toFormat.join(separator ?? ', ');\n\n return new Intl.ListFormat(locale, { style: 'long' }).format(toFormat);\n};\n"]}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAa,MAAM,OAAO,CAAC;AAI5C,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;AAC/D,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,SAAS,KAAK,WAAW,CAAC;AACrE,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,QAAQ,KAAK,WAAW,CAAC;AAEnE,gFAAgF;AAChF,MAAM,UAAU,QAAQ,CAEtB,IAAO,EACP,QAAgB;IAEhB,IAAI,OAAY,CAAC;IACjB,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE;QACjB,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC;QACF,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC,CAAC;AACJ,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,OAAO,CACrB,GAAM,EACN,IAAO;IAEP,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACzD,CAAC;AAED,sBAAsB;AACtB,MAAM,UAAU,OAAO,CAAsC,GAAM,EAAE,KAAU;IAC7E,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACjB,GAAG,CAAC,EAAE,CAAC,GAAI,GAAG,CAAC,EAAE,CAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,aAAa;AACb,MAAM,UAAU,GAAG,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,SAAS;IACvB,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,KAAK,CAAC,KAAa,EAAE,GAAW;IAC9C,OAAO,KAAK,CAAC,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;SAC1B,IAAI,CAAC,CAAC,CAAC;SACP,GAAG,CAAC,CAAC,CAAM,EAAE,GAAW,EAAE,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;AAC/C,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,uBAAuB,CACrC,GAAW,EACX,EAAU,EACV,MAAsC;IAEtC,MAAM,GAAG,GAA6B,EAAE,CAAC;IAEzC,kCAAkC;IAClC,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,EAAE;QAC1B,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,KAA6B,CAAC;QAElC,0CAA0C;QAC1C,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YAC7B,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE5D,OAAO,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;SACzC;QAED,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KAC9B;SAAM;QACL,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACrB;YACH,GAAG,CAAC,IAAI,CACN,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EACzB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAChB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CACzC,CAAC;SACH;KACF;IAED,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QAC/B,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QAErB,OAAO,KAAC,QAAQ,cAAY,IAAI,IAAV,GAAG,CAAmB,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,0BAA0B;AAC1B,MAAM,UAAU,iBAAiB;IAC/B,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,MAAM,CAAC;IACvB,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;IACtC,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;IACpC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC;IAChC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;IACjC,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAEpC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,GAAG,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;IACrD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAErC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,iBAAiB,CAAC,EAAW;IAC3C,OAAO,CAAC,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;AAC9E,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,MAAM,CAAC,IAAyB;IAC9C,IAAI,GAAG,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;IAC7B,OAAO,IAAI,CAAC,WAAW,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,GAAW,EACX,MAAmD,EACnD,OAAyD;IAEzD,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACpD,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC;IAErB,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,IAAmB;IACtD,IAAI,GAAG,GAAQ,GAAG,CAAC;IAEnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QAC7B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,EAAE;YAClC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACf,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,IAAI,KAAK;QAAE,OAAO,GAAG,CAAC;IAEtB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,oBAAoB,CAAC,MAAW,EAAE,MAAW;IAC3D,gDAAgD;IAChD,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAEnC,gEAAgE;IAChE,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,OAAO,MAAM,KAAK,QAAQ;QAC1B,MAAM,KAAK,IAAI;QACf,MAAM,KAAK,IAAI;QAEf,OAAO,KAAK,CAAC;IAEf,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAElC,8DAA8D;IAC9D,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAEhD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QACxC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,0EAA0E;QAC1E,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAEvC,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,UAAU,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE;YAC1E,oHAAoH;YACpH,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;gBAAE,OAAO,KAAK,CAAC;YACpE,4EAA4E;SAC7E;aAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;KAC1E;IAED,0DAA0D;IAC1D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,GAAwB,EACxB,GAAW,EACX,OAAgC;IAEhC,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE;QAC9B,GAAG,EAAE,GAAG,EAAE;YACR,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YAChB,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC;YACrB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;QACD,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AASD,MAAM,UAAU,QAAQ,CACtB,KAAc,EACd,OAA6B,EAC7B,SAAmB;IAEnB,IAAI;QACF,OAAO,KAAK,EAAE,CAAC;KAChB;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;KAClC;YAAS;QACR,6CAA6C;QAC7C,IAAI,SAAS;YAAE,OAAO,SAAS,EAAE,CAAC;KACnC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,GAAuC,EACzB,EAAE;IAChB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAkC,EAAE,EAAE;QACpD,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACrB,OAAO,EAAE,YAAY,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,aAAqC,EAAE,EAAE;IACrE,IAAI,CAAC,aAAa,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAEtC,MAAM,QAAQ,GAAG,8EAA8E,CAAC;IAEhG,OAAQ,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAmB,CAAC,MAAM,CACpF,EAAE,CAAC,EAAE,CACH,EAAE,YAAY,WAAW;QACzB,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC;QAC5B,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,CACvC,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,SAAS,CAAC,CAAC,MAAM,CACrB,KAAU;IAEV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QACxC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;KACrE;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAEpG;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,CAAS,EACT,OAA0C,UAAU,EACpD,QAAgB,GAAG,EACX,EAAE;IACV,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,OAAO,GAAW,OAAO,CAAC;IAE9B,IAAI,IAAI,KAAK,OAAO,EAAE;QACpB,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;KACzB;SAAM,IAAI,IAAI,KAAK,UAAU,EAAE;QAC9B,OAAO,GAAG,YAAY,OAAO,EAAE,CAAC;KACjC;IAED,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,IAAc,EACd,CAAuC,EACvC,MAAc,EACd,EACE,KAAK,GAAG,IAAI,CAAC,MAAM,EACnB,SAAS,KAIP,EAAE,EACN,EAAE;IACF,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAExD,MAAM,QAAQ,GACZ,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEvF,IAAI,SAAS,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;IAElF,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACzE,CAAC,CAAC","sourcesContent":["import { Fragment, RefObject } from 'react';\n\nimport { TranslationFunction, TranslationPack } from '../i18n';\n\nexport const windowIsAvailable = typeof window !== 'undefined';\nexport const navigatorIsAvailable = typeof navigator !== 'undefined';\nexport const documentIsAvailable = typeof document !== 'undefined';\n\n/** @returns Debounced function that can be called only once in given timeout */\nexport function debounce<F extends (...args: any[]) => any>(\n this: any,\n func: F,\n waitTime: number\n): (...args: Parameters<F>) => void {\n let timeout: any;\n return (...args) => {\n const waitFunc = () => {\n timeout = null;\n func.apply(this, args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(waitFunc, waitTime);\n };\n}\n\n/** Check for an existence of prop */\nexport function hasProp<T extends object, P extends PropertyKey>(\n obj: T,\n prop: P\n): obj is T & { [key in P]: unknown } {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\n// Add some context...\nexport function bindAll<T extends object, K extends keyof T>(obj: T, names: K[]): void {\n names.forEach(fn => {\n obj[fn] = (obj[fn] as unknown as Function).bind(obj);\n });\n}\n\n// Capitalize\nexport function cap(s: string): string {\n return s.charAt(0).toUpperCase() + s.slice(1);\n}\n\n/** Generate unique id for elements */\nexport function createUID(): string {\n return `_${Math.random().toString(36).substr(2, 9)}`;\n}\n\n/** Returns array with numbers from given range */\nexport function range(start: number, end: number): number[] {\n return Array(end - start + 1)\n .fill(0)\n .map((_: any, idx: number) => start + idx);\n}\n\n/** Return an array of strings and regex replaced components */\nexport function replaceMatchWithElement(\n str: string,\n re: RegExp,\n render: (match: string) => JSX.Element\n) {\n const arr: (string | JSX.Element)[] = [];\n\n // Only loop for stateful regexes.\n if (re.global || re.sticky) {\n let currIdx = 0;\n let match: RegExpExecArray | null;\n\n // eslint-disable-next-line no-cond-assign\n while ((match = re.exec(str))) {\n arr.push(str.slice(currIdx, match.index), render(match[0]));\n\n currIdx = match.index + match[0].length;\n }\n\n arr.push(str.slice(currIdx));\n } else {\n const match = re.exec(str);\n if (!match) arr.push(str);\n else {\n arr.push(\n str.slice(0, match.index),\n render(match[0]),\n str.slice(match.index + match[0].length)\n );\n }\n }\n\n return arr.flatMap((item, idx) => {\n if (!item) return [];\n\n return <Fragment key={idx}>{item}</Fragment>;\n });\n}\n\n/** Get scrollbar width */\nexport function getScrollbarWidth(): number {\n const scrollDiv = document.createElement('div');\n const divSize = '50px';\n let size = 0;\n\n scrollDiv.style.position = 'absolute';\n scrollDiv.style.top = `-${divSize}`;\n scrollDiv.style.width = divSize;\n scrollDiv.style.height = divSize;\n scrollDiv.style.overflow = 'scroll';\n\n document.body.appendChild(scrollDiv);\n size = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n\n return size;\n}\n\n/** Test element for overflow */\nexport function testElForOverflow(el: Element) {\n return [el.scrollWidth > el.clientWidth, el.scrollHeight > el.clientHeight];\n}\n\n/** Used mostly to trigger css transition after DOM append */\nexport function reflow(node?: HTMLElement | null): number {\n node = node ?? document.body;\n return node.offsetWidth;\n}\n\nexport function loadScript(\n src: string,\n onLoad: (this: HTMLScriptElement, ev: Event) => any,\n onError: (this: HTMLScriptElement, ev: ErrorEvent) => any\n) {\n const scriptElem = document.createElement('script');\n scriptElem.src = src;\n\n scriptElem.addEventListener('load', onLoad);\n scriptElem.addEventListener('error', onError);\n document.head.appendChild(scriptElem);\n}\n\nexport function deepGet(obj: object, keys: PropertyKey[]): any {\n let rtn: any = obj;\n\n const found = keys.every(key => {\n if (typeof rtn === 'object' && rtn) {\n rtn = rtn[key];\n return true;\n }\n return false;\n });\n\n if (found) return rtn;\n\n return undefined;\n}\n\n/** Compares two objects by comparing each key value regardless of order. */\nexport function deepObjectComparison(valueA: any, valueB: any): boolean {\n // If the values are strictly equal, return true\n if (valueA === valueB) return true;\n\n // If the values are not objects and are not equal, return false\n if (\n typeof valueA !== 'object' ||\n typeof valueB !== 'object' ||\n valueA === null ||\n valueB === null\n )\n return false;\n\n const keysA = Object.keys(valueA);\n const keysB = Object.keys(valueB);\n\n // If the objects have different numbers of keys, return false\n if (keysA.length !== keysB.length) return false;\n\n for (let i = 0; i < keysA.length; i += 1) {\n const key = keysA[i];\n // If there is not a 1:1 mapping of keys between the objects, return false\n if (!keysB.includes(key)) return false;\n\n if (typeof valueA[key] === 'function' || typeof valueB[key] === 'function') {\n // If the value of a given key is a function, and the functions are not equivalent between the objects, return false\n if (valueA[key].toString() !== valueB[key].toString()) return false;\n // If all checks have passed thus far, compare the next set of nested values\n } else if (!deepObjectComparison(valueA[key], valueB[key])) return false;\n }\n\n // If all checks have passed, the objects are deeply equal\n return true;\n}\n\nexport function defineSmartGetter(\n obj: Record<string, any>,\n key: string,\n valueFn: (...args: any[]) => any\n) {\n Object.defineProperty(obj, key, {\n get: () => {\n delete obj[key];\n obj[key] = valueFn();\n return obj[key];\n },\n enumerable: true,\n configurable: true\n });\n\n return obj;\n}\n\nexport function tryCatch<T>(tryFn: () => T): T | undefined;\nexport function tryCatch<T, C>(tryFn: () => T, catchFn: (err: unknown) => C): T | C;\nexport function tryCatch<T, C, F>(\n tryFn: () => T,\n catchFn: ((err: unknown) => C) | undefined,\n finallyFn: () => F\n): F;\nexport function tryCatch<T, C, F>(\n tryFn: () => T,\n catchFn?: (err: unknown) => C,\n finallyFn?: () => F\n): T | C | F | undefined {\n try {\n return tryFn();\n } catch (err) {\n if (catchFn) return catchFn(err);\n } finally {\n // eslint-disable-next-line no-unsafe-finally\n if (finallyFn) return finallyFn();\n }\n}\n\n/**\n * Returns normalized list of elements, ie. it de-reference the element from the RefObject if needed.\n * @param els a list of elements or refs to normalize.\n * @returns a new list of the same length with the de-referenced elements.\n */\nexport const normalizeElements = <T extends EventTarget = EventTarget>(\n els: (T | null | RefObject<T | null>)[]\n): (T | null)[] => {\n return els.map((el: T | null | RefObject<T | null>) => {\n if (!el) return null;\n return el instanceof EventTarget ? el : el.current;\n });\n};\n\n/**\n * Returns all valid focusable elements within a given ref.\n * @param focusablesRef The ref containing the element to search for focusable elements within.\n * @returns a list of valid focusable elements within the given ref.\n */\nexport const getFocusables = (focusablesRef: RefObject<HTMLElement>) => {\n if (!focusablesRef.current) return [];\n\n const selector = 'a, button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"])';\n\n return ([...focusablesRef.current.querySelectorAll(selector)] as HTMLElement[]).filter(\n el =>\n el instanceof HTMLElement &&\n !el.hasAttribute('disabled') &&\n el.getAttribute('tabindex') !== '-1'\n );\n};\n\n/**\n * Generator that returns triple of subsequent values in the given array.\n * @param array source array\n * @returns triple of previous, current and next value on every call\n */\nexport function* triple<T>(\n array: T[]\n): Generator<{ prev?: T; current: T; next?: T }, undefined, unknown> {\n for (let i = 0; i < array.length; i += 1) {\n yield { prev: array[i - 1], current: array[i], next: array[i + 1] };\n }\n return undefined;\n}\n\n/**\n * Escape special characters in order to pass a string to the RegExp constructor.\n * @param s a string.\n * @returns a string with special characters escaped.\n */\nexport const escapeRegExp = (s: string): string => String(s).replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\n/**\n * Generate a RegExp with a string parameter.\n * @param s The string to match.\n * @param type How to match.\n * @param flags Standard RegExp flags.\n * @returns A RegExp with the match pattern.\n */\nexport const createStringMatcher = (\n s: string,\n type: 'contains' | 'start' | 'boundary' = 'contains',\n flags: string = 'i'\n): RegExp => {\n const escaped = escapeRegExp(s);\n let pattern: string = escaped;\n\n if (type === 'start') {\n pattern = `^${escaped}`;\n } else if (type === 'boundary') {\n pattern = `(?:^|\\\\s)${escaped}`;\n }\n\n return new RegExp(pattern, flags);\n};\n\n/**\n * Function generates string representation of the given list accordingly to localization rules of given locale.\n * @param list list of strings to format\n * @param t translation function used internally\n * @param locale locale tag to get the localization rules for\n * @param options formatting options\n * @returns\n */\nexport const formatListToLocaleString = (\n list: string[],\n t: TranslationFunction<TranslationPack>,\n locale: string,\n {\n count = list.length,\n separator\n }: {\n count?: number;\n separator?: string;\n } = {}\n) => {\n const remainder = list.length ? count - list.length : 0;\n\n const toFormat =\n remainder > 0 ? [...list, t('more_count', [remainder], { count: remainder })] : list;\n\n if (separator || !('ListFormat' in Intl)) return toFormat.join(separator ?? ', ');\n\n return new Intl.ListFormat(locale, { style: 'long' }).format(toFormat);\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pega/cosmos-react-core",
|
|
3
|
-
"version": "3.0.0-dev.
|
|
3
|
+
"version": "3.0.0-dev.8.0",
|
|
4
4
|
"description": "Cosmos is a visual design system and UI component collection. Its goal is to empower application developers in their pursuit to create engaging and rewarding user experiences.",
|
|
5
5
|
"author": "Pegasystems",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -21,6 +21,14 @@
|
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@popperjs/core": "^2.11.0",
|
|
24
|
+
"@types/dompurify": "^2.2.3",
|
|
25
|
+
"@types/emoji-mart": "^3.0.4",
|
|
26
|
+
"@types/emoji-regex": "^8.0.0",
|
|
27
|
+
"@types/googlemaps": "^3.39.3",
|
|
28
|
+
"@types/react": "^16.14.24 || ^17.0.38",
|
|
29
|
+
"@types/react-color": "^3.0.4",
|
|
30
|
+
"@types/react-dom": "^16.9.14 || ^17.0.11",
|
|
31
|
+
"@types/styled-components": "^5.1.7",
|
|
24
32
|
"bignumber.js": "^9.0.1",
|
|
25
33
|
"credit-card-type": "^9.1.0",
|
|
26
34
|
"dompurify": "^2.3.1",
|
|
@@ -43,8 +51,9 @@
|
|
|
43
51
|
"@storybook/react": "^6.4.19",
|
|
44
52
|
"@storybook/testing-react": "0.0.18",
|
|
45
53
|
"@storybook/theming": "^6.4.19",
|
|
54
|
+
"@testing-library/jest-dom": "^5.16.2",
|
|
46
55
|
"@testing-library/react": "^12.1.3",
|
|
47
|
-
"@
|
|
56
|
+
"@testing-library/user-event": "^13.5.0",
|
|
48
57
|
"enzyme": "^3.11.0",
|
|
49
58
|
"typescript": "~4.6.2"
|
|
50
59
|
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export declare const StyledSearchButton: import("styled-components").StyledComponent<import("react").FunctionComponent<import("../Button/BareButton").BareButtonProps & import("../..").ForwardProps>, import("styled-components").DefaultTheme, {
|
|
2
|
-
decoupled: boolean;
|
|
3
|
-
}, never>;
|
|
4
|
-
export declare const StyledCancelButton: import("styled-components").StyledComponent<import("react").FunctionComponent<import("../Button/BareButton").BareButtonProps & import("../..").ForwardProps>, import("styled-components").DefaultTheme, {}, never>;
|
|
5
|
-
export declare const StyledSearchTextInput: import("styled-components").StyledComponent<import("react").FC<import("../Input").InputProps & import("../..").ForwardProps>, import("styled-components").DefaultTheme, {
|
|
6
|
-
decoupled: boolean;
|
|
7
|
-
}, never>;
|
|
8
|
-
export declare const StyledSearchInput: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
|
|
9
|
-
hasFilters: boolean;
|
|
10
|
-
}, never>;
|
|
11
|
-
export declare const StyledSearchMenu: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
|
|
12
|
-
export declare const StyledSearchFilterText: import("styled-components").StyledComponent<"span", import("styled-components").DefaultTheme, {}, never>;
|
|
13
|
-
//# sourceMappingURL=SearchInput.styles.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SearchInput.styles.d.ts","sourceRoot":"","sources":["../../../src/components/SearchInput/SearchInput.styles.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,kBAAkB;eAAmC,OAAO;SAgCxE,CAAC;AAIF,eAAO,MAAM,kBAAkB,oNAY7B,CAAC;AAIH,eAAO,MAAM,qBAAqB;eAA8B,OAAO;SAsCrE,CAAC;AAIH,eAAO,MAAM,iBAAiB;gBAA4B,OAAO;SA8BhE,CAAC;AAIF,eAAO,MAAM,gBAAgB,yGAI5B,CAAC;AAEF,eAAO,MAAM,sBAAsB,0GAKlC,CAAC"}
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { transparentize } from 'polished';
|
|
2
|
-
import styled, { css } from 'styled-components';
|
|
3
|
-
import { defaultThemeProp } from '../../theme';
|
|
4
|
-
import { tryCatch } from '../../utils';
|
|
5
|
-
import BareButton from '../Button/BareButton';
|
|
6
|
-
import Input from '../Input';
|
|
7
|
-
export const StyledSearchButton = styled(BareButton)(({ theme: { base, components: { 'search-input': searchInput, 'form-control': formControl, input } }, decoupled }) => {
|
|
8
|
-
const iconColor = tryCatch(() => transparentize(0.3, base.palette['foreground-color']));
|
|
9
|
-
return css `
|
|
10
|
-
border-start-start-radius: calc(${base['border-radius']} * ${searchInput['border-radius']});
|
|
11
|
-
border-end-start-radius: calc(${base['border-radius']} * ${searchInput['border-radius']});
|
|
12
|
-
${decoupled
|
|
13
|
-
? css `
|
|
14
|
-
border: ${input['border-width']} solid ${input['border-color']};
|
|
15
|
-
`
|
|
16
|
-
: css `
|
|
17
|
-
border: none;
|
|
18
|
-
`}
|
|
19
|
-
padding: ${input.padding};
|
|
20
|
-
background: ${formControl['background-color']};
|
|
21
|
-
color: ${iconColor};
|
|
22
|
-
cursor: text;
|
|
23
|
-
position: relative;
|
|
24
|
-
z-index: 2;
|
|
25
|
-
|
|
26
|
-
&:focus:not([disabled]) {
|
|
27
|
-
border-color: ${formControl[':focus']['border-color']};
|
|
28
|
-
box-shadow: ${formControl[':focus']['box-shadow']};
|
|
29
|
-
}
|
|
30
|
-
`;
|
|
31
|
-
});
|
|
32
|
-
StyledSearchButton.defaultProps = defaultThemeProp;
|
|
33
|
-
export const StyledCancelButton = styled(BareButton)(({ theme }) => {
|
|
34
|
-
return css `
|
|
35
|
-
position: absolute;
|
|
36
|
-
inset-inline-end: 1rem;
|
|
37
|
-
height: calc(${theme.components.input.height} / 2);
|
|
38
|
-
width: calc(${theme.components.input.height} / 2);
|
|
39
|
-
display: flex;
|
|
40
|
-
align-items: center;
|
|
41
|
-
justify-content: center;
|
|
42
|
-
inset-block-start: calc(${theme.components.input.height} / 4);
|
|
43
|
-
z-index: 3;
|
|
44
|
-
`;
|
|
45
|
-
});
|
|
46
|
-
StyledCancelButton.defaultProps = defaultThemeProp;
|
|
47
|
-
export const StyledSearchTextInput = styled(Input)(props => {
|
|
48
|
-
const { theme, decoupled } = props;
|
|
49
|
-
const comp = theme.components['search-input'];
|
|
50
|
-
return css `
|
|
51
|
-
flex: 1;
|
|
52
|
-
padding-inline-end: calc(${theme.base['hit-area'].finger});
|
|
53
|
-
border-radius: calc(${comp['border-radius']} * ${theme.base['border-radius']});
|
|
54
|
-
border-start-start-radius: 0;
|
|
55
|
-
border-end-start-radius: 0;
|
|
56
|
-
${decoupled
|
|
57
|
-
? css `
|
|
58
|
-
border-inline-start: none;
|
|
59
|
-
`
|
|
60
|
-
: css `
|
|
61
|
-
border: none;
|
|
62
|
-
`}
|
|
63
|
-
height: 100%;
|
|
64
|
-
min-height: 100%;
|
|
65
|
-
position: relative;
|
|
66
|
-
z-index: 1;
|
|
67
|
-
&::-ms-clear {
|
|
68
|
-
display: none;
|
|
69
|
-
}
|
|
70
|
-
&::-webkit-search-cancel-button {
|
|
71
|
-
display: none;
|
|
72
|
-
}
|
|
73
|
-
::-webkit-search-decoration {
|
|
74
|
-
-webkit-appearance: none;
|
|
75
|
-
}
|
|
76
|
-
&:focus:not([disabled]) {
|
|
77
|
-
z-index: 2;
|
|
78
|
-
${!decoupled &&
|
|
79
|
-
css `
|
|
80
|
-
border: none;
|
|
81
|
-
box-shadow: none;
|
|
82
|
-
`}
|
|
83
|
-
}
|
|
84
|
-
`;
|
|
85
|
-
});
|
|
86
|
-
StyledSearchTextInput.defaultProps = defaultThemeProp;
|
|
87
|
-
export const StyledSearchInput = styled.div(({ theme: { base, components: { input, 'form-control': formControl, 'search-input': searchInput } }, hasFilters }) => {
|
|
88
|
-
return css `
|
|
89
|
-
min-height: ${input.height};
|
|
90
|
-
position: relative;
|
|
91
|
-
height: ${input.height};
|
|
92
|
-
border-radius: calc(${searchInput['border-radius']} * ${base['border-radius']});
|
|
93
|
-
${hasFilters
|
|
94
|
-
? css `
|
|
95
|
-
border: none;
|
|
96
|
-
`
|
|
97
|
-
: css `
|
|
98
|
-
border: ${input['border-width']} solid ${input['border-color']};
|
|
99
|
-
`}
|
|
100
|
-
|
|
101
|
-
${!hasFilters &&
|
|
102
|
-
css `
|
|
103
|
-
:focus-within {
|
|
104
|
-
border-color: ${base.palette.light};
|
|
105
|
-
box-shadow: ${formControl[':focus']['box-shadow']};
|
|
106
|
-
}
|
|
107
|
-
`}
|
|
108
|
-
`;
|
|
109
|
-
});
|
|
110
|
-
StyledSearchInput.defaultProps = defaultThemeProp;
|
|
111
|
-
export const StyledSearchMenu = styled.div `
|
|
112
|
-
header {
|
|
113
|
-
border-bottom: none;
|
|
114
|
-
}
|
|
115
|
-
`;
|
|
116
|
-
export const StyledSearchFilterText = styled.span `
|
|
117
|
-
overflow: hidden;
|
|
118
|
-
white-space: nowrap;
|
|
119
|
-
text-overflow: ellipsis;
|
|
120
|
-
max-width: 10ch;
|
|
121
|
-
`;
|
|
122
|
-
//# sourceMappingURL=SearchInput.styles.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SearchInput.styles.js","sourceRoot":"","sources":["../../../src/components/SearchInput/SearchInput.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import { transparentize } from 'polished';\nimport styled, { css } from 'styled-components';\n\nimport { defaultThemeProp } from '../../theme';\nimport { tryCatch } from '../../utils';\nimport BareButton from '../Button/BareButton';\nimport Input from '../Input';\n\nexport const StyledSearchButton = styled(BareButton)<{ decoupled: boolean }>(\n ({\n theme: {\n base,\n components: { 'search-input': searchInput, 'form-control': formControl, input }\n },\n decoupled\n }) => {\n const iconColor = tryCatch(() => transparentize(0.3, base.palette['foreground-color']));\n return css`\n border-start-start-radius: calc(${base['border-radius']} * ${searchInput['border-radius']});\n border-end-start-radius: calc(${base['border-radius']} * ${searchInput['border-radius']});\n ${decoupled\n ? css`\n border: ${input['border-width']} solid ${input['border-color']};\n `\n : css`\n border: none;\n `}\n padding: ${input.padding};\n background: ${formControl['background-color']};\n color: ${iconColor};\n cursor: text;\n position: relative;\n z-index: 2;\n\n &:focus:not([disabled]) {\n border-color: ${formControl[':focus']['border-color']};\n box-shadow: ${formControl[':focus']['box-shadow']};\n }\n `;\n }\n);\n\nStyledSearchButton.defaultProps = defaultThemeProp;\n\nexport const StyledCancelButton = styled(BareButton)(({ theme }) => {\n return css`\n position: absolute;\n inset-inline-end: 1rem;\n height: calc(${theme.components.input.height} / 2);\n width: calc(${theme.components.input.height} / 2);\n display: flex;\n align-items: center;\n justify-content: center;\n inset-block-start: calc(${theme.components.input.height} / 4);\n z-index: 3;\n `;\n});\n\nStyledCancelButton.defaultProps = defaultThemeProp;\n\nexport const StyledSearchTextInput = styled(Input)<{ decoupled: boolean }>(props => {\n const { theme, decoupled } = props;\n const comp = theme.components['search-input'];\n return css`\n flex: 1;\n padding-inline-end: calc(${theme.base['hit-area'].finger});\n border-radius: calc(${comp['border-radius']} * ${theme.base['border-radius']});\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n ${decoupled\n ? css`\n border-inline-start: none;\n `\n : css`\n border: none;\n `}\n height: 100%;\n min-height: 100%;\n position: relative;\n z-index: 1;\n &::-ms-clear {\n display: none;\n }\n &::-webkit-search-cancel-button {\n display: none;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n &:focus:not([disabled]) {\n z-index: 2;\n ${!decoupled &&\n css`\n border: none;\n box-shadow: none;\n `}\n }\n `;\n});\n\nStyledSearchTextInput.defaultProps = defaultThemeProp;\n\nexport const StyledSearchInput = styled.div<{ hasFilters: boolean }>(\n ({\n theme: {\n base,\n components: { input, 'form-control': formControl, 'search-input': searchInput }\n },\n hasFilters\n }) => {\n return css`\n min-height: ${input.height};\n position: relative;\n height: ${input.height};\n border-radius: calc(${searchInput['border-radius']} * ${base['border-radius']});\n ${hasFilters\n ? css`\n border: none;\n `\n : css`\n border: ${input['border-width']} solid ${input['border-color']};\n `}\n\n ${!hasFilters &&\n css`\n :focus-within {\n border-color: ${base.palette.light};\n box-shadow: ${formControl[':focus']['box-shadow']};\n }\n `}\n `;\n }\n);\n\nStyledSearchInput.defaultProps = defaultThemeProp;\n\nexport const StyledSearchMenu = styled.div`\n header {\n border-bottom: none;\n }\n`;\n\nexport const StyledSearchFilterText = styled.span`\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n max-width: 10ch;\n`;\n"]}
|