dgz-ui-shared 1.2.38 → 1.2.40

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.
@@ -1 +1 @@
1
- {"version":3,"file":"useFilter-D93ncAmn.cjs.js","sources":["../../src/hooks/useFilter.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport { useForm } from 'react-hook-form';\n\n/**\n * Props for the useFilter hook.\n */\nexport interface UseFilterProps {\n /** Initial filter parameters. */\n params?: Record<string, unknown>;\n}\n\n/**\n * useFilter syncs URL parameters or object params with a react-hook-form instance.\n * Useful for initializing filter forms with data from URL or state.\n *\n * @param params - Key-value pairs to set as form values.\n * @returns {Object} Filter state object\n * @returns {Record<string, unknown> | undefined} params - The passed parameters\n * @returns {UseFormReturn} form - React Hook Form instance with params set as values\n * @example\n * ```tsx\n * // Initialize filter with URL params\n * const { form } = useFilter({ params: { status: 'active', tags: ['featured'] } });\n *\n * // Access form values\n * const status = form.watch('status');\n * ```\n */\nexport const useFilter = ({ params }: UseFilterProps): object => {\n const form = useForm({ mode: 'onChange' });\n\n useEffect(() => {\n Object.entries(params || {}).forEach(([key, value]) => {\n if (/[[\\]]$/g.test(key) && !(value instanceof Array)) {\n form.setValue(key, [value]);\n } else {\n form.setValue(key, value);\n }\n });\n }, [params, form]);\n\n return {\n params,\n form,\n };\n};\n"],"names":["useFilter","params","form","useForm","useEffect","key","value"],"mappings":"mEA4BaA,EAAY,CAAC,CAAE,OAAAC,KAAqC,CAC/D,MAAMC,EAAOC,EAAAA,QAAQ,CAAE,KAAM,WAAY,EAEzCC,OAAAA,EAAAA,UAAU,IAAM,CACd,OAAO,QAAQH,GAAU,CAAA,CAAE,EAAE,QAAQ,CAAC,CAACI,EAAKC,CAAK,IAAM,CACjD,UAAU,KAAKD,CAAG,GAAK,EAAEC,aAAiB,OAC5CJ,EAAK,SAASG,EAAK,CAACC,CAAK,CAAC,EAE1BJ,EAAK,SAASG,EAAKC,CAAK,CAE5B,CAAC,CACH,EAAG,CAACL,EAAQC,CAAI,CAAC,EAEV,CACL,OAAAD,EACA,KAAAC,CAAA,CAEJ"}
1
+ {"version":3,"file":"useFilter-D93ncAmn.cjs.js","sources":["../../src/hooks/useFilter.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport { useForm } from 'react-hook-form';\n\n/**\n * Props for the useFilter hook.\n */\nexport interface UseFilterProps {\n /** Initial filter parameters. */\n params?: Record<string, unknown>;\n}\n\n/**\n * useFilter syncs URL parameters or object params with a react-hook-form instance.\n * Useful for initializing filter forms with data from URL or state.\n *\n * @param params - Key-value pairs to set as form values.\n * @returns {Object} Filter state object\n * @returns {Record<string, unknown> | undefined} params - The passed parameters\n * @returns {UseFormReturn} form - React Hook Form instance with params set as values\n * @example\n * ```tsx\n * // Initialize filter with URL params\n * const { form } = useFilter({ params: { status: 'active', tags: ['featured'] } });\n *\n * // Access form values\n * const status = form.watch('status');\n * ```\n */\nexport const useFilter = ({ params }: UseFilterProps) => {\n const form = useForm({ mode: 'onChange' });\n\n useEffect(() => {\n Object.entries(params || {}).forEach(([key, value]) => {\n if (/[[\\]]$/g.test(key) && !(value instanceof Array)) {\n form.setValue(key, [value]);\n } else {\n form.setValue(key, value);\n }\n });\n }, [params, form]);\n\n return {\n params,\n form,\n };\n};\n"],"names":["useFilter","params","form","useForm","useEffect","key","value"],"mappings":"mEA4BaA,EAAY,CAAC,CAAE,OAAAC,KAA6B,CACvD,MAAMC,EAAOC,EAAAA,QAAQ,CAAE,KAAM,WAAY,EAEzCC,OAAAA,EAAAA,UAAU,IAAM,CACd,OAAO,QAAQH,GAAU,CAAA,CAAE,EAAE,QAAQ,CAAC,CAACI,EAAKC,CAAK,IAAM,CACjD,UAAU,KAAKD,CAAG,GAAK,EAAEC,aAAiB,OAC5CJ,EAAK,SAASG,EAAK,CAACC,CAAK,CAAC,EAE1BJ,EAAK,SAASG,EAAKC,CAAK,CAE5B,CAAC,CACH,EAAG,CAACL,EAAQC,CAAI,CAAC,EAEV,CACL,OAAAD,EACA,KAAAC,CAAA,CAEJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"useFilter-DpCwY1KO.es.js","sources":["../../src/hooks/useFilter.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport { useForm } from 'react-hook-form';\n\n/**\n * Props for the useFilter hook.\n */\nexport interface UseFilterProps {\n /** Initial filter parameters. */\n params?: Record<string, unknown>;\n}\n\n/**\n * useFilter syncs URL parameters or object params with a react-hook-form instance.\n * Useful for initializing filter forms with data from URL or state.\n *\n * @param params - Key-value pairs to set as form values.\n * @returns {Object} Filter state object\n * @returns {Record<string, unknown> | undefined} params - The passed parameters\n * @returns {UseFormReturn} form - React Hook Form instance with params set as values\n * @example\n * ```tsx\n * // Initialize filter with URL params\n * const { form } = useFilter({ params: { status: 'active', tags: ['featured'] } });\n *\n * // Access form values\n * const status = form.watch('status');\n * ```\n */\nexport const useFilter = ({ params }: UseFilterProps): object => {\n const form = useForm({ mode: 'onChange' });\n\n useEffect(() => {\n Object.entries(params || {}).forEach(([key, value]) => {\n if (/[[\\]]$/g.test(key) && !(value instanceof Array)) {\n form.setValue(key, [value]);\n } else {\n form.setValue(key, value);\n }\n });\n }, [params, form]);\n\n return {\n params,\n form,\n };\n};\n"],"names":["useFilter","params","form","useForm","useEffect","key","value"],"mappings":";;AA4BO,MAAMA,IAAY,CAAC,EAAE,QAAAC,QAAqC;AAC/D,QAAMC,IAAOC,EAAQ,EAAE,MAAM,YAAY;AAEzC,SAAAC,EAAU,MAAM;AACd,WAAO,QAAQH,KAAU,CAAA,CAAE,EAAE,QAAQ,CAAC,CAACI,GAAKC,CAAK,MAAM;AACrD,MAAI,UAAU,KAAKD,CAAG,KAAK,EAAEC,aAAiB,SAC5CJ,EAAK,SAASG,GAAK,CAACC,CAAK,CAAC,IAE1BJ,EAAK,SAASG,GAAKC,CAAK;AAAA,IAE5B,CAAC;AAAA,EACH,GAAG,CAACL,GAAQC,CAAI,CAAC,GAEV;AAAA,IACL,QAAAD;AAAA,IACA,MAAAC;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"useFilter-DpCwY1KO.es.js","sources":["../../src/hooks/useFilter.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport { useForm } from 'react-hook-form';\n\n/**\n * Props for the useFilter hook.\n */\nexport interface UseFilterProps {\n /** Initial filter parameters. */\n params?: Record<string, unknown>;\n}\n\n/**\n * useFilter syncs URL parameters or object params with a react-hook-form instance.\n * Useful for initializing filter forms with data from URL or state.\n *\n * @param params - Key-value pairs to set as form values.\n * @returns {Object} Filter state object\n * @returns {Record<string, unknown> | undefined} params - The passed parameters\n * @returns {UseFormReturn} form - React Hook Form instance with params set as values\n * @example\n * ```tsx\n * // Initialize filter with URL params\n * const { form } = useFilter({ params: { status: 'active', tags: ['featured'] } });\n *\n * // Access form values\n * const status = form.watch('status');\n * ```\n */\nexport const useFilter = ({ params }: UseFilterProps) => {\n const form = useForm({ mode: 'onChange' });\n\n useEffect(() => {\n Object.entries(params || {}).forEach(([key, value]) => {\n if (/[[\\]]$/g.test(key) && !(value instanceof Array)) {\n form.setValue(key, [value]);\n } else {\n form.setValue(key, value);\n }\n });\n }, [params, form]);\n\n return {\n params,\n form,\n };\n};\n"],"names":["useFilter","params","form","useForm","useEffect","key","value"],"mappings":";;AA4BO,MAAMA,IAAY,CAAC,EAAE,QAAAC,QAA6B;AACvD,QAAMC,IAAOC,EAAQ,EAAE,MAAM,YAAY;AAEzC,SAAAC,EAAU,MAAM;AACd,WAAO,QAAQH,KAAU,CAAA,CAAE,EAAE,QAAQ,CAAC,CAACI,GAAKC,CAAK,MAAM;AACrD,MAAI,UAAU,KAAKD,CAAG,KAAK,EAAEC,aAAiB,SAC5CJ,EAAK,SAASG,GAAK,CAACC,CAAK,CAAC,IAE1BJ,EAAK,SAASG,GAAKC,CAAK;AAAA,IAE5B,CAAC;AAAA,EACH,GAAG,CAACL,GAAQC,CAAI,CAAC,GAEV;AAAA,IACL,QAAAD;AAAA,IACA,MAAAC;AAAA,EAAA;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSortable-8RrwFw05.es.js","sources":["../../node_modules/lodash.isempty/index.js","../../src/hooks/useColumns.ts","../../src/hooks/useDataTable.ts","../../src/hooks/useSortable.ts"],"sourcesContent":["/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap');\n\n/** Detect if properties shadowing those on `Object.prototype` are non-enumerable. */\nvar nonEnumShadows = !propertyIsEnumerable.call({ 'valueOf': 1 }, 'valueOf');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' ||\n typeof value.splice == 'function' || isBuffer(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (nonEnumShadows || isPrototype(value)) {\n return !nativeKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEmpty;\n","import get from 'lodash.get';\nimport isEmpty from 'lodash.isempty';\nimport { useCallback, useEffect, useMemo } from 'react';\nimport { useColumnsStore } from '../stores';\nimport type { ColumnType } from '../types';\n\n/**\n * Props for the useColumns hook.\n * @template TData - The type of data associated with the columns.\n */\nexport interface UseColumnsProps<TData> {\n /** Unique key to identify the table for persisting column state. */\n key: string;\n /** Array of column definitions. */\n columns: ColumnType<TData>[];\n}\n\n/**\n * useColumns manages visibility of table columns using a persisted store.\n * Returns formatted columns and helpers to toggle/reset visibility.\n *\n * @template TData - Row data type.\n * @param key - Unique key for storing visibility per table.\n * @param columns - Original column definitions.\n * @returns {Object} Column management object\n * @returns {ColumnType<TData>[]} formattedColumns - Filtered columns with visibility applied from store\n * @returns {(column: ColumnType<TData>, value: boolean) => void} handleColumnsChange - Function to toggle column visibility\n * @returns {() => void} resetColumns - Function to reset all columns to their default visibility\n */\nexport const useColumns = <TData>({\n key,\n columns = [],\n}: UseColumnsProps<TData>): object => {\n const { storedColumns, setColumns } = useColumnsStore();\n\n useEffect(() => {\n if (isEmpty(get(storedColumns, key)) && !isEmpty(columns)) {\n const columnsObj = {};\n columns.forEach((column) => {\n Object.assign(columnsObj, { [column.key]: !!column.hidden });\n });\n setColumns({\n ...storedColumns,\n [key]: columnsObj,\n });\n }\n }, [key, columns, storedColumns, setColumns]);\n\n const formattedColumns = useMemo(() => {\n const columnsObj = get(storedColumns, key, {});\n\n return columns\n .filter((column) => column.type !== 'action')\n .map((column) => {\n const { hidden, ...rest } = column;\n return {\n ...rest,\n hidden: get(columnsObj, column.key, !!hidden),\n };\n });\n }, [key, storedColumns, columns]);\n\n const handleColumnsChange = useCallback(\n (column: ColumnType<TData>, value: boolean) => {\n const columnsObj = get(storedColumns, key, {});\n Object.assign(columnsObj, { [column.key]: value });\n\n setColumns({\n ...storedColumns,\n [key]: columnsObj,\n });\n },\n [key, setColumns, storedColumns]\n );\n\n const resetColumns = useCallback(() => {\n const columnsObj: Record<string, boolean> = {};\n columns.forEach((column) => {\n Object.assign(columnsObj, { [column.key]: !!column.hidden });\n });\n\n setColumns({\n ...storedColumns,\n [key]: columnsObj,\n });\n }, [key, setColumns, storedColumns, columns]);\n\n return {\n formattedColumns,\n handleColumnsChange,\n resetColumns,\n };\n};\n","import type { CheckedState } from '@radix-ui/react-checkbox';\nimport { useCallback, useEffect, useState } from 'react';\nimport { isEqual } from '../utils';\n\n/**\n * Props for the useDataTable hook.\n * @template TData - The type of the data items.\n */\nexport interface UseDataTableProps<TData> {\n /** Array of data rows. */\n rows?: TData[];\n /** Array of initially selected row keys. */\n defaultSelectedRows?: TData[keyof TData][];\n}\n\n/**\n * useDataTable manages row selection state for data tables.\n * Provides helpers to select all on current page, select one, and query selection.\n *\n * @template TData - Row data type.\n * @param rows - Current rows rendered on the page.\n * @param defaultSelectedRows - Pre-selected row keys.\n * @returns {Object} Row selection state and handlers\n * @returns {TData[keyof TData][] | undefined} selectedRows - Array of selected row keys\n * @returns {(key: TData[keyof TData]) => boolean} isRowSelected - Check if a specific row is selected\n * @returns {(rowKey: keyof TData) => CheckedState} isAllRowsSelected - Check selection state of all rows on current page\n * @returns {(rowKey: keyof TData, checked: boolean) => void} handleSelectAllRows - Toggle selection of all rows on current page\n * @returns {(key: TData[keyof TData], checked: boolean) => void} handleSelectRow - Toggle selection of a specific row\n */\nexport const useDataTable = <TData>({\n rows = [],\n defaultSelectedRows,\n}: UseDataTableProps<TData>): object => {\n const [selectedRows, setSelectedRows] = useState<TData[keyof TData][]>();\n\n const handleSelectAllRows = useCallback(\n (rowKey: keyof TData, checked: boolean) => {\n setSelectedRows((oldSelectedRows) => {\n const currentPageRowKeys = rows.map((item) => item[rowKey]) || [];\n const otherPagesSelected =\n oldSelectedRows?.filter((key) => !currentPageRowKeys.includes(key)) ||\n [];\n\n if (checked) {\n return [...otherPagesSelected, ...currentPageRowKeys];\n } else {\n return otherPagesSelected;\n }\n });\n },\n [rows]\n );\n\n useEffect(() => {\n if (defaultSelectedRows) {\n setSelectedRows((prevSelectedRows) =>\n isEqual(prevSelectedRows, defaultSelectedRows)\n ? prevSelectedRows\n : defaultSelectedRows\n );\n }\n }, [defaultSelectedRows]);\n\n const handleSelectRow = useCallback(\n (key: TData[keyof TData], checked: boolean) => {\n setSelectedRows((oldSelectedRows) => {\n const oldRows = oldSelectedRows || [];\n if (checked) {\n return [...oldRows, key];\n } else {\n return oldRows.filter((rowKey) => rowKey !== key);\n }\n });\n },\n []\n );\n\n const isRowSelected = useCallback(\n (key: TData[keyof TData]) => {\n return !!selectedRows?.includes(key);\n },\n [selectedRows]\n );\n\n const isAllRowsSelected = useCallback(\n (rowKey: keyof TData): CheckedState => {\n const currentPageRowKeys = rows.map((item) => item[rowKey]) || [];\n let selectedRowsCountInPage = 0;\n for (const key of currentPageRowKeys) {\n if (selectedRows?.includes(key)) {\n selectedRowsCountInPage++;\n }\n }\n return currentPageRowKeys.length === selectedRowsCountInPage\n ? true\n : selectedRowsCountInPage\n ? 'indeterminate'\n : false;\n },\n [selectedRows, rows]\n );\n\n return {\n selectedRows,\n isRowSelected,\n isAllRowsSelected,\n handleSelectAllRows,\n handleSelectRow,\n };\n};\n","import { useCallback, useEffect, useState } from 'react';\nimport { SortOrder } from '../enums';\n\nexport interface UseSortableProps<TData> {\n /** Current field being sorted by */\n sortField?: keyof TData;\n /** Current sort order (ASC or DESC) */\n sortOrder?: SortOrder;\n /** Callback triggered when sort state changes */\n onSortOrderChange?: (\n newSortOrder: Omit<UseSortableProps<TData>, 'onSortOrderChange'>\n ) => void;\n}\n\n/**\n * useSortable manages sort field and order for tables and lists.\n * Cycles through ASC -> DESC -> none for a given field and emits changes.\n *\n * @template TData - Row data type.\n * @param sortField - Current sorted field.\n * @param sortOrder - Current sort order.\n * @param onSortOrderChange - Callback with new sort state.\n * @returns {Object} Sort management object\n * @returns {Object} sortObject - Current sort state with sortField and sortOrder\n * @returns {(field: keyof TData) => void} handleSort - Function to trigger sort on a field\n */\nexport const useSortable = <TData>({\n sortField,\n sortOrder,\n onSortOrderChange,\n}: UseSortableProps<TData>): object => {\n const [sortObject, setSortObject] = useState<{\n sortField?: keyof TData;\n sortOrder?: SortOrder;\n }>();\n\n useEffect(() => {\n if (sortField) {\n setSortObject((prevState) =>\n prevState?.sortField === sortOrder && prevState?.sortOrder === sortOrder\n ? prevState\n : {\n sortField,\n sortOrder: sortOrder || undefined,\n }\n );\n }\n }, [sortField, sortOrder]);\n\n const handleSort = useCallback(\n (field: keyof TData) => {\n setSortObject((prev) => {\n const isSameField = prev?.sortField === field;\n const newSortOrder = isSameField\n ? prev?.sortOrder === SortOrder.ASC\n ? SortOrder.DESC\n : undefined\n : SortOrder.ASC;\n\n const newSortObject = {\n sortField: newSortOrder ? field : undefined,\n sortOrder: newSortOrder,\n };\n\n if (onSortOrderChange) {\n onSortOrderChange(newSortObject);\n }\n return newSortObject;\n });\n },\n [onSortOrderChange]\n );\n\n return {\n sortObject,\n handleSort,\n };\n};\n"],"names":["MAX_SAFE_INTEGER","argsTag","funcTag","genTag","mapTag","objectTag","promiseTag","setTag","weakMapTag","dataViewTag","reRegExpChar","reIsHostCtor","freeGlobal","global","freeSelf","root","freeExports","exports","freeModule","module","moduleExports","getValue","object","key","isHostObject","value","result","overArg","func","transform","arg","funcProto","objectProto","coreJsData","maskSrcKey","uid","funcToString","hasOwnProperty","objectToString","reIsNative","Buffer","propertyIsEnumerable","nativeIsBuffer","nativeKeys","DataView","getNative","Map","Promise","Set","WeakMap","nonEnumShadows","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","baseGetTag","baseIsNative","isObject","isMasked","pattern","isFunction","getTag","Ctor","ctorString","isPrototype","proto","isArguments","isArrayLikeObject","isArray","isArrayLike","isLength","isObjectLike","isBuffer","stubFalse","isEmpty","tag","type","useColumns","columns","storedColumns","setColumns","useColumnsStore","useEffect","get","columnsObj","column","formattedColumns","useMemo","hidden","rest","handleColumnsChange","useCallback","resetColumns","useDataTable","rows","defaultSelectedRows","selectedRows","setSelectedRows","useState","handleSelectAllRows","rowKey","checked","oldSelectedRows","currentPageRowKeys","item","otherPagesSelected","prevSelectedRows","isEqual","handleSelectRow","oldRows","isRowSelected","isAllRowsSelected","selectedRowsCountInPage","useSortable","sortField","sortOrder","onSortOrderChange","sortObject","setSortObject","prevState","handleSort","field","prev","newSortOrder","SortOrder","newSortObject"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"useSortable-8RrwFw05.es.js","sources":["../../node_modules/lodash.isempty/index.js","../../src/hooks/useColumns.ts","../../src/hooks/useDataTable.ts","../../src/hooks/useSortable.ts"],"sourcesContent":["/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap');\n\n/** Detect if properties shadowing those on `Object.prototype` are non-enumerable. */\nvar nonEnumShadows = !propertyIsEnumerable.call({ 'valueOf': 1 }, 'valueOf');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' ||\n typeof value.splice == 'function' || isBuffer(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (nonEnumShadows || isPrototype(value)) {\n return !nativeKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEmpty;\n","import get from 'lodash.get';\nimport isEmpty from 'lodash.isempty';\nimport { useCallback, useEffect, useMemo } from 'react';\nimport { useColumnsStore } from '../stores';\nimport type { ColumnType } from '../types';\n\n/**\n * Props for the useColumns hook.\n * @template TData - The type of data associated with the columns.\n */\nexport interface UseColumnsProps<TData> {\n /** Unique key to identify the table for persisting column state. */\n key: string;\n /** Array of column definitions. */\n columns: ColumnType<TData>[];\n}\n\n/**\n * useColumns manages visibility of table columns using a persisted store.\n * Returns formatted columns and helpers to toggle/reset visibility.\n *\n * @template TData - Row data type.\n * @param key - Unique key for storing visibility per table.\n * @param columns - Original column definitions.\n * @returns {Object} Column management object\n * @returns {ColumnType<TData>[]} formattedColumns - Filtered columns with visibility applied from store\n * @returns {(column: ColumnType<TData>, value: boolean) => void} handleColumnsChange - Function to toggle column visibility\n * @returns {() => void} resetColumns - Function to reset all columns to their default visibility\n */\nexport const useColumns = <TData>({\n key,\n columns = [],\n}: UseColumnsProps<TData>) => {\n const { storedColumns, setColumns } = useColumnsStore();\n\n useEffect(() => {\n if (isEmpty(get(storedColumns, key)) && !isEmpty(columns)) {\n const columnsObj = {};\n columns.forEach((column) => {\n Object.assign(columnsObj, { [column.key]: !!column.hidden });\n });\n setColumns({\n ...storedColumns,\n [key]: columnsObj,\n });\n }\n }, [key, columns, storedColumns, setColumns]);\n\n const formattedColumns = useMemo(() => {\n const columnsObj = get(storedColumns, key, {});\n\n return columns\n .filter((column) => column.type !== 'action')\n .map((column) => {\n const { hidden, ...rest } = column;\n return {\n ...rest,\n hidden: get(columnsObj, column.key, !!hidden),\n };\n });\n }, [key, storedColumns, columns]);\n\n const handleColumnsChange = useCallback(\n (column: ColumnType<TData>, value: boolean) => {\n const columnsObj = get(storedColumns, key, {});\n Object.assign(columnsObj, { [column.key]: value });\n\n setColumns({\n ...storedColumns,\n [key]: columnsObj,\n });\n },\n [key, setColumns, storedColumns]\n );\n\n const resetColumns = useCallback(() => {\n const columnsObj: Record<string, boolean> = {};\n columns.forEach((column) => {\n Object.assign(columnsObj, { [column.key]: !!column.hidden });\n });\n\n setColumns({\n ...storedColumns,\n [key]: columnsObj,\n });\n }, [key, setColumns, storedColumns, columns]);\n\n return {\n formattedColumns,\n handleColumnsChange,\n resetColumns,\n };\n};\n","import type { CheckedState } from '@radix-ui/react-checkbox';\nimport { useCallback, useEffect, useState } from 'react';\nimport { isEqual } from '../utils';\n\n/**\n * Props for the useDataTable hook.\n * @template TData - The type of the data items.\n */\nexport interface UseDataTableProps<TData> {\n /** Array of data rows. */\n rows?: TData[];\n /** Array of initially selected row keys. */\n defaultSelectedRows?: TData[keyof TData][];\n}\n\n/**\n * useDataTable manages row selection state for data tables.\n * Provides helpers to select all on current page, select one, and query selection.\n *\n * @template TData - Row data type.\n * @param rows - Current rows rendered on the page.\n * @param defaultSelectedRows - Pre-selected row keys.\n * @returns {Object} Row selection state and handlers\n * @returns {TData[keyof TData][] | undefined} selectedRows - Array of selected row keys\n * @returns {(key: TData[keyof TData]) => boolean} isRowSelected - Check if a specific row is selected\n * @returns {(rowKey: keyof TData) => CheckedState} isAllRowsSelected - Check selection state of all rows on current page\n * @returns {(rowKey: keyof TData, checked: boolean) => void} handleSelectAllRows - Toggle selection of all rows on current page\n * @returns {(key: TData[keyof TData], checked: boolean) => void} handleSelectRow - Toggle selection of a specific row\n */\nexport const useDataTable = <TData>({\n rows = [],\n defaultSelectedRows,\n}: UseDataTableProps<TData>) => {\n const [selectedRows, setSelectedRows] = useState<TData[keyof TData][]>();\n\n const handleSelectAllRows = useCallback(\n (rowKey: keyof TData, checked: boolean) => {\n setSelectedRows((oldSelectedRows) => {\n const currentPageRowKeys = rows.map((item) => item[rowKey]) || [];\n const otherPagesSelected =\n oldSelectedRows?.filter((key) => !currentPageRowKeys.includes(key)) ||\n [];\n\n if (checked) {\n return [...otherPagesSelected, ...currentPageRowKeys];\n } else {\n return otherPagesSelected;\n }\n });\n },\n [rows]\n );\n\n useEffect(() => {\n if (defaultSelectedRows) {\n setSelectedRows((prevSelectedRows) =>\n isEqual(prevSelectedRows, defaultSelectedRows)\n ? prevSelectedRows\n : defaultSelectedRows\n );\n }\n }, [defaultSelectedRows]);\n\n const handleSelectRow = useCallback(\n (key: TData[keyof TData], checked: boolean) => {\n setSelectedRows((oldSelectedRows) => {\n const oldRows = oldSelectedRows || [];\n if (checked) {\n return [...oldRows, key];\n } else {\n return oldRows.filter((rowKey) => rowKey !== key);\n }\n });\n },\n []\n );\n\n const isRowSelected = useCallback(\n (key: TData[keyof TData]) => {\n return !!selectedRows?.includes(key);\n },\n [selectedRows]\n );\n\n const isAllRowsSelected = useCallback(\n (rowKey: keyof TData): CheckedState => {\n const currentPageRowKeys = rows.map((item) => item[rowKey]) || [];\n let selectedRowsCountInPage = 0;\n for (const key of currentPageRowKeys) {\n if (selectedRows?.includes(key)) {\n selectedRowsCountInPage++;\n }\n }\n return currentPageRowKeys.length === selectedRowsCountInPage\n ? true\n : selectedRowsCountInPage\n ? 'indeterminate'\n : false;\n },\n [selectedRows, rows]\n );\n\n return {\n selectedRows,\n isRowSelected,\n isAllRowsSelected,\n handleSelectAllRows,\n handleSelectRow,\n };\n};\n","import { useCallback, useEffect, useState } from 'react';\nimport { SortOrder } from '../enums';\n\nexport interface UseSortableProps<TData> {\n /** Current field being sorted by */\n sortField?: keyof TData;\n /** Current sort order (ASC or DESC) */\n sortOrder?: SortOrder;\n /** Callback triggered when sort state changes */\n onSortOrderChange?: (\n newSortOrder: Omit<UseSortableProps<TData>, 'onSortOrderChange'>\n ) => void;\n}\n\n/**\n * useSortable manages sort field and order for tables and lists.\n * Cycles through ASC -> DESC -> none for a given field and emits changes.\n *\n * @template TData - Row data type.\n * @param sortField - Current sorted field.\n * @param sortOrder - Current sort order.\n * @param onSortOrderChange - Callback with new sort state.\n * @returns {Object} Sort management object\n * @returns {Object} sortObject - Current sort state with sortField and sortOrder\n * @returns {(field: keyof TData) => void} handleSort - Function to trigger sort on a field\n */\nexport const useSortable = <TData>({\n sortField,\n sortOrder,\n onSortOrderChange,\n}: UseSortableProps<TData>) => {\n const [sortObject, setSortObject] = useState<{\n sortField?: keyof TData;\n sortOrder?: SortOrder;\n }>();\n\n useEffect(() => {\n if (sortField) {\n setSortObject((prevState) =>\n prevState?.sortField === sortOrder && prevState?.sortOrder === sortOrder\n ? prevState\n : {\n sortField,\n sortOrder: sortOrder || undefined,\n }\n );\n }\n }, [sortField, sortOrder]);\n\n const handleSort = useCallback(\n (field: keyof TData) => {\n setSortObject((prev) => {\n const isSameField = prev?.sortField === field;\n const newSortOrder = isSameField\n ? prev?.sortOrder === SortOrder.ASC\n ? SortOrder.DESC\n : undefined\n : SortOrder.ASC;\n\n const newSortObject = {\n sortField: newSortOrder ? field : undefined,\n sortOrder: newSortOrder,\n };\n\n if (onSortOrderChange) {\n onSortOrderChange(newSortObject);\n }\n return newSortObject;\n });\n },\n [onSortOrderChange]\n );\n\n return {\n sortObject,\n handleSort,\n };\n};\n"],"names":["MAX_SAFE_INTEGER","argsTag","funcTag","genTag","mapTag","objectTag","promiseTag","setTag","weakMapTag","dataViewTag","reRegExpChar","reIsHostCtor","freeGlobal","global","freeSelf","root","freeExports","exports","freeModule","module","moduleExports","getValue","object","key","isHostObject","value","result","overArg","func","transform","arg","funcProto","objectProto","coreJsData","maskSrcKey","uid","funcToString","hasOwnProperty","objectToString","reIsNative","Buffer","propertyIsEnumerable","nativeIsBuffer","nativeKeys","DataView","getNative","Map","Promise","Set","WeakMap","nonEnumShadows","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","baseGetTag","baseIsNative","isObject","isMasked","pattern","isFunction","getTag","Ctor","ctorString","isPrototype","proto","isArguments","isArrayLikeObject","isArray","isArrayLike","isLength","isObjectLike","isBuffer","stubFalse","isEmpty","tag","type","useColumns","columns","storedColumns","setColumns","useColumnsStore","useEffect","get","columnsObj","column","formattedColumns","useMemo","hidden","rest","handleColumnsChange","useCallback","resetColumns","useDataTable","rows","defaultSelectedRows","selectedRows","setSelectedRows","useState","handleSelectAllRows","rowKey","checked","oldSelectedRows","currentPageRowKeys","item","otherPagesSelected","prevSelectedRows","isEqual","handleSelectRow","oldRows","isRowSelected","isAllRowsSelected","selectedRowsCountInPage","useSortable","sortField","sortOrder","onSortOrderChange","sortObject","setSortObject","prevState","handleSort","field","prev","newSortOrder","SortOrder","newSortObject"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1 +1 @@
1
- {"version":3,"file":"useSortable-D9RgGUd0.cjs.js","sources":["../../node_modules/lodash.isempty/index.js","../../src/hooks/useColumns.ts","../../src/hooks/useDataTable.ts","../../src/hooks/useSortable.ts"],"sourcesContent":["/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap');\n\n/** Detect if properties shadowing those on `Object.prototype` are non-enumerable. */\nvar nonEnumShadows = !propertyIsEnumerable.call({ 'valueOf': 1 }, 'valueOf');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' ||\n typeof value.splice == 'function' || isBuffer(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (nonEnumShadows || isPrototype(value)) {\n return !nativeKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEmpty;\n","import get from 'lodash.get';\nimport isEmpty from 'lodash.isempty';\nimport { useCallback, useEffect, useMemo } from 'react';\nimport { useColumnsStore } from '../stores';\nimport type { ColumnType } from '../types';\n\n/**\n * Props for the useColumns hook.\n * @template TData - The type of data associated with the columns.\n */\nexport interface UseColumnsProps<TData> {\n /** Unique key to identify the table for persisting column state. */\n key: string;\n /** Array of column definitions. */\n columns: ColumnType<TData>[];\n}\n\n/**\n * useColumns manages visibility of table columns using a persisted store.\n * Returns formatted columns and helpers to toggle/reset visibility.\n *\n * @template TData - Row data type.\n * @param key - Unique key for storing visibility per table.\n * @param columns - Original column definitions.\n * @returns {Object} Column management object\n * @returns {ColumnType<TData>[]} formattedColumns - Filtered columns with visibility applied from store\n * @returns {(column: ColumnType<TData>, value: boolean) => void} handleColumnsChange - Function to toggle column visibility\n * @returns {() => void} resetColumns - Function to reset all columns to their default visibility\n */\nexport const useColumns = <TData>({\n key,\n columns = [],\n}: UseColumnsProps<TData>): object => {\n const { storedColumns, setColumns } = useColumnsStore();\n\n useEffect(() => {\n if (isEmpty(get(storedColumns, key)) && !isEmpty(columns)) {\n const columnsObj = {};\n columns.forEach((column) => {\n Object.assign(columnsObj, { [column.key]: !!column.hidden });\n });\n setColumns({\n ...storedColumns,\n [key]: columnsObj,\n });\n }\n }, [key, columns, storedColumns, setColumns]);\n\n const formattedColumns = useMemo(() => {\n const columnsObj = get(storedColumns, key, {});\n\n return columns\n .filter((column) => column.type !== 'action')\n .map((column) => {\n const { hidden, ...rest } = column;\n return {\n ...rest,\n hidden: get(columnsObj, column.key, !!hidden),\n };\n });\n }, [key, storedColumns, columns]);\n\n const handleColumnsChange = useCallback(\n (column: ColumnType<TData>, value: boolean) => {\n const columnsObj = get(storedColumns, key, {});\n Object.assign(columnsObj, { [column.key]: value });\n\n setColumns({\n ...storedColumns,\n [key]: columnsObj,\n });\n },\n [key, setColumns, storedColumns]\n );\n\n const resetColumns = useCallback(() => {\n const columnsObj: Record<string, boolean> = {};\n columns.forEach((column) => {\n Object.assign(columnsObj, { [column.key]: !!column.hidden });\n });\n\n setColumns({\n ...storedColumns,\n [key]: columnsObj,\n });\n }, [key, setColumns, storedColumns, columns]);\n\n return {\n formattedColumns,\n handleColumnsChange,\n resetColumns,\n };\n};\n","import type { CheckedState } from '@radix-ui/react-checkbox';\nimport { useCallback, useEffect, useState } from 'react';\nimport { isEqual } from '../utils';\n\n/**\n * Props for the useDataTable hook.\n * @template TData - The type of the data items.\n */\nexport interface UseDataTableProps<TData> {\n /** Array of data rows. */\n rows?: TData[];\n /** Array of initially selected row keys. */\n defaultSelectedRows?: TData[keyof TData][];\n}\n\n/**\n * useDataTable manages row selection state for data tables.\n * Provides helpers to select all on current page, select one, and query selection.\n *\n * @template TData - Row data type.\n * @param rows - Current rows rendered on the page.\n * @param defaultSelectedRows - Pre-selected row keys.\n * @returns {Object} Row selection state and handlers\n * @returns {TData[keyof TData][] | undefined} selectedRows - Array of selected row keys\n * @returns {(key: TData[keyof TData]) => boolean} isRowSelected - Check if a specific row is selected\n * @returns {(rowKey: keyof TData) => CheckedState} isAllRowsSelected - Check selection state of all rows on current page\n * @returns {(rowKey: keyof TData, checked: boolean) => void} handleSelectAllRows - Toggle selection of all rows on current page\n * @returns {(key: TData[keyof TData], checked: boolean) => void} handleSelectRow - Toggle selection of a specific row\n */\nexport const useDataTable = <TData>({\n rows = [],\n defaultSelectedRows,\n}: UseDataTableProps<TData>): object => {\n const [selectedRows, setSelectedRows] = useState<TData[keyof TData][]>();\n\n const handleSelectAllRows = useCallback(\n (rowKey: keyof TData, checked: boolean) => {\n setSelectedRows((oldSelectedRows) => {\n const currentPageRowKeys = rows.map((item) => item[rowKey]) || [];\n const otherPagesSelected =\n oldSelectedRows?.filter((key) => !currentPageRowKeys.includes(key)) ||\n [];\n\n if (checked) {\n return [...otherPagesSelected, ...currentPageRowKeys];\n } else {\n return otherPagesSelected;\n }\n });\n },\n [rows]\n );\n\n useEffect(() => {\n if (defaultSelectedRows) {\n setSelectedRows((prevSelectedRows) =>\n isEqual(prevSelectedRows, defaultSelectedRows)\n ? prevSelectedRows\n : defaultSelectedRows\n );\n }\n }, [defaultSelectedRows]);\n\n const handleSelectRow = useCallback(\n (key: TData[keyof TData], checked: boolean) => {\n setSelectedRows((oldSelectedRows) => {\n const oldRows = oldSelectedRows || [];\n if (checked) {\n return [...oldRows, key];\n } else {\n return oldRows.filter((rowKey) => rowKey !== key);\n }\n });\n },\n []\n );\n\n const isRowSelected = useCallback(\n (key: TData[keyof TData]) => {\n return !!selectedRows?.includes(key);\n },\n [selectedRows]\n );\n\n const isAllRowsSelected = useCallback(\n (rowKey: keyof TData): CheckedState => {\n const currentPageRowKeys = rows.map((item) => item[rowKey]) || [];\n let selectedRowsCountInPage = 0;\n for (const key of currentPageRowKeys) {\n if (selectedRows?.includes(key)) {\n selectedRowsCountInPage++;\n }\n }\n return currentPageRowKeys.length === selectedRowsCountInPage\n ? true\n : selectedRowsCountInPage\n ? 'indeterminate'\n : false;\n },\n [selectedRows, rows]\n );\n\n return {\n selectedRows,\n isRowSelected,\n isAllRowsSelected,\n handleSelectAllRows,\n handleSelectRow,\n };\n};\n","import { useCallback, useEffect, useState } from 'react';\nimport { SortOrder } from '../enums';\n\nexport interface UseSortableProps<TData> {\n /** Current field being sorted by */\n sortField?: keyof TData;\n /** Current sort order (ASC or DESC) */\n sortOrder?: SortOrder;\n /** Callback triggered when sort state changes */\n onSortOrderChange?: (\n newSortOrder: Omit<UseSortableProps<TData>, 'onSortOrderChange'>\n ) => void;\n}\n\n/**\n * useSortable manages sort field and order for tables and lists.\n * Cycles through ASC -> DESC -> none for a given field and emits changes.\n *\n * @template TData - Row data type.\n * @param sortField - Current sorted field.\n * @param sortOrder - Current sort order.\n * @param onSortOrderChange - Callback with new sort state.\n * @returns {Object} Sort management object\n * @returns {Object} sortObject - Current sort state with sortField and sortOrder\n * @returns {(field: keyof TData) => void} handleSort - Function to trigger sort on a field\n */\nexport const useSortable = <TData>({\n sortField,\n sortOrder,\n onSortOrderChange,\n}: UseSortableProps<TData>): object => {\n const [sortObject, setSortObject] = useState<{\n sortField?: keyof TData;\n sortOrder?: SortOrder;\n }>();\n\n useEffect(() => {\n if (sortField) {\n setSortObject((prevState) =>\n prevState?.sortField === sortOrder && prevState?.sortOrder === sortOrder\n ? prevState\n : {\n sortField,\n sortOrder: sortOrder || undefined,\n }\n );\n }\n }, [sortField, sortOrder]);\n\n const handleSort = useCallback(\n (field: keyof TData) => {\n setSortObject((prev) => {\n const isSameField = prev?.sortField === field;\n const newSortOrder = isSameField\n ? prev?.sortOrder === SortOrder.ASC\n ? SortOrder.DESC\n : undefined\n : SortOrder.ASC;\n\n const newSortObject = {\n sortField: newSortOrder ? field : undefined,\n sortOrder: newSortOrder,\n };\n\n if (onSortOrderChange) {\n onSortOrderChange(newSortObject);\n }\n return newSortObject;\n });\n },\n [onSortOrderChange]\n );\n\n return {\n sortObject,\n handleSort,\n };\n};\n"],"names":["MAX_SAFE_INTEGER","argsTag","funcTag","genTag","mapTag","objectTag","promiseTag","setTag","weakMapTag","dataViewTag","reRegExpChar","reIsHostCtor","freeGlobal","global","freeSelf","root","freeExports","exports","freeModule","module","moduleExports","getValue","object","key","isHostObject","value","result","overArg","func","transform","arg","funcProto","objectProto","coreJsData","maskSrcKey","uid","funcToString","hasOwnProperty","objectToString","reIsNative","Buffer","propertyIsEnumerable","nativeIsBuffer","nativeKeys","DataView","getNative","Map","Promise","Set","WeakMap","nonEnumShadows","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","baseGetTag","baseIsNative","isObject","isMasked","pattern","isFunction","getTag","Ctor","ctorString","isPrototype","proto","isArguments","isArrayLikeObject","isArray","isArrayLike","isLength","isObjectLike","isBuffer","stubFalse","isEmpty","tag","type","useColumns","columns","storedColumns","setColumns","useColumnsStore","useEffect","get","columnsObj","column","formattedColumns","useMemo","hidden","rest","handleColumnsChange","useCallback","resetColumns","useDataTable","rows","defaultSelectedRows","selectedRows","setSelectedRows","useState","handleSelectAllRows","rowKey","checked","oldSelectedRows","currentPageRowKeys","item","otherPagesSelected","prevSelectedRows","isEqual","handleSelectRow","oldRows","isRowSelected","isAllRowsSelected","selectedRowsCountInPage","useSortable","sortField","sortOrder","onSortOrderChange","sortObject","setSortObject","prevState","handleSort","field","prev","newSortOrder","SortOrder","newSortObject"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"useSortable-D9RgGUd0.cjs.js","sources":["../../node_modules/lodash.isempty/index.js","../../src/hooks/useColumns.ts","../../src/hooks/useDataTable.ts","../../src/hooks/useSortable.ts"],"sourcesContent":["/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap');\n\n/** Detect if properties shadowing those on `Object.prototype` are non-enumerable. */\nvar nonEnumShadows = !propertyIsEnumerable.call({ 'valueOf': 1 }, 'valueOf');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' ||\n typeof value.splice == 'function' || isBuffer(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (nonEnumShadows || isPrototype(value)) {\n return !nativeKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEmpty;\n","import get from 'lodash.get';\nimport isEmpty from 'lodash.isempty';\nimport { useCallback, useEffect, useMemo } from 'react';\nimport { useColumnsStore } from '../stores';\nimport type { ColumnType } from '../types';\n\n/**\n * Props for the useColumns hook.\n * @template TData - The type of data associated with the columns.\n */\nexport interface UseColumnsProps<TData> {\n /** Unique key to identify the table for persisting column state. */\n key: string;\n /** Array of column definitions. */\n columns: ColumnType<TData>[];\n}\n\n/**\n * useColumns manages visibility of table columns using a persisted store.\n * Returns formatted columns and helpers to toggle/reset visibility.\n *\n * @template TData - Row data type.\n * @param key - Unique key for storing visibility per table.\n * @param columns - Original column definitions.\n * @returns {Object} Column management object\n * @returns {ColumnType<TData>[]} formattedColumns - Filtered columns with visibility applied from store\n * @returns {(column: ColumnType<TData>, value: boolean) => void} handleColumnsChange - Function to toggle column visibility\n * @returns {() => void} resetColumns - Function to reset all columns to their default visibility\n */\nexport const useColumns = <TData>({\n key,\n columns = [],\n}: UseColumnsProps<TData>) => {\n const { storedColumns, setColumns } = useColumnsStore();\n\n useEffect(() => {\n if (isEmpty(get(storedColumns, key)) && !isEmpty(columns)) {\n const columnsObj = {};\n columns.forEach((column) => {\n Object.assign(columnsObj, { [column.key]: !!column.hidden });\n });\n setColumns({\n ...storedColumns,\n [key]: columnsObj,\n });\n }\n }, [key, columns, storedColumns, setColumns]);\n\n const formattedColumns = useMemo(() => {\n const columnsObj = get(storedColumns, key, {});\n\n return columns\n .filter((column) => column.type !== 'action')\n .map((column) => {\n const { hidden, ...rest } = column;\n return {\n ...rest,\n hidden: get(columnsObj, column.key, !!hidden),\n };\n });\n }, [key, storedColumns, columns]);\n\n const handleColumnsChange = useCallback(\n (column: ColumnType<TData>, value: boolean) => {\n const columnsObj = get(storedColumns, key, {});\n Object.assign(columnsObj, { [column.key]: value });\n\n setColumns({\n ...storedColumns,\n [key]: columnsObj,\n });\n },\n [key, setColumns, storedColumns]\n );\n\n const resetColumns = useCallback(() => {\n const columnsObj: Record<string, boolean> = {};\n columns.forEach((column) => {\n Object.assign(columnsObj, { [column.key]: !!column.hidden });\n });\n\n setColumns({\n ...storedColumns,\n [key]: columnsObj,\n });\n }, [key, setColumns, storedColumns, columns]);\n\n return {\n formattedColumns,\n handleColumnsChange,\n resetColumns,\n };\n};\n","import type { CheckedState } from '@radix-ui/react-checkbox';\nimport { useCallback, useEffect, useState } from 'react';\nimport { isEqual } from '../utils';\n\n/**\n * Props for the useDataTable hook.\n * @template TData - The type of the data items.\n */\nexport interface UseDataTableProps<TData> {\n /** Array of data rows. */\n rows?: TData[];\n /** Array of initially selected row keys. */\n defaultSelectedRows?: TData[keyof TData][];\n}\n\n/**\n * useDataTable manages row selection state for data tables.\n * Provides helpers to select all on current page, select one, and query selection.\n *\n * @template TData - Row data type.\n * @param rows - Current rows rendered on the page.\n * @param defaultSelectedRows - Pre-selected row keys.\n * @returns {Object} Row selection state and handlers\n * @returns {TData[keyof TData][] | undefined} selectedRows - Array of selected row keys\n * @returns {(key: TData[keyof TData]) => boolean} isRowSelected - Check if a specific row is selected\n * @returns {(rowKey: keyof TData) => CheckedState} isAllRowsSelected - Check selection state of all rows on current page\n * @returns {(rowKey: keyof TData, checked: boolean) => void} handleSelectAllRows - Toggle selection of all rows on current page\n * @returns {(key: TData[keyof TData], checked: boolean) => void} handleSelectRow - Toggle selection of a specific row\n */\nexport const useDataTable = <TData>({\n rows = [],\n defaultSelectedRows,\n}: UseDataTableProps<TData>) => {\n const [selectedRows, setSelectedRows] = useState<TData[keyof TData][]>();\n\n const handleSelectAllRows = useCallback(\n (rowKey: keyof TData, checked: boolean) => {\n setSelectedRows((oldSelectedRows) => {\n const currentPageRowKeys = rows.map((item) => item[rowKey]) || [];\n const otherPagesSelected =\n oldSelectedRows?.filter((key) => !currentPageRowKeys.includes(key)) ||\n [];\n\n if (checked) {\n return [...otherPagesSelected, ...currentPageRowKeys];\n } else {\n return otherPagesSelected;\n }\n });\n },\n [rows]\n );\n\n useEffect(() => {\n if (defaultSelectedRows) {\n setSelectedRows((prevSelectedRows) =>\n isEqual(prevSelectedRows, defaultSelectedRows)\n ? prevSelectedRows\n : defaultSelectedRows\n );\n }\n }, [defaultSelectedRows]);\n\n const handleSelectRow = useCallback(\n (key: TData[keyof TData], checked: boolean) => {\n setSelectedRows((oldSelectedRows) => {\n const oldRows = oldSelectedRows || [];\n if (checked) {\n return [...oldRows, key];\n } else {\n return oldRows.filter((rowKey) => rowKey !== key);\n }\n });\n },\n []\n );\n\n const isRowSelected = useCallback(\n (key: TData[keyof TData]) => {\n return !!selectedRows?.includes(key);\n },\n [selectedRows]\n );\n\n const isAllRowsSelected = useCallback(\n (rowKey: keyof TData): CheckedState => {\n const currentPageRowKeys = rows.map((item) => item[rowKey]) || [];\n let selectedRowsCountInPage = 0;\n for (const key of currentPageRowKeys) {\n if (selectedRows?.includes(key)) {\n selectedRowsCountInPage++;\n }\n }\n return currentPageRowKeys.length === selectedRowsCountInPage\n ? true\n : selectedRowsCountInPage\n ? 'indeterminate'\n : false;\n },\n [selectedRows, rows]\n );\n\n return {\n selectedRows,\n isRowSelected,\n isAllRowsSelected,\n handleSelectAllRows,\n handleSelectRow,\n };\n};\n","import { useCallback, useEffect, useState } from 'react';\nimport { SortOrder } from '../enums';\n\nexport interface UseSortableProps<TData> {\n /** Current field being sorted by */\n sortField?: keyof TData;\n /** Current sort order (ASC or DESC) */\n sortOrder?: SortOrder;\n /** Callback triggered when sort state changes */\n onSortOrderChange?: (\n newSortOrder: Omit<UseSortableProps<TData>, 'onSortOrderChange'>\n ) => void;\n}\n\n/**\n * useSortable manages sort field and order for tables and lists.\n * Cycles through ASC -> DESC -> none for a given field and emits changes.\n *\n * @template TData - Row data type.\n * @param sortField - Current sorted field.\n * @param sortOrder - Current sort order.\n * @param onSortOrderChange - Callback with new sort state.\n * @returns {Object} Sort management object\n * @returns {Object} sortObject - Current sort state with sortField and sortOrder\n * @returns {(field: keyof TData) => void} handleSort - Function to trigger sort on a field\n */\nexport const useSortable = <TData>({\n sortField,\n sortOrder,\n onSortOrderChange,\n}: UseSortableProps<TData>) => {\n const [sortObject, setSortObject] = useState<{\n sortField?: keyof TData;\n sortOrder?: SortOrder;\n }>();\n\n useEffect(() => {\n if (sortField) {\n setSortObject((prevState) =>\n prevState?.sortField === sortOrder && prevState?.sortOrder === sortOrder\n ? prevState\n : {\n sortField,\n sortOrder: sortOrder || undefined,\n }\n );\n }\n }, [sortField, sortOrder]);\n\n const handleSort = useCallback(\n (field: keyof TData) => {\n setSortObject((prev) => {\n const isSameField = prev?.sortField === field;\n const newSortOrder = isSameField\n ? prev?.sortOrder === SortOrder.ASC\n ? SortOrder.DESC\n : undefined\n : SortOrder.ASC;\n\n const newSortObject = {\n sortField: newSortOrder ? field : undefined,\n sortOrder: newSortOrder,\n };\n\n if (onSortOrderChange) {\n onSortOrderChange(newSortObject);\n }\n return newSortObject;\n });\n },\n [onSortOrderChange]\n );\n\n return {\n sortObject,\n handleSort,\n };\n};\n"],"names":["MAX_SAFE_INTEGER","argsTag","funcTag","genTag","mapTag","objectTag","promiseTag","setTag","weakMapTag","dataViewTag","reRegExpChar","reIsHostCtor","freeGlobal","global","freeSelf","root","freeExports","exports","freeModule","module","moduleExports","getValue","object","key","isHostObject","value","result","overArg","func","transform","arg","funcProto","objectProto","coreJsData","maskSrcKey","uid","funcToString","hasOwnProperty","objectToString","reIsNative","Buffer","propertyIsEnumerable","nativeIsBuffer","nativeKeys","DataView","getNative","Map","Promise","Set","WeakMap","nonEnumShadows","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","baseGetTag","baseIsNative","isObject","isMasked","pattern","isFunction","getTag","Ctor","ctorString","isPrototype","proto","isArguments","isArrayLikeObject","isArray","isArrayLike","isLength","isObjectLike","isBuffer","stubFalse","isEmpty","tag","type","useColumns","columns","storedColumns","setColumns","useColumnsStore","useEffect","get","columnsObj","column","formattedColumns","useMemo","hidden","rest","handleColumnsChange","useCallback","resetColumns","useDataTable","rows","defaultSelectedRows","selectedRows","setSelectedRows","useState","handleSelectAllRows","rowKey","checked","oldSelectedRows","currentPageRowKeys","item","otherPagesSelected","prevSelectedRows","isEqual","handleSelectRow","oldRows","isRowSelected","isAllRowsSelected","selectedRowsCountInPage","useSortable","sortField","sortOrder","onSortOrderChange","sortObject","setSortObject","prevState","handleSort","field","prev","newSortOrder","SortOrder","newSortObject"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("dgz-ui/form"),e=require("react/jsx-runtime"),b=require("react"),g=require("dgz-ui/calendar"),M=require("dgz-ui/popover"),x=require("dgz-ui/utils"),F=require("../../chunks/MyInput-mL2G5h2s.cjs.js"),S=require("lucide-react"),I=require("../../chunks/DateRangePicker-CUv-qznZ.cjs.js"),P=require("../../chunks/MySelect-CmLxmNJz.cjs.js"),T=({control:r,name:a,label:t,rules:o,...c})=>{const l=b.useId();return a&&r&&e.jsx(s.FormField,{control:r,name:a,rules:o,render:({field:n})=>e.jsx(s.FormLabel,{className:"block",htmlFor:c.id||l,children:e.jsxs(s.FormItem,{className:"flex flex-row items-start gap-3",children:[e.jsx(s.FormControl,{children:e.jsx(s.Checkbox,{id:c.id||l,checked:n.value,onCheckedChange:n.onChange,...c})}),e.jsx("div",{className:"space-y-1 leading-none",children:t&&e.jsx("div",{children:t})})]})})})||null},f=({control:r,name:a,label:t,required:o,rules:c,format:l=g.DATE,floatingError:n,placeholder:i,disabled:m,register:j,className:h,showTime:y,inputProps:N,...v})=>a&&r&&e.jsx(s.FormField,{control:r,name:a,rules:c,render:({field:d,formState:u})=>e.jsxs(s.FormItem,{children:[t&&e.jsxs(s.FormLabel,{className:"block",children:[t," ",o&&e.jsx("span",{className:"text-red-600",children:"*"})]}),e.jsxs(M.Popover,{children:[e.jsx(M.PopoverTrigger,{asChild:!0,children:e.jsxs("div",{className:"relative",children:[e.jsx(s.FormControl,{children:e.jsx(s.Input,{...N,variant:F.get(u.errors,`${a}.message`)?"failure":"default",disabled:m,...d,readOnly:!0,placeholder:i||"Pick a date",value:d.value?x.dayjs(d.value).format(l):void 0,className:x.cn("m-0 text-start",h)})}),e.jsx(S.Calendar1,{className:x.cn("text-secondary absolute top-2.5 right-2 size-5",m&&"pointer-events-none opacity-50")}),e.jsx(s.FormMessage,{className:x.cn(n&&"absolute -bottom-5")})]})}),!m&&e.jsxs(M.PopoverContent,{className:"w-auto p-0",align:"start",children:[e.jsx(g.Calendar,{...v,mode:"single",selected:d.value,onSelect:d.onChange}),y&&e.jsx("div",{className:"px-4 pb-3",children:e.jsx(g.TimePicker,{value:x.dayjs(d.value).format("HH:mm"),onChange:k=>{const[C,p]=k.split(":");d.onChange(x.dayjs(d.value).set("hour",Number(C)).set("minute",Number(p)).toDate())}})})]})]})]})})||null,q=({control:r,name:a,label:t,required:o,rules:c,placeholder:l,floatingError:n,...i})=>a&&r&&e.jsx(s.FormField,{control:r,name:a,rules:c,render:({field:m,formState:j})=>e.jsxs(s.FormItem,{children:[t&&e.jsxs(s.FormLabel,{className:"block",children:[t," ",o&&e.jsx("span",{className:"text-red-600",children:"*"})]}),e.jsxs("div",{children:[e.jsx(s.FormControl,{children:e.jsx(I.DateRangePicker,{...i,error:`${F.get(j.errors,a,"")}`,selected:m.value,onRangeSelected:m.onChange,placeholder:l})}),e.jsx(s.FormMessage,{className:x.cn(n&&"absolute -bottom-5")})]})]})})||null,L=({control:r,name:a,label:t,rules:o,required:c,floatingError:l,...n})=>a&&r&&e.jsx(s.FormField,{control:r,name:a,rules:o,render:({field:i})=>e.jsxs(s.FormItem,{children:[t&&e.jsxs(s.FormLabel,{className:"block",children:[t," ",c&&e.jsx("span",{className:"text-red-600",children:"*"})]}),e.jsxs("div",{children:[e.jsx(s.FormControl,{children:e.jsx(s.HtmlEditor,{...i,...n})}),e.jsx(s.FormMessage,{className:x.cn(l&&"absolute -bottom-5")})]})]})})||null,R=({control:r,name:a,label:t,rules:o,required:c,floatingError:l,...n})=>a&&r&&e.jsx(s.FormField,{control:r,name:a,rules:o,render:({field:i,formState:m})=>e.jsxs(s.FormItem,{children:[t&&e.jsxs(s.FormLabel,{className:"block",children:[t," ",c&&e.jsx("span",{className:"text-red-600",children:"*"})]}),e.jsxs("div",{children:[e.jsx(s.FormControl,{children:e.jsx(s.MaskInput,{thousandsSeparator:" ",lazy:!1,placeholderChar:"_",unmask:!0,...i,...n,variant:F.get(m.errors,`${a}.message`)?"failure":"default",onAccept:j=>i.onChange(j)})}),e.jsx(s.FormMessage,{className:x.cn(l&&"absolute -bottom-5")})]})]})})||null,w=({control:r,name:a,label:t,rules:o,value:c,...l})=>{const n=b.useId();return a&&r&&e.jsx(s.FormField,{control:r,name:a,rules:o,render:({field:i})=>e.jsx(s.FormLabel,{className:"block",htmlFor:l.id||n,children:e.jsxs(s.FormItem,{className:"flex flex-row items-start gap-3",children:[e.jsx(s.FormControl,{children:e.jsx(s.RadioGroupItem,{id:l.id||n,value:c,checked:i.value===c,onClick:()=>{i.value!==c&&i.onChange(c)},...l})}),e.jsx("div",{className:"space-y-1 leading-none",children:t&&e.jsx("div",{children:t})})]})})})||null},D=({control:r,name:a,label:t,required:o,className:c,rules:l,options:n=[],placeholder:i="Select an option",disabled:m,onChange:j})=>a&&r&&e.jsx(s.FormField,{control:r,name:a,rules:l,render:({field:h,formState:y})=>{const N=!!F.get(y.errors,`${a}`),v=d=>{const u=Number(d)?Number(d):d;u&&h.value!==u&&(h.onChange(u),j==null||j(u))};return e.jsxs(s.FormItem,{children:[t&&e.jsxs(s.FormLabel,{children:[t," ",o&&e.jsx("span",{className:"text-red-600",children:"*"})]}),e.jsxs("div",{children:[e.jsx(s.FormControl,{children:e.jsxs(s.Select,{value:`${h.value||""}`,onValueChange:v,disabled:m,children:[e.jsx(s.SelectTrigger,{ref:h.ref,variant:N?"failure":"default",className:x.cn(c),children:e.jsx(s.SelectValue,{placeholder:i})}),e.jsx(s.SelectContent,{children:n.map(d=>e.jsx(s.SelectItem,{value:String(d.value),children:d.label},String(d.value)))})]})}),e.jsx(s.FormMessage,{})]})]})}}),E=({control:r,name:a,label:t,rules:o,...c})=>{const l=b.useId();return a&&r&&e.jsx(s.FormField,{control:r,name:a,rules:o,render:({field:n})=>e.jsx(s.FormLabel,{className:"block",htmlFor:c.id||l,children:e.jsxs(s.FormItem,{className:"flex flex-row items-start gap-3",children:[e.jsx(s.FormControl,{children:e.jsx(s.Switch,{id:c.id||l,className:"m-0",checked:n.value,onCheckedChange:n.onChange,...c})}),e.jsx("div",{className:"space-y-1 leading-none",children:t&&e.jsx("div",{children:t})})]})})})||null},O=({control:r,name:a,label:t,required:o,rules:c,className:l,floatingError:n,...i})=>a&&r&&e.jsx(s.FormField,{control:r,name:a,rules:c,render:({field:m,formState:j})=>e.jsxs(s.FormItem,{children:[t&&e.jsxs(s.FormLabel,{className:"block",children:[t," ",o&&e.jsx("span",{className:"text-red-600",children:"*"})]}),e.jsxs("div",{children:[e.jsx(s.FormControl,{children:e.jsx(s.Textarea,{variant:F.get(j.errors,`${a}.message`)?"failure":"default",...i,...m,className:x.cn(l)})}),e.jsx(s.FormMessage,{className:x.cn(n&&"absolute -bottom-5")})]})]})})||null,$=({control:r,name:a,label:t,required:o,className:c,rules:l,floatingError:n,...i})=>a&&r?e.jsx(s.FormField,{control:r,name:a,rules:l,render:({field:m})=>e.jsxs(s.FormItem,{children:[t&&e.jsxs(s.FormLabel,{className:"block",children:[t," ",o&&e.jsx("span",{className:"text-red-600",children:"*"})]})," ",e.jsxs("div",{children:[e.jsx(s.FormControl,{children:e.jsx(g.TimePicker,{...m,...i})}),e.jsx(s.FormMessage,{className:x.cn(n&&"absolute -bottom-5")})]})]})}):e.jsx(g.TimePicker,{className:"mt-2",...i});exports.MyInput=F.MyInput;exports.MySelect=P.MySelect;exports.MyCheckbox=T;exports.MyDatePicker=f;exports.MyDateRangePicker=q;exports.MyHtmlEditor=L;exports.MyMaskInput=R;exports.MyRadio=w;exports.MyShadcnSelect=D;exports.MySwitch=E;exports.MyTextarea=O;exports.MyTimePicker=$;Object.keys(s).forEach(r=>{r!=="default"&&!Object.prototype.hasOwnProperty.call(exports,r)&&Object.defineProperty(exports,r,{enumerable:!0,get:()=>s[r]})});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("dgz-ui/form"),e=require("react/jsx-runtime"),b=require("react"),g=require("dgz-ui/calendar"),M=require("dgz-ui/popover"),x=require("dgz-ui/utils"),F=require("../../chunks/MyInput-mL2G5h2s.cjs.js"),S=require("lucide-react"),I=require("../../chunks/DateRangePicker-CUv-qznZ.cjs.js"),P=require("../../chunks/MySelect-CmLxmNJz.cjs.js"),T=({control:r,name:t,label:a,rules:o,...c})=>{const l=b.useId();return t&&r&&e.jsx(s.FormField,{control:r,name:t,rules:o,render:({field:n})=>e.jsx(s.FormLabel,{className:"block",htmlFor:c.id||l,children:e.jsxs(s.FormItem,{className:"flex flex-row items-start gap-3",children:[e.jsx(s.FormControl,{children:e.jsx(s.Checkbox,{id:c.id||l,checked:n.value,onCheckedChange:n.onChange,...c})}),a&&e.jsx("div",{className:"mt-0.5",children:a})]})})})||null},f=({control:r,name:t,label:a,required:o,rules:c,format:l=g.DATE,floatingError:n,placeholder:i,disabled:m,register:j,className:u,showTime:N,inputProps:y,...v})=>t&&r&&e.jsx(s.FormField,{control:r,name:t,rules:c,render:({field:d,formState:h})=>e.jsxs(s.FormItem,{children:[a&&e.jsxs(s.FormLabel,{className:"block",children:[a," ",o&&e.jsx("span",{className:"text-red-600",children:"*"})]}),e.jsxs(M.Popover,{children:[e.jsx(M.PopoverTrigger,{asChild:!0,children:e.jsxs("div",{className:"relative",children:[e.jsx(s.FormControl,{children:e.jsx(s.Input,{...y,variant:F.get(h.errors,`${t}.message`)?"failure":"default",disabled:m,...d,readOnly:!0,placeholder:i||"Pick a date",value:d.value?x.dayjs(d.value).format(l):void 0,className:x.cn("m-0 text-start",u)})}),e.jsx(S.Calendar1,{className:x.cn("text-secondary absolute top-2.5 right-2 size-5",m&&"pointer-events-none opacity-50")}),e.jsx(s.FormMessage,{className:x.cn(n&&"absolute -bottom-5")})]})}),!m&&e.jsxs(M.PopoverContent,{className:"w-auto p-0",align:"start",children:[e.jsx(g.Calendar,{...v,mode:"single",selected:d.value,onSelect:d.onChange}),N&&e.jsx("div",{className:"px-4 pb-3",children:e.jsx(g.TimePicker,{value:x.dayjs(d.value).format("HH:mm"),onChange:k=>{const[C,p]=k.split(":");d.onChange(x.dayjs(d.value).set("hour",Number(C)).set("minute",Number(p)).toDate())}})})]})]})]})})||null,q=({control:r,name:t,label:a,required:o,rules:c,placeholder:l,floatingError:n,...i})=>t&&r&&e.jsx(s.FormField,{control:r,name:t,rules:c,render:({field:m,formState:j})=>e.jsxs(s.FormItem,{children:[a&&e.jsxs(s.FormLabel,{className:"block",children:[a," ",o&&e.jsx("span",{className:"text-red-600",children:"*"})]}),e.jsxs("div",{children:[e.jsx(s.FormControl,{children:e.jsx(I.DateRangePicker,{...i,error:`${F.get(j.errors,t,"")}`,selected:m.value,onRangeSelected:m.onChange,placeholder:l})}),e.jsx(s.FormMessage,{className:x.cn(n&&"absolute -bottom-5")})]})]})})||null,L=({control:r,name:t,label:a,rules:o,required:c,floatingError:l,...n})=>t&&r&&e.jsx(s.FormField,{control:r,name:t,rules:o,render:({field:i})=>e.jsxs(s.FormItem,{children:[a&&e.jsxs(s.FormLabel,{className:"block",children:[a," ",c&&e.jsx("span",{className:"text-red-600",children:"*"})]}),e.jsxs("div",{children:[e.jsx(s.FormControl,{children:e.jsx(s.HtmlEditor,{...i,...n})}),e.jsx(s.FormMessage,{className:x.cn(l&&"absolute -bottom-5")})]})]})})||null,R=({control:r,name:t,label:a,rules:o,required:c,floatingError:l,...n})=>t&&r&&e.jsx(s.FormField,{control:r,name:t,rules:o,render:({field:i,formState:m})=>e.jsxs(s.FormItem,{children:[a&&e.jsxs(s.FormLabel,{className:"block",children:[a," ",c&&e.jsx("span",{className:"text-red-600",children:"*"})]}),e.jsxs("div",{children:[e.jsx(s.FormControl,{children:e.jsx(s.MaskInput,{thousandsSeparator:" ",lazy:!1,placeholderChar:"_",unmask:!0,...i,...n,variant:F.get(m.errors,`${t}.message`)?"failure":"default",onAccept:j=>i.onChange(j)})}),e.jsx(s.FormMessage,{className:x.cn(l&&"absolute -bottom-5")})]})]})})||null,w=({control:r,name:t,label:a,rules:o,value:c,...l})=>{const n=b.useId();return t&&r&&e.jsx(s.FormField,{control:r,name:t,rules:o,render:({field:i})=>e.jsx(s.FormLabel,{className:"block",htmlFor:l.id||n,children:e.jsxs(s.FormItem,{className:"flex flex-row items-start gap-3",children:[e.jsx(s.FormControl,{children:e.jsx(s.RadioGroupItem,{id:l.id||n,value:c,checked:i.value===c,onClick:()=>{i.value!==c&&i.onChange(c)},...l})}),a&&e.jsx("div",{className:"mt-0.5",children:a})]})})})||null},D=({control:r,name:t,label:a,required:o,className:c,rules:l,options:n=[],placeholder:i="Select an option",disabled:m,onChange:j})=>t&&r&&e.jsx(s.FormField,{control:r,name:t,rules:l,render:({field:u,formState:N})=>{const y=!!F.get(N.errors,`${t}`),v=d=>{const h=Number(d)?Number(d):d;h&&u.value!==h&&(u.onChange(h),j==null||j(h))};return e.jsxs(s.FormItem,{children:[a&&e.jsxs(s.FormLabel,{children:[a," ",o&&e.jsx("span",{className:"text-red-600",children:"*"})]}),e.jsxs("div",{children:[e.jsx(s.FormControl,{children:e.jsxs(s.Select,{value:`${u.value||""}`,onValueChange:v,disabled:m,children:[e.jsx(s.SelectTrigger,{ref:u.ref,variant:y?"failure":"default",className:x.cn(c),children:e.jsx(s.SelectValue,{placeholder:i})}),e.jsx(s.SelectContent,{children:n.map(d=>e.jsx(s.SelectItem,{value:String(d.value),children:d.label},String(d.value)))})]})}),e.jsx(s.FormMessage,{})]})]})}}),E=({control:r,name:t,label:a,rules:o,...c})=>{const l=b.useId();return t&&r&&e.jsx(s.FormField,{control:r,name:t,rules:o,render:({field:n})=>e.jsx(s.FormLabel,{className:"block",htmlFor:c.id||l,children:e.jsxs(s.FormItem,{className:"flex flex-row items-start gap-3",children:[e.jsx(s.FormControl,{children:e.jsx(s.Switch,{id:c.id||l,className:"m-0",checked:n.value,onCheckedChange:n.onChange,...c})}),a&&e.jsx("div",{className:"mt-0.5",children:a})]})})})||null},O=({control:r,name:t,label:a,required:o,rules:c,className:l,floatingError:n,...i})=>t&&r&&e.jsx(s.FormField,{control:r,name:t,rules:c,render:({field:m,formState:j})=>e.jsxs(s.FormItem,{children:[a&&e.jsxs(s.FormLabel,{className:"block",children:[a," ",o&&e.jsx("span",{className:"text-red-600",children:"*"})]}),e.jsxs("div",{children:[e.jsx(s.FormControl,{children:e.jsx(s.Textarea,{variant:F.get(j.errors,`${t}.message`)?"failure":"default",...i,...m,className:x.cn(l)})}),e.jsx(s.FormMessage,{className:x.cn(n&&"absolute -bottom-5")})]})]})})||null,$=({control:r,name:t,label:a,required:o,className:c,rules:l,floatingError:n,...i})=>t&&r?e.jsx(s.FormField,{control:r,name:t,rules:l,render:({field:m})=>e.jsxs(s.FormItem,{children:[a&&e.jsxs(s.FormLabel,{className:"block",children:[a," ",o&&e.jsx("span",{className:"text-red-600",children:"*"})]})," ",e.jsxs("div",{children:[e.jsx(s.FormControl,{children:e.jsx(g.TimePicker,{...m,...i})}),e.jsx(s.FormMessage,{className:x.cn(n&&"absolute -bottom-5")})]})]})}):e.jsx(g.TimePicker,{className:"mt-2",...i});exports.MyInput=F.MyInput;exports.MySelect=P.MySelect;exports.MyCheckbox=T;exports.MyDatePicker=f;exports.MyDateRangePicker=q;exports.MyHtmlEditor=L;exports.MyMaskInput=R;exports.MyRadio=w;exports.MyShadcnSelect=D;exports.MySwitch=E;exports.MyTextarea=O;exports.MyTimePicker=$;Object.keys(s).forEach(r=>{r!=="default"&&!Object.prototype.hasOwnProperty.call(exports,r)&&Object.defineProperty(exports,r,{enumerable:!0,get:()=>s[r]})});
2
2
  //# sourceMappingURL=index.cjs.js.map