@e1011/es-kit 1.0.86 → 1.0.88

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.
Files changed (30) hide show
  1. package/dist/lib/cjs/src/core/ui/components/field/Field.js.map +1 -1
  2. package/dist/lib/cjs/src/core/utils/appState/store/store.vanillajs.js.map +1 -1
  3. package/dist/lib/cjs/src/core/utils/appState/store/useStore.react.js +1 -1
  4. package/dist/lib/cjs/src/core/utils/appState/store/useStore.react.js.map +1 -1
  5. package/dist/lib/cjs/src/index.js +1 -1
  6. package/dist/lib/esm/src/core/ui/components/field/Field.js.map +1 -1
  7. package/dist/lib/esm/src/core/utils/appState/store/store.vanillajs.js.map +1 -1
  8. package/dist/lib/esm/src/core/utils/appState/store/useStore.react.js +1 -1
  9. package/dist/lib/esm/src/core/utils/appState/store/useStore.react.js.map +1 -1
  10. package/dist/lib/esm/src/index.js +1 -1
  11. package/dist/lib/src/core/utils/appState/store/store.vanillajs.js.map +1 -1
  12. package/dist/lib/src/core/utils/appState/store/useStore.react.js +6 -1
  13. package/dist/lib/src/core/utils/appState/store/useStore.react.js.map +1 -1
  14. package/dist/lib/tsconfig.tsbuildinfo +1 -1
  15. package/dist/types/src/core/ui/components/field/Field.d.ts +1 -1
  16. package/dist/types/src/core/ui/components/field/Field.d.ts.map +1 -1
  17. package/dist/types/src/core/utils/appState/store/store.vanillajs.d.ts.map +1 -1
  18. package/dist/types/src/core/utils/appState/store/useStore.react.d.ts +5 -1
  19. package/dist/types/src/core/utils/appState/store/useStore.react.d.ts.map +1 -1
  20. package/dist/ui/esm/src/core/ui/components/field/Field.js.map +1 -1
  21. package/dist/ui/src/core/ui/components/field/Field.js.map +1 -1
  22. package/dist/utils/esm/src/core/utils/appState/store/store.vanillajs.js.map +1 -1
  23. package/dist/utils/esm/src/core/utils/appState/store/useStore.react.js +1 -1
  24. package/dist/utils/esm/src/core/utils/appState/store/useStore.react.js.map +1 -1
  25. package/dist/utils/esm/src/core/utils/index.js +1 -1
  26. package/dist/utils/src/core/utils/appState/store/store.vanillajs.js.map +1 -1
  27. package/dist/utils/src/core/utils/appState/store/useStore.react.js +1 -1
  28. package/dist/utils/src/core/utils/appState/store/useStore.react.js.map +1 -1
  29. package/dist/utils/src/core/utils/index.js +1 -1
  30. package/package.json +1 -1
@@ -2,7 +2,7 @@ import { FC, ReactNode, PropsWithChildren } from 'react';
2
2
  import type { FieldError, IconComponentType } from './types';
3
3
  export declare const setIconColor: (color: string | (() => string)) => void;
4
4
  export declare const setIconComponent: (component: IconComponentType) => void;
