@e1011/es-kit 1.0.202 → 1.0.206
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hooks/esm/index.css +43 -43
- package/dist/hooks/index.css +43 -43
- package/dist/lib/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/esm/index.css +43 -43
- package/dist/utils/index.css +43 -43
- package/package.json +1 -3
- package/dist/lib/src/core/constants/index.js +0 -2
- package/dist/lib/src/core/constants/index.js.map +0 -1
- package/dist/lib/src/core/constants/ui.constants.js +0 -12
- package/dist/lib/src/core/constants/ui.constants.js.map +0 -1
- package/dist/lib/src/core/hooks/index.js +0 -9
- package/dist/lib/src/core/hooks/index.js.map +0 -1
- package/dist/lib/src/core/hooks/useApi.js +0 -31
- package/dist/lib/src/core/hooks/useApi.js.map +0 -1
- package/dist/lib/src/core/hooks/useClassNames.js +0 -4
- package/dist/lib/src/core/hooks/useClassNames.js.map +0 -1
- package/dist/lib/src/core/hooks/useOutsideClick.js +0 -18
- package/dist/lib/src/core/hooks/useOutsideClick.js.map +0 -1
- package/dist/lib/src/core/hooks/useParseProps.js +0 -7
- package/dist/lib/src/core/hooks/useParseProps.js.map +0 -1
- package/dist/lib/src/core/hooks/useResize.js +0 -43
- package/dist/lib/src/core/hooks/useResize.js.map +0 -1
- package/dist/lib/src/core/hooks/useThemePreference.js +0 -75
- package/dist/lib/src/core/hooks/useThemePreference.js.map +0 -1
- package/dist/lib/src/core/hooks/useToggle.js +0 -16
- package/dist/lib/src/core/hooks/useToggle.js.map +0 -1
- package/dist/lib/src/core/hooks/useTranslations.js +0 -29
- package/dist/lib/src/core/hooks/useTranslations.js.map +0 -1
- package/dist/lib/src/core/index.js +0 -5
- package/dist/lib/src/core/index.js.map +0 -1
- package/dist/lib/src/core/ui/components/container/CollapsibleContainer.js +0 -56
- package/dist/lib/src/core/ui/components/container/CollapsibleContainer.js.map +0 -1
- package/dist/lib/src/core/ui/components/container/Flex.js +0 -55
- package/dist/lib/src/core/ui/components/container/Flex.js.map +0 -1
- package/dist/lib/src/core/ui/components/container/LayoutBox.js +0 -67
- package/dist/lib/src/core/ui/components/container/LayoutBox.js.map +0 -1
- package/dist/lib/src/core/ui/components/container/Placeholder.js +0 -10
- package/dist/lib/src/core/ui/components/container/Placeholder.js.map +0 -1
- package/dist/lib/src/core/ui/components/container/ResizableContainer.js +0 -25
- package/dist/lib/src/core/ui/components/container/ResizableContainer.js.map +0 -1
- package/dist/lib/src/core/ui/components/container/index.js +0 -7
- package/dist/lib/src/core/ui/components/container/index.js.map +0 -1
- package/dist/lib/src/core/ui/components/container/layoutBox.types.js +0 -9
- package/dist/lib/src/core/ui/components/container/layoutBox.types.js.map +0 -1
- package/dist/lib/src/core/ui/components/dividers/DividerLine.js +0 -24
- package/dist/lib/src/core/ui/components/dividers/DividerLine.js.map +0 -1
- package/dist/lib/src/core/ui/components/dividers/index.js +0 -2
- package/dist/lib/src/core/ui/components/dividers/index.js.map +0 -1
- package/dist/lib/src/core/ui/components/field/Field.js +0 -137
- package/dist/lib/src/core/ui/components/field/Field.js.map +0 -1
- package/dist/lib/src/core/ui/components/field/index.js +0 -3
- package/dist/lib/src/core/ui/components/field/index.js.map +0 -1
- package/dist/lib/src/core/ui/components/field/types.js +0 -2
- package/dist/lib/src/core/ui/components/field/types.js.map +0 -1
- package/dist/lib/src/core/ui/components/icon/Icon.js +0 -5
- package/dist/lib/src/core/ui/components/icon/Icon.js.map +0 -1
- package/dist/lib/src/core/ui/components/icon/IconBase.js +0 -26
- package/dist/lib/src/core/ui/components/icon/IconBase.js.map +0 -1
- package/dist/lib/src/core/ui/components/icon/IconWC.js +0 -76
- package/dist/lib/src/core/ui/components/icon/IconWC.js.map +0 -1
- package/dist/lib/src/core/ui/components/icon/index.js +0 -4
- package/dist/lib/src/core/ui/components/icon/index.js.map +0 -1
- package/dist/lib/src/core/ui/components/icon/unifyIconUrl.js +0 -20
- package/dist/lib/src/core/ui/components/icon/unifyIconUrl.js.map +0 -1
- package/dist/lib/src/core/ui/components/index.js +0 -6
- package/dist/lib/src/core/ui/components/index.js.map +0 -1
- package/dist/lib/src/core/ui/components/molecules/index.js +0 -2
- package/dist/lib/src/core/ui/components/molecules/index.js.map +0 -1
- package/dist/lib/src/core/ui/components/molecules/layouts/FlowLayout.js +0 -51
- package/dist/lib/src/core/ui/components/molecules/layouts/FlowLayout.js.map +0 -1
- package/dist/lib/src/core/ui/components/molecules/layouts/flowLayout.types.js +0 -2
- package/dist/lib/src/core/ui/components/molecules/layouts/flowLayout.types.js.map +0 -1
- package/dist/lib/src/core/ui/components/molecules/layouts/index.js +0 -3
- package/dist/lib/src/core/ui/components/molecules/layouts/index.js.map +0 -1
- package/dist/lib/src/core/ui/index.js +0 -3
- package/dist/lib/src/core/ui/index.js.map +0 -1
- package/dist/lib/src/core/ui/types/CommonProps.js +0 -2
- package/dist/lib/src/core/ui/types/CommonProps.js.map +0 -1
- package/dist/lib/src/core/ui/utils/clickOutside.js +0 -8
- package/dist/lib/src/core/ui/utils/clickOutside.js.map +0 -1
- package/dist/lib/src/core/ui/utils/index.js +0 -2
- package/dist/lib/src/core/ui/utils/index.js.map +0 -1
- package/dist/lib/src/core/ui/utils/style.js +0 -62
- package/dist/lib/src/core/ui/utils/style.js.map +0 -1
- package/dist/lib/src/core/utils/appState/stateMachine/tiny-state-machine.base.js +0 -143
- package/dist/lib/src/core/utils/appState/stateMachine/tiny-state-machine.base.js.map +0 -1
- package/dist/lib/src/core/utils/appState/store/index.js +0 -4
- package/dist/lib/src/core/utils/appState/store/index.js.map +0 -1
- package/dist/lib/src/core/utils/appState/store/simpleComponent/SimpleComponent.js +0 -59
- package/dist/lib/src/core/utils/appState/store/simpleComponent/SimpleComponent.js.map +0 -1
- package/dist/lib/src/core/utils/appState/store/simpleComponent/SimpleComponent2.js +0 -62
- package/dist/lib/src/core/utils/appState/store/simpleComponent/SimpleComponent2.js.map +0 -1
- package/dist/lib/src/core/utils/appState/store/store.vanillajs.js +0 -105
- package/dist/lib/src/core/utils/appState/store/store.vanillajs.js.map +0 -1
- package/dist/lib/src/core/utils/appState/store/store.vanillajs.templates.js +0 -41
- package/dist/lib/src/core/utils/appState/store/store.vanillajs.templates.js.map +0 -1
- package/dist/lib/src/core/utils/appState/store/useStore.react.js +0 -30
- package/dist/lib/src/core/utils/appState/store/useStore.react.js.map +0 -1
- package/dist/lib/src/core/utils/date.js +0 -98
- package/dist/lib/src/core/utils/date.js.map +0 -1
- package/dist/lib/src/core/utils/decorators/convert.js +0 -68
- package/dist/lib/src/core/utils/decorators/convert.js.map +0 -1
- package/dist/lib/src/core/utils/helpers/birthnumber.validator.js +0 -18
- package/dist/lib/src/core/utils/helpers/birthnumber.validator.js.map +0 -1
- package/dist/lib/src/core/utils/helpers/birthnumberCZSKvalidator.js +0 -96
- package/dist/lib/src/core/utils/helpers/birthnumberCZSKvalidator.js.map +0 -1
- package/dist/lib/src/core/utils/helpers/cancelableDelayedFunction.js +0 -9
- package/dist/lib/src/core/utils/helpers/cancelableDelayedFunction.js.map +0 -1
- package/dist/lib/src/core/utils/helpers/date.js +0 -5
- package/dist/lib/src/core/utils/helpers/date.js.map +0 -1
- package/dist/lib/src/core/utils/helpers/deviceInfo.js +0 -11
- package/dist/lib/src/core/utils/helpers/deviceInfo.js.map +0 -1
- package/dist/lib/src/core/utils/helpers/emailMatcher.js +0 -29
- package/dist/lib/src/core/utils/helpers/emailMatcher.js.map +0 -1
- package/dist/lib/src/core/utils/helpers/file.js +0 -22
- package/dist/lib/src/core/utils/helpers/file.js.map +0 -1
- package/dist/lib/src/core/utils/helpers/fileValidator.js +0 -152
- package/dist/lib/src/core/utils/helpers/fileValidator.js.map +0 -1
- package/dist/lib/src/core/utils/helpers/index.js +0 -14
- package/dist/lib/src/core/utils/helpers/index.js.map +0 -1
- package/dist/lib/src/core/utils/helpers/objectOperations.js +0 -98
- package/dist/lib/src/core/utils/helpers/objectOperations.js.map +0 -1
- package/dist/lib/src/core/utils/helpers/other.js +0 -40
- package/dist/lib/src/core/utils/helpers/other.js.map +0 -1
- package/dist/lib/src/core/utils/helpers/textValueOperations.js +0 -37
- package/dist/lib/src/core/utils/helpers/textValueOperations.js.map +0 -1
- package/dist/lib/src/core/utils/helpers/ui.js +0 -27
- package/dist/lib/src/core/utils/helpers/ui.js.map +0 -1
- package/dist/lib/src/core/utils/helpers/valueOperations.js +0 -41
- package/dist/lib/src/core/utils/helpers/valueOperations.js.map +0 -1
- package/dist/lib/src/core/utils/index.js +0 -6
- package/dist/lib/src/core/utils/index.js.map +0 -1
- package/dist/lib/src/core/utils/keyExtractor.js +0 -6
- package/dist/lib/src/core/utils/keyExtractor.js.map +0 -1
- package/dist/lib/src/core/utils/test/testRenderer.js +0 -12
- package/dist/lib/src/core/utils/test/testRenderer.js.map +0 -1
- package/dist/lib/src/core/utils/webComponents/exampleCustomElement.js +0 -42
- package/dist/lib/src/core/utils/webComponents/exampleCustomElement.js.map +0 -1
- package/dist/lib/src/core/utils/webComponents/index.js +0 -2
- package/dist/lib/src/core/utils/webComponents/index.js.map +0 -1
- package/dist/lib/src/core/utils/webComponents/webComponent.utils.js +0 -29
- package/dist/lib/src/core/utils/webComponents/webComponent.utils.js.map +0 -1
- package/dist/lib/src/index.js +0 -2
- package/dist/lib/src/index.js.map +0 -1
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { memo, useMemo } from 'react';
|
|
3
|
-
import { LayoutBox } from '../../container';
|
|
4
|
-
import { classNames } from '../../../../utils';
|
|
5
|
-
import classes from './flowLayout.module.scss';
|
|
6
|
-
/**
|
|
7
|
-
* Renders a flexible flow layout that automatically arranges child components based on specified columns and spacing.
|
|
8
|
-
* This component is highly customizable through its props,
|
|
9
|
-
* allowing for dynamic layouts responsive to the content and screen size.
|
|
10
|
-
*
|
|
11
|
-
* Utilizes a grid layout by default, falling back to flex layout
|
|
12
|
-
* if `numColumns` is not greater than 0. Each item's width
|
|
13
|
-
* and placement can be controlled via `spanColumn` on
|
|
14
|
-
* individual items, with additional layout props provided for fine-tuning.
|
|
15
|
-
*
|
|
16
|
-
* @param {FlowLayoutProps} props The properties to configure the FlowLayout.
|
|
17
|
-
* @param {ItemDTOType[]} props.itemDTOs Array of item DTOs defining the
|
|
18
|
-
* components to render and their layout properties.
|
|
19
|
-
* @param {Partial<LayoutBoxProps>} [props.containerProps={}] Optional.
|
|
20
|
-
* Props to be spread onto the container `LayoutBox`, allowing for custom styles and behaviors.
|
|
21
|
-
* @param {Partial<LayoutBoxProps>} [props.defaultItemLayoutProps={}] Optional.
|
|
22
|
-
* Default layout properties applied to each item, unless overridden by item-specific props.
|
|
23
|
-
* @param {number} [props.numColumns=1] Optional.
|
|
24
|
-
* Defines the number of columns in the grid. Affects item distribution and layout.
|
|
25
|
-
* @param {string} [props.className=''] Optional.
|
|
26
|
-
* Additional CSS class names to apply to the layout container for custom styling.
|
|
27
|
-
* @param {ReactNode} [props.beforeContent] Optional.
|
|
28
|
-
* Content to render before the main items. Useful for titles, descriptions, or custom components.
|
|
29
|
-
* @param {ReactNode} [props.afterContent] Optional.
|
|
30
|
-
Content to render after the main items. Can be used for additional information or actions related to the items.
|
|
31
|
-
* @returns {React.ReactElement} The rendered FlowLayout component.
|
|
32
|
-
*/
|
|
33
|
-
export const FlowLayout = memo(({ itemDTOs, containerProps = {}, defaultItemLayoutProps = {}, numColumns = 1, className = '', beforeContent, afterContent, ...props }) => {
|
|
34
|
-
// Calculation for column styles based on the number of columns specified.
|
|
35
|
-
const columnStyles = useMemo(() => (numColumns > 0
|
|
36
|
-
? {
|
|
37
|
-
display: 'grid',
|
|
38
|
-
gridTemplateColumns: `${'1fr '.repeat(numColumns)}`,
|
|
39
|
-
width: '100%',
|
|
40
|
-
height: 'unset',
|
|
41
|
-
}
|
|
42
|
-
: {
|
|
43
|
-
display: 'flex',
|
|
44
|
-
}), [numColumns]);
|
|
45
|
-
return (_jsxs(LayoutBox, { width: '100%', column: true, className: classNames(classes.flowLayout, className), ...props, children: [beforeContent && (_jsx("span", { className: classes.beforeContent, tabIndex: -1, children: beforeContent })), _jsx(LayoutBox, { flexWrap: 'wrap', gap: '1rem', style: columnStyles, width: '100%', ...containerProps, children: itemDTOs.map(({ id, spanColumn, Component, layoutProps, ...props }) => (_jsx(LayoutBox, { ...defaultItemLayoutProps, ...layoutProps, ...(spanColumn
|
|
46
|
-
? { style: { width: `calc(${Math.round(spanColumn * 100)}% - ${spanColumn * 16}px)` } }
|
|
47
|
-
: {}), children: _jsx(Component, { ...props }) }, id))) }), afterContent && (_jsx("span", { className: classes.afterContent, tabIndex: -1, children: afterContent }))] }));
|
|
48
|
-
});
|
|
49
|
-
// Set display name for the component.
|
|
50
|
-
FlowLayout.displayName = 'FlowLayout';
|
|
51
|
-
//# sourceMappingURL=FlowLayout.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FlowLayout.js","sourceRoot":"","sources":["../../../../../../../../src/core/ui/components/molecules/layouts/FlowLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAM,OAAO,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAG9C,OAAO,OAAO,MAAM,0BAA0B,CAAA;AAG9C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,UAAU,GAAwB,IAAI,CAAkB,CAAC,EACpE,QAAQ,EACR,cAAc,GAAG,EAAE,EACnB,sBAAsB,GAAG,EAAE,EAC3B,UAAU,GAAG,CAAC,EACd,SAAS,GAAG,EAAE,EACd,aAAa,EACb,YAAY,EACZ,GAAG,KAAK,EACQ,EAAE,EAAE;IACpB,0EAA0E;IAC1E,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU,GAAG,CAAC;QAChD,CAAC,CAAC;YACA,OAAO,EAAE,MAAM;YACf,mBAAmB,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YACnD,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,OAAO;SAChB;QACD,CAAC,CAAC;YACA,OAAO,EAAE,MAAM;SAChB,CACF,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAEhB,OAAO,CACL,MAAC,SAAS,IACR,KAAK,EAAC,MAAM,EACZ,MAAM,QACN,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,KAChD,KAAK,aAER,aAAa,IAAI,CAChB,eAAM,SAAS,EAAE,OAAO,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,YACjD,aAAa,GACT,CACR,EACD,KAAC,SAAS,IACR,QAAQ,EAAC,MAAM,EACf,GAAG,EAAC,MAAM,EACV,KAAK,EAAE,YAAY,EACnB,KAAK,EAAC,MAAM,KACR,cAAc,YAEjB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,KAAK,EAAe,EAAE,EAAE,CAAC,CACnF,KAAC,SAAS,OAEJ,sBAAsB,KACtB,WAAW,KACX,CAAC,UAAU;wBACb,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,OAAO,UAAU,GAAG,EAAE,KAAK,EAAE,EAAE;wBACvF,CAAC,CAAC,EAAE,CAAC,YAEP,KAAC,SAAS,OAAK,KAAK,GAAI,IAPnB,EAAE,CAQG,CACb,CAAC,GACQ,EACX,YAAY,IAAI,CACf,eAAM,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,YAChD,YAAY,GACR,CACR,IACS,CACb,CAAA;AACH,CAAC,CAAC,CAAA;AAIF,sCAAsC;AACtC,UAAU,CAAC,WAAW,GAAG,YAAY,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flowLayout.types.js","sourceRoot":"","sources":["../../../../../../../../src/core/ui/components/molecules/layouts/flowLayout.types.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../src/core/ui/components/molecules/layouts/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CommonProps.js","sourceRoot":"","sources":["../../../../../../src/core/ui/types/CommonProps.ts"],"names":[],"mappings":""}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export const handleClickOutside = (element, callback) => (event) => {
|
|
2
|
-
const target = event.target;
|
|
3
|
-
const resolvedElement = typeof element === 'function' ? element() : element;
|
|
4
|
-
if (resolvedElement && !resolvedElement.contains(target)) {
|
|
5
|
-
callback?.(target);
|
|
6
|
-
}
|
|
7
|
-
};
|
|
8
|
-
//# sourceMappingURL=clickOutside.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clickOutside.js","sourceRoot":"","sources":["../../../../../../src/core/ui/utils/clickOutside.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,OAAgB,EAChB,QAA2B,EAC3B,EAAE,CAAC,CAAC,KAAiB,EAAE,EAAE;IACzB,MAAM,MAAM,GAAG,KAAK,CAAC,MAA4B,CAAA;IACjD,MAAM,eAAe,GAAsB,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;IAE9F,IAAI,eAAe,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAA;IACpB,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/core/ui/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
// eslint-disable-next-line import/no-mutable-exports
|
|
2
|
-
export let defaultFontSize = 16;
|
|
3
|
-
export const setDefaultFontSize = (fontSize) => {
|
|
4
|
-
defaultFontSize = fontSize;
|
|
5
|
-
};
|
|
6
|
-
export const pxToRem = (px) => px / defaultFontSize;
|
|
7
|
-
export const resolveStyleValue = (value, units = 'rem') => {
|
|
8
|
-
if (typeof value === 'string') {
|
|
9
|
-
return value;
|
|
10
|
-
}
|
|
11
|
-
if (units === 'px') {
|
|
12
|
-
return `${pxToRem(value)}rem`;
|
|
13
|
-
}
|
|
14
|
-
return `${value}${units}`;
|
|
15
|
-
};
|
|
16
|
-
/* eslint-disable no-param-reassign */
|
|
17
|
-
export const toHex = (x) => {
|
|
18
|
-
x = x.toString(16);
|
|
19
|
-
return x.padStart(2, '0');
|
|
20
|
-
};
|
|
21
|
-
export const convertHex = (hex, opacity, rgba = false) => {
|
|
22
|
-
const hexValue = hex.replace('#', '');
|
|
23
|
-
const rValue = hexValue.substring(0, 2);
|
|
24
|
-
const gValue = hexValue.substring(2, 4);
|
|
25
|
-
const bValue = hexValue.substring(4, 6);
|
|
26
|
-
const r = parseInt(rValue, 16);
|
|
27
|
-
const g = parseInt(gValue, 16);
|
|
28
|
-
const b = parseInt(bValue, 16);
|
|
29
|
-
const a = opacity <= 1 ? opacity : (opacity / 100);
|
|
30
|
-
return (rgba
|
|
31
|
-
? `rgba(${r},${g},${b},${a})`
|
|
32
|
-
: `#${rValue}${gValue}${bValue}${toHex(Math.round((opacity <= 1 ? opacity : (opacity / 100)) * 255))}`)
|
|
33
|
-
.toLowerCase();
|
|
34
|
-
};
|
|
35
|
-
export const convertRGB = (r, g, b, opacity) => `#${toHex(r)}${toHex(g)}${toHex(b)}${toHex(Math.round((opacity <= 1 ? opacity : (opacity / 100)) * 255))}`;
|
|
36
|
-
export const calculatePercColor = (startColor, endColor, ratio = 0.5) => {
|
|
37
|
-
if (startColor.indexOf('#') === 0) {
|
|
38
|
-
startColor = startColor.substr(1);
|
|
39
|
-
}
|
|
40
|
-
if (endColor.indexOf('#') === 0) {
|
|
41
|
-
endColor = endColor.substr(1);
|
|
42
|
-
}
|
|
43
|
-
const r = Math.ceil(parseInt(endColor.substring(0, 2), 16) * ratio
|
|
44
|
-
+ parseInt(startColor.substring(0, 2), 16) * (1 - ratio));
|
|
45
|
-
const g = Math.ceil(parseInt(endColor.substring(2, 4), 16) * ratio
|
|
46
|
-
+ parseInt(startColor.substring(2, 4), 16) * (1 - ratio));
|
|
47
|
-
const b = Math.ceil(parseInt(endColor.substring(4, 6), 16) * ratio
|
|
48
|
-
+ parseInt(startColor.substring(4, 6), 16) * (1 - ratio));
|
|
49
|
-
return `#${toHex(r) + toHex(g) + toHex(b)}`;
|
|
50
|
-
};
|
|
51
|
-
export const calculateColors = (startColor, endColor, num = 10) => {
|
|
52
|
-
const ratioIterator = (num / (num + 1)) / num;
|
|
53
|
-
const ratios = [];
|
|
54
|
-
let ratio = ratioIterator;
|
|
55
|
-
// eslint-disable-next-line no-plusplus
|
|
56
|
-
while (num--) {
|
|
57
|
-
ratios.push(ratio);
|
|
58
|
-
ratio += ratioIterator;
|
|
59
|
-
}
|
|
60
|
-
return ratios.map((rat) => calculatePercColor(startColor, endColor, rat));
|
|
61
|
-
};
|
|
62
|
-
//# sourceMappingURL=style.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","sourceRoot":"","sources":["../../../../../../src/core/ui/utils/style.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
export var TinyStateMachineEventType;
|
|
2
|
-
(function (TinyStateMachineEventType) {
|
|
3
|
-
TinyStateMachineEventType["CHANGE"] = "change";
|
|
4
|
-
TinyStateMachineEventType["TRANSITIONED_TO"] = "transitionedTo";
|
|
5
|
-
TinyStateMachineEventType["TRANSITIONED_FROM"] = "transitionedFrom";
|
|
6
|
-
TinyStateMachineEventType["ADDED_TO_QUEUE"] = "addedToQueue";
|
|
7
|
-
TinyStateMachineEventType["REMOVED_FROM_QUEUE"] = "removedFromQueue";
|
|
8
|
-
})(TinyStateMachineEventType || (TinyStateMachineEventType = {}));
|
|
9
|
-
export class TinyStateMachineEvent extends Event {
|
|
10
|
-
constructor(type, eventInitDict) {
|
|
11
|
-
super(type, eventInitDict);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
export class TinyStateMachineState {
|
|
15
|
-
#name;
|
|
16
|
-
#listeners;
|
|
17
|
-
constructor(name) {
|
|
18
|
-
this.#name = name;
|
|
19
|
-
this.#listeners = new Set();
|
|
20
|
-
}
|
|
21
|
-
get name() {
|
|
22
|
-
return this.#name;
|
|
23
|
-
}
|
|
24
|
-
subscribe = (listener) => {
|
|
25
|
-
this.#listeners.add(listener);
|
|
26
|
-
return () => this.#listeners.delete(listener);
|
|
27
|
-
};
|
|
28
|
-
unsubscribe = (listener) => {
|
|
29
|
-
this.#listeners.delete(listener);
|
|
30
|
-
};
|
|
31
|
-
publish = (event) => {
|
|
32
|
-
if (!this.#listeners?.size) {
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
// eslint-disable-next-line no-restricted-syntax
|
|
36
|
-
for (const listener of this.#listeners) {
|
|
37
|
-
listener(event);
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
toString = () => `TinyStateMachineSate: ${this.#name}`;
|
|
41
|
-
get [Symbol.toStringTag]() {
|
|
42
|
-
return `TinyStateMachineSate: ${this.#name}`;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
export const createStates = (stateNames) => new Set(stateNames.map((name) => new TinyStateMachineState(name)));
|
|
46
|
-
export class TinyStateMachine {
|
|
47
|
-
#states;
|
|
48
|
-
#listeners;
|
|
49
|
-
#currentState;
|
|
50
|
-
constructor(states) {
|
|
51
|
-
this.#states = states;
|
|
52
|
-
this.#listeners = new Set();
|
|
53
|
-
}
|
|
54
|
-
addState = (state) => {
|
|
55
|
-
this.#states.add(state);
|
|
56
|
-
};
|
|
57
|
-
removeState = (state) => {
|
|
58
|
-
this.#states.delete(state);
|
|
59
|
-
};
|
|
60
|
-
get states() {
|
|
61
|
-
return this.#states;
|
|
62
|
-
}
|
|
63
|
-
get currentState() {
|
|
64
|
-
return this.#currentState;
|
|
65
|
-
}
|
|
66
|
-
subscribe = (listener) => {
|
|
67
|
-
this.#listeners.add(listener);
|
|
68
|
-
return () => this.#listeners.delete(listener);
|
|
69
|
-
};
|
|
70
|
-
unsubscribe = (listener) => {
|
|
71
|
-
this.#listeners.delete(listener);
|
|
72
|
-
};
|
|
73
|
-
publish = (event, state) => {
|
|
74
|
-
if (!this.#listeners?.size) {
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
// eslint-disable-next-line no-restricted-syntax
|
|
78
|
-
for (const listener of this.#listeners) {
|
|
79
|
-
listener(event, state);
|
|
80
|
-
}
|
|
81
|
-
};
|
|
82
|
-
#getStateByName = (stateName) => Array
|
|
83
|
-
.from(this.#states).find((state) => state.name === stateName);
|
|
84
|
-
#getStateByState = (state) => (this.#states.has(state) ? state : undefined);
|
|
85
|
-
gotoState = (state) => {
|
|
86
|
-
const foundState = typeof state === 'string'
|
|
87
|
-
? this.#getStateByName(state)
|
|
88
|
-
: this.#getStateByState(state);
|
|
89
|
-
if (!foundState) {
|
|
90
|
-
throw Error(`TinyStateMachin::gotoState state not found: ${state}`);
|
|
91
|
-
}
|
|
92
|
-
const prevState = this.#currentState;
|
|
93
|
-
this.#currentState = foundState;
|
|
94
|
-
this.publish(new TinyStateMachineEvent(TinyStateMachineEventType.TRANSITIONED_FROM), prevState);
|
|
95
|
-
this.publish(new TinyStateMachineEvent(TinyStateMachineEventType.TRANSITIONED_TO), foundState);
|
|
96
|
-
prevState?.publish(new TinyStateMachineEvent(TinyStateMachineEventType.TRANSITIONED_FROM));
|
|
97
|
-
this.#currentState.publish(new TinyStateMachineEvent(TinyStateMachineEventType.TRANSITIONED_TO));
|
|
98
|
-
return true;
|
|
99
|
-
};
|
|
100
|
-
next = () => {
|
|
101
|
-
let nextState;
|
|
102
|
-
const arrayOfStates = Array.from(this.#states);
|
|
103
|
-
if (!this.#currentState) {
|
|
104
|
-
[nextState] = arrayOfStates;
|
|
105
|
-
return this.gotoState(nextState) ? nextState : null;
|
|
106
|
-
}
|
|
107
|
-
const currentStateIndex = arrayOfStates
|
|
108
|
-
.findIndex((state) => state === this.#currentState);
|
|
109
|
-
if (currentStateIndex < this.#states.size - 2) {
|
|
110
|
-
nextState = arrayOfStates[currentStateIndex + 1];
|
|
111
|
-
return this.gotoState(nextState) ? nextState : null;
|
|
112
|
-
}
|
|
113
|
-
return null;
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
export const stateIterator = function* () {
|
|
117
|
-
let operation;
|
|
118
|
-
let state = stateIterator.IS_RUNNING;
|
|
119
|
-
while (true) {
|
|
120
|
-
// console.log('inside while loop')
|
|
121
|
-
// // eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
122
|
-
// // @ts-ignore
|
|
123
|
-
// // eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
124
|
-
// // @ts-ignore
|
|
125
|
-
operation = yield state;
|
|
126
|
-
// // console.log('operation', operation)
|
|
127
|
-
// // console.log('state', state)
|
|
128
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
129
|
-
// @ts-ignore
|
|
130
|
-
if (operation === stateIterator.DO_END) {
|
|
131
|
-
state = stateIterator.IS_FINITE;
|
|
132
|
-
yield state;
|
|
133
|
-
break;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
yield* [1, 2, 3];
|
|
137
|
-
yield 123;
|
|
138
|
-
return 10;
|
|
139
|
-
};
|
|
140
|
-
stateIterator.DO_END = '__DO__END__';
|
|
141
|
-
stateIterator.IS_FINITE = '__IS__FINITE__';
|
|
142
|
-
stateIterator.IS_RUNNING = '__IS__RUNNING__';
|
|
143
|
-
//# sourceMappingURL=tiny-state-machine.base.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tiny-state-machine.base.js","sourceRoot":"","sources":["../../../../../../../src/core/utils/appState/stateMachine/tiny-state-machine.base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/core/utils/appState/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kBAAkB,CAAA"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { memo, useCallback } from 'react';
|
|
3
|
-
import { createSelector } from 'reselect';
|
|
4
|
-
import { useStore } from '../useStore.react';
|
|
5
|
-
import { createStore } from '../store.vanillajs';
|
|
6
|
-
import { LayoutBox } from '../../../../ui/components/container/LayoutBox';
|
|
7
|
-
import { delay } from '../../../helpers/other';
|
|
8
|
-
export const simpleStore = createStore({
|
|
9
|
-
title: 'Initial Title',
|
|
10
|
-
count: 0,
|
|
11
|
-
data: [1, 2, 3],
|
|
12
|
-
}, {
|
|
13
|
-
addData: async (getState, setState) => {
|
|
14
|
-
console.log('addData start');
|
|
15
|
-
await delay(1000);
|
|
16
|
-
console.log('addData end');
|
|
17
|
-
setState({
|
|
18
|
-
...getState(),
|
|
19
|
-
title: 'Added Data Title',
|
|
20
|
-
});
|
|
21
|
-
},
|
|
22
|
-
addCount: (getState, setState) => {
|
|
23
|
-
const prevState = getState();
|
|
24
|
-
setState({
|
|
25
|
-
...prevState,
|
|
26
|
-
count: (prevState.count || 0) + 1,
|
|
27
|
-
});
|
|
28
|
-
},
|
|
29
|
-
});
|
|
30
|
-
let renderCount = 0;
|
|
31
|
-
export const getRenderCount = () => renderCount;
|
|
32
|
-
export const setRenderCount = (count) => {
|
|
33
|
-
renderCount = count;
|
|
34
|
-
};
|
|
35
|
-
const titleSelector = (state) => state.title;
|
|
36
|
-
const countSelector = (state) => state.count;
|
|
37
|
-
// const dataSelector = (state: Partial<SimpleState>) => state.data
|
|
38
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
39
|
-
// @ts-ignore
|
|
40
|
-
const simpleSelector = createSelector(titleSelector, countSelector,
|
|
41
|
-
// dataSelector,
|
|
42
|
-
(title, count, data) => {
|
|
43
|
-
console.log('simpleSelector called');
|
|
44
|
-
return {
|
|
45
|
-
title,
|
|
46
|
-
count,
|
|
47
|
-
data,
|
|
48
|
-
};
|
|
49
|
-
});
|
|
50
|
-
export const SimpleComponent = memo(({ children }) => {
|
|
51
|
-
renderCount += 1;
|
|
52
|
-
const { title, count, data } = useStore(simpleStore, simpleSelector);
|
|
53
|
-
const simpleComponentButtonClickHandler = useCallback(() => {
|
|
54
|
-
simpleStore.actions.addCount();
|
|
55
|
-
}, []);
|
|
56
|
-
return (_jsxs(LayoutBox, { direction: 'column', children: [_jsx("h3", { children: title }), _jsx("p", { children: count }), _jsx("p", { children: JSON.stringify(data) }), _jsx("button", { type: 'button', id: 'simpleComponentButton', onClick: simpleComponentButtonClickHandler, children: "Add Count" }), children && (_jsx(LayoutBox, { children: children }))] }));
|
|
57
|
-
});
|
|
58
|
-
SimpleComponent.displayName = 'SimpleComponent';
|
|
59
|
-
//# sourceMappingURL=SimpleComponent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleComponent.js","sourceRoot":"","sources":["../../../../../../../../src/core/utils/appState/store/simpleComponent/SimpleComponent.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { memo, useCallback } from 'react';
|
|
3
|
-
import { createSelector } from 'reselect';
|
|
4
|
-
import { useStore } from '../useStore.react';
|
|
5
|
-
import { createStore } from '../store.vanillajs';
|
|
6
|
-
import { LayoutBox } from '../../../../ui/components/container/LayoutBox';
|
|
7
|
-
import { delay } from '../../../helpers/other';
|
|
8
|
-
export const simpleStore2 = createStore({
|
|
9
|
-
title: 'Initial Title',
|
|
10
|
-
count: 0,
|
|
11
|
-
data: [1, 2, 3],
|
|
12
|
-
}, {
|
|
13
|
-
addData: async (getState, setState) => {
|
|
14
|
-
console.log('addData start');
|
|
15
|
-
await delay(1000);
|
|
16
|
-
console.log('addData end');
|
|
17
|
-
setState({
|
|
18
|
-
...getState(),
|
|
19
|
-
title: 'Added Data Title',
|
|
20
|
-
});
|
|
21
|
-
},
|
|
22
|
-
addCount: (getState, setState) => {
|
|
23
|
-
const prevState = getState();
|
|
24
|
-
setState({
|
|
25
|
-
...prevState,
|
|
26
|
-
count: (prevState.count || 0) + 1,
|
|
27
|
-
});
|
|
28
|
-
},
|
|
29
|
-
});
|
|
30
|
-
let renderCount = 0;
|
|
31
|
-
export const getRenderCount = () => renderCount;
|
|
32
|
-
export const setRenderCount = (count) => {
|
|
33
|
-
renderCount = count;
|
|
34
|
-
};
|
|
35
|
-
const titleSelector = (state) => state.title;
|
|
36
|
-
const countSelector = (state) => state.count;
|
|
37
|
-
// const dataSelector = (state: Partial<SimpleState>) => state.data
|
|
38
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
39
|
-
// @ts-ignore
|
|
40
|
-
const simpleSelector = createSelector(titleSelector, countSelector,
|
|
41
|
-
// dataSelector,
|
|
42
|
-
(title, count, data) => {
|
|
43
|
-
console.log('simpleSelector called');
|
|
44
|
-
return {
|
|
45
|
-
title,
|
|
46
|
-
count,
|
|
47
|
-
data,
|
|
48
|
-
};
|
|
49
|
-
});
|
|
50
|
-
export const SimpleComponent2 = memo(({ children }) => {
|
|
51
|
-
renderCount += 1;
|
|
52
|
-
const [{ title, count, data }, setState] = useStore(simpleStore2, simpleSelector, true);
|
|
53
|
-
const simpleComponentButtonClickHandler = useCallback(() => {
|
|
54
|
-
setState({
|
|
55
|
-
...simpleStore2.getState(),
|
|
56
|
-
count: 111,
|
|
57
|
-
});
|
|
58
|
-
}, [setState]);
|
|
59
|
-
return (_jsxs(LayoutBox, { direction: 'column', children: [_jsx("h3", { children: title }), _jsx("p", { children: count }), _jsx("p", { children: JSON.stringify(data) }), _jsx("button", { type: 'button', id: 'simpleComponentButton', onClick: simpleComponentButtonClickHandler, children: "Add Count" }), children && (_jsx(LayoutBox, { children: children }))] }));
|
|
60
|
-
});
|
|
61
|
-
SimpleComponent2.displayName = 'SimpleComponent2';
|
|
62
|
-
//# sourceMappingURL=SimpleComponent2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleComponent2.js","sourceRoot":"","sources":["../../../../../../../../src/core/utils/appState/store/simpleComponent/SimpleComponent2.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
// TinyStore, inspired by https://github.com/jherr/syncexternalstore/blob/main/csr/src/store.js
|
|
2
|
-
/**
|
|
3
|
-
* Creates a new store.
|
|
4
|
-
* @param initialState - The initial state of the store.
|
|
5
|
-
* @param actions - Optional actions for the store.
|
|
6
|
-
* @returns The created store.
|
|
7
|
-
*/
|
|
8
|
-
export const createStore = (initialState, actions, reducer) => {
|
|
9
|
-
let currentState = initialState;
|
|
10
|
-
const listeners = new Set();
|
|
11
|
-
/**
|
|
12
|
-
* Gets the current state of the store.
|
|
13
|
-
* @returns The current state of the store.
|
|
14
|
-
*/
|
|
15
|
-
const getState = () => currentState;
|
|
16
|
-
// TODO debounce, batch? what is the meaningful time between setState ofr UI to be rendered and registerd by User?
|
|
17
|
-
/**
|
|
18
|
-
* Sets the state of the store.
|
|
19
|
-
* @param newState - The new state to set.
|
|
20
|
-
* @returns A promise that resolves to the new state.
|
|
21
|
-
*/
|
|
22
|
-
const setState = async (newState) => {
|
|
23
|
-
currentState = newState;
|
|
24
|
-
// eslint-disable-next-line no-restricted-syntax
|
|
25
|
-
for (const listener of listeners) {
|
|
26
|
-
// has Listener selector?
|
|
27
|
-
const selector = listener?.selector;
|
|
28
|
-
// TODO compare selected value to the previous values of that listener/selector pair
|
|
29
|
-
// if listener.previousValue === selector(currentState) no call
|
|
30
|
-
// else listener.previousValue = selector(currentState) and call
|
|
31
|
-
// l1 cache, weak references?
|
|
32
|
-
const newValue = selector ? selector(currentState) : currentState;
|
|
33
|
-
// TODO plugin equality
|
|
34
|
-
if (listener.previousValue === undefined || listener.previousValue !== newValue) {
|
|
35
|
-
listener.previousValue = newValue;
|
|
36
|
-
// eslint-disable-next-line no-await-in-loop
|
|
37
|
-
await listener(newValue);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return currentState;
|
|
41
|
-
};
|
|
42
|
-
/**
|
|
43
|
-
* Represents the basic API of the store.
|
|
44
|
-
*/
|
|
45
|
-
const storeBaseicApi = {
|
|
46
|
-
/**
|
|
47
|
-
* Get the current state of the store.
|
|
48
|
-
* @returns The current state of the store.
|
|
49
|
-
*/
|
|
50
|
-
getState,
|
|
51
|
-
/**
|
|
52
|
-
* Set the state of the store.
|
|
53
|
-
* @param state - The new state to set.
|
|
54
|
-
* @returns A promise that resolves to the new state.
|
|
55
|
-
*/
|
|
56
|
-
setState,
|
|
57
|
-
/**
|
|
58
|
-
* Subscribe a listener to the store.
|
|
59
|
-
* @param listener - The listener function to be subscribed.
|
|
60
|
-
* @returns A function to unsubscribe the listener.
|
|
61
|
-
*/
|
|
62
|
-
subscribe: (listener, selector) => {
|
|
63
|
-
if (selector && listener.selector && listener.selector !== selector) {
|
|
64
|
-
throw new Error('Error, mismatchm selector, listener.selector !== selector.');
|
|
65
|
-
}
|
|
66
|
-
if (selector && !listener.selector) {
|
|
67
|
-
// eslint-disable-next-line no-param-reassign
|
|
68
|
-
listener.selector = selector;
|
|
69
|
-
}
|
|
70
|
-
listeners.add(listener);
|
|
71
|
-
return () => listeners.delete(listener);
|
|
72
|
-
},
|
|
73
|
-
/**
|
|
74
|
-
* Unsubscribe a listener from the store.
|
|
75
|
-
* @param listener - The listener function to be unsubscribed.
|
|
76
|
-
*/
|
|
77
|
-
unsubscribe: (listener) => {
|
|
78
|
-
listeners.delete(listener);
|
|
79
|
-
},
|
|
80
|
-
};
|
|
81
|
-
/**
|
|
82
|
-
* Resolves the actions and creates action handlers.
|
|
83
|
-
*/
|
|
84
|
-
const resolvedActions = actions ? Object.entries(actions)?.reduce((aggregator, [actionName, actionHandler]) => ({
|
|
85
|
-
...aggregator,
|
|
86
|
-
[actionName]: async (...rest) => {
|
|
87
|
-
const resultOfAction = await actionHandler(getState, setState, ...rest);
|
|
88
|
-
if (reducer) {
|
|
89
|
-
setState(reducer(getState(), actionName, ...rest));
|
|
90
|
-
}
|
|
91
|
-
return resultOfAction;
|
|
92
|
-
},
|
|
93
|
-
}), {}) : null;
|
|
94
|
-
/**
|
|
95
|
-
* Represents the store combined with actions.
|
|
96
|
-
*/
|
|
97
|
-
const storeCombinedWithActions = {
|
|
98
|
-
...storeBaseicApi,
|
|
99
|
-
...(resolvedActions ? { actions: { ...resolvedActions } } : {}),
|
|
100
|
-
};
|
|
101
|
-
return resolvedActions
|
|
102
|
-
? storeCombinedWithActions
|
|
103
|
-
: storeCombinedWithActions;
|
|
104
|
-
};
|
|
105
|
-
//# sourceMappingURL=store.vanillajs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store.vanillajs.js","sourceRoot":"","sources":["../../../../../../../src/core/utils/appState/store/store.vanillajs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { createStore } from './store.vanillajs';
|
|
2
|
-
/**
|
|
3
|
-
* Creates a data store with actions.
|
|
4
|
-
* @param dataId - The ID of the data.
|
|
5
|
-
* @param actions - Optional actions for the data store.
|
|
6
|
-
* @returns The created data store with actions.
|
|
7
|
-
*/
|
|
8
|
-
export const createDataStore = (dataId, initialState, actions, reducer) => {
|
|
9
|
-
const loadActions = {
|
|
10
|
-
...actions,
|
|
11
|
-
/**
|
|
12
|
-
* Loads data into the data store.
|
|
13
|
-
* @param getState - Function to get the current state of the data store.
|
|
14
|
-
* @param setState - Function to set the state of the data store.
|
|
15
|
-
* @param dataPromise - The data promise to be loaded.
|
|
16
|
-
* @returns A promise that resolves to the updated state of the data store.
|
|
17
|
-
*/
|
|
18
|
-
load: async (getState, setState, dataPromise) => {
|
|
19
|
-
const dataState = getState();
|
|
20
|
-
setState({ ...dataState, isLoading: true });
|
|
21
|
-
try {
|
|
22
|
-
const response = await dataPromise;
|
|
23
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
24
|
-
// @ts-ignore
|
|
25
|
-
dataState.data = response?.data || response;
|
|
26
|
-
}
|
|
27
|
-
catch (error) {
|
|
28
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
29
|
-
// @ts-ignore
|
|
30
|
-
dataState.error = error;
|
|
31
|
-
}
|
|
32
|
-
return setState({ ...dataState, isLoading: false });
|
|
33
|
-
},
|
|
34
|
-
};
|
|
35
|
-
return (createStore({
|
|
36
|
-
...initialState,
|
|
37
|
-
dataId,
|
|
38
|
-
isLoading: false,
|
|
39
|
-
}, loadActions, reducer));
|
|
40
|
-
};
|
|
41
|
-
//# sourceMappingURL=store.vanillajs.templates.js.map
|