eze-factory 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -0
- package/dist/Bees/ArrayBee.d.ts +2 -0
- package/dist/Bees/Bee.d.ts +3 -0
- package/dist/Bees/Bees.d.ts +3 -0
- package/dist/Bees/FormBee.d.ts +3 -0
- package/dist/Bees/FormBees.d.ts +3 -0
- package/dist/Bees/ObserverBee.d.ts +3 -0
- package/dist/Bees/ObserverBees.d.ts +3 -0
- package/dist/Bees/ObserverFormBee.d.ts +3 -0
- package/dist/Bees/ProxyBee.d.ts +13 -0
- package/dist/Bees/Types.d.ts +74 -0
- package/dist/Bees/index.d.ts +10 -0
- package/dist/Factory/factory.d.ts +9 -0
- package/dist/Factory/index.d.ts +2 -0
- package/dist/Factory/types.d.ts +2 -0
- package/dist/Hives/AsyncHive.d.ts +2 -0
- package/dist/Hives/FormHive.d.ts +16 -0
- package/dist/Hives/Hive.d.ts +2 -0
- package/dist/Hives/HiveArray.d.ts +2 -0
- package/dist/Hives/HiveBase.d.ts +2 -0
- package/dist/Hives/HiveObserver.d.ts +3 -0
- package/dist/Hives/HiveUtils.d.ts +3 -0
- package/dist/Hives/ProxyHive.d.ts +2 -0
- package/dist/Hives/Types.d.ts +98 -0
- package/dist/Hives/index.d.ts +6 -0
- package/dist/Hooks/index.d.ts +4 -0
- package/dist/Hooks/useFormHive.d.ts +5 -0
- package/dist/Hooks/useFormHoney.d.ts +5 -0
- package/dist/Hooks/useHive.d.ts +2 -0
- package/dist/Hooks/useHoney.d.ts +2 -0
- package/dist/System/Constants/Kit/Error.d.ts +3 -0
- package/dist/System/Constants/Kit/IosLoader.d.ts +3 -0
- package/dist/System/Constants/Kit/ItemsLoading.d.ts +3 -0
- package/dist/System/Constants/Kit/Loader.d.ts +6 -0
- package/dist/System/Constants/Kit/LoaderTwo.d.ts +7 -0
- package/dist/System/Constants/Kit/Loading.d.ts +3 -0
- package/dist/System/Constants/Kit/NoContent.d.ts +6 -0
- package/dist/System/Constants/Kit/Progressing.d.ts +7 -0
- package/dist/System/Constants/Kit/Searching.d.ts +3 -0
- package/dist/System/Constants/Kit/StateKit.d.ts +21 -0
- package/dist/System/Constants/Kit/index.d.ts +4 -0
- package/dist/System/Constants/QueryDefaults.d.ts +17 -0
- package/dist/System/Constants/StatusDefaults.d.ts +8 -0
- package/dist/System/Factories/DetailFactory.d.ts +25 -0
- package/dist/System/Factories/FactoryPackage.d.ts +6 -0
- package/dist/System/Factories/ListFactory.d.ts +34 -0
- package/dist/System/Factories/StaticTableFactory.d.ts +33 -0
- package/dist/System/Factories/TableFactory.d.ts +40 -0
- package/dist/System/Factories/Types.d.ts +25 -0
- package/dist/System/Factories/index.d.ts +4 -0
- package/dist/System/Slices/Exporter/ExporterMechanics.d.ts +17 -0
- package/dist/System/Slices/Exporter/ExporterSlice.d.ts +4 -0
- package/dist/System/Slices/Exporter/Types.d.ts +35 -0
- package/dist/System/Slices/Loader/LoaderMechanics.d.ts +5 -0
- package/dist/System/Slices/Loader/LoaderSlice.d.ts +15 -0
- package/dist/System/Slices/Loader/Types.d.ts +25 -0
- package/dist/System/Slices/Paginator/PaginatorMechanics.d.ts +17 -0
- package/dist/System/Slices/Paginator/PaginatorSlice.d.ts +22 -0
- package/dist/System/Slices/Paginator/Types.d.ts +30 -0
- package/dist/System/Slices/Query/Components/Filters.d.ts +8 -0
- package/dist/System/Slices/Query/Components/QueryContainer.d.ts +9 -0
- package/dist/System/Slices/Query/Components/QueryElements.d.ts +18 -0
- package/dist/System/Slices/Query/Components/Sorts.d.ts +0 -0
- package/dist/System/Slices/Query/QueryMechanics.d.ts +13 -0
- package/dist/System/Slices/Query/QuerySlice.d.ts +4 -0
- package/dist/System/Slices/Query/Types.d.ts +46 -0
- package/dist/System/Slices/Status/Components/StatusIndicator.d.ts +91 -0
- package/dist/System/Slices/Status/Components/StatutsComopnent.d.ts +12 -0
- package/dist/System/Slices/Status/StatusSlice.d.ts +22 -0
- package/dist/System/Slices/Status/Types.d.ts +76 -0
- package/dist/System/Slices/Table/Components.d.ts +2 -0
- package/dist/System/Slices/Table/TableMechanics.d.ts +20 -0
- package/dist/System/Slices/Table/TableSlice.d.ts +4 -0
- package/dist/System/Slices/Table/Types.d.ts +71 -0
- package/dist/System/Slices/Types.d.ts +39 -0
- package/dist/System/StatusKit.d.ts +76 -0
- package/dist/Types.d.ts +15 -0
- package/dist/Ui/Containers/ControllerContainers.d.ts +17 -0
- package/dist/Ui/Containers/index.d.ts +1 -0
- package/dist/Ui/StatusKit/StateBuilder.d.ts +8 -0
- package/dist/Ui/StatusKit/StatusBee.d.ts +15 -0
- package/dist/Ui/StatusKit/StatusKit.d.ts +16 -0
- package/dist/Ui/StatusKit/empty.d.ts +6 -0
- package/dist/Ui/StatusKit/error.d.ts +7 -0
- package/dist/Ui/StatusKit/index.d.ts +4 -0
- package/dist/Ui/StatusKit/loading.d.ts +6 -0
- package/dist/Ui/StatusKit/loadingMore.d.ts +6 -0
- package/dist/Ui/StatusKit/processing.d.ts +6 -0
- package/dist/Ui/Wrappers/Wrapper.d.ts +17 -0
- package/dist/Ui/Wrappers/index.d.ts +2 -0
- package/dist/Ui/Wrappers/types.d.ts +38 -0
- package/dist/Ui/index.d.ts +2 -0
- package/dist/Utils/Storable.d.ts +20 -0
- package/dist/Utils/Utils.d.ts +3 -0
- package/dist/Utils/index.d.ts +5 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../lib/Utils/Storable.ts","../lib/Hives/HiveUtils.ts","../lib/Hives/HiveBase.ts","../lib/Hives/Hive.ts","../lib/Ui/StatusKit/StateBuilder.ts","../lib/Hooks/useHoney.ts","../lib/Hooks/useFormHoney.ts","../lib/Ui/StatusKit/StatusBee.tsx","../lib/Ui/StatusKit/loading.tsx","../lib/Ui/StatusKit/processing.tsx","../lib/Ui/StatusKit/loadingMore.tsx","../lib/Ui/StatusKit/empty.tsx","../lib/Ui/StatusKit/StatusKit.tsx","../lib/Ui/StatusKit/error.tsx","../lib/Ui/Wrappers/Wrapper.tsx","../lib/Factory/factory.ts","../lib/Utils/index.ts","../lib/Bees/ArrayBee.tsx","../lib/Bees/Bee.tsx","../lib/Bees/Bees.tsx","../lib/Bees/FormBee.tsx","../lib/Bees/FormBees.tsx","../lib/Bees/ObserverBee.tsx","../lib/Bees/ObserverBees.tsx","../lib/Bees/ObserverFormBee.tsx","../lib/Bees/ProxyBee.tsx","../lib/Hives/FormHive.ts","../lib/Hives/HiveArray.ts","../lib/Hives/HiveObserver.ts","../lib/Hives/ProxyHive.ts","../lib/Hooks/useFormHive.ts","../lib/Hooks/useHive.ts"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","export default class Storable {\n storage: Storage;\n storeKey: string;\n set = (store_key: string, data: any) =>\n data && Object.values(data).length > 0 ? this.storage.setItem(this.getCleanString(store_key), JSON.stringify(data)) : this.remove(store_key);\n get = (store_key: string) => JSON.parse(this.storage.getItem(this.getCleanString(store_key)) as string);\n\n insert = (key: string, value: Array<any> | Object) => {\n const isArray = Array.isArray(value);\n const _stored = this.get(key) ?? (isArray ? [] : {});\n let toStore = value;\n if (Object.keys(_stored)?.length) {\n if (isArray) toStore = [...(_stored as any[]), ...(toStore as any[])];\n else if (typeof toStore === \"object\") toStore = { ..._stored, ...toStore };\n }\n this.set(key, toStore);\n };\n remove = (store_key: string) => this.storage.removeItem(this.getCleanString(store_key));\n clear = (storageKey?: string) => {\n if (storageKey) {\n for (let i = 0; i < this.storage?.length; i++) {\n let key = this.storage.key(i) as string;\n if (key.startsWith(this.getCleanString(storageKey))) this.storage.removeItem(key);\n }\n } else\n for (let i = 0; i < this.storage?.length; i++) {\n let key = this.storage.key(i) as string;\n if (key.startsWith(this.storeKey)) this.storage.removeItem(key);\n }\n };\n select = (key: string, value: any) => (this.get(key) ?? [])[value];\n\n private getCleanString = (text = \"\") => this.storeKey + text.replace(/[?&=/!]/g, \"-\");\n\n constructor({ storage = \"sessionStorage\", storeKey = \"storable\" }: StorableConstructor) {\n this.storage = {} as Storage;\n if (storage === \"localStorage\") this.storage = localStorage;\n else if (storage === \"sessionStorage\") this.storage = sessionStorage;\n else if (storage === \"memoryStorage\") this.storage = getMemoryStorage();\n else if (storage instanceof Storage) this.storage = storage;\n else (storage as any) = null;\n this.storeKey = storeKey;\n }\n static clear = (storage: \"localStorage\" | \"sessionStorage\", storageKey: string) => {\n let _storage = storage === \"localStorage\" ? localStorage : sessionStorage;\n for (let i = 0; i < _storage?.length; i++) {\n let key = _storage.key(i) as string;\n if (key.startsWith(storageKey)) _storage.removeItem(key);\n }\n };\n}\nexport type StorageType = \"localStorage\" | \"sessionStorage\" | \"memoryStorage\" | Storage;\ntype StorableConstructor = {\n storage?: StorageType;\n storeKey?: string;\n};\n\nexport type IStorable = InstanceType<typeof Storable>;\n\nfunction getMemoryStorage() {\n const memoryStorage: any = {\n getItem: (key: string) => memoryStorage[key] ?? null,\n setItem: (key: string, value: any) => {\n memoryStorage[key] = value;\n memoryStorage.length++;\n },\n removeItem: (key: string) => {\n delete memoryStorage[key];\n memoryStorage.length--;\n },\n key: (index: number) => Object.keys(memoryStorage)[index] ?? null,\n length: 0,\n };\n return memoryStorage as Storage;\n}\n","import Storable, { StorageType } from \"../Utils/Storable\";\n\nconst _Storables = {\n localStorage: null,\n sessionStorage: null,\n memoryStorage: null,\n} as any;\n\nexport const getStorable = (storage: StorageType = \"memoryStorage\") => {\n if (_Storables[storage as string] === null) _Storables[storage as string] = new Storable({ storeKey: \"BeehiveStore_\", storage });\n return _Storables[storage as string];\n};\n\nexport const CheckSimilarity = (a: any, b: any) => {\n if (typeof a !== typeof b) return false;\n if (typeof a === \"object\" && typeof b === \"object\") {\n if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n if (!CheckSimilarity(a[i], b[i])) return false;\n }\n } else {\n if (a === null || b === null) return a === b;\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) return false;\n for (let i = 0; i < aKeys.length; i++) {\n if (!CheckSimilarity(a[aKeys[i]], b[bKeys[i]])) return false;\n }\n }\n } else if (a !== b) return false;\n return true;\n};\n","// Path: src/Utils/Hive/HiveBase.ts (Simplified)\nimport { StorageType } from \"../Utils/Storable\";\nimport { CheckSimilarity, getStorable } from \"./HiveUtils\";\nimport { IHive, IHiveBase, IStoreKey } from \"./Types\";\n\n// Single subscriber type that handles both cases\ntype Subscriber<T> = {\n callback: (newValue: T) => void;\n weakRef?: WeakRef<any>; // Optional - if provided, it's a weak subscription\n};\n\nexport function _getHiveBase<HiveType>(initialValue: HiveType, storeKey?: IStoreKey): IHiveBase<HiveType> {\n const subscribers = new Set<Subscriber<HiveType>>();\n\n const pollinate = async () => {\n for (const subscriber of subscribers) {\n if (subscriber.weakRef) {\n // Weak subscription - check if instance is still alive\n const instance = subscriber.weakRef.deref();\n if (instance) {\n // Instance alive, call callback\n subscriber.callback(baseHive.honey);\n } else {\n // Instance dead, remove directly\n subscribers.delete(subscriber);\n }\n } else {\n // Regular subscription - always call\n subscriber.callback(baseHive.honey);\n }\n }\n };\n\n let silentSetHoney = (newValue: any) => {\n baseHive.honey = typeof newValue === \"function\" ? newValue(baseHive.honey) : newValue;\n };\n\n const setHoney = (newValue: any) => {\n if (newValue === baseHive.honey) return;\n // if (CheckSimilarity(newValue, baseHive.honey)) return;\n baseHive.silentSetHoney(newValue);\n pollinate();\n };\n\n const baseHive: IHive<HiveType> = {\n initialValue,\n honey: initialValue,\n setHoney,\n silentSetHoney,\n\n // ✅ Single subscribe method with optional instance parameter\n subscribe: (callback, instance?: any) => {\n if (baseHive.honey !== initialValue) callback(baseHive.honey);\n\n const subscriber: Subscriber<HiveType> = {\n callback,\n weakRef: instance ? new WeakRef(instance) : undefined,\n };\n\n subscribers.add(subscriber);\n\n return () => {\n subscribers.delete(subscriber);\n };\n },\n\n _subscribers: () => subscribers.size,\n\n reset: () => baseHive.setHoney(initialValue),\n };\n\n // ✅ Original storage logic unchanged\n if (storeKey) {\n let storage = \"memoryStorage\" as StorageType;\n if (typeof storeKey === \"object\") {\n storage = storeKey.storage;\n storeKey = storeKey.storeKey;\n }\n const Storable = getStorable(storage);\n\n const storedValue = Storable.get(storeKey);\n if (storedValue) baseHive.setHoney(storedValue);\n\n baseHive.subscribe((newValue: any) => Storable.set(storeKey, newValue));\n baseHive.clearStore = () => {\n baseHive.setHoney(initialValue);\n Storable.clear(storeKey);\n };\n } else pollinate();\n\n return [baseHive, pollinate];\n}\n","import { _getHiveBase } from \"./HiveBase\";\nimport { IHive, IStoreKey } from \"./Types\";\n\nexport function createHive<HiveType = any>(initialValue: HiveType, storeKey?: IStoreKey): IHive<HiveType> {\n return _getHiveBase(initialValue, storeKey)[0];\n}\n","import { IHive, createHive } from \"../../Hives\";\nimport { ServiceStatus, Status } from \"../../Types\";\n\n// export type IStateBuilder<S> = {\n// state: ServiceState<S | Status>;\n// setState: React.Dispatch<React.SetStateAction<S | Status>>;\n// statusKit?: any;\n// };\n\nexport default class StatusService<S = Status> {\n statusHive: IHive<S | ServiceStatus> = createHive<S | ServiceStatus>(\"idle\" as S);\n statusKit?: any;\n constructor() {}\n}\n\nexport type IStateBuilder<S = Status> = StatusService<S>;\n","import { useEffect, useState } from \"react\";\nimport { IHive, IHiveArray, IHiveObserver, INestedFormHive } from \"../Hives/Types\";\n\nexport default function useHoney<HiveType>(hive: IHive<HiveType> | IHiveObserver<HiveType> | IHiveArray<HiveType> | INestedFormHive<HiveType>) {\n const [, storeHoneyValue] = useState(hive.honey);\n useEffect(() => hive.subscribe(storeHoneyValue), [hive]);\n return hive.honey;\n}\n","import { useEffect, useState } from \"react\";\nimport { INestedFormHive } from \"../Hives/Types\";\n\nexport default function useFormHoney<HiveType>(hive: INestedFormHive<HiveType>) {\n const [, storeHoneyValue] = useState(hive.honey);\n useEffect(() => hive.subscribe(storeHoneyValue), [hive]);\n return hive.honey as {\n value: HiveType;\n error?: string;\n };\n}\n","import React from \"react\";\nimport { IHive } from \"../../Hives\";\nimport { useHoney } from \"../../Hooks\";\n\ninterface IStateBuilderProps {\n factory?: {\n status?: {\n getStatusComponent: () => any;\n hive: IHive<any>;\n };\n canLoadHive?: IHive<boolean>;\n // Support loose shape from Wrapper\n statusHive?: IHive<any>;\n statusKit?: any;\n };\n // Support direct props from Wrapper\n hive?: IHive<any>;\n}\n\nfunction StatusBee({ factory, hive }: IStateBuilderProps) {\n const activeHive = hive || factory?.status?.hive || factory?.statusHive;\n\n useHoney(activeHive as any);\n\n if (factory?.status?.getStatusComponent) {\n return factory.status.getStatusComponent();\n }\n\n // Fallback logic\n if (activeHive) {\n const status = activeHive.honey;\n const kit = factory?.statusKit;\n if (kit) {\n const Component = kit[status] || kit.default || kit.error || null;\n // If Component is a function component, render it; otherwise return as node\n if (typeof Component === \"function\") {\n return <Component />;\n }\n return Component;\n }\n }\n return null;\n}\nexport default StatusBee;\n","import React from \"react\";\n\ninterface Props {\n children?: React.ReactNode;\n}\nconst Loading = ({ children }: Props) => {\n return (\n <div className=\"fixed inset-0 col s-loading-container\">\n <div className=\"col-center m-auto\">\n <LoadingComponent />\n {children}\n </div>\n </div>\n );\n};\n\nexport default Loading;\n\nconst LoadingComponent = () => <span className=\"s-loading-2\" />;\n","import React from \"react\";\n\ninterface Props {\n children?: React.ReactNode;\n}\nconst Processing = ({ children = <p>Processing...</p> }: Props) => {\n return (\n <div className=\"fixed inset-0 col s-Processing-container\">\n <div className=\"col-center m-auto\">\n <ProgressingComponent />\n {children}\n </div>\n </div>\n );\n};\n\nexport default Processing;\n\nconst ProgressingComponent = () => <span className=\"s-Processing\" />;\n","import React from \"react\";\n\ninterface Props {\n children?: React.ReactNode;\n}\nconst LoadingMore = ({ children }: Props) => {\n return (\n <div className=\"col-span-full col s-loading-container\">\n <div className=\"col-center m-auto\">\n <LoadingComponent />\n {children}\n </div>\n </div>\n );\n};\n\nexport default LoadingMore;\n\nconst LoadingComponent = () => <span className=\"s-loading-2\" />;\n","import React from \"react\";\n\ninterface Props {\n children?: React.ReactNode;\n}\nconst Empty = ({ children }: Props) => {\n return (\n <div className=\"fixed inset-0 col s-loading-container\">\n <div className=\"col-center m-auto\">\n <LoadingComponent />\n {children}\n </div>\n </div>\n );\n};\n\nexport default Empty;\n\nconst LoadingComponent = () => <span>No Content!</span>;\n","import React from \"react\";\nimport Loading from \"./loading\";\nimport processing from \"./processing\";\nimport loadingMore from \"./loadingMore\";\nimport Empty from \"./empty\";\nimport Error from \"./error\";\n\nexport const StatusKit: IStatusKit = {\n processing,\n loading: Loading,\n error: Error as any,\n loadingMore,\n empty: Empty,\n reloading: Loading,\n searching: Loading,\n success: () => {\n return <p>nice</p>;\n },\n idle: null,\n};\n\nexport const setDefaultStatusKit = (kit: Partial<IStatusKit>) => {\n Object.keys(kit).forEach((key) => {\n (StatusKit as any)[key] = kit[key];\n });\n};\n\ntype StatusKitType = React.ReactNode | React.FC;\ninterface IStatusKit {\n error: StatusKitType;\n loading: StatusKitType;\n processing: StatusKitType;\n empty: StatusKitType;\n loadingMore: StatusKitType;\n reloading: StatusKitType;\n searching: StatusKitType;\n success: StatusKitType;\n [key: string]: StatusKitType;\n}\n","import React from \"react\";\n\ninterface Props {\n service: any;\n error?: any;\n}\n\nconst Error = ({ service, error = { Error: \"not passed\" } }: Props) => {\n if (process.env.NODE_ENV === \"production\") return <></>;\n return (\n <div\n onClick={({ target }) => {\n if (service?.retry) {\n service?.retry();\n } else if (service?.reload) {\n service?.reload();\n } else {\n service?.statusHive?.setHoney(\"idle\");\n }\n }}\n className=\"fixed bg-blur inset-0 overflow-auto\"\n style={{ zIndex: 1000000, paddingBlock: 100 }}>\n <div className=\"col-center m-auto\" style={{ maxWidth: 720 }}>\n <div\n className=\"animate-bounce round-full bg-red row-center justify-center\"\n style={{ opacity: 0.3, width: 100, height: 100, boxShadow: \" 0 0 10px var(--red)\" }}>\n <p className=\"text-white text-center \">Error!</p>\n </div>\n <div>{JSON.stringify(error)}</div>\n </div>\n </div>\n );\n};\n\nexport default Error;\n","import React from \"react\";\nimport { IWrapperProps, ListenToPullProps, onPullProps } from \"./types\";\nimport { StatusBee } from \"../StatusKit\";\nimport { IHive } from \"../../Hives\";\n\nclass WrapperClassComponent extends React.Component {\n id: string;\n container: HTMLDivElement = null as any;\n reloaderProps: ReloaderProps;\n\n constructor(props: IWrapperProps) {\n super(props);\n this.id = `wrapper-${window.location.pathname.replace(/\\//g, \"\")}-${props.id}`;\n this.reloaderProps = { ..._reloaderProps, ...props.reloaderProps };\n const { position, className } = this.reloaderProps;\n this.reloaderProps.className = `${className ? `${className} ` : \"\"}${position}`;\n }\n componentDidMount() {\n const { loadMore, reload, canLoadHive, statusHive, rememberScrollPosition } = this.props as IWrapperProps;\n\n loadMore && this.listnToScroll(loadMore, canLoadHive);\n reload && listenToPull({ reload, container: this.container, statusHive: statusHive as any, reloaderProps: this.reloaderProps });\n if (rememberScrollPosition) this.returnToLastScrollPostion();\n }\n private returnToLastScrollPostion() {\n setTimeout(() => {\n PostionById[this.id] && this.container.scrollTo({ top: PostionById[this.id], left: 0, behavior: \"instant\" });\n }, 20);\n }\n\n private listnToScroll(loadMore: () => void, canLoadHive?: IHive<boolean>) {\n //@ts-ignore\n const isScrollPositionTopHive = this.props.isScrollPositionTopHive as IHive<boolean>;\n let lastScrollPosition = 0;\n if (canLoadHive) {\n if (isScrollPositionTopHive) {\n this.container.onscroll = ({ target }: any) => {\n // if (isScrollPositionTopHive.honey) {\n // if (target.scrollTop !== 0) isScrollPositionTopHive.setHoney(false);\n // } else if (target.scrollTop === 0) isScrollPositionTopHive.setHoney(true);\n\n //check if it up or down\n if (isScrollPositionTopHive.honey === true) {\n if (target.scrollTop > lastScrollPosition) isScrollPositionTopHive.setHoney(false);\n } else if (target.scrollTop < lastScrollPosition) {\n isScrollPositionTopHive.setHoney(true);\n }\n lastScrollPosition = target.scrollTop;\n\n if (canLoadHive.honey && target.scrollHeight - target.scrollTop < target.clientHeight + 400) loadMore();\n };\n } else\n this.container.onscroll = ({ target }: any) => {\n if (canLoadHive.honey && target.scrollHeight - target.scrollTop < target.clientHeight + 400) loadMore();\n };\n } else if (isScrollPositionTopHive) {\n this.container.onscroll = ({ target }: any) => {\n //check if it up or down\n if (isScrollPositionTopHive.honey !== false) {\n if (target.scrollTop > lastScrollPosition) isScrollPositionTopHive.setHoney(false);\n } else if (target.scrollTop < lastScrollPosition) {\n isScrollPositionTopHive.setHoney(true);\n }\n lastScrollPosition = target.scrollTop;\n };\n }\n }\n\n componentWillUnmount() {\n const containerScrollTop = this.container.scrollTop;\n if (containerScrollTop === 0) return;\n PostionById[this.id] = containerScrollTop;\n }\n render() {\n const {\n service,\n statusKit,\n statusHive,\n children,\n reloader,\n subscribeToStatus,\n reload,\n loadMore,\n reloaderProps,\n canLoadHive,\n rememberScrollPosition,\n isScrollPositionTopHive,\n ...props\n } = this.props as IWrapperProps;\n const { Component, className } = this.reloaderProps;\n return (\n <div\n ref={(_ref) => {\n if (_ref) this.container = _ref;\n }}\n {...props}>\n {reload && (\n <div className={className} style={{ display: \"none\" }} id=\"reloader-container\">\n {Component}\n </div>\n )}\n {children}\n {subscribeToStatus && (\n <StatusBee\n hive={statusHive}\n factory={\n service || {\n statusHive,\n statusKit,\n }\n }\n />\n )}\n </div>\n );\n }\n}\n\nconst listenToPull = ({ reload, container, statusHive, reloaderProps }: ListenToPullProps) => {\n if (!container) return;\n const containerGap = parseInt(window.getComputedStyle(container).gap.replace(\"px\", \"\")) || 0;\n\n let isPulling = false,\n startY = 0,\n diff = 0,\n reloader = container.querySelector(\"#reloader-container\") as any & HTMLElement;\n document.documentElement.style.setProperty(\"--reloader-m-top\", `-${100 + containerGap}px`);\n\n reloader.remove = async () => {\n let defaultClass = `${reloaderProps.reloadingClass} ${reloaderProps.disappearingClass}`;\n reloader.style = \"\";\n\n reloader.setClassName(defaultClass);\n await new Promise((resolve) => setTimeout(resolve, 500));\n isPulling = false;\n reloader.className === defaultClass && reloader.setClassName(reloaderProps.disappearingClass);\n reloader.style.display = \"none\";\n };\n\n reloader.setClassName = (className: string) => {\n reloader.className = `${reloaderProps.className} ${className}`;\n };\n\n const onSwipeDown = (e: any) => {\n diff = e.touches[0].clientY - startY;\n if (diff > 20) {\n if (diff > 200) diff = 200;\n let diffPercentage = diff / 100;\n let offset = (1 - diffPercentage) * reloader.offsetHeight;\n reloader.style.marginTop = -offset - containerGap + \"px\";\n reloader.style.opacity = diffPercentage;\n (reloaderProps as any).onPull({ diff, diffPercentage, reloader });\n }\n };\n\n const touchEnd = () => {\n container.removeEventListener(\"touchend\", touchEnd);\n container.removeEventListener(\"touchmove\", onSwipeDown);\n if (diff < 100) {\n setTimeout(async () => {\n await reloader.remove();\n }, 0);\n return;\n }\n reloader.setClassName(reloaderProps.reloadingClass);\n setTimeout(async () => {\n await reload();\n await reloader?.remove();\n }, 500);\n };\n\n container.addEventListener(\"touchstart\", (e: any) => {\n if (container.scrollTop > 5 || isPulling || statusHive.honey === \"reloading\") return;\n isPulling = true;\n reloader.style.display = \"\";\n reloader.style.opacity = \"0\";\n reloader.style.marginTop = -100 - containerGap + \"px\";\n reloader.setClassName(reloaderProps.pullingClass);\n diff = 0;\n\n container.addEventListener(\"touchmove\", onSwipeDown);\n container.addEventListener(\"touchend\", touchEnd);\n startY = e.touches[0].clientY;\n });\n};\n\nconst PostionById: any = {};\n\nconst Wrapper = ({\n service = {},\n reload = service.reload,\n loadMore = service.loadMore,\n subscribeToStatus = !!service.statusHive,\n statusHive = service.statusHive,\n canLoadHive = service.canLoadHive,\n statusKit = service.statusKit,\n isScrollPositionTopHive = service.isScrollPositionTopHive,\n className = \"\",\n rememberScrollPosition = true,\n ...props\n}: IWrapperProps) => {\n return (\n <WrapperClassComponent\n {...{\n service,\n reload,\n loadMore,\n subscribeToStatus,\n className,\n statusHive,\n canLoadHive,\n statusKit,\n rememberScrollPosition,\n isScrollPositionTopHive,\n ...props,\n }}\n />\n );\n};\n\nexport default Wrapper;\n\nexport type ReloaderProps = {\n [P in keyof typeof _reloaderProps]?: (typeof _reloaderProps)[P];\n};\n\nconst _reloaderProps = {\n id: \"reloader\",\n reloadingClass: \"reloading\",\n disappearingClass: \"disappearing\",\n pullingClass: \"pulling\",\n onPull: ({ diff, diffPercentage, reloader }: onPullProps) => {\n (reloader as any).style.transform = `rotate(${diffPercentage * -360}deg)`;\n // (reloader.firstChild as any).style.scale = `${0.4 + diffPercentage * 0.2}`;\n },\n Component: (\n <svg className=\"reloader-svg\" viewBox=\"0 0 512 512\">\n <path d=\"M256,431.967c-97.03,0-175.967-78.939-175.967-175.967c0-28.668,7.013-56.655,20.156-81.677l-25.144-16.639l107.282-54.228l-7.974,119.943l-26.111-17.279c-7.203,15.517-11.041,32.51-11.041,49.879c0,65.507,53.294,118.801,118.801,118.801s118.801-53.294,118.801-118.801s-53.295-118.8-118.802-118.8V80.033c97.028,0,175.967,78.938,175.967,175.967S353.028,431.967,256,431.967z\" />\n </svg>\n ),\n className: \"\",\n position: \"relative\" as \"absolute\" | \"fixed\" | \"relative\",\n};\n","import { SliceFactory } from \"./types\";\n\nexport function createFactory() {\n return new FactoryBuilder<{}>({});\n}\n\nclass FactoryBuilder<Ctx> {\n constructor(private ctx: Ctx) {}\n\n use<Add>(factory: SliceFactory<Ctx, Add>) {\n const slice = factory(this.ctx);\n return new FactoryBuilder<Ctx & Add>({\n ...this.ctx,\n ...slice,\n });\n }\n\n build(): Ctx {\n return this.ctx;\n }\n}\n","export { default as Utils } from \"./Utils\";\n\nexport const ExtractId = (obj: any, key: string) => {\n if (typeof obj[key] === \"object\") obj[key] = obj[key].id;\n};\n\nexport const ExtractIds = (obj: any, keys: string[]) => {\n keys.forEach((key) => ExtractId(obj, key));\n};\n\nexport const ExtractValue = (obj: any, key: string) => {\n const value = obj[key];\n delete obj[key];\n return value;\n};\n\nexport const ExtractValues = (obj: any, keys: string[]) => {\n return keys.map((key) => ExtractValue(obj, key));\n};\n","import React from \"react\";\nimport { useHoney } from \"../Hooks\";\nimport { ArrayBeeProps } from \"./Types\";\n\nexport default function ArrayBee<HiveType = any>({ hive, Component }: ArrayBeeProps<HiveType>) {\n return useHoney(hive).map((item: any, i: number) => <Component key={item.id} honey={item} i={i} />);\n}\n","import React from \"react\";\nimport { BeeProps } from \"./Types\";\nimport { useHoney } from \"../Hooks\";\n\nexport default function Bee<HiveType = any>({ hive, Component }: BeeProps<HiveType>) {\n return <Component honey={useHoney(hive)} setHoney={hive.setHoney} silentSetHoney={hive.silentSetHoney} />;\n}\n","import React from \"react\";\nimport { useHoney } from \"../Hooks\";\nimport { BeesProps } from \"./Types\";\n\nexport default function Bees({ hiveCluster, Component }: BeesProps) {\n const cell = {} as { [key: keyof typeof hiveCluster]: any };\n Object.entries(hiveCluster).map(([key, hive]) => {\n cell[key] = (useHoney as any)(hive);\n });\n const set = (newValues: { [key: keyof typeof hiveCluster]: any }, replace = false) => {\n if (replace) Object.entries(hiveCluster).forEach(([key, hive]) => hive.setHoney(newValues[key]));\n else Object.entries(newValues).forEach(([key, value]) => hiveCluster[key].setHoney(value));\n };\n return <Component cell={cell} set={set} />;\n}\n","import React from \"react\";\nimport { FormBeeProps } from \"./Types\";\nimport { useFormHoney } from \"../Hooks\";\n\nexport default function FormBee<HiveType = any>({ hive, Component }: FormBeeProps<HiveType>) {\n const { value, error } = useFormHoney(hive);\n return <Component honey={value} error={error} setHoney={hive.setHoney} silentSetHoney={hive.silentSetHoney} validate={hive.validate} />;\n}\n","import React from \"react\";\nimport { FormBeesProps } from \"./Types\";\nimport { useHoney } from \"../Hooks\";\n\nexport default function FormBees<HiveType = any>({ hiveCluster, Component }: FormBeesProps<HiveType>) {\n const cell = {} as { [key: keyof typeof hiveCluster]: any };\n Object.entries(hiveCluster).map(([key, hive]) => {\n const { value, error } = (useHoney as any)(hive);\n cell[key] = { value, error };\n });\n const set = (newValues: { [key: keyof typeof hiveCluster]: any }, replace = false) => {\n if (replace) Object.entries(hiveCluster).forEach(([key, hive]: any) => hive.setHoney(newValues[key]));\n else Object.entries(newValues).forEach(([key, value]) => hiveCluster[key].setHoney(value));\n };\n const validate = (newValues: { [key: keyof typeof hiveCluster]: any }) => {\n Object.entries(newValues).forEach(([key, value]) => hiveCluster[key].validate(value));\n };\n\n return <Component cell={cell} set={set} validate={validate as any} />;\n}\n","import React from \"react\";\nimport { useHoney } from \"../Hooks\";\nimport { ObserverBeeProps } from \"./Types\";\n\nexport default function ObserverBee<HiveType = any>({ hive, Component }: ObserverBeeProps<HiveType>) {\n return <Component honey={useHoney(hive)} />;\n}\n","import React from \"react\";\nimport { useHoney } from \"../Hooks\";\nimport { ObserverBeesProps } from \"./Types\";\n\nexport default function ObserverBees({ hiveCluster, Component }: ObserverBeesProps) {\n const cell = {} as { [key: keyof typeof hiveCluster]: any };\n Object.entries(hiveCluster).map(([key, hive]) => {\n cell[key] = (useHoney as any)(hive);\n });\n return <Component cell={cell} />;\n}\n","import React from \"react\";\nimport { ObserverFormBeeProps } from \"./Types\";\nimport { useFormHoney } from \"../Hooks\";\n\nexport default function ObserverFormBee<HiveType = any>({ hive, Component }: ObserverFormBeeProps<HiveType>) {\n const { value, error } = useFormHoney(hive);\n return <Component honey={value} error={error} />;\n}\n","import React from \"react\";\nimport { useHoney } from \"../Hooks\";\nimport { IProxyHive } from \"../Hives/Types\";\n\ninterface ControllerElementProps<T> {\n hive: IProxyHive<T>;\n id: keyof T;\n Component: React.ComponentType<{ honey: T[keyof T]; setHoney: (value: T[keyof T]) => void; silentSetHoney: (value: T[keyof T]) => void }>;\n}\n\nexport default function ProxyBee<HiveType>({ hive, Component, id }: ControllerElementProps<HiveType>) {\n const _hive = hive.getNestedHive(id) as IProxyHive<HiveType[keyof HiveType]>;\n return <Component honey={useHoney(_hive)} setHoney={_hive.setHoney} silentSetHoney={_hive.silentSetHoney} />;\n}\n","import { createHive } from \"./Hive\";\nimport { _getHiveBase } from \"./HiveBase\";\nimport { CheckSimilarity } from \"./HiveUtils\";\nimport { FormValidateMode, IFormHive, IFormHiveValidator, INestedFormHive, IStoreKey } from \"./Types\";\n\nexport function createFormHive<HiveType>({\n initialValue,\n storeKey,\n validator,\n getValidator,\n validateMode = \"onBlur\",\n onSubmit,\n}:\n | {\n initialValue: HiveType;\n storeKey?: IStoreKey;\n // validator?: (key: keyof HiveType, value: any) => string;\n validator?: undefined;\n getValidator?: (formHive: IFormHive<HiveType>) => IFormHiveValidator<HiveType>;\n validateMode?: FormValidateMode;\n onSubmit: (honey: HiveType) => void;\n }\n | {\n initialValue: HiveType;\n storeKey?: IStoreKey;\n // validator?: (key: keyof HiveType, value: any) => string;\n validator?: <K extends keyof HiveType>(key: K, value: HiveType[K]) => string | undefined;\n getValidator?: undefined;\n validateMode?: FormValidateMode;\n onSubmit: (honey: HiveType) => void;\n }): IFormHive<HiveType> {\n type FormHiveKey = keyof HiveType;\n let _initialValue = JSON.parse(JSON.stringify(initialValue));\n const formHive = createHive(JSON.parse(JSON.stringify(_initialValue)), storeKey) as IFormHive<HiveType>;\n formHive.validateMode = validateMode;\n formHive.isDirtyHive = createHive(false);\n formHive.isValidHive = createHive(true);\n\n const _NestedHives = new Map<FormHiveKey, INestedFormHive<any>>();\n\n formHive.createNestedHive = <NestedHiveType>(key: string, nestedInitVal: NestedHiveType, storeKey?: string) => {\n const [nestedHive, pollinate] = _getHiveBase({ value: nestedInitVal, error: null }, storeKey) as any as [INestedFormHive<NestedHiveType>, () => void];\n formHive.silentSetHoney = (newValue: any) => {\n formHive.honey = typeof newValue === \"function\" ? newValue(formHive.honey) : newValue;\n formHive.isDirtyHive.setHoney(!CheckSimilarity(formHive.honey, _initialValue));\n formHive.isValidHive.setHoney(!Object.values(formHive.errors).some((key) => key));\n };\n\n _NestedHives.set(key as any, nestedHive);\n formHive.errors = {};\n formHive.getError = (key: keyof HiveType) => formHive.errors[key as string];\n formHive.setError = (key: keyof HiveType, err?: string) => formHive.getNestedHive(key).setError(err);\n formHive.clearErrors = () => {\n _NestedHives.forEach((nh) => {\n nh.setError();\n });\n };\n\n nestedHive.silentSetHoney = (value: any) => {\n if (typeof value === \"function\") value = value(nestedHive.honey.value);\n nestedHive.honey = {\n error: nestedHive.honey.error,\n value,\n };\n };\n\n nestedHive.setError = (error?: string) => {\n if (!error) error = undefined;\n if (formHive.errors[key as string] === error) return;\n formHive.errors[key as string] = error as any;\n nestedHive.honey = {\n value: nestedHive.honey.value,\n error,\n };\n if (nestedHive._subscribers() < 2) alert({ title: JSON.stringify({ error }) });\n pollinate();\n };\n\n if (getValidator) {\n const keys = getValidator(formHive);\n validator = (key, value) => {\n return keys[key]?.(value);\n };\n }\n\n nestedHive.validate = validator\n ? (value: NestedHiveType, effect?: boolean) => {\n if (typeof value === \"function\") value = value(nestedHive.honey.value);\n if (nestedHive.honey.error) nestedHive.setError((validator as any)(key as FormHiveKey, value));\n else if (validateMode !== \"onSubmit\")\n if (validateMode === \"onChange\") nestedHive.setError((validator as any)(key as FormHiveKey, value));\n else if (validateMode === \"onBlur\") {\n const focusedElement = document.querySelector(\":focus\") as HTMLElement & { willValidateOnBlur?: boolean };\n if (focusedElement && !focusedElement.willValidateOnBlur) {\n focusedElement.willValidateOnBlur = true;\n focusedElement.addEventListener(\n \"blur\",\n () => {\n setTimeout(() => {\n nestedHive.setError((validator as any)(key as FormHiveKey, nestedHive.honey.value));\n focusedElement.willValidateOnBlur = false;\n }, 10);\n },\n { once: true }\n );\n }\n }\n if (effect) formHive.setHoney((prev) => ({ ...prev, [key]: value }));\n else nestedHive.setHoney(value);\n }\n : nestedHive.setHoney;\n\n nestedHive.isValid = validator\n ? () => {\n nestedHive.setError((validator as any)(key as FormHiveKey, nestedHive.honey.value));\n return !nestedHive.honey.error;\n }\n : () => true;\n\n nestedHive.subscribe((newValue: any) => {\n (formHive.honey as any)[key] = newValue.value;\n formHive.silentSetHoney(formHive.honey);\n });\n formHive.subscribe((newValue: any) => {\n if (newValue[key] === nestedHive.honey.value) return;\n nestedHive.setHoney(newValue[key]);\n });\n\n if ((formHive as any).honey[key] !== nestedInitVal) {\n formHive.setHoney((prev) => ({ ...prev, [key]: nestedInitVal }));\n _initialValue = { ..._initialValue, [key]: nestedInitVal };\n }\n\n return nestedHive;\n };\n\n formHive.setNestedHoney = (key: FormHiveKey, value: any, effect?: boolean) => {\n if (typeof value === \"function\") value = value(formHive.honey[key]);\n if (effect) formHive.setHoney((prev) => ({ ...prev, [key]: value }));\n else _NestedHives.get(key)?.setHoney(value);\n };\n formHive.getNestedHoney = (key: FormHiveKey) => _NestedHives.get(key)!.honey.value;\n formHive.getNestedHive = (key: FormHiveKey) => _NestedHives.get(key) as any;\n formHive.subscribeToNestedHive = (key: FormHiveKey, callback: (value: any) => void) => {\n _NestedHives.get(key)?.subscribe(callback);\n };\n formHive.validate = (key: keyof HiveType, value: any, effect?: boolean) => {\n formHive.getNestedHive(key).validate(value, effect);\n };\n\n // Create nested hives from initial value\n Object.entries(_initialValue as any).forEach(([key, val]) => {\n formHive.createNestedHive(key, val);\n });\n\n formHive.reValidate = (validateKeys?: FormHiveKey[]) =>\n new Promise<boolean>((resolve) => {\n formHive.clearErrors();\n if (!validateKeys) validateKeys = Object.keys(_initialValue as any) as FormHiveKey[];\n\n setTimeout(() => {\n let isValid = true;\n if (!validator) return resolve(isValid);\n\n _NestedHives.forEach((nh, key) => {\n if (!validateKeys!.includes(key)) return;\n nh.setError((validator as any)(key as FormHiveKey, nh.honey.value));\n if (isValid && !nh.isValid()) isValid = false;\n });\n resolve(isValid);\n }, 100);\n });\n\n formHive.submit = (e, validateKeys?: FormHiveKey[]) => {\n e?.preventDefault();\n formHive.reValidate(validateKeys).then((isValid) => {\n if (isValid) onSubmit(formHive.honey);\n });\n };\n\n (formHive as any).reset = (\n _init: {\n [K in keyof HiveType]?: HiveType[K];\n } = {}\n ) => {\n const newValues = JSON.parse(JSON.stringify(_initialValue));\n if (_init) {\n Object.keys(newValues).forEach((key: any) => {\n const newVal = (_init as any)[key];\n if (newVal) newValues[key] = newVal;\n });\n }\n formHive.setHoney(newValues);\n _initialValue = JSON.parse(JSON.stringify(newValues));\n\n formHive.clearErrors();\n formHive.isDirtyHive.setHoney(false);\n };\n\n return formHive;\n}\n","import { createHive } from \"./Hive\";\nimport { IHiveArray, IStoreKey } from \"./Types\";\n\nexport function createHiveArray<HiveType>(initialValue: HiveType[], storeKey?: IStoreKey): IHiveArray<HiveType> {\n const hive = createHive(initialValue, storeKey) as any as IHiveArray<HiveType>;\n\n hive.push = (newValue: HiveType) => hive.setHoney((prev) => [...prev, newValue]);\n hive.pop = () => hive.setHoney((prev) => prev.slice(0, -1));\n hive.shift = () => hive.setHoney((prev) => prev.slice(1));\n hive.unshift = (newValue: HiveType) => hive.setHoney((prev) => [newValue, ...prev]);\n hive.splice = (start: number, deleteCount: number, ...items: HiveType[]) =>\n hive.setHoney((prev) => [...prev.slice(0, start), ...items, ...prev.slice(start + deleteCount)]);\n hive.removeById = (id: any) => hive.setHoney((prev) => prev.filter((item: any) => item.id !== id));\n hive.removeByIndex = (index: number) => hive.setHoney((prev) => [...prev.slice(0, index), ...prev.slice(index + 1)]);\n hive.remove = (index: number) => hive.setHoney((prev) => [...prev.slice(0, index), ...prev.slice(index + 1)]);\n hive.append = (items: HiveType[]) => hive.setHoney((prev) => [...prev, ...items]);\n hive.update = () => hive.setHoney((prev) => [...prev]);\n hive.updateByIndex = (index: number, newValue: HiveType) =>\n hive.setHoney((prev) => {\n prev[index] = newValue;\n return [...prev];\n });\n hive.updateById = (id: any, newValue: HiveType) => hive.setHoney((prev) => prev.map((item: any) => (item.id === id ? newValue : item)));\n\n return hive;\n}\n","import { _getHiveBase } from \"./HiveBase\";\nimport { HiveGetter, IHive } from \"./Types\";\nimport { IHiveObserver } from \"./Types\";\n\nexport function createHiveObserver<HiveType>(listen: HiveGetter<HiveType>): IHiveObserver<HiveType> {\n const [baseHive, _pollinate] = _getHiveBase(null as any);\n baseHive.setHoney = () => {\n throw new Error(\"Cannot set honey on an observable hive\");\n };\n baseHive.silentSetHoney = () => {\n throw new Error(\"Cannot set honey on an observable hive\");\n };\n\n const subscribed = new Set<IHive<any>>();\n const observe = <Target>(hive: IHive<Target>) => {\n let currentHoney = hive.honey;\n if (!subscribed.has(hive)) {\n subscribed.add(hive);\n hive.subscribe(pollinate);\n }\n return currentHoney;\n };\n\n const pollinate = async () => {\n baseHive.honey = listen(observe);\n _pollinate();\n };\n pollinate();\n\n return baseHive as any as IHiveObserver<HiveType>;\n}\n","import { createHive } from \"./Hive\";\nimport { IHive, IProxyHive, IStoreKey } from \"./Types\";\n\nexport function createProxyHive<HiveType>(initialValue: HiveType, storeKey?: IStoreKey): IProxyHive<HiveType> {\n type ProxyHiveKey = keyof HiveType;\n const proxyHive = createHive(initialValue, storeKey) as IProxyHive<HiveType>;\n const _NestedHives = new Map<ProxyHiveKey, IHive<any>>();\n\n proxyHive.createNestedHive = <NestedHiveType>(key: string, initialValue: NestedHiveType, storeKey?: string) => {\n const nestedHive = createHive(initialValue, storeKey) as IHive<NestedHiveType>;\n nestedHive.subscribe((newValue: any) => {\n proxyHive.silentSetHoney({ ...proxyHive.honey, [key]: newValue });\n });\n proxyHive.subscribe((newValue: any) => {\n if (newValue[key] === nestedHive.honey) return;\n nestedHive.setHoney(newValue[key]);\n });\n _NestedHives.set(key as any, nestedHive);\n proxyHive.setHoney((prev) => ({ ...prev, [key]: initialValue }));\n return nestedHive;\n };\n\n proxyHive.setNestedHoney = (key: ProxyHiveKey, value: any, effect?: boolean) => {\n if (typeof value === \"function\") value = value(proxyHive.honey[key]);\n if (effect) proxyHive.setHoney((prev) => ({ ...prev, [key]: value }));\n else _NestedHives.get(key)?.setHoney(value);\n };\n\n proxyHive.getNestedHoney = (key: ProxyHiveKey) => _NestedHives.get(key)!.honey;\n\n proxyHive.subscribeToNestedHive = (key: ProxyHiveKey, callback: (value: any) => void) => {\n _NestedHives.get(key)?.subscribe(callback);\n };\n\n proxyHive.reset = () => {\n proxyHive.setHoney(initialValue);\n };\n\n proxyHive.getNestedHive = <K extends keyof HiveType>(key: K) => {\n return _NestedHives.get(key) as IHive<HiveType[K]>;\n };\n\n // Create nested hives from initial value\n Object.entries(initialValue as any).forEach(([key, val]) => {\n proxyHive.createNestedHive(key, val);\n });\n return proxyHive;\n}\n","import { INestedFormHive } from \"../Hives/Types\";\nimport useFormHoney from \"./useFormHoney\";\n\nexport default function useFormHive<HiveType>(hive: INestedFormHive<HiveType>) {\n return [useFormHoney(hive), hive.validate] as [\n {\n value: HiveType;\n error?: string;\n },\n (honey: HiveType, effect?: boolean) => void\n ];\n}\n","import { IHive } from \"../Hives/Types\";\nimport useHoney from \"./useHoney\";\n\nexport default function useHive<HiveType>(hive: IHive<HiveType>) {\n return [useHoney(hive), hive.setHoney];\n}\n"],"names":["styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","Storable","_a","memoryStorage","_b","storage","_c","storeKey","_this","this","set","store_key","data","Object","values","length","setItem","getCleanString","JSON","stringify","remove","get","parse","getItem","insert","key","value","isArray","Array","_stored","toStore","keys","__spreadArray","__read","__assign","removeItem","clear","storageKey","i","startsWith","select","text","replace","localStorage","sessionStorage","index","Storage","_storage","_Storables","CheckSimilarity","a","b","aKeys","bKeys","_getHiveBase","initialValue","subscribers","Set","pollinate","__awaiter","subscribers_1","__values","subscriber","subscribers_1_1","weakRef","deref","callback","baseHive","honey","delete","setHoney","newValue","silentSetHoney","subscribe","instance","WeakRef","undefined","add","_subscribers","size","reset","Storable_1","getStorable","storedValue","clearStore","createHive","StatusService","statusHive","useHoney","hive","storeHoneyValue","useState","useEffect","useFormHoney","StatusBee","factory","activeHive","status","getStatusComponent","status_1","kit","statusKit","Component","default","error","React","Loading","children","className","LoadingComponent","ProgressingComponent","StatusKit","processing","loading","service","Error","process","env","NODE_ENV","onClick","target","retry","reload","zIndex","paddingBlock","maxWidth","opacity","width","height","boxShadow","loadingMore","empty","reloading","searching","success","idle","WrapperClassComponent","_super","props","call","container","id","concat","window","location","pathname","reloaderProps","_reloaderProps","position","__extends","prototype","componentDidMount","loadMore","canLoadHive","rememberScrollPosition","listnToScroll","listenToPull","returnToLastScrollPostion","setTimeout","PostionById","scrollTo","top","left","behavior","isScrollPositionTopHive","lastScrollPosition","onscroll","scrollTop","scrollHeight","clientHeight","componentWillUnmount","containerScrollTop","render","reloader","subscribeToStatus","__rest","_ref","display","containerGap","parseInt","getComputedStyle","gap","isPulling","startY","diff","querySelector","documentElement","setProperty","defaultClass","reloadingClass","disappearingClass","setClassName","Promise","resolve","sent","onSwipeDown","e","touches","clientY","diffPercentage","offset","offsetHeight","marginTop","onPull","touchEnd","removeEventListener","addEventListener","pullingClass","transform","viewBox","d","FactoryBuilder","ctx","use","slice","build","ExtractId","obj","ExtractValue","map","item","hiveCluster","cell","entries","newValues","forEach","validate","_hive","getNestedHive","_d","_e","_f","_g","_h","_j","_k","_l","validator","getValidator","validateMode","onSubmit","_initialValue","formHive","isDirtyHive","isValidHive","_NestedHives","Map","createNestedHive","nestedInitVal","nestedHive","errors","some","getError","setError","err","clearErrors","nh","alert","title","keys_1","effect","focusedElement_1","willValidateOnBlur","once","prev","isValid","setNestedHoney","getNestedHoney","subscribeToNestedHive","val","reValidate","validateKeys","includes","submit","preventDefault","then","_init","newVal","push","pop","shift","unshift","splice","start","deleteCount","items","_i","arguments","removeById","filter","removeByIndex","append","update","updateByIndex","updateById","listen","_pollinate","subscribed","observe","currentHoney","has","proxyHive"],"mappings":"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","x_google_ignoreList":[0]}
|
package/package.json
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "eze-factory",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Eze-Factory is a flexible, high-performance state management library for React applications. It provides modular state handling through hives, enabling scalable and efficient management of simple and complex state types like primitives, arrays, forms, and nested objects without a centralized store. Built-in support for persistent storage, real-time updates, and simplified form handling makes Eze-Factory ideal for both small and large-scale applications.",
|
|
5
|
+
"private": false,
|
|
6
|
+
"engines": {
|
|
7
|
+
"node": ">=14"
|
|
8
|
+
},
|
|
9
|
+
"main": "dist/index.js",
|
|
10
|
+
"source": "src/index.tsx",
|
|
11
|
+
"scripts": {
|
|
12
|
+
"build": "rm -rf dist && rollup -c --exports auto",
|
|
13
|
+
"prod": "node ./scripts/publish.js"
|
|
14
|
+
},
|
|
15
|
+
"peerDependencies": {
|
|
16
|
+
"react": ">=18.0.0",
|
|
17
|
+
"react-dom": ">=18.0.0"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@babel/core": "^7.28.5",
|
|
21
|
+
"@babel/preset-react": "^7.25.7",
|
|
22
|
+
"@rollup/plugin-babel": "^6.1.0",
|
|
23
|
+
"@rollup/plugin-commonjs": "^28.0.0",
|
|
24
|
+
"@rollup/plugin-node-resolve": "^15.3.0",
|
|
25
|
+
"@types/react": "^18.3.11",
|
|
26
|
+
"@types/react-dom": "^18.3.0",
|
|
27
|
+
"postcss": "^8.4.47",
|
|
28
|
+
"react": "^18.3.1",
|
|
29
|
+
"react-dom": "^18.3.1",
|
|
30
|
+
"rollup": "^4.53.3",
|
|
31
|
+
"rollup-plugin-commonjs": "^10.1.0",
|
|
32
|
+
"rollup-plugin-node-resolve": "^5.2.0",
|
|
33
|
+
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
34
|
+
"rollup-plugin-postcss": "^4.0.2",
|
|
35
|
+
"rollup-plugin-terser": "^7.0.2",
|
|
36
|
+
"rollup-plugin-typescript2": "^0.36.0",
|
|
37
|
+
"typescript": "^5.9.3"
|
|
38
|
+
},
|
|
39
|
+
"files": [
|
|
40
|
+
"dist"
|
|
41
|
+
],
|
|
42
|
+
"publishConfig": {
|
|
43
|
+
"access": "public"
|
|
44
|
+
},
|
|
45
|
+
"eslintConfig": {
|
|
46
|
+
"extends": [
|
|
47
|
+
"react-app"
|
|
48
|
+
]
|
|
49
|
+
},
|
|
50
|
+
"keywords": [
|
|
51
|
+
"react",
|
|
52
|
+
"state-management",
|
|
53
|
+
"typescript",
|
|
54
|
+
"hive",
|
|
55
|
+
"factory",
|
|
56
|
+
"slices",
|
|
57
|
+
"reactive",
|
|
58
|
+
"composable",
|
|
59
|
+
"hooks",
|
|
60
|
+
"forms",
|
|
61
|
+
"pagination",
|
|
62
|
+
"table",
|
|
63
|
+
"status-management"
|
|
64
|
+
],
|
|
65
|
+
"dependencies": {},
|
|
66
|
+
"type": "module"
|
|
67
|
+
}
|