react-better-html 1.1.233 → 1.1.234

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/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { Color, BetterCoreProviderConfig, DeepPartialRecord, BetterCoreConfig, OmitProps, AnyOtherString, IconName, PartialRecord, Unsubscribe, AssetName, LoaderName, PickValue, Country } from 'react-better-core';
2
- export { AnyOtherString, AssetName, AssetsConfig, Color, ColorName, ColorTheme, Colors, Country, DeepPartialRecord, ExcludeOptions, IconName, IconsConfig, LoaderConfig, LoaderName, OmitProps, PartialRecord, PickAllRequired, PickValue, Styles, Theme, ThemeConfig, colorThemeControls, countries, darkenColor, desaturateColor, eventPreventDefault, eventPreventStop, eventStopPropagation, formatPhoneNumber, generateRandomString, getPluralWord, lightenColor, loaderControls, saturateColor, useBooleanState, useDebounceState, useLoader, useLoaderControls, useTheme } from 'react-better-core';
1
+ import { Color, BetterCoreProviderConfig, DeepPartialRecord, OmitProps, BetterCoreConfig, IconName, AnyOtherString, PartialRecord, AssetName, LoaderName, PickValue, Country } from 'react-better-core';
2
+ export { API, APIConfigItem, APIResponse, AnyOtherString, AssetName, AssetsConfig, Color, ColorName, ColorTheme, Colors, Country, DeepPartialRecord, ExcludeOptions, HttpHeaders as HttpHeader, HttpMethod, IconName, IconsConfig, LoaderConfig, LoaderName, OmitProps, PartialRecord, PickAllRequired, PickValue, Styles, Theme, ThemeConfig, Unsubscribe, UrlQuery, colorThemeControls, countries, darkenColor, desaturateColor, eventPreventDefault, eventPreventStop, eventStopPropagation, formatPhoneNumber, generateApi, generateEventEmitter, generateRandomString, getPluralWord, lightenColor, loaderControls, saturateColor, useBooleanState, useDebounceState, useLoader, useLoaderControls, useTheme } from 'react-better-core';
3
3
  import * as react from 'react';
4
4
  import { ComponentProps, ReactNode } from 'react';
5
5
  import * as react_jsx_runtime from 'react/jsx-runtime';
@@ -47,7 +47,6 @@ type BetterHtmlConfig = {
47
47
  width?: number;
48
48
  };
49
49
  };
50
- devMode?: boolean;
51
50
  };
52
51
 
53
52
  type AlertType = "info" | "success" | "warning" | "error";
@@ -116,254 +115,6 @@ declare const _default$5: react.MemoExoticComponent<typeof BetterHtmlProvider>;
116
115
 
117
116
  declare const isMobileDevice: boolean;
118
117
 
