@instincthub/react-ui 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/components/forms/SearchObjectsFromDB.js +1 -1
- package/dist/src/components/lib/index.js +1 -1
- package/dist/src/components/lib/index.js.map +1 -1
- package/dist/src/components/lib/queryParameters/index.js +2 -0
- package/dist/src/components/lib/queryParameters/index.js.map +1 -0
- package/dist/src/components/ui/pagination/PaginationDemo.js +1 -1
- package/dist/src/types/components/forms/SearchObjectsFromDB.d.ts +3 -3
- package/dist/src/types/components/lib/index.d.ts +1 -0
- package/dist/src/types/components/lib/queryParameters/index.d.ts +103 -0
- package/dist/src/types/types/index.d.ts +5 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{slicedToArray as e,asyncToGenerator as n,regeneratorRuntime as r,
|
|
1
|
+
import{slicedToArray as e,asyncToGenerator as n,regeneratorRuntime as r,toConsumableArray as i,typeof as a}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{jsx as c,jsxs as t}from"react/jsx-runtime";import{memo as o,useState as l,useEffect as s,useCallback as u}from"react";import{reqOptions as h,API_HOST_URL as m}from"../lib/helpFunction.js";import"../lib/utils.js";import d from"@mui/icons-material/SearchOutlined";import b from"@mui/icons-material/Check";import f from"@mui/icons-material/CloseOutlined";function p(o){var p=o.label,v=o.token,N=o.handle,g=o.setSelected,k=o.appLabel,y=o.modelName,x=o.filterChannel,C=void 0!==x&&x,_=o.limit_query,j=void 0===_?5:_,w=o.limit_select,E=void 0===w?0:w,T=o.options,S=o.key_name,U=void 0===S?"title":S,q=o.placeholder,A=void 0===q?"Search by Username or Email":q,D=o.searchUrl,G=o.selected,H=o.err,O=void 0!==H&&H,P=l(""),R=e(P,2),B=R[0],F=R[1],K=l([]),L=e(K,2),z=L[0],I=L[1],J=l(!1),M=e(J,2),Q=M[0],V=M[1],W=l(null),X=e(W,2),Y=X[0],Z=X[1];s((function(){G&&G.length>0&&0===z.length&&I(G)}),[G]),s((function(){I(T||[])}),[T]);var $=u(n(r().mark((function e(){var n,a,c,t,o;return r().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return V(!0),Z(null),n=h("GET",null,v),a=D?D.includes("/?")?"".concat(D,"&search=").concat(B):"".concat(D,"?search=").concat(B):k?"".concat(m,"channels/").concat(N,"/dynamic-search/?app_label=").concat(k,"&model_name=").concat(y,"&value=").concat(B,"&filter_channel=").concat(C):"".concat(m,"auth/").concat(N,"/search-user/").concat(B,"/?limit=").concat(j),e.prev=4,e.next=7,fetch(a,n);case 7:if((c=e.sent).ok){e.next=10;break}throw new Error("HTTP error ".concat(c.status));case 10:return e.next=12,c.json();case 12:t=e.sent,I([].concat(i(t.results||[]),i(T||[]))),e.next=22;break;case 16:e.prev=16,e.t0=e.catch(4),o=e.t0 instanceof Error?e.t0.message:"Unknown error occurred",console.error("Error fetching search results:",o),Z(o),I(i(T||[]));case 22:return e.prev=22,V(!1),e.finish(22);case 25:case"end":return e.stop()}}),e,null,[[4,16,22,25]])}))),[B,v,D,k,y,N,C,j]),ee=u((function(e){"Enter"===e.key&&(e.preventDefault(),$())}),[$]),ne=u((function(){F(""),I(i(T||[])),Z(null)}),[]),re=u((function(e){return G.some((function(n){return("object"===a(n)?null==n?void 0:n.id:n)===((null==e?void 0:e.username)||(null==e?void 0:e.id))}))}),[G]),ie=u((function(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=G.find((function(n){return n.id===e.id}));n?g(G.filter((function(n){return n.id!==e.id}))):!r&&(0===E||G.length<E)?g([].concat(i(G),[e])):1===E&&g([e])}),[G,g,E]);return c("div",{className:"ihub-react-search-container",children:t("div",{className:"ihub-react-search card",children:[p&&c("h4",{className:"ihub-fs-sm ihub-mt-2 ihub-mb-2",children:p}),t("div",{className:"ihub-search-input",children:[c("input",{type:"text",placeholder:A,onKeyDown:ee,value:B,onChange:function(e){return F(e.target.value)},disabled:Q}),t("div",{className:"ihub-search-icons",children:[B&&c(f,{onClick:ne,className:"ihub-search-icon ihub-close-icon"}),c(d,{onClick:$,className:"ihub-search-icon ihub-search-button ".concat(Q?"ihub-disabled":"")})]})]}),Q&&c("div",{className:"ihub-loading",children:"Searching..."}),Y&&c("div",{className:"ihub-search-error",children:Y}),t("ul",{className:"ihub-search-results",children:[null==z?void 0:z.map((function(e,n){return t("li",{className:"ihub-search-result-item ihub-valid",onClick:function(){return ie(e)},children:[re(e)&&c(b,{className:"ihub-check-icon",style:{position:"relative",top:"5px",marginRight:"10px"}}),e[U]||e.title,re(e)?c(f,{className:"ihub-delete-icon ihub-ml-auto",onClick:function(){return ie(e,!0)}}):""]},"".concat(e.id||e.username||n))})),Q||Y||z.length||G.length?"":c("li",{className:"ihub-no-results",children:"No available options"})]}),O&&c("p",{className:"ihub-error",children:"This field is required"})]})})}var v=o(p);export{v as default};
|
|
2
2
|
//# sourceMappingURL=SearchObjectsFromDB.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{getChannel,getData}from"./auth/dbRequestst.js";export{INSTRUCTOR_TYPE,ROLE_GROUPING,adminAccessValidation}from"./roles.js";export{AllCoursesdataList,COMMENTS_BY,DataList,accounts,dataList,pending,projectStartHistory,statesNigeria}from"./json/accounts.js";export{unsplashDefaultObject}from"./json/unsplashDefaultObject.js";export{default as createSubscription}from"./createSubscription.js";export{default as elementIsVisibleInViewport}from"./elementIsVisibleInViewport.js";export{default as handleFormErrors}from"./formError.js";export{default as fileToBase64}from"./fileToBase64.js";export{default as getPriceObjects}from"./getPriceObjects.js";export{default as convertArrayToObject}from"./convertArrayToObject.js";export{formatTime}from"./format.js";export{API_HOST_URL,CODECS_URL_M3U8,FILE_URL,IN_DEV_MODE,TrackViewPort,VIDEO_URL,addUserDomain,calculateAmountAfterDeduction,calculateAverageRating,calculateTotalCredits,convertArrayToFormData,convertToFloat,convertToSlug,extractSubDomain,fetchAPI,fetchData,findNullOrEmptyKeys,formatDateToWord,formatDuration,formatNumberWithCommas,getCookie,getNestedValue,handleError,handleInvalid,handleResendOTP,handleStatusError,hostUrlEncode,isValidAlphanumeric,isValidEmail,objectIsEmpty,printErr,removeCookie,reqOptions,romansFigure,setCookie,slugifyFileName,spinBtn,stripCommaFromNumber,stripHtmlTags,toTitleCase,truncateHtml}from"./helpFunction.js";export{paystackHook,profile_goggle_provider}from"./oauth_json.js";export{chargeAuthorization,handlePaymentSubmit,payWithPaystack,paystackDataConfig}from"./paystack.js";export{findPermissions,headerKeyPermission,headerUsernamePermission}from"./permissions.js";export{ADMIN_PERMISSION,APPLICATION_FEE_TYPE_OPTIONS,CODE_LANGUAGES,COMPANY_SIZES_CHOICES,CONTENT_TYPE_OPTIONS,COURSE_REWARD_OPTIONS,CREDENTIALS,CURRENCY_SYMBOL,DURATION_FILTERS,INDUSTRIES,KEYWORD_DESCRIPTION,NEXT_AUTH_SESSION_DATA_DUMMY,NIGERIA_BANKS,PAYMENT_PROCESSING_OPTIONS,PRIVACY,PROGRAM_LEVELS,REGISTRAR_PERMISSION,SCOREBOARD_DURATION,SKILLS_LEVELS,STUDENT_STATUS,SUBSCRIPTION_OPTION,SUPER_PERMISSION,TRUE_FALSE,VIDEO_PLAYER_OPTIONS,YES_NO,gaugeData}from"./utils.js";export{calculatePercentageChange,createTimeSeriesTemplate,formatChartValue,formatDateForChart,generateChartColors,groupAndAggregateData,transformChartData}from"./charts.js";export{getUserEmailInputModal,openConfirmModal,openToast}from"./modals/modals.js";export{openConfirmDelete}from"./modals/openConfirmDelete.js";var e="/assets/logo/instincthub-logo-color.png",t="/assets/logo/instincthub-logo-white.png",
|
|
1
|
+
export{getChannel,getData}from"./auth/dbRequestst.js";export{INSTRUCTOR_TYPE,ROLE_GROUPING,adminAccessValidation}from"./roles.js";export{AllCoursesdataList,COMMENTS_BY,DataList,accounts,dataList,pending,projectStartHistory,statesNigeria}from"./json/accounts.js";export{unsplashDefaultObject}from"./json/unsplashDefaultObject.js";export{default as createSubscription}from"./createSubscription.js";export{default as elementIsVisibleInViewport}from"./elementIsVisibleInViewport.js";export{default as handleFormErrors}from"./formError.js";export{default as fileToBase64}from"./fileToBase64.js";export{default as getPriceObjects}from"./getPriceObjects.js";export{default as convertArrayToObject}from"./convertArrayToObject.js";export{formatTime}from"./format.js";export{API_HOST_URL,CODECS_URL_M3U8,FILE_URL,IN_DEV_MODE,TrackViewPort,VIDEO_URL,addUserDomain,calculateAmountAfterDeduction,calculateAverageRating,calculateTotalCredits,convertArrayToFormData,convertToFloat,convertToSlug,extractSubDomain,fetchAPI,fetchData,findNullOrEmptyKeys,formatDateToWord,formatDuration,formatNumberWithCommas,getCookie,getNestedValue,handleError,handleInvalid,handleResendOTP,handleStatusError,hostUrlEncode,isValidAlphanumeric,isValidEmail,objectIsEmpty,printErr,removeCookie,reqOptions,romansFigure,setCookie,slugifyFileName,spinBtn,stripCommaFromNumber,stripHtmlTags,toTitleCase,truncateHtml}from"./helpFunction.js";export{paystackHook,profile_goggle_provider}from"./oauth_json.js";export{chargeAuthorization,handlePaymentSubmit,payWithPaystack,paystackDataConfig}from"./paystack.js";export{findPermissions,headerKeyPermission,headerUsernamePermission}from"./permissions.js";export{ADMIN_PERMISSION,APPLICATION_FEE_TYPE_OPTIONS,CODE_LANGUAGES,COMPANY_SIZES_CHOICES,CONTENT_TYPE_OPTIONS,COURSE_REWARD_OPTIONS,CREDENTIALS,CURRENCY_SYMBOL,DURATION_FILTERS,INDUSTRIES,KEYWORD_DESCRIPTION,NEXT_AUTH_SESSION_DATA_DUMMY,NIGERIA_BANKS,PAYMENT_PROCESSING_OPTIONS,PRIVACY,PROGRAM_LEVELS,REGISTRAR_PERMISSION,SCOREBOARD_DURATION,SKILLS_LEVELS,STUDENT_STATUS,SUBSCRIPTION_OPTION,SUPER_PERMISSION,TRUE_FALSE,VIDEO_PLAYER_OPTIONS,YES_NO,gaugeData}from"./utils.js";export{buildDataFilterUrl,buildPaginationUrl,buildUrl,cleanUrl,getQueryParam,getQueryParams,hasQueryParam,navigateWithQuery,urlQueryHelper}from"./queryParameters/index.js";export{calculatePercentageChange,createTimeSeriesTemplate,formatChartValue,formatDateForChart,generateChartColors,groupAndAggregateData,transformChartData}from"./charts.js";export{getUserEmailInputModal,openConfirmModal,openToast}from"./modals/modals.js";export{openConfirmDelete}from"./modals/openConfirmDelete.js";var e="/assets/logo/instincthub-logo-color.png",t="/assets/logo/instincthub-logo-white.png",r="/assets/logo/instincthub-logo-black.png",a="/assets/logo/instincthub-logo-thumbnail.png";export{e as instinctHubLogoUrl,r as instinctHubLogoUrlBlack,t as instinctHubLogoUrlWhite,a as instinctHubThumbnailLogo};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/lib/index.ts"],"sourcesContent":["// src/components/lib/index.ts\r\n\r\nexport * from \"./auth/dbRequestst\";\r\nexport * from \"./roles\";\r\n\r\n// JSON exports\r\nexport * from \"./json/accounts\";\r\nexport * from \"./json/countryNigeria\";\r\nexport * from \"./json/countryObjects\";\r\nexport * from \"./json/educationLevels\";\r\nexport * from \"./json/unsplashDefaultObject\";\r\n\r\n// Utility functions\r\nexport { default as createSubscription } from \"./createSubscription\";\r\nexport { default as elementIsVisibleInViewport } from \"./elementIsVisibleInViewport\";\r\nexport { default as handleFormErrors } from \"./formError\";\r\nexport { default as fileToBase64 } from \"./fileToBase64\";\r\nexport { default as getPriceObjects } from \"./getPriceObjects\";\r\nexport {default as convertArrayToObject} from \"./convertArrayToObject\";\r\nexport * from \"./format\";\r\nexport * from \"./helpFunction\";\r\nexport * from \"./loadScript\";\r\nexport * from \"./oauth_json\";\r\nexport * from \"./paystack\";\r\nexport * from \"./permissions\";\r\nexport * from \"./utils\";\r\n\r\n// Charts\r\nexport * from \"./charts\";\r\n\r\n// Modals\r\nexport * from \"./modals/modals\";\r\nexport * from \"./modals/openConfirmDelete\";\r\n\r\n// Logo\r\nexport const instinctHubLogoUrl = \"/assets/logo/instincthub-logo-color.png\";\r\nexport const instinctHubLogoUrlWhite =\r\n \"/assets/logo/instincthub-logo-white.png\";\r\nexport const instinctHubLogoUrlBlack =\r\n \"/assets/logo/instincthub-logo-black.png\";\r\nexport const instinctHubThumbnailLogo =\r\n \"/assets/logo/instincthub-logo-thumbnail.png\";\r\n"],"names":["instinctHubLogoUrl","instinctHubLogoUrlWhite","instinctHubLogoUrlBlack","instinctHubThumbnailLogo"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/lib/index.ts"],"sourcesContent":["// src/components/lib/index.ts\r\n\r\nexport * from \"./auth/dbRequestst\";\r\nexport * from \"./roles\";\r\n\r\n// JSON exports\r\nexport * from \"./json/accounts\";\r\nexport * from \"./json/countryNigeria\";\r\nexport * from \"./json/countryObjects\";\r\nexport * from \"./json/educationLevels\";\r\nexport * from \"./json/unsplashDefaultObject\";\r\n\r\n// Utility functions\r\nexport { default as createSubscription } from \"./createSubscription\";\r\nexport { default as elementIsVisibleInViewport } from \"./elementIsVisibleInViewport\";\r\nexport { default as handleFormErrors } from \"./formError\";\r\nexport { default as fileToBase64 } from \"./fileToBase64\";\r\nexport { default as getPriceObjects } from \"./getPriceObjects\";\r\nexport {default as convertArrayToObject} from \"./convertArrayToObject\";\r\nexport * from \"./format\";\r\nexport * from \"./helpFunction\";\r\nexport * from \"./loadScript\";\r\nexport * from \"./oauth_json\";\r\nexport * from \"./paystack\";\r\nexport * from \"./permissions\";\r\nexport * from \"./utils\";\r\nexport * from \"./queryParameters\";\r\n\r\n// Charts\r\nexport * from \"./charts\";\r\n\r\n// Modals\r\nexport * from \"./modals/modals\";\r\nexport * from \"./modals/openConfirmDelete\";\r\n\r\n// Logo\r\nexport const instinctHubLogoUrl = \"/assets/logo/instincthub-logo-color.png\";\r\nexport const instinctHubLogoUrlWhite =\r\n \"/assets/logo/instincthub-logo-white.png\";\r\nexport const instinctHubLogoUrlBlack =\r\n \"/assets/logo/instincthub-logo-black.png\";\r\nexport const instinctHubThumbnailLogo =\r\n \"/assets/logo/instincthub-logo-thumbnail.png\";\r\n"],"names":["instinctHubLogoUrl","instinctHubLogoUrlWhite","instinctHubLogoUrlBlack","instinctHubThumbnailLogo"],"mappings":"+jFAoCO,IAAMA,EAAqB,0CACrBC,EACX,0CACWC,EACX,0CACWC,EACX"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{slicedToArray as r}from"../../../../_virtual/_rollupPluginBabelHelpers.js";function e(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.baseUrl,t=void 0===n?"undefined"!=typeof window?window.location.href:"":n,o=e.preserveHash,a=void 0===o||o;e.encode;try{var i=new URL(t),c=new URLSearchParams(i.search),u=r.key,s=r.value,l=r.action;switch(l){case"add":null!=s&&c.append(u,String(s));break;case"update":null!=s&&c.set(u,String(s));break;case"remove":c.delete(u);break;case"toggle":c.has(u)?c.delete(u):null!=s&&c.set(u,String(s));break;case"clear":c.forEach((function(r,e){c.delete(e)}));break;default:throw new Error("Unsupported action: ".concat(l))}return i.search=c.toString(),a||(i.hash=""),i.toString()}catch(r){return console.error("URL manipulation error:",r),t}}function n(r){try{var e=r||("undefined"!=typeof window?window.location.href:""),n=new URL(e),t={};return n.searchParams.forEach((function(r,e){t[e]?Array.isArray(t[e])?t[e].push(r):t[e]=[t[e],r]:t[e]=r})),t}catch(r){return console.error("Error parsing query parameters:",r),{}}}function t(r,e){try{var n=e||("undefined"!=typeof window?window.location.href:"");return new URL(n).searchParams.get(r)}catch(r){return console.error("Error getting query parameter:",r),null}}function o(r,e){try{var n=e||("undefined"!=typeof window?window.location.href:"");return new URL(n).searchParams.has(r)}catch(r){return console.error("Error checking query parameter:",r),!1}}function a(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{t.encode;var o=new URL(e,"undefined"!=typeof window?window.location.origin:"http://localhost");return Object.entries(n).forEach((function(e){var n=r(e,2),t=n[0],a=n[1];null!=a&&(Array.isArray(a)?a.forEach((function(r){return o.searchParams.append(t,String(r))})):o.searchParams.set(t,String(a)))})),o.toString()}catch(r){return console.error("Error building URL:",r),e}}function i(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("undefined"!=typeof window){var t=n.replace,o=void 0!==t&&t,a=e(r,n);o?window.history.replaceState({},"",a):window.history.pushState({},"",a)}else console.warn("navigateWithQuery can only be used in browser environment")}function c(e){var n={};return Object.entries(e).forEach((function(e){var t=r(e,2),o=t[0],a=t[1];null!=a&&""!==a&&(n[o]=String(a))})),a(window.location.pathname,n)}function u(r){return!(arguments.length>1&&void 0!==arguments[1])||arguments[1]?e({key:"page",value:r,action:"update"}):a(window.location.pathname,{page:r.toString()})}function s(r){try{var e=r||("undefined"!=typeof window?window.location.href:""),n=new URL(e),t=new URLSearchParams;return n.searchParams.forEach((function(r,e){r&&""!==r.trim()&&t.set(e,r)})),n.search=t.toString(),n.toString()}catch(e){return console.error("Error cleaning URL:",e),r||""}}export{c as buildDataFilterUrl,u as buildPaginationUrl,a as buildUrl,s as cleanUrl,t as getQueryParam,n as getQueryParams,o as hasQueryParam,i as navigateWithQuery,e as urlQueryHelper};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/lib/queryParameters/index.ts"],"sourcesContent":["/**\r\n * URL Query Parameter Helper for InstinctHub React UI\r\n * Handles adding, updating, removing, and manipulating URL query parameters\r\n */\r\n\r\nimport { QueryContextType } from \"@/types\";\r\n\r\n// Type definitions\r\n\r\ninterface QueryParams {\r\n [key: string]: string | string[] | undefined;\r\n}\r\n\r\ninterface UrlHelperOptions {\r\n baseUrl?: string;\r\n preserveHash?: boolean;\r\n encode?: boolean;\r\n}\r\n\r\n/**\r\n * Main URL query parameter helper function\r\n * @example\r\n * ```tsx\r\n * urlQueryHelper({ key: \"page\", value: 1, action: \"add\" });\r\n * ```\r\n * @param context - Object containing key, value, and action\r\n * @param options - Additional configuration options\r\n * @returns Updated URL string\r\n */\r\nexport function urlQueryHelper(\r\n context: QueryContextType,\r\n options: UrlHelperOptions = {}\r\n): string {\r\n const {\r\n baseUrl = typeof window !== \"undefined\" ? window.location.href : \"\",\r\n preserveHash = true,\r\n encode = true,\r\n } = options;\r\n\r\n try {\r\n const url = new URL(baseUrl);\r\n const params = new URLSearchParams(url.search);\r\n const { key, value, action } = context;\r\n\r\n // Perform the requested action\r\n switch (action) {\r\n case \"add\":\r\n if (value !== undefined && value !== null) {\r\n if (encode) {\r\n params.append(key, String(value));\r\n } else {\r\n params.append(key, String(value));\r\n }\r\n }\r\n break;\r\n\r\n case \"update\":\r\n if (value !== undefined && value !== null) {\r\n params.set(key, String(value));\r\n }\r\n break;\r\n\r\n case \"remove\":\r\n params.delete(key);\r\n break;\r\n\r\n case \"toggle\":\r\n if (params.has(key)) {\r\n params.delete(key);\r\n } else if (value !== undefined && value !== null) {\r\n params.set(key, String(value));\r\n }\r\n break;\r\n\r\n case \"clear\":\r\n // Clear all parameters\r\n params.forEach((_, paramKey) => {\r\n params.delete(paramKey);\r\n });\r\n break;\r\n\r\n default:\r\n throw new Error(`Unsupported action: ${action}`);\r\n }\r\n\r\n // Rebuild URL\r\n url.search = params.toString();\r\n\r\n // Handle hash preservation\r\n if (!preserveHash) {\r\n url.hash = \"\";\r\n }\r\n\r\n return url.toString();\r\n } catch (error) {\r\n console.error(\"URL manipulation error:\", error);\r\n return baseUrl;\r\n }\r\n}\r\n\r\n/**\r\n * Get all query parameters as an object\r\n * @param url - URL string to parse (defaults to current URL)\r\n * @returns Object with query parameters\r\n */\r\nexport function getQueryParams(url?: string): QueryParams {\r\n try {\r\n const targetUrl =\r\n url || (typeof window !== \"undefined\" ? window.location.href : \"\");\r\n const urlObj = new URL(targetUrl);\r\n const params: QueryParams = {};\r\n\r\n urlObj.searchParams.forEach((value, key) => {\r\n if (params[key]) {\r\n // Handle multiple values for same key\r\n if (Array.isArray(params[key])) {\r\n (params[key] as string[]).push(value);\r\n } else {\r\n params[key] = [params[key] as string, value];\r\n }\r\n } else {\r\n params[key] = value;\r\n }\r\n });\r\n\r\n return params;\r\n } catch (error) {\r\n console.error(\"Error parsing query parameters:\", error);\r\n return {};\r\n }\r\n}\r\n\r\n/**\r\n * Get specific query parameter value\r\n * @param key - Parameter key to retrieve\r\n * @param url - URL string to parse (defaults to current URL)\r\n * @returns Parameter value or null if not found\r\n */\r\nexport function getQueryParam(key: string, url?: string): string | null {\r\n try {\r\n const targetUrl =\r\n url || (typeof window !== \"undefined\" ? window.location.href : \"\");\r\n const urlObj = new URL(targetUrl);\r\n return urlObj.searchParams.get(key);\r\n } catch (error) {\r\n console.error(\"Error getting query parameter:\", error);\r\n return null;\r\n }\r\n}\r\n\r\n/**\r\n * Check if a query parameter exists\r\n * @param key - Parameter key to check\r\n * @param url - URL string to parse (defaults to current URL)\r\n * @returns Boolean indicating if parameter exists\r\n */\r\nexport function hasQueryParam(key: string, url?: string): boolean {\r\n try {\r\n const targetUrl =\r\n url || (typeof window !== \"undefined\" ? window.location.href : \"\");\r\n const urlObj = new URL(targetUrl);\r\n return urlObj.searchParams.has(key);\r\n } catch (error) {\r\n console.error(\"Error checking query parameter:\", error);\r\n return false;\r\n }\r\n}\r\n\r\n/**\r\n * Build URL from base path and parameters object\r\n * @param basePath - Base URL or path\r\n * @param params - Object of parameters to add\r\n * @param options - Additional configuration\r\n * @returns Complete URL string\r\n */\r\nexport function buildUrl(\r\n basePath: string,\r\n params: QueryParams,\r\n options: UrlHelperOptions = {}\r\n): string {\r\n try {\r\n const { encode = true } = options;\r\n const url = new URL(\r\n basePath,\r\n typeof window !== \"undefined\"\r\n ? window.location.origin\r\n : \"http://localhost\"\r\n );\r\n\r\n Object.entries(params).forEach(([key, value]) => {\r\n if (value !== undefined && value !== null) {\r\n if (Array.isArray(value)) {\r\n value.forEach((v) => url.searchParams.append(key, String(v)));\r\n } else {\r\n url.searchParams.set(key, String(value));\r\n }\r\n }\r\n });\r\n\r\n return url.toString();\r\n } catch (error) {\r\n console.error(\"Error building URL:\", error);\r\n return basePath;\r\n }\r\n}\r\n\r\n/**\r\n * Navigate to URL with updated query parameters (client-side only)\r\n * @example\r\n * ```tsx\r\n * navigateWithQuery({ key: \"page\", value: 1, action: \"add\" });\r\n * ```\r\n * @param context - Query context for manipulation\r\n * @param options - Navigation options\r\n */\r\nexport function navigateWithQuery(\r\n context: QueryContextType,\r\n options: UrlHelperOptions & { replace?: boolean } = {}\r\n): void {\r\n if (typeof window === \"undefined\") {\r\n console.warn(\"navigateWithQuery can only be used in browser environment\");\r\n return;\r\n }\r\n\r\n const { replace = false } = options;\r\n const newUrl = urlQueryHelper(context, options);\r\n\r\n if (replace) {\r\n window.history.replaceState({}, \"\", newUrl);\r\n } else {\r\n window.history.pushState({}, \"\", newUrl);\r\n }\r\n}\r\n\r\n/**\r\n * InstinctHub-specific helper for course filtering\r\n * @example\r\n * ```tsx\r\n * buildDataFilterUrl({ subject: \"Math\", level: \"100\", instructor: \"John Doe\" });\r\n * ```\r\n * @param filters - Course filter parameters\r\n * @returns URL with course filters applied\r\n */\r\nexport function buildDataFilterUrl(filters: {\r\n subject?: string;\r\n level?: string;\r\n instructor?: string;\r\n search?: string;\r\n page?: number;\r\n sort?: string;\r\n}): string {\r\n const params: QueryParams = {};\r\n\r\n Object.entries(filters).forEach(([key, value]) => {\r\n if (value !== undefined && value !== null && value !== \"\") {\r\n params[key] = String(value);\r\n }\r\n });\r\n\r\n return buildUrl(window.location.pathname, params);\r\n}\r\n\r\n/**\r\n * InstinctHub-specific helper for pagination\r\n * @example\r\n * ```tsx\r\n * buildPaginationUrl(1);\r\n * ```\r\n * @param page - Page number\r\n * @param preserveFilters - Whether to keep existing filters\r\n * @returns URL with pagination applied\r\n */\r\nexport function buildPaginationUrl(\r\n page: number,\r\n preserveFilters = true\r\n): string {\r\n if (preserveFilters) {\r\n return urlQueryHelper({ key: \"page\", value: page, action: \"update\" });\r\n } else {\r\n return buildUrl(window.location.pathname, { page: page.toString() });\r\n }\r\n}\r\n\r\n/**\r\n * Clean URL by removing empty or null parameters\r\n * @example\r\n * ```tsx\r\n * cleanUrl();\r\n * ```\r\n * @param url - URL to clean (defaults to current URL)\r\n * @returns Cleaned URL string\r\n */\r\nexport function cleanUrl(url?: string): string {\r\n try {\r\n const targetUrl =\r\n url || (typeof window !== \"undefined\" ? window.location.href : \"\");\r\n const urlObj = new URL(targetUrl);\r\n const params = new URLSearchParams();\r\n\r\n urlObj.searchParams.forEach((value, key) => {\r\n if (value && value.trim() !== \"\") {\r\n params.set(key, value);\r\n }\r\n });\r\n\r\n urlObj.search = params.toString();\r\n return urlObj.toString();\r\n } catch (error) {\r\n console.error(\"Error cleaning URL:\", error);\r\n return url || \"\";\r\n }\r\n}\r\n"],"names":["urlQueryHelper","context","options","_options$baseUrl","baseUrl","window","location","href","_options$preserveHash","preserveHash","encode","url","URL","params","URLSearchParams","search","key","value","action","append","String","set","has","forEach","_","paramKey","Error","concat","toString","hash","error","console","getQueryParams","targetUrl","urlObj","searchParams","Array","isArray","push","getQueryParam","get","hasQueryParam","buildUrl","basePath","origin","Object","entries","_ref","_ref2","_slicedToArray","v","navigateWithQuery","_options$replace","replace","newUrl","history","replaceState","pushState","warn","buildDataFilterUrl","filters","_ref3","_ref4","pathname","buildPaginationUrl","page","arguments","length","undefined","cleanUrl","trim"],"mappings":"2FA6BgBA,EACdC,GAC8B,IAA9BC,yDAA4B,CAAA,EAE5BC,EAIID,EAHFE,QAAAA,OAAO,IAAAD,EAAqB,oBAAXE,OAAyBA,OAAOC,SAASC,KAAO,GAAEJ,EAAAK,EAGjEN,EAFFO,aAAAA,OAAe,IAAHD,GAAOA,EAEjBN,EADFQ,OAGF,IACE,IAAMC,EAAM,IAAIC,IAAIR,GACdS,EAAS,IAAIC,gBAAgBH,EAAII,QAC/BC,EAAuBf,EAAvBe,IAAKC,EAAkBhB,EAAlBgB,MAAOC,EAAWjB,EAAXiB,OAGpB,OAAQA,GACN,IAAK,MACCD,SAEAJ,EAAOM,OAAOH,EAAKI,OAAOH,IAK9B,MAEF,IAAK,SACCA,SACFJ,EAAOQ,IAAIL,EAAKI,OAAOH,IAEzB,MAEF,IAAK,SACHJ,EAAM,OAAQG,GACd,MAEF,IAAK,SACCH,EAAOS,IAAIN,GACbH,EAAM,OAAQG,GACLC,SACTJ,EAAOQ,IAAIL,EAAKI,OAAOH,IAEzB,MAEF,IAAK,QAEHJ,EAAOU,SAAQ,SAACC,EAAGC,GACjBZ,EAAM,OAAQY,EAChB,IACA,MAEF,QACE,MAAM,IAAIC,MAAK,uBAAAC,OAAwBT,IAW3C,OAPAP,EAAII,OAASF,EAAOe,WAGfnB,IACHE,EAAIkB,KAAO,IAGNlB,EAAIiB,UACZ,CAAC,MAAOE,GAEP,OADAC,QAAQD,MAAM,0BAA2BA,GAClC1B,CACR,CACH,CAOM,SAAU4B,EAAerB,GAC7B,IACE,IAAMsB,EACJtB,IAA0B,oBAAXN,OAAyBA,OAAOC,SAASC,KAAO,IAC3D2B,EAAS,IAAItB,IAAIqB,GACjBpB,EAAsB,CAAA,EAe5B,OAbAqB,EAAOC,aAAaZ,SAAQ,SAACN,EAAOD,GAC9BH,EAAOG,GAELoB,MAAMC,QAAQxB,EAAOG,IACtBH,EAAOG,GAAkBsB,KAAKrB,GAE/BJ,EAAOG,GAAO,CAACH,EAAOG,GAAgBC,GAGxCJ,EAAOG,GAAOC,CAElB,IAEOJ,CACR,CAAC,MAAOiB,GAEP,OADAC,QAAQD,MAAM,kCAAmCA,GAC1C,EACR,CACH,CAQgB,SAAAS,EAAcvB,EAAaL,GACzC,IACE,IAAMsB,EACJtB,IAA0B,oBAAXN,OAAyBA,OAAOC,SAASC,KAAO,IAEjE,OADe,IAAIK,IAAIqB,GACTE,aAAaK,IAAIxB,EAChC,CAAC,MAAOc,GAEP,OADAC,QAAQD,MAAM,iCAAkCA,GACzC,IACR,CACH,CAQgB,SAAAW,EAAczB,EAAaL,GACzC,IACE,IAAMsB,EACJtB,IAA0B,oBAAXN,OAAyBA,OAAOC,SAASC,KAAO,IAEjE,OADe,IAAIK,IAAIqB,GACTE,aAAab,IAAIN,EAChC,CAAC,MAAOc,GAEP,OADAC,QAAQD,MAAM,kCAAmCA,IAC1C,CACR,CACH,CASM,SAAUY,EACdC,EACA9B,GAC8B,IAA9BX,yDAA4B,CAAA,EAE5B,IAC4BA,EAAlBQ,OAAR,IACMC,EAAM,IAAIC,IACd+B,EACkB,oBAAXtC,OACHA,OAAOC,SAASsC,OAChB,oBAaN,OAVAC,OAAOC,QAAQjC,GAAQU,SAAQ,SAAAwB,GAAiB,IAAAC,EAAAC,EAAAF,EAAA,GAAf/B,EAAGgC,EAAA,GAAE/B,EAAK+B,EAAA,GACrC/B,UACEmB,MAAMC,QAAQpB,GAChBA,EAAMM,SAAQ,SAAC2B,GAAC,OAAKvC,EAAIwB,aAAahB,OAAOH,EAAKI,OAAO8B,OAEzDvC,EAAIwB,aAAad,IAAIL,EAAKI,OAAOH,IAGvC,IAEON,EAAIiB,UACZ,CAAC,MAAOE,GAEP,OADAC,QAAQD,MAAM,sBAAuBA,GAC9Ba,CACR,CACH,UAWgBQ,EACdlD,GACsD,IAAtDC,yDAAoD,CAAA,EAEpD,GAAsB,oBAAXG,OAAX,CAKA,IAAA+C,EAA4BlD,EAApBmD,QAAAA,OAAU,IAAHD,GAAQA,EACjBE,EAAStD,EAAeC,EAASC,GAEnCmD,EACFhD,OAAOkD,QAAQC,aAAa,CAAE,EAAE,GAAIF,GAEpCjD,OAAOkD,QAAQE,UAAU,CAAE,EAAE,GAAIH,EARlC,MAFCvB,QAAQ2B,KAAK,4DAYjB,CAWM,SAAUC,EAAmBC,GAQjC,IAAM/C,EAAsB,CAAA,EAQ5B,OANAgC,OAAOC,QAAQc,GAASrC,SAAQ,SAAAsC,GAAiB,IAAAC,EAAAb,EAAAY,EAAA,GAAf7C,EAAG8C,EAAA,GAAE7C,EAAK6C,EAAA,GACtC7C,SAAmD,KAAVA,IAC3CJ,EAAOG,GAAOI,OAAOH,GAEzB,IAEOyB,EAASrC,OAAOC,SAASyD,SAAUlD,EAC5C,UAYgBmD,EACdC,GAGA,QAFeC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,KAAAA,UAAA,GAGNlE,EAAe,CAAEgB,IAAK,OAAQC,MAAOgD,EAAM/C,OAAQ,WAEnDwB,EAASrC,OAAOC,SAASyD,SAAU,CAAEE,KAAMA,EAAKrC,YAE3D,CAWM,SAAUyC,EAAS1D,GACvB,IACE,IAAMsB,EACJtB,IAA0B,oBAAXN,OAAyBA,OAAOC,SAASC,KAAO,IAC3D2B,EAAS,IAAItB,IAAIqB,GACjBpB,EAAS,IAAIC,gBASnB,OAPAoB,EAAOC,aAAaZ,SAAQ,SAACN,EAAOD,GAC9BC,GAA0B,KAAjBA,EAAMqD,QACjBzD,EAAOQ,IAAIL,EAAKC,EAEpB,IAEAiB,EAAOnB,OAASF,EAAOe,WAChBM,EAAON,UACf,CAAC,MAAOE,GAEP,OADAC,QAAQD,MAAM,sBAAuBA,GAC9BnB,GAAO,EACf,CACH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as r,jsx as i}from"react/jsx-runtime";import{useState as t}from"react";import{API_HOST_URL as
|
|
1
|
+
import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as r,jsx as i}from"react/jsx-runtime";import{useState as t}from"react";import a from"./Pagination.js";import{API_HOST_URL as n}from"../../lib/helpFunction.js";import"../../lib/utils.js";var l=function(){var l=t({count:150,next:"http://127.0.0.1:8000/api/v1/posts/?limit=20&offset=20",previous:null,results:[]}),o=e(l,2),s=o[0],d=o[1],c=t(""),p=e(c,2),u=p[0],h=p[1],m=t(""),v=e(m,2),g=v[0],f=v[1],b=t("0"),y=e(b,2),x=y[0],C=y[1];return r("div",{style:{padding:"2rem",fontFamily:"var(--Nunito, sans-serif)"},children:[i("h2",{style:{marginBottom:"2rem",color:"var(--DarkCyan)"},children:"Enhanced Pagination with API Integration"}),r("div",{style:{marginBottom:"2rem",display:"flex",gap:"1rem",flexWrap:"wrap"},children:[r("div",{children:[i("label",{children:"Search: "}),i("input",{type:"text",value:u,onChange:function(e){return r=e.target.value,h(r),void C("0");var r},placeholder:"Search posts...",style:{padding:"0.5rem",border:"1px solid #ccc",borderRadius:"4px"}})]}),r("div",{children:[i("label",{children:"Category: "}),r("select",{value:g,onChange:function(e){return r=e.target.value,f(r),void C("0");var r},style:{padding:"0.5rem",border:"1px solid #ccc",borderRadius:"4px"},children:[i("option",{value:"",children:"All Categories"}),i("option",{value:"tech",children:"Technology"}),i("option",{value:"design",children:"Design"}),i("option",{value:"business",children:"Business"})]})]})]}),r("div",{style:{marginBottom:"2rem",padding:"1rem",backgroundColor:"#f8f9fa",borderRadius:"8px"},children:[i("h3",{children:"Current State:"}),r("p",{children:["Offset: ",x]}),r("p",{children:['Search: "',u,'"']}),r("p",{children:['Tab: "',g,'"']}),r("p",{children:["Total items: ",s.count]})]}),i(a,{offset:x,data:s,limit:20,urlPath:n+"posts/",setData:d,token:"mock-token",searchValues:u,tabsValues:g,rangeLimit:5,showFirstLast:!0})]})};export{l as default};
|
|
2
2
|
//# sourceMappingURL=PaginationDemo.js.map
|
|
@@ -5,7 +5,7 @@ interface SearchObjectsFromDBProps<T extends SearchObjectItemType = SearchObject
|
|
|
5
5
|
token: string;
|
|
6
6
|
handle: string;
|
|
7
7
|
setSelected: React.Dispatch<React.SetStateAction<T[]>>;
|
|
8
|
-
|
|
8
|
+
options?: T[];
|
|
9
9
|
appLabel?: string;
|
|
10
10
|
modelName?: string;
|
|
11
11
|
filterChannel?: boolean;
|
|
@@ -33,18 +33,18 @@ interface SearchObjectsFromDBProps<T extends SearchObjectItemType = SearchObject
|
|
|
33
33
|
* @param {string} props.token - The token for the API request
|
|
34
34
|
* @param {string} props.handle - The handle for the API request
|
|
35
35
|
* @param {Function} props.setSelected - The function to set the handle object
|
|
36
|
-
* @param {T[]} props.value - The prevent defaults for the API request
|
|
37
36
|
* @param {string} props.appLabel - The app label for the API request
|
|
38
37
|
* @param {string} props.modelName - The model name for the API request
|
|
39
38
|
* @param {boolean} props.filterChannel - The filter channel for the API request
|
|
40
39
|
* @param {number} props.limit_query - The limit for the API request
|
|
41
40
|
* @param {number} props.limit_select - The limit user can select (0 means unlimited)
|
|
41
|
+
* @param {T[]} props.options - The options for the API request
|
|
42
42
|
* @param {keyof T | "name_plus_username"} props.key_name - The key_name to display search results (option[key_name])
|
|
43
43
|
* @param {string} props.placeholder - The placeholder for the API request
|
|
44
44
|
* @param {string} props.searchUrl - The search url for the API request
|
|
45
45
|
* @param {T[]} props.selected - The selected for the API request
|
|
46
46
|
* @param {boolean} props.err - The error for the API request
|
|
47
47
|
*/
|
|
48
|
-
declare function SearchObjectsFromDB<T extends SearchObjectItemType = SearchObjectItemType>({ label, token, handle, setSelected, appLabel, modelName, filterChannel, limit_query, limit_select, key_name, placeholder, searchUrl, selected, err, }: SearchObjectsFromDBProps<T>): JSX.Element;
|
|
48
|
+
declare function SearchObjectsFromDB<T extends SearchObjectItemType = SearchObjectItemType>({ label, token, handle, setSelected, appLabel, modelName, filterChannel, limit_query, limit_select, options, key_name, placeholder, searchUrl, selected, err, }: SearchObjectsFromDBProps<T>): JSX.Element;
|
|
49
49
|
declare const _default: typeof SearchObjectsFromDB;
|
|
50
50
|
export default _default;
|
|
@@ -18,6 +18,7 @@ export * from "./oauth_json";
|
|
|
18
18
|
export * from "./paystack";
|
|
19
19
|
export * from "./permissions";
|
|
20
20
|
export * from "./utils";
|
|
21
|
+
export * from "./queryParameters";
|
|
21
22
|
export * from "./charts";
|
|
22
23
|
export * from "./modals/modals";
|
|
23
24
|
export * from "./modals/openConfirmDelete";
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* URL Query Parameter Helper for InstinctHub React UI
|
|
3
|
+
* Handles adding, updating, removing, and manipulating URL query parameters
|
|
4
|
+
*/
|
|
5
|
+
import { QueryContextType } from "@/types";
|
|
6
|
+
interface QueryParams {
|
|
7
|
+
[key: string]: string | string[] | undefined;
|
|
8
|
+
}
|
|
9
|
+
interface UrlHelperOptions {
|
|
10
|
+
baseUrl?: string;
|
|
11
|
+
preserveHash?: boolean;
|
|
12
|
+
encode?: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Main URL query parameter helper function
|
|
16
|
+
* @example
|
|
17
|
+
* ```tsx
|
|
18
|
+
* urlQueryHelper({ key: "page", value: 1, action: "add" });
|
|
19
|
+
* ```
|
|
20
|
+
* @param context - Object containing key, value, and action
|
|
21
|
+
* @param options - Additional configuration options
|
|
22
|
+
* @returns Updated URL string
|
|
23
|
+
*/
|
|
24
|
+
export declare function urlQueryHelper(context: QueryContextType, options?: UrlHelperOptions): string;
|
|
25
|
+
/**
|
|
26
|
+
* Get all query parameters as an object
|
|
27
|
+
* @param url - URL string to parse (defaults to current URL)
|
|
28
|
+
* @returns Object with query parameters
|
|
29
|
+
*/
|
|
30
|
+
export declare function getQueryParams(url?: string): QueryParams;
|
|
31
|
+
/**
|
|
32
|
+
* Get specific query parameter value
|
|
33
|
+
* @param key - Parameter key to retrieve
|
|
34
|
+
* @param url - URL string to parse (defaults to current URL)
|
|
35
|
+
* @returns Parameter value or null if not found
|
|
36
|
+
*/
|
|
37
|
+
export declare function getQueryParam(key: string, url?: string): string | null;
|
|
38
|
+
/**
|
|
39
|
+
* Check if a query parameter exists
|
|
40
|
+
* @param key - Parameter key to check
|
|
41
|
+
* @param url - URL string to parse (defaults to current URL)
|
|
42
|
+
* @returns Boolean indicating if parameter exists
|
|
43
|
+
*/
|
|
44
|
+
export declare function hasQueryParam(key: string, url?: string): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Build URL from base path and parameters object
|
|
47
|
+
* @param basePath - Base URL or path
|
|
48
|
+
* @param params - Object of parameters to add
|
|
49
|
+
* @param options - Additional configuration
|
|
50
|
+
* @returns Complete URL string
|
|
51
|
+
*/
|
|
52
|
+
export declare function buildUrl(basePath: string, params: QueryParams, options?: UrlHelperOptions): string;
|
|
53
|
+
/**
|
|
54
|
+
* Navigate to URL with updated query parameters (client-side only)
|
|
55
|
+
* @example
|
|
56
|
+
* ```tsx
|
|
57
|
+
* navigateWithQuery({ key: "page", value: 1, action: "add" });
|
|
58
|
+
* ```
|
|
59
|
+
* @param context - Query context for manipulation
|
|
60
|
+
* @param options - Navigation options
|
|
61
|
+
*/
|
|
62
|
+
export declare function navigateWithQuery(context: QueryContextType, options?: UrlHelperOptions & {
|
|
63
|
+
replace?: boolean;
|
|
64
|
+
}): void;
|
|
65
|
+
/**
|
|
66
|
+
* InstinctHub-specific helper for course filtering
|
|
67
|
+
* @example
|
|
68
|
+
* ```tsx
|
|
69
|
+
* buildDataFilterUrl({ subject: "Math", level: "100", instructor: "John Doe" });
|
|
70
|
+
* ```
|
|
71
|
+
* @param filters - Course filter parameters
|
|
72
|
+
* @returns URL with course filters applied
|
|
73
|
+
*/
|
|
74
|
+
export declare function buildDataFilterUrl(filters: {
|
|
75
|
+
subject?: string;
|
|
76
|
+
level?: string;
|
|
77
|
+
instructor?: string;
|
|
78
|
+
search?: string;
|
|
79
|
+
page?: number;
|
|
80
|
+
sort?: string;
|
|
81
|
+
}): string;
|
|
82
|
+
/**
|
|
83
|
+
* InstinctHub-specific helper for pagination
|
|
84
|
+
* @example
|
|
85
|
+
* ```tsx
|
|
86
|
+
* buildPaginationUrl(1);
|
|
87
|
+
* ```
|
|
88
|
+
* @param page - Page number
|
|
89
|
+
* @param preserveFilters - Whether to keep existing filters
|
|
90
|
+
* @returns URL with pagination applied
|
|
91
|
+
*/
|
|
92
|
+
export declare function buildPaginationUrl(page: number, preserveFilters?: boolean): string;
|
|
93
|
+
/**
|
|
94
|
+
* Clean URL by removing empty or null parameters
|
|
95
|
+
* @example
|
|
96
|
+
* ```tsx
|
|
97
|
+
* cleanUrl();
|
|
98
|
+
* ```
|
|
99
|
+
* @param url - URL to clean (defaults to current URL)
|
|
100
|
+
* @returns Cleaned URL string
|
|
101
|
+
*/
|
|
102
|
+
export declare function cleanUrl(url?: string): string;
|
|
103
|
+
export {};
|
|
@@ -451,3 +451,8 @@ export interface PaginationPropsType {
|
|
|
451
451
|
/** Whether to show first/last buttons */
|
|
452
452
|
showFirstLast?: boolean;
|
|
453
453
|
}
|
|
454
|
+
export interface QueryContextType {
|
|
455
|
+
key: string;
|
|
456
|
+
value?: string | number | boolean | null;
|
|
457
|
+
action: "add" | "update" | "remove" | "toggle" | "clear";
|
|
458
|
+
}
|