@astroapps/aria-base 1.5.0 → 1.6.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/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","../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":"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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 forced-colors:bg-[Canvas] shadow-2xl rounded-xl bg-clip-padding border border-black/10 text-neutral-700 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 forced-colors:fill-[Canvas] stroke-1 stroke-black/10 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 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 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 forced-colors:border-[ButtonBorder]\",\n true: \"border-neutral-600 forced-colors:border-[Highlight]\",\n },\n isInvalid: {\n true: \"border-red-600 forced-colors:border-[Mark]\",\n },\n isDisabled: {\n true: \"border-neutral-200 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 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 font-sans text-sm text-neutral-800 placeholder:text-neutral-600 disabled:text-neutral-200 disabled:placeholder:text-neutral-200 [-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 border border-neutral-300 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 hover:bg-neutral-100 pressed:bg-neutral-100 -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 forced-colors:outline-[HighlightText]\",\n },\n isDisabled: {\n true: \"text-neutral-300 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\",\n true: \"text-neutral-300 forced-colors:text-[GrayText]\",\n },\n isPressed: {\n true: \"bg-neutral-100\",\n },\n isFocused: {\n true: \"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\",\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 px-4 py-1 truncate sticky -top-[5px] -mt-px -mx-1 z-10 bg-neutral-100/60 backdrop-blur-md supports-[-moz-appearance:none]:bg-neutral-100 border-y border-y-neutral-200 [&+*]: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 cursor-default rounded-lg pl-3 pr-2 h-9 min-w-[72px] transition bg-neutral-50 [-webkit-tap-highlight-color:transparent]\",\n variants: {\n isDisabled: {\n false:\n \"text-neutral-800 hover:bg-neutral-100 pressed:bg-neutral-200 group-invalid:outline group-invalid:outline-red-600 forced-colors:group-invalid:outline-[Mark]\",\n true: \"border-transparent text-neutral-200 forced-colors:text-[GrayText] bg-neutral-100\",\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 text-nowrap\">\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 forced-colors:text-[ButtonText] group-disabled:text-neutral-200 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","isPending","Fragment","DefaultDialogClasses","Dialog","title","ref","useRef","titleClass","dialogProps","titleProps","useDialog","styles","tv","base","variants","isEntering","true","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","modalProps","underlayProps","useModalOverlay","Overlay","ModalTrigger","_ref2","trigger","_excluded2","useOverlayTriggerState","triggerProps","overlayProps","useOverlayTrigger","type","onPress","otherTriggerProps","_excluded3","cloneElement","onClick","ModalDialog","_ref3","footer","defaultOpen","_excluded4","focusRing","isFocusVisible","false","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":"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"}
package/lib/utils.d.ts CHANGED
@@ -3,7 +3,7 @@ export declare const focusRing: import("tailwind-variants").TVReturnType<{
3
3
  false: string;
4
4
  true: string;
5
5
  };
6
- }, undefined, "outline outline-secondary-600 dark:outline-secondary-500 forced-colors:outline-[Highlight] outline-offset-2", {
6
+ }, undefined, "outline outline-secondary-600 forced-colors:outline-[Highlight] outline-offset-2", {
7
7
  isFocusVisible: {
8
8
  false: string;
9
9
  true: string;
@@ -13,5 +13,5 @@ export declare const focusRing: import("tailwind-variants").TVReturnType<{
13
13
  false: string;
14
14
  true: string;
15
15
  };
16
- }, undefined, "outline outline-secondary-600 dark:outline-secondary-500 forced-colors:outline-[Highlight] outline-offset-2", unknown, unknown, undefined>>;
16
+ }, undefined, "outline outline-secondary-600 forced-colors:outline-[Highlight] outline-offset-2", unknown, unknown, undefined>>;
17
17
  export declare function composeTailwindRenderProps<T>(className: string | ((v: T) => string) | undefined, tw: string): string | ((v: T) => string);
