@smwb/ui-solid 0.5.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/headless/index.js +294 -290
- package/dist/headless/index.js.map +1 -1
- package/dist/headless/primitives/createMediaQuery.js +13 -0
- package/dist/headless/primitives/createMediaQuery.js.map +1 -0
- package/dist/headless/primitives/createPersistedJson.js +27 -0
- package/dist/headless/primitives/createPersistedJson.js.map +1 -0
- package/dist/headless/source/index.js +4 -0
- package/dist/headless/source/index.js.map +2 -2
- package/dist/headless/source/primitives/createMediaQuery.js +19 -0
- package/dist/headless/source/primitives/createMediaQuery.js.map +7 -0
- package/dist/headless/source/primitives/createPersistedJson.js +27 -0
- package/dist/headless/source/primitives/createPersistedJson.js.map +7 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +294 -290
- package/dist/index.js.map +1 -1
- package/dist/primitives/createMediaQuery.d.ts +11 -0
- package/dist/primitives/createMediaQuery.js +13 -0
- package/dist/primitives/createMediaQuery.js.map +1 -0
- package/dist/primitives/createPersistedJson.d.ts +18 -0
- package/dist/primitives/createPersistedJson.js +27 -0
- package/dist/primitives/createPersistedJson.js.map +1 -0
- package/dist/source/index.js +4 -0
- package/dist/source/index.js.map +2 -2
- package/dist/source/primitives/createMediaQuery.js +19 -0
- package/dist/source/primitives/createMediaQuery.js.map +7 -0
- package/dist/source/primitives/createPersistedJson.js +27 -0
- package/dist/source/primitives/createPersistedJson.js.map +7 -0
- package/package.json +445 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type Accessor } from "solid-js";
|
|
2
|
+
/**
|
|
3
|
+
* Reactive accessor that tracks whether a CSS media query currently matches.
|
|
4
|
+
* Always reports `false` during SSR (and on the first client render) so server
|
|
5
|
+
* and client markup line up; it updates right after hydration.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* const isMobile = createMediaQuery("(max-width: 767px)");
|
|
9
|
+
* <Show when={isMobile()}>…</Show>
|
|
10
|
+
*/
|
|
11
|
+
export declare function createMediaQuery(query: string): Accessor<boolean>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createSignal as o, onMount as c, onCleanup as i } from "solid-js";
|
|
2
|
+
import { isServer as s } from "solid-js/web";
|
|
3
|
+
function h(n) {
|
|
4
|
+
const [a, r] = o(!1);
|
|
5
|
+
return s || c(() => {
|
|
6
|
+
const e = window.matchMedia(n), t = () => r(e.matches);
|
|
7
|
+
t(), e.addEventListener("change", t), i(() => e.removeEventListener("change", t));
|
|
8
|
+
}), a;
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
h as createMediaQuery
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=createMediaQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createMediaQuery.js","sources":["../../src/primitives/createMediaQuery.ts"],"sourcesContent":["import { type Accessor, createSignal, onCleanup, onMount } from \"solid-js\";\nimport { isServer } from \"solid-js/web\";\n\n/**\n * Reactive accessor that tracks whether a CSS media query currently matches.\n * Always reports `false` during SSR (and on the first client render) so server\n * and client markup line up; it updates right after hydration.\n *\n * @example\n * const isMobile = createMediaQuery(\"(max-width: 767px)\");\n * <Show when={isMobile()}>…</Show>\n */\nexport function createMediaQuery(query: string): Accessor<boolean> {\n const [matches, setMatches] = createSignal(false);\n\n if (!isServer) {\n onMount(() => {\n const mql = window.matchMedia(query);\n const update = () => setMatches(mql.matches);\n\n update();\n mql.addEventListener(\"change\", update);\n onCleanup(() => mql.removeEventListener(\"change\", update));\n });\n }\n\n return matches;\n}\n"],"names":["createMediaQuery","query","matches","setMatches","createSignal","isServer","onMount","mql","update","onCleanup"],"mappings":";;AAYO,SAASA,EAAiBC,GAAkC;AACjE,QAAM,CAACC,GAASC,CAAU,IAAIC,EAAa,EAAK;AAEhD,SAAKC,KACHC,EAAQ,MAAM;AACZ,UAAMC,IAAM,OAAO,WAAWN,CAAK,GAC7BO,IAAS,MAAML,EAAWI,EAAI,OAAO;AAE3C,IAAAC,EAAA,GACAD,EAAI,iBAAiB,UAAUC,CAAM,GACrCC,EAAU,MAAMF,EAAI,oBAAoB,UAAUC,CAAM,CAAC;AAAA,EAC3D,CAAC,GAGIN;AACT;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSR-safe localStorage JSON IO. Centralises the window-guard + try/catch read/write boilerplate that
|
|
3
|
+
* persistent stores repeat; each caller still owns its state shape, validation, hydration flag and
|
|
4
|
+
* signals — this only handles the raw get/parse/stringify/set so a bad/absent/oversized entry never
|
|
5
|
+
* throws (it falls back). `parse` lets the caller validate/normalise the decoded value.
|
|
6
|
+
*/
|
|
7
|
+
export interface PersistedJson<T> {
|
|
8
|
+
/** Read + decode the stored value, or `fallback()` when absent/unparseable/off-DOM. */
|
|
9
|
+
read(): T;
|
|
10
|
+
/** Serialise + store the value (no-op off-DOM or on quota/disabled errors). */
|
|
11
|
+
write(value: T): void;
|
|
12
|
+
}
|
|
13
|
+
export declare function createPersistedJson<T>(opts: {
|
|
14
|
+
key: string;
|
|
15
|
+
fallback: () => T;
|
|
16
|
+
/** Optional validator/normaliser applied to the JSON-parsed value before returning it. */
|
|
17
|
+
parse?: (raw: unknown) => T;
|
|
18
|
+
}): PersistedJson<T>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
function a(i) {
|
|
2
|
+
const { key: r, fallback: t, parse: n } = i;
|
|
3
|
+
return {
|
|
4
|
+
read() {
|
|
5
|
+
if (typeof window > "u") return t();
|
|
6
|
+
try {
|
|
7
|
+
const e = window.localStorage.getItem(r);
|
|
8
|
+
if (!e) return t();
|
|
9
|
+
const o = JSON.parse(e);
|
|
10
|
+
return n ? n(o) : o;
|
|
11
|
+
} catch {
|
|
12
|
+
return t();
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
write(e) {
|
|
16
|
+
if (!(typeof window > "u"))
|
|
17
|
+
try {
|
|
18
|
+
window.localStorage.setItem(r, JSON.stringify(e));
|
|
19
|
+
} catch {
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
a as createPersistedJson
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=createPersistedJson.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createPersistedJson.js","sources":["../../src/primitives/createPersistedJson.ts"],"sourcesContent":["/**\n * SSR-safe localStorage JSON IO. Centralises the window-guard + try/catch read/write boilerplate that\n * persistent stores repeat; each caller still owns its state shape, validation, hydration flag and\n * signals — this only handles the raw get/parse/stringify/set so a bad/absent/oversized entry never\n * throws (it falls back). `parse` lets the caller validate/normalise the decoded value.\n */\nexport interface PersistedJson<T> {\n /** Read + decode the stored value, or `fallback()` when absent/unparseable/off-DOM. */\n read(): T;\n /** Serialise + store the value (no-op off-DOM or on quota/disabled errors). */\n write(value: T): void;\n}\n\nexport function createPersistedJson<T>(opts: {\n key: string;\n fallback: () => T;\n /** Optional validator/normaliser applied to the JSON-parsed value before returning it. */\n parse?: (raw: unknown) => T;\n}): PersistedJson<T> {\n const { key, fallback, parse } = opts;\n return {\n read() {\n if (typeof window === \"undefined\") return fallback();\n try {\n const raw = window.localStorage.getItem(key);\n if (!raw) return fallback();\n const decoded = JSON.parse(raw) as unknown;\n return parse ? parse(decoded) : (decoded as T);\n } catch {\n return fallback();\n }\n },\n write(value) {\n if (typeof window === \"undefined\") return;\n try {\n window.localStorage.setItem(key, JSON.stringify(value));\n } catch {\n /* quota exceeded / storage disabled — drop the write */\n }\n },\n };\n}\n"],"names":["createPersistedJson","opts","key","fallback","parse","raw","decoded","value"],"mappings":"AAaO,SAASA,EAAuBC,GAKlB;AACnB,QAAM,EAAE,KAAAC,GAAK,UAAAC,GAAU,OAAAC,EAAA,IAAUH;AACjC,SAAO;AAAA,IACL,OAAO;AACL,UAAI,OAAO,SAAW,IAAa,QAAOE,EAAA;AAC1C,UAAI;AACF,cAAME,IAAM,OAAO,aAAa,QAAQH,CAAG;AAC3C,YAAI,CAACG,EAAK,QAAOF,EAAA;AACjB,cAAMG,IAAU,KAAK,MAAMD,CAAG;AAC9B,eAAOD,IAAQA,EAAME,CAAO,IAAKA;AAAA,MACnC,QAAQ;AACN,eAAOH,EAAA;AAAA,MACT;AAAA,IACF;AAAA,IACA,MAAMI,GAAO;AACX,UAAI,SAAO,SAAW;AACtB,YAAI;AACF,iBAAO,aAAa,QAAQL,GAAK,KAAK,UAAUK,CAAK,CAAC;AAAA,QACxD,QAAQ;AAAA,QAER;AAAA,IACF;AAAA,EAAA;AAEJ;"}
|
package/dist/source/index.js
CHANGED
|
@@ -8,6 +8,8 @@ import { createCssTransition } from "./primitives/createCssTransition";
|
|
|
8
8
|
import { createDropzone } from "./primitives/createDropzone";
|
|
9
9
|
import { createVirtualList } from "./primitives/createVirtualList";
|
|
10
10
|
import { createMaskedInput } from "./primitives/createMaskedInput";
|
|
11
|
+
import { createMediaQuery } from "./primitives/createMediaQuery";
|
|
12
|
+
import { createPersistedJson } from "./primitives/createPersistedJson";
|
|
11
13
|
import { resolvePlacement, buildFloatingMiddleware, placements } from "./utils/floating";
|
|
12
14
|
import { Icon } from "./components/base/icon";
|
|
13
15
|
import { Ripple } from "./components/base/ripple";
|
|
@@ -292,6 +294,8 @@ export {
|
|
|
292
294
|
createFocusTrap,
|
|
293
295
|
createId,
|
|
294
296
|
createMaskedInput,
|
|
297
|
+
createMediaQuery,
|
|
298
|
+
createPersistedJson,
|
|
295
299
|
createTheme,
|
|
296
300
|
createTimeInput,
|
|
297
301
|
createVirtualList,
|
package/dist/source/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts"],
|
|
4
|
-
"sourcesContent": ["// Public entry point for @smwb/ui-solid.\n// Exports are added as components are ported (see src/components/**).\n\n// primitives\nexport { mergeRefs } from \"./primitives/mergeRefs\";\nexport type { Ref, RefCallback } from \"./primitives/mergeRefs\";\nexport { createId } from \"./primitives/createId\";\nexport { createControllableState } from \"./primitives/createControllableState\";\nexport type { CreateControllableStateParams } from \"./primitives/createControllableState\";\nexport { createTheme, Theme } from \"./primitives/createTheme\";\nexport { createFloating } from \"./primitives/createFloating\";\nexport type { CreateFloatingOptions, FloatingState } from \"./primitives/createFloating\";\nexport { createFocusTrap } from \"./primitives/createFocusTrap\";\nexport type { CreateFocusTrapOptions } from \"./primitives/createFocusTrap\";\nexport { createCssTransition } from \"./primitives/createCssTransition\";\nexport type { CreateCssTransitionOptions, CssTransitionState, CssTransitionClassNames } from \"./primitives/createCssTransition\";\nexport { createDropzone } from \"./primitives/createDropzone\";\nexport type { DropzoneOptions, DropzoneState } from \"./primitives/createDropzone\";\nexport { createVirtualList } from \"./primitives/createVirtualList\";\nexport type { CreateVirtualListParams, VirtualListResult } from \"./primitives/createVirtualList\";\nexport { createMaskedInput } from \"./primitives/createMaskedInput\";\nexport type { CreateMaskedInputOptions, MaskedInputState } from \"./primitives/createMaskedInput\";\n\n// utils\nexport { resolvePlacement, buildFloatingMiddleware, placements } from \"./utils/floating\";\nexport type { Placement, ResolvedPlacement } from \"./utils/floating\";\n\n// base\nexport { Icon } from \"./components/base/icon\";\nexport type { IconProps, IconColor } from \"./components/base/icon\";\nexport { Ripple } from \"./components/base/ripple\";\nexport type { RippleProps, RippleActionsRef, RippleClasses } from \"./components/base/ripple\";\nexport { AnimateHeight } from \"./components/base/animateHeight\";\nexport type { AnimateHeightProps, Height } from \"./components/base/animateHeight\";\n\n// dataDisplay\nexport { Typography } from \"./components/dataDisplay/typography\";\nexport type { TypographyProps, TypographyVariant, TypographyColor } from \"./components/dataDisplay/typography\";\nexport { Badge } from \"./components/dataDisplay/badge\";\nexport type { BadgeProps } from \"./components/dataDisplay/badge\";\nexport { Card } from \"./components/dataDisplay/card\";\nexport type { CardProps } from \"./components/dataDisplay/card\";\nexport { Chip } from \"./components/dataDisplay/chip\";\nexport type { ChipProps, ChipColor } from \"./components/dataDisplay/chip\";\nexport { LazyImage } from \"./components/dataDisplay/lazyImage\";\nexport type { LazyImageProps } from \"./components/dataDisplay/lazyImage\";\nexport { ChipGroup } from \"./components/dataDisplay/chipGroup\";\nexport type { ChipGroupProps, ChipGroupOption } from \"./components/dataDisplay/chipGroup\";\nexport { ThumbCard } from \"./components/dataDisplay/thumbCard\";\nexport type { ThumbCardProps } from \"./components/dataDisplay/thumbCard\";\nexport { AssetGrid } from \"./components/dataDisplay/assetGrid\";\nexport type { AssetGridProps } from \"./components/dataDisplay/assetGrid\";\nexport { Avatar, AvatarGroup } from \"./components/dataDisplay/avatar\";\nexport type { AvatarProps, AvatarGroupProps, AvatarSize } from \"./components/dataDisplay/avatar\";\nexport { List, ListItem } from \"./components/dataDisplay/list\";\nexport type { ListProps, ListItemProps } from \"./components/dataDisplay/list\";\nexport { Accordion } from \"./components/dataDisplay/accordion\";\nexport type { AccordionProps } from \"./components/dataDisplay/accordion\";\nexport { ExpansionPanel } from \"./components/dataDisplay/expansionPanel\";\nexport type {\n ExpansionPanelProps,\n ExpansionPanelLabels,\n ExpansionPanelRenderContext,\n ExpansionPanelControlsContext,\n ExpansionMode,\n} from \"./components/dataDisplay/expansionPanel\";\nexport {\n Table,\n TableHead,\n TableBody,\n TableRow,\n TableCell,\n TableHeadCell,\n TablePagination,\n} from \"./components/dataDisplay/table\";\nexport type {\n TableProps,\n TableHeadProps,\n TableBodyProps,\n TableRowProps,\n TableCellProps,\n TableHeadCellProps,\n TablePaginationProps,\n SortDirection,\n} from \"./components/dataDisplay/table\";\nexport { TreeView } from \"./components/dataDisplay/treeView\";\nexport type { TreeViewProps, ITreeNodeItem } from \"./components/dataDisplay/treeView\";\nexport { Carousel } from \"./components/dataDisplay/carousel\";\nexport type { CarouselProps } from \"./components/dataDisplay/carousel\";\nexport { ImagesList, ImagesListItem, ImagesListItemModal } from \"./components/dataDisplay/imagesList\";\nexport type {\n ImagesListProps,\n ImagesListItemProps,\n ImagesListItemModalProps,\n ImageItem,\n} from \"./components/dataDisplay/imagesList\";\nexport {\n Chat,\n ChatLayout,\n ChatOverlayLayout,\n ChatShell,\n ChatHeader,\n ChatMessages,\n ChatMessageItem,\n ChatMessageIncoming,\n ChatMessageOutgoing,\n ChatMessageSystem,\n ChatMessageBubble,\n ChatMessageSkeleton,\n ChatMessageStatus,\n ChatMessageAvatar,\n ChatAttachments,\n ChatAttachmentImage,\n ChatIconButton,\n ChatComposer,\n createChatInfiniteScroll,\n createChatFileUpload,\n resolveChatFileUploadMaxFiles,\n createChatStickToBottom,\n isScrolledToBottom,\n scrollChatToBottom,\n CHAT_EXPAND_LAYOUTS,\n CHAT_DEFAULT_FILE_UPLOAD_MAX_FILES,\n CHAT_MESSAGE_DELIVERY_STATUSES,\n CHAT_MESSAGE_STATUS_ICONS,\n CHAT_MESSAGE_STATUS_LABELS,\n isImageAttachment,\n formatChatTimestamp,\n resolveAllowedLayouts,\n isChatMessageDeliveryStatus,\n resolveChatMessageStatusIcon,\n resolveChatMessageStatusLabel,\n shouldComposerNewlineOnEnter,\n getChatLayoutActions,\n shouldShowChatCloseButton,\n} from \"./components/dataDisplay/chat\";\nexport type {\n ChatProps,\n ChatLayoutProps,\n ChatLayoutChatProps,\n ChatOverlayLayoutProps,\n ChatOverlayLayoutChatProps,\n ChatShellProps,\n ChatHeaderProps,\n ChatMessagesProps,\n ChatMessageItemProps,\n ChatMessageIncomingProps,\n ChatMessageOutgoingProps,\n ChatMessageSystemProps,\n ChatMessageBubbleProps,\n ChatMessageSkeletonProps,\n ChatMessageStatusProps,\n ChatMessageAvatarProps,\n ChatAttachmentsProps,\n ChatAttachmentImageProps,\n ChatIconButtonProps,\n ChatComposerProps,\n CreateChatInfiniteScrollParams,\n CreateChatFileUploadOptions,\n ChatFileUploadState,\n CreateChatStickToBottomParams,\n ChatMessage,\n ChatAttachment,\n ChatAuthor,\n ChatMessageVariant,\n ChatLayoutMode,\n ChatAnchor,\n ChatThemeMode,\n ChatMessageRenderContext,\n ChatLayoutSide,\n ChatMessageDeliveryStatus,\n ChatMessageStatusValue,\n ChatMessageStatusIcons,\n ChatMessageStatusRenderContext,\n ChatComposerNewlineOptions,\n} from \"./components/dataDisplay/chat\";\n\n// feedBack\nexport { Skeleton } from \"./components/feedBack/skeleton\";\nexport type { SkeletonProps } from \"./components/feedBack/skeleton\";\nexport { Message, MessageContainer } from \"./components/feedBack/message\";\nexport type { MessageProps, MessageSeverity } from \"./components/feedBack/message\";\nexport { ProgressIndicator, CircularProgress } from \"./components/feedBack/progressIndicator\";\nexport type { ProgressIndicatorProps, ProgressColor, CircularProgressProps } from \"./components/feedBack/progressIndicator\";\nexport { Tooltip } from \"./components/feedBack/tooltip\";\nexport type { TooltipProps, TooltipTrigger } from \"./components/feedBack/tooltip\";\nexport { Modal } from \"./components/feedBack/modal\";\nexport type { ModalProps, ModalSlotProps } from \"./components/feedBack/modal\";\nexport { SaveAssetDialog } from \"./components/feedBack/saveAssetDialog\";\nexport type { SaveAssetDialogProps } from \"./components/feedBack/saveAssetDialog\";\nexport { SnackbarProvider, Snackbar, useSnackbar } from \"./components/feedBack/snackbar\";\nexport type {\n SnackbarsProviderProps,\n SnackbarProps,\n SnackbarOptions,\n AddSnackbar,\n AddSnackbarOptions,\n Variants as SnackbarVariant,\n Position as SnackbarPosition,\n} from \"./components/feedBack/snackbar\";\n\n// utility\nexport { ClickAwayListener } from \"./components/clickAwayListener\";\nexport type { ClickAwayListenerProps } from \"./components/clickAwayListener\";\n\n// layout\nexport { Divider } from \"./components/layout/divider\";\nexport type { DividerProps, DividerColor } from \"./components/layout/divider\";\nexport { Stack } from \"./components/layout/stack\";\nexport type { StackProps, StackSpacing } from \"./components/layout/stack\";\nexport { Page } from \"./components/layout/page\";\nexport type { PageProps, PageMaxWidth } from \"./components/layout/page\";\nexport { PageHeader } from \"./components/layout/pageHeader\";\nexport type { PageHeaderProps } from \"./components/layout/pageHeader\";\nexport { Grid, Row, Column, Container } from \"./components/layout/grid\";\nexport type {\n RowProps,\n ColumnProps,\n ContainerProps,\n BreakpointType,\n ColumnSpan,\n OffsetType,\n Breakpoint,\n ResponsiveBool,\n ContainerMaxWidth,\n} from \"./components/layout/grid\";\nexport { AppLayout } from \"./components/layout/appLayout\";\nexport type { AppLayoutProps } from \"./components/layout/appLayout\";\nexport { ScreenDivider } from \"./components/layout/screenDivider\";\nexport type { ScreenDividerProps } from \"./components/layout/screenDivider\";\nexport { Sheet } from \"./components/layout/sheet\";\nexport type { SheetProps } from \"./components/layout/sheet\";\n\n// navigation\nexport { AppBar } from \"./components/navigation/appBar\";\nexport type { AppBarProps, AppBarColor } from \"./components/navigation/appBar\";\nexport { Breadcrumbs } from \"./components/navigation/breadcrumbs\";\nexport type { BreadcrumbsProps } from \"./components/navigation/breadcrumbs\";\nexport { Pagination } from \"./components/navigation/pagination\";\nexport type { PaginationProps, PaginationColor } from \"./components/navigation/pagination\";\nexport { Stepper } from \"./components/navigation/stepper\";\nexport type { StepperProps, StepItem } from \"./components/navigation/stepper\";\nexport { Sidebar } from \"./components/navigation/sidebar\";\nexport type { SidebarProps, SidebarMenuItemProps, SidebarVariant } from \"./components/navigation/sidebar\";\nexport { Tabs, Tab, TabsContext, useTabsContext } from \"./components/navigation/tabs\";\nexport type { TabsProps, TabProps, TabsContextValue } from \"./components/navigation/tabs\";\nexport { BottomBar } from \"./components/navigation/bottomBar\";\nexport type { BottomBarProps, BottomBarMenuItemProps } from \"./components/navigation/bottomBar\";\nexport {\n Menu,\n MenuFloating,\n MenuList,\n MenuItem,\n MenuItemIcon,\n MenuItemText,\n MenuDivider,\n MenuSubmenu,\n MenuContext,\n useMenuContext,\n buildMenuFloatingMiddleware,\n} from \"./components/navigation/menu\";\nexport type {\n MenuProps,\n MenuFloatingProps,\n MenuListProps,\n MenuItemProps,\n MenuItemIconProps,\n MenuItemTextProps,\n MenuDividerProps,\n MenuSubmenuProps,\n MenuContextValue,\n} from \"./components/navigation/menu\";\nexport { OverflowMenu } from \"./components/navigation/overflowMenu\";\nexport type { OverflowMenuProps, OverflowMenuItem } from \"./components/navigation/overflowMenu\";\n\n// inputs\nexport { Button } from \"./components/inputs/button\";\nexport type { ButtonProps } from \"./components/inputs/button\";\nexport { ButtonGroup } from \"./components/inputs/buttonGroups\";\nexport type { ButtonGroupProps } from \"./components/inputs/buttonGroups\";\nexport { Checkbox } from \"./components/inputs/checkbox\";\nexport type {\n CheckboxProps,\n SelectionControlSize,\n SelectionControlColor,\n SelectionChangeEvent,\n} from \"./components/inputs/checkbox\";\nexport { RadioButton } from \"./components/inputs/radioButton\";\nexport type { RadioButtonProps } from \"./components/inputs/radioButton\";\nexport { Toggle } from \"./components/inputs/toggle\";\nexport type { ToggleProps } from \"./components/inputs/toggle\";\nexport { Rating } from \"./components/inputs/rating\";\nexport type { RatingProps, RatingColor } from \"./components/inputs/rating\";\nexport { Slider } from \"./components/inputs/slider\";\nexport type { SliderProps, SliderValue, SliderMark } from \"./components/inputs/slider\";\nexport { ValueSlider } from \"./components/inputs/valueSlider\";\nexport type { ValueSliderProps } from \"./components/inputs/valueSlider\";\nexport { FileInput } from \"./components/inputs/fileInput\";\nexport type { FileInputProps } from \"./components/inputs/fileInput\";\nexport { FileDrop, PreviewWrapper, Preview, CountPreview, isImageFile } from \"./components/inputs/fileDrop\";\nexport type { FileUploadProps, PreviewWrapperProps, PreviewProps, CountPreviewProps } from \"./components/inputs/fileDrop\";\nexport { SelectField, DropdownMenu } from \"./components/inputs/selectField\";\nexport type { SelectFieldProps, OnSelectChange, DropdownItem, DropdownItemProps } from \"./components/inputs/selectField\";\nexport {\n DatePicker,\n OpenView,\n DataPickerDays,\n DataPickerHeader,\n DataPickerInput,\n DatePickerActionLabel,\n DatePickerDay,\n DatePickerIconButton,\n DatePickerList,\n createDateInput,\n} from \"./components/inputs/datePicker\";\nexport type {\n DatePickerProps,\n DataPickerDaysProps,\n DataPickerHeaderProps,\n DataPickerInputProps,\n ActionLabelProps,\n DatePickerDayProps,\n DataPickerIconButtonProps,\n DatePickerListProps,\n CreateDateInputProps,\n DateInputState,\n} from \"./components/inputs/datePicker\";\nexport { TimePicker, TimePickerInput, TimePickerColumns, createTimeInput, DEFAULT_TIME_FORMAT } from \"./components/inputs/timePicker\";\nexport type { TimePickerProps, TimePickerInputProps, TimePickerColumnsProps } from \"./components/inputs/timePicker\";\nexport {\n DateTimePicker,\n DateTimePickerInput,\n createDateTimeInput,\n getCurrentDateTimeFormat,\n getDisplayDateTime,\n formatDateTimeByPattern,\n isDateTimePatternMatch,\n parseDateTimeByPattern,\n} from \"./components/inputs/dateTimePicker\";\nexport type {\n DateTimePickerProps,\n DateTimePickerInputProps,\n CreateDateTimeInputProps,\n DateTimeInputState,\n} from \"./components/inputs/dateTimePicker\";\nexport { FloatingButton } from \"./components/inputs/floatingButton\";\nexport type { FloatingButtonProps, FloatingButtonColor } from \"./components/inputs/floatingButton\";\nexport { TextField, TextFieldWrapper, TextFieldAdornment } from \"./components/inputs/textField\";\nexport type {\n TextFieldProps,\n TextFieldWrapperProps,\n TextFieldAdornmentProps,\n TextFieldVariant,\n} from \"./components/inputs/textField\";\n"],
|
|
5
|
-
"mappings": "AAIA,SAAS,iBAAiB;AAE1B,SAAS,gBAAgB;AACzB,SAAS,+BAA+B;AAExC,SAAS,aAAa,aAAa;AACnC,SAAS,sBAAsB;AAE/B,SAAS,uBAAuB;AAEhC,SAAS,2BAA2B;AAEpC,SAAS,sBAAsB;AAE/B,SAAS,yBAAyB;AAElC,SAAS,yBAAyB;
|
|
4
|
+
"sourcesContent": ["// Public entry point for @smwb/ui-solid.\n// Exports are added as components are ported (see src/components/**).\n\n// primitives\nexport { mergeRefs } from \"./primitives/mergeRefs\";\nexport type { Ref, RefCallback } from \"./primitives/mergeRefs\";\nexport { createId } from \"./primitives/createId\";\nexport { createControllableState } from \"./primitives/createControllableState\";\nexport type { CreateControllableStateParams } from \"./primitives/createControllableState\";\nexport { createTheme, Theme } from \"./primitives/createTheme\";\nexport { createFloating } from \"./primitives/createFloating\";\nexport type { CreateFloatingOptions, FloatingState } from \"./primitives/createFloating\";\nexport { createFocusTrap } from \"./primitives/createFocusTrap\";\nexport type { CreateFocusTrapOptions } from \"./primitives/createFocusTrap\";\nexport { createCssTransition } from \"./primitives/createCssTransition\";\nexport type { CreateCssTransitionOptions, CssTransitionState, CssTransitionClassNames } from \"./primitives/createCssTransition\";\nexport { createDropzone } from \"./primitives/createDropzone\";\nexport type { DropzoneOptions, DropzoneState } from \"./primitives/createDropzone\";\nexport { createVirtualList } from \"./primitives/createVirtualList\";\nexport type { CreateVirtualListParams, VirtualListResult } from \"./primitives/createVirtualList\";\nexport { createMaskedInput } from \"./primitives/createMaskedInput\";\nexport type { CreateMaskedInputOptions, MaskedInputState } from \"./primitives/createMaskedInput\";\nexport { createMediaQuery } from \"./primitives/createMediaQuery\";\nexport { createPersistedJson } from \"./primitives/createPersistedJson\";\nexport type { PersistedJson } from \"./primitives/createPersistedJson\";\n\n// utils\nexport { resolvePlacement, buildFloatingMiddleware, placements } from \"./utils/floating\";\nexport type { Placement, ResolvedPlacement } from \"./utils/floating\";\n\n// base\nexport { Icon } from \"./components/base/icon\";\nexport type { IconProps, IconColor } from \"./components/base/icon\";\nexport { Ripple } from \"./components/base/ripple\";\nexport type { RippleProps, RippleActionsRef, RippleClasses } from \"./components/base/ripple\";\nexport { AnimateHeight } from \"./components/base/animateHeight\";\nexport type { AnimateHeightProps, Height } from \"./components/base/animateHeight\";\n\n// dataDisplay\nexport { Typography } from \"./components/dataDisplay/typography\";\nexport type { TypographyProps, TypographyVariant, TypographyColor } from \"./components/dataDisplay/typography\";\nexport { Badge } from \"./components/dataDisplay/badge\";\nexport type { BadgeProps } from \"./components/dataDisplay/badge\";\nexport { Card } from \"./components/dataDisplay/card\";\nexport type { CardProps } from \"./components/dataDisplay/card\";\nexport { Chip } from \"./components/dataDisplay/chip\";\nexport type { ChipProps, ChipColor } from \"./components/dataDisplay/chip\";\nexport { LazyImage } from \"./components/dataDisplay/lazyImage\";\nexport type { LazyImageProps } from \"./components/dataDisplay/lazyImage\";\nexport { ChipGroup } from \"./components/dataDisplay/chipGroup\";\nexport type { ChipGroupProps, ChipGroupOption } from \"./components/dataDisplay/chipGroup\";\nexport { ThumbCard } from \"./components/dataDisplay/thumbCard\";\nexport type { ThumbCardProps } from \"./components/dataDisplay/thumbCard\";\nexport { AssetGrid } from \"./components/dataDisplay/assetGrid\";\nexport type { AssetGridProps } from \"./components/dataDisplay/assetGrid\";\nexport { Avatar, AvatarGroup } from \"./components/dataDisplay/avatar\";\nexport type { AvatarProps, AvatarGroupProps, AvatarSize } from \"./components/dataDisplay/avatar\";\nexport { List, ListItem } from \"./components/dataDisplay/list\";\nexport type { ListProps, ListItemProps } from \"./components/dataDisplay/list\";\nexport { Accordion } from \"./components/dataDisplay/accordion\";\nexport type { AccordionProps } from \"./components/dataDisplay/accordion\";\nexport { ExpansionPanel } from \"./components/dataDisplay/expansionPanel\";\nexport type {\n ExpansionPanelProps,\n ExpansionPanelLabels,\n ExpansionPanelRenderContext,\n ExpansionPanelControlsContext,\n ExpansionMode,\n} from \"./components/dataDisplay/expansionPanel\";\nexport {\n Table,\n TableHead,\n TableBody,\n TableRow,\n TableCell,\n TableHeadCell,\n TablePagination,\n} from \"./components/dataDisplay/table\";\nexport type {\n TableProps,\n TableHeadProps,\n TableBodyProps,\n TableRowProps,\n TableCellProps,\n TableHeadCellProps,\n TablePaginationProps,\n SortDirection,\n} from \"./components/dataDisplay/table\";\nexport { TreeView } from \"./components/dataDisplay/treeView\";\nexport type { TreeViewProps, ITreeNodeItem } from \"./components/dataDisplay/treeView\";\nexport { Carousel } from \"./components/dataDisplay/carousel\";\nexport type { CarouselProps } from \"./components/dataDisplay/carousel\";\nexport { ImagesList, ImagesListItem, ImagesListItemModal } from \"./components/dataDisplay/imagesList\";\nexport type {\n ImagesListProps,\n ImagesListItemProps,\n ImagesListItemModalProps,\n ImageItem,\n} from \"./components/dataDisplay/imagesList\";\nexport {\n Chat,\n ChatLayout,\n ChatOverlayLayout,\n ChatShell,\n ChatHeader,\n ChatMessages,\n ChatMessageItem,\n ChatMessageIncoming,\n ChatMessageOutgoing,\n ChatMessageSystem,\n ChatMessageBubble,\n ChatMessageSkeleton,\n ChatMessageStatus,\n ChatMessageAvatar,\n ChatAttachments,\n ChatAttachmentImage,\n ChatIconButton,\n ChatComposer,\n createChatInfiniteScroll,\n createChatFileUpload,\n resolveChatFileUploadMaxFiles,\n createChatStickToBottom,\n isScrolledToBottom,\n scrollChatToBottom,\n CHAT_EXPAND_LAYOUTS,\n CHAT_DEFAULT_FILE_UPLOAD_MAX_FILES,\n CHAT_MESSAGE_DELIVERY_STATUSES,\n CHAT_MESSAGE_STATUS_ICONS,\n CHAT_MESSAGE_STATUS_LABELS,\n isImageAttachment,\n formatChatTimestamp,\n resolveAllowedLayouts,\n isChatMessageDeliveryStatus,\n resolveChatMessageStatusIcon,\n resolveChatMessageStatusLabel,\n shouldComposerNewlineOnEnter,\n getChatLayoutActions,\n shouldShowChatCloseButton,\n} from \"./components/dataDisplay/chat\";\nexport type {\n ChatProps,\n ChatLayoutProps,\n ChatLayoutChatProps,\n ChatOverlayLayoutProps,\n ChatOverlayLayoutChatProps,\n ChatShellProps,\n ChatHeaderProps,\n ChatMessagesProps,\n ChatMessageItemProps,\n ChatMessageIncomingProps,\n ChatMessageOutgoingProps,\n ChatMessageSystemProps,\n ChatMessageBubbleProps,\n ChatMessageSkeletonProps,\n ChatMessageStatusProps,\n ChatMessageAvatarProps,\n ChatAttachmentsProps,\n ChatAttachmentImageProps,\n ChatIconButtonProps,\n ChatComposerProps,\n CreateChatInfiniteScrollParams,\n CreateChatFileUploadOptions,\n ChatFileUploadState,\n CreateChatStickToBottomParams,\n ChatMessage,\n ChatAttachment,\n ChatAuthor,\n ChatMessageVariant,\n ChatLayoutMode,\n ChatAnchor,\n ChatThemeMode,\n ChatMessageRenderContext,\n ChatLayoutSide,\n ChatMessageDeliveryStatus,\n ChatMessageStatusValue,\n ChatMessageStatusIcons,\n ChatMessageStatusRenderContext,\n ChatComposerNewlineOptions,\n} from \"./components/dataDisplay/chat\";\n\n// feedBack\nexport { Skeleton } from \"./components/feedBack/skeleton\";\nexport type { SkeletonProps } from \"./components/feedBack/skeleton\";\nexport { Message, MessageContainer } from \"./components/feedBack/message\";\nexport type { MessageProps, MessageSeverity } from \"./components/feedBack/message\";\nexport { ProgressIndicator, CircularProgress } from \"./components/feedBack/progressIndicator\";\nexport type { ProgressIndicatorProps, ProgressColor, CircularProgressProps } from \"./components/feedBack/progressIndicator\";\nexport { Tooltip } from \"./components/feedBack/tooltip\";\nexport type { TooltipProps, TooltipTrigger } from \"./components/feedBack/tooltip\";\nexport { Modal } from \"./components/feedBack/modal\";\nexport type { ModalProps, ModalSlotProps } from \"./components/feedBack/modal\";\nexport { SaveAssetDialog } from \"./components/feedBack/saveAssetDialog\";\nexport type { SaveAssetDialogProps } from \"./components/feedBack/saveAssetDialog\";\nexport { SnackbarProvider, Snackbar, useSnackbar } from \"./components/feedBack/snackbar\";\nexport type {\n SnackbarsProviderProps,\n SnackbarProps,\n SnackbarOptions,\n AddSnackbar,\n AddSnackbarOptions,\n Variants as SnackbarVariant,\n Position as SnackbarPosition,\n} from \"./components/feedBack/snackbar\";\n\n// utility\nexport { ClickAwayListener } from \"./components/clickAwayListener\";\nexport type { ClickAwayListenerProps } from \"./components/clickAwayListener\";\n\n// layout\nexport { Divider } from \"./components/layout/divider\";\nexport type { DividerProps, DividerColor } from \"./components/layout/divider\";\nexport { Stack } from \"./components/layout/stack\";\nexport type { StackProps, StackSpacing } from \"./components/layout/stack\";\nexport { Page } from \"./components/layout/page\";\nexport type { PageProps, PageMaxWidth } from \"./components/layout/page\";\nexport { PageHeader } from \"./components/layout/pageHeader\";\nexport type { PageHeaderProps } from \"./components/layout/pageHeader\";\nexport { Grid, Row, Column, Container } from \"./components/layout/grid\";\nexport type {\n RowProps,\n ColumnProps,\n ContainerProps,\n BreakpointType,\n ColumnSpan,\n OffsetType,\n Breakpoint,\n ResponsiveBool,\n ContainerMaxWidth,\n} from \"./components/layout/grid\";\nexport { AppLayout } from \"./components/layout/appLayout\";\nexport type { AppLayoutProps } from \"./components/layout/appLayout\";\nexport { ScreenDivider } from \"./components/layout/screenDivider\";\nexport type { ScreenDividerProps } from \"./components/layout/screenDivider\";\nexport { Sheet } from \"./components/layout/sheet\";\nexport type { SheetProps } from \"./components/layout/sheet\";\n\n// navigation\nexport { AppBar } from \"./components/navigation/appBar\";\nexport type { AppBarProps, AppBarColor } from \"./components/navigation/appBar\";\nexport { Breadcrumbs } from \"./components/navigation/breadcrumbs\";\nexport type { BreadcrumbsProps } from \"./components/navigation/breadcrumbs\";\nexport { Pagination } from \"./components/navigation/pagination\";\nexport type { PaginationProps, PaginationColor } from \"./components/navigation/pagination\";\nexport { Stepper } from \"./components/navigation/stepper\";\nexport type { StepperProps, StepItem } from \"./components/navigation/stepper\";\nexport { Sidebar } from \"./components/navigation/sidebar\";\nexport type { SidebarProps, SidebarMenuItemProps, SidebarVariant } from \"./components/navigation/sidebar\";\nexport { Tabs, Tab, TabsContext, useTabsContext } from \"./components/navigation/tabs\";\nexport type { TabsProps, TabProps, TabsContextValue } from \"./components/navigation/tabs\";\nexport { BottomBar } from \"./components/navigation/bottomBar\";\nexport type { BottomBarProps, BottomBarMenuItemProps } from \"./components/navigation/bottomBar\";\nexport {\n Menu,\n MenuFloating,\n MenuList,\n MenuItem,\n MenuItemIcon,\n MenuItemText,\n MenuDivider,\n MenuSubmenu,\n MenuContext,\n useMenuContext,\n buildMenuFloatingMiddleware,\n} from \"./components/navigation/menu\";\nexport type {\n MenuProps,\n MenuFloatingProps,\n MenuListProps,\n MenuItemProps,\n MenuItemIconProps,\n MenuItemTextProps,\n MenuDividerProps,\n MenuSubmenuProps,\n MenuContextValue,\n} from \"./components/navigation/menu\";\nexport { OverflowMenu } from \"./components/navigation/overflowMenu\";\nexport type { OverflowMenuProps, OverflowMenuItem } from \"./components/navigation/overflowMenu\";\n\n// inputs\nexport { Button } from \"./components/inputs/button\";\nexport type { ButtonProps } from \"./components/inputs/button\";\nexport { ButtonGroup } from \"./components/inputs/buttonGroups\";\nexport type { ButtonGroupProps } from \"./components/inputs/buttonGroups\";\nexport { Checkbox } from \"./components/inputs/checkbox\";\nexport type {\n CheckboxProps,\n SelectionControlSize,\n SelectionControlColor,\n SelectionChangeEvent,\n} from \"./components/inputs/checkbox\";\nexport { RadioButton } from \"./components/inputs/radioButton\";\nexport type { RadioButtonProps } from \"./components/inputs/radioButton\";\nexport { Toggle } from \"./components/inputs/toggle\";\nexport type { ToggleProps } from \"./components/inputs/toggle\";\nexport { Rating } from \"./components/inputs/rating\";\nexport type { RatingProps, RatingColor } from \"./components/inputs/rating\";\nexport { Slider } from \"./components/inputs/slider\";\nexport type { SliderProps, SliderValue, SliderMark } from \"./components/inputs/slider\";\nexport { ValueSlider } from \"./components/inputs/valueSlider\";\nexport type { ValueSliderProps } from \"./components/inputs/valueSlider\";\nexport { FileInput } from \"./components/inputs/fileInput\";\nexport type { FileInputProps } from \"./components/inputs/fileInput\";\nexport { FileDrop, PreviewWrapper, Preview, CountPreview, isImageFile } from \"./components/inputs/fileDrop\";\nexport type { FileUploadProps, PreviewWrapperProps, PreviewProps, CountPreviewProps } from \"./components/inputs/fileDrop\";\nexport { SelectField, DropdownMenu } from \"./components/inputs/selectField\";\nexport type { SelectFieldProps, OnSelectChange, DropdownItem, DropdownItemProps } from \"./components/inputs/selectField\";\nexport {\n DatePicker,\n OpenView,\n DataPickerDays,\n DataPickerHeader,\n DataPickerInput,\n DatePickerActionLabel,\n DatePickerDay,\n DatePickerIconButton,\n DatePickerList,\n createDateInput,\n} from \"./components/inputs/datePicker\";\nexport type {\n DatePickerProps,\n DataPickerDaysProps,\n DataPickerHeaderProps,\n DataPickerInputProps,\n ActionLabelProps,\n DatePickerDayProps,\n DataPickerIconButtonProps,\n DatePickerListProps,\n CreateDateInputProps,\n DateInputState,\n} from \"./components/inputs/datePicker\";\nexport { TimePicker, TimePickerInput, TimePickerColumns, createTimeInput, DEFAULT_TIME_FORMAT } from \"./components/inputs/timePicker\";\nexport type { TimePickerProps, TimePickerInputProps, TimePickerColumnsProps } from \"./components/inputs/timePicker\";\nexport {\n DateTimePicker,\n DateTimePickerInput,\n createDateTimeInput,\n getCurrentDateTimeFormat,\n getDisplayDateTime,\n formatDateTimeByPattern,\n isDateTimePatternMatch,\n parseDateTimeByPattern,\n} from \"./components/inputs/dateTimePicker\";\nexport type {\n DateTimePickerProps,\n DateTimePickerInputProps,\n CreateDateTimeInputProps,\n DateTimeInputState,\n} from \"./components/inputs/dateTimePicker\";\nexport { FloatingButton } from \"./components/inputs/floatingButton\";\nexport type { FloatingButtonProps, FloatingButtonColor } from \"./components/inputs/floatingButton\";\nexport { TextField, TextFieldWrapper, TextFieldAdornment } from \"./components/inputs/textField\";\nexport type {\n TextFieldProps,\n TextFieldWrapperProps,\n TextFieldAdornmentProps,\n TextFieldVariant,\n} from \"./components/inputs/textField\";\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { createSignal, onCleanup, onMount } from "solid-js";
|
|
2
|
+
import { isServer } from "solid-js/web";
|
|
3
|
+
function createMediaQuery(query) {
|
|
4
|
+
const [matches, setMatches] = createSignal(false);
|
|
5
|
+
if (!isServer) {
|
|
6
|
+
onMount(() => {
|
|
7
|
+
const mql = window.matchMedia(query);
|
|
8
|
+
const update = () => setMatches(mql.matches);
|
|
9
|
+
update();
|
|
10
|
+
mql.addEventListener("change", update);
|
|
11
|
+
onCleanup(() => mql.removeEventListener("change", update));
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
return matches;
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
createMediaQuery
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=createMediaQuery.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/primitives/createMediaQuery.ts"],
|
|
4
|
+
"sourcesContent": ["import { type Accessor, createSignal, onCleanup, onMount } from \"solid-js\";\nimport { isServer } from \"solid-js/web\";\n\n/**\n * Reactive accessor that tracks whether a CSS media query currently matches.\n * Always reports `false` during SSR (and on the first client render) so server\n * and client markup line up; it updates right after hydration.\n *\n * @example\n * const isMobile = createMediaQuery(\"(max-width: 767px)\");\n * <Show when={isMobile()}>\u2026</Show>\n */\nexport function createMediaQuery(query: string): Accessor<boolean> {\n const [matches, setMatches] = createSignal(false);\n\n if (!isServer) {\n onMount(() => {\n const mql = window.matchMedia(query);\n const update = () => setMatches(mql.matches);\n\n update();\n mql.addEventListener(\"change\", update);\n onCleanup(() => mql.removeEventListener(\"change\", update));\n });\n }\n\n return matches;\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAwB,cAAc,WAAW,eAAe;AAChE,SAAS,gBAAgB;AAWlB,SAAS,iBAAiB,OAAkC;AACjE,QAAM,CAAC,SAAS,UAAU,IAAI,aAAa,KAAK;AAEhD,MAAI,CAAC,UAAU;AACb,YAAQ,MAAM;AACZ,YAAM,MAAM,OAAO,WAAW,KAAK;AACnC,YAAM,SAAS,MAAM,WAAW,IAAI,OAAO;AAE3C,aAAO;AACP,UAAI,iBAAiB,UAAU,MAAM;AACrC,gBAAU,MAAM,IAAI,oBAAoB,UAAU,MAAM,CAAC;AAAA,IAC3D,CAAC;AAAA,EACH;AAEA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
function createPersistedJson(opts) {
|
|
2
|
+
const { key, fallback, parse } = opts;
|
|
3
|
+
return {
|
|
4
|
+
read() {
|
|
5
|
+
if (typeof window === "undefined") return fallback();
|
|
6
|
+
try {
|
|
7
|
+
const raw = window.localStorage.getItem(key);
|
|
8
|
+
if (!raw) return fallback();
|
|
9
|
+
const decoded = JSON.parse(raw);
|
|
10
|
+
return parse ? parse(decoded) : decoded;
|
|
11
|
+
} catch {
|
|
12
|
+
return fallback();
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
write(value) {
|
|
16
|
+
if (typeof window === "undefined") return;
|
|
17
|
+
try {
|
|
18
|
+
window.localStorage.setItem(key, JSON.stringify(value));
|
|
19
|
+
} catch {
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
createPersistedJson
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=createPersistedJson.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/primitives/createPersistedJson.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * SSR-safe localStorage JSON IO. Centralises the window-guard + try/catch read/write boilerplate that\n * persistent stores repeat; each caller still owns its state shape, validation, hydration flag and\n * signals \u2014 this only handles the raw get/parse/stringify/set so a bad/absent/oversized entry never\n * throws (it falls back). `parse` lets the caller validate/normalise the decoded value.\n */\nexport interface PersistedJson<T> {\n /** Read + decode the stored value, or `fallback()` when absent/unparseable/off-DOM. */\n read(): T;\n /** Serialise + store the value (no-op off-DOM or on quota/disabled errors). */\n write(value: T): void;\n}\n\nexport function createPersistedJson<T>(opts: {\n key: string;\n fallback: () => T;\n /** Optional validator/normaliser applied to the JSON-parsed value before returning it. */\n parse?: (raw: unknown) => T;\n}): PersistedJson<T> {\n const { key, fallback, parse } = opts;\n return {\n read() {\n if (typeof window === \"undefined\") return fallback();\n try {\n const raw = window.localStorage.getItem(key);\n if (!raw) return fallback();\n const decoded = JSON.parse(raw) as unknown;\n return parse ? parse(decoded) : (decoded as T);\n } catch {\n return fallback();\n }\n },\n write(value) {\n if (typeof window === \"undefined\") return;\n try {\n window.localStorage.setItem(key, JSON.stringify(value));\n } catch {\n /* quota exceeded / storage disabled \u2014 drop the write */\n }\n },\n };\n}\n"],
|
|
5
|
+
"mappings": "AAaO,SAAS,oBAAuB,MAKlB;AACnB,QAAM,EAAE,KAAK,UAAU,MAAM,IAAI;AACjC,SAAO;AAAA,IACL,OAAO;AACL,UAAI,OAAO,WAAW,YAAa,QAAO,SAAS;AACnD,UAAI;AACF,cAAM,MAAM,OAAO,aAAa,QAAQ,GAAG;AAC3C,YAAI,CAAC,IAAK,QAAO,SAAS;AAC1B,cAAM,UAAU,KAAK,MAAM,GAAG;AAC9B,eAAO,QAAQ,MAAM,OAAO,IAAK;AAAA,MACnC,QAAQ;AACN,eAAO,SAAS;AAAA,MAClB;AAAA,IACF;AAAA,IACA,MAAM,OAAO;AACX,UAAI,OAAO,WAAW,YAAa;AACnC,UAAI;AACF,eAAO,aAAa,QAAQ,KAAK,KAAK,UAAU,KAAK,CAAC;AAAA,MACxD,QAAQ;AAAA,MAER;AAAA,IACF;AAAA,EACF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|