5
- export type FileWrapperProps = PropsWithChildren & {
5
+ export type FileWrapperProps = PropsWithChildren<unknown> & {
6
6
  className?: string;
7
7
  error?: boolean;
8
8
  disabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/ui/components/field/Field.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/ui/components/field/Field.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.vanillajs.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/utils/appState/store/store.vanillajs.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;AAG7D,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAG5D,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IACxB,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;CACvB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAA;AAEvB,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI;IACrB,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAA;IAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IACrC,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,CAAA;CACjD,GAAG;IAAE,OAAO,CAAC,EAAE;QAAE,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,CAAA;KAAE,CAAA;CAAE,CAAA;AAG/D,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;AAGhE,MAAM,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAA;AAG5C,eAAO,MAAM,WAAW,mGAmDvB,CAAA"}
1
+ {"version":3,"file":"store.vanillajs.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/utils/appState/store/store.vanillajs.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;AAE7D,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAE5D,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IACxB,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;CACvB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAA;AAEvB,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI;IACrB,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAA;IAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IACrC,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,CAAA;CACjD,GAAG;IAAE,OAAO,CAAC,EAAE;QAAE,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,CAAA;KAAE,CAAA;CAAE,CAAA;AAE/D,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;AAEhE,MAAM,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAA;AAG5C,eAAO,MAAM,WAAW,mGAmDvB,CAAA"}
@@ -1,3 +1,7 @@
1
1
  import type { Store, Selector } from './store.vanillajs';
2
- export declare const useStore: <T>(store: Store<T>, selector?: Selector<T>) => Partial<T>;
2
+ export declare const useStore: <T>(store: Store<T>, selector?: Selector<T>) => ({
3
+ [actionName: string]: import("./store.vanillajs").ActionHandlerCaller;
4
+ } | Partial<T> | ((state: Partial<T>) => void) | undefined)[];
5
+ export type useStateType<T> = [ReturnType<typeof useStore>, Store<T>['setState'], Store<T>['actions']];
6
+ export declare const useState: <T>(store: Store<T>, selector?: Selector<T>) => useStateType<T>;
3
7
  //# sourceMappingURL=useStore.react.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useStore.react.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/utils/appState/store/useStore.react.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAExD,eAAO,MAAM,QAAQ,4DAMuD,CAAA"}
1
+ {"version":3,"file":"useStore.react.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/utils/appState/store/useStore.react.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAExD,eAAO,MAAM,QAAQ;;6DAMwF,CAAA;AAE7G,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAE,CAAA;AAEvG,eAAO,MAAM,QAAQ,iEAOjB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Field.js","sources":["../../../../../../../../src/core/ui/components/field/Field.tsx"],"sourcesContent":["/* eslint-disable react/jsx-props-no-spreading */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport { FC, ReactNode, memo, useMemo, useCallback, PropsWithChildren } from 'react'\nimport styled from 'styled-components'\n\nimport type { FieldError, IconComponentType } from './types'\n\nlet iconColor: string | (() => string) = () => '#000000'\n\nexport const setIconColor = (color: string | (() => string)): void => {\n iconColor = color\n}\n\nlet IconComponent: IconComponentType = memo(function IconComponent() { return <span /> })\n\nexport const setIconComponent = (component: IconComponentType): void => {\n IconComponent = component\n}\n\nexport type FileWrapperProps = PropsWithChildren & {\n className?: string\n error?: boolean\n disabled?: boolean\n userDisabled?: boolean\n css?: string\n}\n\nexport const FieldWrapper: FC<FileWrapperProps> = styled.div<FileWrapperProps>`\n opacity: ${({ disabled, userDisabled }) => (disabled || userDisabled ? 0.5 : 1)};\n pointer-events: ${({ disabled, userDisabled }) => (disabled || userDisabled ? 'none' : 'auto')};\n flex: 1 1 auto;\n width: 100%;\n @media (min-width: 400px) {\n flex: 1;\n }\n .label {\n font-size: 0.8rem !important;\n font-weight: normal;\n }\n\n .help {\n text-align: left;\n }\n\n .mainControl {\n flex: 1;\n border-radius: 6px;\n box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.06);\n will-change: box-shadow;\n transition: box-shadow 250ms ease-in-out;\n &:hover {\n box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.1);\n }\n }\n button {\n box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.1);\n }\n .select {\n width: 100%;\n flex: 1;\n &::after {\n border-color: #000000 !important;\n }\n }\n\n .icon {\n &.is-action {\n cursor: pointer;\n pointer-events: initial !important;\n }\n }\n\n /* Chrome, Safari, Edge, Opera */\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n /* Firefox */\n input[type=number] {\n -moz-appearance: textfield;\n }\n\n .input[type=date]::-webkit-calendar-picker-indicator {\n opacity:0;\n -webkit-appearance: none;\n position: absolute;\n left: 0;\n top: 0;\n width: 40px;\n height: 100%;\n margin: 0;\n padding: 0;\n cursor: pointer;\n }\n\n textarea {\n resize: none;\n }\n`\n\ntype EventType = { target: any; type?: any } & Partial<Event>\nexport interface FieldProps {\n label?: string\n name?: string\n type?: string\n min?: number | string | Date | any\n max?: number | string | Date | any\n value?: string | number | readonly string[] | undefined\n defaultValue?: string | number | readonly string[] | undefined\n placeholder?: string\n inputRef?: ReactHookFormRef\n error?: boolean\n errors?: FieldError\n disabled?: boolean\n userDisabled?: boolean\n helpTextInfo?: string\n helpText?: string\n iconLeft?: string\n iconRight?: string\n withoutComponent?: boolean\n addon?: ReactNode\n children?: ReactNode\n className?: string\n onChange?: (event?: EventType) => unknown\n // TODO, rename... something like changeHandler or valueDecorator\n onChangeInner?: (value: string | number) => string | number\n onBlur?: (event?: EventType) => void\n onFocus?: (event?: EventType | undefined) => void\n rightIconClick?: (event?: EventType) => void\n leftIconClick?: (event?: EventType) => void\n options?: any[] | null\n creatable?: boolean\n async?: boolean\n css?: string\n [key: string]: any\n}\n\ninterface SelectProps extends FieldProps {\n id?: string\n}\n\ntype OptionObj = { label: string | number | undefined; value: string | number | undefined }\ntype Option = OptionObj | string | number\n\nexport const Select: FC<SelectProps>\n= memo<SelectProps>(\n function Select({ options, value, inputRef, ...props }: SelectProps) {\n return (\n <div className='select'>\n <select {...props} ref={inputRef} defaultValue={value}>\n {options?.map((option: Option) => (\n <option\n key={`${JSON.stringify(option)}`}\n value={typeof option === 'object' ? (option as OptionObj)?.value : option}\n >\n {typeof option === 'object' ? (option as OptionObj)?.label : option}\n </option>\n ))}\n </select>\n </div>\n )\n },\n)\n\nconst InputComponent = styled.input``\nconst TextAreaComponent = styled.textarea``\nconst StyledFieldLabel = styled.label`\n text-align: left;\n`\n\nexport const Field: FC<FieldProps> = memo<FieldProps>(({\n label,\n name,\n type = 'text',\n value,\n defaultValue,\n placeholder,\n inputRef,\n error,\n disabled,\n userDisabled,\n withoutComponent,\n helpTextInfo,\n helpText,\n children,\n iconLeft,\n iconRight,\n addon,\n className,\n onChange,\n onChangeInner,\n onBlur,\n onFocus,\n rightIconClick,\n leftIconClick,\n options,\n css,\n ...props\n}: FieldProps) => {\n let Component: FC<any> = InputComponent\n\n if (!children && type === 'textarea') {\n Component = TextAreaComponent\n }\n const handleFocus = useCallback((event: Event | EventType | undefined) => {\n if (userDisabled) {\n event?.preventDefault?.()\n } else {\n onFocus && onFocus(event)\n }\n }, [userDisabled, onFocus])\n\n const handleChange = useCallback((event: { target: { value: string } }) => {\n if (userDisabled) {\n return\n }\n if (onChangeInner && event?.target) {\n // eslint-disable-next-line no-param-reassign\n event.target.value = onChangeInner((event.target.value as string)) as string\n onChange && onChange(event as EventType)\n } else {\n onChange && onChange(event as EventType)\n }\n }, [onChangeInner, onChange, userDisabled])\n\n const valueProps = useMemo(() => {\n if (value === undefined) {\n return { defaultValue }\n }\n return { value }\n }, [value, defaultValue])\n\n return (\n <FieldWrapper\n className={`field ${className}`}\n error={error}\n disabled={disabled}\n userDisabled={userDisabled}\n css={css}\n >\n <StyledFieldLabel htmlFor={name} className='label'>{label}</StyledFieldLabel>\n <div className={`field ${addon ? 'has-addons' : ''}`}>\n <div\n className={`control mainControl ${iconLeft && !withoutComponent\n ? 'has-icons-left' : ''} ${iconRight ? 'has-icons-right' : ''}`}\n >\n {!withoutComponent && ((!children && (type === 'select' || options))\n ? (\n <Select\n name={name}\n id={name}\n inputRef={inputRef}\n className={`input ${error ? 'is-danger' : ''}`}\n type='select'\n placeholder={placeholder}\n value={value}\n options={options}\n // TODO also handle change but value versus event.target.value issue\n onChange={onChange}\n onBlur={onBlur}\n onFocus={handleFocus}\n onKeyDown={handleFocus}\n autoComplete='off'\n disabled={disabled}\n {...props}\n />\n )\n : (\n !children && <Component\n name={name}\n id={name}\n ref={inputRef}\n className={`input ${error ? 'is-danger' : ''}`}\n type={type}\n placeholder={placeholder}\n {...valueProps}\n onChange={handleChange}\n onBlur={onBlur}\n onFocus={handleFocus}\n onKeyDown={handleFocus}\n autoComplete='off'\n disabled={disabled}\n {...props}\n />))}\n\n {iconLeft && !withoutComponent && (\n <span\n className={`iconLeft icon is-small is-left ${leftIconClick ? 'is-action' : ''}`}\n onClick={leftIconClick}\n >\n <IconComponent\n iconName={iconLeft}\n color={iconColor}\n />\n </span>\n )}\n {iconRight && (\n <span\n className={`iconRight icon is-small is-right ${rightIconClick ? 'is-action' : ''}`}\n onClick={rightIconClick}\n >\n <IconComponent\n iconName={iconRight}\n color={iconColor}\n />\n </span>\n )}\n {children && children}\n </div>\n {addon && addon}\n </div>\n {helpTextInfo && <p className='help'>{helpTextInfo}</p>}\n {helpText && <p className={`help ${error ? 'is-danger' : ''}`}>{helpText}</p>}\n </FieldWrapper>\n )\n})\n\nField.displayName = 'Field'\n"],"names":["iconColor","setIconColor","color","IconComponent","memo","React","createElement","setIconComponent","component","FieldWrapper","styled","div","withConfig","displayName","componentId","_ref","disabled","userDisabled","_ref2","_StyledFieldWrapper","p","$_css","Select","_ref3","options","value","inputRef","props","_objectWithoutProperties","_excluded","className","_extends","ref","defaultValue","map","option","key","concat","JSON","stringify","_typeof","label","InputComponent","input","TextAreaComponent","textarea","StyledFieldLabel","Field","_ref4","name","_ref4$type","type","placeholder","error","withoutComponent","helpTextInfo","helpText","children","iconLeft","iconRight","addon","onChange","onChangeInner","onBlur","onFocus","rightIconClick","leftIconClick","css","_excluded2","Component","handleFocus","useCallback","event","_event$preventDefault","preventDefault","call","handleChange","target","valueProps","useMemo","undefined","htmlFor","id","onKeyDown","autoComplete","onClick","iconName"],"mappings":"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"}
1
+ {"version":3,"file":"Field.js","sources":["../../../../../../../../src/core/ui/components/field/Field.tsx"],"sourcesContent":["/* eslint-disable react/jsx-props-no-spreading */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport { FC, ReactNode, memo, useMemo, useCallback, PropsWithChildren } from 'react'\nimport styled from 'styled-components'\n\nimport type { FieldError, IconComponentType } from './types'\n\nlet iconColor: string | (() => string) = () => '#000000'\n\nexport const setIconColor = (color: string | (() => string)): void => {\n iconColor = color\n}\n\nlet IconComponent: IconComponentType = memo(function IconComponent() { return <span /> })\n\nexport const setIconComponent = (component: IconComponentType): void => {\n IconComponent = component\n}\n\nexport type FileWrapperProps = PropsWithChildren<unknown> & {\n className?: string\n error?: boolean\n disabled?: boolean\n userDisabled?: boolean\n css?: string\n}\n\nexport const FieldWrapper: FC<FileWrapperProps> = styled.div<FileWrapperProps>`\n opacity: ${({ disabled, userDisabled }) => (disabled || userDisabled ? 0.5 : 1)};\n pointer-events: ${({ disabled, userDisabled }) => (disabled || userDisabled ? 'none' : 'auto')};\n flex: 1 1 auto;\n width: 100%;\n @media (min-width: 400px) {\n flex: 1;\n }\n .label {\n font-size: 0.8rem !important;\n font-weight: normal;\n }\n\n .help {\n text-align: left;\n }\n\n .mainControl {\n flex: 1;\n border-radius: 6px;\n box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.06);\n will-change: box-shadow;\n transition: box-shadow 250ms ease-in-out;\n &:hover {\n box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.1);\n }\n }\n button {\n box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.1);\n }\n .select {\n width: 100%;\n flex: 1;\n &::after {\n border-color: #000000 !important;\n }\n }\n\n .icon {\n &.is-action {\n cursor: pointer;\n pointer-events: initial !important;\n }\n }\n\n /* Chrome, Safari, Edge, Opera */\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n /* Firefox */\n input[type=number] {\n -moz-appearance: textfield;\n }\n\n .input[type=date]::-webkit-calendar-picker-indicator {\n opacity:0;\n -webkit-appearance: none;\n position: absolute;\n left: 0;\n top: 0;\n width: 40px;\n height: 100%;\n margin: 0;\n padding: 0;\n cursor: pointer;\n }\n\n textarea {\n resize: none;\n }\n`\n\ntype EventType = { target: any; type?: any } & Partial<Event>\nexport interface FieldProps {\n label?: string\n name?: string\n type?: string\n min?: number | string | Date | any\n max?: number | string | Date | any\n value?: string | number | readonly string[] | undefined\n defaultValue?: string | number | readonly string[] | undefined\n placeholder?: string\n inputRef?: ReactHookFormRef\n error?: boolean\n errors?: FieldError\n disabled?: boolean\n userDisabled?: boolean\n helpTextInfo?: string\n helpText?: string\n iconLeft?: string\n iconRight?: string\n withoutComponent?: boolean\n addon?: ReactNode\n children?: ReactNode\n className?: string\n onChange?: (event?: EventType) => unknown\n // TODO, rename... something like changeHandler or valueDecorator\n onChangeInner?: (value: string | number) => string | number\n onBlur?: (event?: EventType) => void\n onFocus?: (event?: EventType | undefined) => void\n rightIconClick?: (event?: EventType) => void\n leftIconClick?: (event?: EventType) => void\n options?: any[] | null\n creatable?: boolean\n async?: boolean\n css?: string\n [key: string]: any\n}\n\ninterface SelectProps extends FieldProps {\n id?: string\n}\n\ntype OptionObj = { label: string | number | undefined; value: string | number | undefined }\ntype Option = OptionObj | string | number\n\nexport const Select: FC<SelectProps>\n= memo<SelectProps>(\n function Select({ options, value, inputRef, ...props }: SelectProps) {\n return (\n <div className='select'>\n <select {...props} ref={inputRef} defaultValue={value}>\n {options?.map((option: Option) => (\n <option\n key={`${JSON.stringify(option)}`}\n value={typeof option === 'object' ? (option as OptionObj)?.value : option}\n >\n {typeof option === 'object' ? (option as OptionObj)?.label : option}\n </option>\n ))}\n </select>\n </div>\n )\n },\n)\n\nconst InputComponent = styled.input``\nconst TextAreaComponent = styled.textarea``\nconst StyledFieldLabel = styled.label`\n text-align: left;\n`\n\nexport const Field: FC<FieldProps> = memo<FieldProps>(({\n label,\n name,\n type = 'text',\n value,\n defaultValue,\n placeholder,\n inputRef,\n error,\n disabled,\n userDisabled,\n withoutComponent,\n helpTextInfo,\n helpText,\n children,\n iconLeft,\n iconRight,\n addon,\n className,\n onChange,\n onChangeInner,\n onBlur,\n onFocus,\n rightIconClick,\n leftIconClick,\n options,\n css,\n ...props\n}: FieldProps) => {\n let Component: FC<any> = InputComponent\n\n if (!children && type === 'textarea') {\n Component = TextAreaComponent\n }\n const handleFocus = useCallback((event: Event | EventType | undefined) => {\n if (userDisabled) {\n event?.preventDefault?.()\n } else {\n onFocus && onFocus(event)\n }\n }, [userDisabled, onFocus])\n\n const handleChange = useCallback((event: { target: { value: string } }) => {\n if (userDisabled) {\n return\n }\n if (onChangeInner && event?.target) {\n // eslint-disable-next-line no-param-reassign\n event.target.value = onChangeInner((event.target.value as string)) as string\n onChange && onChange(event as EventType)\n } else {\n onChange && onChange(event as EventType)\n }\n }, [onChangeInner, onChange, userDisabled])\n\n const valueProps = useMemo(() => {\n if (value === undefined) {\n return { defaultValue }\n }\n return { value }\n }, [value, defaultValue])\n\n return (\n <FieldWrapper\n className={`field ${className}`}\n error={error}\n disabled={disabled}\n userDisabled={userDisabled}\n css={css}\n >\n <StyledFieldLabel htmlFor={name} className='label'>{label}</StyledFieldLabel>\n <div className={`field ${addon ? 'has-addons' : ''}`}>\n <div\n className={`control mainControl ${iconLeft && !withoutComponent\n ? 'has-icons-left' : ''} ${iconRight ? 'has-icons-right' : ''}`}\n >\n {!withoutComponent && ((!children && (type === 'select' || options))\n ? (\n <Select\n name={name}\n id={name}\n inputRef={inputRef}\n className={`input ${error ? 'is-danger' : ''}`}\n type='select'\n placeholder={placeholder}\n value={value}\n options={options}\n // TODO also handle change but value versus event.target.value issue\n onChange={onChange}\n onBlur={onBlur}\n onFocus={handleFocus}\n onKeyDown={handleFocus}\n autoComplete='off'\n disabled={disabled}\n {...props}\n />\n )\n : (\n !children && <Component\n name={name}\n id={name}\n ref={inputRef}\n className={`input ${error ? 'is-danger' : ''}`}\n type={type}\n placeholder={placeholder}\n {...valueProps}\n onChange={handleChange}\n onBlur={onBlur}\n onFocus={handleFocus}\n onKeyDown={handleFocus}\n autoComplete='off'\n disabled={disabled}\n {...props}\n />))}\n\n {iconLeft && !withoutComponent && (\n <span\n className={`iconLeft icon is-small is-left ${leftIconClick ? 'is-action' : ''}`}\n onClick={leftIconClick}\n >\n <IconComponent\n iconName={iconLeft}\n color={iconColor}\n />\n </span>\n )}\n {iconRight && (\n <span\n className={`iconRight icon is-small is-right ${rightIconClick ? 'is-action' : ''}`}\n onClick={rightIconClick}\n >\n <IconComponent\n iconName={iconRight}\n color={iconColor}\n />\n </span>\n )}\n {children && children}\n </div>\n {addon && addon}\n </div>\n {helpTextInfo && <p className='help'>{helpTextInfo}</p>}\n {helpText && <p className={`help ${error ? 'is-danger' : ''}`}>{helpText}</p>}\n </FieldWrapper>\n )\n})\n\nField.displayName = 'Field'\n"],"names":["iconColor","setIconColor","color","IconComponent","memo","React","createElement","setIconComponent","component","FieldWrapper","styled","div","withConfig","displayName","componentId","_ref","disabled","userDisabled","_ref2","_StyledFieldWrapper","p","$_css","Select","_ref3","options","value","inputRef","props","_objectWithoutProperties","_excluded","className","_extends","ref","defaultValue","map","option","key","concat","JSON","stringify","_typeof","label","InputComponent","input","TextAreaComponent","textarea","StyledFieldLabel","Field","_ref4","name","_ref4$type","type","placeholder","error","withoutComponent","helpTextInfo","helpText","children","iconLeft","iconRight","addon","onChange","onChangeInner","onBlur","onFocus","rightIconClick","leftIconClick","css","_excluded2","Component","handleFocus","useCallback","event","_event$preventDefault","preventDefault","call","handleChange","target","valueProps","useMemo","undefined","htmlFor","id","onKeyDown","autoComplete","onClick","iconName"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Field.js","sources":["../../../../../../../src/core/ui/components/field/Field.tsx"],"sourcesContent":["/* eslint-disable react/jsx-props-no-spreading */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport { FC, ReactNode, memo, useMemo, useCallback, PropsWithChildren } from 'react'\nimport styled from 'styled-components'\n\nimport type { FieldError, IconComponentType } from './types'\n\nlet iconColor: string | (() => string) = () => '#000000'\n\nexport const setIconColor = (color: string | (() => string)): void => {\n iconColor = color\n}\n\nlet IconComponent: IconComponentType = memo(function IconComponent() { return <span /> })\n\nexport const setIconComponent = (component: IconComponentType): void => {\n IconComponent = component\n}\n\nexport type FileWrapperProps = PropsWithChildren & {\n className?: string\n error?: boolean\n disabled?: boolean\n userDisabled?: boolean\n css?: string\n}\n\nexport const FieldWrapper: FC<FileWrapperProps> = styled.div<FileWrapperProps>`\n opacity: ${({ disabled, userDisabled }) => (disabled || userDisabled ? 0.5 : 1)};\n pointer-events: ${({ disabled, userDisabled }) => (disabled || userDisabled ? 'none' : 'auto')};\n flex: 1 1 auto;\n width: 100%;\n @media (min-width: 400px) {\n flex: 1;\n }\n .label {\n font-size: 0.8rem !important;\n font-weight: normal;\n }\n\n .help {\n text-align: left;\n }\n\n .mainControl {\n flex: 1;\n border-radius: 6px;\n box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.06);\n will-change: box-shadow;\n transition: box-shadow 250ms ease-in-out;\n &:hover {\n box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.1);\n }\n }\n button {\n box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.1);\n }\n .select {\n width: 100%;\n flex: 1;\n &::after {\n border-color: #000000 !important;\n }\n }\n\n .icon {\n &.is-action {\n cursor: pointer;\n pointer-events: initial !important;\n }\n }\n\n /* Chrome, Safari, Edge, Opera */\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n /* Firefox */\n input[type=number] {\n -moz-appearance: textfield;\n }\n\n .input[type=date]::-webkit-calendar-picker-indicator {\n opacity:0;\n -webkit-appearance: none;\n position: absolute;\n left: 0;\n top: 0;\n width: 40px;\n height: 100%;\n margin: 0;\n padding: 0;\n cursor: pointer;\n }\n\n textarea {\n resize: none;\n }\n`\n\ntype EventType = { target: any; type?: any } & Partial<Event>\nexport interface FieldProps {\n label?: string\n name?: string\n type?: string\n min?: number | string | Date | any\n max?: number | string | Date | any\n value?: string | number | readonly string[] | undefined\n defaultValue?: string | number | readonly string[] | undefined\n placeholder?: string\n inputRef?: ReactHookFormRef\n error?: boolean\n errors?: FieldError\n disabled?: boolean\n userDisabled?: boolean\n helpTextInfo?: string\n helpText?: string\n iconLeft?: string\n iconRight?: string\n withoutComponent?: boolean\n addon?: ReactNode\n children?: ReactNode\n className?: string\n onChange?: (event?: EventType) => unknown\n // TODO, rename... something like changeHandler or valueDecorator\n onChangeInner?: (value: string | number) => string | number\n onBlur?: (event?: EventType) => void\n onFocus?: (event?: EventType | undefined) => void\n rightIconClick?: (event?: EventType) => void\n leftIconClick?: (event?: EventType) => void\n options?: any[] | null\n creatable?: boolean\n async?: boolean\n css?: string\n [key: string]: any\n}\n\ninterface SelectProps extends FieldProps {\n id?: string\n}\n\ntype OptionObj = { label: string | number | undefined; value: string | number | undefined }\ntype Option = OptionObj | string | number\n\nexport const Select: FC<SelectProps>\n= memo<SelectProps>(\n function Select({ options, value, inputRef, ...props }: SelectProps) {\n return (\n <div className='select'>\n <select {...props} ref={inputRef} defaultValue={value}>\n {options?.map((option: Option) => (\n <option\n key={`${JSON.stringify(option)}`}\n value={typeof option === 'object' ? (option as OptionObj)?.value : option}\n >\n {typeof option === 'object' ? (option as OptionObj)?.label : option}\n </option>\n ))}\n </select>\n </div>\n )\n },\n)\n\nconst InputComponent = styled.input``\nconst TextAreaComponent = styled.textarea``\nconst StyledFieldLabel = styled.label`\n text-align: left;\n`\n\nexport const Field: FC<FieldProps> = memo<FieldProps>(({\n label,\n name,\n type = 'text',\n value,\n defaultValue,\n placeholder,\n inputRef,\n error,\n disabled,\n userDisabled,\n withoutComponent,\n helpTextInfo,\n helpText,\n children,\n iconLeft,\n iconRight,\n addon,\n className,\n onChange,\n onChangeInner,\n onBlur,\n onFocus,\n rightIconClick,\n leftIconClick,\n options,\n css,\n ...props\n}: FieldProps) => {\n let Component: FC<any> = InputComponent\n\n if (!children && type === 'textarea') {\n Component = TextAreaComponent\n }\n const handleFocus = useCallback((event: Event | EventType | undefined) => {\n if (userDisabled) {\n event?.preventDefault?.()\n } else {\n onFocus && onFocus(event)\n }\n }, [userDisabled, onFocus])\n\n const handleChange = useCallback((event: { target: { value: string } }) => {\n if (userDisabled) {\n return\n }\n if (onChangeInner && event?.target) {\n // eslint-disable-next-line no-param-reassign\n event.target.value = onChangeInner((event.target.value as string)) as string\n onChange && onChange(event as EventType)\n } else {\n onChange && onChange(event as EventType)\n }\n }, [onChangeInner, onChange, userDisabled])\n\n const valueProps = useMemo(() => {\n if (value === undefined) {\n return { defaultValue }\n }\n return { value }\n }, [value, defaultValue])\n\n return (\n <FieldWrapper\n className={`field ${className}`}\n error={error}\n disabled={disabled}\n userDisabled={userDisabled}\n css={css}\n >\n <StyledFieldLabel htmlFor={name} className='label'>{label}</StyledFieldLabel>\n <div className={`field ${addon ? 'has-addons' : ''}`}>\n <div\n className={`control mainControl ${iconLeft && !withoutComponent\n ? 'has-icons-left' : ''} ${iconRight ? 'has-icons-right' : ''}`}\n >\n {!withoutComponent && ((!children && (type === 'select' || options))\n ? (\n <Select\n name={name}\n id={name}\n inputRef={inputRef}\n className={`input ${error ? 'is-danger' : ''}`}\n type='select'\n placeholder={placeholder}\n value={value}\n options={options}\n // TODO also handle change but value versus event.target.value issue\n onChange={onChange}\n onBlur={onBlur}\n onFocus={handleFocus}\n onKeyDown={handleFocus}\n autoComplete='off'\n disabled={disabled}\n {...props}\n />\n )\n : (\n !children && <Component\n name={name}\n id={name}\n ref={inputRef}\n className={`input ${error ? 'is-danger' : ''}`}\n type={type}\n placeholder={placeholder}\n {...valueProps}\n onChange={handleChange}\n onBlur={onBlur}\n onFocus={handleFocus}\n onKeyDown={handleFocus}\n autoComplete='off'\n disabled={disabled}\n {...props}\n />))}\n\n {iconLeft && !withoutComponent && (\n <span\n className={`iconLeft icon is-small is-left ${leftIconClick ? 'is-action' : ''}`}\n onClick={leftIconClick}\n >\n <IconComponent\n iconName={iconLeft}\n color={iconColor}\n />\n </span>\n )}\n {iconRight && (\n <span\n className={`iconRight icon is-small is-right ${rightIconClick ? 'is-action' : ''}`}\n onClick={rightIconClick}\n >\n <IconComponent\n iconName={iconRight}\n color={iconColor}\n />\n </span>\n )}\n {children && children}\n </div>\n {addon && addon}\n </div>\n {helpTextInfo && <p className='help'>{helpTextInfo}</p>}\n {helpText && <p className={`help ${error ? 'is-danger' : ''}`}>{helpText}</p>}\n </FieldWrapper>\n )\n})\n\nField.displayName = 'Field'\n"],"names":["iconColor","IconComponent","memo","React","createElement","FieldWrapper","styled","div","withConfig","displayName","componentId","_ref","disabled","userDisabled","_ref2","_StyledFieldWrapper","p","$_css","Select","_ref3","options","value","inputRef","props","_objectWithoutProperties","objectWithoutProperties","_excluded","className","_extends","ref","defaultValue","map","option","key","concat","JSON","stringify","_typeof","label","InputComponent","input","TextAreaComponent","textarea","StyledFieldLabel","Field","_ref4","name","_ref4$type","type","placeholder","error","withoutComponent","helpTextInfo","helpText","children","iconLeft","iconRight","addon","onChange","onChangeInner","onBlur","onFocus","rightIconClick","leftIconClick","css","_excluded2","Component","handleFocus","useCallback","event","_event$preventDefault","preventDefault","call","handleChange","target","valueProps","useMemo","undefined","htmlFor","id","onKeyDown","autoComplete","onClick","iconName","color","component"],"mappings":"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"}
1
+ {"version":3,"file":"Field.js","sources":["../../../../../../../src/core/ui/components/field/Field.tsx"],"sourcesContent":["/* eslint-disable react/jsx-props-no-spreading */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport { FC, ReactNode, memo, useMemo, useCallback, PropsWithChildren } from 'react'\nimport styled from 'styled-components'\n\nimport type { FieldError, IconComponentType } from './types'\n\nlet iconColor: string | (() => string) = () => '#000000'\n\nexport const setIconColor = (color: string | (() => string)): void => {\n iconColor = color\n}\n\nlet IconComponent: IconComponentType = memo(function IconComponent() { return <span /> })\n\nexport const setIconComponent = (component: IconComponentType): void => {\n IconComponent = component\n}\n\nexport type FileWrapperProps = PropsWithChildren<unknown> & {\n className?: string\n error?: boolean\n disabled?: boolean\n userDisabled?: boolean\n css?: string\n}\n\nexport const FieldWrapper: FC<FileWrapperProps> = styled.div<FileWrapperProps>`\n opacity: ${({ disabled, userDisabled }) => (disabled || userDisabled ? 0.5 : 1)};\n pointer-events: ${({ disabled, userDisabled }) => (disabled || userDisabled ? 'none' : 'auto')};\n flex: 1 1 auto;\n width: 100%;\n @media (min-width: 400px) {\n flex: 1;\n }\n .label {\n font-size: 0.8rem !important;\n font-weight: normal;\n }\n\n .help {\n text-align: left;\n }\n\n .mainControl {\n flex: 1;\n border-radius: 6px;\n box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.06);\n will-change: box-shadow;\n transition: box-shadow 250ms ease-in-out;\n &:hover {\n box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.1);\n }\n }\n button {\n box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.1);\n }\n .select {\n width: 100%;\n flex: 1;\n &::after {\n border-color: #000000 !important;\n }\n }\n\n .icon {\n &.is-action {\n cursor: pointer;\n pointer-events: initial !important;\n }\n }\n\n /* Chrome, Safari, Edge, Opera */\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n /* Firefox */\n input[type=number] {\n -moz-appearance: textfield;\n }\n\n .input[type=date]::-webkit-calendar-picker-indicator {\n opacity:0;\n -webkit-appearance: none;\n position: absolute;\n left: 0;\n top: 0;\n width: 40px;\n height: 100%;\n margin: 0;\n padding: 0;\n cursor: pointer;\n }\n\n textarea {\n resize: none;\n }\n`\n\ntype EventType = { target: any; type?: any } & Partial<Event>\nexport interface FieldProps {\n label?: string\n name?: string\n type?: string\n min?: number | string | Date | any\n max?: number | string | Date | any\n value?: string | number | readonly string[] | undefined\n defaultValue?: string | number | readonly string[] | undefined\n placeholder?: string\n inputRef?: ReactHookFormRef\n error?: boolean\n errors?: FieldError\n disabled?: boolean\n userDisabled?: boolean\n helpTextInfo?: string\n helpText?: string\n iconLeft?: string\n iconRight?: string\n withoutComponent?: boolean\n addon?: ReactNode\n children?: ReactNode\n className?: string\n onChange?: (event?: EventType) => unknown\n // TODO, rename... something like changeHandler or valueDecorator\n onChangeInner?: (value: string | number) => string | number\n onBlur?: (event?: EventType) => void\n onFocus?: (event?: EventType | undefined) => void\n rightIconClick?: (event?: EventType) => void\n leftIconClick?: (event?: EventType) => void\n options?: any[] | null\n creatable?: boolean\n async?: boolean\n css?: string\n [key: string]: any\n}\n\ninterface SelectProps extends FieldProps {\n id?: string\n}\n\ntype OptionObj = { label: string | number | undefined; value: string | number | undefined }\ntype Option = OptionObj | string | number\n\nexport const Select: FC<SelectProps>\n= memo<SelectProps>(\n function Select({ options, value, inputRef, ...props }: SelectProps) {\n return (\n <div className='select'>\n <select {...props} ref={inputRef} defaultValue={value}>\n {options?.map((option: Option) => (\n <option\n key={`${JSON.stringify(option)}`}\n value={typeof option === 'object' ? (option as OptionObj)?.value : option}\n >\n {typeof option === 'object' ? (option as OptionObj)?.label : option}\n </option>\n ))}\n </select>\n </div>\n )\n },\n)\n\nconst InputComponent = styled.input``\nconst TextAreaComponent = styled.textarea``\nconst StyledFieldLabel = styled.label`\n text-align: left;\n`\n\nexport const Field: FC<FieldProps> = memo<FieldProps>(({\n label,\n name,\n type = 'text',\n value,\n defaultValue,\n placeholder,\n inputRef,\n error,\n disabled,\n userDisabled,\n withoutComponent,\n helpTextInfo,\n helpText,\n children,\n iconLeft,\n iconRight,\n addon,\n className,\n onChange,\n onChangeInner,\n onBlur,\n onFocus,\n rightIconClick,\n leftIconClick,\n options,\n css,\n ...props\n}: FieldProps) => {\n let Component: FC<any> = InputComponent\n\n if (!children && type === 'textarea') {\n Component = TextAreaComponent\n }\n const handleFocus = useCallback((event: Event | EventType | undefined) => {\n if (userDisabled) {\n event?.preventDefault?.()\n } else {\n onFocus && onFocus(event)\n }\n }, [userDisabled, onFocus])\n\n const handleChange = useCallback((event: { target: { value: string } }) => {\n if (userDisabled) {\n return\n }\n if (onChangeInner && event?.target) {\n // eslint-disable-next-line no-param-reassign\n event.target.value = onChangeInner((event.target.value as string)) as string\n onChange && onChange(event as EventType)\n } else {\n onChange && onChange(event as EventType)\n }\n }, [onChangeInner, onChange, userDisabled])\n\n const valueProps = useMemo(() => {\n if (value === undefined) {\n return { defaultValue }\n }\n return { value }\n }, [value, defaultValue])\n\n return (\n <FieldWrapper\n className={`field ${className}`}\n error={error}\n disabled={disabled}\n userDisabled={userDisabled}\n css={css}\n >\n <StyledFieldLabel htmlFor={name} className='label'>{label}</StyledFieldLabel>\n <div className={`field ${addon ? 'has-addons' : ''}`}>\n <div\n className={`control mainControl ${iconLeft && !withoutComponent\n ? 'has-icons-left' : ''} ${iconRight ? 'has-icons-right' : ''}`}\n >\n {!withoutComponent && ((!children && (type === 'select' || options))\n ? (\n <Select\n name={name}\n id={name}\n inputRef={inputRef}\n className={`input ${error ? 'is-danger' : ''}`}\n type='select'\n placeholder={placeholder}\n value={value}\n options={options}\n // TODO also handle change but value versus event.target.value issue\n onChange={onChange}\n onBlur={onBlur}\n onFocus={handleFocus}\n onKeyDown={handleFocus}\n autoComplete='off'\n disabled={disabled}\n {...props}\n />\n )\n : (\n !children && <Component\n name={name}\n id={name}\n ref={inputRef}\n className={`input ${error ? 'is-danger' : ''}`}\n type={type}\n placeholder={placeholder}\n {...valueProps}\n onChange={handleChange}\n onBlur={onBlur}\n onFocus={handleFocus}\n onKeyDown={handleFocus}\n autoComplete='off'\n disabled={disabled}\n {...props}\n />))}\n\n {iconLeft && !withoutComponent && (\n <span\n className={`iconLeft icon is-small is-left ${leftIconClick ? 'is-action' : ''}`}\n onClick={leftIconClick}\n >\n <IconComponent\n iconName={iconLeft}\n color={iconColor}\n />\n </span>\n )}\n {iconRight && (\n <span\n className={`iconRight icon is-small is-right ${rightIconClick ? 'is-action' : ''}`}\n onClick={rightIconClick}\n >\n <IconComponent\n iconName={iconRight}\n color={iconColor}\n />\n </span>\n )}\n {children && children}\n </div>\n {addon && addon}\n </div>\n {helpTextInfo && <p className='help'>{helpTextInfo}</p>}\n {helpText && <p className={`help ${error ? 'is-danger' : ''}`}>{helpText}</p>}\n </FieldWrapper>\n )\n})\n\nField.displayName = 'Field'\n"],"names":["iconColor","IconComponent","memo","React","createElement","FieldWrapper","styled","div","withConfig","displayName","componentId","_ref","disabled","userDisabled","_ref2","_StyledFieldWrapper","p","$_css","Select","_ref3","options","value","inputRef","props","_objectWithoutProperties","objectWithoutProperties","_excluded","className","_extends","ref","defaultValue","map","option","key","concat","JSON","stringify","_typeof","label","InputComponent","input","TextAreaComponent","textarea","StyledFieldLabel","Field","_ref4","name","_ref4$type","type","placeholder","error","withoutComponent","helpTextInfo","helpText","children","iconLeft","iconRight","addon","onChange","onChangeInner","onBlur","onFocus","rightIconClick","leftIconClick","css","_excluded2","Component","handleFocus","useCallback","event","_event$preventDefault","preventDefault","call","handleChange","target","valueProps","useMemo","undefined","htmlFor","id","onKeyDown","autoComplete","onClick","iconName","color","component"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.vanillajs.js","sources":["../../../../../../../../src/core/utils/appState/store/store.vanillajs.ts"],"sourcesContent":["\n// TinyStore, inspired by https://github.com/jherr/syncexternalstore/blob/main/csr/src/store.js\nexport type ListenerCallBack<T> = (state: Partial<T>) => void\n\n\nexport type Selector<T> = (state: Partial<T>) => Partial<T>;\n\n\nexport type Listener<T> = {\n selector?: Selector<T>\n} & ListenerCallBack<T>\n\nexport type Store<T> = {\n getState: () => Partial<T>\n setState: (state: Partial<T>) => void\n subscribe: (listener: Listener<T>) => () => void\n} & { actions?: { [actionName: string]: ActionHandlerCaller } }\n\n\nexport type ActionHandler<T> = (state: Partial<T>) => Partial<T>\n\n\nexport type ActionHandlerCaller = () => void\n\n\nexport const createStore = <T>(initialState: Partial<T>, actions?: Record<string, ActionHandler<T>>): Store<T> => {\n let currentState: Partial<T> = initialState\n const listeners = new Set<Listener<T>>()\n\n const setState = async (newState: Partial<T>) => {\n currentState = newState\n\n // eslint-disable-next-line no-restricted-syntax\n for (const listener of listeners) {\n // has Listener selector?\n const selector: Selector<T> | undefined = listener?.selector\n\n // TODO compare selected value to the previous values of that listener/selector pair\n // if listener.previousValue === selector(currentState) no call\n // else listener.previousValue = selector(currentState) and call\n // l1 cache, weak references?\n\n // TODO parallelize await\n // eslint-disable-next-line no-await-in-loop\n await listener(selector ? selector(currentState) : currentState)\n }\n }\n\n const storeBaseicApi: Store<T> = {\n getState: () => currentState,\n setState,\n subscribe: (listener: Listener<T>) => {\n listeners.add(listener)\n return () => listeners.delete(listener)\n },\n }\n\n\n const resolvedActions: Record<string, ActionHandlerCaller> | null | undefined\n = actions ? Object.entries(actions)?.reduce(\n (\n aggregator: Record<string, ActionHandlerCaller>,\n [actionName, actionHandler]: [string, ActionHandler<T>],\n ) => ({\n ...aggregator,\n [actionName]: () => setState(actionHandler(currentState)),\n }),\n {},\n ) : null\n\n const storeCombinedWithActions = {\n ...storeBaseicApi,\n ...(resolvedActions ? { actions: { ...resolvedActions } } : {}),\n }\n\n return storeCombinedWithActions\n}\n"],"names":["createStore","initialState","actions","_Object$entries","currentState","listeners","Set","setState","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","newState","_iterator","_step","_listener","selector","wrap","_context","prev","next","_createForOfIteratorHelper","s","n","done","listener","value","t0","e","f","finish","stop","_x","apply","this","arguments","storeBaseicApi","getState","subscribe","add","delete","resolvedActions","Object","entries","reduce","aggregator","_ref2","_ref3","_slicedToArray","actionName","actionHandler","_objectSpread","_defineProperty"],"mappings":"qtBAyBO,IAAMA,EAAc,SAAIC,EAA0BC,GAAyD,IAAAC,EAC5GC,EAA2BH,EACzBI,EAAY,IAAIC,IAEhBC,EAAQ,WAAA,IAAAC,EAAAC,EAAAC,IAAAC,MAAG,SAAAC,EAAOC,GAAoB,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAP,IAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAC1CjB,EAAeS,EAEfC,EAAAQ,EACuBjB,GAASc,EAAAC,KAAA,EAAAN,EAAAS,IAAA,KAAA,EAAA,IAAAR,EAAAD,EAAAU,KAAAC,KAAA,CAAAN,EAAAE,KAAA,GAAA,KAAA,CAU9B,OAVSK,EAAQX,EAAAY,MAEXV,EAAoCS,eAAAA,EAAUT,SAQpDE,EAAAE,KAAA,EACMK,EAAST,EAAWA,EAASb,GAAgBA,GAAa,KAAA,EAAAe,EAAAE,KAAA,EAAA,MAAA,KAAA,GAAAF,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAAS,GAAAT,EAAA,MAAA,GAAAL,EAAAe,EAAAV,EAAAS,IAAA,KAAA,GAAA,OAAAT,EAAAC,KAAA,GAAAN,EAAAgB,IAAAX,EAAAY,OAAA,IAAA,KAAA,GAAA,IAAA,MAAA,OAAAZ,EAAAa,OAAA,GAAApB,EAAA,KAAA,CAAA,CAAA,EAAA,GAAA,GAAA,KAEnE,KAAA,OAjBKL,SAAQ0B,GAAA,OAAAzB,EAAA0B,MAAAC,KAAAC,UAAA,EAAA,GAmBRC,EAA2B,CAC/BC,SAAU,WAAA,OAAMlC,CAAY,EAC5BG,SAAAA,EACAgC,UAAW,SAACb,GAEV,OADArB,EAAUmC,IAAId,GACP,WAAA,OAAMrB,EAAUoC,OAAOf,EAAS,CACzC,GAIIgB,EACFxC,EAAiCC,QAA1BA,EAAGwC,OAAOC,QAAQ1C,cAAQC,SAAvBA,EAAyB0C,QACnC,SACEC,EAA+CC,GAAA,IAAAC,EAAAC,EAAAF,EAAA,GAC9CG,EAAUF,EAAA,GAAEG,EAAaH,EAAA,GAAA,OAAAI,EAAAA,EAAA,CAAA,EAEvBN,GAAUO,CAAAA,EAAAA,EACZH,GAAAA,GAAa,WAAA,OAAM3C,EAAS4C,EAAc/C,GAAc,IAAA,GAE3D,CAAA,GACE,KAON,OAL8BgD,EAAAA,EACzBf,CAAAA,EAAAA,GACCK,EAAkB,CAAExC,QAAOkD,EAAA,CAAA,EAAOV,IAAsB,CAAE,EAIlE"}
1
+ {"version":3,"file":"store.vanillajs.js","sources":["../../../../../../../../src/core/utils/appState/store/store.vanillajs.ts"],"sourcesContent":["\n// TinyStore, inspired by https://github.com/jherr/syncexternalstore/blob/main/csr/src/store.js\nexport type ListenerCallBack<T> = (state: Partial<T>) => void\n\nexport type Selector<T> = (state: Partial<T>) => Partial<T>;\n\nexport type Listener<T> = {\n selector?: Selector<T>\n} & ListenerCallBack<T>\n\nexport type Store<T> = {\n getState: () => Partial<T>\n setState: (state: Partial<T>) => void\n subscribe: (listener: Listener<T>) => () => void\n} & { actions?: { [actionName: string]: ActionHandlerCaller } }\n\nexport type ActionHandler<T> = (state: Partial<T>) => Partial<T>\n\nexport type ActionHandlerCaller = () => void\n\n\nexport const createStore = <T>(initialState: Partial<T>, actions?: Record<string, ActionHandler<T>>): Store<T> => {\n let currentState: Partial<T> = initialState\n const listeners = new Set<Listener<T>>()\n\n const setState = async (newState: Partial<T>) => {\n currentState = newState\n\n // eslint-disable-next-line no-restricted-syntax\n for (const listener of listeners) {\n // has Listener selector?\n const selector: Selector<T> | undefined = listener?.selector\n\n // TODO compare selected value to the previous values of that listener/selector pair\n // if listener.previousValue === selector(currentState) no call\n // else listener.previousValue = selector(currentState) and call\n // l1 cache, weak references?\n\n // TODO parallelize await\n // eslint-disable-next-line no-await-in-loop\n await listener(selector ? selector(currentState) : currentState)\n }\n }\n\n const storeBaseicApi: Store<T> = {\n getState: () => currentState,\n setState,\n subscribe: (listener: Listener<T>) => {\n listeners.add(listener)\n return () => listeners.delete(listener)\n },\n }\n\n\n const resolvedActions: Record<string, ActionHandlerCaller> | null | undefined\n = actions ? Object.entries(actions)?.reduce(\n (\n aggregator: Record<string, ActionHandlerCaller>,\n [actionName, actionHandler]: [string, ActionHandler<T>],\n ) => ({\n ...aggregator,\n [actionName]: () => setState(actionHandler(currentState)),\n }),\n {},\n ) : null\n\n const storeCombinedWithActions = {\n ...storeBaseicApi,\n ...(resolvedActions ? { actions: { ...resolvedActions } } : {}),\n }\n\n return storeCombinedWithActions\n}\n"],"names":["createStore","initialState","actions","_Object$entries","currentState","listeners","Set","setState","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","newState","_iterator","_step","_listener","selector","wrap","_context","prev","next","_createForOfIteratorHelper","s","n","done","listener","value","t0","e","f","finish","stop","_x","apply","this","arguments","storeBaseicApi","getState","subscribe","add","delete","resolvedActions","Object","entries","reduce","aggregator","_ref2","_ref3","_slicedToArray","actionName","actionHandler","_objectSpread","_defineProperty"],"mappings":"qtBAqBO,IAAMA,EAAc,SAAIC,EAA0BC,GAAyD,IAAAC,EAC5GC,EAA2BH,EACzBI,EAAY,IAAIC,IAEhBC,EAAQ,WAAA,IAAAC,EAAAC,EAAAC,IAAAC,MAAG,SAAAC,EAAOC,GAAoB,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAP,IAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAC1CjB,EAAeS,EAEfC,EAAAQ,EACuBjB,GAASc,EAAAC,KAAA,EAAAN,EAAAS,IAAA,KAAA,EAAA,IAAAR,EAAAD,EAAAU,KAAAC,KAAA,CAAAN,EAAAE,KAAA,GAAA,KAAA,CAU9B,OAVSK,EAAQX,EAAAY,MAEXV,EAAoCS,eAAAA,EAAUT,SAQpDE,EAAAE,KAAA,EACMK,EAAST,EAAWA,EAASb,GAAgBA,GAAa,KAAA,EAAAe,EAAAE,KAAA,EAAA,MAAA,KAAA,GAAAF,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAAS,GAAAT,EAAA,MAAA,GAAAL,EAAAe,EAAAV,EAAAS,IAAA,KAAA,GAAA,OAAAT,EAAAC,KAAA,GAAAN,EAAAgB,IAAAX,EAAAY,OAAA,IAAA,KAAA,GAAA,IAAA,MAAA,OAAAZ,EAAAa,OAAA,GAAApB,EAAA,KAAA,CAAA,CAAA,EAAA,GAAA,GAAA,KAEnE,KAAA,OAjBKL,SAAQ0B,GAAA,OAAAzB,EAAA0B,MAAAC,KAAAC,UAAA,EAAA,GAmBRC,EAA2B,CAC/BC,SAAU,WAAA,OAAMlC,CAAY,EAC5BG,SAAAA,EACAgC,UAAW,SAACb,GAEV,OADArB,EAAUmC,IAAId,GACP,WAAA,OAAMrB,EAAUoC,OAAOf,EAAS,CACzC,GAIIgB,EACFxC,EAAiCC,QAA1BA,EAAGwC,OAAOC,QAAQ1C,cAAQC,SAAvBA,EAAyB0C,QACnC,SACEC,EAA+CC,GAAA,IAAAC,EAAAC,EAAAF,EAAA,GAC9CG,EAAUF,EAAA,GAAEG,EAAaH,EAAA,GAAA,OAAAI,EAAAA,EAAA,CAAA,EAEvBN,GAAUO,CAAAA,EAAAA,EACZH,GAAAA,GAAa,WAAA,OAAM3C,EAAS4C,EAAc/C,GAAc,IAAA,GAE3D,CAAA,GACE,KAON,OAL8BgD,EAAAA,EACzBf,CAAAA,EAAAA,GACCK,EAAkB,CAAExC,QAAOkD,EAAA,CAAA,EAAOV,IAAsB,CAAE,EAIlE"}
@@ -1,2 +1,2 @@
1
- import{useSyncExternalStore as r}from"react";var t=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(r){return r};return r(t.subscribe,(function(){return n(t.getState())}))};export{t as useStore};
1
+ import{useSyncExternalStore as t}from"react";var n=function(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(t){return t};return[t(n.subscribe,(function(){return r(n.getState())})),n.setState,n.actions]},r=function(t){return[n(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(t){return t}),t.setState,null==t?void 0:t.actions]};export{r as useState,n as useStore};
2
2
  //# sourceMappingURL=useStore.react.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useStore.react.js","sources":["../../../../../../../../src/core/utils/appState/store/useStore.react.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react'\n\nimport type { Store, Selector } from './store.vanillajs'\n\nexport const useStore = <T>(\n store: Store<T>,\n selector: Selector<T> = (state) => state,\n // TODO pass selector\n // useSyncExternalStore((...args) => {\n // args[0].selector?? store.subscribe(...args) }, () => selector(store.getState()));\n) => useSyncExternalStore(store.subscribe, () => selector(store.getState()))\n"],"names":["useStore","store","selector","arguments","length","undefined","state","useSyncExternalStore","subscribe","getState"],"mappings":"iDAIaA,EAAW,SACtBC,GAAe,IACfC,EAAqBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,SAACG,GAAK,OAAKA,CAAK,EAAA,OAIrCC,EAAqBN,EAAMO,WAAW,WAAA,OAAMN,EAASD,EAAMQ,cAAY"}
1
+ {"version":3,"file":"useStore.react.js","sources":["../../../../../../../../src/core/utils/appState/store/useStore.react.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react'\n\nimport type { Store, Selector } from './store.vanillajs'\n\nexport const useStore = <T>(\n store: Store<T>,\n selector: Selector<T> = (state) => state,\n // TODO pass selector\n // useSyncExternalStore((...args) => {\n // args[0].selector?? store.subscribe(...args) }, () => selector(store.getState()));\n) => [useSyncExternalStore(store.subscribe, () => selector(store.getState())), store.setState, store.actions]\n\nexport type useStateType<T> = [ReturnType<typeof useStore>, Store<T>['setState'], Store<T>['actions'] ]\n\nexport const useState = <T>(\n store: Store<T>,\n selector: Selector<T> = (state) => state,\n): useStateType<T> => ([\n useStore(store, selector),\n store.setState,\n store?.actions,\n ])\n"],"names":["useStore","store","selector","arguments","length","undefined","state","useSyncExternalStore","subscribe","getState","setState","actions","useState"],"mappings":"iDAIaA,EAAW,SACtBC,GAAe,IACfC,EAAqBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,SAACG,GAAK,OAAKA,CAAK,EAAA,MAIrC,CAACC,EAAqBN,EAAMO,WAAW,WAAA,OAAMN,EAASD,EAAMQ,WAAY,IAAER,EAAMS,SAAUT,EAAMU,QAAQ,EAIhGC,EAAW,SACtBX,GACwC,MACnB,CACnBD,EAASC,EAFUE,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,SAACG,GAAK,OAAKA,CAAK,GAGtCL,EAAMS,SACNT,eAAAA,EAAOU,QACR"}
@@ -1,2 +1,2 @@
1
- export{keyExtractor,keyExtractorFunction}from"./keyExtractor.js";export{dateRangeFormat,getDateTime,getTimeFromNow,getTimeFromNowOriginal,getTimeTo}from"./date.js";export{isBirthNumberValid}from"./helpers/birthnumber.validator.js";export{getMatch,isValidFormat,isValidModulo11,parse,regex}from"./helpers/birthnumberCZSKvalidator.js";export{parseCSVdata,validateCSVFile,validateCSVlines,validateJSONFile,validateLineCellTrimmed,validateLineNumColumns,validateSDFFile}from"./helpers/fileValidator.js";export{DATE_FORMAT,formatDateToTimestamp,getDate}from"./helpers/date.js";export{getDeviceId}from"./helpers/deviceInfo.js";export{emailMatch,emailMatcher,regexBuilder}from"./helpers/emailMatcher.js";export{cleanCsvLines,formatFilePath}from"./helpers/file.js";export{arrayToObjectTree,chunkArray,duplicatesInArray,formatJsonString,formatObj,formatObj2}from"./helpers/objectOperations.js";export{debounce,delay,memoize,memoizeComplex,memoizer,nestedTernary}from"./helpers/other.js";export{escapeRegExp,fileNameExt,findStringInText,normalizeString,removeWhitespaces,sanitizeId,sanitizePathId,toLowerCase,toUpperCase,truncateText}from"./helpers/textValueOperations.js";export{Operation,decrementValue,incerementValue,numberDefined,numberOperation,restrictNumberInLimits,setValue}from"./helpers/valueOperations.js";export{cancelableSetInterval,cancelableSetTimeout}from"./helpers/cancelableDelayedFunction.js";export{ced,createResolveAttribute,customElementDefine,resolveAttributes}from"./webComponents/webComponent.utils.js";export{createStore}from"./appState/store/store.vanillajs.js";export{useStore}from"./appState/store/useStore.react.js";
1
+ export{keyExtractor,keyExtractorFunction}from"./keyExtractor.js";export{dateRangeFormat,getDateTime,getTimeFromNow,getTimeFromNowOriginal,getTimeTo}from"./date.js";export{isBirthNumberValid}from"./helpers/birthnumber.validator.js";export{getMatch,isValidFormat,isValidModulo11,parse,regex}from"./helpers/birthnumberCZSKvalidator.js";export{parseCSVdata,validateCSVFile,validateCSVlines,validateJSONFile,validateLineCellTrimmed,validateLineNumColumns,validateSDFFile}from"./helpers/fileValidator.js";export{DATE_FORMAT,formatDateToTimestamp,getDate}from"./helpers/date.js";export{getDeviceId}from"./helpers/deviceInfo.js";export{emailMatch,emailMatcher,regexBuilder}from"./helpers/emailMatcher.js";export{cleanCsvLines,formatFilePath}from"./helpers/file.js";export{arrayToObjectTree,chunkArray,duplicatesInArray,formatJsonString,formatObj,formatObj2}from"./helpers/objectOperations.js";export{debounce,delay,memoize,memoizeComplex,memoizer,nestedTernary}from"./helpers/other.js";export{escapeRegExp,fileNameExt,findStringInText,normalizeString,removeWhitespaces,sanitizeId,sanitizePathId,toLowerCase,toUpperCase,truncateText}from"./helpers/textValueOperations.js";export{Operation,decrementValue,incerementValue,numberDefined,numberOperation,restrictNumberInLimits,setValue}from"./helpers/valueOperations.js";export{cancelableSetInterval,cancelableSetTimeout}from"./helpers/cancelableDelayedFunction.js";export{ced,createResolveAttribute,customElementDefine,resolveAttributes}from"./webComponents/webComponent.utils.js";export{createStore}from"./appState/store/store.vanillajs.js";export{useState,useStore}from"./appState/store/useStore.react.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.vanillajs.js","sources":["../../../../../../../src/core/utils/appState/store/store.vanillajs.ts"],"sourcesContent":["\n// TinyStore, inspired by https://github.com/jherr/syncexternalstore/blob/main/csr/src/store.js\nexport type ListenerCallBack<T> = (state: Partial<T>) => void\n\n\nexport type Selector<T> = (state: Partial<T>) => Partial<T>;\n\n\nexport type Listener<T> = {\n selector?: Selector<T>\n} & ListenerCallBack<T>\n\nexport type Store<T> = {\n getState: () => Partial<T>\n setState: (state: Partial<T>) => void\n subscribe: (listener: Listener<T>) => () => void\n} & { actions?: { [actionName: string]: ActionHandlerCaller } }\n\n\nexport type ActionHandler<T> = (state: Partial<T>) => Partial<T>\n\n\nexport type ActionHandlerCaller = () => void\n\n\nexport const createStore = <T>(initialState: Partial<T>, actions?: Record<string, ActionHandler<T>>): Store<T> => {\n let currentState: Partial<T> = initialState\n const listeners = new Set<Listener<T>>()\n\n const setState = async (newState: Partial<T>) => {\n currentState = newState\n\n // eslint-disable-next-line no-restricted-syntax\n for (const listener of listeners) {\n // has Listener selector?\n const selector: Selector<T> | undefined = listener?.selector\n\n // TODO compare selected value to the previous values of that listener/selector pair\n // if listener.previousValue === selector(currentState) no call\n // else listener.previousValue = selector(currentState) and call\n // l1 cache, weak references?\n\n // TODO parallelize await\n // eslint-disable-next-line no-await-in-loop\n await listener(selector ? selector(currentState) : currentState)\n }\n }\n\n const storeBaseicApi: Store<T> = {\n getState: () => currentState,\n setState,\n subscribe: (listener: Listener<T>) => {\n listeners.add(listener)\n return () => listeners.delete(listener)\n },\n }\n\n\n const resolvedActions: Record<string, ActionHandlerCaller> | null | undefined\n = actions ? Object.entries(actions)?.reduce(\n (\n aggregator: Record<string, ActionHandlerCaller>,\n [actionName, actionHandler]: [string, ActionHandler<T>],\n ) => ({\n ...aggregator,\n [actionName]: () => setState(actionHandler(currentState)),\n }),\n {},\n ) : null\n\n const storeCombinedWithActions = {\n ...storeBaseicApi,\n ...(resolvedActions ? { actions: { ...resolvedActions } } : {}),\n }\n\n return storeCombinedWithActions\n}\n"],"names":["initialState","actions","_Object$entries","currentState","listeners","Set","setState","_ref","_asyncToGenerator","_regeneratorRuntime","regeneratorRuntime","mark","_callee","newState","_iterator","_step","_listener","selector","wrap","_context","prev","next","_createForOfIteratorHelper","s","n","done","listener","value","t0","e","f","finish","stop","_x","apply","this","arguments","storeBaseicApi","getState","subscribe","add","delete","resolvedActions","Object","entries","reduce","aggregator","_ref2","_ref3","_slicedToArray","actionName","actionHandler","_objectSpread","objectSpread2","_defineProperty","defineProperty"],"mappings":"+rBAyB2B,SAAIA,EAA0BC,GAAyD,IAAAC,EAC5GC,EAA2BH,EACzBI,EAAY,IAAIC,IAEhBC,EAAQ,WAAA,IAAAC,EAAAC,EAAAA,iBAAAC,EAAAC,qBAAAC,MAAG,SAAAC,EAAOC,GAAoB,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAR,EAAAC,qBAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAC1ClB,EAAeU,EAEfC,EAAAQ,EAAAA,0BACuBlB,GAASe,EAAAC,KAAA,EAAAN,EAAAS,IAAA,KAAA,EAAA,IAAAR,EAAAD,EAAAU,KAAAC,KAAA,CAAAN,EAAAE,KAAA,GAAA,KAAA,CAU9B,OAVSK,EAAQX,EAAAY,MAEXV,EAAoCS,eAAAA,EAAUT,SAQpDE,EAAAE,KAAA,EACMK,EAAST,EAAWA,EAASd,GAAgBA,GAAa,KAAA,EAAAgB,EAAAE,KAAA,EAAA,MAAA,KAAA,GAAAF,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAAS,GAAAT,EAAA,MAAA,GAAAL,EAAAe,EAAAV,EAAAS,IAAA,KAAA,GAAA,OAAAT,EAAAC,KAAA,GAAAN,EAAAgB,IAAAX,EAAAY,OAAA,IAAA,KAAA,GAAA,IAAA,MAAA,OAAAZ,EAAAa,OAAA,GAAApB,EAAA,KAAA,CAAA,CAAA,EAAA,GAAA,GAAA,KAEnE,KAAA,OAjBKN,SAAQ2B,GAAA,OAAA1B,EAAA2B,MAAAC,KAAAC,UAAA,EAAA,GAmBRC,EAA2B,CAC/BC,SAAU,WAAA,OAAMnC,CAAY,EAC5BG,SAAAA,EACAiC,UAAW,SAACb,GAEV,OADAtB,EAAUoC,IAAId,GACP,WAAA,OAAMtB,EAAUqC,OAAOf,EAAS,CACzC,GAIIgB,EACFzC,EAAiCC,QAA1BA,EAAGyC,OAAOC,QAAQ3C,cAAQC,SAAvBA,EAAyB2C,QACnC,SACEC,EAA+CC,GAAA,IAAAC,EAAAC,EAAAA,cAAAF,EAAA,GAC9CG,EAAUF,EAAA,GAAEG,EAAaH,EAAA,GAAA,OAAAI,EAAAC,cAAAD,gBAAA,CAAA,EAEvBN,GAAUQ,CAAAA,EAAAA,EAAAC,eACZL,GAAAA,GAAa,WAAA,OAAM5C,EAAS6C,EAAchD,GAAc,IAAA,GAE3D,CAAA,GACE,KAON,OAL8BiD,EAAAA,cAAAA,EAAAA,cACzBf,CAAAA,EAAAA,GACCK,EAAkB,CAAEzC,QAAOmD,EAAAA,cAAA,CAAA,EAAOV,IAAsB,CAAE,EAIlE"}
1
+ {"version":3,"file":"store.vanillajs.js","sources":["../../../../../../../src/core/utils/appState/store/store.vanillajs.ts"],"sourcesContent":["\n// TinyStore, inspired by https://github.com/jherr/syncexternalstore/blob/main/csr/src/store.js\nexport type ListenerCallBack<T> = (state: Partial<T>) => void\n\nexport type Selector<T> = (state: Partial<T>) => Partial<T>;\n\nexport type Listener<T> = {\n selector?: Selector<T>\n} & ListenerCallBack<T>\n\nexport type Store<T> = {\n getState: () => Partial<T>\n setState: (state: Partial<T>) => void\n subscribe: (listener: Listener<T>) => () => void\n} & { actions?: { [actionName: string]: ActionHandlerCaller } }\n\nexport type ActionHandler<T> = (state: Partial<T>) => Partial<T>\n\nexport type ActionHandlerCaller = () => void\n\n\nexport const createStore = <T>(initialState: Partial<T>, actions?: Record<string, ActionHandler<T>>): Store<T> => {\n let currentState: Partial<T> = initialState\n const listeners = new Set<Listener<T>>()\n\n const setState = async (newState: Partial<T>) => {\n currentState = newState\n\n // eslint-disable-next-line no-restricted-syntax\n for (const listener of listeners) {\n // has Listener selector?\n const selector: Selector<T> | undefined = listener?.selector\n\n // TODO compare selected value to the previous values of that listener/selector pair\n // if listener.previousValue === selector(currentState) no call\n // else listener.previousValue = selector(currentState) and call\n // l1 cache, weak references?\n\n // TODO parallelize await\n // eslint-disable-next-line no-await-in-loop\n await listener(selector ? selector(currentState) : currentState)\n }\n }\n\n const storeBaseicApi: Store<T> = {\n getState: () => currentState,\n setState,\n subscribe: (listener: Listener<T>) => {\n listeners.add(listener)\n return () => listeners.delete(listener)\n },\n }\n\n\n const resolvedActions: Record<string, ActionHandlerCaller> | null | undefined\n = actions ? Object.entries(actions)?.reduce(\n (\n aggregator: Record<string, ActionHandlerCaller>,\n [actionName, actionHandler]: [string, ActionHandler<T>],\n ) => ({\n ...aggregator,\n [actionName]: () => setState(actionHandler(currentState)),\n }),\n {},\n ) : null\n\n const storeCombinedWithActions = {\n ...storeBaseicApi,\n ...(resolvedActions ? { actions: { ...resolvedActions } } : {}),\n }\n\n return storeCombinedWithActions\n}\n"],"names":["initialState","actions","_Object$entries","currentState","listeners","Set","setState","_ref","_asyncToGenerator","_regeneratorRuntime","regeneratorRuntime","mark","_callee","newState","_iterator","_step","_listener","selector","wrap","_context","prev","next","_createForOfIteratorHelper","s","n","done","listener","value","t0","e","f","finish","stop","_x","apply","this","arguments","storeBaseicApi","getState","subscribe","add","delete","resolvedActions","Object","entries","reduce","aggregator","_ref2","_ref3","_slicedToArray","actionName","actionHandler","_objectSpread","objectSpread2","_defineProperty","defineProperty"],"mappings":"+rBAqB2B,SAAIA,EAA0BC,GAAyD,IAAAC,EAC5GC,EAA2BH,EACzBI,EAAY,IAAIC,IAEhBC,EAAQ,WAAA,IAAAC,EAAAC,EAAAA,iBAAAC,EAAAC,qBAAAC,MAAG,SAAAC,EAAOC,GAAoB,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAR,EAAAC,qBAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAC1ClB,EAAeU,EAEfC,EAAAQ,EAAAA,0BACuBlB,GAASe,EAAAC,KAAA,EAAAN,EAAAS,IAAA,KAAA,EAAA,IAAAR,EAAAD,EAAAU,KAAAC,KAAA,CAAAN,EAAAE,KAAA,GAAA,KAAA,CAU9B,OAVSK,EAAQX,EAAAY,MAEXV,EAAoCS,eAAAA,EAAUT,SAQpDE,EAAAE,KAAA,EACMK,EAAST,EAAWA,EAASd,GAAgBA,GAAa,KAAA,EAAAgB,EAAAE,KAAA,EAAA,MAAA,KAAA,GAAAF,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAAS,GAAAT,EAAA,MAAA,GAAAL,EAAAe,EAAAV,EAAAS,IAAA,KAAA,GAAA,OAAAT,EAAAC,KAAA,GAAAN,EAAAgB,IAAAX,EAAAY,OAAA,IAAA,KAAA,GAAA,IAAA,MAAA,OAAAZ,EAAAa,OAAA,GAAApB,EAAA,KAAA,CAAA,CAAA,EAAA,GAAA,GAAA,KAEnE,KAAA,OAjBKN,SAAQ2B,GAAA,OAAA1B,EAAA2B,MAAAC,KAAAC,UAAA,EAAA,GAmBRC,EAA2B,CAC/BC,SAAU,WAAA,OAAMnC,CAAY,EAC5BG,SAAAA,EACAiC,UAAW,SAACb,GAEV,OADAtB,EAAUoC,IAAId,GACP,WAAA,OAAMtB,EAAUqC,OAAOf,EAAS,CACzC,GAIIgB,EACFzC,EAAiCC,QAA1BA,EAAGyC,OAAOC,QAAQ3C,cAAQC,SAAvBA,EAAyB2C,QACnC,SACEC,EAA+CC,GAAA,IAAAC,EAAAC,EAAAA,cAAAF,EAAA,GAC9CG,EAAUF,EAAA,GAAEG,EAAaH,EAAA,GAAA,OAAAI,EAAAC,cAAAD,gBAAA,CAAA,EAEvBN,GAAUQ,CAAAA,EAAAA,EAAAC,eACZL,GAAAA,GAAa,WAAA,OAAM5C,EAAS6C,EAAchD,GAAc,IAAA,GAE3D,CAAA,GACE,KAON,OAL8BiD,EAAAA,cAAAA,EAAAA,cACzBf,CAAAA,EAAAA,GACCK,EAAkB,CAAEzC,QAAOmD,EAAAA,cAAA,CAAA,EAAOV,IAAsB,CAAE,EAIlE"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");exports.useStore=function(r){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e};return e.useSyncExternalStore(r.subscribe,(function(){return t(r.getState())}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react"),e=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(t){return t};return[t.useSyncExternalStore(e.subscribe,(function(){return r(e.getState())})),e.setState,e.actions]};exports.useState=function(t){return[e(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(t){return t}),t.setState,null==t?void 0:t.actions]},exports.useStore=e;
2
2
  //# sourceMappingURL=useStore.react.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useStore.react.js","sources":["../../../../../../../src/core/utils/appState/store/useStore.react.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react'\n\nimport type { Store, Selector } from './store.vanillajs'\n\nexport const useStore = <T>(\n store: Store<T>,\n selector: Selector<T> = (state) => state,\n // TODO pass selector\n // useSyncExternalStore((...args) => {\n // args[0].selector?? store.subscribe(...args) }, () => selector(store.getState()));\n) => useSyncExternalStore(store.subscribe, () => selector(store.getState()))\n"],"names":["store","selector","arguments","length","undefined","state","useSyncExternalStore","subscribe","getState"],"mappings":"4GAIwB,SACtBA,GAAe,IACfC,EAAqBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,SAACG,GAAK,OAAKA,CAAK,EAAA,OAIrCC,EAAoBA,qBAACN,EAAMO,WAAW,WAAA,OAAMN,EAASD,EAAMQ,cAAY"}
1
+ {"version":3,"file":"useStore.react.js","sources":["../../../../../../../src/core/utils/appState/store/useStore.react.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react'\n\nimport type { Store, Selector } from './store.vanillajs'\n\nexport const useStore = <T>(\n store: Store<T>,\n selector: Selector<T> = (state) => state,\n // TODO pass selector\n // useSyncExternalStore((...args) => {\n // args[0].selector?? store.subscribe(...args) }, () => selector(store.getState()));\n) => [useSyncExternalStore(store.subscribe, () => selector(store.getState())), store.setState, store.actions]\n\nexport type useStateType<T> = [ReturnType<typeof useStore>, Store<T>['setState'], Store<T>['actions'] ]\n\nexport const useState = <T>(\n store: Store<T>,\n selector: Selector<T> = (state) => state,\n): useStateType<T> => ([\n useStore(store, selector),\n store.setState,\n store?.actions,\n ])\n"],"names":["useStore","store","selector","arguments","length","undefined","state","useSyncExternalStore","subscribe","getState","setState","actions"],"mappings":"2FAIaA,EAAW,SACtBC,GAAe,IACfC,EAAqBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,SAACG,GAAK,OAAKA,CAAK,EAAA,MAIrC,CAACC,EAAoBA,qBAACN,EAAMO,WAAW,WAAA,OAAMN,EAASD,EAAMQ,WAAY,IAAER,EAAMS,SAAUT,EAAMU,QAAQ,mBAIrF,SACtBV,GACwC,MACnB,CACnBD,EAASC,EAFUE,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,SAACG,GAAK,OAAKA,CAAK,GAGtCL,EAAMS,SACNT,eAAAA,EAAOU,QACR"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./keyExtractor.js"),t=require("./date.js"),r=require("./helpers/birthnumber.validator.js"),a=require("./helpers/birthnumberCZSKvalidator.js"),o=require("./helpers/fileValidator.js"),s=require("./helpers/date.js"),i=require("./helpers/deviceInfo.js"),p=require("./helpers/emailMatcher.js"),l=require("./helpers/file.js"),n=require("./helpers/objectOperations.js"),m=require("./helpers/other.js"),x=require("./helpers/textValueOperations.js"),u=require("./helpers/valueOperations.js"),c=require("./helpers/cancelableDelayedFunction.js"),d=require("./webComponents/webComponent.utils.js"),b=require("./appState/store/store.vanillajs.js"),h=require("./appState/store/useStore.react.js");exports.keyExtractor=e.keyExtractor,exports.keyExtractorFunction=e.keyExtractorFunction,exports.dateRangeFormat=t.dateRangeFormat,exports.getDateTime=t.getDateTime,exports.getTimeFromNow=t.getTimeFromNow,exports.getTimeFromNowOriginal=t.getTimeFromNowOriginal,exports.getTimeTo=t.getTimeTo,exports.isBirthNumberValid=r.isBirthNumberValid,exports.getMatch=a.getMatch,exports.isValidFormat=a.isValidFormat,exports.isValidModulo11=a.isValidModulo11,exports.parse=a.parse,exports.regex=a.regex,exports.parseCSVdata=o.parseCSVdata,exports.validateCSVFile=o.validateCSVFile,exports.validateCSVlines=o.validateCSVlines,exports.validateJSONFile=o.validateJSONFile,exports.validateLineCellTrimmed=o.validateLineCellTrimmed,exports.validateLineNumColumns=o.validateLineNumColumns,exports.validateSDFFile=o.validateSDFFile,exports.DATE_FORMAT=s.DATE_FORMAT,exports.formatDateToTimestamp=s.formatDateToTimestamp,exports.getDate=s.getDate,exports.getDeviceId=i.getDeviceId,exports.emailMatch=p.emailMatch,exports.emailMatcher=p.emailMatcher,exports.regexBuilder=p.regexBuilder,exports.cleanCsvLines=l.cleanCsvLines,exports.formatFilePath=l.formatFilePath,exports.arrayToObjectTree=n.arrayToObjectTree,exports.chunkArray=n.chunkArray,exports.duplicatesInArray=n.duplicatesInArray,exports.formatJsonString=n.formatJsonString,exports.formatObj=n.formatObj,exports.formatObj2=n.formatObj2,exports.debounce=m.debounce,exports.delay=m.delay,exports.memoize=m.memoize,exports.memoizeComplex=m.memoizeComplex,exports.memoizer=m.memoizer,exports.nestedTernary=m.nestedTernary,exports.escapeRegExp=x.escapeRegExp,exports.fileNameExt=x.fileNameExt,exports.findStringInText=x.findStringInText,exports.normalizeString=x.normalizeString,exports.removeWhitespaces=x.removeWhitespaces,exports.sanitizeId=x.sanitizeId,exports.sanitizePathId=x.sanitizePathId,exports.toLowerCase=x.toLowerCase,exports.toUpperCase=x.toUpperCase,exports.truncateText=x.truncateText,exports.Operation=u.Operation,exports.decrementValue=u.decrementValue,exports.incerementValue=u.incerementValue,exports.numberDefined=u.numberDefined,exports.numberOperation=u.numberOperation,exports.restrictNumberInLimits=u.restrictNumberInLimits,exports.setValue=u.setValue,exports.cancelableSetInterval=c.cancelableSetInterval,exports.cancelableSetTimeout=c.cancelableSetTimeout,exports.ced=d.ced,exports.createResolveAttribute=d.createResolveAttribute,exports.customElementDefine=d.customElementDefine,exports.resolveAttributes=d.resolveAttributes,exports.createStore=b.createStore,exports.useStore=h.useStore;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./keyExtractor.js"),t=require("./date.js"),r=require("./helpers/birthnumber.validator.js"),a=require("./helpers/birthnumberCZSKvalidator.js"),s=require("./helpers/fileValidator.js"),o=require("./helpers/date.js"),i=require("./helpers/deviceInfo.js"),p=require("./helpers/emailMatcher.js"),l=require("./helpers/file.js"),n=require("./helpers/objectOperations.js"),x=require("./helpers/other.js"),m=require("./helpers/textValueOperations.js"),u=require("./helpers/valueOperations.js"),c=require("./helpers/cancelableDelayedFunction.js"),d=require("./webComponents/webComponent.utils.js"),b=require("./appState/store/store.vanillajs.js"),h=require("./appState/store/useStore.react.js");exports.keyExtractor=e.keyExtractor,exports.keyExtractorFunction=e.keyExtractorFunction,exports.dateRangeFormat=t.dateRangeFormat,exports.getDateTime=t.getDateTime,exports.getTimeFromNow=t.getTimeFromNow,exports.getTimeFromNowOriginal=t.getTimeFromNowOriginal,exports.getTimeTo=t.getTimeTo,exports.isBirthNumberValid=r.isBirthNumberValid,exports.getMatch=a.getMatch,exports.isValidFormat=a.isValidFormat,exports.isValidModulo11=a.isValidModulo11,exports.parse=a.parse,exports.regex=a.regex,exports.parseCSVdata=s.parseCSVdata,exports.validateCSVFile=s.validateCSVFile,exports.validateCSVlines=s.validateCSVlines,exports.validateJSONFile=s.validateJSONFile,exports.validateLineCellTrimmed=s.validateLineCellTrimmed,exports.validateLineNumColumns=s.validateLineNumColumns,exports.validateSDFFile=s.validateSDFFile,exports.DATE_FORMAT=o.DATE_FORMAT,exports.formatDateToTimestamp=o.formatDateToTimestamp,exports.getDate=o.getDate,exports.getDeviceId=i.getDeviceId,exports.emailMatch=p.emailMatch,exports.emailMatcher=p.emailMatcher,exports.regexBuilder=p.regexBuilder,exports.cleanCsvLines=l.cleanCsvLines,exports.formatFilePath=l.formatFilePath,exports.arrayToObjectTree=n.arrayToObjectTree,exports.chunkArray=n.chunkArray,exports.duplicatesInArray=n.duplicatesInArray,exports.formatJsonString=n.formatJsonString,exports.formatObj=n.formatObj,exports.formatObj2=n.formatObj2,exports.debounce=x.debounce,exports.delay=x.delay,exports.memoize=x.memoize,exports.memoizeComplex=x.memoizeComplex,exports.memoizer=x.memoizer,exports.nestedTernary=x.nestedTernary,exports.escapeRegExp=m.escapeRegExp,exports.fileNameExt=m.fileNameExt,exports.findStringInText=m.findStringInText,exports.normalizeString=m.normalizeString,exports.removeWhitespaces=m.removeWhitespaces,exports.sanitizeId=m.sanitizeId,exports.sanitizePathId=m.sanitizePathId,exports.toLowerCase=m.toLowerCase,exports.toUpperCase=m.toUpperCase,exports.truncateText=m.truncateText,exports.Operation=u.Operation,exports.decrementValue=u.decrementValue,exports.incerementValue=u.incerementValue,exports.numberDefined=u.numberDefined,exports.numberOperation=u.numberOperation,exports.restrictNumberInLimits=u.restrictNumberInLimits,exports.setValue=u.setValue,exports.cancelableSetInterval=c.cancelableSetInterval,exports.cancelableSetTimeout=c.cancelableSetTimeout,exports.ced=d.ced,exports.createResolveAttribute=d.createResolveAttribute,exports.customElementDefine=d.customElementDefine,exports.resolveAttributes=d.resolveAttributes,exports.createStore=b.createStore,exports.useState=h.useState,exports.useStore=h.useStore;
2
2
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@e1011/es-kit",
3
- "version": "1.0.86",
3
+ "version": "1.0.88",
4
4
  "main": "dist/lib/cjs/src/index.js",
5
5
  "module": "dist/lib/esm/src/index.js",
6
6
  "sideEffects": false,