@cerberus-design/react 0.18.3 → 0.18.4
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/build/legacy/_tsup-dts-rollup.d.cts +87 -25
- package/build/legacy/components/FileStatus.cjs +34 -26
- package/build/legacy/components/FileStatus.cjs.map +1 -1
- package/build/legacy/components/Text.cjs +17 -23
- package/build/legacy/components/Text.cjs.map +1 -1
- package/build/legacy/components/checkbox/checkbox.cjs +17 -23
- package/build/legacy/components/checkbox/checkbox.cjs.map +1 -1
- package/build/legacy/components/checkbox/index.cjs +17 -23
- package/build/legacy/components/checkbox/index.cjs.map +1 -1
- package/build/legacy/components/cta-dialog/index.cjs +44 -35
- package/build/legacy/components/cta-dialog/index.cjs.map +1 -1
- package/build/legacy/components/cta-dialog/provider.cjs +44 -35
- package/build/legacy/components/cta-dialog/provider.cjs.map +1 -1
- package/build/legacy/components/date-picker/date-picker.cjs.map +1 -1
- package/build/legacy/components/date-picker/day-view.d.cts +1 -1
- package/build/legacy/components/date-picker/index.cjs +29 -21
- package/build/legacy/components/date-picker/index.cjs.map +1 -1
- package/build/legacy/components/date-picker/index.d.cts +6 -0
- package/build/legacy/components/date-picker/input.cjs +2 -2
- package/build/legacy/components/date-picker/input.cjs.map +1 -1
- package/build/legacy/components/date-picker/range-input.cjs +2 -9
- package/build/legacy/components/date-picker/range-input.cjs.map +1 -1
- package/build/legacy/components/deprecated/Label.cjs.map +1 -1
- package/build/legacy/components/dialog/close-icon-trigger.cjs.map +1 -1
- package/build/legacy/components/dialog/dialog.cjs +2 -2
- package/build/legacy/components/dialog/dialog.cjs.map +1 -1
- package/build/legacy/components/dialog/index.cjs +2 -2
- package/build/legacy/components/dialog/index.cjs.map +1 -1
- package/build/legacy/components/dialog/index.d.cts +1 -0
- package/build/legacy/components/dialog/parts.cjs +2 -2
- package/build/legacy/components/dialog/parts.cjs.map +1 -1
- package/build/legacy/components/dialog/primitives.cjs +2 -2
- package/build/legacy/components/dialog/primitives.cjs.map +1 -1
- package/build/legacy/components/field/field.cjs +15 -9
- package/build/legacy/components/field/field.cjs.map +1 -1
- package/build/legacy/components/field/helper-text.cjs +53 -0
- package/build/legacy/components/field/helper-text.cjs.map +1 -0
- package/build/legacy/components/field/helper-text.d.cts +1 -0
- package/build/legacy/components/field/index.cjs +15 -9
- package/build/legacy/components/field/index.cjs.map +1 -1
- package/build/legacy/components/field/parts.cjs +0 -1
- package/build/legacy/components/field/parts.cjs.map +1 -1
- package/build/legacy/components/field/primitives.cjs +0 -1
- package/build/legacy/components/field/primitives.cjs.map +1 -1
- package/build/legacy/context/confirm-modal.cjs +85 -58
- package/build/legacy/context/confirm-modal.cjs.map +1 -1
- package/build/legacy/context/field.cjs.map +1 -1
- package/build/legacy/context/prompt-modal.cjs +120 -118
- package/build/legacy/context/prompt-modal.cjs.map +1 -1
- package/build/legacy/index.cjs +767 -715
- package/build/legacy/index.cjs.map +1 -1
- package/build/legacy/index.d.cts +11 -0
- package/build/legacy/types.cjs.map +1 -1
- package/build/legacy/types.d.cts +1 -0
- package/build/modern/_tsup-dts-rollup.d.ts +87 -25
- package/build/modern/chunk-2U2JYN3D.js +15 -0
- package/build/modern/chunk-2U2JYN3D.js.map +1 -0
- package/build/modern/chunk-ADI4DOEW.js +17 -0
- package/build/modern/chunk-ADI4DOEW.js.map +1 -0
- package/build/modern/{chunk-GBCF6DOS.js → chunk-AN65HXHS.js} +2 -2
- package/build/modern/{chunk-Z2KBUTCO.js → chunk-BMDNCJUB.js} +2 -2
- package/build/modern/chunk-BMDNCJUB.js.map +1 -0
- package/build/modern/{chunk-F3XFJHGR.js → chunk-D7PY357P.js} +2 -2
- package/build/modern/{chunk-ILROS7ST.js → chunk-DVCTN3GN.js} +2 -2
- package/build/modern/{chunk-NP73HOHI.js → chunk-GJBUGESH.js} +3 -3
- package/build/modern/{chunk-NP73HOHI.js.map → chunk-GJBUGESH.js.map} +1 -1
- package/build/modern/{chunk-KABRV6TB.js → chunk-JXWNDJJW.js} +3 -3
- package/build/modern/{chunk-SSR3CWJZ.js → chunk-LUGOJGMO.js} +4 -4
- package/build/modern/chunk-LUGOJGMO.js.map +1 -0
- package/build/modern/{chunk-3IT3V3YA.js → chunk-M3TZCQ7J.js} +4 -4
- package/build/modern/{chunk-WEL43I6Y.js → chunk-OK3VJFQL.js} +1 -2
- package/build/modern/{chunk-WEL43I6Y.js.map → chunk-OK3VJFQL.js.map} +1 -1
- package/build/modern/{chunk-ADZRQNW3.js → chunk-P7FPAUWN.js} +3 -9
- package/build/modern/chunk-P7FPAUWN.js.map +1 -0
- package/build/modern/{chunk-OY7BOKWW.js → chunk-QBA6KLL7.js} +2 -2
- package/build/modern/chunk-RMSM3XPV.js +218 -0
- package/build/modern/chunk-RMSM3XPV.js.map +1 -0
- package/build/modern/{chunk-LEBDLXJE.js → chunk-RTLS6K4E.js} +9 -6
- package/build/modern/chunk-RTLS6K4E.js.map +1 -0
- package/build/modern/{chunk-A5UXCB4L.js → chunk-SHBKM6EW.js} +43 -34
- package/build/modern/chunk-SHBKM6EW.js.map +1 -0
- package/build/modern/{chunk-CEJIKL6N.js → chunk-T44C3KQO.js} +1 -1
- package/build/modern/chunk-T44C3KQO.js.map +1 -0
- package/build/modern/{chunk-V6EAWUCQ.js → chunk-TRT6OCHJ.js} +2 -2
- package/build/modern/chunk-WSOITM7D.js +182 -0
- package/build/modern/chunk-WSOITM7D.js.map +1 -0
- package/build/modern/chunk-ZPHPCKAG.js +41 -0
- package/build/modern/chunk-ZPHPCKAG.js.map +1 -0
- package/build/modern/components/FileStatus.js +5 -4
- package/build/modern/components/Text.js +1 -1
- package/build/modern/components/admonition/admonition.js +2 -2
- package/build/modern/components/admonition/index.js +2 -2
- package/build/modern/components/checkbox/checkbox.js +2 -2
- package/build/modern/components/checkbox/index.js +2 -2
- package/build/modern/components/cta-dialog/index.js +5 -5
- package/build/modern/components/cta-dialog/provider.js +5 -5
- package/build/modern/components/date-picker/date-picker.js +1 -1
- package/build/modern/components/date-picker/day-view.d.ts +1 -1
- package/build/modern/components/date-picker/index.d.ts +6 -0
- package/build/modern/components/date-picker/index.js +16 -5
- package/build/modern/components/date-picker/input.js +1 -1
- package/build/modern/components/date-picker/range-input.js +1 -2
- package/build/modern/components/deprecated/Label.js +5 -4
- package/build/modern/components/dialog/close-icon-trigger.js +2 -2
- package/build/modern/components/dialog/dialog.js +2 -2
- package/build/modern/components/dialog/index.d.ts +1 -0
- package/build/modern/components/dialog/index.js +4 -4
- package/build/modern/components/dialog/parts.js +2 -2
- package/build/modern/components/dialog/primitives.js +1 -1
- package/build/modern/components/field/field.js +3 -2
- package/build/modern/components/field/helper-text.d.ts +1 -0
- package/build/modern/components/field/helper-text.js +11 -0
- package/build/modern/components/field/index.js +4 -3
- package/build/modern/components/field/parts.js +2 -2
- package/build/modern/components/field/primitives.js +1 -1
- package/build/modern/components/notifications/index.js +1 -1
- package/build/modern/context/confirm-modal.js +5 -5
- package/build/modern/context/field.js +1 -1
- package/build/modern/context/prompt-modal.js +10 -9
- package/build/modern/index.d.ts +11 -0
- package/build/modern/index.js +52 -40
- package/build/modern/index.js.map +1 -1
- package/build/modern/types.d.ts +1 -0
- package/package.json +10 -9
- package/src/components/Text.tsx +20 -23
- package/src/components/cta-dialog/provider.tsx +6 -1
- package/src/components/date-picker/date-picker.tsx +8 -5
- package/src/components/date-picker/index.ts +10 -0
- package/src/components/date-picker/input.tsx +1 -1
- package/src/components/date-picker/range-input.tsx +9 -24
- package/src/components/dialog/dialog.tsx +4 -2
- package/src/components/dialog/index.ts +4 -0
- package/src/components/dialog/primitives.tsx +7 -4
- package/src/components/field/field.tsx +11 -9
- package/src/components/field/helper-text.tsx +20 -0
- package/src/components/field/primitives.tsx +0 -3
- package/src/context/confirm-modal.tsx +52 -30
- package/src/context/prompt-modal.tsx +36 -31
- package/src/types.ts +21 -0
- package/build/modern/chunk-A5UXCB4L.js.map +0 -1
- package/build/modern/chunk-ADZRQNW3.js.map +0 -1
- package/build/modern/chunk-CEJIKL6N.js.map +0 -1
- package/build/modern/chunk-DHKSNGQX.js +0 -156
- package/build/modern/chunk-DHKSNGQX.js.map +0 -1
- package/build/modern/chunk-L64HQGLQ.js +0 -47
- package/build/modern/chunk-L64HQGLQ.js.map +0 -1
- package/build/modern/chunk-LEBDLXJE.js.map +0 -1
- package/build/modern/chunk-P7DWMM56.js +0 -210
- package/build/modern/chunk-P7DWMM56.js.map +0 -1
- package/build/modern/chunk-SSR3CWJZ.js.map +0 -1
- package/build/modern/chunk-U3ISYEUF.js +0 -1
- package/build/modern/chunk-Z2KBUTCO.js.map +0 -1
- /package/build/modern/{chunk-GBCF6DOS.js.map → chunk-AN65HXHS.js.map} +0 -0
- /package/build/modern/{chunk-F3XFJHGR.js.map → chunk-D7PY357P.js.map} +0 -0
- /package/build/modern/{chunk-ILROS7ST.js.map → chunk-DVCTN3GN.js.map} +0 -0
- /package/build/modern/{chunk-KABRV6TB.js.map → chunk-JXWNDJJW.js.map} +0 -0
- /package/build/modern/{chunk-3IT3V3YA.js.map → chunk-M3TZCQ7J.js.map} +0 -0
- /package/build/modern/{chunk-OY7BOKWW.js.map → chunk-QBA6KLL7.js.map} +0 -0
- /package/build/modern/{chunk-V6EAWUCQ.js.map → chunk-TRT6OCHJ.js.map} +0 -0
- /package/build/modern/{chunk-U3ISYEUF.js.map → components/field/helper-text.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/cta-dialog/provider.tsx","../../../../src/context/cerberus.tsx","../../../../src/components/Show.tsx","../../../../src/components/for.tsx","../../../../src/utils/index.ts","../../../../src/components/avatar/primitives.tsx","../../../../src/components/avatar/parts.ts","../../../../src/components/avatar/avatar.tsx","../../../../src/components/dialog/primitives.tsx","../../../../src/components/IconButton.tsx","../../../../src/components/dialog/close-icon-trigger.tsx","../../../../src/components/Portal.tsx","../../../../src/components/dialog/dialog.tsx","../../../../src/components/cta-dialog/context.tsx","../../../../src/components/cta-dialog/trigger-item.tsx","../../../../src/components/button/button.tsx"],"sourcesContent":["'use client'\n\nimport {\n useCallback,\n useContext,\n useMemo,\n useState,\n type MouseEvent,\n type PropsWithChildren,\n type ReactNode,\n} from 'react'\nimport { HStack, VStack } from 'styled-system/jsx'\nimport { useCerberusContext } from '../../context/cerberus'\nimport { Show } from '../Show'\nimport { For } from '../for'\nimport { Avatar } from '../avatar/avatar'\nimport {\n Dialog,\n DialogDescription,\n DialogHeading,\n DialogProvider,\n} from '../dialog'\nimport { DialogCloseIconTrigger } from '../dialog/close-icon-trigger'\nimport type { CTAButtonAction, CTAModalActionReturn } from './utils'\nimport {\n CTAModalContext,\n type CTAModalValue,\n type ShowCTAModalOptions,\n} from './context'\nimport { TriggerItem } from './trigger-item'\n\n/**\n * This module provides the provider and hook for the cta modal.\n * @module 'react/cta-modal/provider'\n */\n\n/**\n * Provides a CTA modal to the app.\n * @see https://cerberus.digitalu.design/react/cta-modal\n * @example\n * ```tsx\n * // Wrap the Provider around the root of the feature.\n * <CTAModal>\n * <SomeFeatureSection />\n * </CTAModal>\n *\n * // Use the hook to show the cta modal.\n * const cta = useCTAModal()\n *\n * const handleClick = useCallback(async () => {\n * const userConsent = await cta.show({\n * heading: 'Create or copy a Cohort',\n * description:\n * 'Create a new cohort or copy and existing one.',\n * icon: <Copy size={24} />,\n * actions: [\n * {\n * text: 'Create Cohort',\n * onClick: () => {},\n * {\n * text: 'Copy Cohort',\n * onClick: () => {}\n * }\n * })\n * setConsent(userConsent)\n * }, [cta])\n * ```\n */\nexport function CTAModal(props: PropsWithChildren<object>) {\n const [open, setOpen] = useState<boolean>(false)\n const [content, setContent] = useState<ShowCTAModalOptions | null>(null)\n const confirmIcon = content?.icon\n\n const { icons } = useCerberusContext()\n const { confirmModal: FallbackIcon } = icons\n\n const handleShow = useCallback(\n (options: ShowCTAModalOptions) => {\n setContent({ ...options })\n setOpen(true)\n },\n [setOpen],\n )\n\n const handleActionClick = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n const index = Number(event.currentTarget.getAttribute('data-index'))\n const contentActions = content?.actions as CTAModalActionReturn\n const action = contentActions._actions[index] as CTAButtonAction\n action?.handleClick?.(event)\n setOpen(false)\n },\n [content, setOpen],\n )\n\n const value = useMemo(\n () => ({\n show: handleShow,\n }),\n [handleShow],\n )\n\n return (\n <CTAModalContext.Provider value={value}>\n {props.children}\n\n <DialogProvider open={open} onOpenChange={(e) => setOpen(e.open)}>\n <Dialog size=\"sm\">\n <DialogCloseIconTrigger />\n\n <VStack gap=\"xl\" w=\"full\">\n <VStack alignItems=\"flex-start\" gap=\"md\" w=\"full\">\n <VStack gap=\"lg\" w=\"full\">\n <Avatar\n gradient=\"charon-light\"\n fallback={\n <Show\n when={confirmIcon}\n fallback={<FallbackIcon size={24} />}\n >\n {confirmIcon}\n </Show>\n }\n />\n <DialogHeading>{content?.heading}</DialogHeading>\n <DialogDescription>{content?.description}</DialogDescription>\n </VStack>\n </VStack>\n\n <HStack gap=\"md\" w=\"full\">\n <For each={content?.actions._actions}>\n {(action, index) => (\n <Show\n key={index}\n when={content?.actions?.type === 'btnAction'}\n fallback={\n <TriggerItem asChild>{action as ReactNode}</TriggerItem>\n }\n >\n <TriggerItem data-index={index} onClick={handleActionClick}>\n {(action as CTAButtonAction)?.text}\n </TriggerItem>\n </Show>\n )}\n </For>\n </HStack>\n </VStack>\n </Dialog>\n </DialogProvider>\n </CTAModalContext.Provider>\n )\n}\n\nexport function useCTAModal(): CTAModalValue {\n const context = useContext(CTAModalContext)\n if (context === null) {\n throw new Error('useCTAModal must be used within a CTAModal Provider')\n }\n return context\n}\n","'use client'\n\nimport { createContext, useContext, type PropsWithChildren } from 'react'\nimport type { SystemConfig } from '../config'\n\n/**\n * This module contains the Cerberus configuration context and helpers.\n * @module context/cerberus\n */\n\ntype CerberusContextValue = SystemConfig\n\nconst CerberusContext = createContext<CerberusContextValue | null>(null)\n\ninterface CerberusProviderProps {\n config: SystemConfig\n}\n\n/**\n * Cerberus configuration provider.\n * @param props.config The Cerberus configuration created with\n * `makeSystemConfig` helper.\n */\nexport function CerberusProvider(\n props: PropsWithChildren<CerberusProviderProps>,\n) {\n return (\n <CerberusContext.Provider value={props.config}>\n {props.children}\n </CerberusContext.Provider>\n )\n}\n\n/**\n * Returns the Cerberus configuration context.\n * @returns The Cerberus configuration context.\n */\nexport function useCerberusContext() {\n const context = useContext(CerberusContext)\n if (!context) {\n throw new Error('useCerberus must be used within a CerberusProvider')\n }\n return context\n}\n","import { type PropsWithChildren, type ReactNode } from 'react'\n\n/**\n * This module contains the Show component.\n * @module\n */\n\nexport interface ShowProps<T> {\n /**\n * The condition to render memoized children or the fallback content.\n */\n when: T | boolean | null | undefined\n /**\n * The children to render when the condition is false.\n */\n fallback?: ReactNode\n}\n\n/**\n * Conditionally render a memoized version of the children or optional fallback\n * content.\n * @see https://cerberus.digitalu.design/react/show\n * @example\n * ```tsx\n * <Show when={isLoggedIn} fallback={<Navigate to=\"/login\" />}>\n * <Dashboard />\n * </Show>\n */\nexport function Show<T>(props: PropsWithChildren<ShowProps<T>>) {\n const { when, children, fallback } = props\n\n if (when) {\n return <>{children}</>\n }\n\n if (fallback) {\n return <>{fallback}</>\n }\n\n return null\n}\n","import type { ReactNode, JSX } from 'react'\n\nexport interface ForProps<T extends readonly unknown[], U extends JSX.Element> {\n /**\n * The array to iterate over.\n */\n each: T | undefined | null | false\n /**\n * The fallback to render when the array is empty.\n */\n fallback?: JSX.Element\n /**\n * The children to render for each item in the array.\n */\n children: (item: T[number], index: number) => U\n}\n\n/**\n * The For component is used to iterate over an array and render a list of\n * components or display a fallback when the array is empty.\n * Inspired by the `<For>` component from SolidJS.\n *\n * @example\n * ```tsx\n * <For each={['a', 'b', 'c']}>\n * {(item, index) => <div key={index}>{item}</div>}\n * </For>\n * ```\n */\nexport function For<T extends readonly unknown[], U extends JSX.Element>(\n props: ForProps<T, U>,\n) {\n if (!props.each || !props.each.length) {\n return props.fallback || null\n }\n\n return <>{props.each?.map(props.children) as ReactNode}</>\n}\n","/**\n * This module contains utility functions that are used across your app.\n * @module Utils\n */\n\n/**\n * Formats the count of notifications to be displayed in the notification badge.\n * @param count - The number of notifications.\n * @returns The formatted count of notifications.\n * @example\n * ```tsx\n * const count = formatNotifyCount(100)\n * console.log(count) // '99+'\n * ```\n */\nexport function formatNotifyCount(count: number): string {\n if (count > 99) return '99+'\n return count.toString()\n}\n\n/**\n * Splits the properties of an object into multiple groups based on lists of keys.\n * @param props - The object to split.\n * @param keyGroups - The lists of keys to include in each group.\n * @returns An array of objects: each containing the properties specified in the corresponding key group, and the last object containing the remaining keys.\n */\nexport function splitProps<T extends object>(\n props: T,\n ...keyGroups: (keyof T)[][]\n): { [K in keyof T]?: T[K] }[] {\n const result = keyGroups.map(() => ({}) as { [K in keyof T]?: T[K] })\n const rest = {} as { [K in keyof T]?: T[K] }\n\n for (const key in props) {\n let assigned = false\n for (let i = 0; i < keyGroups.length; i++) {\n if (keyGroups[i].includes(key as keyof T)) {\n result[i][key as keyof T] = props[key]\n assigned = true\n break\n }\n }\n if (!assigned) {\n rest[key as keyof T] = props[key]\n }\n }\n\n return [...result, rest]\n}\n\nexport * from './localStorage'\n","import {\n Avatar,\n type AvatarFallbackProps,\n type AvatarImageProps,\n type AvatarRootProps,\n} from '@ark-ui/react/avatar'\nimport { avatar, type AvatarVariantProps } from 'styled-system/recipes'\nimport { cx } from 'styled-system/css'\n\n/**\n * This module provides the primitive components for the Avatar component.\n * @module 'avatar/primitives'\n */\n\n/**\n * The root component of the Avatar.\n */\nexport function AvatarRoot(props: AvatarRootProps & AvatarVariantProps) {\n const { gradient, shape, size, ...rootProps } = props\n const styles = avatar({ gradient, shape, size })\n return (\n <Avatar.Root\n {...rootProps}\n className={cx(styles.root, rootProps.className)}\n />\n )\n}\n\n/**\n * The image component of the Avatar.\n */\nexport function AvatarImage(props: AvatarImageProps) {\n const styles = avatar()\n return (\n <Avatar.Image {...props} className={cx(styles.image, props.className)} />\n )\n}\n\n/**\n * The fallback component of the Avatar.\n */\nexport function AvatarFallback(props: AvatarFallbackProps) {\n const styles = avatar()\n return (\n <Avatar.Fallback\n {...props}\n className={cx(styles.fallback, props.className)}\n />\n )\n}\n","import type { ElementType } from 'react'\nimport { AvatarFallback, AvatarImage, AvatarRoot } from './primitives'\n\n/**\n * This module contains the parts of the Avatar component.\n * @module 'avatar/parts'\n */\n\ninterface AvatarPartsValue {\n /**\n * The context provider of the Avatar.\n */\n Root: ElementType\n /**\n * The image of the Avatar.\n */\n Image: ElementType\n /**\n * The fallback content to display when the image fails to load.\n */\n Fallback: ElementType\n}\n\n/**\n * An Object containing the parts of the Accordion component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the AvatarParts object and\n * the entire family of components vs. only what you use.\n */\nexport const AvatarParts: AvatarPartsValue = {\n Root: AvatarRoot,\n Image: AvatarImage,\n Fallback: AvatarFallback,\n}\n","import type { AvatarRootProps } from '@ark-ui/react/avatar'\nimport type { AvatarVariantProps } from 'styled-system/recipes'\nimport type { ReactNode } from 'react'\nimport { splitProps } from '../../utils'\nimport { Show } from '../Show'\nimport { AvatarParts } from './parts'\n\n/**\n * This module provides an abstraction of the Avatar primitives.\n * @module 'avatar'\n */\n\nexport interface AvatarWithoutImage\n extends AvatarRootProps,\n AvatarVariantProps {\n alt?: never\n src?: never\n fallback?: ReactNode\n}\n\nexport interface AvatarWithImage extends AvatarRootProps, AvatarVariantProps {\n alt: string\n src: string\n fallback?: ReactNode\n}\n\n/**\n * Avatar component is an abstraction of the primitives that displays a\n * avatar or it's fallback when the image fails to load.\n * @description [Cerberus Docs](https://cerberus.digitalu.design/react/avatar/overview)\n * @description [Ark Docs](https://ark-ui.com/react/docs/components/avatar#api-reference)\n */\nexport function Avatar(props: AvatarWithoutImage | AvatarWithImage) {\n const [imgProps, { fallback, children }, rootProps] = splitProps(\n props,\n ['alt', 'src'],\n ['fallback', 'children'],\n )\n\n return (\n <AvatarParts.Root {...rootProps}>\n <Show\n when={children}\n fallback={\n <>\n <AvatarParts.Fallback>{fallback}</AvatarParts.Fallback>\n <AvatarParts.Image {...imgProps} />\n </>\n }\n >\n {children}\n </Show>\n </AvatarParts.Root>\n )\n}\n","import {\n Dialog,\n type DialogBackdropProps,\n type DialogContentProps,\n type DialogDescriptionProps,\n type DialogPositionerProps,\n type DialogRootProps,\n type DialogTitleProps,\n type DialogTriggerProps,\n} from '@ark-ui/react/dialog'\nimport { cx } from 'styled-system/css'\nimport { dialog, type DialogVariantProps } from 'styled-system/recipes'\n\n/**\n * This module contains the primitives of the Dialog component.\n * @module 'dialog/primitives'\n */\n\n/**\n * The provider that controls the dialog components.\n */\nexport function DialogRoot(props: DialogRootProps) {\n return <Dialog.Root {...props} />\n}\n\n/**\n * The trigger that opens the dialog.\n */\nexport function DialogTrigger(props: DialogTriggerProps) {\n const styles = dialog()\n return (\n <Dialog.Trigger\n {...props}\n className={cx(styles.trigger, props.className)}\n />\n )\n}\n\n/**\n * The overlay of the dialog.\n */\nexport function DialogBackdrop(props: DialogBackdropProps) {\n const styles = dialog()\n return (\n <Dialog.Backdrop\n {...props}\n className={cx(styles.backdrop, props.className)}\n />\n )\n}\n\n/**\n * The container that positions the dialog.\n */\nexport function DialogPositioner(props: DialogPositionerProps) {\n const styles = dialog()\n return (\n <Dialog.Positioner\n {...props}\n className={cx(styles.positioner, props.className)}\n />\n )\n}\n\n/**\n * The visible content of the dialog.\n */\nexport function DialogContent(props: DialogContentProps & DialogVariantProps) {\n const { size, ...contentProps } = props\n const styles = dialog({ size })\n return (\n <Dialog.Content\n {...contentProps}\n className={cx(styles.content, contentProps.className)}\n />\n )\n}\n\n/**\n * The heading of the dialog.\n */\nexport function DialogHeading(props: DialogTitleProps) {\n const styles = dialog()\n return (\n <Dialog.Title {...props} className={cx(styles.title, props.className)} />\n )\n}\n\n/**\n * The description of the dialog.\n */\nexport function DialogDescription(props: DialogDescriptionProps) {\n const styles = dialog()\n return (\n <Dialog.Description\n {...props}\n className={cx(styles.description, props.className)}\n />\n )\n}\n\n/**\n * The trigger that closes the dialog.\n */\nexport function DialogCloseTrigger(props: DialogTriggerProps) {\n return <Dialog.CloseTrigger {...props} />\n}\n\n/**\n * The provider that controls the dialog components. This is a named export of\n * the DialogRoot primitive.\n */\nexport const DialogProvider = DialogRoot\n","import { ark, type HTMLArkProps } from '@ark-ui/react/factory'\nimport { cx } from 'styled-system/css'\nimport { iconButton, type IconButtonVariantProps } from 'styled-system/recipes'\n\n/**\n * This module contains the Icon Button component.\n * @module\n */\n\nexport interface IconButtonRawProps extends HTMLArkProps<'button'> {\n /**\n * The aria-label attribute for the icon button.\n */\n ariaLabel: string\n}\nexport type IconButtonProps = IconButtonRawProps & IconButtonVariantProps\n\n/**\n * A component that allows the user to perform actions using an icon\n * @see https://cerberus.digitalu.design/react/icon-button\n */\nexport function IconButton(props: IconButtonProps) {\n const { ariaLabel, palette, usage, size, ...nativeProps } = props\n return (\n <ark.button\n {...nativeProps}\n aria-label={ariaLabel ?? 'Icon Button'}\n className={cx(\n nativeProps.className,\n iconButton({\n palette,\n usage,\n size,\n }),\n )}\n />\n )\n}\n","'use client'\n\nimport { type DialogCloseTriggerProps } from '@ark-ui/react/dialog'\nimport { useCerberusContext } from '../../context/cerberus'\nimport { IconButton } from '../IconButton'\nimport { DialogCloseTrigger } from './primitives'\nimport { dialog } from 'styled-system/recipes'\nimport { cx } from 'styled-system/css'\n\n/**\n * This module contains the close trigger for the dialog.\n * @module react/dialog\n */\n\nexport function DialogCloseIconTrigger(props: DialogCloseTriggerProps) {\n const styles = dialog()\n\n const { icons } = useCerberusContext()\n const { close: CloseIcon } = icons\n\n return (\n <DialogCloseTrigger\n {...props}\n className={cx(styles.closeTrigger, props.className)}\n asChild\n >\n <IconButton\n ariaLabel=\"Close dialog\"\n palette=\"action\"\n size=\"lg\"\n usage=\"ghost\"\n >\n <CloseIcon />\n </IconButton>\n </DialogCloseTrigger>\n )\n}\n","import { Portal as ArkPortal, type PortalProps } from '@ark-ui/react'\nimport type { PropsWithChildren } from 'react'\n\n/**\n * This module is the Portal component.\n * @module\n */\n\nexport type { PortalProps }\n\n/**\n * The Portal component is used to render children into a DOM node that exists outside the DOM hierarchy of the parent component.\n * @see https://cerberus.digitalu.design/react/portal\n * @definition [React Portal Docs](https://react.dev/reference/react-dom/createPortal)\n * @example\n * ```tsx\n * 'use client'\n *\n * import { Portal } from '@cerberus/react'\n *\n * function SomeFeatureWithinSSRPage() {\n * return (\n * <Portal>\n * <div>Portal Content outside of the React VDom tree</div>\n * </Portal>\n * )\n * }\n */\nexport function Portal(props: PropsWithChildren<PortalProps>) {\n return <ArkPortal {...props} />\n}\n","import type { DialogContentProps } from '@ark-ui/react/dialog'\nimport type { DialogVariantProps } from 'styled-system/recipes'\nimport { Portal } from '../Portal'\nimport { DialogBackdrop, DialogContent, DialogPositioner } from './primitives'\n\n/**\n * This module contains and abstraction of the Dialog primitives.\n * @module 'dialog'\n */\n\nexport interface DialogProps\n extends Omit<DialogContentProps, 'size'>,\n DialogVariantProps {}\n\n/**\n * An abstraction of the Dialog primitives that controls the content of the\n * dialog. Must be used within the `DialogProvider` component.\n * @definition [Dialog docs](https://cerberus.digitalu.design/react/dialog)\n * @definition [Ark Dialog docs](https://ark-ui.com/react/docs/components/dialog)\n * @example\n * ```tsx\n * <DialogProvider>\n * <DialogTrigger asChild>\n * <Button>Open Dialog</Button>\n * </DialogTrigger>\n * <Dialog>\n * <Text>Dialog Content</Text>\n * </Dialog>\n * </DialogProvider>\n * ```\n */\nexport function Dialog(props: DialogProps) {\n return (\n <Portal>\n <DialogBackdrop />\n <DialogPositioner>\n <DialogContent {...props} />\n </DialogPositioner>\n </Portal>\n )\n}\n","'use client'\n\nimport { createContext, type ReactNode } from 'react'\nimport type { CTAModalActionReturn } from './utils'\n\n/**\n * This module provides the context for the cta modal.\n * @module\n */\n\nexport interface ShowCTAModalOptions {\n /**\n * The heading of the cta modal.\n */\n heading: string\n /**\n * The description of the cta modal.\n */\n description?: string\n /**\n * The icon used for the modal Avatar.\n */\n icon?: ReactNode\n /**\n * The actions for the cta modal. Requires 2 actions.\n */\n actions: CTAModalActionReturn\n}\n\nexport interface CTAModalValue {\n show: (options: ShowCTAModalOptions) => void\n}\n\nexport const CTAModalContext = createContext<CTAModalValue | null>(null)\n","import { css, cx } from 'styled-system/css'\nimport { Button, type ButtonProps } from '../button/button'\nimport { ark } from '@ark-ui/react/factory'\nimport { button } from 'styled-system/recipes'\n\n/**\n * This module provides the trigger item for the cta modal.\n * @module 'react/cta-modal/trigger-item'\n */\n\nexport interface TriggerItemProps extends ButtonProps {\n asChild?: boolean\n}\n\n/**\n * Trigger item for the cta modal which renders content based on the actions.\n * type.\n */\nexport function TriggerItem(props: TriggerItemProps) {\n const { asChild, children, ...buttonProps } = props\n\n if (asChild) {\n return (\n <ark.div\n className={cx(\n button({\n shape: 'rounded',\n usage: 'ghost',\n }),\n css({\n w: '1/2',\n }),\n )}\n asChild\n >\n {children}\n </ark.div>\n )\n }\n\n return (\n <Button\n {...buttonProps}\n className={css({\n w: '1/2',\n })}\n shape=\"rounded\"\n usage=\"outlined\"\n >\n {children}\n </Button>\n )\n}\n","'use client'\n\nimport { ark, type HTMLArkProps } from '@ark-ui/react/factory'\nimport {\n type PropsWithChildren,\n createContext,\n useContext,\n useMemo,\n} from 'react'\nimport { cx } from 'styled-system/css'\nimport { button, type ButtonVariantProps } from 'styled-system/recipes'\nimport { Box } from 'styled-system/jsx'\nimport { Show } from '../Show'\nimport { Spinner } from '../Spinner'\n\n/**\n * This module contains the Button component.\n * @module\n */\n\ninterface ButtonContextValue {\n pending: boolean\n}\n\nconst ButtonContext = createContext<ButtonContextValue>({\n pending: false,\n})\n\nexport type ButtonProps = HTMLArkProps<'button'> &\n ButtonVariantProps & {\n pending?: boolean\n }\n\n/**\n * A component that allows the user to perform actions\n * @see https://cerberus.digitalu.design/react/button\n */\nexport function Button(props: ButtonProps) {\n const { palette, usage, shape, size, pending = false, ...nativeProps } = props\n const value = useMemo(() => ({ pending }), [pending])\n\n return (\n <ButtonContext.Provider value={value}>\n <ark.button\n {...nativeProps}\n disabled={pending || nativeProps.disabled}\n className={cx(\n nativeProps.className,\n button({\n palette,\n usage,\n shape,\n size,\n }),\n )}\n />\n </ButtonContext.Provider>\n )\n}\n\n/**\n * An icon to display in a button that utilizes the pending state to display\n * a loading spinner.\n */\nexport function ButtonIcon(props: PropsWithChildren<object>) {\n const { pending } = useContext(ButtonContext)\n return (\n <Show when={pending} fallback={<>{props.children}</>}>\n <Box w=\"4\">\n <Spinner />\n </Box>\n </Show>\n )\n}\n"],"mappings":"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","names":["import_react","import_jsx","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","Avatar","import_css","import_recipes","import_jsx_runtime","import_css","import_recipes","import_jsx_runtime","import_recipes","import_css","import_jsx_runtime","import_react","import_jsx_runtime","ArkPortal","import_jsx_runtime","Dialog","import_react","import_css","import_factory","import_react","import_css","import_recipes","import_jsx_runtime","import_factory","import_recipes","import_jsx_runtime","import_jsx_runtime","Dialog","Avatar"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/cta-dialog/provider.tsx","../../../../src/context/cerberus.tsx","../../../../src/components/Show.tsx","../../../../src/components/for.tsx","../../../../src/utils/index.ts","../../../../src/components/avatar/primitives.tsx","../../../../src/components/avatar/parts.ts","../../../../src/components/avatar/avatar.tsx","../../../../src/components/dialog/primitives.tsx","../../../../src/components/IconButton.tsx","../../../../src/components/dialog/close-icon-trigger.tsx","../../../../src/components/Portal.tsx","../../../../src/components/dialog/dialog.tsx","../../../../src/components/cta-dialog/context.tsx","../../../../src/components/cta-dialog/trigger-item.tsx","../../../../src/components/button/button.tsx"],"sourcesContent":["'use client'\n\nimport {\n useCallback,\n useContext,\n useMemo,\n useState,\n type MouseEvent,\n type PropsWithChildren,\n type ReactNode,\n} from 'react'\nimport { HStack, VStack } from 'styled-system/jsx'\nimport { useCerberusContext } from '../../context/cerberus'\nimport { Show } from '../Show'\nimport { For } from '../for'\nimport { Avatar } from '../avatar/avatar'\nimport {\n Dialog,\n DialogDescription,\n DialogHeading,\n DialogProvider,\n} from '../dialog'\nimport { DialogCloseIconTrigger } from '../dialog/close-icon-trigger'\nimport type { CTAButtonAction, CTAModalActionReturn } from './utils'\nimport {\n CTAModalContext,\n type CTAModalValue,\n type ShowCTAModalOptions,\n} from './context'\nimport { TriggerItem } from './trigger-item'\n\n/**\n * This module provides the provider and hook for the cta modal.\n * @module 'react/cta-modal/provider'\n */\n\n/**\n * Provides a CTA modal to the app.\n * @see https://cerberus.digitalu.design/react/cta-modal\n * @example\n * ```tsx\n * // Wrap the Provider around the root of the feature.\n * <CTAModal>\n * <SomeFeatureSection />\n * </CTAModal>\n *\n * // Use the hook to show the cta modal.\n * const cta = useCTAModal()\n *\n * const handleClick = useCallback(async () => {\n * const userConsent = await cta.show({\n * heading: 'Create or copy a Cohort',\n * description:\n * 'Create a new cohort or copy and existing one.',\n * icon: <Copy size={24} />,\n * actions: [\n * {\n * text: 'Create Cohort',\n * onClick: () => {},\n * {\n * text: 'Copy Cohort',\n * onClick: () => {}\n * }\n * })\n * setConsent(userConsent)\n * }, [cta])\n * ```\n */\nexport function CTAModal(props: PropsWithChildren<object>) {\n const [open, setOpen] = useState<boolean>(false)\n const [content, setContent] = useState<ShowCTAModalOptions | null>(null)\n const confirmIcon = content?.icon\n\n const { icons } = useCerberusContext()\n const { confirmModal: FallbackIcon } = icons\n\n const handleShow = useCallback(\n (options: ShowCTAModalOptions) => {\n setContent({ ...options })\n setOpen(true)\n },\n [setOpen],\n )\n\n const handleActionClick = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n const index = Number(event.currentTarget.getAttribute('data-index'))\n const contentActions = content?.actions as CTAModalActionReturn\n const action = contentActions._actions[index] as CTAButtonAction\n action?.handleClick?.(event)\n setOpen(false)\n },\n [content, setOpen],\n )\n\n const value = useMemo(\n () => ({\n show: handleShow,\n }),\n [handleShow],\n )\n\n return (\n <CTAModalContext.Provider value={value}>\n {props.children}\n\n <DialogProvider open={open} onOpenChange={(e) => setOpen(e.open)}>\n <Dialog\n size=\"sm\"\n style={{\n '--dialog-content-min-h': 'auto',\n }}\n >\n <DialogCloseIconTrigger />\n\n <VStack gap=\"xl\" w=\"full\">\n <VStack alignItems=\"flex-start\" gap=\"md\" w=\"full\">\n <VStack gap=\"lg\" w=\"full\">\n <Avatar\n gradient=\"charon-light\"\n fallback={\n <Show\n when={confirmIcon}\n fallback={<FallbackIcon size={24} />}\n >\n {confirmIcon}\n </Show>\n }\n />\n <DialogHeading>{content?.heading}</DialogHeading>\n <DialogDescription>{content?.description}</DialogDescription>\n </VStack>\n </VStack>\n\n <HStack gap=\"md\" w=\"full\">\n <For each={content?.actions._actions}>\n {(action, index) => (\n <Show\n key={index}\n when={content?.actions?.type === 'btnAction'}\n fallback={\n <TriggerItem asChild>{action as ReactNode}</TriggerItem>\n }\n >\n <TriggerItem data-index={index} onClick={handleActionClick}>\n {(action as CTAButtonAction)?.text}\n </TriggerItem>\n </Show>\n )}\n </For>\n </HStack>\n </VStack>\n </Dialog>\n </DialogProvider>\n </CTAModalContext.Provider>\n )\n}\n\nexport function useCTAModal(): CTAModalValue {\n const context = useContext(CTAModalContext)\n if (context === null) {\n throw new Error('useCTAModal must be used within a CTAModal Provider')\n }\n return context\n}\n","'use client'\n\nimport { createContext, useContext, type PropsWithChildren } from 'react'\nimport type { SystemConfig } from '../config'\n\n/**\n * This module contains the Cerberus configuration context and helpers.\n * @module context/cerberus\n */\n\ntype CerberusContextValue = SystemConfig\n\nconst CerberusContext = createContext<CerberusContextValue | null>(null)\n\ninterface CerberusProviderProps {\n config: SystemConfig\n}\n\n/**\n * Cerberus configuration provider.\n * @param props.config The Cerberus configuration created with\n * `makeSystemConfig` helper.\n */\nexport function CerberusProvider(\n props: PropsWithChildren<CerberusProviderProps>,\n) {\n return (\n <CerberusContext.Provider value={props.config}>\n {props.children}\n </CerberusContext.Provider>\n )\n}\n\n/**\n * Returns the Cerberus configuration context.\n * @returns The Cerberus configuration context.\n */\nexport function useCerberusContext() {\n const context = useContext(CerberusContext)\n if (!context) {\n throw new Error('useCerberus must be used within a CerberusProvider')\n }\n return context\n}\n","import { type PropsWithChildren, type ReactNode } from 'react'\n\n/**\n * This module contains the Show component.\n * @module\n */\n\nexport interface ShowProps<T> {\n /**\n * The condition to render memoized children or the fallback content.\n */\n when: T | boolean | null | undefined\n /**\n * The children to render when the condition is false.\n */\n fallback?: ReactNode\n}\n\n/**\n * Conditionally render a memoized version of the children or optional fallback\n * content.\n * @see https://cerberus.digitalu.design/react/show\n * @example\n * ```tsx\n * <Show when={isLoggedIn} fallback={<Navigate to=\"/login\" />}>\n * <Dashboard />\n * </Show>\n */\nexport function Show<T>(props: PropsWithChildren<ShowProps<T>>) {\n const { when, children, fallback } = props\n\n if (when) {\n return <>{children}</>\n }\n\n if (fallback) {\n return <>{fallback}</>\n }\n\n return null\n}\n","import type { ReactNode, JSX } from 'react'\n\nexport interface ForProps<T extends readonly unknown[], U extends JSX.Element> {\n /**\n * The array to iterate over.\n */\n each: T | undefined | null | false\n /**\n * The fallback to render when the array is empty.\n */\n fallback?: JSX.Element\n /**\n * The children to render for each item in the array.\n */\n children: (item: T[number], index: number) => U\n}\n\n/**\n * The For component is used to iterate over an array and render a list of\n * components or display a fallback when the array is empty.\n * Inspired by the `<For>` component from SolidJS.\n *\n * @example\n * ```tsx\n * <For each={['a', 'b', 'c']}>\n * {(item, index) => <div key={index}>{item}</div>}\n * </For>\n * ```\n */\nexport function For<T extends readonly unknown[], U extends JSX.Element>(\n props: ForProps<T, U>,\n) {\n if (!props.each || !props.each.length) {\n return props.fallback || null\n }\n\n return <>{props.each?.map(props.children) as ReactNode}</>\n}\n","/**\n * This module contains utility functions that are used across your app.\n * @module Utils\n */\n\n/**\n * Formats the count of notifications to be displayed in the notification badge.\n * @param count - The number of notifications.\n * @returns The formatted count of notifications.\n * @example\n * ```tsx\n * const count = formatNotifyCount(100)\n * console.log(count) // '99+'\n * ```\n */\nexport function formatNotifyCount(count: number): string {\n if (count > 99) return '99+'\n return count.toString()\n}\n\n/**\n * Splits the properties of an object into multiple groups based on lists of keys.\n * @param props - The object to split.\n * @param keyGroups - The lists of keys to include in each group.\n * @returns An array of objects: each containing the properties specified in the corresponding key group, and the last object containing the remaining keys.\n */\nexport function splitProps<T extends object>(\n props: T,\n ...keyGroups: (keyof T)[][]\n): { [K in keyof T]?: T[K] }[] {\n const result = keyGroups.map(() => ({}) as { [K in keyof T]?: T[K] })\n const rest = {} as { [K in keyof T]?: T[K] }\n\n for (const key in props) {\n let assigned = false\n for (let i = 0; i < keyGroups.length; i++) {\n if (keyGroups[i].includes(key as keyof T)) {\n result[i][key as keyof T] = props[key]\n assigned = true\n break\n }\n }\n if (!assigned) {\n rest[key as keyof T] = props[key]\n }\n }\n\n return [...result, rest]\n}\n\nexport * from './localStorage'\n","import {\n Avatar,\n type AvatarFallbackProps,\n type AvatarImageProps,\n type AvatarRootProps,\n} from '@ark-ui/react/avatar'\nimport { avatar, type AvatarVariantProps } from 'styled-system/recipes'\nimport { cx } from 'styled-system/css'\n\n/**\n * This module provides the primitive components for the Avatar component.\n * @module 'avatar/primitives'\n */\n\n/**\n * The root component of the Avatar.\n */\nexport function AvatarRoot(props: AvatarRootProps & AvatarVariantProps) {\n const { gradient, shape, size, ...rootProps } = props\n const styles = avatar({ gradient, shape, size })\n return (\n <Avatar.Root\n {...rootProps}\n className={cx(styles.root, rootProps.className)}\n />\n )\n}\n\n/**\n * The image component of the Avatar.\n */\nexport function AvatarImage(props: AvatarImageProps) {\n const styles = avatar()\n return (\n <Avatar.Image {...props} className={cx(styles.image, props.className)} />\n )\n}\n\n/**\n * The fallback component of the Avatar.\n */\nexport function AvatarFallback(props: AvatarFallbackProps) {\n const styles = avatar()\n return (\n <Avatar.Fallback\n {...props}\n className={cx(styles.fallback, props.className)}\n />\n )\n}\n","import type { ElementType } from 'react'\nimport { AvatarFallback, AvatarImage, AvatarRoot } from './primitives'\n\n/**\n * This module contains the parts of the Avatar component.\n * @module 'avatar/parts'\n */\n\ninterface AvatarPartsValue {\n /**\n * The context provider of the Avatar.\n */\n Root: ElementType\n /**\n * The image of the Avatar.\n */\n Image: ElementType\n /**\n * The fallback content to display when the image fails to load.\n */\n Fallback: ElementType\n}\n\n/**\n * An Object containing the parts of the Accordion component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the AvatarParts object and\n * the entire family of components vs. only what you use.\n */\nexport const AvatarParts: AvatarPartsValue = {\n Root: AvatarRoot,\n Image: AvatarImage,\n Fallback: AvatarFallback,\n}\n","import type { AvatarRootProps } from '@ark-ui/react/avatar'\nimport type { AvatarVariantProps } from 'styled-system/recipes'\nimport type { ReactNode } from 'react'\nimport { splitProps } from '../../utils'\nimport { Show } from '../Show'\nimport { AvatarParts } from './parts'\n\n/**\n * This module provides an abstraction of the Avatar primitives.\n * @module 'avatar'\n */\n\nexport interface AvatarWithoutImage\n extends AvatarRootProps,\n AvatarVariantProps {\n alt?: never\n src?: never\n fallback?: ReactNode\n}\n\nexport interface AvatarWithImage extends AvatarRootProps, AvatarVariantProps {\n alt: string\n src: string\n fallback?: ReactNode\n}\n\n/**\n * Avatar component is an abstraction of the primitives that displays a\n * avatar or it's fallback when the image fails to load.\n * @description [Cerberus Docs](https://cerberus.digitalu.design/react/avatar/overview)\n * @description [Ark Docs](https://ark-ui.com/react/docs/components/avatar#api-reference)\n */\nexport function Avatar(props: AvatarWithoutImage | AvatarWithImage) {\n const [imgProps, { fallback, children }, rootProps] = splitProps(\n props,\n ['alt', 'src'],\n ['fallback', 'children'],\n )\n\n return (\n <AvatarParts.Root {...rootProps}>\n <Show\n when={children}\n fallback={\n <>\n <AvatarParts.Fallback>{fallback}</AvatarParts.Fallback>\n <AvatarParts.Image {...imgProps} />\n </>\n }\n >\n {children}\n </Show>\n </AvatarParts.Root>\n )\n}\n","import {\n Dialog,\n type DialogBackdropProps,\n type DialogContentProps,\n type DialogDescriptionProps,\n type DialogPositionerProps,\n type DialogRootProps,\n type DialogTitleProps,\n type DialogTriggerProps,\n} from '@ark-ui/react/dialog'\nimport { css, cx } from 'styled-system/css'\nimport { dialog, type DialogVariantProps } from 'styled-system/recipes'\nimport type { WithCss } from '../../types'\n\n/**\n * This module contains the primitives of the Dialog component.\n * @module 'dialog/primitives'\n */\n\n/**\n * The provider that controls the dialog components.\n */\nexport function DialogRoot(props: DialogRootProps) {\n return <Dialog.Root {...props} />\n}\n\n/**\n * The trigger that opens the dialog.\n */\nexport function DialogTrigger(props: DialogTriggerProps) {\n const styles = dialog()\n return (\n <Dialog.Trigger\n {...props}\n className={cx(styles.trigger, props.className)}\n />\n )\n}\n\n/**\n * The overlay of the dialog.\n */\nexport function DialogBackdrop(props: DialogBackdropProps) {\n const styles = dialog()\n return (\n <Dialog.Backdrop\n {...props}\n className={cx(styles.backdrop, props.className)}\n />\n )\n}\n\n/**\n * The container that positions the dialog.\n */\nexport function DialogPositioner(props: DialogPositionerProps) {\n const styles = dialog()\n return (\n <Dialog.Positioner\n {...props}\n className={cx(styles.positioner, props.className)}\n />\n )\n}\n\n/**\n * The visible content of the dialog.\n */\nexport function DialogContent(\n props: DialogContentProps & DialogVariantProps & WithCss,\n) {\n const { size, css: customStyles, ...contentProps } = props\n const styles = dialog({ size })\n return (\n <Dialog.Content\n {...contentProps}\n className={cx(styles.content, css(customStyles), contentProps.className)}\n />\n )\n}\n\n/**\n * The heading of the dialog.\n */\nexport function DialogHeading(props: DialogTitleProps) {\n const styles = dialog()\n return (\n <Dialog.Title {...props} className={cx(styles.title, props.className)} />\n )\n}\n\n/**\n * The description of the dialog.\n */\nexport function DialogDescription(props: DialogDescriptionProps) {\n const styles = dialog()\n return (\n <Dialog.Description\n {...props}\n className={cx(styles.description, props.className)}\n />\n )\n}\n\n/**\n * The trigger that closes the dialog.\n */\nexport function DialogCloseTrigger(props: DialogTriggerProps) {\n return <Dialog.CloseTrigger {...props} />\n}\n\n/**\n * The provider that controls the dialog components. This is a named export of\n * the DialogRoot primitive.\n */\nexport const DialogProvider = DialogRoot\n","import { ark, type HTMLArkProps } from '@ark-ui/react/factory'\nimport { cx } from 'styled-system/css'\nimport { iconButton, type IconButtonVariantProps } from 'styled-system/recipes'\n\n/**\n * This module contains the Icon Button component.\n * @module\n */\n\nexport interface IconButtonRawProps extends HTMLArkProps<'button'> {\n /**\n * The aria-label attribute for the icon button.\n */\n ariaLabel: string\n}\nexport type IconButtonProps = IconButtonRawProps & IconButtonVariantProps\n\n/**\n * A component that allows the user to perform actions using an icon\n * @see https://cerberus.digitalu.design/react/icon-button\n */\nexport function IconButton(props: IconButtonProps) {\n const { ariaLabel, palette, usage, size, ...nativeProps } = props\n return (\n <ark.button\n {...nativeProps}\n aria-label={ariaLabel ?? 'Icon Button'}\n className={cx(\n nativeProps.className,\n iconButton({\n palette,\n usage,\n size,\n }),\n )}\n />\n )\n}\n","'use client'\n\nimport { type DialogCloseTriggerProps } from '@ark-ui/react/dialog'\nimport { useCerberusContext } from '../../context/cerberus'\nimport { IconButton } from '../IconButton'\nimport { DialogCloseTrigger } from './primitives'\nimport { dialog } from 'styled-system/recipes'\nimport { cx } from 'styled-system/css'\n\n/**\n * This module contains the close trigger for the dialog.\n * @module react/dialog\n */\n\nexport function DialogCloseIconTrigger(props: DialogCloseTriggerProps) {\n const styles = dialog()\n\n const { icons } = useCerberusContext()\n const { close: CloseIcon } = icons\n\n return (\n <DialogCloseTrigger\n {...props}\n className={cx(styles.closeTrigger, props.className)}\n asChild\n >\n <IconButton\n ariaLabel=\"Close dialog\"\n palette=\"action\"\n size=\"lg\"\n usage=\"ghost\"\n >\n <CloseIcon />\n </IconButton>\n </DialogCloseTrigger>\n )\n}\n","import { Portal as ArkPortal, type PortalProps } from '@ark-ui/react'\nimport type { PropsWithChildren } from 'react'\n\n/**\n * This module is the Portal component.\n * @module\n */\n\nexport type { PortalProps }\n\n/**\n * The Portal component is used to render children into a DOM node that exists outside the DOM hierarchy of the parent component.\n * @see https://cerberus.digitalu.design/react/portal\n * @definition [React Portal Docs](https://react.dev/reference/react-dom/createPortal)\n * @example\n * ```tsx\n * 'use client'\n *\n * import { Portal } from '@cerberus/react'\n *\n * function SomeFeatureWithinSSRPage() {\n * return (\n * <Portal>\n * <div>Portal Content outside of the React VDom tree</div>\n * </Portal>\n * )\n * }\n */\nexport function Portal(props: PropsWithChildren<PortalProps>) {\n return <ArkPortal {...props} />\n}\n","import type { DialogContentProps } from '@ark-ui/react/dialog'\nimport type { DialogVariantProps } from 'styled-system/recipes'\nimport type { WithCss } from '../../types'\nimport { Portal } from '../Portal'\nimport { DialogBackdrop, DialogContent, DialogPositioner } from './primitives'\n\n/**\n * This module contains and abstraction of the Dialog primitives.\n * @module 'dialog'\n */\n\nexport interface DialogProps\n extends Omit<DialogContentProps, 'size' | 'style'>,\n DialogVariantProps,\n WithCss {}\n\n/**\n * An abstraction of the Dialog primitives that controls the content of the\n * dialog. Must be used within the `DialogProvider` component.\n * @definition [Dialog docs](https://cerberus.digitalu.design/react/dialog)\n * @definition [Ark Dialog docs](https://ark-ui.com/react/docs/components/dialog)\n * @example\n * ```tsx\n * <DialogProvider>\n * <DialogTrigger asChild>\n * <Button>Open Dialog</Button>\n * </DialogTrigger>\n * <Dialog>\n * <Text>Dialog Content</Text>\n * </Dialog>\n * </DialogProvider>\n * ```\n */\nexport function Dialog(props: DialogProps) {\n return (\n <Portal>\n <DialogBackdrop />\n <DialogPositioner>\n <DialogContent {...props} />\n </DialogPositioner>\n </Portal>\n )\n}\n","'use client'\n\nimport { createContext, type ReactNode } from 'react'\nimport type { CTAModalActionReturn } from './utils'\n\n/**\n * This module provides the context for the cta modal.\n * @module\n */\n\nexport interface ShowCTAModalOptions {\n /**\n * The heading of the cta modal.\n */\n heading: string\n /**\n * The description of the cta modal.\n */\n description?: string\n /**\n * The icon used for the modal Avatar.\n */\n icon?: ReactNode\n /**\n * The actions for the cta modal. Requires 2 actions.\n */\n actions: CTAModalActionReturn\n}\n\nexport interface CTAModalValue {\n show: (options: ShowCTAModalOptions) => void\n}\n\nexport const CTAModalContext = createContext<CTAModalValue | null>(null)\n","import { css, cx } from 'styled-system/css'\nimport { Button, type ButtonProps } from '../button/button'\nimport { ark } from '@ark-ui/react/factory'\nimport { button } from 'styled-system/recipes'\n\n/**\n * This module provides the trigger item for the cta modal.\n * @module 'react/cta-modal/trigger-item'\n */\n\nexport interface TriggerItemProps extends ButtonProps {\n asChild?: boolean\n}\n\n/**\n * Trigger item for the cta modal which renders content based on the actions.\n * type.\n */\nexport function TriggerItem(props: TriggerItemProps) {\n const { asChild, children, ...buttonProps } = props\n\n if (asChild) {\n return (\n <ark.div\n className={cx(\n button({\n shape: 'rounded',\n usage: 'ghost',\n }),\n css({\n w: '1/2',\n }),\n )}\n asChild\n >\n {children}\n </ark.div>\n )\n }\n\n return (\n <Button\n {...buttonProps}\n className={css({\n w: '1/2',\n })}\n shape=\"rounded\"\n usage=\"outlined\"\n >\n {children}\n </Button>\n )\n}\n","'use client'\n\nimport { ark, type HTMLArkProps } from '@ark-ui/react/factory'\nimport {\n type PropsWithChildren,\n createContext,\n useContext,\n useMemo,\n} from 'react'\nimport { cx } from 'styled-system/css'\nimport { button, type ButtonVariantProps } from 'styled-system/recipes'\nimport { Box } from 'styled-system/jsx'\nimport { Show } from '../Show'\nimport { Spinner } from '../Spinner'\n\n/**\n * This module contains the Button component.\n * @module\n */\n\ninterface ButtonContextValue {\n pending: boolean\n}\n\nconst ButtonContext = createContext<ButtonContextValue>({\n pending: false,\n})\n\nexport type ButtonProps = HTMLArkProps<'button'> &\n ButtonVariantProps & {\n pending?: boolean\n }\n\n/**\n * A component that allows the user to perform actions\n * @see https://cerberus.digitalu.design/react/button\n */\nexport function Button(props: ButtonProps) {\n const { palette, usage, shape, size, pending = false, ...nativeProps } = props\n const value = useMemo(() => ({ pending }), [pending])\n\n return (\n <ButtonContext.Provider value={value}>\n <ark.button\n {...nativeProps}\n disabled={pending || nativeProps.disabled}\n className={cx(\n nativeProps.className,\n button({\n palette,\n usage,\n shape,\n size,\n }),\n )}\n />\n </ButtonContext.Provider>\n )\n}\n\n/**\n * An icon to display in a button that utilizes the pending state to display\n * a loading spinner.\n */\nexport function ButtonIcon(props: PropsWithChildren<object>) {\n const { pending } = useContext(ButtonContext)\n return (\n <Show when={pending} fallback={<>{props.children}</>}>\n <Box w=\"4\">\n <Spinner />\n </Box>\n </Show>\n )\n}\n"],"mappings":"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","names":["import_react","import_jsx","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","Avatar","import_css","import_recipes","import_jsx_runtime","import_css","import_recipes","import_jsx_runtime","import_recipes","import_css","import_jsx_runtime","import_react","import_jsx_runtime","ArkPortal","import_jsx_runtime","Dialog","import_react","import_css","import_factory","import_react","import_css","import_recipes","import_jsx_runtime","import_factory","import_recipes","import_jsx_runtime","import_jsx_runtime","Dialog","Avatar"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/date-picker/date-picker.tsx","../../../../src/components/date-picker/primitives.tsx","../../../../src/components/date-picker/parts.ts"],"sourcesContent":["import type { DatePickerRootProps } from '@ark-ui/react/date-picker'\nimport { DatePickerParts } from './parts'\n\n/**\n * This module contains an abstraction of the DatePicker.Root primitive.\n * @module 'date-picker/root'\n */\n\n/**\n * DatePicker component is an abstraction of the DatePickerRoot primitive which\n * is the context provider to the DatePicker.\n * @description [Cerberus Docs](https://cerberus.digitalu.design/react/date-picker)\n * @description [Ark Docs](https://ark-ui.com/react/docs/components/date-picker)\n */\nexport function DatePicker(props: DatePickerRootProps) {\n // There is a bug with the Root component that causes random date selection\n // onBlur after the first selection if the format prop is used.\n // ref: https://github.com/chakra-ui/ark/issues/3112#event-16047829195\n\n // const handleFormat = useCallback((value: DateValue) => {\n // return formatISOToMilitary(value.toString())\n // }, [])\n\n return (\n <DatePickerParts.Root\n {...props}\n positioning={{\n placement: 'bottom-start',\n }}\n />\n )\n}\n","import {\n DatePicker,\n type DatePickerContentProps,\n type DatePickerContextProps,\n type DatePickerControlProps,\n type DatePickerInputProps,\n type DatePickerLabelProps,\n type DatePickerMonthSelectProps,\n type DatePickerNextTriggerProps,\n type DatePickerPositionerProps,\n type DatePickerPrevTriggerProps,\n type DatePickerRangeTextProps,\n type DatePickerRootProps,\n type DatePickerTableBodyProps,\n type DatePickerTableCellProps,\n type DatePickerTableCellTriggerProps,\n type DatePickerTableHeaderProps,\n type DatePickerTableHeadProps,\n type DatePickerTableProps,\n type DatePickerTableRowProps,\n type DatePickerTriggerProps,\n type DatePickerViewControlProps,\n type DatePickerViewProps,\n type DatePickerViewTriggerProps,\n type DatePickerYearSelectProps,\n} from '@ark-ui/react/date-picker'\nimport { cx } from 'styled-system/css'\nimport { datePicker } from 'styled-system/recipes'\n\n/**\n * This module contains the DatePicker primitives.\n * @module 'date-picker/primitives'\n */\n\n/**\n * The label component for the DatePicker.\n */\nexport function DatePickerLabel(props: DatePickerLabelProps) {\n const styles = datePicker()\n return (\n <DatePicker.Label\n {...props}\n className={cx(styles.label, props.className)}\n />\n )\n}\n\n/**\n * The control component for the DatePicker which wraps the input and the\n * triggers to open the DatePicker and clear the value.\n */\nexport function DatePickerControl(props: DatePickerControlProps) {\n const styles = datePicker()\n return (\n <DatePicker.Control\n {...props}\n className={cx(styles.control, props.className)}\n />\n )\n}\n\n/**\n * The input component for the DatePicker.\n */\nexport function DatePickerInputEl(props: DatePickerInputProps) {\n const styles = datePicker()\n return (\n <DatePicker.Input\n {...props}\n className={cx(styles.input, props.className)}\n />\n )\n}\n\n/**\n * The trigger component that opens the DatePicker.\n */\nexport function DatePickerTrigger(props: DatePickerTriggerProps) {\n const styles = datePicker()\n return (\n <DatePicker.Trigger\n {...props}\n className={cx(styles.trigger, props.className)}\n />\n )\n}\n\n/**\n * The content component for the DatePicker.\n */\nexport function DatePickerContent(props: DatePickerContentProps) {\n const styles = datePicker()\n return (\n <DatePicker.Content\n {...props}\n className={cx(styles.content, props.className)}\n />\n )\n}\n\n/**\n * The view control component for the DatePicker which wraps the triggers to\n * switch between calendar views.\n */\nexport function DatePickerViewControl(props: DatePickerViewControlProps) {\n const styles = datePicker()\n return (\n <DatePicker.Control\n {...props}\n className={cx(styles.viewControl, props.className)}\n />\n )\n}\n\n/**\n * The range text component for the DatePicker.\n */\nexport function DatePickerRangeText(props: DatePickerRangeTextProps) {\n const styles = datePicker()\n return (\n <DatePicker.RangeText\n {...props}\n className={cx(styles.rangeText, props.className)}\n />\n )\n}\n\n/**\n * The table component for the DatePicker.\n */\nexport function DatePickerTable(props: DatePickerTableProps) {\n const styles = datePicker()\n return (\n <DatePicker.Table\n {...props}\n className={cx(styles.table, props.className)}\n />\n )\n}\n\n/**\n * The header component for the DatePicker table.\n */\nexport function DatePickerTableHeader(props: DatePickerTableHeaderProps) {\n const styles = datePicker()\n return (\n <DatePicker.TableHeader\n {...props}\n className={cx(styles.tableHeader, props.className)}\n />\n )\n}\n\n/**\n * The table cell component for the DatePicker.\n */\nexport function DatePickerTableCell(props: DatePickerTableCellProps) {\n const styles = datePicker()\n return (\n <DatePicker.TableCell\n {...props}\n className={cx(styles.tableCell, props.className)}\n />\n )\n}\n\n/**\n * The table cell trigger component for the DatePicker.\n */\nexport function DatePickerTableCellTrigger(\n props: DatePickerTableCellTriggerProps,\n) {\n const styles = datePicker()\n return (\n <DatePicker.TableCellTrigger\n {...props}\n className={cx(styles.tableCellTrigger, props.className)}\n />\n )\n}\n\n/**\n * The root component of the DatePicker. This primitive has no Cerberus styles.\n */\nexport function DatePickerRoot(props: DatePickerRootProps) {\n return <DatePicker.Root {...props} />\n}\n\n/**\n * The label component of the DatePicker. This primitive has no Cerberus styles.\n */\nexport function DatePickerClearTrigger(props: DatePickerTriggerProps) {\n return <DatePicker.ClearTrigger {...props} />\n}\n\n/**\n * The control component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport function DatePickerPositioner(props: DatePickerPositionerProps) {\n return <DatePicker.Positioner {...props} />\n}\n\n/**\n * The year select input component of the DatePicker. This primitive has no\n * Cerberus styles.\n */\nexport function DatePickerYearSelect(props: DatePickerYearSelectProps) {\n return <DatePicker.YearSelect {...props} />\n}\n\n/**\n * The month select input component of the DatePicker. This primitive has no\n * Cerberus styles.\n */\nexport function DatePickerMonthSelect(props: DatePickerMonthSelectProps) {\n return <DatePicker.MonthSelect {...props} />\n}\n\n/**\n * The day view component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport function DatePickerView(props: DatePickerViewProps) {\n return <DatePicker.View {...props} />\n}\n\n/**\n * The day context component of the DatePicker. This primitive has no\n * Cerberus styles.\n */\nexport function DatePickerContext(props: DatePickerContextProps) {\n return <DatePicker.Context {...props} />\n}\n\n/**\n * The trigger component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport function DatePickerPrevTrigger(props: DatePickerPrevTriggerProps) {\n return <DatePicker.PrevTrigger {...props} />\n}\n\n/**\n * The trigger component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport function DatePickerNextTrigger(props: DatePickerNextTriggerProps) {\n return <DatePicker.NextTrigger {...props} />\n}\n\n/**\n * The trigger component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport function DatePickerViewTrigger(props: DatePickerViewTriggerProps) {\n return <DatePicker.ViewTrigger {...props} />\n}\n\n/**\n * The table head component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport function DatePickerTableHead(props: DatePickerTableHeadProps) {\n return <DatePicker.TableHead {...props} />\n}\n/**\n * The table row component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport function DatePickerTableRow(props: DatePickerTableRowProps) {\n return <DatePicker.TableRow {...props} />\n}\n/**\n * The table body component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport function DatePickerTableBody(props: DatePickerTableBodyProps) {\n return <DatePicker.TableBody {...props} />\n}\n","import type { ElementType } from 'react'\nimport {\n DatePickerClearTrigger,\n DatePickerContent,\n DatePickerContext,\n DatePickerControl,\n DatePickerInputEl,\n DatePickerLabel,\n DatePickerMonthSelect,\n DatePickerNextTrigger,\n DatePickerPositioner,\n DatePickerPrevTrigger,\n DatePickerRangeText,\n DatePickerRoot,\n DatePickerTable,\n DatePickerTableBody,\n DatePickerTableCell,\n DatePickerTableCellTrigger,\n DatePickerTableHead,\n DatePickerTableHeader,\n DatePickerTableRow,\n DatePickerTrigger,\n DatePickerView,\n DatePickerViewControl,\n DatePickerViewTrigger,\n DatePickerYearSelect,\n} from './primitives'\n\n/**\n * This module contains the parts of the DatePicker component.\n * @module 'date-picker/parts'\n */\n\ninterface DatePickerPartsValue {\n /**\n * The container of the date-picker.\n */\n Root: ElementType\n /**\n * The label of the date-picker.\n */\n Label: ElementType\n /**\n * The control of the date-picker.\n */\n Control: ElementType\n /**\n * The input of the date-picker.\n */\n Input: ElementType\n /**\n * The trigger that opens the date-picker.\n */\n Trigger: ElementType\n /**\n * The trigger that clears the value of the date-picker.\n */\n ClearTrigger: ElementType\n /**\n * The positioner of the content for the date-picker.\n */\n Positioner: ElementType\n /**\n * The content of the date-picker.\n */\n Content: ElementType\n /**\n * The year select input of the date-picker.\n */\n YearSelect: ElementType\n /**\n * The month select input of the date-picker.\n */\n MonthSelect: ElementType\n /**\n * The day view of the date-picker.\n */\n View: ElementType\n /**\n * The day context of the date-picker.\n */\n Context: ElementType\n /**\n * The container for the content triggers.\n */\n ViewControl: ElementType\n /**\n * The trigger that moves to the previous month.\n */\n PrevTrigger: ElementType\n /**\n * The trigger that moves to the next month.\n */\n NextTrigger: ElementType\n /**\n * The trigger that moves to the next view.\n */\n ViewTrigger: ElementType\n /**\n * The range text of the date-picker.\n */\n RangeText: ElementType\n /**\n * The table of the date-picker.\n */\n Table: ElementType\n /**\n * The table head of the date-picker.\n */\n TableHead: ElementType\n /**\n * The table row of the date-picker.\n */\n TableRow: ElementType\n /**\n * The header text for the table.\n */\n TableHeader: ElementType\n /**\n * The body of the table.\n */\n TableBody: ElementType\n /**\n * The table cell of the table.\n */\n TableCell: ElementType\n /**\n * The trigger for the table cell.\n */\n TableCellTrigger: ElementType\n}\n\n/**\n * An Object containing the parts of the DatePicker component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the DatePickerParts object and\n * the entire family of components vs. only what you use.\n */\nexport const DatePickerParts: DatePickerPartsValue = {\n Root: DatePickerRoot,\n Label: DatePickerLabel,\n Control: DatePickerControl,\n Input: DatePickerInputEl,\n Trigger: DatePickerTrigger,\n ClearTrigger: DatePickerClearTrigger,\n Positioner: DatePickerPositioner,\n Content: DatePickerContent,\n YearSelect: DatePickerYearSelect,\n MonthSelect: DatePickerMonthSelect,\n View: DatePickerView,\n Context: DatePickerContext,\n ViewControl: DatePickerViewControl,\n PrevTrigger: DatePickerPrevTrigger,\n NextTrigger: DatePickerNextTrigger,\n ViewTrigger: DatePickerViewTrigger,\n RangeText: DatePickerRangeText,\n Table: DatePickerTable,\n TableHead: DatePickerTableHead,\n TableRow: DatePickerTableRow,\n TableHeader: DatePickerTableHeader,\n TableBody: DatePickerTableBody,\n TableCell: DatePickerTableCell,\n TableCellTrigger: DatePickerTableCellTrigger,\n}\n"],"mappings":"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","names":["DatePicker","import_jsx_runtime","DatePicker"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/date-picker/date-picker.tsx","../../../../src/components/date-picker/primitives.tsx","../../../../src/components/date-picker/parts.ts"],"sourcesContent":["import type { DatePickerRootProps } from '@ark-ui/react/date-picker'\nimport { DatePickerParts } from './parts'\n\n/**\n * This module contains an abstraction of the DatePicker.Root primitive.\n * @module 'date-picker/root'\n */\n\n/**\n * DatePicker component is an abstraction of the DatePickerRoot primitive which\n * is the context provider to the DatePicker.\n * @description [Cerberus Docs](https://cerberus.digitalu.design/react/date-picker)\n * @description [Ark Docs](https://ark-ui.com/react/docs/components/date-picker)\n */\nexport function DatePicker(props: DatePickerRootProps) {\n // const handleFormat = useCallback((date: DateValue) => {\n // const day = date.day.toString().padStart(2, '0')\n // const year = date.year.toString()\n // const formattedMonth = new DateFormatter('en-US', {\n // month: 'short',\n // }).format(date.toDate(getLocalTimeZone()))\n\n // // Format the date as \"DD MMM YYYY\"\n // return `${day} ${formattedMonth} ${year}`\n // }, [])\n\n return (\n <DatePickerParts.Root\n {...props}\n positioning={{\n placement: 'bottom-start',\n }}\n />\n )\n}\n","import {\n DatePicker,\n type DatePickerContentProps,\n type DatePickerContextProps,\n type DatePickerControlProps,\n type DatePickerInputProps,\n type DatePickerLabelProps,\n type DatePickerMonthSelectProps,\n type DatePickerNextTriggerProps,\n type DatePickerPositionerProps,\n type DatePickerPrevTriggerProps,\n type DatePickerRangeTextProps,\n type DatePickerRootProps,\n type DatePickerTableBodyProps,\n type DatePickerTableCellProps,\n type DatePickerTableCellTriggerProps,\n type DatePickerTableHeaderProps,\n type DatePickerTableHeadProps,\n type DatePickerTableProps,\n type DatePickerTableRowProps,\n type DatePickerTriggerProps,\n type DatePickerViewControlProps,\n type DatePickerViewProps,\n type DatePickerViewTriggerProps,\n type DatePickerYearSelectProps,\n} from '@ark-ui/react/date-picker'\nimport { cx } from 'styled-system/css'\nimport { datePicker } from 'styled-system/recipes'\n\n/**\n * This module contains the DatePicker primitives.\n * @module 'date-picker/primitives'\n */\n\n/**\n * The label component for the DatePicker.\n */\nexport function DatePickerLabel(props: DatePickerLabelProps) {\n const styles = datePicker()\n return (\n <DatePicker.Label\n {...props}\n className={cx(styles.label, props.className)}\n />\n )\n}\n\n/**\n * The control component for the DatePicker which wraps the input and the\n * triggers to open the DatePicker and clear the value.\n */\nexport function DatePickerControl(props: DatePickerControlProps) {\n const styles = datePicker()\n return (\n <DatePicker.Control\n {...props}\n className={cx(styles.control, props.className)}\n />\n )\n}\n\n/**\n * The input component for the DatePicker.\n */\nexport function DatePickerInputEl(props: DatePickerInputProps) {\n const styles = datePicker()\n return (\n <DatePicker.Input\n {...props}\n className={cx(styles.input, props.className)}\n />\n )\n}\n\n/**\n * The trigger component that opens the DatePicker.\n */\nexport function DatePickerTrigger(props: DatePickerTriggerProps) {\n const styles = datePicker()\n return (\n <DatePicker.Trigger\n {...props}\n className={cx(styles.trigger, props.className)}\n />\n )\n}\n\n/**\n * The content component for the DatePicker.\n */\nexport function DatePickerContent(props: DatePickerContentProps) {\n const styles = datePicker()\n return (\n <DatePicker.Content\n {...props}\n className={cx(styles.content, props.className)}\n />\n )\n}\n\n/**\n * The view control component for the DatePicker which wraps the triggers to\n * switch between calendar views.\n */\nexport function DatePickerViewControl(props: DatePickerViewControlProps) {\n const styles = datePicker()\n return (\n <DatePicker.Control\n {...props}\n className={cx(styles.viewControl, props.className)}\n />\n )\n}\n\n/**\n * The range text component for the DatePicker.\n */\nexport function DatePickerRangeText(props: DatePickerRangeTextProps) {\n const styles = datePicker()\n return (\n <DatePicker.RangeText\n {...props}\n className={cx(styles.rangeText, props.className)}\n />\n )\n}\n\n/**\n * The table component for the DatePicker.\n */\nexport function DatePickerTable(props: DatePickerTableProps) {\n const styles = datePicker()\n return (\n <DatePicker.Table\n {...props}\n className={cx(styles.table, props.className)}\n />\n )\n}\n\n/**\n * The header component for the DatePicker table.\n */\nexport function DatePickerTableHeader(props: DatePickerTableHeaderProps) {\n const styles = datePicker()\n return (\n <DatePicker.TableHeader\n {...props}\n className={cx(styles.tableHeader, props.className)}\n />\n )\n}\n\n/**\n * The table cell component for the DatePicker.\n */\nexport function DatePickerTableCell(props: DatePickerTableCellProps) {\n const styles = datePicker()\n return (\n <DatePicker.TableCell\n {...props}\n className={cx(styles.tableCell, props.className)}\n />\n )\n}\n\n/**\n * The table cell trigger component for the DatePicker.\n */\nexport function DatePickerTableCellTrigger(\n props: DatePickerTableCellTriggerProps,\n) {\n const styles = datePicker()\n return (\n <DatePicker.TableCellTrigger\n {...props}\n className={cx(styles.tableCellTrigger, props.className)}\n />\n )\n}\n\n/**\n * The root component of the DatePicker. This primitive has no Cerberus styles.\n */\nexport function DatePickerRoot(props: DatePickerRootProps) {\n return <DatePicker.Root {...props} />\n}\n\n/**\n * The label component of the DatePicker. This primitive has no Cerberus styles.\n */\nexport function DatePickerClearTrigger(props: DatePickerTriggerProps) {\n return <DatePicker.ClearTrigger {...props} />\n}\n\n/**\n * The control component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport function DatePickerPositioner(props: DatePickerPositionerProps) {\n return <DatePicker.Positioner {...props} />\n}\n\n/**\n * The year select input component of the DatePicker. This primitive has no\n * Cerberus styles.\n */\nexport function DatePickerYearSelect(props: DatePickerYearSelectProps) {\n return <DatePicker.YearSelect {...props} />\n}\n\n/**\n * The month select input component of the DatePicker. This primitive has no\n * Cerberus styles.\n */\nexport function DatePickerMonthSelect(props: DatePickerMonthSelectProps) {\n return <DatePicker.MonthSelect {...props} />\n}\n\n/**\n * The day view component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport function DatePickerView(props: DatePickerViewProps) {\n return <DatePicker.View {...props} />\n}\n\n/**\n * The day context component of the DatePicker. This primitive has no\n * Cerberus styles.\n */\nexport function DatePickerContext(props: DatePickerContextProps) {\n return <DatePicker.Context {...props} />\n}\n\n/**\n * The trigger component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport function DatePickerPrevTrigger(props: DatePickerPrevTriggerProps) {\n return <DatePicker.PrevTrigger {...props} />\n}\n\n/**\n * The trigger component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport function DatePickerNextTrigger(props: DatePickerNextTriggerProps) {\n return <DatePicker.NextTrigger {...props} />\n}\n\n/**\n * The trigger component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport function DatePickerViewTrigger(props: DatePickerViewTriggerProps) {\n return <DatePicker.ViewTrigger {...props} />\n}\n\n/**\n * The table head component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport function DatePickerTableHead(props: DatePickerTableHeadProps) {\n return <DatePicker.TableHead {...props} />\n}\n/**\n * The table row component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport function DatePickerTableRow(props: DatePickerTableRowProps) {\n return <DatePicker.TableRow {...props} />\n}\n/**\n * The table body component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport function DatePickerTableBody(props: DatePickerTableBodyProps) {\n return <DatePicker.TableBody {...props} />\n}\n","import type { ElementType } from 'react'\nimport {\n DatePickerClearTrigger,\n DatePickerContent,\n DatePickerContext,\n DatePickerControl,\n DatePickerInputEl,\n DatePickerLabel,\n DatePickerMonthSelect,\n DatePickerNextTrigger,\n DatePickerPositioner,\n DatePickerPrevTrigger,\n DatePickerRangeText,\n DatePickerRoot,\n DatePickerTable,\n DatePickerTableBody,\n DatePickerTableCell,\n DatePickerTableCellTrigger,\n DatePickerTableHead,\n DatePickerTableHeader,\n DatePickerTableRow,\n DatePickerTrigger,\n DatePickerView,\n DatePickerViewControl,\n DatePickerViewTrigger,\n DatePickerYearSelect,\n} from './primitives'\n\n/**\n * This module contains the parts of the DatePicker component.\n * @module 'date-picker/parts'\n */\n\ninterface DatePickerPartsValue {\n /**\n * The container of the date-picker.\n */\n Root: ElementType\n /**\n * The label of the date-picker.\n */\n Label: ElementType\n /**\n * The control of the date-picker.\n */\n Control: ElementType\n /**\n * The input of the date-picker.\n */\n Input: ElementType\n /**\n * The trigger that opens the date-picker.\n */\n Trigger: ElementType\n /**\n * The trigger that clears the value of the date-picker.\n */\n ClearTrigger: ElementType\n /**\n * The positioner of the content for the date-picker.\n */\n Positioner: ElementType\n /**\n * The content of the date-picker.\n */\n Content: ElementType\n /**\n * The year select input of the date-picker.\n */\n YearSelect: ElementType\n /**\n * The month select input of the date-picker.\n */\n MonthSelect: ElementType\n /**\n * The day view of the date-picker.\n */\n View: ElementType\n /**\n * The day context of the date-picker.\n */\n Context: ElementType\n /**\n * The container for the content triggers.\n */\n ViewControl: ElementType\n /**\n * The trigger that moves to the previous month.\n */\n PrevTrigger: ElementType\n /**\n * The trigger that moves to the next month.\n */\n NextTrigger: ElementType\n /**\n * The trigger that moves to the next view.\n */\n ViewTrigger: ElementType\n /**\n * The range text of the date-picker.\n */\n RangeText: ElementType\n /**\n * The table of the date-picker.\n */\n Table: ElementType\n /**\n * The table head of the date-picker.\n */\n TableHead: ElementType\n /**\n * The table row of the date-picker.\n */\n TableRow: ElementType\n /**\n * The header text for the table.\n */\n TableHeader: ElementType\n /**\n * The body of the table.\n */\n TableBody: ElementType\n /**\n * The table cell of the table.\n */\n TableCell: ElementType\n /**\n * The trigger for the table cell.\n */\n TableCellTrigger: ElementType\n}\n\n/**\n * An Object containing the parts of the DatePicker component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the DatePickerParts object and\n * the entire family of components vs. only what you use.\n */\nexport const DatePickerParts: DatePickerPartsValue = {\n Root: DatePickerRoot,\n Label: DatePickerLabel,\n Control: DatePickerControl,\n Input: DatePickerInputEl,\n Trigger: DatePickerTrigger,\n ClearTrigger: DatePickerClearTrigger,\n Positioner: DatePickerPositioner,\n Content: DatePickerContent,\n YearSelect: DatePickerYearSelect,\n MonthSelect: DatePickerMonthSelect,\n View: DatePickerView,\n Context: DatePickerContext,\n ViewControl: DatePickerViewControl,\n PrevTrigger: DatePickerPrevTrigger,\n NextTrigger: DatePickerNextTrigger,\n ViewTrigger: DatePickerViewTrigger,\n RangeText: DatePickerRangeText,\n Table: DatePickerTable,\n TableHead: DatePickerTableHead,\n TableRow: DatePickerTableRow,\n TableHeader: DatePickerTableHeader,\n TableBody: DatePickerTableBody,\n TableCell: DatePickerTableCell,\n TableCellTrigger: DatePickerTableCellTrigger,\n}\n"],"mappings":"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","names":["DatePicker","import_jsx_runtime","DatePicker"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { DatePickerDayView } from '../../_tsup-dts-rollup.cjs';
|
|
2
|
-
export { DateValue } from '../../_tsup-dts-rollup.cjs';
|
|
2
|
+
export { DateValue_alias_1 as DateValue } from '../../_tsup-dts-rollup.cjs';
|
|
@@ -20,6 +20,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/components/date-picker/index.ts
|
|
21
21
|
var date_picker_exports = {};
|
|
22
22
|
__export(date_picker_exports, {
|
|
23
|
+
CalendarDate: () => import_date.CalendarDate,
|
|
24
|
+
DateFormatter: () => import_date.DateFormatter,
|
|
23
25
|
DatePicker: () => DatePicker2,
|
|
24
26
|
DatePickerCalendar: () => DatePickerCalendar,
|
|
25
27
|
DatePickerClearTrigger: () => DatePickerClearTrigger,
|
|
@@ -48,7 +50,10 @@ __export(date_picker_exports, {
|
|
|
48
50
|
DatePickerViewControl: () => DatePickerViewControl,
|
|
49
51
|
DatePickerViewTrigger: () => DatePickerViewTrigger,
|
|
50
52
|
DatePickerYearSelect: () => DatePickerYearSelect,
|
|
51
|
-
RangePickerInput: () => RangePickerInput
|
|
53
|
+
RangePickerInput: () => RangePickerInput,
|
|
54
|
+
getLocalTimeZone: () => import_date.getLocalTimeZone,
|
|
55
|
+
parseDate: () => import_date_picker2.parseDate,
|
|
56
|
+
today: () => import_date.today
|
|
52
57
|
});
|
|
53
58
|
module.exports = __toCommonJS(date_picker_exports);
|
|
54
59
|
|
|
@@ -302,28 +307,23 @@ function DatePickerInput(props) {
|
|
|
302
307
|
DatePickerParts.Input,
|
|
303
308
|
{
|
|
304
309
|
...props,
|
|
305
|
-
|
|
306
|
-
|
|
310
|
+
maxLength: 11,
|
|
311
|
+
placeholder: props.placeholder ?? "DD MMM YYYY"
|
|
307
312
|
}
|
|
308
313
|
)
|
|
309
314
|
] });
|
|
310
315
|
}
|
|
311
316
|
|
|
312
317
|
// src/components/date-picker/range-input.tsx
|
|
313
|
-
var import_react2 = require("react");
|
|
314
318
|
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
315
319
|
function RangePickerInput(props) {
|
|
316
|
-
const { defaultValue, ...nativeProps } = props;
|
|
317
|
-
const startDate = (0, import_react2.useMemo)(() => defaultValue == null ? void 0 : defaultValue[0], [defaultValue]);
|
|
318
|
-
const endDate = (0, import_react2.useMemo)(() => defaultValue == null ? void 0 : defaultValue[1], [defaultValue]);
|
|
319
320
|
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(DatePickerParts.Control, { "data-range": true, children: [
|
|
320
321
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DatePickerTrigger2, {}),
|
|
321
322
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
322
323
|
DatePickerParts.Input,
|
|
323
324
|
{
|
|
324
|
-
...
|
|
325
|
+
...props,
|
|
325
326
|
"data-range-input": true,
|
|
326
|
-
defaultValue: startDate,
|
|
327
327
|
placeholder: props.placeholder ?? "DD MMM YYYY",
|
|
328
328
|
maxLength: 11,
|
|
329
329
|
index: 0
|
|
@@ -332,9 +332,8 @@ function RangePickerInput(props) {
|
|
|
332
332
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
333
333
|
DatePickerParts.Input,
|
|
334
334
|
{
|
|
335
|
-
...
|
|
335
|
+
...props,
|
|
336
336
|
"data-range-input": true,
|
|
337
|
-
defaultValue: endDate,
|
|
338
337
|
"data-range-end-input": true,
|
|
339
338
|
placeholder: props.placeholder ?? "DD MMM YYYY",
|
|
340
339
|
maxLength: 11,
|
|
@@ -345,10 +344,10 @@ function RangePickerInput(props) {
|
|
|
345
344
|
}
|
|
346
345
|
|
|
347
346
|
// src/components/Portal.tsx
|
|
348
|
-
var
|
|
347
|
+
var import_react2 = require("@ark-ui/react");
|
|
349
348
|
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
350
349
|
function Portal(props) {
|
|
351
|
-
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
350
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react2.Portal, { ...props });
|
|
352
351
|
}
|
|
353
352
|
|
|
354
353
|
// src/components/date-picker/content.tsx
|
|
@@ -360,17 +359,17 @@ function DatePickerContent2(props) {
|
|
|
360
359
|
|
|
361
360
|
// src/components/button/button.tsx
|
|
362
361
|
var import_factory2 = require("@ark-ui/react/factory");
|
|
363
|
-
var
|
|
362
|
+
var import_react3 = require("react");
|
|
364
363
|
var import_css3 = require("styled-system/css");
|
|
365
364
|
var import_recipes3 = require("styled-system/recipes");
|
|
366
365
|
var import_jsx = require("styled-system/jsx");
|
|
367
366
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
368
|
-
var ButtonContext = (0,
|
|
367
|
+
var ButtonContext = (0, import_react3.createContext)({
|
|
369
368
|
pending: false
|
|
370
369
|
});
|
|
371
370
|
function Button(props) {
|
|
372
371
|
const { palette, usage, shape, size, pending = false, ...nativeProps } = props;
|
|
373
|
-
const value = (0,
|
|
372
|
+
const value = (0, import_react3.useMemo)(() => ({ pending }), [pending]);
|
|
374
373
|
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ButtonContext.Provider, { value, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
375
374
|
import_factory2.ark.button,
|
|
376
375
|
{
|
|
@@ -418,15 +417,15 @@ function DatePickerViewControlGroup(props) {
|
|
|
418
417
|
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
419
418
|
function DatePickerDayView(props) {
|
|
420
419
|
function isToday(date) {
|
|
421
|
-
const
|
|
422
|
-
const formatted =
|
|
420
|
+
const today2 = /* @__PURE__ */ new Date();
|
|
421
|
+
const formatted = today2.toISOString().split("T")[0];
|
|
423
422
|
const arkDate = `${date.year}-${String(date.month).padStart(2, "0")}-${String(date.day).padStart(2, "0")}`;
|
|
424
423
|
return formatted === arkDate;
|
|
425
424
|
}
|
|
426
425
|
function isPastDay(date) {
|
|
427
|
-
const
|
|
426
|
+
const today2 = /* @__PURE__ */ new Date();
|
|
428
427
|
const arkDate = `${date.year}-${String(date.month).padStart(2, "0")}-${String(date.day).padStart(2, "0")}`;
|
|
429
|
-
return new Date(arkDate) <
|
|
428
|
+
return new Date(arkDate) < today2;
|
|
430
429
|
}
|
|
431
430
|
function getDayValue(date) {
|
|
432
431
|
if (isToday(date)) return "today";
|
|
@@ -475,8 +474,14 @@ function DatePickerCalendar(props) {
|
|
|
475
474
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(DatePickerYearView, {})
|
|
476
475
|
] });
|
|
477
476
|
}
|
|
477
|
+
|
|
478
|
+
// src/components/date-picker/index.ts
|
|
479
|
+
var import_date_picker2 = require("@ark-ui/react/date-picker");
|
|
480
|
+
var import_date = require("@internationalized/date");
|
|
478
481
|
// Annotate the CommonJS export names for ESM import in node:
|
|
479
482
|
0 && (module.exports = {
|
|
483
|
+
CalendarDate,
|
|
484
|
+
DateFormatter,
|
|
480
485
|
DatePicker,
|
|
481
486
|
DatePickerCalendar,
|
|
482
487
|
DatePickerClearTrigger,
|
|
@@ -505,6 +510,9 @@ function DatePickerCalendar(props) {
|
|
|
505
510
|
DatePickerViewControl,
|
|
506
511
|
DatePickerViewTrigger,
|
|
507
512
|
DatePickerYearSelect,
|
|
508
|
-
RangePickerInput
|
|
513
|
+
RangePickerInput,
|
|
514
|
+
getLocalTimeZone,
|
|
515
|
+
parseDate,
|
|
516
|
+
today
|
|
509
517
|
});
|
|
510
518
|
//# sourceMappingURL=index.cjs.map
|