package/package.json CHANGED
@@ -1,9 +1,16 @@
1
1
  {
2
2
  "name": "@astroapps/aria-base",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
4
  "description": "",
5
- "main": "lib/index.js",
5
+ "type": "module",
6
+ "main": "lib/index.cjs",
7
+ "module": "lib/index.js",
6
8
  "types": "lib/index.d.ts",
9
+ "exports": {
10
+ "types": "./lib/index.d.ts",
11
+ "require": "./lib/index.cjs",
12
+ "default": "./lib/index.js"
13
+ },
7
14
  "author": "Astrolabe Enterprises",
8
15
  "license": "ISC",
9
16
  "bugs": {
@@ -36,7 +43,7 @@
36
43
  "@react-types/shared": "^3.23.1"
37
44
  },
38
45
  "scripts": {
39
- "build": "rimraf ./lib/ && microbundle -f cjs --no-compress --jsx React.createElement --jsxFragment React.Fragment",
40
- "watch": "microbundle -f cjs --no-compress --jsx React.createElement --jsxFragment React.Fragment"
46
+ "build": "rimraf ./lib/ && microbundle -f modern,cjs --no-compress --jsx React.createElement --jsxFragment React.Fragment",
47
+ "watch": "microbundle -f modern,cjs --no-compress --jsx React.createElement --jsxFragment React.Fragment"
41
48
  }
42
49
  }
package/src/Field.tsx CHANGED
@@ -21,7 +21,7 @@ export function Label(props: LabelProps) {
21
21
  <RACLabel
22
22
  {...props}
23
23
  className={twMerge(
24
- "font-sans text-sm text-neutral-600 dark:text-neutral-300 font-medium cursor-default w-fit",
24
+ "font-sans text-sm text-neutral-600 font-medium cursor-default w-fit",
25
25
  props.className,
26
26
  )}
27
27
  />
@@ -55,21 +55,21 @@ export const fieldBorderStyles = tv({
55
55
  variants: {
56
56
  isFocusWithin: {
57
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]",
58
+ "border-neutral-300 hover:border-neutral-400 forced-colors:border-[ButtonBorder]",
59
+ true: "border-neutral-600 forced-colors:border-[Highlight]",
60
60
  },
61
61
  isInvalid: {
62
- true: "border-red-600 dark:border-red-600 forced-colors:border-[Mark]",
62
+ true: "border-red-600 forced-colors:border-[Mark]",
63
63
  },
64
64
  isDisabled: {
65
- true: "border-neutral-200 dark:border-neutral-700 forced-colors:border-[GrayText]",
65
+ true: "border-neutral-200 forced-colors:border-[GrayText]",
66
66
  },
67
67
  },
68
68
  });
69
69
 
70
70
  export const fieldGroupStyles = tv({
71
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",
72
+ base: "group flex items-center h-9 box-border bg-white forced-colors:bg-[Field] border rounded-lg overflow-hidden transition",
73
73
  variants: fieldBorderStyles.variants,
74
74
  });
75
75
 
@@ -90,7 +90,7 @@ export function Input(props: InputProps) {
90
90
  {...props}
91
91
  className={composeTailwindRenderProps(
92
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]",
93
+ "px-3 py-0 min-h-9 flex-1 min-w-0 border-0 outline outline-0 bg-white font-sans text-sm text-neutral-800 placeholder:text-neutral-600 disabled:text-neutral-200 disabled:placeholder:text-neutral-200 [-webkit-tap-highlight-color:transparent]",
94
94
  )}
95
95
  />
96
96
  );