119
- type HttpMethod = "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS" | "TRACE" | "CONNECT";
120
- type CacheDirective = "no-cache" | "no-store" | "no-transform" | "only-if-cached" | "max-age" | "max-stale" | "min-fresh" | "must-revalidate" | "must-understand" | "proxy-revalidate" | "private" | "public" | "s-maxage" | "immutable" | "stale-while-revalidate" | "stale-if-error";
121
- type ConnectionDirective = "keep-alive" | "close" | "upgrade";
122
- type ContentEncoding = "gzip" | "compress" | "deflate" | "br" | "identity" | "zstd";
123
- type MediaType = "text/plain" | "text/html" | "text/css" | "text/javascript" | "text/csv" | "text/xml" | "application/json" | "application/ld+json" | "application/xml" | "application/octet-stream" | "application/pdf" | "application/zip" | "application/gzip" | "application/x-www-form-urlencoded" | "application/x-ndjson" | "multipart/form-data" | "multipart/byteranges" | "image/png" | "image/jpeg" | "image/gif" | "image/webp" | "image/svg+xml" | "image/avif" | "audio/mpeg" | "audio/ogg" | "audio/wav" | "video/mp4" | "video/ogg" | "video/webm" | "font/woff" | "font/woff2" | "font/ttf" | (string & {});
124
- type AuthScheme = `Basic ${string}` | `Bearer ${string}` | `Digest ${string}` | `NTLM ${string}` | `Negotiate ${string}` | `AWS4-HMAC-SHA256 ${string}` | AnyOtherString;
125
- type ReferrerPolicy = "no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url";
126
- type CrossOriginEmbedderPolicy = "unsafe-none" | "require-corp" | "credentialless";
127
- type CrossOriginOpenerPolicy = "unsafe-none" | "same-origin-allow-popups" | "same-origin";
128
- type CrossOriginResourcePolicy = "same-site" | "same-origin" | "cross-origin";
129
- type FetchSite = "cross-site" | "same-origin" | "same-site" | "none";
130
- type FetchMode = "cors" | "navigate" | "no-cors" | "same-origin" | "websocket";
131
- type FetchDest = "audio" | "audioworklet" | "document" | "embed" | "empty" | "font" | "frame" | "iframe" | "image" | "manifest" | "object" | "paintworklet" | "report" | "script" | "serviceworker" | "sharedworker" | "style" | "track" | "video" | "worker" | "xslt";
132
- type TransferEncoding = "chunked" | "compress" | "deflate" | "gzip" | "identity";
133
- type Preference = "respond-async" | "return=minimal" | "return=representation";
134
- type HttpHeaders = {
135
- /** Credentials to authenticate with the server. */
136
- Authorization?: AuthScheme;
137
- /** Credentials to authenticate with a proxy. */
138
- "Proxy-Authorization"?: AuthScheme;
139
- /** Which authentication methods can be used to gain access to a resource. */
140
- "WWW-Authenticate"?: string;
141
- /** Which authentication method should be used to gain access to a proxy. */
142
- "Proxy-Authenticate"?: string;
143
- /** Directives for caching mechanisms in both requests and responses. */
144
- "Cache-Control"?: CacheDirective | `${CacheDirective}, ${string}` | AnyOtherString;
145
- /** Clears browse caching and related effects for a specific response. */
146
- "Clear-Site-Data"?: '"cache"' | '"cookies"' | '"storage"' | '"executionContexts"' | '"*"' | AnyOtherString;
147
- /** Age in seconds the object has been in a proxy cache. */
148
- Age?: `${number}`;
149
- /** Date/time after which the response is considered stale. */
150
- Expires?: string;
151
- /** Implementation-specific directives. */
152
- Pragma?: "no-cache" | AnyOtherString;
153
- /** Makes the request conditional; only transmit if content has changed. */
154
- "Last-Modified"?: string;
155
- /** Identifier for a specific version of a resource. */
156
- ETag?: `"${string}"` | `W/"${string}"`;
157
- /** Makes the request conditional on the ETag matching. */
158
- "If-Match"?: `"${string}"` | "*";
159
- /** Makes the request conditional on the ETag NOT matching. */
160
- "If-None-Match"?: `"${string}"` | "*";
161
- /** Makes the request conditional on the date. */
162
- "If-Modified-Since"?: string;
163
- /** Makes the request conditional on the date (for unchanged resources). */
164
- "If-Unmodified-Since"?: string;
165
- /** Used with range requests to send missing parts only if unchanged. */
166
- "If-Range"?: `"${string}"` | string;
167
- /** Controls whether the network connection stays open after the transaction. */
168
- Connection?: ConnectionDirective | AnyOtherString;
169
- /** Controls how long a persistent connection stays open (in seconds). */
170
- "Keep-Alive"?: string;
171
- /** Informs the server about the types of data that can be sent back. */
172
- Accept?: MediaType | `${MediaType};q=${number}` | "*/*" | AnyOtherString;
173
- /** Which content encoding the client can understand. */
174
- "Accept-Encoding"?: ContentEncoding | AnyOtherString;
175
- /** Which languages the client prefers. */
176
- "Accept-Language"?: string;
177
- /** Indicates whether the client can handle HTTP/1.1 chunked transfer encoding. */
178
- TE?: TransferEncoding | AnyOtherString;
179
- /** Indicates expectations that need to be fulfilled by the server. */
180
- Expect?: "100-continue";
181
- /** The maximum number of seconds the resource is expected to take to arrive. */
182
- "Max-Forwards"?: `${number}`;
183
- /** Sends stored HTTP cookies associated with the server. */
184
- Cookie?: string;
185
- /** Sends a cookie from the server to the user-agent. */
186
- "Set-Cookie"?: string;
187
- /** Indicates where a fetch originates from. */
188
- Origin?: string;
189
- /** Indicates whether the response can be shared with requesting code from the given origin. */
190
- "Access-Control-Allow-Origin"?: "*" | AnyOtherString;
191
- /** Indicates whether the response to the request can be exposed when credentials are present. */
192
- "Access-Control-Allow-Credentials"?: "true";
193
- /** Used in response to a preflight request to indicate which headers can be used. */
194
- "Access-Control-Allow-Headers"?: "*" | AnyOtherString;
195
- /** Specifies the methods allowed when accessing the resource in response to a preflight. */
196
- "Access-Control-Allow-Methods"?: "*" | HttpMethod | AnyOtherString;
197
- /** Indicates which headers can be exposed as part of the response. */
198
- "Access-Control-Expose-Headers"?: "*" | AnyOtherString;
199
- /** Indicates how long the results of a preflight request can be cached. */
200
- "Access-Control-Max-Age"?: `${number}`;
201
- /** Used when issuing a preflight request to let the server know HTTP method will be used. */
202
- "Access-Control-Request-Headers"?: string;
203
- /** Used when issuing a preflight request to let the server know HTTP method will be used. */
204
- "Access-Control-Request-Method"?: HttpMethod;
205
- /** Indicates if the resource should be downloaded or displayed inline. */
206
- "Content-Disposition"?: "inline" | "attachment" | `attachment; filename="${string}"` | `form-data; name="${string}"` | AnyOtherString;
207
- /** The size of the resource in bytes. */
208
- "Content-Length"?: `${number}`;
209
- /** Indicates the media type of the resource. */
210
- "Content-Type"?: MediaType | `${MediaType}; charset=${string}` | `${MediaType}; boundary=${string}` | AnyOtherString;
211
- /** The encoding used on the data. */
212
- "Content-Encoding"?: ContentEncoding;
213
- /** Describes the human language(s) intended for the audience. */
214
- "Content-Language"?: string;
215
- /** Indicates an alternate location for the returned data. */
216
- "Content-Location"?: string;
217
- /** Contains information from the client-facing side of proxy servers. */
218
- Forwarded?: string;
219
- /** The originating IP address of a client connecting through a proxy. */
220
- "X-Forwarded-For"?: string;
221
- /** The original host requested by the client. */
222
- "X-Forwarded-Host"?: string;
223
- /** The protocol the client used to connect to the proxy. */
224
- "X-Forwarded-Proto"?: "http" | "https";
225
- /** Added by proxies, both forward and reverse, for tracing. */
226
- Via?: string;
227
- /** Indicates the URL to redirect a page to. */
228
- Location?: string;
229
- /** Identifies the most recent version of the resource in the context of an HTTP PUT. */
230
- "Content-Location-URI"?: string;
231
- /** Contains an Internet email address for a human user who controls the requesting user agent. */
232
- From?: string;
233
- /** The domain name of the server (for virtual hosting). */
234
- Host?: string;
235
- /** The address of the previous web page from which a link was followed. */
236
- Referer?: string;
237
- /** Governs which referrer information should be included with requests made. */
238
- "Referrer-Policy"?: ReferrerPolicy;
239
- /** Contains a characteristic string that allows network protocol peers to identify the application. */
240
- "User-Agent"?: string;
241
- /** Lists the set of HTTP request methods supported by the server. */
242
- Allow?: HttpMethod | AnyOtherString;
243
- /** Contains information about the software used by the origin server. */
244
- Server?: string;
245
- /** Indicates the date and time at which the message was originated. */
246
- Date?: string;
247
- /** Indicates if the server supports range requests, and if so what type. */
248
- "Accept-Ranges"?: "bytes" | "none";
249
- /** Indicates the part of a document that the server should return. */
250
- Range?: `bytes=${number}-${number}` | `bytes=${number}-` | AnyOtherString;
251
- /** Indicates where in a full body message a partial message belongs. */
252
- "Content-Range"?: `bytes ${number}-${number}/${number}` | `bytes */${number}` | AnyOtherString;
253
- /** Allows a site to opt in to reporting and/or enforcement of Certificate Transparency. */
254
- "Expect-CT"?: string;
255
- /** Provides a mechanism to allow and deny the use of browser features. */
256
- "Permissions-Policy"?: string;
257
- /** Allows servers to indicate that a content type should not be changed or followed. */
258
- "X-Content-Type-Options"?: "nosniff";
259
- /** Indicates whether a browser should be allowed to render a page in a <frame>, <iframe>, etc. */
260
- "X-Frame-Options"?: "DENY" | "SAMEORIGIN" | `ALLOW-FROM ${string}`;
261
- /** Enables cross-site scripting filtering (legacy). */
262
- "X-XSS-Protection"?: "0" | "1" | "1; mode=block" | `1; report=${string}`;
263
- /** Sends a signal to the server expressing the client's preference for an encrypted connection. */
264
- "Upgrade-Insecure-Requests"?: "1";
265
- /** Forces communication over HTTPS instead of HTTP. */
266
- "Strict-Transport-Security"?: `max-age=${number}` | `max-age=${number}; includeSubDomains` | `max-age=${number}; includeSubDomains; preload`;
267
- /** Indicates how a document may be loaded into a cross-origin document. */
268
- "X-Permitted-Cross-Domain-Policies"?: "none" | "master-only" | "by-content-type" | "all";
269
- /** Allows a server to define a policy to protect against certain types of attacks. */
270
- "Content-Security-Policy"?: string;
271
- /** Allows web developers to experiment with policies without enforcing them. */
272
- "Content-Security-Policy-Report-Only"?: string;
273
- /** Allows web developers to associate a specific cryptographic identity with a server. */
274
- "Public-Key-Pins"?: string;
275
- /** Sends reports of pinning violations but, unlike PKP, still allows browsers to connect. */
276
- "Public-Key-Pins-Report-Only"?: string;
277
- "Cross-Origin-Embedder-Policy"?: CrossOriginEmbedderPolicy;
278
- "Cross-Origin-Opener-Policy"?: CrossOriginOpenerPolicy;
279
- "Cross-Origin-Resource-Policy"?: CrossOriginResourcePolicy;
280
- /**
281
- * Used to send resources to the client before the server is aware they will be needed.
282
- * Example: `</style.css>; rel=preload; as=style`
283
- */
284
- Link?: string;
285
- /** Specifies the form of encoding used to safely transfer the payload body. */
286
- "Transfer-Encoding"?: TransferEncoding | AnyOtherString;
287
- /** Allows the sender to include additional fields at the end of chunked messages. */
288
- Trailer?: string;
289
- /** Upgrade from HTTP to a different protocol (e.g. WebSocket). */
290
- Upgrade?: "websocket" | "HTTP/2.0" | AnyOtherString;
291
- /** Used in the WebSocket opening handshake. */
292
- "Sec-WebSocket-Key"?: string;
293
- /** Used in the WebSocket opening handshake (server side). */
294
- "Sec-WebSocket-Accept"?: string;
295
- /** Specifies one or more protocols the client wishes to use. */
296
- "Sec-WebSocket-Protocol"?: string;
297
- /** Specifies the version of the WebSocket protocol. */
298
- "Sec-WebSocket-Version"?: "13" | AnyOtherString;
299
- /** WebSocket extensions negotiated. */
300
- "Sec-WebSocket-Extensions"?: string;
301
- /** Indicates the relationship between a request initiator's origin and its target's origin. */
302
- "Sec-Fetch-Site"?: FetchSite;
303
- /** Indicates the mode of the request. */
304
- "Sec-Fetch-Mode"?: FetchMode;
305
- /** Indicates whether the request is for an image destined for storage in a cache. */
306
- "Sec-Fetch-User"?: "?1";
307
- /** Indicates the request's destination. */
308
- "Sec-Fetch-Dest"?: FetchDest;
309
- /** Indicates the user's preference for reduced data usage. */
310
- "Save-Data"?: "on" | "off";
311
- /** Notifies the server about the network quality and conditions. */
312
- Downlink?: `${number}`;
313
- /** Notifies the server about the estimated effective connection type. */
314
- ECT?: "slow-2g" | "2g" | "3g" | "4g";
315
- /** Notifies the server about the estimated round-trip latency. */
316
- RTT?: `${number}`;
317
- /** Indicates the width of the device in CSS pixels. */
318
- "Viewport-Width"?: `${number}`;
319
- /** The DPR (Device Pixel Ratio) of the client's device. */
320
- DPR?: `${number}`;
321
- /** Indicates the device pixel ratio. */
322
- "Device-Memory"?: "0.25" | "0.5" | "1" | "2" | "4" | "8";
323
- /** Indicates the hints the server is able to use proactively. */
324
- "Accept-CH"?: string;
325
- /** Ensures a client hint can be securely sent. */
326
- "Critical-CH"?: string;
327
- /** Indicates the preferences used for the communication channel to a server. */
328
- "Server-Timing"?: string;
329
- /** Used to deliver a reduced or sanitized Timing-Allow-Origin header. */
330
- "Timing-Allow-Origin"?: "*" | AnyOtherString;
331
- /** Preferred server behavior in request processing. */
332
- Prefer?: Preference | AnyOtherString;
333
- /** The unique ID of a request, for tracing across services. */
334
- "X-Request-Id"?: string;
335
- "X-Correlation-Id"?: string;
336
- "X-Trace-Id"?: string;
337
- /** Distinguishes AJAX from non-AJAX requests in some frameworks. */
338
- "X-Requested-With"?: "XMLHttpRequest" | AnyOtherString;
339
- /** Identifies the originating IP when behind a load balancer. */
340
- "X-Real-IP"?: string;
341
- [header: `x-${string}`]: string | undefined;
342
- };
343
-
344
- type API<APIConfig> = Record<keyof APIConfig, {
345
- method: HttpMethod;
346
- path: `/${string}`;
347
- bodyWithFormData?: boolean;
348
- includeHeaders?: (keyof HttpHeaders)[];
349
- }>;
350
- type APIConfigItem = {
351
- body: any;
352
- response: any;
353
- path?: (string | number)[];
354
- query?: UrlQuery;
355
- };
356
- type UrlQuery = Record<string, string | number | boolean | (string | number)[]>;
357
- type APIResponse<Data> = {
358
- data: Data;
359
- headers: Headers;
360
- statusCode: number;
361
- statusText: string;
362
- url: string;
363
- ok: boolean;
364
- redirected: boolean;
365
- };
366
-
367
118
  type BrowserName = "firefox" | "chrome" | "safari" | "edge" | "opera";
