@astroapps/aria-base 1.3.2 → 1.5.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/.rush/temp/chunked-rush-logs/aria-base.build.chunks.jsonl +2 -2
- package/.rush/temp/chunked-rush-logs/aria-base.watch.chunks.jsonl +4 -0
- package/.rush/temp/package-deps_build.json +10 -6
- package/.rush/temp/package-deps_watch.json +14 -0
- package/.rush/temp/shrinkwrap-deps.json +280 -260
- package/lib/Button.d.ts +2 -2
- package/lib/Field.d.ts +73 -0
- package/lib/ListBox.d.ts +76 -0
- package/lib/Modal.d.ts +2 -1
- package/lib/Popover.d.ts +8 -11
- package/lib/Select.d.ts +13 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +239 -47
- package/lib/index.js.map +1 -1
- package/lib/utils.d.ts +17 -0
- package/package.json +10 -6
- package/src/Button.tsx +14 -6
- package/src/Field.tsx +97 -0
- package/src/ListBox.tsx +130 -0
- package/src/Modal.tsx +8 -2
- package/src/Popover.tsx +56 -49
- package/src/Select.tsx +90 -0
- package/src/index.ts +3 -0
- package/src/utils.ts +20 -0
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/Button.tsx","../src/Dialog.tsx","../src/Popover.tsx","../src/Modal.tsx"],"sourcesContent":["import { AriaButtonProps, useButton } from \"react-aria\";\nimport React, { useRef } from \"react\";\n\nexport function Button({\n children,\n className,\n ...props\n}: AriaButtonProps<\"button\"> & { className?: string }) {\n const ref = useRef(null);\n const { buttonProps } = useButton(props, ref);\n return <button {...buttonProps} className={className} children={children} />;\n}\n","import type { AriaDialogProps } from \"react-aria\";\nimport { useDialog } from \"react-aria\";\nimport React, { useRef } from \"react\";\n\nexport interface DialogClasses {\n className?: string;\n titleClass?: string;\n}\nexport interface DialogProps extends AriaDialogProps, DialogClasses {\n title?: React.ReactNode;\n children: React.ReactNode;\n}\n\nexport const DefaultDialogClasses: DialogClasses = {};\nexport function Dialog({ title, children, ...props }: DialogProps) {\n let ref = useRef(null);\n const { className, titleClass } = {\n ...DefaultDialogClasses,\n ...props,\n };\n let { dialogProps, titleProps } = useDialog(props, ref);\n\n return (\n <div {...dialogProps} ref={ref} className={className}>\n {title && (\n <h3 {...titleProps} className={titleClass}>\n {title}\n </h3>\n )}\n {children}\n </div>\n );\n}\n","import type { AriaPopoverProps } from \"react-aria\";\nimport { DismissButton, Overlay, usePopover } from \"react-aria\";\nimport type { OverlayTriggerState } from \"react-stately\";\nimport React, { ReactNode, useRef } from \"react\";\nimport { DOMAttributes } from \"@react-types/shared\";\n\nexport interface PopoverClasses {\n underlayClass?: string;\n popoverClass?: string;\n}\nexport interface PopoverProps\n extends Omit<AriaPopoverProps, \"popoverRef\">,\n PopoverClasses {\n children: React.ReactNode;\n state: OverlayTriggerState;\n portalContainer?: Element;\n renderArrow?: (props: DOMAttributes) => ReactNode;\n}\n\nexport const DefaultPopoverClasses = {\n underlayClass: \"fixed inset-0\",\n popoverClass: \"bg-white\",\n};\n\nexport function Popover({\n children,\n state,\n renderArrow,\n portalContainer,\n ...props\n}: PopoverProps) {\n let popoverRef = useRef(null);\n const { popoverClass, underlayClass } = {\n ...DefaultPopoverClasses,\n ...props,\n };\n let { popoverProps, underlayProps, arrowProps } = usePopover(\n {\n ...props,\n popoverRef,\n },\n state,\n );\n\n return (\n <Overlay portalContainer={portalContainer}>\n <div {...underlayProps} className={underlayClass} />\n <div\n {...popoverProps}\n ref={popoverRef}\n className={popoverClass}\n style={popoverProps.style}\n >\n {renderArrow?.(arrowProps)}\n <DismissButton onDismiss={state.close} />\n {children}\n <DismissButton onDismiss={state.close} />\n </div>\n </Overlay>\n );\n}\n\nexport function createOverlayState(ref: {\n value: boolean;\n}): OverlayTriggerState {\n return {\n isOpen: ref.value,\n setOpen: (o) => (ref.value = o),\n open: () => (ref.value = true),\n close: () => (ref.value = false),\n toggle: () => (ref.value = !ref.value),\n };\n}\n","import React from \"react\";\nimport {\n AriaModalOverlayProps,\n Overlay,\n useModalOverlay,\n useOverlayTrigger,\n} from \"react-aria\";\nimport {\n OverlayTriggerProps,\n OverlayTriggerState,\n useOverlayTriggerState,\n} from \"react-stately\";\nimport { Dialog, DialogProps, DialogClasses } from \"./Dialog\";\n\nexport interface ModalClasses {\n underlayClass?: string;\n containerClass?: string;\n}\n\nexport interface ModalDialogClasses extends DialogClasses, ModalClasses {}\n\nexport const DefaultModalDialogClasses: ModalDialogClasses = {\n underlayClass:\n \"fixed z-[100] inset-0 bg-black bg-opacity-50 flex items-center justify-center backdrop-blur-[2px]\",\n containerClass:\n \"relative m-4 p-4 w-3/5 min-w-[400px] max-w-[80%] rounded-lg bg-white shadow-sm\",\n};\n\nexport interface ModalProps extends AriaModalOverlayProps, ModalClasses {\n state: OverlayTriggerState;\n children: React.ReactElement;\n}\n\nexport interface ModalDialogTriggerProps\n extends OverlayTriggerProps,\n AriaModalOverlayProps {\n trigger: React.ReactElement;\n children: React.ReactElement;\n}\n\nexport interface ModalDialogProps\n extends ModalDialogTriggerProps,\n Omit<DialogProps, \"children\">,\n ModalDialogClasses {\n footer?: React.ReactNode;\n}\n\nexport function Modal({\n state,\n children,\n isDismissable,\n isKeyboardDismissDisabled,\n shouldCloseOnInteractOutside,\n ...props\n}: ModalProps) {\n let ref = React.useRef(null);\n let { modalProps, underlayProps } = useModalOverlay(\n { isDismissable, isKeyboardDismissDisabled, shouldCloseOnInteractOutside },\n state,\n ref,\n );\n\n const { underlayClass, containerClass } = {\n ...DefaultModalDialogClasses,\n ...props,\n };\n\n return (\n <Overlay>\n <div className={underlayClass} {...underlayProps}>\n <div {...modalProps} ref={ref} className={containerClass}>\n {children}\n </div>\n </div>\n </Overlay>\n );\n}\n\nexport function ModalTrigger({\n trigger,\n children,\n ...props\n}: ModalDialogTriggerProps) {\n let state = useOverlayTriggerState({ ...props });\n let { triggerProps, overlayProps } = useOverlayTrigger(\n { type: \"dialog\" },\n state,\n );\n\n const { onPress, ...otherTriggerProps } = triggerProps;\n return (\n <>\n {React.cloneElement(trigger, { ...otherTriggerProps, onClick: onPress })}\n {state.isOpen && (\n <Modal state={state} {...props}>\n {React.cloneElement(children, overlayProps)}\n </Modal>\n )}\n </>\n );\n}\n\nexport function ModalDialog({\n children,\n footer,\n defaultOpen = false,\n isDismissable = true,\n titleClass = \"text-2xl font-bold\",\n ...props\n}: ModalDialogProps) {\n const { className } = {\n ...DefaultModalDialogClasses,\n ...props,\n };\n\n return (\n <ModalTrigger\n defaultOpen={defaultOpen}\n isDismissable={isDismissable}\n {...props}\n >\n <Dialog className={className} {...props}>\n {children}\n {footer}\n </Dialog>\n </ModalTrigger>\n );\n}\n"],"names":["Button","_ref","children","className","props","_objectWithoutPropertiesLoose","_excluded","ref","useRef","_useButton","useButton","buttonProps","React","createElement","_extends","DefaultDialogClasses","Dialog","title","_DefaultDialogClasses","titleClass","_useDialog","useDialog","dialogProps","titleProps","DefaultPopoverClasses","underlayClass","popoverClass","Popover","state","renderArrow","portalContainer","popoverRef","_DefaultPopoverClasse","_usePopover","usePopover","popoverProps","underlayProps","arrowProps","Overlay","style","DismissButton","onDismiss","close","createOverlayState","isOpen","value","setOpen","o","open","toggle","DefaultModalDialogClasses","containerClass","Modal","isDismissable","isKeyboardDismissDisabled","shouldCloseOnInteractOutside","_useModalOverlay","useModalOverlay","modalProps","_DefaultModalDialogCl","ModalTrigger","_ref2","trigger","_excluded2","useOverlayTriggerState","_useOverlayTrigger","useOverlayTrigger","type","triggerProps","overlayProps","onPress","otherTriggerProps","_excluded3","Fragment","cloneElement","onClick","ModalDialog","_ref3","footer","_ref3$defaultOpen","defaultOpen","_ref3$isDismissable","_excluded4","_DefaultModalDialogCl2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/Button.tsx","../src/Dialog.tsx","../src/Popover.tsx","../src/Modal.tsx","../src/utils.ts","../src/Field.tsx","../src/ListBox.tsx","../src/Select.tsx"],"sourcesContent":["import {\n composeRenderProps,\n Button as RACButton,\n ButtonProps as RACButtonProps,\n} from \"react-aria-components\";\nimport React from \"react\";\n\nexport function Button({\n children,\n className,\n ...props\n}: RACButtonProps & { className?: string }) {\n return (\n <RACButton {...props} className={className}>\n {composeRenderProps(children, (children, { isPending }) => (\n <>{children}</>\n ))}\n </RACButton>\n );\n}\n","import type { AriaDialogProps } from \"react-aria\";\nimport { useDialog } from \"react-aria\";\nimport React, { useRef } from \"react\";\n\nexport interface DialogClasses {\n className?: string;\n titleClass?: string;\n}\nexport interface DialogProps extends AriaDialogProps, DialogClasses {\n title?: React.ReactNode;\n children: React.ReactNode;\n}\n\nexport const DefaultDialogClasses: DialogClasses = {};\nexport function Dialog({ title, children, ...props }: DialogProps) {\n let ref = useRef(null);\n const { className, titleClass } = {\n ...DefaultDialogClasses,\n ...props,\n };\n let { dialogProps, titleProps } = useDialog(props, ref);\n\n return (\n <div {...dialogProps} ref={ref} className={className}>\n {title && (\n <h3 {...titleProps} className={titleClass}>\n {title}\n </h3>\n )}\n {children}\n </div>\n );\n}\n","import {\n OverlayArrow,\n Popover as AriaPopover,\n PopoverProps as AriaPopoverProps,\n composeRenderProps,\n} from \"react-aria-components\";\nimport React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { OverlayTriggerState } from \"react-stately\";\n\nexport interface PopoverProps extends Omit<AriaPopoverProps, \"children\"> {\n showArrow?: boolean;\n children: React.ReactNode;\n}\n\nconst styles = tv({\n base: \"font-sans bg-white dark:bg-neutral-900/70 dark:backdrop-blur-2xl dark:backdrop-saturate-200 forced-colors:bg-[Canvas] shadow-2xl rounded-xl bg-clip-padding border border-black/10 dark:border-white/10 text-neutral-700 dark:text-neutral-300 outline-0\",\n variants: {\n isEntering: {\n true: \"animate-in fade-in placement-bottom:slide-in-from-top-1 placement-top:slide-in-from-bottom-1 placement-left:slide-in-from-right-1 placement-right:slide-in-from-left-1 ease-out duration-200\",\n },\n isExiting: {\n true: \"animate-out fade-out placement-bottom:slide-out-to-top-1 placement-top:slide-out-to-bottom-1 placement-left:slide-out-to-right-1 placement-right:slide-out-to-left-1 ease-in duration-150\",\n },\n },\n});\n\nexport function Popover({\n children,\n showArrow,\n className,\n ...props\n}: PopoverProps) {\n let offset = showArrow ? 12 : 8;\n return (\n <AriaPopover\n offset={offset}\n {...props}\n className={composeRenderProps(className, (className, renderProps) =>\n styles({ ...renderProps, className }),\n )}\n >\n {showArrow && (\n <OverlayArrow className=\"group\">\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n className=\"block fill-white dark:fill-[#1f1f21] forced-colors:fill-[Canvas] stroke-1 stroke-black/10 dark:stroke-neutral-700 forced-colors:stroke-[ButtonBorder] group-placement-bottom:rotate-180 group-placement-left:-rotate-90 group-placement-right:rotate-90\"\n >\n <path d=\"M0 0 L6 6 L12 0\" />\n </svg>\n </OverlayArrow>\n )}\n {children}\n </AriaPopover>\n );\n}\n\nexport interface PopoverClasses {\n underlayClass?: string;\n popoverClass?: string;\n}\n\nexport const DefaultPopoverClasses = {\n underlayClass: \"fixed inset-0\",\n popoverClass: \"bg-white\",\n};\n\nexport function createOverlayState(ref: {\n value: boolean;\n}): OverlayTriggerState {\n return {\n isOpen: ref.value,\n setOpen: (o) => (ref.value = o),\n open: () => (ref.value = true),\n close: () => (ref.value = false),\n toggle: () => (ref.value = !ref.value),\n };\n}\n","import React from \"react\";\nimport {\n AriaModalOverlayProps,\n Overlay,\n useModalOverlay,\n useOverlayTrigger,\n} from \"react-aria\";\nimport {\n OverlayTriggerProps,\n OverlayTriggerState,\n useOverlayTriggerState,\n} from \"react-stately\";\nimport { Dialog, DialogProps, DialogClasses } from \"./Dialog\";\n\nexport interface ModalClasses {\n underlayClass?: string;\n containerClass?: string;\n}\n\nexport interface ModalDialogClasses extends DialogClasses, ModalClasses {}\n\nexport const DefaultModalDialogClasses: ModalDialogClasses = {\n underlayClass:\n \"fixed z-[100] inset-0 bg-black bg-opacity-50 flex items-center justify-center backdrop-blur-[2px]\",\n containerClass:\n \"relative m-4 p-4 w-3/5 min-w-[400px] max-w-[80%] rounded-lg bg-white shadow-sm\",\n};\n\nexport interface ModalProps extends AriaModalOverlayProps, ModalClasses {\n state: OverlayTriggerState;\n children: React.ReactElement;\n portalContainer?: Element;\n}\n\nexport interface ModalDialogTriggerProps\n extends OverlayTriggerProps,\n AriaModalOverlayProps {\n trigger: React.ReactElement;\n children: React.ReactElement;\n}\n\nexport interface ModalDialogProps\n extends ModalDialogTriggerProps,\n Omit<DialogProps, \"children\">,\n ModalDialogClasses {\n footer?: React.ReactNode;\n}\n\nexport function Modal({\n state,\n children,\n isDismissable,\n isKeyboardDismissDisabled,\n shouldCloseOnInteractOutside,\n portalContainer,\n ...props\n}: ModalProps) {\n let ref = React.useRef(null);\n let { modalProps, underlayProps } = useModalOverlay(\n { isDismissable, isKeyboardDismissDisabled, shouldCloseOnInteractOutside },\n state,\n ref,\n );\n\n const { underlayClass, containerClass } = {\n ...DefaultModalDialogClasses,\n ...props,\n };\n\n return (\n <Overlay portalContainer={portalContainer}>\n <div className={underlayClass} {...underlayProps}>\n <div {...modalProps} ref={ref} className={containerClass}>\n {children}\n </div>\n </div>\n </Overlay>\n );\n}\n\nexport function ModalTrigger({\n trigger,\n children,\n ...props\n}: ModalDialogTriggerProps) {\n let state = useOverlayTriggerState({ ...props });\n let { triggerProps, overlayProps } = useOverlayTrigger(\n { type: \"dialog\" },\n state,\n );\n\n const { onPress, ...otherTriggerProps } = triggerProps;\n return (\n <>\n // TODO: react-19\n {React.cloneElement(trigger, {\n ...otherTriggerProps,\n onClick: onPress,\n } as any)}\n {state.isOpen && (\n <Modal state={state} {...props}>\n {React.cloneElement(children, overlayProps)}\n </Modal>\n )}\n </>\n );\n}\n\nexport function ModalDialog({\n children,\n footer,\n defaultOpen = false,\n isDismissable = true,\n titleClass = \"text-2xl font-bold\",\n ...props\n}: ModalDialogProps) {\n const { className } = {\n ...DefaultModalDialogClasses,\n ...props,\n };\n\n return (\n <ModalTrigger\n defaultOpen={defaultOpen}\n isDismissable={isDismissable}\n {...props}\n >\n <Dialog className={className} {...props}>\n {children}\n {footer}\n </Dialog>\n </ModalTrigger>\n );\n}\n","import { composeRenderProps } from \"react-aria-components\";\nimport { twMerge } from \"tailwind-merge\";\nimport { tv } from \"tailwind-variants\";\n\nexport const focusRing = tv({\n base: \"outline outline-secondary-600 dark:outline-secondary-500 forced-colors:outline-[Highlight] outline-offset-2\",\n variants: {\n isFocusVisible: {\n false: \"outline-0\",\n true: \"outline-2\",\n },\n },\n});\n\nexport function composeTailwindRenderProps<T>(\n className: string | ((v: T) => string) | undefined,\n tw: string,\n): string | ((v: T) => string) {\n return composeRenderProps(className, (className) => twMerge(tw, className));\n}\n","import React from \"react\";\nimport {\n FieldErrorProps,\n Group,\n GroupProps,\n InputProps,\n LabelProps,\n FieldError as RACFieldError,\n Input as RACInput,\n Label as RACLabel,\n Text,\n TextProps,\n composeRenderProps,\n} from \"react-aria-components\";\nimport { twMerge } from \"tailwind-merge\";\nimport { tv } from \"tailwind-variants\";\nimport { composeTailwindRenderProps, focusRing } from \"./utils\";\n\nexport function Label(props: LabelProps) {\n return (\n <RACLabel\n {...props}\n className={twMerge(\n \"font-sans text-sm text-neutral-600 dark:text-neutral-300 font-medium cursor-default w-fit\",\n props.className,\n )}\n />\n );\n}\n\nexport function Description(props: TextProps) {\n return (\n <Text\n {...props}\n slot=\"description\"\n className={twMerge(\"text-sm text-neutral-600\", props.className)}\n />\n );\n}\n\nexport function FieldError(props: FieldErrorProps) {\n return (\n <RACFieldError\n {...props}\n className={composeTailwindRenderProps(\n props.className,\n \"text-sm text-red-600 forced-colors:text-[Mark]\",\n )}\n />\n );\n}\n\nexport const fieldBorderStyles = tv({\n base: \"transition\",\n variants: {\n isFocusWithin: {\n false:\n \"border-neutral-300 hover:border-neutral-400 dark:border-neutral-600 dark:hover:border-neutral-500 forced-colors:border-[ButtonBorder]\",\n true: \"border-neutral-600 dark:border-neutral-300 forced-colors:border-[Highlight]\",\n },\n isInvalid: {\n true: \"border-red-600 dark:border-red-600 forced-colors:border-[Mark]\",\n },\n isDisabled: {\n true: \"border-neutral-200 dark:border-neutral-700 forced-colors:border-[GrayText]\",\n },\n },\n});\n\nexport const fieldGroupStyles = tv({\n extend: focusRing,\n base: \"group flex items-center h-9 box-border bg-white dark:bg-neutral-900 forced-colors:bg-[Field] border rounded-lg overflow-hidden transition\",\n variants: fieldBorderStyles.variants,\n});\n\nexport function FieldGroup(props: GroupProps) {\n return (\n <Group\n {...props}\n className={composeRenderProps(props.className, (className, renderProps) =>\n fieldGroupStyles({ ...renderProps, className }),\n )}\n />\n );\n}\n\nexport function Input(props: InputProps) {\n return (\n <RACInput\n {...props}\n className={composeTailwindRenderProps(\n props.className,\n \"px-3 py-0 min-h-9 flex-1 min-w-0 border-0 outline outline-0 bg-white dark:bg-neutral-900 font-sans text-sm text-neutral-800 dark:text-neutral-200 placeholder:text-neutral-600 dark:placeholder:text-neutral-400 disabled:text-neutral-200 dark:disabled:text-neutral-600 disabled:placeholder:text-neutral-200 dark:disabled:placeholder:text-neutral-600 [-webkit-tap-highlight-color:transparent]\",\n )}\n />\n );\n}\n","import React from \"react\";\nimport {\n ListBox as AriaListBox,\n ListBoxItem as AriaListBoxItem,\n ListBoxProps as AriaListBoxProps,\n Collection,\n Header,\n ListBoxItemProps,\n ListBoxSection,\n SectionProps,\n composeRenderProps,\n} from \"react-aria-components\";\nimport { tv } from \"tailwind-variants\";\nimport { composeTailwindRenderProps, focusRing } from \"./utils\";\n\ninterface ListBoxProps<T>\n extends Omit<AriaListBoxProps<T>, \"layout\" | \"orientation\"> {}\n\nexport function ListBox<T extends object>({\n children,\n ...props\n}: ListBoxProps<T>) {\n return (\n <AriaListBox\n {...props}\n className={composeTailwindRenderProps(\n props.className,\n \"outline-0 p-1 w-[200px] bg-white dark:bg-neutral-900 border border-neutral-300 dark:border-neutral-700 rounded-lg font-sans\",\n )}\n >\n {children}\n </AriaListBox>\n );\n}\n\nexport const itemStyles = tv({\n extend: focusRing,\n base: \"group relative flex items-center gap-8 cursor-default select-none py-1.5 px-2.5 rounded-md will-change-transform text-sm forced-color-adjust-none\",\n variants: {\n isSelected: {\n false:\n \"text-neutral-700 dark:text-neutral-300 hover:bg-neutral-100 pressed:bg-neutral-100 dark:hover:bg-neutral-800 dark:pressed:bg-neutral-800 -outline-offset-2\",\n true: \"bg-secondary-600 text-white forced-colors:bg-[Highlight] forced-colors:text-[HighlightText] [&:has(+[data-selected])]:rounded-b-none [&+[data-selected]]:rounded-t-none -outline-offset-4 outline-white dark:outline-white forced-colors:outline-[HighlightText]\",\n },\n isDisabled: {\n true: \"text-neutral-300 dark:text-neutral-600 forced-colors:text-[GrayText]\",\n },\n },\n});\n\nexport function ListBoxItem(props: ListBoxItemProps) {\n let textValue =\n props.textValue ||\n (typeof props.children === \"string\" ? props.children : undefined);\n return (\n <AriaListBoxItem {...props} textValue={textValue} className={itemStyles}>\n {composeRenderProps(props.children, (children) => (\n <>\n {children}\n <div className=\"absolute left-4 right-4 bottom-0 h-px bg-white/20 forced-colors:bg-[HighlightText] hidden [.group[data-selected]:has(+[data-selected])_&]:block\" />\n </>\n ))}\n </AriaListBoxItem>\n );\n}\n\nexport const dropdownItemStyles = tv({\n base: \"group flex items-center gap-4 cursor-default select-none py-2 pl-3 pr-3 selected:pr-1 rounded-lg outline outline-0 text-sm forced-color-adjust-none no-underline [&[href]]:cursor-pointer [-webkit-tap-highlight-color:transparent]\",\n variants: {\n isDisabled: {\n false: \"text-neutral-900 dark:text-neutral-100\",\n true: \"text-neutral-300 dark:text-neutral-600 forced-colors:text-[GrayText]\",\n },\n isPressed: {\n true: \"bg-neutral-100 dark:bg-neutral-800\",\n },\n isFocused: {\n true: \"bg-secondary-600 dark:bg-secondary-600 text-white forced-colors:bg-[Highlight] forced-colors:text-[HighlightText]\",\n },\n },\n compoundVariants: [\n {\n isFocused: false,\n isOpen: true,\n className: \"bg-neutral-100 dark:bg-neutral-700/60\",\n },\n ],\n});\n\nexport function DropdownItem(props: ListBoxItemProps) {\n let textValue =\n props.textValue ||\n (typeof props.children === \"string\" ? props.children : undefined);\n return (\n <AriaListBoxItem\n {...props}\n textValue={textValue}\n className={dropdownItemStyles}\n >\n {composeRenderProps(props.children, (children, { isSelected }) => (\n <>\n <span className=\"flex items-center flex-1 gap-2 font-normal truncate group-selected:font-semibold\">\n {children}\n </span>\n <span className=\"flex items-center w-5\">\n {isSelected && <i className=\"w-4 h-4 fa fa-check\" />}\n </span>\n </>\n ))}\n </AriaListBoxItem>\n );\n}\n\nexport interface DropdownSectionProps<T> extends SectionProps<T> {\n title?: string;\n items?: any;\n}\n\nexport function DropdownSection<T extends object>(\n props: DropdownSectionProps<T>,\n) {\n return (\n <ListBoxSection className=\"first:-mt-[5px] after:content-[''] after:block after:h-[5px] last:after:hidden\">\n <Header className=\"text-sm font-semibold text-neutral-500 dark:text-neutral-300 px-4 py-1 truncate sticky -top-[5px] -mt-px -mx-1 z-10 bg-neutral-100/60 dark:bg-neutral-700/60 backdrop-blur-md supports-[-moz-appearance:none]:bg-neutral-100 border-y border-y-neutral-200 dark:border-y-neutral-700 [&+*]:mt-1\">\n {props.title}\n </Header>\n <Collection items={props.items}>{props.children}</Collection>\n </ListBoxSection>\n );\n}\n","import React from \"react\";\nimport {\n Select as AriaSelect,\n SelectProps as AriaSelectProps,\n Button,\n ListBox,\n ListBoxItemProps,\n SelectValue,\n ValidationResult,\n} from \"react-aria-components\";\nimport { tv } from \"tailwind-variants\";\nimport { Description, FieldError, Label } from \"./Field\";\nimport { DropdownItem, DropdownSection, DropdownSectionProps } from \"./ListBox\";\nimport { Popover } from \"./Popover\";\nimport { composeTailwindRenderProps, focusRing } from \"./utils\";\n\nconst styles = tv({\n extend: focusRing,\n base: \"flex items-center text-start gap-4 w-full font-sans border border-black/10 dark:border-white/10 cursor-default rounded-lg pl-3 pr-2 h-9 min-w-[64px] transition bg-neutral-50 dark:bg-neutral-700 [-webkit-tap-highlight-color:transparent]\",\n variants: {\n isDisabled: {\n false:\n \"text-neutral-800 dark:text-neutral-300 hover:bg-neutral-100 pressed:bg-neutral-200 dark:hover:bg-neutral-600 dark:pressed:bg-neutral-500 group-invalid:outline group-invalid:outline-red-600 forced-colors:group-invalid:outline-[Mark]\",\n true: \"border-transparent dark:border-transparent text-neutral-200 dark:text-neutral-600 forced-colors:text-[GrayText] bg-neutral-100 dark:bg-neutral-800\",\n },\n },\n});\n\nexport interface SelectProps<T extends object>\n extends Omit<AriaSelectProps<T>, \"children\"> {\n label?: string;\n description?: string;\n errorMessage?: string | ((validation: ValidationResult) => string);\n items?: Iterable<T>;\n children: React.ReactNode | ((item: T) => React.ReactNode);\n}\n\nexport function Select<T extends object>({\n label,\n description,\n errorMessage,\n children,\n items,\n ...props\n}: SelectProps<T>) {\n return (\n <AriaSelect\n {...props}\n className={composeTailwindRenderProps(\n props.className,\n \"group flex flex-col gap-1 relative font-sans\",\n )}\n >\n {label && <Label>{label}</Label>}\n <Button className={styles}>\n <SelectValue className=\"flex-1 text-sm\">\n {({ selectedText, defaultChildren }) =>\n selectedText || defaultChildren\n }\n </SelectValue>\n <i\n aria-hidden\n className={\n \"w-4 h-4 fa fa-chevron-down text-neutral-600 dark:text-neutral-400 forced-colors:text-[ButtonText] group-disabled:text-neutral-200 dark:group-disabled:text-neutral-600 forced-colors:group-disabled:text-[GrayText]\"\n }\n />\n </Button>\n {description && <Description>{description}</Description>}\n <FieldError>{errorMessage}</FieldError>\n <Popover className=\"min-w-(--trigger-width)\">\n <ListBox\n items={items}\n className=\"outline-hidden box-border p-1 max-h-[inherit] overflow-auto [clip-path:inset(0_0_0_0_round_.75rem)]\"\n >\n {children}\n </ListBox>\n </Popover>\n </AriaSelect>\n );\n}\n\nexport function SelectItem(props: ListBoxItemProps) {\n return <DropdownItem {...props} />;\n}\n\nexport function SelectSection<T extends object>(\n props: DropdownSectionProps<T>,\n) {\n return <DropdownSection {...props} />;\n}\n"],"names":["Button","_ref","children","className","props","_objectWithoutPropertiesLoose","_excluded","React","createElement","RACButton","_extends","composeRenderProps","_ref2","Fragment","DefaultDialogClasses","Dialog","title","ref","useRef","_DefaultDialogClasses","titleClass","_useDialog","useDialog","dialogProps","titleProps","styles","tv","base","variants","isEntering","isExiting","Popover","showArrow","offset","AriaPopover","renderProps","OverlayArrow","width","height","viewBox","d","DefaultPopoverClasses","underlayClass","popoverClass","createOverlayState","isOpen","value","setOpen","o","open","close","toggle","DefaultModalDialogClasses","containerClass","Modal","state","isDismissable","isKeyboardDismissDisabled","shouldCloseOnInteractOutside","portalContainer","_useModalOverlay","useModalOverlay","modalProps","underlayProps","_DefaultModalDialogCl","Overlay","ModalTrigger","trigger","_excluded2","useOverlayTriggerState","_useOverlayTrigger","useOverlayTrigger","type","triggerProps","overlayProps","onPress","otherTriggerProps","_excluded3","cloneElement","onClick","ModalDialog","_ref3","footer","_ref3$defaultOpen","defaultOpen","_ref3$isDismissable","_excluded4","_DefaultModalDialogCl2","focusRing","isFocusVisible","composeTailwindRenderProps","tw","twMerge","Label","RACLabel","Description","Text","slot","FieldError","RACFieldError","fieldBorderStyles","isFocusWithin","isInvalid","isDisabled","fieldGroupStyles","extend","FieldGroup","Group","Input","RACInput","isSelected","dropdownItemStyles","isPressed","isFocused","compoundVariants","DropdownItem","textValue","undefined","AriaListBoxItem","DropdownSection","ListBoxSection","Header","Collection","items","Select","label","description","errorMessage","AriaSelect","SelectValue","selectedText","defaultChildren","ListBox","SelectItem","SelectSection"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOM,SAAUA,MAAMA,CAAAC,IAAA,EAIoB;AAAA,EAAA,IAHxCC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,SAAS,GAAAF,IAAA,CAATE,SAAS;AACNC,IAAAA,KAAK,GAAAC,6BAAA,CAAAJ,IAAA,EAAAK,WAAA,CAAA,CAAA;EAER,oBACEC,yBAAA,CAAAC,aAAA,CAACC,0BAAS,EAAAC,QAAA,KAAKN,KAAK,EAAA;AAAED,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GAAA,CAAA,EACxCQ,sCAAkB,CAACT,QAAQ,EAAE,UAACA,QAAQ,EAAAU,KAAA,EAAA;IAAa,oBAClDL,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAM,QAAA,EAAGX,IAAAA,EAAAA,QAAS,CAAG,CAAA;AAAA,GAChB,CACQ,CAAC,CAAA;AAEhB;;;ACNaY,IAAAA,oBAAoB,GAAkB,GAAE;AAC/C,SAAUC,MAAMA,CAAAd,IAAA,EAA2C;AAAA,EAAA,IAAxCe,KAAK,GAAAf,IAAA,CAALe,KAAK;IAAEd,QAAQ,GAAAD,IAAA,CAARC,QAAQ;AAAKE,IAAAA,KAAK,GAAAC,6BAAA,CAAAJ,IAAA,EAAAK,WAAA,CAAA,CAAA;AAChD,EAAA,IAAIW,GAAG,GAAGC,YAAM,CAAC,IAAI,CAAC,CAAA;AACtB,EAAA,IAAAC,qBAAA,GAAAT,QAAA,CACKI,EAAAA,EAAAA,oBAAoB,EACpBV,KAAK,CAAA;IAFFD,SAAS,GAAAgB,qBAAA,CAAThB,SAAS;IAAEiB,UAAU,GAAAD,qBAAA,CAAVC,UAAU,CAAA;AAI7B,EAAA,IAAAC,UAAA,GAAkCC,mBAAS,CAAClB,KAAK,EAAEa,GAAG,CAAC;IAAjDM,WAAW,GAAAF,UAAA,CAAXE,WAAW;IAAEC,UAAU,GAAAH,UAAA,CAAVG,UAAU,CAAA;AAE7B,EAAA,oBACEjB,yBAAA,CAAAC,aAAA,CAAAE,KAAAA,EAAAA,QAAA,KAASa,WAAW,EAAA;AAAEN,IAAAA,GAAG,EAAEA,GAAI;AAACd,IAAAA,SAAS,EAAEA,SAAAA;GACxCa,CAAAA,EAAAA,KAAK,iBACJT,yBAAA,CAAAC,aAAA,CAAAE,IAAAA,EAAAA,QAAA,KAAQc,UAAU,EAAA;AAAErB,IAAAA,SAAS,EAAEiB,UAAAA;AAAW,GAAA,CAAA,EACvCJ,KACC,CACL,EACAd,QACE,CAAC,CAAA;AAEV;;;ACjBA,IAAMuB,QAAM,GAAGC,mBAAE,CAAC;AAChBC,EAAAA,IAAI,EAAE,0PAA0P;AAChQC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,UAAU,EAAE;MACV,MAAM,EAAA,8LAAA;KACP;AACDC,IAAAA,SAAS,EAAE;MACT,MAAM,EAAA,2LAAA;AACP,KAAA;AACF,GAAA;AACF,CAAA,CAAC,CAAA;AAEc,SAAAC,OAAOA,CAAA9B,IAAA,EAKR;AAAA,EAAA,IAJbC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACR8B,SAAS,GAAA/B,IAAA,CAAT+B,SAAS;IACT7B,SAAS,GAAAF,IAAA,CAATE,SAAS;AACNC,IAAAA,KAAK,GAAAC,6BAAA,CAAAJ,IAAA,EAAAK,WAAA,CAAA,CAAA;AAER,EAAA,IAAI2B,MAAM,GAAGD,SAAS,GAAG,EAAE,GAAG,CAAC,CAAA;AAC/B,EAAA,oBACEzB,yBAAA,CAAAC,aAAA,CAAC0B,2BAAW,EAAAxB,QAAA,CAAA;AACVuB,IAAAA,MAAM,EAAEA,MAAAA;AAAO,GAAA,EACX7B,KAAK,EAAA;IACTD,SAAS,EAAEQ,sCAAkB,CAACR,SAAS,EAAE,UAACA,SAAS,EAAEgC,WAAW,EAAA;AAAA,MAAA,OAC9DV,QAAM,CAAAf,QAAA,CAAA,EAAA,EAAMyB,WAAW,EAAA;AAAEhC,QAAAA,SAAS,EAATA,SAAAA;AAAS,OAAA,CAAE,CAAC,CAAA;AAAA,KAAA,CAAA;AACrC,GAAA,CAAA,EAED6B,SAAS,iBACRzB,yBAAA,CAAAC,aAAA,CAAC4B,gCAAY,EAAA;AAACjC,IAAAA,SAAS,EAAC,OAAA;GACtBI,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACE6B,IAAAA,KAAK,EAAE,EAAG;AACVC,IAAAA,MAAM,EAAE,EAAG;AACXC,IAAAA,OAAO,EAAC,WAAW;AACnBpC,IAAAA,SAAS,EAAC,yPAAA;GAEVI,eAAAA,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMgC,IAAAA,CAAC,EAAC,iBAAA;AAAiB,GAC3B,CAAK,CACO,CACf,EACAtC,QACU,CAAC,CAAA;AAElB,CAAA;AAOO,IAAMuC,qBAAqB,GAAG;AACnCC,EAAAA,aAAa,EAAE,eAAe;AAC9BC,EAAAA,YAAY,EAAE,UAAA;EACf;AAEK,SAAUC,kBAAkBA,CAAC3B,GAElC,EAAA;EACC,OAAO;IACL4B,MAAM,EAAE5B,GAAG,CAAC6B,KAAK;AACjBC,IAAAA,OAAO,EAAE,SAATA,OAAOA,CAAGC,CAAC,EAAA;AAAA,MAAA,OAAM/B,GAAG,CAAC6B,KAAK,GAAGE,CAAC,CAAA;KAAC;IAC/BC,IAAI,EAAE,SAANA,IAAIA,GAAA;AAAA,MAAA,OAAShC,GAAG,CAAC6B,KAAK,GAAG,IAAI,CAAA;KAAC;IAC9BI,KAAK,EAAE,SAAPA,KAAKA,GAAA;AAAA,MAAA,OAASjC,GAAG,CAAC6B,KAAK,GAAG,KAAK,CAAA;KAAC;IAChCK,MAAM,EAAE,SAARA,MAAMA,GAAA;AAAA,MAAA,OAASlC,GAAG,CAAC6B,KAAK,GAAG,CAAC7B,GAAG,CAAC6B,KAAK,CAAA;AAAA,KAAA;GACtC,CAAA;AACH;;;;;;AC1DO,IAAMM,yBAAyB,GAAuB;AAC3DV,EAAAA,aAAa,EACX,mGAAmG;AACrGW,EAAAA,cAAc,EACZ,gFAAA;EACH;SAsBeC,KAAKA,CAAArD,IAAA,EAQR;AAAA,EAAA,IAPXsD,KAAK,GAAAtD,IAAA,CAALsD,KAAK;IACLrD,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRsD,aAAa,GAAAvD,IAAA,CAAbuD,aAAa;IACbC,yBAAyB,GAAAxD,IAAA,CAAzBwD,yBAAyB;IACzBC,4BAA4B,GAAAzD,IAAA,CAA5ByD,4BAA4B;IAC5BC,eAAe,GAAA1D,IAAA,CAAf0D,eAAe;AACZvD,IAAAA,KAAK,GAAAC,6BAAA,CAAAJ,IAAA,EAAAK,WAAA,CAAA,CAAA;AAER,EAAA,IAAIW,GAAG,GAAGV,yBAAK,CAACW,MAAM,CAAC,IAAI,CAAC,CAAA;EAC5B,IAAA0C,gBAAA,GAAoCC,yBAAe,CACjD;AAAEL,MAAAA,aAAa,EAAbA,aAAa;AAAEC,MAAAA,yBAAyB,EAAzBA,yBAAyB;AAAEC,MAAAA,4BAA4B,EAA5BA,4BAAAA;AAA8B,KAAA,EAC1EH,KAAK,EACLtC,GAAG,CACJ;IAJK6C,UAAU,GAAAF,gBAAA,CAAVE,UAAU;IAAEC,aAAa,GAAAH,gBAAA,CAAbG,aAAa,CAAA;AAM/B,EAAA,IAAAC,qBAAA,GAAAtD,QAAA,CACK0C,EAAAA,EAAAA,yBAAyB,EACzBhD,KAAK,CAAA;IAFFsC,aAAa,GAAAsB,qBAAA,CAAbtB,aAAa;IAAEW,cAAc,GAAAW,qBAAA,CAAdX,cAAc,CAAA;AAKrC,EAAA,oBACE9C,yBAAA,CAAAC,aAAA,CAACyD,iBAAO,EAAA;AAACN,IAAAA,eAAe,EAAEA,eAAAA;AAAgB,GAAA,eACxCpD,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAAE,QAAA,CAAA;AAAKP,IAAAA,SAAS,EAAEuC,aAAAA;GAAmBqB,EAAAA,aAAa,gBAC9CxD,yBAAA,CAAAC,aAAA,CAAAE,KAAAA,EAAAA,QAAA,KAASoD,UAAU,EAAA;AAAE7C,IAAAA,GAAG,EAAEA,GAAI;AAACd,IAAAA,SAAS,EAAEkD,cAAAA;GACvCnD,CAAAA,EAAAA,QACE,CACF,CACE,CAAC,CAAA;AAEd,CAAA;AAEM,SAAUgE,YAAYA,CAAAtD,KAAA,EAIF;AAAA,EAAA,IAHxBuD,OAAO,GAAAvD,KAAA,CAAPuD,OAAO;IACPjE,QAAQ,GAAAU,KAAA,CAARV,QAAQ;AACLE,IAAAA,KAAK,GAAAC,6BAAA,CAAAO,KAAA,EAAAwD,UAAA,CAAA,CAAA;EAER,IAAIb,KAAK,GAAGc,mCAAsB,CAAA3D,QAAA,CAAMN,EAAAA,EAAAA,KAAK,CAAE,CAAC,CAAA;EAChD,IAAAkE,kBAAA,GAAqCC,2BAAiB,CACpD;AAAEC,MAAAA,IAAI,EAAE,QAAA;KAAU,EAClBjB,KAAK,CACN;IAHKkB,YAAY,GAAAH,kBAAA,CAAZG,YAAY;IAAEC,YAAY,GAAAJ,kBAAA,CAAZI,YAAY,CAAA;AAKhC,EAAA,IAAQC,OAAO,GAA2BF,YAAY,CAA9CE,OAAO;AAAKC,IAAAA,iBAAiB,GAAAvE,6BAAA,CAAKoE,YAAY,EAAAI,UAAA,CAAA,CAAA;AACtD,EAAA,oBACEtE,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAM,QAAA,EAEE,IAAA,EAAA,mBAAA,EAACN,yBAAK,CAACuE,YAAY,CAACX,OAAO,EAAAzD,QAAA,KACtBkE,iBAAiB,EAAA;AACpBG,IAAAA,OAAO,EAAEJ,OAAAA;AAAO,GAAA,CACV,CAAC,EACRpB,KAAK,CAACV,MAAM,iBACXtC,yBAAA,CAAAC,aAAA,CAAC8C,KAAK,EAAA5C,QAAA,CAAA;AAAC6C,IAAAA,KAAK,EAAEA,KAAAA;GAAWnD,EAAAA,KAAK,CAC3BG,EAAAA,yBAAK,CAACuE,YAAY,CAAC5E,QAAQ,EAAEwE,YAAY,CACrC,CAEX,CAAG,CAAA;AAEP,CAAA;AAEM,SAAUM,WAAWA,CAAAC,KAAA,EAOR;AAAA,EAAA,IANjB/E,QAAQ,GAAA+E,KAAA,CAAR/E,QAAQ,CAAA;IACRgF,MAAM,GAAAD,KAAA,CAANC,MAAM,CAAA;IAAAC,iBAAA,GAAAF,KAAA,CACNG,WAAW,CAAA;AAAXA,IAAAA,WAAW,GAAAD,iBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,iBAAA,CAAA;IAAAE,mBAAA,GAAAJ,KAAA,CACnBzB,aAAa,CAAA;AAAbA,IAAAA,aAAa,GAAA6B,mBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,mBAAA,CAAA;IAEjBjF,KAAK,GAAAC,6BAAA,CAAA4E,KAAA,EAAAK,UAAA,EAAA;AAER,EAAA,IAAAC,sBAAA,GAAA7E,QAAA,CACK0C,EAAAA,EAAAA,yBAAyB,EACzBhD,KAAK,CAAA;IAFFD,SAAS,GAAAoF,sBAAA,CAATpF,SAAS,CAAA;AAKjB,EAAA,oBACEI,yBAAA,CAAAC,aAAA,CAAC0D,YAAY,EAAAxD,QAAA,CAAA;AACX0E,IAAAA,WAAW,EAAEA,WAAY;AACzB5B,IAAAA,aAAa,EAAEA,aAAAA;GACXpD,EAAAA,KAAK,gBAETG,yBAAA,CAAAC,aAAA,CAACO,MAAM,EAAAL,QAAA,CAAA;AAACP,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GAAA,EAAKC,KAAK,CACpCF,EAAAA,QAAQ,EACRgF,MACK,CACI,CAAC,CAAA;AAEnB;;ACjIaM,IAAAA,SAAS,GAAG9D,mBAAE,CAAC;AAC1BC,EAAAA,IAAI,EAAE,6GAA6G;AACnHC,EAAAA,QAAQ,EAAE;AACR6D,IAAAA,cAAc,EAAE;AACd,MAAA,OAAA,EAAO,WAAW;MAClB,MAAM,EAAA,WAAA;AACP,KAAA;AACF,GAAA;AACF,CAAA,EAAC;AAEc,SAAAC,0BAA0BA,CACxCvF,SAAkD,EAClDwF,EAAU,EAAA;AAEV,EAAA,OAAOhF,sCAAkB,CAACR,SAAS,EAAE,UAACA,SAAS,EAAA;AAAA,IAAA,OAAKyF,qBAAO,CAACD,EAAE,EAAExF,SAAS,CAAC,CAAA;GAAC,CAAA,CAAA;AAC7E;;ACDM,SAAU0F,KAAKA,CAACzF,KAAiB,EAAA;EACrC,oBACEG,yBAAA,CAAAC,aAAA,CAACsF,yBAAQ,EAAApF,QAAA,KACHN,KAAK,EAAA;AACTD,IAAAA,SAAS,EAAEyF,qBAAO,CAChB,2FAA2F,EAC3FxF,KAAK,CAACD,SAAS,CAAA;AACf,GAAA,CACF,CAAA,CAAA;AAEN,CAAA;AAEM,SAAU4F,WAAWA,CAAC3F,KAAgB,EAAA;EAC1C,oBACEG,yBAAA,CAAAC,aAAA,CAACwF,wBAAI,EAAAtF,QAAA,KACCN,KAAK,EAAA;AACT6F,IAAAA,IAAI,EAAC,aAAa;AAClB9F,IAAAA,SAAS,EAAEyF,qBAAO,CAAC,0BAA0B,EAAExF,KAAK,CAACD,SAAS,CAAA;AAAE,GAAA,CAChE,CAAA,CAAA;AAEN,CAAA;AAEM,SAAU+F,UAAUA,CAAC9F,KAAsB,EAAA;EAC/C,oBACEG,yBAAA,CAAAC,aAAA,CAAC2F,8BAAa,EAAAzF,QAAA,KACRN,KAAK,EAAA;AACTD,IAAAA,SAAS,EAAEuF,0BAA0B,CACnCtF,KAAK,CAACD,SAAS,EACf,gDAAgD,CAAA;AAChD,GAAA,CACF,CAAA,CAAA;AAEN,CAAA;AAEaiG,IAAAA,iBAAiB,GAAG1E,mBAAE,CAAC;AAClCC,EAAAA,IAAI,EAAE,YAAY;AAClBC,EAAAA,QAAQ,EAAE;AACRyE,IAAAA,aAAa,EAAE;AACb,MAAA,OAAA,EACE,uIAAuI;MACzI,MAAM,EAAA,6EAAA;KACP;AACDC,IAAAA,SAAS,EAAE;MACT,MAAM,EAAA,gEAAA;KACP;AACDC,IAAAA,UAAU,EAAE;MACV,MAAM,EAAA,4EAAA;AACP,KAAA;AACF,GAAA;AACF,CAAA,EAAC;AAEWC,IAAAA,gBAAgB,GAAG9E,mBAAE,CAAC;AACjC+E,EAAAA,MAAM,EAAEjB,SAAS;AACjB7D,EAAAA,IAAI,EAAE,2IAA2I;EACjJC,QAAQ,EAAEwE,iBAAiB,CAACxE,QAAAA;AAC7B,CAAA,EAAC;AAEI,SAAU8E,UAAUA,CAACtG,KAAiB,EAAA;EAC1C,oBACEG,yBAAA,CAAAC,aAAA,CAACmG,yBAAK,EAAAjG,QAAA,KACAN,KAAK,EAAA;IACTD,SAAS,EAAEQ,sCAAkB,CAACP,KAAK,CAACD,SAAS,EAAE,UAACA,SAAS,EAAEgC,WAAW,EAAA;AAAA,MAAA,OACpEqE,gBAAgB,CAAA9F,QAAA,CAAA,EAAA,EAAMyB,WAAW,EAAA;AAAEhC,QAAAA,SAAS,EAATA,SAAAA;AAAS,OAAA,CAAE,CAAC,CAAA;AAAA,KAAA,CAAA;AAC/C,GAAA,CAAA,CACF,CAAA;AAEN,CAAA;AAEM,SAAUyG,KAAKA,CAACxG,KAAiB,EAAA;EACrC,oBACEG,yBAAA,CAAAC,aAAA,CAACqG,yBAAQ,EAAAnG,QAAA,KACHN,KAAK,EAAA;AACTD,IAAAA,SAAS,EAAEuF,0BAA0B,CACnCtF,KAAK,CAACD,SAAS,EACf,sYAAsY,CAAA;AACtY,GAAA,CACF,CAAA,CAAA;AAEN;;AC7D0BuB,mBAAE,CAAC;AAC3B+E,EAAAA,MAAM,EAAEjB,SAAS;AACjB7D,EAAAA,IAAI,EAAE,mJAAmJ;AACzJC,EAAAA,QAAQ,EAAE;AACRkF,IAAAA,UAAU,EAAE;AACV,MAAA,OAAA,EACE,4JAA4J;MAC9J,MAAM,EAAA,kQAAA;KACP;AACDP,IAAAA,UAAU,EAAE;MACV,MAAM,EAAA,sEAAA;AACP,KAAA;AACF,GAAA;AACF,CAAA,EAAC;AAkBK,IAAMQ,kBAAkB,GAAGrF,mBAAE,CAAC;AACnCC,EAAAA,IAAI,EAAE,qOAAqO;AAC3OC,EAAAA,QAAQ,EAAE;AACR2E,IAAAA,UAAU,EAAE;AACV,MAAA,OAAA,EAAO,wCAAwC;MAC/C,MAAM,EAAA,sEAAA;KACP;AACDS,IAAAA,SAAS,EAAE;MACT,MAAM,EAAA,oCAAA;KACP;AACDC,IAAAA,SAAS,EAAE;MACT,MAAM,EAAA,mHAAA;AACP,KAAA;GACF;AACDC,EAAAA,gBAAgB,EAAE,CAChB;AACED,IAAAA,SAAS,EAAE,KAAK;AAChBpE,IAAAA,MAAM,EAAE,IAAI;AACZ1C,IAAAA,SAAS,EAAE,uCAAA;GACZ,CAAA;AAEJ,CAAA,CAAC,CAAA;AAEI,SAAUgH,YAAYA,CAAC/G,KAAuB,EAAA;AAClD,EAAA,IAAIgH,SAAS,GACXhH,KAAK,CAACgH,SAAS,KACd,OAAOhH,KAAK,CAACF,QAAQ,KAAK,QAAQ,GAAGE,KAAK,CAACF,QAAQ,GAAGmH,SAAS,CAAC,CAAA;EACnE,oBACE9G,yBAAA,CAAAC,aAAA,CAAC8G,+BAAe,EAAA5G,QAAA,KACVN,KAAK,EAAA;AACTgH,IAAAA,SAAS,EAAEA,SAAU;AACrBjH,IAAAA,SAAS,EAAE4G,kBAAAA;GAEVpG,CAAAA,EAAAA,sCAAkB,CAACP,KAAK,CAACF,QAAQ,EAAE,UAACA,QAAQ,EAAAU,KAAA,EAAA;AAAA,IAAA,IAAIkG,UAAU,GAAAlG,KAAA,CAAVkG,UAAU,CAAA;IAAA,oBACzDvG,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAM,QAAA,EAAA,IAAA,eACEN,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAML,MAAAA,SAAS,EAAC,kFAAA;AAAkF,KAAA,EAC/FD,QACG,CACN,eAAAK,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAML,MAAAA,SAAS,EAAC,uBAAA;AAAuB,KAAA,EACpC2G,UAAU,iBAAIvG,yBAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AAAGL,MAAAA,SAAS,EAAC,qBAAA;KAAqB,CAC7C,CACL,CAAA,CAAA;AAAA,GACJ,CACc,CAAC,CAAA;AAEtB,CAAA;AAOM,SAAUoH,eAAeA,CAC7BnH,KAA8B,EAAA;AAE9B,EAAA,oBACEG,yBAAA,CAAAC,aAAA,CAACgH,kCAAc,EAAA;AAACrH,IAAAA,SAAS,EAAC,gFAAA;AAAgF,GAAA,eACxGI,yBAAA,CAAAC,aAAA,CAACiH,0BAAM,EAAA;AAACtH,IAAAA,SAAS,EAAC,iSAAA;GACfC,EAAAA,KAAK,CAACY,KACD,CACR,eAAAT,yBAAA,CAAAC,aAAA,CAACkH,8BAAU,EAAA;IAACC,KAAK,EAAEvH,KAAK,CAACuH,KAAAA;AAAM,GAAA,EAAEvH,KAAK,CAACF,QAAqB,CAC9C,CAAC,CAAA;AAErB;;;ACjHA,IAAMuB,MAAM,GAAGC,mBAAE,CAAC;AAChB+E,EAAAA,MAAM,EAAEjB,SAAS;AACjB7D,EAAAA,IAAI,EAAE,6OAA6O;AACnPC,EAAAA,QAAQ,EAAE;AACR2E,IAAAA,UAAU,EAAE;AACV,MAAA,OAAA,EACE,yOAAyO;MAC3O,MAAM,EAAA,oJAAA;AACP,KAAA;AACF,GAAA;AACF,CAAA,CAAC,CAAA;SAWcqB,MAAMA,CAAA3H,IAAA,EAOL;AAAA,EAAA,IANf4H,KAAK,GAAA5H,IAAA,CAAL4H,KAAK;IACLC,WAAW,GAAA7H,IAAA,CAAX6H,WAAW;IACXC,YAAY,GAAA9H,IAAA,CAAZ8H,YAAY;IACZ7H,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRyH,KAAK,GAAA1H,IAAA,CAAL0H,KAAK;AACFvH,IAAAA,KAAK,GAAAC,6BAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA,CAAA;EAER,oBACEC,yBAAA,CAAAC,aAAA,CAACwH,0BAAU,EAAAtH,QAAA,KACLN,KAAK,EAAA;AACTD,IAAAA,SAAS,EAAEuF,0BAA0B,CACnCtF,KAAK,CAACD,SAAS,EACf,8CAA8C,CAAA;AAC9C,GAAA,CAAA,EAED0H,KAAK,iBAAItH,yBAAA,CAAAC,aAAA,CAACqF,KAAK,EAAEgC,IAAAA,EAAAA,KAAa,CAAC,eAChCtH,yBAAA,CAAAC,aAAA,CAACR,0BAAM,EAAA;AAACG,IAAAA,SAAS,EAAEsB,MAAAA;AAAO,GAAA,eACxBlB,yBAAA,CAAAC,aAAA,CAACyH,+BAAW,EAAA;AAAC9H,IAAAA,SAAS,EAAC,gBAAA;AAAgB,GAAA,EACpC,UAAAS,KAAA,EAAA;AAAA,IAAA,IAAGsH,YAAY,GAAAtH,KAAA,CAAZsH,YAAY;MAAEC,eAAe,GAAAvH,KAAA,CAAfuH,eAAe,CAAA;IAAA,OAC/BD,YAAY,IAAIC,eAClB,CAAA;AAAA,GACW,CACb,eAAA5H,yBAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;IACE,aAAW,EAAA,IAAA;AACXL,IAAAA,SAAS,EACP,qNAAA;GAGN,CAAQ,CACR,EAAC2H,WAAW,iBAAIvH,yBAAA,CAAAC,aAAA,CAACuF,WAAW,EAAA,IAAA,EAAE+B,WAAyB,CAAC,eACxDvH,yBAAA,CAAAC,aAAA,CAAC0F,UAAU,EAAE6B,IAAAA,EAAAA,YAAyB,CACtC,eAAAxH,yBAAA,CAAAC,aAAA,CAACuB,OAAO,EAAA;AAAC5B,IAAAA,SAAS,EAAC,yBAAA;AAAyB,GAAA,eAC1CI,yBAAA,CAAAC,aAAA,CAAC4H,2BAAO,EAAA;AACNT,IAAAA,KAAK,EAAEA,KAAM;AACbxH,IAAAA,SAAS,EAAC,qGAAA;GAETD,EAAAA,QACM,CACF,CACC,CAAC,CAAA;AAEjB,CAAA;AAEM,SAAUmI,UAAUA,CAACjI,KAAuB,EAAA;AAChD,EAAA,oBAAOG,yBAAA,CAAAC,aAAA,CAAC2G,YAAY,EAAK/G,MAAS,CAAA;AACpC,CAAA;AAEM,SAAUkI,aAAaA,CAC3BlI,KAA8B,EAAA;AAE9B,EAAA,oBAAOG,yBAAA,CAAAC,aAAA,CAAC+G,eAAe,EAAKnH,MAAS,CAAA;AACvC;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/lib/utils.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const focusRing: import("tailwind-variants").TVReturnType<{
|
|
2
|
+
isFocusVisible: {
|
|
3
|
+
false: string;
|
|
4
|
+
true: string;
|
|
5
|
+
};
|
|
6
|
+
}, undefined, "outline outline-secondary-600 dark:outline-secondary-500 forced-colors:outline-[Highlight] outline-offset-2", {
|
|
7
|
+
isFocusVisible: {
|
|
8
|
+
false: string;
|
|
9
|
+
true: string;
|
|
10
|
+
};
|
|
11
|
+
}, undefined, import("tailwind-variants").TVReturnType<{
|
|
12
|
+
isFocusVisible: {
|
|
13
|
+
false: string;
|
|
14
|
+
true: string;
|
|
15
|
+
};
|
|
16
|
+
}, undefined, "outline outline-secondary-600 dark:outline-secondary-500 forced-colors:outline-[Highlight] outline-offset-2", unknown, unknown, undefined>>;
|
|
17
|
+
export declare function composeTailwindRenderProps<T>(className: string | ((v: T) => string) | undefined, tw: string): string | ((v: T) => string);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@astroapps/aria-base",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -18,21 +18,25 @@
|
|
|
18
18
|
"react-dom": "^18.0.0 || ^19"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"react-stately": "^3.
|
|
22
|
-
"react-aria": "^3.
|
|
23
|
-
"
|
|
21
|
+
"react-stately": "^3.40.0",
|
|
22
|
+
"react-aria": "^3.42.0",
|
|
23
|
+
"react-aria-components": "^1.8.0",
|
|
24
|
+
"clsx": "^2",
|
|
25
|
+
"tailwind-variants": "^3.2.2",
|
|
26
|
+
"tailwind-merge": "^3.4.0"
|
|
24
27
|
},
|
|
25
28
|
"devDependencies": {
|
|
26
29
|
"react": "^18.2.0 || ^19",
|
|
30
|
+
"react-dom": "^18.0.0 || ^19",
|
|
27
31
|
"microbundle": "^0.15.1",
|
|
28
32
|
"typescript": "^5.6.2",
|
|
29
|
-
"@types/react": "^18.2.37",
|
|
33
|
+
"@types/react": "^18.2.37 || ^19",
|
|
30
34
|
"prettier": "^3.0.3",
|
|
31
35
|
"rimraf": "^5.0.7",
|
|
32
36
|
"@react-types/shared": "^3.23.1"
|
|
33
37
|
},
|
|
34
38
|
"scripts": {
|
|
35
39
|
"build": "rimraf ./lib/ && microbundle -f cjs --no-compress --jsx React.createElement --jsxFragment React.Fragment",
|
|
36
|
-
"watch": "microbundle -
|
|
40
|
+
"watch": "microbundle -f cjs --no-compress --jsx React.createElement --jsxFragment React.Fragment"
|
|
37
41
|
}
|
|
38
42
|
}
|
package/src/Button.tsx
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import {
|
|
2
|
+
composeRenderProps,
|
|
3
|
+
Button as RACButton,
|
|
4
|
+
ButtonProps as RACButtonProps,
|
|
5
|
+
} from "react-aria-components";
|
|
6
|
+
import React from "react";
|
|
3
7
|
|
|
4
8
|
export function Button({
|
|
5
9
|
children,
|
|
6
10
|
className,
|
|
7
11
|
...props
|
|
8
|
-
}:
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
}: RACButtonProps & { className?: string }) {
|
|
13
|
+
return (
|
|
14
|
+
<RACButton {...props} className={className}>
|
|
15
|
+
{composeRenderProps(children, (children, { isPending }) => (
|
|
16
|
+
<>{children}</>
|
|
17
|
+
))}
|
|
18
|
+
</RACButton>
|
|
19
|
+
);
|
|
12
20
|
}
|
package/src/Field.tsx
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import {
|
|
3
|
+
FieldErrorProps,
|
|
4
|
+
Group,
|
|
5
|
+
GroupProps,
|
|
6
|
+
InputProps,
|
|
7
|
+
LabelProps,
|
|
8
|
+
FieldError as RACFieldError,
|
|
9
|
+
Input as RACInput,
|
|
10
|
+
Label as RACLabel,
|
|
11
|
+
Text,
|
|
12
|
+
TextProps,
|
|
13
|
+
composeRenderProps,
|
|
14
|
+
} from "react-aria-components";
|
|
15
|
+
import { twMerge } from "tailwind-merge";
|
|
16
|
+
import { tv } from "tailwind-variants";
|
|
17
|
+
import { composeTailwindRenderProps, focusRing } from "./utils";
|
|
18
|
+
|
|
19
|
+
export function Label(props: LabelProps) {
|
|
20
|
+
return (
|
|
21
|
+
<RACLabel
|
|
22
|
+
{...props}
|
|
23
|
+
className={twMerge(
|
|
24
|
+
"font-sans text-sm text-neutral-600 dark:text-neutral-300 font-medium cursor-default w-fit",
|
|
25
|
+
props.className,
|
|
26
|
+
)}
|
|
27
|
+
/>
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export function Description(props: TextProps) {
|
|
32
|
+
return (
|
|
33
|
+
<Text
|
|
34
|
+
{...props}
|
|
35
|
+
slot="description"
|
|
36
|
+
className={twMerge("text-sm text-neutral-600", props.className)}
|
|
37
|
+
/>
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export function FieldError(props: FieldErrorProps) {
|
|
42
|
+
return (
|
|
43
|
+
<RACFieldError
|
|
44
|
+
{...props}
|
|
45
|
+
className={composeTailwindRenderProps(
|
|
46
|
+
props.className,
|
|
47
|
+
"text-sm text-red-600 forced-colors:text-[Mark]",
|
|
48
|
+
)}
|
|
49
|
+
/>
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export const fieldBorderStyles = tv({
|
|
54
|
+
base: "transition",
|
|
55
|
+
variants: {
|
|
56
|
+
isFocusWithin: {
|
|
57
|
+
false:
|
|
58
|
+
"border-neutral-300 hover:border-neutral-400 dark:border-neutral-600 dark:hover:border-neutral-500 forced-colors:border-[ButtonBorder]",
|
|
59
|
+
true: "border-neutral-600 dark:border-neutral-300 forced-colors:border-[Highlight]",
|
|
60
|
+
},
|
|
61
|
+
isInvalid: {
|
|
62
|
+
true: "border-red-600 dark:border-red-600 forced-colors:border-[Mark]",
|
|
63
|
+
},
|
|
64
|
+
isDisabled: {
|
|
65
|
+
true: "border-neutral-200 dark:border-neutral-700 forced-colors:border-[GrayText]",
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
export const fieldGroupStyles = tv({
|
|
71
|
+
extend: focusRing,
|
|
72
|
+
base: "group flex items-center h-9 box-border bg-white dark:bg-neutral-900 forced-colors:bg-[Field] border rounded-lg overflow-hidden transition",
|
|
73
|
+
variants: fieldBorderStyles.variants,
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
export function FieldGroup(props: GroupProps) {
|
|
77
|
+
return (
|
|
78
|
+
<Group
|
|
79
|
+
{...props}
|
|
80
|
+
className={composeRenderProps(props.className, (className, renderProps) =>
|
|
81
|
+
fieldGroupStyles({ ...renderProps, className }),
|
|
82
|
+
)}
|
|
83
|
+
/>
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export function Input(props: InputProps) {
|
|
88
|
+
return (
|
|
89
|
+
<RACInput
|
|
90
|
+
{...props}
|
|
91
|
+
className={composeTailwindRenderProps(
|
|
92
|
+
props.className,
|
|
93
|
+
"px-3 py-0 min-h-9 flex-1 min-w-0 border-0 outline outline-0 bg-white dark:bg-neutral-900 font-sans text-sm text-neutral-800 dark:text-neutral-200 placeholder:text-neutral-600 dark:placeholder:text-neutral-400 disabled:text-neutral-200 dark:disabled:text-neutral-600 disabled:placeholder:text-neutral-200 dark:disabled:placeholder:text-neutral-600 [-webkit-tap-highlight-color:transparent]",
|
|
94
|
+
)}
|
|
95
|
+
/>
|
|
96
|
+
);
|
|
97
|
+
}
|
package/src/ListBox.tsx
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import {
|
|
3
|
+
ListBox as AriaListBox,
|
|
4
|
+
ListBoxItem as AriaListBoxItem,
|
|
5
|
+
ListBoxProps as AriaListBoxProps,
|
|
6
|
+
Collection,
|
|
7
|
+
Header,
|
|
8
|
+
ListBoxItemProps,
|
|
9
|
+
ListBoxSection,
|
|
10
|
+
SectionProps,
|
|
11
|
+
composeRenderProps,
|
|
12
|
+
} from "react-aria-components";
|
|
13
|
+
import { tv } from "tailwind-variants";
|
|
14
|
+
import { composeTailwindRenderProps, focusRing } from "./utils";
|
|
15
|
+
|
|
16
|
+
interface ListBoxProps<T>
|
|
17
|
+
extends Omit<AriaListBoxProps<T>, "layout" | "orientation"> {}
|
|
18
|
+
|
|
19
|
+
export function ListBox<T extends object>({
|
|
20
|
+
children,
|
|
21
|
+
...props
|
|
22
|
+
}: ListBoxProps<T>) {
|
|
23
|
+
return (
|
|
24
|
+
<AriaListBox
|
|
25
|
+
{...props}
|
|
26
|
+
className={composeTailwindRenderProps(
|
|
27
|
+
props.className,
|
|
28
|
+
"outline-0 p-1 w-[200px] bg-white dark:bg-neutral-900 border border-neutral-300 dark:border-neutral-700 rounded-lg font-sans",
|
|
29
|
+
)}
|
|
30
|
+
>
|
|
31
|
+
{children}
|
|
32
|
+
</AriaListBox>
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export const itemStyles = tv({
|
|
37
|
+
extend: focusRing,
|
|
38
|
+
base: "group relative flex items-center gap-8 cursor-default select-none py-1.5 px-2.5 rounded-md will-change-transform text-sm forced-color-adjust-none",
|
|
39
|
+
variants: {
|
|
40
|
+
isSelected: {
|
|
41
|
+
false:
|
|
42
|
+
"text-neutral-700 dark:text-neutral-300 hover:bg-neutral-100 pressed:bg-neutral-100 dark:hover:bg-neutral-800 dark:pressed:bg-neutral-800 -outline-offset-2",
|
|
43
|
+
true: "bg-secondary-600 text-white forced-colors:bg-[Highlight] forced-colors:text-[HighlightText] [&:has(+[data-selected])]:rounded-b-none [&+[data-selected]]:rounded-t-none -outline-offset-4 outline-white dark:outline-white forced-colors:outline-[HighlightText]",
|
|
44
|
+
},
|
|
45
|
+
isDisabled: {
|
|
46
|
+
true: "text-neutral-300 dark:text-neutral-600 forced-colors:text-[GrayText]",
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
export function ListBoxItem(props: ListBoxItemProps) {
|
|
52
|
+
let textValue =
|
|
53
|
+
props.textValue ||
|
|
54
|
+
(typeof props.children === "string" ? props.children : undefined);
|
|
55
|
+
return (
|
|
56
|
+
<AriaListBoxItem {...props} textValue={textValue} className={itemStyles}>
|
|
57
|
+
{composeRenderProps(props.children, (children) => (
|
|
58
|
+
<>
|
|
59
|
+
{children}
|
|
60
|
+
<div className="absolute left-4 right-4 bottom-0 h-px bg-white/20 forced-colors:bg-[HighlightText] hidden [.group[data-selected]:has(+[data-selected])_&]:block" />
|
|
61
|
+
</>
|
|
62
|
+
))}
|
|
63
|
+
</AriaListBoxItem>
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export const dropdownItemStyles = tv({
|
|
68
|
+
base: "group flex items-center gap-4 cursor-default select-none py-2 pl-3 pr-3 selected:pr-1 rounded-lg outline outline-0 text-sm forced-color-adjust-none no-underline [&[href]]:cursor-pointer [-webkit-tap-highlight-color:transparent]",
|
|
69
|
+
variants: {
|
|
70
|
+
isDisabled: {
|
|
71
|
+
false: "text-neutral-900 dark:text-neutral-100",
|
|
72
|
+
true: "text-neutral-300 dark:text-neutral-600 forced-colors:text-[GrayText]",
|
|
73
|
+
},
|
|
74
|
+
isPressed: {
|
|
75
|
+
true: "bg-neutral-100 dark:bg-neutral-800",
|
|
76
|
+
},
|
|
77
|
+
isFocused: {
|
|
78
|
+
true: "bg-secondary-600 dark:bg-secondary-600 text-white forced-colors:bg-[Highlight] forced-colors:text-[HighlightText]",
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
compoundVariants: [
|
|
82
|
+
{
|
|
83
|
+
isFocused: false,
|
|
84
|
+
isOpen: true,
|
|
85
|
+
className: "bg-neutral-100 dark:bg-neutral-700/60",
|
|
86
|
+
},
|
|
87
|
+
],
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
export function DropdownItem(props: ListBoxItemProps) {
|
|
91
|
+
let textValue =
|
|
92
|
+
props.textValue ||
|
|
93
|
+
(typeof props.children === "string" ? props.children : undefined);
|
|
94
|
+
return (
|
|
95
|
+
<AriaListBoxItem
|
|
96
|
+
{...props}
|
|
97
|
+
textValue={textValue}
|
|
98
|
+
className={dropdownItemStyles}
|
|
99
|
+
>
|
|
100
|
+
{composeRenderProps(props.children, (children, { isSelected }) => (
|
|
101
|
+
<>
|
|
102
|
+
<span className="flex items-center flex-1 gap-2 font-normal truncate group-selected:font-semibold">
|
|
103
|
+
{children}
|
|
104
|
+
</span>
|
|
105
|
+
<span className="flex items-center w-5">
|
|
106
|
+
{isSelected && <i className="w-4 h-4 fa fa-check" />}
|
|
107
|
+
</span>
|
|
108
|
+
</>
|
|
109
|
+
))}
|
|
110
|
+
</AriaListBoxItem>
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export interface DropdownSectionProps<T> extends SectionProps<T> {
|
|
115
|
+
title?: string;
|
|
116
|
+
items?: any;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
export function DropdownSection<T extends object>(
|
|
120
|
+
props: DropdownSectionProps<T>,
|
|
121
|
+
) {
|
|
122
|
+
return (
|
|
123
|
+
<ListBoxSection className="first:-mt-[5px] after:content-[''] after:block after:h-[5px] last:after:hidden">
|
|
124
|
+
<Header className="text-sm font-semibold text-neutral-500 dark:text-neutral-300 px-4 py-1 truncate sticky -top-[5px] -mt-px -mx-1 z-10 bg-neutral-100/60 dark:bg-neutral-700/60 backdrop-blur-md supports-[-moz-appearance:none]:bg-neutral-100 border-y border-y-neutral-200 dark:border-y-neutral-700 [&+*]:mt-1">
|
|
125
|
+
{props.title}
|
|
126
|
+
</Header>
|
|
127
|
+
<Collection items={props.items}>{props.children}</Collection>
|
|
128
|
+
</ListBoxSection>
|
|
129
|
+
);
|
|
130
|
+
}
|
package/src/Modal.tsx
CHANGED
|
@@ -29,6 +29,7 @@ export const DefaultModalDialogClasses: ModalDialogClasses = {
|
|
|
29
29
|
export interface ModalProps extends AriaModalOverlayProps, ModalClasses {
|
|
30
30
|
state: OverlayTriggerState;
|
|
31
31
|
children: React.ReactElement;
|
|
32
|
+
portalContainer?: Element;
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
export interface ModalDialogTriggerProps
|
|
@@ -51,6 +52,7 @@ export function Modal({
|
|
|
51
52
|
isDismissable,
|
|
52
53
|
isKeyboardDismissDisabled,
|
|
53
54
|
shouldCloseOnInteractOutside,
|
|
55
|
+
portalContainer,
|
|
54
56
|
...props
|
|
55
57
|
}: ModalProps) {
|
|
56
58
|
let ref = React.useRef(null);
|
|
@@ -66,7 +68,7 @@ export function Modal({
|
|
|
66
68
|
};
|
|
67
69
|
|
|
68
70
|
return (
|
|
69
|
-
<Overlay>
|
|
71
|
+
<Overlay portalContainer={portalContainer}>
|
|
70
72
|
<div className={underlayClass} {...underlayProps}>
|
|
71
73
|
<div {...modalProps} ref={ref} className={containerClass}>
|
|
72
74
|
{children}
|
|
@@ -90,7 +92,11 @@ export function ModalTrigger({
|
|
|
90
92
|
const { onPress, ...otherTriggerProps } = triggerProps;
|
|
91
93
|
return (
|
|
92
94
|
<>
|
|
93
|
-
|
|
95
|
+
// TODO: react-19
|
|
96
|
+
{React.cloneElement(trigger, {
|
|
97
|
+
...otherTriggerProps,
|
|
98
|
+
onClick: onPress,
|
|
99
|
+
} as any)}
|
|
94
100
|
{state.isOpen && (
|
|
95
101
|
<Modal state={state} {...props}>
|
|
96
102
|
{React.cloneElement(children, overlayProps)}
|
package/src/Popover.tsx
CHANGED
|
@@ -1,65 +1,72 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import {
|
|
2
|
+
OverlayArrow,
|
|
3
|
+
Popover as AriaPopover,
|
|
4
|
+
PopoverProps as AriaPopoverProps,
|
|
5
|
+
composeRenderProps,
|
|
6
|
+
} from "react-aria-components";
|
|
7
|
+
import React from "react";
|
|
8
|
+
import { tv } from "tailwind-variants";
|
|
9
|
+
import { OverlayTriggerState } from "react-stately";
|
|
6
10
|
|
|
7
|
-
export interface
|
|
8
|
-
|
|
9
|
-
popoverClass?: string;
|
|
10
|
-
}
|
|
11
|
-
export interface PopoverProps
|
|
12
|
-
extends Omit<AriaPopoverProps, "popoverRef">,
|
|
13
|
-
PopoverClasses {
|
|
11
|
+
export interface PopoverProps extends Omit<AriaPopoverProps, "children"> {
|
|
12
|
+
showArrow?: boolean;
|
|
14
13
|
children: React.ReactNode;
|
|
15
|
-
state: OverlayTriggerState;
|
|
16
|
-
portalContainer?: Element;
|
|
17
|
-
renderArrow?: (props: DOMAttributes) => ReactNode;
|
|
18
14
|
}
|
|
19
15
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
const styles = tv({
|
|
17
|
+
base: "font-sans bg-white dark:bg-neutral-900/70 dark:backdrop-blur-2xl dark:backdrop-saturate-200 forced-colors:bg-[Canvas] shadow-2xl rounded-xl bg-clip-padding border border-black/10 dark:border-white/10 text-neutral-700 dark:text-neutral-300 outline-0",
|
|
18
|
+
variants: {
|
|
19
|
+
isEntering: {
|
|
20
|
+
true: "animate-in fade-in placement-bottom:slide-in-from-top-1 placement-top:slide-in-from-bottom-1 placement-left:slide-in-from-right-1 placement-right:slide-in-from-left-1 ease-out duration-200",
|
|
21
|
+
},
|
|
22
|
+
isExiting: {
|
|
23
|
+
true: "animate-out fade-out placement-bottom:slide-out-to-top-1 placement-top:slide-out-to-bottom-1 placement-left:slide-out-to-right-1 placement-right:slide-out-to-left-1 ease-in duration-150",
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
});
|
|
24
27
|
|
|
25
28
|
export function Popover({
|
|
26
29
|
children,
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
portalContainer,
|
|
30
|
+
showArrow,
|
|
31
|
+
className,
|
|
30
32
|
...props
|
|
31
33
|
}: PopoverProps) {
|
|
32
|
-
let
|
|
33
|
-
const { popoverClass, underlayClass } = {
|
|
34
|
-
...DefaultPopoverClasses,
|
|
35
|
-
...props,
|
|
36
|
-
};
|
|
37
|
-
let { popoverProps, underlayProps, arrowProps } = usePopover(
|
|
38
|
-
{
|
|
39
|
-
...props,
|
|
40
|
-
popoverRef,
|
|
41
|
-
},
|
|
42
|
-
state,
|
|
43
|
-
);
|
|
44
|
-
|
|
34
|
+
let offset = showArrow ? 12 : 8;
|
|
45
35
|
return (
|
|
46
|
-
<
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
36
|
+
<AriaPopover
|
|
37
|
+
offset={offset}
|
|
38
|
+
{...props}
|
|
39
|
+
className={composeRenderProps(className, (className, renderProps) =>
|
|
40
|
+
styles({ ...renderProps, className }),
|
|
41
|
+
)}
|
|
42
|
+
>
|
|
43
|
+
{showArrow && (
|
|
44
|
+
<OverlayArrow className="group">
|
|
45
|
+
<svg
|
|
46
|
+
width={12}
|
|
47
|
+
height={12}
|
|
48
|
+
viewBox="0 0 12 12"
|
|
49
|
+
className="block fill-white dark:fill-[#1f1f21] forced-colors:fill-[Canvas] stroke-1 stroke-black/10 dark:stroke-neutral-700 forced-colors:stroke-[ButtonBorder] group-placement-bottom:rotate-180 group-placement-left:-rotate-90 group-placement-right:rotate-90"
|
|
50
|
+
>
|
|
51
|
+
<path d="M0 0 L6 6 L12 0" />
|
|
52
|
+
</svg>
|
|
53
|
+
</OverlayArrow>
|
|
54
|
+
)}
|
|
55
|
+
{children}
|
|
56
|
+
</AriaPopover>
|
|
60
57
|
);
|
|
61
58
|
}
|
|
62
59
|
|
|
60
|
+
export interface PopoverClasses {
|
|
61
|
+
underlayClass?: string;
|
|
62
|
+
popoverClass?: string;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export const DefaultPopoverClasses = {
|
|
66
|
+
underlayClass: "fixed inset-0",
|
|
67
|
+
popoverClass: "bg-white",
|
|
68
|
+
};
|
|
69
|
+
|
|
63
70
|
export function createOverlayState(ref: {
|
|
64
71
|
value: boolean;
|
|
65
72
|
}): OverlayTriggerState {
|