package/src/ListBox.tsx CHANGED
@@ -25,7 +25,7 @@ export function ListBox<T extends object>({
25
25
  {...props}
26
26
  className={composeTailwindRenderProps(
27
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",
28
+ "outline-0 p-1 w-[200px] bg-white border border-neutral-300 rounded-lg font-sans",
29
29
  )}
30
30
  >
31
31
  {children}
@@ -39,11 +39,11 @@ export const itemStyles = tv({
39
39
  variants: {
40
40
  isSelected: {
41
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]",
42
+ "text-neutral-700 hover:bg-neutral-100 pressed:bg-neutral-100 -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 forced-colors:outline-[HighlightText]",
44
44
  },
45
45
  isDisabled: {
46
- true: "text-neutral-300 dark:text-neutral-600 forced-colors:text-[GrayText]",
46
+ true: "text-neutral-300 forced-colors:text-[GrayText]",
47
47
  },
48
48
  },
49
49
  });
@@ -68,21 +68,21 @@ export const dropdownItemStyles = tv({
68
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
69
  variants: {
70
70
  isDisabled: {
71
- false: "text-neutral-900 dark:text-neutral-100",
72
- true: "text-neutral-300 dark:text-neutral-600 forced-colors:text-[GrayText]",
71
+ false: "text-neutral-900",
72
+ true: "text-neutral-300 forced-colors:text-[GrayText]",
73
73
  },
74
74
  isPressed: {
75
- true: "bg-neutral-100 dark:bg-neutral-800",
75
+ true: "bg-neutral-100",
76
76
  },
77
77
  isFocused: {
78
- true: "bg-secondary-600 dark:bg-secondary-600 text-white forced-colors:bg-[Highlight] forced-colors:text-[HighlightText]",
78
+ true: "bg-secondary-600 text-white forced-colors:bg-[Highlight] forced-colors:text-[HighlightText]",
79
79
  },
80
80
  },
81
81
  compoundVariants: [
82
82
  {
83
83
  isFocused: false,
84
84
  isOpen: true,
85
- className: "bg-neutral-100 dark:bg-neutral-700/60",
85
+ className: "bg-neutral-100",
86
86
  },
87
87
  ],
88
88
  });
@@ -121,7 +121,7 @@ export function DropdownSection<T extends object>(
121
121
  ) {
122
122
  return (
123
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">
124
+ <Header className="text-sm font-semibold text-neutral-500 px-4 py-1 truncate sticky -top-[5px] -mt-px -mx-1 z-10 bg-neutral-100/60 backdrop-blur-md supports-[-moz-appearance:none]:bg-neutral-100 border-y border-y-neutral-200 [&+*]:mt-1">
125
125
  {props.title}
126
126
  </Header>
127
127
  <Collection items={props.items}>{props.children}</Collection>
package/src/Popover.tsx CHANGED
@@ -14,7 +14,7 @@ export interface PopoverProps extends Omit<AriaPopoverProps, "children"> {
14
14
  }
15
15
 
16
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",
17
+ base: "font-sans bg-white forced-colors:bg-[Canvas] shadow-2xl rounded-xl bg-clip-padding border border-black/10 text-neutral-700 outline-0",
18
18
  variants: {
19
19
  isEntering: {
20
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",
@@ -46,7 +46,7 @@ export function Popover({
46
46
  width={12}
47
47
  height={12}
48
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"
49
+ className="block fill-white forced-colors:fill-[Canvas] stroke-1 stroke-black/10 forced-colors:stroke-[ButtonBorder] group-placement-bottom:rotate-180 group-placement-left:-rotate-90 group-placement-right:rotate-90"
50
50
  >
51
51
  <path d="M0 0 L6 6 L12 0" />
52
52
  </svg>
package/src/Select.tsx CHANGED
@@ -16,12 +16,12 @@ import { composeTailwindRenderProps, focusRing } from "./utils";
16
16
 
17
17
  const styles = tv({
18
18
  extend: focusRing,
19
- 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]",
19
+ base: "flex items-center text-start gap-4 w-full font-sans border border-black/10 cursor-default rounded-lg pl-3 pr-2 h-9 min-w-[72px] transition bg-neutral-50 [-webkit-tap-highlight-color:transparent]",
20
20
  variants: {
21
21
  isDisabled: {
22
22
  false:
23
- "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]",
24
- true: "border-transparent dark:border-transparent text-neutral-200 dark:text-neutral-600 forced-colors:text-[GrayText] bg-neutral-100 dark:bg-neutral-800",
23
+ "text-neutral-800 hover:bg-neutral-100 pressed:bg-neutral-200 group-invalid:outline group-invalid:outline-red-600 forced-colors:group-invalid:outline-[Mark]",
24
+ true: "border-transparent text-neutral-200 forced-colors:text-[GrayText] bg-neutral-100",
25
25
  },
26
26
  },
27
27
  });
@@ -53,7 +53,7 @@ export function Select<T extends object>({
53
53
  >
54
54
  {label && <Label>{label}</Label>}
55
55
  <Button className={styles}>
56
- <SelectValue className="flex-1 text-sm">
56
+ <SelectValue className="flex-1 text-sm text-nowrap">
57
57
  {({ selectedText, defaultChildren }) =>
58
58
  selectedText || defaultChildren
59
59
  }
@@ -61,7 +61,7 @@ export function Select<T extends object>({
61
61
  <i
62
62
  aria-hidden
63
63
  className={
64
- "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]"
64
+ "w-4 h-4 fa fa-chevron-down text-neutral-600 forced-colors:text-[ButtonText] group-disabled:text-neutral-200 forced-colors:group-disabled:text-[GrayText]"
65
65
  }
66
66
  />
67
67
  </Button>
package/src/utils.ts CHANGED
@@ -3,7 +3,7 @@ import { twMerge } from "tailwind-merge";
3
3
  import { tv } from "tailwind-variants";
4
4
 
5
5
  export const focusRing = tv({
6
- base: "outline outline-secondary-600 dark:outline-secondary-500 forced-colors:outline-[Highlight] outline-offset-2",
6
+ base: "outline outline-secondary-600 forced-colors:outline-[Highlight] outline-offset-2",
7
7
  variants: {
8
8
  isFocusVisible: {
9
9
  false: "outline-0",
@@ -1,18 +0,0 @@
1
- {
2
- "files": {
3
- "aria-base/.gitignore": "156241724887e3ef040825a232e1bd515038746d",
4
- "aria-base/.rush/temp/shrinkwrap-deps.json": "e11b8e62e8b2ba5612bd420d75033f0b3937fb5d",
5
- "aria-base/package.json": "371ebbd0a09c2ef1171b7c8e95540db0dd5146be",
6
- "aria-base/src/Button.tsx": "0341d7116b892b6366e466bc21b88da321b6ca8b",
7
- "aria-base/src/Dialog.tsx": "1137029c353257392001d44d234a5bd9518695f9",
8
- "aria-base/src/Field.tsx": "59d06a557af9b5ce6222071f383a55ae6630748b",
9
- "aria-base/src/ListBox.tsx": "53e8ed2df5754802dee1586ce45229243943a686",
10
- "aria-base/src/Modal.tsx": "feacf94320c48175d0f13df98bf6599ec064f40d",
11
- "aria-base/src/Popover.tsx": "7e0c2217650509ba1255ed5035714123c452d81a",
12
- "aria-base/src/Select.tsx": "64f6ab53d4b632cf353bd59fb25ccf7545487f20",
13
- "aria-base/src/index.ts": "b00ace17a1bce7d3895cb24b85c317ec5352152e",
14
- "aria-base/src/utils.ts": "84e63783c5c721502858fdcc9f9bfa21751dfc7d",
15
- "aria-base/tsconfig.json": "e53823dd1b33dedc094924b79b714fa8ce5fc9cb"
16
- },
17
- "arguments": "rimraf ./lib/ && microbundle -f cjs --no-compress --jsx React.createElement --jsxFragment React.Fragment "
18
- }