368
119
 
369
120
  type InputFieldProps = {
@@ -541,24 +292,6 @@ declare function generateLocalStorage<LocalStorage extends object>(): {
541
292
  removeAllItems: () => void;
542
293
  };
543
294
 
544
- declare function generateApi<APIConfig extends Record<string, APIConfigItem>, APIHeaders extends HttpHeaders = HttpHeaders>(config: {
545
- /**
546
- * Do not add a trailing slash
547
- */
548
- baseUrl: string;
549
- }, apiConfig: API<APIConfig>, getHeaders?: {
550
- [HeaderName in keyof APIHeaders]?: () => APIHeaders[HeaderName];
551
- }): <EndpointName extends keyof APIConfig>(name: EndpointName, payload?: {
552
- query?: APIConfig[EndpointName]["query"];
553
- body?: APIConfig[EndpointName]["body"];
554
- path?: APIConfig[EndpointName]["path"];
555
- }) => Promise<APIResponse<APIConfig[EndpointName]["response"]>>;
556
-
557
- declare function generateEventEmitter<EventEmitter extends Record<string, any>>(): {
558
- emit: <EventName extends keyof EventEmitter>(name: EventName, data: EventEmitter[EventName] extends never ? undefined : EventEmitter[EventName]) => void;
559
- listen: <EventName extends keyof EventEmitter>(name: EventName, callback?: (data: EventEmitter[EventName]) => void) => Unsubscribe;
560
- };
561
-
562
295
  type TextAs = "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | "span" | "label";
563
296
  type TextProps<As extends TextAs = "p"> = {
564
297
  /** @default "p" */
@@ -1376,4 +1109,4 @@ type LocalStoragePluginOptions = {
1376
1109
  declare const defaultLocalStoragePluginOptions: Required<LocalStoragePluginOptions>;
1377
1110
  declare const localStoragePlugin: BetterHtmlPluginConstructor<LocalStoragePluginOptions>;
1378
1111
 
1379
- export { type API, type APIConfigItem, type APIResponse, type Alert, type AlertDisplay, type AlertDuration, type AlertType, type AlertsPluginOptions, type AppConfig, type BetterHtmlConfig, type BetterHtmlPlugin, _default$5 as BetterHtmlProvider, type BetterHtmlProviderConfig, type BrowserName, Button, type ButtonProps, Chip, type ChipProps, ColorThemeSwitch, type ColorThemeSwitchProps, type ComponentHoverStyle, type ComponentMarginProps, type ComponentPaddingProps, Div, type DivProps, _default$1 as Divider, Dropdown, type DropdownOption, type DropdownProps, Foldable, type FoldableProps, type FoldableRef, Form, type FormProps, FormRow, type FormRowProps, type HorizontalDividerProps, type HttpHeaders as HttpHeader, type HttpMethod, _default$3 as Icon, type IconProps, _default$2 as Image, type ImageProps, InputField, type InputFieldProps, _default as Label, type LabelProps, Loader, type LoaderProps, type LocalStoragePluginOptions, Modal, type ModalProps, type ModalRef, PageHeader, type PageHeaderProps, PageHolder, type PageHolderProps, Pagination, type PluginName, type ReactRouterDomPluginOptions, SideMenu, type SideMenuItem, type SideMenuProps, type TabGroup, Table, type TableColumn, type TableFilterData, type TableListFilterListItem, type TableProps, type TableRef, Tabs, type TabsProps, type TabsRef, Text, type TextAs, type TextProps, type TextareaFieldProps, _default$4 as ToggleInput, type ToggleInputProps, type ToggleInputRef, Tooltip, type TooltipProps, type TooltipRef, type UrlQuery, type VerticalDividerProps, alertControls, alertsPlugin, defaultAlertsPluginOptions, defaultLocalStoragePluginOptions, defaultReactRouterDomPluginOptions, filterHover, generateApi, generateEventEmitter, generateLocalStorage, getBrowser, getFormErrorObject, isMobileDevice, localStoragePlugin, reactRouterDomPlugin, sideMenuControls, useAlertControls, useBetterHtmlContext, useForm, useMediaQuery, usePageResize, usePageScroll, useUrlQuery };
1112
+ export { type Alert, type AlertDisplay, type AlertDuration, type AlertType, type AlertsPluginOptions, type AppConfig, type BetterHtmlConfig, type BetterHtmlPlugin, _default$5 as BetterHtmlProvider, type BetterHtmlProviderConfig, type BrowserName, Button, type ButtonProps, Chip, type ChipProps, ColorThemeSwitch, type ColorThemeSwitchProps, type ComponentHoverStyle, type ComponentMarginProps, type ComponentPaddingProps, Div, type DivProps, _default$1 as Divider, Dropdown, type DropdownOption, type DropdownProps, Foldable, type FoldableProps, type FoldableRef, Form, type FormProps, FormRow, type FormRowProps, type HorizontalDividerProps, _default$3 as Icon, type IconProps, _default$2 as Image, type ImageProps, InputField, type InputFieldProps, _default as Label, type LabelProps, Loader, type LoaderProps, type LocalStoragePluginOptions, Modal, type ModalProps, type ModalRef, PageHeader, type PageHeaderProps, PageHolder, type PageHolderProps, Pagination, type PluginName, type ReactRouterDomPluginOptions, SideMenu, type SideMenuItem, type SideMenuProps, type TabGroup, Table, type TableColumn, type TableFilterData, type TableListFilterListItem, type TableProps, type TableRef, Tabs, type TabsProps, type TabsRef, Text, type TextAs, type TextProps, type TextareaFieldProps, _default$4 as ToggleInput, type ToggleInputProps, type ToggleInputRef, Tooltip, type TooltipProps, type TooltipRef, type VerticalDividerProps, alertControls, alertsPlugin, defaultAlertsPluginOptions, defaultLocalStoragePluginOptions, defaultReactRouterDomPluginOptions, filterHover, generateLocalStorage, getBrowser, getFormErrorObject, isMobileDevice, localStoragePlugin, reactRouterDomPlugin, sideMenuControls, useAlertControls, useBetterHtmlContext, useForm, useMediaQuery, usePageResize, usePageScroll, useUrlQuery };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { Color, BetterCoreProviderConfig, DeepPartialRecord, BetterCoreConfig, OmitProps, AnyOtherString, IconName, PartialRecord, Unsubscribe, AssetName, LoaderName, PickValue, Country } from 'react-better-core';
2
- export { AnyOtherString, AssetName, AssetsConfig, Color, ColorName, ColorTheme, Colors, Country, DeepPartialRecord, ExcludeOptions, IconName, IconsConfig, LoaderConfig, LoaderName, OmitProps, PartialRecord, PickAllRequired, PickValue, Styles, Theme, ThemeConfig, colorThemeControls, countries, darkenColor, desaturateColor, eventPreventDefault, eventPreventStop, eventStopPropagation, formatPhoneNumber, generateRandomString, getPluralWord, lightenColor, loaderControls, saturateColor, useBooleanState, useDebounceState, useLoader, useLoaderControls, useTheme } from 'react-better-core';
1
+ import { Color, BetterCoreProviderConfig, DeepPartialRecord, OmitProps, BetterCoreConfig, IconName, AnyOtherString, PartialRecord, AssetName, LoaderName, PickValue, Country } from 'react-better-core';
2
+ export { API, APIConfigItem, APIResponse, AnyOtherString, AssetName, AssetsConfig, Color, ColorName, ColorTheme, Colors, Country, DeepPartialRecord, ExcludeOptions, HttpHeaders as HttpHeader, HttpMethod, IconName, IconsConfig, LoaderConfig, LoaderName, OmitProps, PartialRecord, PickAllRequired, PickValue, Styles, Theme, ThemeConfig, Unsubscribe, UrlQuery, colorThemeControls, countries, darkenColor, desaturateColor, eventPreventDefault, eventPreventStop, eventStopPropagation, formatPhoneNumber, generateApi, generateEventEmitter, generateRandomString, getPluralWord, lightenColor, loaderControls, saturateColor, useBooleanState, useDebounceState, useLoader, useLoaderControls, useTheme } from 'react-better-core';
3
3
  import * as react from 'react';
4
4
  import { ComponentProps, ReactNode } from 'react';
5
5
  import * as react_jsx_runtime from 'react/jsx-runtime';
@@ -47,7 +47,6 @@ type BetterHtmlConfig = {
47
47
  width?: number;
48
48
  };
49
49
  };
50
- devMode?: boolean;
51
50
  };
52
51
 
53
52
  type AlertType = "info" | "success" | "warning" | "error";
@@ -116,254 +115,6 @@ declare const _default$5: react.MemoExoticComponent<typeof BetterHtmlProvider>;
116
115
 
117
116
  declare const isMobileDevice: boolean;
118
117
 
119
- type HttpMethod = "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS" | "TRACE" | "CONNECT";
120
- type CacheDirective = "no-cache" | "no-store" | "no-transform" | "only-if-cached" | "max-age" | "max-stale" | "min-fresh" | "must-revalidate" | "must-understand" | "proxy-revalidate" | "private" | "public" | "s-maxage" | "immutable" | "stale-while-revalidate" | "stale-if-error";
121
- type ConnectionDirective = "keep-alive" | "close" | "upgrade";
122
- type ContentEncoding = "gzip" | "compress" | "deflate" | "br" | "identity" | "zstd";
123
- type MediaType = "text/plain" | "text/html" | "text/css" | "text/javascript" | "text/csv" | "text/xml" | "application/json" | "application/ld+json" | "application/xml" | "application/octet-stream" | "application/pdf" | "application/zip" | "application/gzip" | "application/x-www-form-urlencoded" | "application/x-ndjson" | "multipart/form-data" | "multipart/byteranges" | "image/png" | "image/jpeg" | "image/gif" | "image/webp" | "image/svg+xml" | "image/avif" | "audio/mpeg" | "audio/ogg" | "audio/wav" | "video/mp4" | "video/ogg" | "video/webm" | "font/woff" | "font/woff2" | "font/ttf" | (string & {});
124
- type AuthScheme = `Basic ${string}` | `Bearer ${string}` | `Digest ${string}` | `NTLM ${string}` | `Negotiate ${string}` | `AWS4-HMAC-SHA256 ${string}` | AnyOtherString;
125
- type ReferrerPolicy = "no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url";
126
- type CrossOriginEmbedderPolicy = "unsafe-none" | "require-corp" | "credentialless";
127
- type CrossOriginOpenerPolicy = "unsafe-none" | "same-origin-allow-popups" | "same-origin";
128
- type CrossOriginResourcePolicy = "same-site" | "same-origin" | "cross-origin";
129
- type FetchSite = "cross-site" | "same-origin" | "same-site" | "none";
130
- type FetchMode = "cors" | "navigate" | "no-cors" | "same-origin" | "websocket";
131
- type FetchDest = "audio" | "audioworklet" | "document" | "embed" | "empty" | "font" | "frame" | "iframe" | "image" | "manifest" | "object" | "paintworklet" | "report" | "script" | "serviceworker" | "sharedworker" | "style" | "track" | "video" | "worker" | "xslt";
132
- type TransferEncoding = "chunked" | "compress" | "deflate" | "gzip" | "identity";
133
- type Preference = "respond-async" | "return=minimal" | "return=representation";
134
- type HttpHeaders = {
135
- /** Credentials to authenticate with the server. */
136
- Authorization?: AuthScheme;
137
- /** Credentials to authenticate with a proxy. */
138
- "Proxy-Authorization"?: AuthScheme;
139
- /** Which authentication methods can be used to gain access to a resource. */
140
- "WWW-Authenticate"?: string;
141
- /** Which authentication method should be used to gain access to a proxy. */
142
- "Proxy-Authenticate"?: string;
143
- /** Directives for caching mechanisms in both requests and responses. */
144
- "Cache-Control"?: CacheDirective | `${CacheDirective}, ${string}` | AnyOtherString;
145
- /** Clears browse caching and related effects for a specific response. */
146
- "Clear-Site-Data"?: '"cache"' | '"cookies"' | '"storage"' | '"executionContexts"' | '"*"' | AnyOtherString;
147
- /** Age in seconds the object has been in a proxy cache. */
148
- Age?: `${number}`;
149
- /** Date/time after which the response is considered stale. */
150
- Expires?: string;
151
- /** Implementation-specific directives. */
152
- Pragma?: "no-cache" | AnyOtherString;
153
- /** Makes the request conditional; only transmit if content has changed. */
154
- "Last-Modified"?: string;
155
- /** Identifier for a specific version of a resource. */
156
- ETag?: `"${string}"` | `W/"${string}"`;
157
- /** Makes the request conditional on the ETag matching. */
158
- "If-Match"?: `"${string}"` | "*";
159
- /** Makes the request conditional on the ETag NOT matching. */
160
- "If-None-Match"?: `"${string}"` | "*";
161
- /** Makes the request conditional on the date. */
162
- "If-Modified-Since"?: string;
163
- /** Makes the request conditional on the date (for unchanged resources). */
164
- "If-Unmodified-Since"?: string;
165
- /** Used with range requests to send missing parts only if unchanged. */
166
- "If-Range"?: `"${string}"` | string;
167
- /** Controls whether the network connection stays open after the transaction. */
168
- Connection?: ConnectionDirective | AnyOtherString;
169
- /** Controls how long a persistent connection stays open (in seconds). */
170
- "Keep-Alive"?: string;
171
- /** Informs the server about the types of data that can be sent back. */
172
- Accept?: MediaType | `${MediaType};q=${number}` | "*/*" | AnyOtherString;
173
- /** Which content encoding the client can understand. */
174
- "Accept-Encoding"?: ContentEncoding | AnyOtherString;
175
- /** Which languages the client prefers. */
176
- "Accept-Language"?: string;
177
- /** Indicates whether the client can handle HTTP/1.1 chunked transfer encoding. */
178
- TE?: TransferEncoding | AnyOtherString;
179
- /** Indicates expectations that need to be fulfilled by the server. */
180
- Expect?: "100-continue";
181
- /** The maximum number of seconds the resource is expected to take to arrive. */
182
- "Max-Forwards"?: `${number}`;
183
- /** Sends stored HTTP cookies associated with the server. */
184
- Cookie?: string;
185
- /** Sends a cookie from the server to the user-agent. */
186
- "Set-Cookie"?: string;
187
- /** Indicates where a fetch originates from. */
188
- Origin?: string;
189
- /** Indicates whether the response can be shared with requesting code from the given origin. */
190
- "Access-Control-Allow-Origin"?: "*" | AnyOtherString;
191
- /** Indicates whether the response to the request can be exposed when credentials are present. */
192
- "Access-Control-Allow-Credentials"?: "true";
193
- /** Used in response to a preflight request to indicate which headers can be used. */
194
- "Access-Control-Allow-Headers"?: "*" | AnyOtherString;
195
- /** Specifies the methods allowed when accessing the resource in response to a preflight. */
196
- "Access-Control-Allow-Methods"?: "*" | HttpMethod | AnyOtherString;
197
- /** Indicates which headers can be exposed as part of the response. */
198
- "Access-Control-Expose-Headers"?: "*" | AnyOtherString;
199
- /** Indicates how long the results of a preflight request can be cached. */
200
- "Access-Control-Max-Age"?: `${number}`;
201
- /** Used when issuing a preflight request to let the server know HTTP method will be used. */
202
- "Access-Control-Request-Headers"?: string;
203
- /** Used when issuing a preflight request to let the server know HTTP method will be used. */
204
- "Access-Control-Request-Method"?: HttpMethod;
205
- /** Indicates if the resource should be downloaded or displayed inline. */
206
- "Content-Disposition"?: "inline" | "attachment" | `attachment; filename="${string}"` | `form-data; name="${string}"` | AnyOtherString;
207
- /** The size of the resource in bytes. */
208
- "Content-Length"?: `${number}`;
209
- /** Indicates the media type of the resource. */
210
- "Content-Type"?: MediaType | `${MediaType}; charset=${string}` | `${MediaType}; boundary=${string}` | AnyOtherString;
211
- /** The encoding used on the data. */
212
- "Content-Encoding"?: ContentEncoding;
213
- /** Describes the human language(s) intended for the audience. */
214
- "Content-Language"?: string;
215
- /** Indicates an alternate location for the returned data. */
216
- "Content-Location"?: string;
217
- /** Contains information from the client-facing side of proxy servers. */
218
- Forwarded?: string;
219
- /** The originating IP address of a client connecting through a proxy. */
220
- "X-Forwarded-For"?: string;
221
- /** The original host requested by the client. */
222
- "X-Forwarded-Host"?: string;
223
- /** The protocol the client used to connect to the proxy. */
224
- "X-Forwarded-Proto"?: "http" | "https";
225
- /** Added by proxies, both forward and reverse, for tracing. */
226
- Via?: string;
227
- /** Indicates the URL to redirect a page to. */
228
- Location?: string;
229
- /** Identifies the most recent version of the resource in the context of an HTTP PUT. */
230
- "Content-Location-URI"?: string;
231
- /** Contains an Internet email address for a human user who controls the requesting user agent. */
232
- From?: string;
233
- /** The domain name of the server (for virtual hosting). */
234
- Host?: string;
235
- /** The address of the previous web page from which a link was followed. */
236
- Referer?: string;
237
- /** Governs which referrer information should be included with requests made. */
238
- "Referrer-Policy"?: ReferrerPolicy;
239
- /** Contains a characteristic string that allows network protocol peers to identify the application. */
240
- "User-Agent"?: string;
241
- /** Lists the set of HTTP request methods supported by the server. */
242
- Allow?: HttpMethod | AnyOtherString;
243
- /** Contains information about the software used by the origin server. */
244
- Server?: string;
245
- /** Indicates the date and time at which the message was originated. */
246
- Date?: string;
247
- /** Indicates if the server supports range requests, and if so what type. */
248
- "Accept-Ranges"?: "bytes" | "none";
249
- /** Indicates the part of a document that the server should return. */
250
- Range?: `bytes=${number}-${number}` | `bytes=${number}-` | AnyOtherString;
251
- /** Indicates where in a full body message a partial message belongs. */
252
- "Content-Range"?: `bytes ${number}-${number}/${number}` | `bytes */${number}` | AnyOtherString;
253
- /** Allows a site to opt in to reporting and/or enforcement of Certificate Transparency. */
254
- "Expect-CT"?: string;
255
- /** Provides a mechanism to allow and deny the use of browser features. */
256
- "Permissions-Policy"?: string;
257
- /** Allows servers to indicate that a content type should not be changed or followed. */
258
- "X-Content-Type-Options"?: "nosniff";
259
- /** Indicates whether a browser should be allowed to render a page in a <frame>, <iframe>, etc. */
260
- "X-Frame-Options"?: "DENY" | "SAMEORIGIN" | `ALLOW-FROM ${string}`;
261
- /** Enables cross-site scripting filtering (legacy). */
262
- "X-XSS-Protection"?: "0" | "1" | "1; mode=block" | `1; report=${string}`;
263
- /** Sends a signal to the server expressing the client's preference for an encrypted connection. */
264
- "Upgrade-Insecure-Requests"?: "1";
265
- /** Forces communication over HTTPS instead of HTTP. */
266
- "Strict-Transport-Security"?: `max-age=${number}` | `max-age=${number}; includeSubDomains` | `max-age=${number}; includeSubDomains; preload`;
267
- /** Indicates how a document may be loaded into a cross-origin document. */
268
- "X-Permitted-Cross-Domain-Policies"?: "none" | "master-only" | "by-content-type" | "all";
269
- /** Allows a server to define a policy to protect against certain types of attacks. */
270
- "Content-Security-Policy"?: string;
271
- /** Allows web developers to experiment with policies without enforcing them. */
272
- "Content-Security-Policy-Report-Only"?: string;
273
- /** Allows web developers to associate a specific cryptographic identity with a server. */
274
- "Public-Key-Pins"?: string;
275
- /** Sends reports of pinning violations but, unlike PKP, still allows browsers to connect. */
276
- "Public-Key-Pins-Report-Only"?: string;
277
- "Cross-Origin-Embedder-Policy"?: CrossOriginEmbedderPolicy;
278
- "Cross-Origin-Opener-Policy"?: CrossOriginOpenerPolicy;
279
- "Cross-Origin-Resource-Policy"?: CrossOriginResourcePolicy;
280
- /**
281
- * Used to send resources to the client before the server is aware they will be needed.
282
- * Example: `</style.css>; rel=preload; as=style`
283
- */
284
- Link?: string;
285
- /** Specifies the form of encoding used to safely transfer the payload body. */
286
- "Transfer-Encoding"?: TransferEncoding | AnyOtherString;
287
- /** Allows the sender to include additional fields at the end of chunked messages. */
288
- Trailer?: string;
289
- /** Upgrade from HTTP to a different protocol (e.g. WebSocket). */
290
- Upgrade?: "websocket" | "HTTP/2.0" | AnyOtherString;
291
- /** Used in the WebSocket opening handshake. */
292
- "Sec-WebSocket-Key"?: string;
293
- /** Used in the WebSocket opening handshake (server side). */
294
- "Sec-WebSocket-Accept"?: string;
295
- /** Specifies one or more protocols the client wishes to use. */
296
- "Sec-WebSocket-Protocol"?: string;
297
- /** Specifies the version of the WebSocket protocol. */
298
- "Sec-WebSocket-Version"?: "13" | AnyOtherString;
299
- /** WebSocket extensions negotiated. */
300
- "Sec-WebSocket-Extensions"?: string;
301
- /** Indicates the relationship between a request initiator's origin and its target's origin. */
302
- "Sec-Fetch-Site"?: FetchSite;
303
- /** Indicates the mode of the request. */
304
- "Sec-Fetch-Mode"?: FetchMode;
305
- /** Indicates whether the request is for an image destined for storage in a cache. */
306
- "Sec-Fetch-User"?: "?1";
307
- /** Indicates the request's destination. */
308
- "Sec-Fetch-Dest"?: FetchDest;
309
- /** Indicates the user's preference for reduced data usage. */
310
- "Save-Data"?: "on" | "off";
311
- /** Notifies the server about the network quality and conditions. */
312
- Downlink?: `${number}`;
313
- /** Notifies the server about the estimated effective connection type. */
314
- ECT?: "slow-2g" | "2g" | "3g" | "4g";
315
- /** Notifies the server about the estimated round-trip latency. */
316
- RTT?: `${number}`;
317
- /** Indicates the width of the device in CSS pixels. */
318
- "Viewport-Width"?: `${number}`;
319
- /** The DPR (Device Pixel Ratio) of the client's device. */
320
- DPR?: `${number}`;
321
- /** Indicates the device pixel ratio. */
322
- "Device-Memory"?: "0.25" | "0.5" | "1" | "2" | "4" | "8";
323
- /** Indicates the hints the server is able to use proactively. */
324
- "Accept-CH"?: string;
325
- /** Ensures a client hint can be securely sent. */
326
- "Critical-CH"?: string;
327
- /** Indicates the preferences used for the communication channel to a server. */
328
- "Server-Timing"?: string;
329
- /** Used to deliver a reduced or sanitized Timing-Allow-Origin header. */
330
- "Timing-Allow-Origin"?: "*" | AnyOtherString;
331
- /** Preferred server behavior in request processing. */
332
- Prefer?: Preference | AnyOtherString;
333
- /** The unique ID of a request, for tracing across services. */
334
- "X-Request-Id"?: string;
335
- "X-Correlation-Id"?: string;
336
- "X-Trace-Id"?: string;
337
- /** Distinguishes AJAX from non-AJAX requests in some frameworks. */
338
- "X-Requested-With"?: "XMLHttpRequest" | AnyOtherString;
339
- /** Identifies the originating IP when behind a load balancer. */
340
- "X-Real-IP"?: string;
341
- [header: `x-${string}`]: string | undefined;
342
- };
343
-
344
- type API<APIConfig> = Record<keyof APIConfig, {
345
- method: HttpMethod;
346
- path: `/${string}`;
347
- bodyWithFormData?: boolean;
348
- includeHeaders?: (keyof HttpHeaders)[];
349
- }>;
350
- type APIConfigItem = {
351
- body: any;
352
- response: any;
353
- path?: (string | number)[];
354
- query?: UrlQuery;
355
- };
356
- type UrlQuery = Record<string, string | number | boolean | (string | number)[]>;
357
- type APIResponse<Data> = {
358
- data: Data;
359
- headers: Headers;
360
- statusCode: number;
361
- statusText: string;
362
- url: string;
363
- ok: boolean;
364
- redirected: boolean;
365
- };
366
-
367
118
  type BrowserName = "firefox" | "chrome" | "safari" | "edge" | "opera";
368
119
 
369
120
  type InputFieldProps = {
@@ -541,24 +292,6 @@ declare function generateLocalStorage<LocalStorage extends object>(): {
541
292
  removeAllItems: () => void;
542
293
  };
543
294
 
544
- declare function generateApi<APIConfig extends Record<string, APIConfigItem>, APIHeaders extends HttpHeaders = HttpHeaders>(config: {
545
- /**
546
- * Do not add a trailing slash
547
- */
548
- baseUrl: string;
549
- }, apiConfig: API<APIConfig>, getHeaders?: {
550
- [HeaderName in keyof APIHeaders]?: () => APIHeaders[HeaderName];
551
- }): <EndpointName extends keyof APIConfig>(name: EndpointName, payload?: {
552
- query?: APIConfig[EndpointName]["query"];
553
- body?: APIConfig[EndpointName]["body"];
554
- path?: APIConfig[EndpointName]["path"];
555
- }) => Promise<APIResponse<APIConfig[EndpointName]["response"]>>;
556
-
557
- declare function generateEventEmitter<EventEmitter extends Record<string, any>>(): {
558
- emit: <EventName extends keyof EventEmitter>(name: EventName, data: EventEmitter[EventName] extends never ? undefined : EventEmitter[EventName]) => void;
559
- listen: <EventName extends keyof EventEmitter>(name: EventName, callback?: (data: EventEmitter[EventName]) => void) => Unsubscribe;
560
- };
561
-
562
295
  type TextAs = "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | "span" | "label";
563
296
  type TextProps<As extends TextAs = "p"> = {
564
297
  /** @default "p" */
@@ -1376,4 +1109,4 @@ type LocalStoragePluginOptions = {
1376
1109
  declare const defaultLocalStoragePluginOptions: Required<LocalStoragePluginOptions>;
1377
1110
  declare const localStoragePlugin: BetterHtmlPluginConstructor<LocalStoragePluginOptions>;
1378
1111
 
1379
- export { type API, type APIConfigItem, type APIResponse, type Alert, type AlertDisplay, type AlertDuration, type AlertType, type AlertsPluginOptions, type AppConfig, type BetterHtmlConfig, type BetterHtmlPlugin, _default$5 as BetterHtmlProvider, type BetterHtmlProviderConfig, type BrowserName, Button, type ButtonProps, Chip, type ChipProps, ColorThemeSwitch, type ColorThemeSwitchProps, type ComponentHoverStyle, type ComponentMarginProps, type ComponentPaddingProps, Div, type DivProps, _default$1 as Divider, Dropdown, type DropdownOption, type DropdownProps, Foldable, type FoldableProps, type FoldableRef, Form, type FormProps, FormRow, type FormRowProps, type HorizontalDividerProps, type HttpHeaders as HttpHeader, type HttpMethod, _default$3 as Icon, type IconProps, _default$2 as Image, type ImageProps, InputField, type InputFieldProps, _default as Label, type LabelProps, Loader, type LoaderProps, type LocalStoragePluginOptions, Modal, type ModalProps, type ModalRef, PageHeader, type PageHeaderProps, PageHolder, type PageHolderProps, Pagination, type PluginName, type ReactRouterDomPluginOptions, SideMenu, type SideMenuItem, type SideMenuProps, type TabGroup, Table, type TableColumn, type TableFilterData, type TableListFilterListItem, type TableProps, type TableRef, Tabs, type TabsProps, type TabsRef, Text, type TextAs, type TextProps, type TextareaFieldProps, _default$4 as ToggleInput, type ToggleInputProps, type ToggleInputRef, Tooltip, type TooltipProps, type TooltipRef, type UrlQuery, type VerticalDividerProps, alertControls, alertsPlugin, defaultAlertsPluginOptions, defaultLocalStoragePluginOptions, defaultReactRouterDomPluginOptions, filterHover, generateApi, generateEventEmitter, generateLocalStorage, getBrowser, getFormErrorObject, isMobileDevice, localStoragePlugin, reactRouterDomPlugin, sideMenuControls, useAlertControls, useBetterHtmlContext, useForm, useMediaQuery, usePageResize, usePageScroll, useUrlQuery };
1112
+ export { type Alert, type AlertDisplay, type AlertDuration, type AlertType, type AlertsPluginOptions, type AppConfig, type BetterHtmlConfig, type BetterHtmlPlugin, _default$5 as BetterHtmlProvider, type BetterHtmlProviderConfig, type BrowserName, Button, type ButtonProps, Chip, type ChipProps, ColorThemeSwitch, type ColorThemeSwitchProps, type ComponentHoverStyle, type ComponentMarginProps, type ComponentPaddingProps, Div, type DivProps, _default$1 as Divider, Dropdown, type DropdownOption, type DropdownProps, Foldable, type FoldableProps, type FoldableRef, Form, type FormProps, FormRow, type FormRowProps, type HorizontalDividerProps, _default$3 as Icon, type IconProps, _default$2 as Image, type ImageProps, InputField, type InputFieldProps, _default as Label, type LabelProps, Loader, type LoaderProps, type LocalStoragePluginOptions, Modal, type ModalProps, type ModalRef, PageHeader, type PageHeaderProps, PageHolder, type PageHolderProps, Pagination, type PluginName, type ReactRouterDomPluginOptions, SideMenu, type SideMenuItem, type SideMenuProps, type TabGroup, Table, type TableColumn, type TableFilterData, type TableListFilterListItem, type TableProps, type TableRef, Tabs, type TabsProps, type TabsRef, Text, type TextAs, type TextProps, type TextareaFieldProps, _default$4 as ToggleInput, type ToggleInputProps, type ToggleInputRef, Tooltip, type TooltipProps, type TooltipRef, type VerticalDividerProps, alertControls, alertsPlugin, defaultAlertsPluginOptions, defaultLocalStoragePluginOptions, defaultReactRouterDomPluginOptions, filterHover, generateLocalStorage, getBrowser, getFormErrorObject, isMobileDevice, localStoragePlugin, reactRouterDomPlugin, sideMenuControls, useAlertControls, useBetterHtmlContext, useForm, useMediaQuery, usePageResize, usePageScroll, useUrlQuery };