@clickhouse/click-ui 0.6.2-rc3 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/click-ui.css +1872 -59
- package/dist/cjs/components/Alert/index.cjs +2 -2
- package/dist/cjs/components/Alert/index.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Polaris.cjs +22 -0
- package/dist/cjs/components/Assets/Logos/Polaris.cjs.map +1 -0
- package/dist/cjs/components/Assets/Logos/system/LogosDark.cjs +2 -0
- package/dist/cjs/components/Assets/Logos/system/LogosDark.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/system/LogosLight.cjs +2 -0
- package/dist/cjs/components/Assets/Logos/system/LogosLight.cjs.map +1 -1
- package/dist/cjs/components/BigStat/BigStat.css +77 -0
- package/dist/cjs/components/BigStat/BigStat.module.css.cjs +22 -0
- package/dist/cjs/components/BigStat/BigStat.module.css.cjs.map +1 -0
- package/dist/cjs/components/BigStat/index.cjs +60 -52
- package/dist/cjs/components/BigStat/index.cjs.map +1 -1
- package/dist/cjs/components/ButtonGroup/index.cjs +1 -1
- package/dist/cjs/components/ButtonGroup/index.cjs.map +1 -1
- package/dist/cjs/components/CardPromotion/index.cjs +1 -1
- package/dist/cjs/components/CardPromotion/index.cjs.map +1 -1
- package/dist/cjs/components/CardSecondary/CardSecondary.css +99 -0
- package/dist/cjs/components/CardSecondary/CardSecondary.module.css.cjs +39 -0
- package/dist/cjs/components/CardSecondary/CardSecondary.module.css.cjs.map +1 -0
- package/dist/cjs/components/CardSecondary/index.cjs +35 -84
- package/dist/cjs/components/CardSecondary/index.cjs.map +1 -1
- package/dist/cjs/components/ConfirmationDialog/ConfirmationDialog.css +20 -0
- package/dist/cjs/components/ConfirmationDialog/ConfirmationDialog.module.css.cjs +15 -0
- package/dist/cjs/components/ConfirmationDialog/ConfirmationDialog.module.css.cjs.map +1 -0
- package/dist/cjs/components/ConfirmationDialog/index.cjs +6 -11
- package/dist/cjs/components/ConfirmationDialog/index.cjs.map +1 -1
- package/dist/cjs/components/ContextMenu/ContextMenu.css +28 -0
- package/dist/cjs/components/ContextMenu/ContextMenu.module.css.cjs +10 -0
- package/dist/cjs/components/ContextMenu/ContextMenu.module.css.cjs.map +1 -0
- package/dist/cjs/components/ContextMenu/index.cjs +27 -29
- package/dist/cjs/components/ContextMenu/index.cjs.map +1 -1
- package/dist/cjs/components/CrossButton/index.cjs +5 -1
- package/dist/cjs/components/CrossButton/index.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/Common.cjs +1 -1
- package/dist/cjs/components/DatePicker/Common.cjs.map +1 -1
- package/dist/cjs/components/Dropdown/Dropdown.css +13 -0
- package/dist/cjs/components/Dropdown/Dropdown.module.css.cjs +11 -0
- package/dist/cjs/components/Dropdown/Dropdown.module.css.cjs.map +1 -0
- package/dist/cjs/components/Dropdown/index.cjs +19 -13
- package/dist/cjs/components/Dropdown/index.cjs.map +1 -1
- package/dist/cjs/components/FileTabs/index.cjs +1 -1
- package/dist/cjs/components/FileTabs/index.cjs.map +1 -1
- package/dist/cjs/components/Flyout/Flyout.css +231 -0
- package/dist/cjs/components/Flyout/Flyout.module.css.cjs +93 -0
- package/dist/cjs/components/Flyout/Flyout.module.css.cjs.map +1 -0
- package/dist/cjs/components/Flyout/index.cjs +148 -126
- package/dist/cjs/components/Flyout/index.cjs.map +1 -1
- package/dist/cjs/components/GenericMenu/GenericMenu.css +176 -0
- package/dist/cjs/components/GenericMenu/GenericMenu.module.css.cjs +23 -0
- package/dist/cjs/components/GenericMenu/GenericMenu.module.css.cjs.map +1 -0
- package/dist/cjs/components/GenericMenu/index.cjs +93 -99
- package/dist/cjs/components/GenericMenu/index.cjs.map +1 -1
- package/dist/cjs/components/HoverCard/index.cjs +1 -1
- package/dist/cjs/components/HoverCard/index.cjs.map +1 -1
- package/dist/cjs/components/IconButton/index.cjs +2 -1
- package/dist/cjs/components/IconButton/index.cjs.map +1 -1
- package/dist/cjs/components/InputWrapper/InputWrapper.css +221 -0
- package/dist/cjs/components/InputWrapper/InputWrapper.module.css.cjs +39 -0
- package/dist/cjs/components/InputWrapper/InputWrapper.module.css.cjs.map +1 -0
- package/dist/cjs/components/InputWrapper/index.cjs +84 -185
- package/dist/cjs/components/InputWrapper/index.cjs.map +1 -1
- package/dist/cjs/components/Popover/Popover.css +12 -0
- package/dist/cjs/components/Popover/Popover.module.css.cjs +11 -0
- package/dist/cjs/components/Popover/Popover.module.css.cjs.map +1 -0
- package/dist/cjs/components/Popover/index.cjs +26 -19
- package/dist/cjs/components/Popover/index.cjs.map +1 -1
- package/dist/cjs/components/RadioGroup/RadioGroup.css +99 -0
- package/dist/cjs/components/RadioGroup/RadioGroup.module.css.cjs +18 -0
- package/dist/cjs/components/RadioGroup/RadioGroup.module.css.cjs.map +1 -0
- package/dist/cjs/components/RadioGroup/index.cjs +28 -77
- package/dist/cjs/components/RadioGroup/index.cjs.map +1 -1
- package/dist/cjs/components/Select/common/InternalSelect.cjs +1 -1
- package/dist/cjs/components/Select/common/InternalSelect.cjs.map +1 -1
- package/dist/cjs/components/SplitButton/index.cjs +2 -1
- package/dist/cjs/components/SplitButton/index.cjs.map +1 -1
- package/dist/cjs/components/Table/Table.css +376 -0
- package/dist/cjs/components/Table/Table.module.css.cjs +86 -0
- package/dist/cjs/components/Table/Table.module.css.cjs.map +1 -0
- package/dist/cjs/components/Table/index.cjs +132 -214
- package/dist/cjs/components/Table/index.cjs.map +1 -1
- package/dist/cjs/components/Toast/Toast.css +142 -0
- package/dist/cjs/components/Toast/Toast.module.css.cjs +38 -0
- package/dist/cjs/components/Toast/Toast.module.css.cjs.map +1 -0
- package/dist/cjs/components/Toast/index.cjs +43 -96
- package/dist/cjs/components/Toast/index.cjs.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.css +17 -0
- package/dist/cjs/components/Tooltip/Tooltip.module.css.cjs +15 -0
- package/dist/cjs/components/Tooltip/Tooltip.module.css.cjs.map +1 -0
- package/dist/cjs/components/Tooltip/index.cjs +12 -24
- package/dist/cjs/components/Tooltip/index.cjs.map +1 -1
- package/dist/cjs/components/VerticalStepper/VerticalStepper.css +302 -0
- package/dist/cjs/components/VerticalStepper/VerticalStepper.module.css.cjs +84 -0
- package/dist/cjs/components/VerticalStepper/VerticalStepper.module.css.cjs.map +1 -0
- package/dist/cjs/components/VerticalStepper/index.cjs +85 -110
- package/dist/cjs/components/VerticalStepper/index.cjs.map +1 -1
- package/dist/esm/click-ui.css +1872 -59
- package/dist/esm/components/Alert/index.js +2 -2
- package/dist/esm/components/Alert/index.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Polaris.js +18 -0
- package/dist/esm/components/Assets/Logos/Polaris.js.map +1 -0
- package/dist/esm/components/Assets/Logos/system/LogosDark.js +2 -0
- package/dist/esm/components/Assets/Logos/system/LogosDark.js.map +1 -1
- package/dist/esm/components/Assets/Logos/system/LogosLight.js +2 -0
- package/dist/esm/components/Assets/Logos/system/LogosLight.js.map +1 -1
- package/dist/esm/components/BigStat/BigStat.css +77 -0
- package/dist/esm/components/BigStat/BigStat.module.css.js +18 -0
- package/dist/esm/components/BigStat/BigStat.module.css.js.map +1 -0
- package/dist/esm/components/BigStat/index.js +60 -52
- package/dist/esm/components/BigStat/index.js.map +1 -1
- package/dist/esm/components/ButtonGroup/index.js +1 -1
- package/dist/esm/components/ButtonGroup/index.js.map +1 -1
- package/dist/esm/components/CardPromotion/index.js +1 -1
- package/dist/esm/components/CardPromotion/index.js.map +1 -1
- package/dist/esm/components/CardSecondary/CardSecondary.css +99 -0
- package/dist/esm/components/CardSecondary/CardSecondary.module.css.js +25 -0
- package/dist/esm/components/CardSecondary/CardSecondary.module.css.js.map +1 -0
- package/dist/esm/components/CardSecondary/index.js +35 -84
- package/dist/esm/components/CardSecondary/index.js.map +1 -1
- package/dist/esm/components/ConfirmationDialog/ConfirmationDialog.css +20 -0
- package/dist/esm/components/ConfirmationDialog/ConfirmationDialog.module.css.js +9 -0
- package/dist/esm/components/ConfirmationDialog/ConfirmationDialog.module.css.js.map +1 -0
- package/dist/esm/components/ConfirmationDialog/index.js +6 -11
- package/dist/esm/components/ConfirmationDialog/index.js.map +1 -1
- package/dist/esm/components/ContextMenu/ContextMenu.css +28 -0
- package/dist/esm/components/ContextMenu/ContextMenu.module.css.js +6 -0
- package/dist/esm/components/ContextMenu/ContextMenu.module.css.js.map +1 -0
- package/dist/esm/components/ContextMenu/index.js +28 -30
- package/dist/esm/components/ContextMenu/index.js.map +1 -1
- package/dist/esm/components/CrossButton/index.js +5 -1
- package/dist/esm/components/CrossButton/index.js.map +1 -1
- package/dist/esm/components/DatePicker/Common.js +1 -1
- package/dist/esm/components/DatePicker/Common.js.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.css +13 -0
- package/dist/esm/components/Dropdown/Dropdown.module.css.js +7 -0
- package/dist/esm/components/Dropdown/Dropdown.module.css.js.map +1 -0
- package/dist/esm/components/Dropdown/index.js +19 -13
- package/dist/esm/components/Dropdown/index.js.map +1 -1
- package/dist/esm/components/FileTabs/index.js +1 -1
- package/dist/esm/components/FileTabs/index.js.map +1 -1
- package/dist/esm/components/Flyout/Flyout.css +231 -0
- package/dist/esm/components/Flyout/Flyout.module.css.js +62 -0
- package/dist/esm/components/Flyout/Flyout.module.css.js.map +1 -0
- package/dist/esm/components/Flyout/index.js +149 -127
- package/dist/esm/components/Flyout/index.js.map +1 -1
- package/dist/esm/components/GenericMenu/GenericMenu.css +176 -0
- package/dist/esm/components/GenericMenu/GenericMenu.module.css.js +18 -0
- package/dist/esm/components/GenericMenu/GenericMenu.module.css.js.map +1 -0
- package/dist/esm/components/GenericMenu/index.js +93 -99
- package/dist/esm/components/GenericMenu/index.js.map +1 -1
- package/dist/esm/components/HoverCard/index.js +1 -1
- package/dist/esm/components/HoverCard/index.js.map +1 -1
- package/dist/esm/components/IconButton/index.js +2 -1
- package/dist/esm/components/IconButton/index.js.map +1 -1
- package/dist/esm/components/InputWrapper/InputWrapper.css +221 -0
- package/dist/esm/components/InputWrapper/InputWrapper.module.css.js +27 -0
- package/dist/esm/components/InputWrapper/InputWrapper.module.css.js.map +1 -0
- package/dist/esm/components/InputWrapper/index.js +84 -185
- package/dist/esm/components/InputWrapper/index.js.map +1 -1
- package/dist/esm/components/Popover/Popover.css +12 -0
- package/dist/esm/components/Popover/Popover.module.css.js +7 -0
- package/dist/esm/components/Popover/Popover.module.css.js.map +1 -0
- package/dist/esm/components/Popover/index.js +26 -19
- package/dist/esm/components/Popover/index.js.map +1 -1
- package/dist/esm/components/RadioGroup/RadioGroup.css +99 -0
- package/dist/esm/components/RadioGroup/RadioGroup.module.css.js +13 -0
- package/dist/esm/components/RadioGroup/RadioGroup.module.css.js.map +1 -0
- package/dist/esm/components/RadioGroup/index.js +28 -77
- package/dist/esm/components/RadioGroup/index.js.map +1 -1
- package/dist/esm/components/Select/common/InternalSelect.js +1 -1
- package/dist/esm/components/Select/common/InternalSelect.js.map +1 -1
- package/dist/esm/components/SplitButton/index.js +2 -1
- package/dist/esm/components/SplitButton/index.js.map +1 -1
- package/dist/esm/components/Table/Table.css +376 -0
- package/dist/esm/components/Table/Table.module.css.js +63 -0
- package/dist/esm/components/Table/Table.module.css.js.map +1 -0
- package/dist/esm/components/Table/index.js +132 -214
- package/dist/esm/components/Table/index.js.map +1 -1
- package/dist/esm/components/Toast/Toast.css +142 -0
- package/dist/esm/components/Toast/Toast.module.css.js +26 -0
- package/dist/esm/components/Toast/Toast.module.css.js.map +1 -0
- package/dist/esm/components/Toast/index.js +43 -96
- package/dist/esm/components/Toast/index.js.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.css +17 -0
- package/dist/esm/components/Tooltip/Tooltip.module.css.js +9 -0
- package/dist/esm/components/Tooltip/Tooltip.module.css.js.map +1 -0
- package/dist/esm/components/Tooltip/index.js +12 -24
- package/dist/esm/components/Tooltip/index.js.map +1 -1
- package/dist/esm/components/VerticalStepper/VerticalStepper.css +302 -0
- package/dist/esm/components/VerticalStepper/VerticalStepper.module.css.js +55 -0
- package/dist/esm/components/VerticalStepper/VerticalStepper.module.css.js.map +1 -0
- package/dist/esm/components/VerticalStepper/index.js +85 -110
- package/dist/esm/components/VerticalStepper/index.js.map +1 -1
- package/dist/types/components/Assets/Logos/Polaris.d.ts +3 -0
- package/dist/types/components/Assets/Logos/system/types.d.ts +1 -1
- package/dist/types/components/BigStat/BigStat.d.ts +1 -1
- package/dist/types/components/CardSecondary/CardSecondary.d.ts +1 -1
- package/dist/types/components/ConfirmationDialog/ConfirmationDialog.d.ts +1 -1
- package/dist/types/components/CrossButton/CrossButton.d.ts +6 -2
- package/dist/types/components/Flyout/Flyout.d.ts +8 -6
- package/dist/types/components/Flyout/Flyout.types.d.ts +3 -0
- package/dist/types/components/GenericMenu/GenericMenu.d.ts +29 -12
- package/dist/types/components/IconButton/IconButton.types.d.ts +3 -0
- package/dist/types/components/InputWrapper/InputWrapper.d.ts +17 -13
- package/dist/types/components/RadioGroup/RadioGroup.d.ts +2 -2
- package/dist/types/components/SplitButton/SplitButton.d.ts +1 -1
- package/dist/types/components/SplitButton/SplitButton.types.d.ts +3 -0
- package/dist/types/components/Toast/Toast.d.ts +1 -1
- package/dist/types/components/Tooltip/Tooltip.d.ts +1 -1
- package/dist/types/components/VerticalStepper/VerticalStepper.d.ts +2 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../src/components/ContextMenu/ContextMenu.tsx"],"sourcesContent":["import * as RightMenu from '@radix-ui/react-context-menu';\nimport { styled } from 'styled-components';\nimport { forwardRef } from 'react';\nimport type { HorizontalDirection } from '@/types';\nimport { Icon } from '@/components/Icon';\nimport type { IconName } from '@/components/Icon';\nimport { Arrow, GenericMenuItem, GenericMenuPanel } from '@/components/GenericMenu';\nimport Popover_Arrow from '@/components/Assets/Icons/Popover-Arrow';\nimport { IconWrapper } from '@/components/IconWrapper/IconWrapper';\nimport { useInputModality } from '@/hooks/internal';\nimport type { ArrowProps, ContextMenuItemProps } from './ContextMenu.types';\nimport { useResolvedPortalContainer } from '@/providers/PortalContext';\n\nexport const ContextMenu = (props: RightMenu.ContextMenuProps) => (\n <RightMenu.Root {...props} />\n);\n\nconst TriggerDiv = styled.div`\n &:focus-visible {\n outline: 2px solid ${({ theme }) => theme.click.global.color.outline.default};\n outline-offset: 2px;\n }\n`;\n\nconst ContextMenuTrigger = forwardRef<HTMLDivElement, RightMenu.ContextMenuTriggerProps>(\n ({ disabled, ...props }, ref) => {\n return (\n <RightMenu.Trigger\n asChild\n disabled={disabled}\n >\n <TriggerDiv\n ref={ref}\n {...props}\n />\n </RightMenu.Trigger>\n );\n }\n);\n\nContextMenuTrigger.displayName = 'ContextMenuTrigger';\nContextMenu.Trigger = ContextMenuTrigger;\n\ninterface ContextMenuSubTriggerProps extends RightMenu.ContextMenuSubTriggerProps {\n icon?: IconName;\n iconDir?: HorizontalDirection;\n}\nconst ContextMenuSubTrigger = ({\n icon,\n iconDir,\n children,\n ...props\n}: ContextMenuSubTriggerProps) => {\n return (\n <GenericMenuItem\n as={RightMenu.SubTrigger}\n {...props}\n >\n <IconWrapper\n icon={icon}\n iconDir={iconDir}\n >\n {children}\n </IconWrapper>\n <div className=\"dropdown-arrow\">\n <Icon name=\"chevron-right\" />\n </div>\n </GenericMenuItem>\n );\n};\n\nContextMenuSubTrigger.displayName = 'ContextMenuSubTrigger';\nContextMenu.SubTrigger = ContextMenuSubTrigger;\n\ntype DeprecatedFields = {\n /** @deprecated The side field have been deprecated. See https://github.com/ClickHouse/click-ui/pull/756/files#diff-801534275d6fc19b60543371f1055838e7d60942fa4005c3ab1623293e10fb7fR24 */\n side?: string;\n /** @deprecated The align field have been deprecated. See https://github.com/ClickHouse/click-ui/pull/756/files#diff-801534275d6fc19b60543371f1055838e7d60942fa4005c3ab1623293e10fb7fR24 */\n align?: string;\n};\n\ntype ContextMenuContentProps = RightMenu.ContextMenuContentProps & {\n sub?: true;\n container?: HTMLElement | null;\n} & ArrowProps &\n DeprecatedFields;\n\ntype ContextMenuSubContentProps = RightMenu.ContextMenuSubContentProps & {\n sub?: never;\n container?: HTMLElement | null;\n} & ArrowProps &\n DeprecatedFields;\n\nconst RightMenuContent = styled(GenericMenuPanel)<{ $showArrow?: boolean }>`\n flex-direction: column;\n z-index: 1;\n ${({ $showArrow }) =>\n $showArrow\n ? `\n &[data-side=\"bottom\"] {\n margin-top: -1px;\n }\n &[data-side=\"top\"] {\n margin-bottom: -1px;\n }\n &[data-side=\"left\"] {\n margin-right: -1px;\n .popover-arrow {\n margin-right: 1rem;\n }\n }\n }\n &[data-side=\"right\"] {\n margin-left: -1px;\n .popover-arrow {\n margin-left: 1rem;\n }\n }\n `\n : ''};\n`;\n\nconst ContextMenuContent = ({\n sub,\n children,\n container,\n showArrow,\n // TODO: remove deprecated side and align\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n side,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n align,\n ...props\n}: ContextMenuContentProps | ContextMenuSubContentProps) => {\n const ContentElement = sub ? RightMenu.SubContent : RightMenu.Content;\n const inputModalityProps = useInputModality();\n const portalContainer = useResolvedPortalContainer(container);\n\n return (\n <RightMenu.Portal container={portalContainer}>\n <RightMenuContent\n {...props}\n $type=\"context-menu\"\n $showArrow={showArrow}\n as={ContentElement}\n {...inputModalityProps}\n >\n {showArrow && (\n <Arrow\n asChild\n as={RightMenu.Arrow}\n width={20}\n height={10}\n >\n <Popover_Arrow className=\"popover-arrow\" />\n </Arrow>\n )}\n {children}\n </RightMenuContent>\n </RightMenu.Portal>\n );\n};\n\nContextMenuContent.displayName = 'ContextMenuContent';\nContextMenu.Content = ContextMenuContent;\n\nconst RightMenuGroup = styled(RightMenu.Group)`\n width: 100%;\n border-bottom: 1px solid\n ${({ theme }) => theme.click.genericMenu.item.color.default.stroke.default};\n`;\n\nconst ContextMenuGroup = (props: RightMenu.ContextMenuGroupProps) => {\n return <RightMenuGroup {...props} />;\n};\n\nContextMenuGroup.displayName = 'ContextMenuGroup';\nContextMenu.Group = ContextMenuGroup;\n\nconst RightMenuSub = styled(RightMenu.Sub)`\n border-bottom: 1px solid\n ${({ theme }) => theme.click.genericMenu.item.color.default.stroke.default};\n`;\n\nconst ContextMenuSub = ({ ...props }: RightMenu.ContextMenuGroupProps) => {\n return <RightMenuSub {...props} />;\n};\n\nContextMenuSub.displayName = 'ContextMenuSub';\nContextMenu.Sub = ContextMenuSub;\n\nconst ContextMenuItem = ({\n icon,\n iconDir,\n type = 'default',\n children,\n ...props\n}: ContextMenuItemProps) => {\n return (\n <GenericMenuItem\n as={RightMenu.Item}\n $type={type}\n {...props}\n >\n <IconWrapper\n icon={icon}\n iconDir={iconDir}\n >\n {children}\n </IconWrapper>\n </GenericMenuItem>\n );\n};\n\nContextMenuItem.displayName = 'ContextMenuItem';\nContextMenu.Item = ContextMenuItem;\n\nexport default ContextMenu;\n"],"names":["ContextMenu","props","jsx","RightMenu","TriggerDiv","styled","div","withConfig","componentId","theme","click","global","color","outline","default","ContextMenuTrigger","forwardRef","disabled","ref","displayName","Trigger","ContextMenuSubTrigger","icon","iconDir","children","GenericMenuItem","SubTrigger","IconWrapper","Icon","RightMenuContent","GenericMenuPanel","$showArrow","ContextMenuContent","sub","container","showArrow","side","align","ContentElement","SubContent","Content","inputModalityProps","useInputModality","portalContainer","useResolvedPortalContainer","jsxs","Arrow","Popover_Arrow","RightMenuGroup","Group","genericMenu","item","stroke","ContextMenuGroup","RightMenuSub","Sub","ContextMenuSub","ContextMenuItem","type","Item"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../src/components/ContextMenu/ContextMenu.tsx"],"sourcesContent":["import * as RightMenu from '@radix-ui/react-context-menu';\nimport { styled } from 'styled-components';\nimport {\n ComponentProps,\n ComponentPropsWithRef,\n ElementType,\n ReactNode,\n forwardRef,\n} from 'react';\nimport type { HorizontalDirection } from '@/types';\nimport { Icon } from '@/components/Icon';\nimport type { IconName } from '@/components/Icon';\nimport { Arrow, GenericMenuItem, GenericMenuPanel } from '@/components/GenericMenu';\nimport { cn, cva } from '@/lib/cva';\nimport Popover_Arrow from '@/components/Assets/Icons/Popover-Arrow';\nimport { IconWrapper } from '@/components/IconWrapper/IconWrapper';\nimport { useInputModality } from '@/hooks/internal';\nimport type { ArrowProps, ContextMenuItemProps } from './ContextMenu.types';\nimport { useResolvedPortalContainer } from '@/providers/PortalContext';\nimport styles from './ContextMenu.module.css';\n\nexport const ContextMenu = (props: RightMenu.ContextMenuProps) => (\n <RightMenu.Root {...props} />\n);\n\nconst TriggerDiv = styled.div`\n &:focus-visible {\n outline: 2px solid ${({ theme }) => theme.click.global.color.outline.default};\n outline-offset: 2px;\n }\n`;\n\nconst ContextMenuTrigger = forwardRef<HTMLDivElement, RightMenu.ContextMenuTriggerProps>(\n ({ disabled, ...props }, ref) => {\n return (\n <RightMenu.Trigger\n asChild\n disabled={disabled}\n >\n <TriggerDiv\n ref={ref}\n {...props}\n />\n </RightMenu.Trigger>\n );\n }\n);\n\nContextMenuTrigger.displayName = 'ContextMenuTrigger';\nContextMenu.Trigger = ContextMenuTrigger;\n\ninterface ContextMenuSubTriggerProps extends RightMenu.ContextMenuSubTriggerProps {\n icon?: IconName;\n iconDir?: HorizontalDirection;\n}\nconst ContextMenuSubTrigger = ({\n icon,\n iconDir,\n children,\n ...props\n}: ContextMenuSubTriggerProps) => {\n return (\n <GenericMenuItem\n as={RightMenu.SubTrigger}\n {...props}\n >\n <IconWrapper\n icon={icon}\n iconDir={iconDir}\n >\n {children}\n </IconWrapper>\n <div className=\"dropdown-arrow\">\n <Icon name=\"chevron-right\" />\n </div>\n </GenericMenuItem>\n );\n};\n\nContextMenuSubTrigger.displayName = 'ContextMenuSubTrigger';\nContextMenu.SubTrigger = ContextMenuSubTrigger;\n\ntype DeprecatedFields = {\n /** @deprecated The side field have been deprecated. See https://github.com/ClickHouse/click-ui/pull/756/files#diff-801534275d6fc19b60543371f1055838e7d60942fa4005c3ab1623293e10fb7fR24 */\n side?: string;\n /** @deprecated The align field have been deprecated. See https://github.com/ClickHouse/click-ui/pull/756/files#diff-801534275d6fc19b60543371f1055838e7d60942fa4005c3ab1623293e10fb7fR24 */\n align?: string;\n};\n\ntype ContextMenuContentProps = RightMenu.ContextMenuContentProps & {\n sub?: true;\n container?: HTMLElement | null;\n} & ArrowProps &\n DeprecatedFields;\n\ntype ContextMenuSubContentProps = RightMenu.ContextMenuSubContentProps & {\n sub?: never;\n container?: HTMLElement | null;\n} & ArrowProps &\n DeprecatedFields;\n\nconst rightMenuContentVariants = cva(styles['right-menu-content'], {\n variants: {\n showArrow: {\n true: styles['right-menu-content_show-arrow'],\n false: '',\n },\n },\n defaultVariants: {\n showArrow: false,\n },\n});\n\ntype RightMenuContentComponent = <T extends ElementType = 'div'>(\n props: ComponentProps<typeof GenericMenuPanel<T>> & { showArrow?: boolean }\n) => ReactNode;\n\nconst _RightMenuContent = <T extends ElementType = 'div'>(\n {\n showArrow,\n className,\n ...props\n }: ComponentProps<typeof GenericMenuPanel<T>> & { showArrow?: boolean },\n ref: ComponentPropsWithRef<T>['ref']\n) => (\n <GenericMenuPanel\n ref={ref}\n showArrow={showArrow}\n {...(props as ComponentProps<typeof GenericMenuPanel>)}\n className={cn(rightMenuContentVariants({ showArrow }), className)}\n />\n);\n\nconst RightMenuContent: RightMenuContentComponent = forwardRef(_RightMenuContent);\n\nconst ContextMenuContent = ({\n sub,\n children,\n container,\n showArrow,\n // TODO: remove deprecated side and align\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n side,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n align,\n ...props\n}: ContextMenuContentProps | ContextMenuSubContentProps) => {\n const ContentElement = sub ? RightMenu.SubContent : RightMenu.Content;\n const inputModalityProps = useInputModality();\n const portalContainer = useResolvedPortalContainer(container);\n\n return (\n <RightMenu.Portal container={portalContainer}>\n <RightMenuContent\n {...props}\n type=\"context-menu\"\n showArrow={showArrow}\n as={ContentElement}\n {...inputModalityProps}\n >\n {showArrow && (\n <Arrow\n asChild\n as={RightMenu.Arrow}\n width={20}\n height={10}\n >\n <Popover_Arrow className=\"popover-arrow\" />\n </Arrow>\n )}\n {children}\n </RightMenuContent>\n </RightMenu.Portal>\n );\n};\n\nContextMenuContent.displayName = 'ContextMenuContent';\nContextMenu.Content = ContextMenuContent;\n\nconst RightMenuGroup = styled(RightMenu.Group)`\n width: 100%;\n border-bottom: 1px solid\n ${({ theme }) => theme.click.genericMenu.item.color.default.stroke.default};\n`;\n\nconst ContextMenuGroup = (props: RightMenu.ContextMenuGroupProps) => {\n return <RightMenuGroup {...props} />;\n};\n\nContextMenuGroup.displayName = 'ContextMenuGroup';\nContextMenu.Group = ContextMenuGroup;\n\nconst RightMenuSub = styled(RightMenu.Sub)`\n border-bottom: 1px solid\n ${({ theme }) => theme.click.genericMenu.item.color.default.stroke.default};\n`;\n\nconst ContextMenuSub = ({ ...props }: RightMenu.ContextMenuGroupProps) => {\n return <RightMenuSub {...props} />;\n};\n\nContextMenuSub.displayName = 'ContextMenuSub';\nContextMenu.Sub = ContextMenuSub;\n\nconst ContextMenuItem = ({\n icon,\n iconDir,\n type = 'default',\n children,\n ...props\n}: ContextMenuItemProps) => {\n return (\n <GenericMenuItem\n as={RightMenu.Item}\n type={type}\n {...props}\n >\n <IconWrapper\n icon={icon}\n iconDir={iconDir}\n >\n {children}\n </IconWrapper>\n </GenericMenuItem>\n );\n};\n\nContextMenuItem.displayName = 'ContextMenuItem';\nContextMenu.Item = ContextMenuItem;\n\nexport default ContextMenu;\n"],"names":["ContextMenu","props","jsx","RightMenu","TriggerDiv","styled","div","withConfig","componentId","theme","click","global","color","outline","default","ContextMenuTrigger","forwardRef","disabled","ref","displayName","Trigger","ContextMenuSubTrigger","icon","iconDir","children","GenericMenuItem","SubTrigger","IconWrapper","Icon","rightMenuContentVariants","cva","styles","variants","showArrow","true","false","defaultVariants","_RightMenuContent","className","GenericMenuPanel","cn","RightMenuContent","ContextMenuContent","sub","container","side","align","ContentElement","SubContent","Content","inputModalityProps","useInputModality","portalContainer","useResolvedPortalContainer","jsxs","Arrow","Popover_Arrow","RightMenuGroup","Group","genericMenu","item","stroke","ContextMenuGroup","RightMenuSub","Sub","ContextMenuSub","ContextMenuItem","type","Item"],"mappings":"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"}
|
|
@@ -5,7 +5,11 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
5
5
|
const styledComponents = require('styled-components');
|
|
6
6
|
const EmptyButton = require('../EmptyButton/index.cjs');
|
|
7
7
|
|
|
8
|
-
const CrossButton = styledComponents.styled(EmptyButton.EmptyButton).
|
|
8
|
+
const CrossButton = styledComponents.styled(EmptyButton.EmptyButton).attrs(({
|
|
9
|
+
type = "button"
|
|
10
|
+
}) => ({
|
|
11
|
+
type
|
|
12
|
+
})).withConfig({
|
|
9
13
|
componentId: "sc-1jltje-0"
|
|
10
14
|
})(["padding:", " ", ";background:", ";border-radius:", ";&:hover{background:", ";}"], ({
|
|
11
15
|
theme
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../src/components/CrossButton/CrossButton.tsx"],"sourcesContent":["import { styled } from 'styled-components';\nimport { EmptyButton } from '@/components/EmptyButton';\n\nexport const CrossButton = styled(EmptyButton)`\n padding: ${({ theme }) => theme.click.button.iconButton.sm.space.y}\n ${({ theme }) => theme.click.button.iconButton.sm.space.x};\n background: ${({ theme }) =>\n theme.click.button.iconButton.color.primary.background.default};\n border-radius: ${({ theme }) => theme.click.button.iconButton.radii.all};\n\n &:hover {\n background: ${({ theme }) =>\n theme.click.button.iconButton.color.primary.background.hover};\n }\n`;\n"],"names":["CrossButton","styled","EmptyButton","withConfig","componentId","theme","click","button","iconButton","sm","space","y","x","color","primary","background","default","radii","all","hover"],"mappings":";;;;;;;AAGO,MAAMA,WAAAA,GAAcC,uBAAAA,CAAOC,uBAAW,CAAA,
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../src/components/CrossButton/CrossButton.tsx"],"sourcesContent":["import { styled } from 'styled-components';\nimport { EmptyButton } from '@/components/EmptyButton';\n\nexport const CrossButton = styled(EmptyButton).attrs<{\n type?: React.ButtonHTMLAttributes<HTMLButtonElement>['type'];\n}>(({ type = 'button' }) => ({ type }))`\n padding: ${({ theme }) => theme.click.button.iconButton.sm.space.y}\n ${({ theme }) => theme.click.button.iconButton.sm.space.x};\n background: ${({ theme }) =>\n theme.click.button.iconButton.color.primary.background.default};\n border-radius: ${({ theme }) => theme.click.button.iconButton.radii.all};\n\n &:hover {\n background: ${({ theme }) =>\n theme.click.button.iconButton.color.primary.background.hover};\n }\n`;\n"],"names":["CrossButton","styled","EmptyButton","attrs","type","withConfig","componentId","theme","click","button","iconButton","sm","space","y","x","color","primary","background","default","radii","all","hover"],"mappings":";;;;;;;AAGO,MAAMA,WAAAA,GAAcC,uBAAAA,CAAOC,uBAAW,CAAA,CAAEC,MAE5C,CAAC;AAAA,EAAEC,IAAAA,GAAO;AAAS,CAAA,MAAO;AAAA,EAAEA;AAAK,CAAA,CAAE,EAACC,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,UAAA,EAAA,GAAA,EAAA,gBAAA,iBAAA,EAAA,sBAAA,EAAA,IAAA,CAAA,EAC1B,CAAC;AAAA,EAAEC;AAAM,CAAA,KAAMA,MAAMC,KAAAA,CAAMC,MAAAA,CAAOC,WAAWC,EAAAA,CAAGC,KAAAA,CAAMC,GAC7D,CAAC;AAAA,EAAEN;AAAM,CAAA,KAAMA,MAAMC,KAAAA,CAAMC,MAAAA,CAAOC,WAAWC,EAAAA,CAAGC,KAAAA,CAAME,GAC5C,CAAC;AAAA,EAAEP;AAAM,CAAA,KACrBA,KAAAA,CAAMC,MAAMC,MAAAA,CAAOC,UAAAA,CAAWK,MAAMC,OAAAA,CAAQC,UAAAA,CAAWC,SACxC,CAAC;AAAA,EAAEX;AAAM,CAAA,KAAMA,MAAMC,KAAAA,CAAMC,MAAAA,CAAOC,UAAAA,CAAWS,KAAAA,CAAMC,KAGpD,CAAC;AAAA,EAAEb;AAAM,CAAA,KACrBA,MAAMC,KAAAA,CAAMC,MAAAA,CAAOC,WAAWK,KAAAA,CAAMC,OAAAA,CAAQC,WAAWI,KAAK;;;;"}
|
|
@@ -553,7 +553,7 @@ const CalendarRenderer = ({
|
|
|
553
553
|
headerNavRefs.current[0] = null;
|
|
554
554
|
}
|
|
555
555
|
} }),
|
|
556
|
-
view === date.DAYS && allowYearMonthSelection ? /* @__PURE__ */ jsxRuntime.jsx(ClickableTitle, { ref: (el) => {
|
|
556
|
+
view === date.DAYS && allowYearMonthSelection ? /* @__PURE__ */ jsxRuntime.jsx(ClickableTitle, { type: "button", ref: (el) => {
|
|
557
557
|
headerNavRefs.current[1] = el;
|
|
558
558
|
}, onClick: onTitleClick, onKeyDown: onHeaderNavKeyDown, "data-testid": "calendar-title", tabIndex: 0, children: getHeaderTitle(view) }) : /* @__PURE__ */ jsxRuntime.jsx(UnselectableTitle, { children: getHeaderTitle(view) }),
|
|
559
559
|
/* @__PURE__ */ jsxRuntime.jsx(DateSelectNav, { id: "calendar-next-month", icon: "chevron-right", onClick: onNextClick, onKeyDown: onHeaderNavKeyDown, view, tabIndex: view === date.MONTHS ? -1 : 0, buttonRef: (el) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Common.cjs","sources":["../../../../src/components/DatePicker/Common.tsx"],"sourcesContent":["import { styled } from 'styled-components';\nimport { InputElement, InputStartContent, InputWrapper } from '@/components/InputWrapper';\nimport {\n KeyboardEvent,\n ReactNode,\n useCallback,\n useEffect,\n useId,\n useRef,\n useState,\n} from 'react';\nimport { Icon, IconName } from '@/components/Icon';\nimport { Container } from '@/components/Container';\nimport { useCalendar, UseCalendarOptions } from '@h6s/calendar';\nimport { IconButton, IconButtonSize } from '@/components/IconButton';\nimport { Text } from '@/components/Text';\nimport {\n dateRangeIsValid,\n formatDateHeader,\n formatSelectedDate,\n formatSelectedDateTime,\n formatSelectedDateTimeWithSeconds,\n formatWeekday,\n shiftToTimezone,\n Timezone,\n} from './utils';\nimport { getMonthNames, DAYS, MONTHS, YEARS, DAYS_IN_WEEK } from '@/utils/date';\nimport { Dropdown } from '@/components/Dropdown';\n\nconst explicitWidth = '250px';\n\nconst viewGridMonths = {\n columns: 4,\n rows: 3,\n} as const;\n\nconst viewGridYears = {\n columns: 3,\n rows: 3,\n} as const;\n\nconst totalYears = viewGridYears.columns * viewGridYears.rows;\nconst yearsOffset = Math.floor(totalYears / 2);\n\nconst HighlightedInputWrapper = styled(InputWrapper)<{\n $isActive: boolean;\n $width?: string;\n error?: boolean;\n}>`\n ${({ $isActive, $width, error, theme }) => {\n let borderColor = $isActive\n ? theme.click.datePicker.dateOption.color.stroke.active\n : theme.click.field.color.stroke.default;\n\n if (error) {\n borderColor = theme.click.field.color.stroke.error;\n }\n\n return `border: ${theme.click.datePicker.dateOption.stroke} solid ${borderColor};\n width: ${$width ? $width : explicitWidth};\n ${$width && `min-width: ${explicitWidth};`}\n `;\n }}\n}`;\n\ninterface DatePickerInputProps {\n isActive: boolean;\n disabled: boolean;\n id?: string;\n partialMonth?: number;\n partialYear?: number;\n placeholder?: string;\n selectedDate?: Date;\n timezone?: Timezone;\n}\n\nconst formatPartialDate = (\n timezone: Timezone,\n selectedDate?: Date,\n partialYear?: number,\n partialMonth?: number\n): string => {\n if (typeof partialYear === 'number' && typeof partialMonth === 'number') {\n const date =\n timezone === 'UTC'\n ? new Date(Date.UTC(partialYear, partialMonth, 1))\n : new Date(partialYear, partialMonth, 1);\n return formatDateHeader(timezone, date);\n }\n\n if (typeof partialYear === 'number') {\n return String(partialYear);\n }\n\n if (selectedDate instanceof Date) {\n return formatSelectedDate(timezone, selectedDate);\n }\n\n return '';\n};\n\nexport const DatePickerInput = ({\n isActive,\n disabled,\n id,\n partialMonth,\n partialYear,\n placeholder,\n selectedDate,\n timezone = 'system',\n}: DatePickerInputProps) => {\n const defaultId = useId();\n const formattedSelectedDate = formatPartialDate(\n timezone,\n selectedDate,\n partialYear,\n partialMonth\n );\n\n return (\n <HighlightedInputWrapper\n $isActive={isActive}\n disabled={disabled}\n id={id ?? defaultId}\n >\n <InputStartContent>\n <Icon name=\"calendar\" />\n </InputStartContent>\n <InputElement\n $hasStartContent\n data-testid=\"datepicker-input\"\n placeholder={placeholder}\n readOnly\n value={formattedSelectedDate}\n />\n </HighlightedInputWrapper>\n );\n};\n\ninterface DateRangePickerInputProps {\n isActive: boolean;\n disabled: boolean;\n id?: string;\n placeholder?: string;\n selectedEndDate?: Date;\n selectedStartDate?: Date;\n timezone?: Timezone;\n}\n\nexport const DateRangePickerInput = ({\n isActive,\n disabled,\n id,\n placeholder,\n selectedEndDate,\n selectedStartDate,\n timezone = 'system',\n}: DateRangePickerInputProps) => {\n const defaultId = useId();\n\n let formattedValue = (\n <Text\n color=\"muted\"\n component=\"span\"\n >\n {placeholder ?? ''}\n </Text>\n );\n if (selectedStartDate) {\n if (selectedEndDate) {\n formattedValue = (\n <span>\n {formatSelectedDate(timezone, selectedStartDate)} –{' '}\n {formatSelectedDate(timezone, selectedEndDate)}\n </span>\n );\n } else {\n formattedValue = (\n <span>\n {formatSelectedDate(timezone, selectedStartDate)}{' '}\n <Text\n color=\"muted\"\n component=\"span\"\n >\n – end date\n </Text>\n </span>\n );\n }\n }\n\n return (\n <HighlightedInputWrapper\n $isActive={isActive}\n disabled={disabled}\n id={id ?? defaultId}\n >\n <InputStartContent>\n <Icon name=\"calendar\" />\n </InputStartContent>\n <InputElement\n $hasStartContent\n as=\"div\"\n data-testid=\"daterangepicker-input\"\n >\n {formattedValue}\n </InputElement>\n </HighlightedInputWrapper>\n );\n};\n\ninterface DateTimeRangePickerInputProps {\n isActive: boolean;\n disabled: boolean;\n id?: string;\n placeholder?: string;\n selectedEndDate?: Date;\n selectedStartDate?: Date;\n shouldShowSeconds?: boolean;\n timezone?: Timezone;\n}\n\nexport const DateTimeRangePickerInput = ({\n isActive,\n disabled,\n id,\n placeholder,\n selectedEndDate,\n selectedStartDate,\n shouldShowSeconds,\n timezone = 'system',\n}: DateTimeRangePickerInputProps) => {\n const defaultId = useId();\n\n const formatDateTime = useCallback(\n (date: Date) => {\n if (shouldShowSeconds) {\n return formatSelectedDateTimeWithSeconds(timezone, date);\n }\n\n return formatSelectedDateTime(timezone, date);\n },\n [shouldShowSeconds, timezone]\n );\n\n let formattedValue = (\n <Text\n color=\"muted\"\n component=\"span\"\n >\n {placeholder ?? ''}\n </Text>\n );\n\n if (selectedStartDate) {\n if (selectedEndDate) {\n formattedValue = (\n <span>\n {formatDateTime(selectedStartDate).replace('AM', 'am').replace('PM', 'pm')} –{' '}\n {formatDateTime(selectedEndDate).replace('AM', 'am').replace('PM', 'pm')}\n </span>\n );\n } else {\n formattedValue = (\n <span>\n {formatDateTime(selectedStartDate).replace('AM', 'am').replace('PM', 'pm')}{' '}\n <Text\n color=\"muted\"\n component=\"span\"\n >\n – end date\n </Text>\n </span>\n );\n }\n } else if (selectedEndDate) {\n formattedValue = (\n <span>\n <Text\n color=\"muted\"\n component=\"span\"\n >\n start date –{' '}\n </Text>\n {formatDateTime(selectedEndDate).replace('AM', 'am').replace('PM', 'pm')}\n </span>\n );\n }\n\n const startDateIsAfterEndDate =\n selectedStartDate &&\n selectedEndDate &&\n !dateRangeIsValid({\n startDate: selectedStartDate,\n endDate: selectedEndDate,\n });\n\n return (\n <HighlightedInputWrapper\n $isActive={isActive}\n $width=\"max-content\"\n disabled={disabled}\n error={startDateIsAfterEndDate}\n id={id ?? defaultId}\n >\n <InputStartContent>\n <Icon name=\"calendar\" />\n </InputStartContent>\n <InputElement\n $hasStartContent\n as=\"div\"\n data-testid=\"datetimepicker-input\"\n >\n {formattedValue}\n </InputElement>\n </HighlightedInputWrapper>\n );\n};\n\nconst DatePickerContainer = styled(Container)`\n background: ${({ theme }) =>\n theme.click.datePicker.dateOption.color.background.default};\n`;\n\nconst ClickableTitle = styled.button`\n background: transparent;\n border: 1px solid transparent;\n cursor: pointer;\n outline: none;\n padding: 0.25rem 0.5rem;\n user-select: none;\n\n ${({ theme }) => `\n border-radius: ${theme.click.datePicker.dateOption.radii.default};\n color: ${theme.click.datePicker.color.title.default};\n font: ${theme.click.datePicker.typography.title.default};\n `};\n\n &:hover {\n background: ${({ theme }) =>\n theme.click.datePicker.dateOption.color.background.hover};\n }\n\n &:focus,\n &:focus-visible {\n border-color: ${({ theme }) => theme.click.datePicker.dateOption.color.stroke.hover};\n }\n`;\n\nconst UnselectableTitle = styled.h2`\n margin: 0;\n padding: 0;\n user-select: none;\n\n ${({ theme }) => `\n color: ${theme.click.datePicker.color.title.default};\n font: ${theme.click.datePicker.typography.title.default};\n `}\n`;\n\nconst GridContainer = styled.div`\n display: grid;\n padding: 0.25rem 0 0;\n\n ${({ theme }) => `\n gap: calc(${theme.click.datePicker.space.gap} * 2);\n `}\n`;\n\nconst MonthsGrid = styled(GridContainer)`\n grid-template-columns: repeat(${viewGridMonths.columns}, 1fr);\n grid-template-rows: repeat(${viewGridMonths.rows}, 1fr);\n`;\n\nconst YearsGrid = styled(GridContainer)`\n grid-template-columns: repeat(${viewGridYears.columns}, 1fr);\n grid-template-rows: repeat(${viewGridYears.rows}, 1fr);\n`;\n\nconst GridCell = styled.button<{ $isActive?: boolean; $isPresent?: boolean }>`\n align-items: center;\n cursor: pointer;\n display: flex;\n justify-content: center;\n min-height: 26px;\n padding: 8px 4px;\n text-align: center;\n\n ${({ theme }) => `\n background: ${theme.click.datePicker.dateOption.color.background.default};\n border: ${theme.click.datePicker.dateOption.stroke} solid ${theme.click.datePicker.dateOption.color.stroke.default};\n border-radius: ${theme.click.datePicker.dateOption.radii.default};\n color: ${theme.click.datePicker.dateOption.color.label.default};\n font: ${theme.click.datePicker.dateOption.typography.label.default};\n `}\n\n ${({ $isActive, theme }) =>\n $isActive &&\n `\n background: ${theme.click.datePicker.dateOption.color.background.active};\n color: ${theme.click.datePicker.dateOption.color.label.active};\n `}\n\n ${({ $isActive, $isPresent, theme }) =>\n $isPresent &&\n !$isActive &&\n `background: ${theme.click.datePicker.dateOption.color.background.range};`}\n\n ${({ theme }) => `\n &:hover {\n border-color: ${theme.click.datePicker.dateOption.color.stroke.hover};\n }\n\n &:focus {\n outline: none;\n border-color: ${theme.click.datePicker.dateOption.color.stroke.hover};\n }\n\n &:focus-visible {\n outline: none;\n border-color: ${theme.click.datePicker.dateOption.color.stroke.hover};\n }\n `}\n`;\n\nconst DateTable = styled.table`\n border-collapse: separate;\n border-spacing: 0;\n font: ${({ theme }) => theme.typography.styles.product.text.normal.md};\n table-layout: fixed;\n user-select: none;\n width: ${explicitWidth};\n\n thead tr {\n height: ${({ theme }) => theme.click.datePicker.dateOption.size.height};\n }\n\n tbody {\n cursor: pointer;\n }\n\n td,\n th {\n padding: 4px;\n }\n`;\n\nconst DateTableHeader = styled.th`\n ${({ theme }) => `\n color: ${theme.click.datePicker.color.daytitle.default};\n font: ${theme.click.datePicker.typography.daytitle.default};\n `}\n\n width: 14%;\n`;\n\nexport const DateTableCell = styled.td<{\n $isCurrentMonth?: boolean;\n $isDisabled?: boolean;\n $isSelected?: boolean;\n $isPresent?: boolean;\n}>`\n ${({ theme }) => `\n border: ${theme.click.datePicker.dateOption.stroke} solid ${theme.click.datePicker.dateOption.color.stroke.default};\n border-radius: ${theme.click.datePicker.dateOption.radii.default};\n font: ${theme.click.datePicker.dateOption.typography.label.default};\n `}\n\n ${({ $isCurrentMonth, $isDisabled, theme }) =>\n (!$isCurrentMonth || $isDisabled) &&\n `\n color: ${theme.click.datePicker.dateOption.color.label.disabled};\n font: ${theme.click.datePicker.dateOption.typography.label.disabled};\n `}\n\n ${({ $isSelected, theme }) =>\n $isSelected &&\n `\n background: ${theme.click.datePicker.dateOption.color.background.active} !important;\n color: ${theme.click.datePicker.dateOption.color.label.active};\n `}\n\n ${({ $isSelected, $isPresent, theme }) =>\n $isPresent &&\n !$isSelected &&\n `background: ${theme.click.datePicker.dateOption.color.background.range};`}\n\n text-align: center;\n outline: none;\n\n &:hover {\n ${({ $isDisabled, $isPresent, theme }) =>\n `border: ${theme.click.datePicker.dateOption.stroke} solid ${\n $isDisabled\n ? theme.click.datePicker.dateOption.color.stroke.disabled\n : theme.click.datePicker.dateOption.color.stroke.hover\n };\n background: ${$isPresent ? theme.click.datePicker.dateOption.color.background.range : ''};\n border-radius: ${theme.click.datePicker.dateOption.radii.default};`};\n }\n\n &:focus {\n ${({ $isDisabled, theme }) =>\n `outline: none;\n border: ${theme.click.datePicker.dateOption.stroke} solid ${\n $isDisabled\n ? theme.click.datePicker.dateOption.color.stroke.disabled\n : theme.click.datePicker.dateOption.color.stroke.hover\n };`};\n }\n\n &:focus-visible {\n ${({ $isDisabled, theme }) =>\n `outline: none;\n border: ${theme.click.datePicker.dateOption.stroke} solid ${\n $isDisabled\n ? theme.click.datePicker.dateOption.color.stroke.disabled\n : theme.click.datePicker.dateOption.color.stroke.hover\n };`};\n }\n`;\n\nexport const StyledDropdownItem = styled(Dropdown.Item)`\n box-sizing: content-box;\n min-height: 24px;\n`;\n\nexport type Body = ReturnType<typeof useCalendar>['body'];\n\ninterface CalendarRendererProps {\n calendarOptions?: UseCalendarOptions;\n children: (body: Body) => ReactNode;\n allowYearMonthSelection?: boolean;\n onYearSelect?: (year: number) => void;\n onMonthSelect?: (year: number, month: number) => void;\n selectedDate?: Date;\n timezone?: Timezone;\n}\n\nconst monthAbbreviations = getMonthNames('short');\n\ntype DateViewOption = 'days' | 'months' | 'years';\n\nconst PickerNavControl = styled(IconButton)`\n && {\n &:focus,\n &:focus-visible {\n outline: none;\n border: ${({ theme }) => theme.click.datePicker.dateOption.stroke} solid\n ${({ theme }) => theme.click.datePicker.dateOption.color.stroke.hover};\n }\n }\n`;\n\nconst EmptyDateSelectNav = styled(PickerNavControl)`\n visibility: hidden;\n pointer-events: none;\n`;\n\nconst DateSelectNav = ({\n id,\n icon,\n onClick,\n onKeyDown,\n view,\n size = 'sm',\n tabIndex,\n buttonRef,\n}: {\n id: string;\n icon: Extract<IconName, 'chevron-left' | 'chevron-right'>;\n onClick: () => void;\n onKeyDown?: (e: KeyboardEvent<HTMLButtonElement>) => void;\n view: DateViewOption;\n size?: IconButtonSize;\n tabIndex?: number;\n buttonRef?: (el: HTMLButtonElement | null) => void;\n}) => {\n if (view === MONTHS) {\n return (\n <EmptyDateSelectNav\n ref={buttonRef}\n data-testid={id}\n icon={icon}\n size={size}\n type=\"ghost\"\n tabIndex={tabIndex}\n onKeyDown={onKeyDown}\n />\n );\n }\n return (\n <PickerNavControl\n ref={buttonRef}\n data-testid={id}\n icon={icon}\n onClick={onClick}\n onKeyDown={onKeyDown}\n size={size}\n type=\"ghost\"\n tabIndex={tabIndex}\n />\n );\n};\n\nexport const CalendarRenderer = ({\n calendarOptions = {},\n children,\n allowYearMonthSelection = true,\n onYearSelect,\n onMonthSelect,\n selectedDate,\n timezone = 'system',\n ...props\n}: CalendarRendererProps) => {\n // useCalendar reads dates as local; shiftToTimezone is a no-op in local mode.\n const shiftedCalendarOptions: UseCalendarOptions =\n calendarOptions.defaultDate instanceof Date\n ? {\n ...calendarOptions,\n defaultDate: shiftToTimezone(calendarOptions.defaultDate, timezone),\n }\n : calendarOptions;\n const { body, headers, month, navigation, year } = useCalendar({\n defaultWeekStart: 1,\n ...shiftedCalendarOptions,\n });\n\n const [view, setView] = useState<DateViewOption>(DAYS);\n const [selectedYear, setSelectedYear] = useState<number | null>(null);\n const [yearOffset, setYearOffset] = useState(0);\n const [focusedMonthIndex, setFocusedMonthIndex] = useState(month);\n const [focusedYearIndex, setFocusedYearIndex] = useState(yearsOffset);\n\n const monthGridRef = useRef<Array<HTMLButtonElement | null>>([]);\n const yearGridRef = useRef<Array<HTMLButtonElement | null>>([]);\n const headerNavRefs = useRef<Array<HTMLButtonElement | null>>([null, null, null]);\n\n useEffect(() => {\n if (view === YEARS) {\n yearGridRef.current[focusedYearIndex]?.focus();\n } else if (view === MONTHS) {\n monthGridRef.current[focusedMonthIndex]?.focus();\n }\n }, [view, focusedYearIndex, focusedMonthIndex]);\n\n const onNextClick = useCallback(() => {\n if (view === YEARS) {\n setYearOffset(prev => prev + totalYears);\n } else {\n navigation.toNext();\n }\n }, [navigation, view]);\n\n const onPreviousClick = useCallback(() => {\n if (view === YEARS) {\n setYearOffset(prev => prev - totalYears);\n return;\n }\n\n navigation.toPrev();\n }, [navigation, view]);\n\n const onTitleClick = useCallback(() => {\n if (view !== DAYS) {\n return;\n }\n\n setView(YEARS);\n }, [view]);\n\n const onHeaderNavKeyDown = useCallback((e: KeyboardEvent<HTMLButtonElement>) => {\n const validRefs = headerNavRefs.current.filter(ref => {\n if (!ref) {\n return false;\n }\n return (\n ref.offsetParent !== null ||\n (!ref.hasAttribute('hidden') && ref.getAttribute('aria-hidden') !== 'true')\n );\n });\n\n const currentValidIndex = validRefs.indexOf(e.currentTarget);\n if (currentValidIndex === -1 || validRefs.length <= 1) {\n return;\n }\n\n if (e.key === 'ArrowRight') {\n e.preventDefault();\n const nextValidIndex = (currentValidIndex + 1) % validRefs.length;\n validRefs[nextValidIndex]?.focus();\n } else if (e.key === 'ArrowLeft') {\n e.preventDefault();\n const prevValidIndex =\n (currentValidIndex - 1 + validRefs.length) % validRefs.length;\n validRefs[prevValidIndex]?.focus();\n }\n }, []);\n\n const onYearSelection = useCallback(\n (yearValue: number) => {\n setSelectedYear(yearValue);\n setView(MONTHS);\n onYearSelect?.(yearValue);\n },\n [onYearSelect]\n );\n\n const onMonthSelection = useCallback(\n (monthIndex: number) => {\n const finalYear = typeof selectedYear === 'number' ? selectedYear : year;\n const newDate = new Date(finalYear, monthIndex, 1);\n\n navigation.setDate(newDate);\n onMonthSelect?.(finalYear, monthIndex);\n\n setView(DAYS);\n setSelectedYear(null);\n setYearOffset(0);\n },\n [selectedYear, year, navigation, onMonthSelect]\n );\n\n const onMonthGridKeyDown = useCallback(\n (event: KeyboardEvent<HTMLButtonElement>, index: number) => {\n const columns = viewGridMonths.columns;\n const totalItems = 12;\n let newIndex = index;\n\n switch (event.key) {\n case 'ArrowRight':\n event.preventDefault();\n newIndex = (index + 1) % totalItems;\n break;\n case 'ArrowLeft':\n event.preventDefault();\n newIndex = (index - 1 + totalItems) % totalItems;\n break;\n case 'ArrowDown':\n event.preventDefault();\n newIndex = (index + columns) % totalItems;\n break;\n case 'ArrowUp':\n event.preventDefault();\n newIndex = (index - columns + totalItems) % totalItems;\n break;\n case 'Enter':\n case ' ':\n event.preventDefault();\n onMonthSelection(index);\n return;\n default:\n return;\n }\n\n setFocusedMonthIndex(newIndex);\n monthGridRef.current[newIndex]?.focus();\n },\n [onMonthSelection]\n );\n\n const onYearGridKeyDown = useCallback(\n (event: KeyboardEvent<HTMLButtonElement>, index: number, yearValue: number) => {\n const columns = viewGridYears.columns;\n const totalItems = totalYears;\n let newIndex = index;\n\n switch (event.key) {\n case 'ArrowRight':\n event.preventDefault();\n newIndex = (index + 1) % totalItems;\n break;\n case 'ArrowLeft':\n event.preventDefault();\n newIndex = (index - 1 + totalItems) % totalItems;\n break;\n case 'ArrowDown':\n event.preventDefault();\n newIndex = (index + columns) % totalItems;\n break;\n case 'ArrowUp':\n event.preventDefault();\n newIndex = (index - columns + totalItems) % totalItems;\n break;\n case 'Enter':\n case ' ':\n event.preventDefault();\n onYearSelection(yearValue);\n return;\n default:\n return;\n }\n\n setFocusedYearIndex(newIndex);\n yearGridRef.current[newIndex]?.focus();\n },\n [onYearSelection]\n );\n\n const headerDate = new Date();\n headerDate.setMonth(month);\n headerDate.setFullYear(year);\n\n const getHeaderTitle = (view: DateViewOption) => {\n if (view === MONTHS) {\n return 'Month';\n }\n\n if (view === YEARS) {\n return 'Year';\n }\n\n // headerDate already has the right month/year in its local fields.\n return formatDateHeader('system', headerDate);\n };\n\n const renderMonthsGrid = () => {\n const today = shiftToTimezone(new Date(), timezone);\n const thisMonth = today.getMonth();\n const thisYear = today.getFullYear();\n const shiftedSelected = selectedDate\n ? shiftToTimezone(selectedDate, timezone)\n : undefined;\n const selectedMonth = shiftedSelected?.getMonth();\n const selectedYear = shiftedSelected?.getFullYear();\n\n return (\n <MonthsGrid\n data-testid=\"months-grid\"\n role=\"grid\"\n aria-label=\"Select month\"\n >\n {monthAbbreviations.map((month, index) => {\n const handleKeyDown = (event: KeyboardEvent<HTMLButtonElement>) => {\n onMonthGridKeyDown(event, index);\n };\n\n const handleClick = () => {\n onMonthSelection(index);\n };\n\n const ref = (element: HTMLButtonElement) => {\n monthGridRef.current[index] = element;\n };\n\n return (\n <GridCell\n key={month}\n type=\"button\"\n ref={ref}\n $isActive={selectedDate && index === selectedMonth && year === selectedYear}\n $isPresent={index === thisMonth && year === thisYear}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n data-testid={`month-cell-${index}`}\n tabIndex={index === focusedMonthIndex ? 0 : -1}\n aria-label={month}\n >\n {month}\n </GridCell>\n );\n })}\n </MonthsGrid>\n );\n };\n\n const renderYearsGrid = () => {\n const years: Array<number> = [];\n const baseYear = year + yearOffset;\n const thisYear = shiftToTimezone(new Date(), timezone).getFullYear();\n const selectedYear = selectedDate\n ? shiftToTimezone(selectedDate, timezone).getFullYear()\n : undefined;\n\n for (let i = -yearsOffset; i <= yearsOffset; i++) {\n years.push(baseYear + i);\n }\n\n return (\n <YearsGrid\n data-testid=\"years-grid\"\n role=\"grid\"\n aria-label=\"Select year\"\n >\n {years.map((currentYear, index) => {\n const ref = (element: HTMLButtonElement) => {\n yearGridRef.current[index] = element;\n };\n\n const handleClick = () => {\n onYearSelection(currentYear);\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLButtonElement>) => {\n onYearGridKeyDown(event, index, currentYear);\n };\n\n return (\n <GridCell\n key={currentYear}\n type=\"button\"\n ref={ref}\n $isActive={selectedDate && currentYear === selectedYear}\n $isPresent={currentYear === thisYear}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n data-testid={`year-cell-${currentYear}`}\n tabIndex={index === focusedYearIndex ? 0 : -1}\n aria-label={String(currentYear)}\n >\n {currentYear}\n </GridCell>\n );\n })}\n </YearsGrid>\n );\n };\n\n const renderTableContent = () => {\n if (view === MONTHS) {\n return (\n <tbody>\n <tr>\n <td colSpan={DAYS_IN_WEEK}>{renderMonthsGrid()}</td>\n </tr>\n </tbody>\n );\n }\n\n if (view === YEARS) {\n return (\n <tbody>\n <tr>\n <td colSpan={DAYS_IN_WEEK}>{renderYearsGrid()}</td>\n </tr>\n </tbody>\n );\n }\n\n return (\n <>\n <thead>\n <tr>\n {headers.weekdays.map(({ key, value: date }) => {\n return (\n <DateTableHeader key={key}>\n {formatWeekday('system', date)}\n </DateTableHeader>\n );\n })}\n </tr>\n </thead>\n <tbody>{children(body)}</tbody>\n </>\n );\n };\n\n return (\n <DatePickerContainer\n data-testid=\"datepicker-calendar-container\"\n isResponsive={false}\n fillWidth={false}\n orientation=\"vertical\"\n padding=\"sm\"\n {...props}\n >\n <Container\n isResponsive={false}\n justifyContent=\"space-between\"\n orientation=\"horizontal\"\n >\n <DateSelectNav\n id=\"calendar-previous-month\"\n icon=\"chevron-left\"\n onClick={onPreviousClick}\n onKeyDown={onHeaderNavKeyDown}\n view={view}\n tabIndex={view === MONTHS ? -1 : 0}\n buttonRef={el => {\n if (view !== MONTHS) {\n headerNavRefs.current[0] = el;\n } else {\n headerNavRefs.current[0] = null;\n }\n }}\n />\n {view === DAYS && allowYearMonthSelection ? (\n <ClickableTitle\n ref={el => {\n headerNavRefs.current[1] = el as HTMLButtonElement;\n }}\n onClick={onTitleClick}\n onKeyDown={onHeaderNavKeyDown}\n data-testid=\"calendar-title\"\n tabIndex={0}\n >\n {getHeaderTitle(view)}\n </ClickableTitle>\n ) : (\n <UnselectableTitle>{getHeaderTitle(view)}</UnselectableTitle>\n )}\n <DateSelectNav\n id=\"calendar-next-month\"\n icon=\"chevron-right\"\n onClick={onNextClick}\n onKeyDown={onHeaderNavKeyDown}\n view={view}\n tabIndex={view === MONTHS ? -1 : 0}\n buttonRef={el => {\n if (view !== MONTHS) {\n headerNavRefs.current[2] = el;\n } else {\n headerNavRefs.current[2] = null;\n }\n }}\n />\n </Container>\n <DateTable>{renderTableContent()}</DateTable>\n </DatePickerContainer>\n );\n};\n"],"names":["explicitWidth","viewGridMonths","columns","rows","viewGridYears","totalYears","yearsOffset","Math","floor","HighlightedInputWrapper","styled","InputWrapper","withConfig","componentId","$isActive","$width","error","theme","borderColor","click","datePicker","dateOption","color","stroke","active","field","default","formatPartialDate","timezone","selectedDate","partialYear","partialMonth","date","Date","UTC","formatDateHeader","String","formatSelectedDate","DatePickerInput","isActive","disabled","id","placeholder","defaultId","useId","formattedSelectedDate","jsx","InputStartContent","Icon","InputElement","DateRangePickerInput","selectedEndDate","selectedStartDate","formattedValue","Text","DateTimeRangePickerInput","shouldShowSeconds","formatDateTime","useCallback","formatSelectedDateTimeWithSeconds","formatSelectedDateTime","replace","jsxs","startDateIsAfterEndDate","dateRangeIsValid","startDate","endDate","DatePickerContainer","Container","background","ClickableTitle","button","radii","title","typography","hover","UnselectableTitle","h2","GridContainer","div","space","gap","MonthsGrid","YearsGrid","GridCell","label","$isPresent","range","DateTable","table","styles","product","text","normal","md","size","height","DateTableHeader","th","daytitle","DateTableCell","td","$isCurrentMonth","$isDisabled","$isSelected","StyledDropdownItem","Dropdown","Item","monthAbbreviations","getMonthNames","PickerNavControl","IconButton","EmptyDateSelectNav","DateSelectNav","icon","onClick","onKeyDown","view","tabIndex","buttonRef","MONTHS","CalendarRenderer","calendarOptions","children","allowYearMonthSelection","onYearSelect","onMonthSelect","props","shiftedCalendarOptions","defaultDate","shiftToTimezone","body","headers","month","navigation","year","useCalendar","defaultWeekStart","setView","useState","DAYS","selectedYear","setSelectedYear","yearOffset","setYearOffset","focusedMonthIndex","setFocusedMonthIndex","focusedYearIndex","setFocusedYearIndex","monthGridRef","useRef","yearGridRef","headerNavRefs","useEffect","YEARS","current","focus","onNextClick","prev","toNext","onPreviousClick","toPrev","onTitleClick","onHeaderNavKeyDown","e","validRefs","filter","ref","offsetParent","hasAttribute","getAttribute","currentValidIndex","indexOf","currentTarget","length","key","preventDefault","nextValidIndex","prevValidIndex","onYearSelection","yearValue","onMonthSelection","monthIndex","finalYear","newDate","setDate","onMonthGridKeyDown","event","index","totalItems","newIndex","onYearGridKeyDown","headerDate","setMonth","setFullYear","getHeaderTitle","renderMonthsGrid","today","thisMonth","getMonth","thisYear","getFullYear","shiftedSelected","undefined","selectedMonth","map","handleKeyDown","handleClick","element","renderYearsGrid","years","baseYear","i","push","currentYear","renderTableContent","DAYS_IN_WEEK","Fragment","weekdays","value","formatWeekday","el"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Common.cjs","sources":["../../../../src/components/DatePicker/Common.tsx"],"sourcesContent":["import { styled } from 'styled-components';\nimport { InputElement, InputStartContent, InputWrapper } from '@/components/InputWrapper';\nimport {\n KeyboardEvent,\n ReactNode,\n useCallback,\n useEffect,\n useId,\n useRef,\n useState,\n} from 'react';\nimport { Icon, IconName } from '@/components/Icon';\nimport { Container } from '@/components/Container';\nimport { useCalendar, UseCalendarOptions } from '@h6s/calendar';\nimport { IconButton, IconButtonSize } from '@/components/IconButton';\nimport { Text } from '@/components/Text';\nimport {\n dateRangeIsValid,\n formatDateHeader,\n formatSelectedDate,\n formatSelectedDateTime,\n formatSelectedDateTimeWithSeconds,\n formatWeekday,\n shiftToTimezone,\n Timezone,\n} from './utils';\nimport { getMonthNames, DAYS, MONTHS, YEARS, DAYS_IN_WEEK } from '@/utils/date';\nimport { Dropdown } from '@/components/Dropdown';\n\nconst explicitWidth = '250px';\n\nconst viewGridMonths = {\n columns: 4,\n rows: 3,\n} as const;\n\nconst viewGridYears = {\n columns: 3,\n rows: 3,\n} as const;\n\nconst totalYears = viewGridYears.columns * viewGridYears.rows;\nconst yearsOffset = Math.floor(totalYears / 2);\n\nconst HighlightedInputWrapper = styled(InputWrapper)<{\n $isActive: boolean;\n $width?: string;\n error?: boolean;\n}>`\n ${({ $isActive, $width, error, theme }) => {\n let borderColor = $isActive\n ? theme.click.datePicker.dateOption.color.stroke.active\n : theme.click.field.color.stroke.default;\n\n if (error) {\n borderColor = theme.click.field.color.stroke.error;\n }\n\n return `border: ${theme.click.datePicker.dateOption.stroke} solid ${borderColor};\n width: ${$width ? $width : explicitWidth};\n ${$width && `min-width: ${explicitWidth};`}\n `;\n }}\n}`;\n\ninterface DatePickerInputProps {\n isActive: boolean;\n disabled: boolean;\n id?: string;\n partialMonth?: number;\n partialYear?: number;\n placeholder?: string;\n selectedDate?: Date;\n timezone?: Timezone;\n}\n\nconst formatPartialDate = (\n timezone: Timezone,\n selectedDate?: Date,\n partialYear?: number,\n partialMonth?: number\n): string => {\n if (typeof partialYear === 'number' && typeof partialMonth === 'number') {\n const date =\n timezone === 'UTC'\n ? new Date(Date.UTC(partialYear, partialMonth, 1))\n : new Date(partialYear, partialMonth, 1);\n return formatDateHeader(timezone, date);\n }\n\n if (typeof partialYear === 'number') {\n return String(partialYear);\n }\n\n if (selectedDate instanceof Date) {\n return formatSelectedDate(timezone, selectedDate);\n }\n\n return '';\n};\n\nexport const DatePickerInput = ({\n isActive,\n disabled,\n id,\n partialMonth,\n partialYear,\n placeholder,\n selectedDate,\n timezone = 'system',\n}: DatePickerInputProps) => {\n const defaultId = useId();\n const formattedSelectedDate = formatPartialDate(\n timezone,\n selectedDate,\n partialYear,\n partialMonth\n );\n\n return (\n <HighlightedInputWrapper\n $isActive={isActive}\n disabled={disabled}\n id={id ?? defaultId}\n >\n <InputStartContent>\n <Icon name=\"calendar\" />\n </InputStartContent>\n <InputElement\n $hasStartContent\n data-testid=\"datepicker-input\"\n placeholder={placeholder}\n readOnly\n value={formattedSelectedDate}\n />\n </HighlightedInputWrapper>\n );\n};\n\ninterface DateRangePickerInputProps {\n isActive: boolean;\n disabled: boolean;\n id?: string;\n placeholder?: string;\n selectedEndDate?: Date;\n selectedStartDate?: Date;\n timezone?: Timezone;\n}\n\nexport const DateRangePickerInput = ({\n isActive,\n disabled,\n id,\n placeholder,\n selectedEndDate,\n selectedStartDate,\n timezone = 'system',\n}: DateRangePickerInputProps) => {\n const defaultId = useId();\n\n let formattedValue = (\n <Text\n color=\"muted\"\n component=\"span\"\n >\n {placeholder ?? ''}\n </Text>\n );\n if (selectedStartDate) {\n if (selectedEndDate) {\n formattedValue = (\n <span>\n {formatSelectedDate(timezone, selectedStartDate)} –{' '}\n {formatSelectedDate(timezone, selectedEndDate)}\n </span>\n );\n } else {\n formattedValue = (\n <span>\n {formatSelectedDate(timezone, selectedStartDate)}{' '}\n <Text\n color=\"muted\"\n component=\"span\"\n >\n – end date\n </Text>\n </span>\n );\n }\n }\n\n return (\n <HighlightedInputWrapper\n $isActive={isActive}\n disabled={disabled}\n id={id ?? defaultId}\n >\n <InputStartContent>\n <Icon name=\"calendar\" />\n </InputStartContent>\n <InputElement\n $hasStartContent\n as=\"div\"\n data-testid=\"daterangepicker-input\"\n >\n {formattedValue}\n </InputElement>\n </HighlightedInputWrapper>\n );\n};\n\ninterface DateTimeRangePickerInputProps {\n isActive: boolean;\n disabled: boolean;\n id?: string;\n placeholder?: string;\n selectedEndDate?: Date;\n selectedStartDate?: Date;\n shouldShowSeconds?: boolean;\n timezone?: Timezone;\n}\n\nexport const DateTimeRangePickerInput = ({\n isActive,\n disabled,\n id,\n placeholder,\n selectedEndDate,\n selectedStartDate,\n shouldShowSeconds,\n timezone = 'system',\n}: DateTimeRangePickerInputProps) => {\n const defaultId = useId();\n\n const formatDateTime = useCallback(\n (date: Date) => {\n if (shouldShowSeconds) {\n return formatSelectedDateTimeWithSeconds(timezone, date);\n }\n\n return formatSelectedDateTime(timezone, date);\n },\n [shouldShowSeconds, timezone]\n );\n\n let formattedValue = (\n <Text\n color=\"muted\"\n component=\"span\"\n >\n {placeholder ?? ''}\n </Text>\n );\n\n if (selectedStartDate) {\n if (selectedEndDate) {\n formattedValue = (\n <span>\n {formatDateTime(selectedStartDate).replace('AM', 'am').replace('PM', 'pm')} –{' '}\n {formatDateTime(selectedEndDate).replace('AM', 'am').replace('PM', 'pm')}\n </span>\n );\n } else {\n formattedValue = (\n <span>\n {formatDateTime(selectedStartDate).replace('AM', 'am').replace('PM', 'pm')}{' '}\n <Text\n color=\"muted\"\n component=\"span\"\n >\n – end date\n </Text>\n </span>\n );\n }\n } else if (selectedEndDate) {\n formattedValue = (\n <span>\n <Text\n color=\"muted\"\n component=\"span\"\n >\n start date –{' '}\n </Text>\n {formatDateTime(selectedEndDate).replace('AM', 'am').replace('PM', 'pm')}\n </span>\n );\n }\n\n const startDateIsAfterEndDate =\n selectedStartDate &&\n selectedEndDate &&\n !dateRangeIsValid({\n startDate: selectedStartDate,\n endDate: selectedEndDate,\n });\n\n return (\n <HighlightedInputWrapper\n $isActive={isActive}\n $width=\"max-content\"\n disabled={disabled}\n error={startDateIsAfterEndDate}\n id={id ?? defaultId}\n >\n <InputStartContent>\n <Icon name=\"calendar\" />\n </InputStartContent>\n <InputElement\n $hasStartContent\n as=\"div\"\n data-testid=\"datetimepicker-input\"\n >\n {formattedValue}\n </InputElement>\n </HighlightedInputWrapper>\n );\n};\n\nconst DatePickerContainer = styled(Container)`\n background: ${({ theme }) =>\n theme.click.datePicker.dateOption.color.background.default};\n`;\n\nconst ClickableTitle = styled.button`\n background: transparent;\n border: 1px solid transparent;\n cursor: pointer;\n outline: none;\n padding: 0.25rem 0.5rem;\n user-select: none;\n\n ${({ theme }) => `\n border-radius: ${theme.click.datePicker.dateOption.radii.default};\n color: ${theme.click.datePicker.color.title.default};\n font: ${theme.click.datePicker.typography.title.default};\n `};\n\n &:hover {\n background: ${({ theme }) =>\n theme.click.datePicker.dateOption.color.background.hover};\n }\n\n &:focus,\n &:focus-visible {\n border-color: ${({ theme }) => theme.click.datePicker.dateOption.color.stroke.hover};\n }\n`;\n\nconst UnselectableTitle = styled.h2`\n margin: 0;\n padding: 0;\n user-select: none;\n\n ${({ theme }) => `\n color: ${theme.click.datePicker.color.title.default};\n font: ${theme.click.datePicker.typography.title.default};\n `}\n`;\n\nconst GridContainer = styled.div`\n display: grid;\n padding: 0.25rem 0 0;\n\n ${({ theme }) => `\n gap: calc(${theme.click.datePicker.space.gap} * 2);\n `}\n`;\n\nconst MonthsGrid = styled(GridContainer)`\n grid-template-columns: repeat(${viewGridMonths.columns}, 1fr);\n grid-template-rows: repeat(${viewGridMonths.rows}, 1fr);\n`;\n\nconst YearsGrid = styled(GridContainer)`\n grid-template-columns: repeat(${viewGridYears.columns}, 1fr);\n grid-template-rows: repeat(${viewGridYears.rows}, 1fr);\n`;\n\nconst GridCell = styled.button<{ $isActive?: boolean; $isPresent?: boolean }>`\n align-items: center;\n cursor: pointer;\n display: flex;\n justify-content: center;\n min-height: 26px;\n padding: 8px 4px;\n text-align: center;\n\n ${({ theme }) => `\n background: ${theme.click.datePicker.dateOption.color.background.default};\n border: ${theme.click.datePicker.dateOption.stroke} solid ${theme.click.datePicker.dateOption.color.stroke.default};\n border-radius: ${theme.click.datePicker.dateOption.radii.default};\n color: ${theme.click.datePicker.dateOption.color.label.default};\n font: ${theme.click.datePicker.dateOption.typography.label.default};\n `}\n\n ${({ $isActive, theme }) =>\n $isActive &&\n `\n background: ${theme.click.datePicker.dateOption.color.background.active};\n color: ${theme.click.datePicker.dateOption.color.label.active};\n `}\n\n ${({ $isActive, $isPresent, theme }) =>\n $isPresent &&\n !$isActive &&\n `background: ${theme.click.datePicker.dateOption.color.background.range};`}\n\n ${({ theme }) => `\n &:hover {\n border-color: ${theme.click.datePicker.dateOption.color.stroke.hover};\n }\n\n &:focus {\n outline: none;\n border-color: ${theme.click.datePicker.dateOption.color.stroke.hover};\n }\n\n &:focus-visible {\n outline: none;\n border-color: ${theme.click.datePicker.dateOption.color.stroke.hover};\n }\n `}\n`;\n\nconst DateTable = styled.table`\n border-collapse: separate;\n border-spacing: 0;\n font: ${({ theme }) => theme.typography.styles.product.text.normal.md};\n table-layout: fixed;\n user-select: none;\n width: ${explicitWidth};\n\n thead tr {\n height: ${({ theme }) => theme.click.datePicker.dateOption.size.height};\n }\n\n tbody {\n cursor: pointer;\n }\n\n td,\n th {\n padding: 4px;\n }\n`;\n\nconst DateTableHeader = styled.th`\n ${({ theme }) => `\n color: ${theme.click.datePicker.color.daytitle.default};\n font: ${theme.click.datePicker.typography.daytitle.default};\n `}\n\n width: 14%;\n`;\n\nexport const DateTableCell = styled.td<{\n $isCurrentMonth?: boolean;\n $isDisabled?: boolean;\n $isSelected?: boolean;\n $isPresent?: boolean;\n}>`\n ${({ theme }) => `\n border: ${theme.click.datePicker.dateOption.stroke} solid ${theme.click.datePicker.dateOption.color.stroke.default};\n border-radius: ${theme.click.datePicker.dateOption.radii.default};\n font: ${theme.click.datePicker.dateOption.typography.label.default};\n `}\n\n ${({ $isCurrentMonth, $isDisabled, theme }) =>\n (!$isCurrentMonth || $isDisabled) &&\n `\n color: ${theme.click.datePicker.dateOption.color.label.disabled};\n font: ${theme.click.datePicker.dateOption.typography.label.disabled};\n `}\n\n ${({ $isSelected, theme }) =>\n $isSelected &&\n `\n background: ${theme.click.datePicker.dateOption.color.background.active} !important;\n color: ${theme.click.datePicker.dateOption.color.label.active};\n `}\n\n ${({ $isSelected, $isPresent, theme }) =>\n $isPresent &&\n !$isSelected &&\n `background: ${theme.click.datePicker.dateOption.color.background.range};`}\n\n text-align: center;\n outline: none;\n\n &:hover {\n ${({ $isDisabled, $isPresent, theme }) =>\n `border: ${theme.click.datePicker.dateOption.stroke} solid ${\n $isDisabled\n ? theme.click.datePicker.dateOption.color.stroke.disabled\n : theme.click.datePicker.dateOption.color.stroke.hover\n };\n background: ${$isPresent ? theme.click.datePicker.dateOption.color.background.range : ''};\n border-radius: ${theme.click.datePicker.dateOption.radii.default};`};\n }\n\n &:focus {\n ${({ $isDisabled, theme }) =>\n `outline: none;\n border: ${theme.click.datePicker.dateOption.stroke} solid ${\n $isDisabled\n ? theme.click.datePicker.dateOption.color.stroke.disabled\n : theme.click.datePicker.dateOption.color.stroke.hover\n };`};\n }\n\n &:focus-visible {\n ${({ $isDisabled, theme }) =>\n `outline: none;\n border: ${theme.click.datePicker.dateOption.stroke} solid ${\n $isDisabled\n ? theme.click.datePicker.dateOption.color.stroke.disabled\n : theme.click.datePicker.dateOption.color.stroke.hover\n };`};\n }\n`;\n\nexport const StyledDropdownItem = styled(Dropdown.Item)`\n box-sizing: content-box;\n min-height: 24px;\n`;\n\nexport type Body = ReturnType<typeof useCalendar>['body'];\n\ninterface CalendarRendererProps {\n calendarOptions?: UseCalendarOptions;\n children: (body: Body) => ReactNode;\n allowYearMonthSelection?: boolean;\n onYearSelect?: (year: number) => void;\n onMonthSelect?: (year: number, month: number) => void;\n selectedDate?: Date;\n timezone?: Timezone;\n}\n\nconst monthAbbreviations = getMonthNames('short');\n\ntype DateViewOption = 'days' | 'months' | 'years';\n\nconst PickerNavControl = styled(IconButton)`\n && {\n &:focus,\n &:focus-visible {\n outline: none;\n border: ${({ theme }) => theme.click.datePicker.dateOption.stroke} solid\n ${({ theme }) => theme.click.datePicker.dateOption.color.stroke.hover};\n }\n }\n`;\n\nconst EmptyDateSelectNav = styled(PickerNavControl)`\n visibility: hidden;\n pointer-events: none;\n`;\n\nconst DateSelectNav = ({\n id,\n icon,\n onClick,\n onKeyDown,\n view,\n size = 'sm',\n tabIndex,\n buttonRef,\n}: {\n id: string;\n icon: Extract<IconName, 'chevron-left' | 'chevron-right'>;\n onClick: () => void;\n onKeyDown?: (e: KeyboardEvent<HTMLButtonElement>) => void;\n view: DateViewOption;\n size?: IconButtonSize;\n tabIndex?: number;\n buttonRef?: (el: HTMLButtonElement | null) => void;\n}) => {\n if (view === MONTHS) {\n return (\n <EmptyDateSelectNav\n ref={buttonRef}\n data-testid={id}\n icon={icon}\n size={size}\n type=\"ghost\"\n tabIndex={tabIndex}\n onKeyDown={onKeyDown}\n />\n );\n }\n return (\n <PickerNavControl\n ref={buttonRef}\n data-testid={id}\n icon={icon}\n onClick={onClick}\n onKeyDown={onKeyDown}\n size={size}\n type=\"ghost\"\n tabIndex={tabIndex}\n />\n );\n};\n\nexport const CalendarRenderer = ({\n calendarOptions = {},\n children,\n allowYearMonthSelection = true,\n onYearSelect,\n onMonthSelect,\n selectedDate,\n timezone = 'system',\n ...props\n}: CalendarRendererProps) => {\n // useCalendar reads dates as local; shiftToTimezone is a no-op in local mode.\n const shiftedCalendarOptions: UseCalendarOptions =\n calendarOptions.defaultDate instanceof Date\n ? {\n ...calendarOptions,\n defaultDate: shiftToTimezone(calendarOptions.defaultDate, timezone),\n }\n : calendarOptions;\n const { body, headers, month, navigation, year } = useCalendar({\n defaultWeekStart: 1,\n ...shiftedCalendarOptions,\n });\n\n const [view, setView] = useState<DateViewOption>(DAYS);\n const [selectedYear, setSelectedYear] = useState<number | null>(null);\n const [yearOffset, setYearOffset] = useState(0);\n const [focusedMonthIndex, setFocusedMonthIndex] = useState(month);\n const [focusedYearIndex, setFocusedYearIndex] = useState(yearsOffset);\n\n const monthGridRef = useRef<Array<HTMLButtonElement | null>>([]);\n const yearGridRef = useRef<Array<HTMLButtonElement | null>>([]);\n const headerNavRefs = useRef<Array<HTMLButtonElement | null>>([null, null, null]);\n\n useEffect(() => {\n if (view === YEARS) {\n yearGridRef.current[focusedYearIndex]?.focus();\n } else if (view === MONTHS) {\n monthGridRef.current[focusedMonthIndex]?.focus();\n }\n }, [view, focusedYearIndex, focusedMonthIndex]);\n\n const onNextClick = useCallback(() => {\n if (view === YEARS) {\n setYearOffset(prev => prev + totalYears);\n } else {\n navigation.toNext();\n }\n }, [navigation, view]);\n\n const onPreviousClick = useCallback(() => {\n if (view === YEARS) {\n setYearOffset(prev => prev - totalYears);\n return;\n }\n\n navigation.toPrev();\n }, [navigation, view]);\n\n const onTitleClick = useCallback(() => {\n if (view !== DAYS) {\n return;\n }\n\n setView(YEARS);\n }, [view]);\n\n const onHeaderNavKeyDown = useCallback((e: KeyboardEvent<HTMLButtonElement>) => {\n const validRefs = headerNavRefs.current.filter(ref => {\n if (!ref) {\n return false;\n }\n return (\n ref.offsetParent !== null ||\n (!ref.hasAttribute('hidden') && ref.getAttribute('aria-hidden') !== 'true')\n );\n });\n\n const currentValidIndex = validRefs.indexOf(e.currentTarget);\n if (currentValidIndex === -1 || validRefs.length <= 1) {\n return;\n }\n\n if (e.key === 'ArrowRight') {\n e.preventDefault();\n const nextValidIndex = (currentValidIndex + 1) % validRefs.length;\n validRefs[nextValidIndex]?.focus();\n } else if (e.key === 'ArrowLeft') {\n e.preventDefault();\n const prevValidIndex =\n (currentValidIndex - 1 + validRefs.length) % validRefs.length;\n validRefs[prevValidIndex]?.focus();\n }\n }, []);\n\n const onYearSelection = useCallback(\n (yearValue: number) => {\n setSelectedYear(yearValue);\n setView(MONTHS);\n onYearSelect?.(yearValue);\n },\n [onYearSelect]\n );\n\n const onMonthSelection = useCallback(\n (monthIndex: number) => {\n const finalYear = typeof selectedYear === 'number' ? selectedYear : year;\n const newDate = new Date(finalYear, monthIndex, 1);\n\n navigation.setDate(newDate);\n onMonthSelect?.(finalYear, monthIndex);\n\n setView(DAYS);\n setSelectedYear(null);\n setYearOffset(0);\n },\n [selectedYear, year, navigation, onMonthSelect]\n );\n\n const onMonthGridKeyDown = useCallback(\n (event: KeyboardEvent<HTMLButtonElement>, index: number) => {\n const columns = viewGridMonths.columns;\n const totalItems = 12;\n let newIndex = index;\n\n switch (event.key) {\n case 'ArrowRight':\n event.preventDefault();\n newIndex = (index + 1) % totalItems;\n break;\n case 'ArrowLeft':\n event.preventDefault();\n newIndex = (index - 1 + totalItems) % totalItems;\n break;\n case 'ArrowDown':\n event.preventDefault();\n newIndex = (index + columns) % totalItems;\n break;\n case 'ArrowUp':\n event.preventDefault();\n newIndex = (index - columns + totalItems) % totalItems;\n break;\n case 'Enter':\n case ' ':\n event.preventDefault();\n onMonthSelection(index);\n return;\n default:\n return;\n }\n\n setFocusedMonthIndex(newIndex);\n monthGridRef.current[newIndex]?.focus();\n },\n [onMonthSelection]\n );\n\n const onYearGridKeyDown = useCallback(\n (event: KeyboardEvent<HTMLButtonElement>, index: number, yearValue: number) => {\n const columns = viewGridYears.columns;\n const totalItems = totalYears;\n let newIndex = index;\n\n switch (event.key) {\n case 'ArrowRight':\n event.preventDefault();\n newIndex = (index + 1) % totalItems;\n break;\n case 'ArrowLeft':\n event.preventDefault();\n newIndex = (index - 1 + totalItems) % totalItems;\n break;\n case 'ArrowDown':\n event.preventDefault();\n newIndex = (index + columns) % totalItems;\n break;\n case 'ArrowUp':\n event.preventDefault();\n newIndex = (index - columns + totalItems) % totalItems;\n break;\n case 'Enter':\n case ' ':\n event.preventDefault();\n onYearSelection(yearValue);\n return;\n default:\n return;\n }\n\n setFocusedYearIndex(newIndex);\n yearGridRef.current[newIndex]?.focus();\n },\n [onYearSelection]\n );\n\n const headerDate = new Date();\n headerDate.setMonth(month);\n headerDate.setFullYear(year);\n\n const getHeaderTitle = (view: DateViewOption) => {\n if (view === MONTHS) {\n return 'Month';\n }\n\n if (view === YEARS) {\n return 'Year';\n }\n\n // headerDate already has the right month/year in its local fields.\n return formatDateHeader('system', headerDate);\n };\n\n const renderMonthsGrid = () => {\n const today = shiftToTimezone(new Date(), timezone);\n const thisMonth = today.getMonth();\n const thisYear = today.getFullYear();\n const shiftedSelected = selectedDate\n ? shiftToTimezone(selectedDate, timezone)\n : undefined;\n const selectedMonth = shiftedSelected?.getMonth();\n const selectedYear = shiftedSelected?.getFullYear();\n\n return (\n <MonthsGrid\n data-testid=\"months-grid\"\n role=\"grid\"\n aria-label=\"Select month\"\n >\n {monthAbbreviations.map((month, index) => {\n const handleKeyDown = (event: KeyboardEvent<HTMLButtonElement>) => {\n onMonthGridKeyDown(event, index);\n };\n\n const handleClick = () => {\n onMonthSelection(index);\n };\n\n const ref = (element: HTMLButtonElement) => {\n monthGridRef.current[index] = element;\n };\n\n return (\n <GridCell\n key={month}\n type=\"button\"\n ref={ref}\n $isActive={selectedDate && index === selectedMonth && year === selectedYear}\n $isPresent={index === thisMonth && year === thisYear}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n data-testid={`month-cell-${index}`}\n tabIndex={index === focusedMonthIndex ? 0 : -1}\n aria-label={month}\n >\n {month}\n </GridCell>\n );\n })}\n </MonthsGrid>\n );\n };\n\n const renderYearsGrid = () => {\n const years: Array<number> = [];\n const baseYear = year + yearOffset;\n const thisYear = shiftToTimezone(new Date(), timezone).getFullYear();\n const selectedYear = selectedDate\n ? shiftToTimezone(selectedDate, timezone).getFullYear()\n : undefined;\n\n for (let i = -yearsOffset; i <= yearsOffset; i++) {\n years.push(baseYear + i);\n }\n\n return (\n <YearsGrid\n data-testid=\"years-grid\"\n role=\"grid\"\n aria-label=\"Select year\"\n >\n {years.map((currentYear, index) => {\n const ref = (element: HTMLButtonElement) => {\n yearGridRef.current[index] = element;\n };\n\n const handleClick = () => {\n onYearSelection(currentYear);\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLButtonElement>) => {\n onYearGridKeyDown(event, index, currentYear);\n };\n\n return (\n <GridCell\n key={currentYear}\n type=\"button\"\n ref={ref}\n $isActive={selectedDate && currentYear === selectedYear}\n $isPresent={currentYear === thisYear}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n data-testid={`year-cell-${currentYear}`}\n tabIndex={index === focusedYearIndex ? 0 : -1}\n aria-label={String(currentYear)}\n >\n {currentYear}\n </GridCell>\n );\n })}\n </YearsGrid>\n );\n };\n\n const renderTableContent = () => {\n if (view === MONTHS) {\n return (\n <tbody>\n <tr>\n <td colSpan={DAYS_IN_WEEK}>{renderMonthsGrid()}</td>\n </tr>\n </tbody>\n );\n }\n\n if (view === YEARS) {\n return (\n <tbody>\n <tr>\n <td colSpan={DAYS_IN_WEEK}>{renderYearsGrid()}</td>\n </tr>\n </tbody>\n );\n }\n\n return (\n <>\n <thead>\n <tr>\n {headers.weekdays.map(({ key, value: date }) => {\n return (\n <DateTableHeader key={key}>\n {formatWeekday('system', date)}\n </DateTableHeader>\n );\n })}\n </tr>\n </thead>\n <tbody>{children(body)}</tbody>\n </>\n );\n };\n\n return (\n <DatePickerContainer\n data-testid=\"datepicker-calendar-container\"\n isResponsive={false}\n fillWidth={false}\n orientation=\"vertical\"\n padding=\"sm\"\n {...props}\n >\n <Container\n isResponsive={false}\n justifyContent=\"space-between\"\n orientation=\"horizontal\"\n >\n <DateSelectNav\n id=\"calendar-previous-month\"\n icon=\"chevron-left\"\n onClick={onPreviousClick}\n onKeyDown={onHeaderNavKeyDown}\n view={view}\n tabIndex={view === MONTHS ? -1 : 0}\n buttonRef={el => {\n if (view !== MONTHS) {\n headerNavRefs.current[0] = el;\n } else {\n headerNavRefs.current[0] = null;\n }\n }}\n />\n {view === DAYS && allowYearMonthSelection ? (\n <ClickableTitle\n type=\"button\"\n ref={el => {\n headerNavRefs.current[1] = el as HTMLButtonElement;\n }}\n onClick={onTitleClick}\n onKeyDown={onHeaderNavKeyDown}\n data-testid=\"calendar-title\"\n tabIndex={0}\n >\n {getHeaderTitle(view)}\n </ClickableTitle>\n ) : (\n <UnselectableTitle>{getHeaderTitle(view)}</UnselectableTitle>\n )}\n <DateSelectNav\n id=\"calendar-next-month\"\n icon=\"chevron-right\"\n onClick={onNextClick}\n onKeyDown={onHeaderNavKeyDown}\n view={view}\n tabIndex={view === MONTHS ? -1 : 0}\n buttonRef={el => {\n if (view !== MONTHS) {\n headerNavRefs.current[2] = el;\n } else {\n headerNavRefs.current[2] = null;\n }\n }}\n />\n </Container>\n <DateTable>{renderTableContent()}</DateTable>\n </DatePickerContainer>\n );\n};\n"],"names":["explicitWidth","viewGridMonths","columns","rows","viewGridYears","totalYears","yearsOffset","Math","floor","HighlightedInputWrapper","styled","InputWrapper","withConfig","componentId","$isActive","$width","error","theme","borderColor","click","datePicker","dateOption","color","stroke","active","field","default","formatPartialDate","timezone","selectedDate","partialYear","partialMonth","date","Date","UTC","formatDateHeader","String","formatSelectedDate","DatePickerInput","isActive","disabled","id","placeholder","defaultId","useId","formattedSelectedDate","jsx","InputStartContent","Icon","InputElement","DateRangePickerInput","selectedEndDate","selectedStartDate","formattedValue","Text","DateTimeRangePickerInput","shouldShowSeconds","formatDateTime","useCallback","formatSelectedDateTimeWithSeconds","formatSelectedDateTime","replace","jsxs","startDateIsAfterEndDate","dateRangeIsValid","startDate","endDate","DatePickerContainer","Container","background","ClickableTitle","button","radii","title","typography","hover","UnselectableTitle","h2","GridContainer","div","space","gap","MonthsGrid","YearsGrid","GridCell","label","$isPresent","range","DateTable","table","styles","product","text","normal","md","size","height","DateTableHeader","th","daytitle","DateTableCell","td","$isCurrentMonth","$isDisabled","$isSelected","StyledDropdownItem","Dropdown","Item","monthAbbreviations","getMonthNames","PickerNavControl","IconButton","EmptyDateSelectNav","DateSelectNav","icon","onClick","onKeyDown","view","tabIndex","buttonRef","MONTHS","CalendarRenderer","calendarOptions","children","allowYearMonthSelection","onYearSelect","onMonthSelect","props","shiftedCalendarOptions","defaultDate","shiftToTimezone","body","headers","month","navigation","year","useCalendar","defaultWeekStart","setView","useState","DAYS","selectedYear","setSelectedYear","yearOffset","setYearOffset","focusedMonthIndex","setFocusedMonthIndex","focusedYearIndex","setFocusedYearIndex","monthGridRef","useRef","yearGridRef","headerNavRefs","useEffect","YEARS","current","focus","onNextClick","prev","toNext","onPreviousClick","toPrev","onTitleClick","onHeaderNavKeyDown","e","validRefs","filter","ref","offsetParent","hasAttribute","getAttribute","currentValidIndex","indexOf","currentTarget","length","key","preventDefault","nextValidIndex","prevValidIndex","onYearSelection","yearValue","onMonthSelection","monthIndex","finalYear","newDate","setDate","onMonthGridKeyDown","event","index","totalItems","newIndex","onYearGridKeyDown","headerDate","setMonth","setFullYear","getHeaderTitle","renderMonthsGrid","today","thisMonth","getMonth","thisYear","getFullYear","shiftedSelected","undefined","selectedMonth","map","handleKeyDown","handleClick","element","renderYearsGrid","years","baseYear","i","push","currentYear","renderTableContent","DAYS_IN_WEEK","Fragment","weekdays","value","formatWeekday","el"],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
.dropdown-menu-content__Qc6mk {
|
|
2
|
+
z-index: 1;
|
|
3
|
+
/* stylelint-disable-next-line custom-property-pattern -- design tokens use camelCase (e.g. genericMenu) */
|
|
4
|
+
min-width: var(--click-genericMenu-item-size-minWidth);
|
|
5
|
+
overflow-y: auto;
|
|
6
|
+
flex-direction: column;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.dropdown-menu-item__dILwE {
|
|
10
|
+
display: flex;
|
|
11
|
+
position: relative;
|
|
12
|
+
min-height: 32px;
|
|
13
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
4
|
+
|
|
5
|
+
const styles = {
|
|
6
|
+
"dropdown-menu-content": "dropdown-menu-content__Qc6mk",
|
|
7
|
+
"dropdown-menu-item": "dropdown-menu-item__dILwE"
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
exports.default = styles;
|
|
11
|
+
//# sourceMappingURL=Dropdown.module.css.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dropdown.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
+
require("./Dropdown.css");
|
|
1
2
|
'use strict';
|
|
2
3
|
|
|
3
4
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
4
5
|
|
|
5
6
|
const jsxRuntime = require('react/jsx-runtime');
|
|
6
7
|
const DropdownMenu = require('@radix-ui/react-dropdown-menu');
|
|
8
|
+
const react = require('react');
|
|
7
9
|
const styledComponents = require('styled-components');
|
|
8
10
|
const GenericMenu = require('../GenericMenu/index.cjs');
|
|
11
|
+
const cva = require('../../lib/cva.cjs');
|
|
9
12
|
const useInputModality = require('../../hooks/internal/useInputModality.cjs');
|
|
10
13
|
const PopoverArrow = require('../Assets/Icons/Popover-Arrow.cjs');
|
|
11
14
|
const IconWrapper = require('../IconWrapper/index.cjs');
|
|
12
15
|
const PortalContext = require('../../providers/PortalContext.cjs');
|
|
16
|
+
const Dropdown_module = require('./Dropdown.module.css.cjs');
|
|
13
17
|
const Icon = require('../Icon/index.cjs');
|
|
14
18
|
|
|
15
19
|
function _interopNamespace(e) {
|
|
@@ -33,11 +37,13 @@ function _interopNamespace(e) {
|
|
|
33
37
|
const DropdownMenu__namespace = /*#__PURE__*/_interopNamespace(DropdownMenu);
|
|
34
38
|
|
|
35
39
|
const Dropdown = (props) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu__namespace.Root, { ...props });
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
40
|
+
const _DropdownMenuItem = ({
|
|
41
|
+
className,
|
|
42
|
+
...props
|
|
43
|
+
}, ref) => /* @__PURE__ */ jsxRuntime.jsx(GenericMenu.GenericMenuItem, { ref, ...props, className: cva.cn(Dropdown_module.default["dropdown-menu-item"], className) });
|
|
44
|
+
const DropdownMenuItem = react.forwardRef(_DropdownMenuItem);
|
|
39
45
|
const Trigger = styledComponents.styled(DropdownMenu__namespace.Trigger).withConfig({
|
|
40
|
-
componentId: "sc-18bhwbw-
|
|
46
|
+
componentId: "sc-18bhwbw-0"
|
|
41
47
|
})(["cursor:pointer;width:fit-content;&[disabled]{cursor:not-allowed;}&:focus-visible{outline:2px solid ", ";outline-offset:2px;}"], ({
|
|
42
48
|
theme
|
|
43
49
|
}) => theme.click.global.color.outline.default);
|
|
@@ -61,11 +67,11 @@ const DropdownTrigger = ({
|
|
|
61
67
|
};
|
|
62
68
|
DropdownTrigger.displayName = "DropdownTrigger";
|
|
63
69
|
Dropdown.Trigger = DropdownTrigger;
|
|
64
|
-
const
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
70
|
+
const _DropdownMenuContent = ({
|
|
71
|
+
className,
|
|
72
|
+
...props
|
|
73
|
+
}, ref) => /* @__PURE__ */ jsxRuntime.jsx(GenericMenu.GenericMenuPanel, { ref, ...props, className: cva.cn(Dropdown_module.default["dropdown-menu-content"], className) });
|
|
74
|
+
const DropdownMenuContent = react.forwardRef(_DropdownMenuContent);
|
|
69
75
|
const DropdownContent = ({
|
|
70
76
|
sub,
|
|
71
77
|
children,
|
|
@@ -77,7 +83,7 @@ const DropdownContent = ({
|
|
|
77
83
|
const ContentElement = sub ? DropdownMenu__namespace.SubContent : DropdownMenu__namespace.Content;
|
|
78
84
|
const inputModalityProps = useInputModality.useInputModality();
|
|
79
85
|
const portalContainer = PortalContext.useResolvedPortalContainer(container);
|
|
80
|
-
return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu__namespace.Portal, { container: portalContainer, children: /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuContent, { ...props,
|
|
86
|
+
return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu__namespace.Portal, { container: portalContainer, children: /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuContent, { ...props, type: "dropdown-menu", showArrow, as: ContentElement, sideOffset: 4, loop: true, avoidCollisions: responsivePositioning, collisionPadding: responsivePositioning ? 100 : void 0, ...inputModalityProps, children: [
|
|
81
87
|
showArrow && /* @__PURE__ */ jsxRuntime.jsx(GenericMenu.Arrow, { asChild: true, as: DropdownMenu__namespace.Arrow, width: 20, height: 10, children: /* @__PURE__ */ jsxRuntime.jsx(PopoverArrow.default, {}) }),
|
|
82
88
|
children
|
|
83
89
|
] }) });
|
|
@@ -85,7 +91,7 @@ const DropdownContent = ({
|
|
|
85
91
|
DropdownContent.displayName = "DropdownContent";
|
|
86
92
|
Dropdown.Content = DropdownContent;
|
|
87
93
|
const DropdownMenuGroup = styledComponents.styled(DropdownMenu__namespace.Group).withConfig({
|
|
88
|
-
componentId: "sc-18bhwbw-
|
|
94
|
+
componentId: "sc-18bhwbw-1"
|
|
89
95
|
})(["width:100%;border-bottom:1px solid ", ";"], ({
|
|
90
96
|
theme
|
|
91
97
|
}) => theme.click.genericMenu.item.color.default.stroke.default);
|
|
@@ -95,7 +101,7 @@ const DropdownGroup = (props) => {
|
|
|
95
101
|
DropdownGroup.displayName = "DropdownGroup";
|
|
96
102
|
Dropdown.Group = DropdownGroup;
|
|
97
103
|
const DropdownMenuSub = styledComponents.styled(DropdownMenu__namespace.Sub).withConfig({
|
|
98
|
-
componentId: "sc-18bhwbw-
|
|
104
|
+
componentId: "sc-18bhwbw-2"
|
|
99
105
|
})(["border-bottom:1px solid ", ";"], ({
|
|
100
106
|
theme
|
|
101
107
|
}) => theme.click.genericMenu.item.color.default.stroke.default);
|
|
@@ -113,7 +119,7 @@ const DropdownItem = ({
|
|
|
113
119
|
children,
|
|
114
120
|
...props
|
|
115
121
|
}) => {
|
|
116
|
-
return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuItem, { as: DropdownMenu__namespace.Item,
|
|
122
|
+
return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuItem, { as: DropdownMenu__namespace.Item, type, ...props, children: /* @__PURE__ */ jsxRuntime.jsx(IconWrapper.IconWrapper, { icon, iconDir, children }) });
|
|
117
123
|
};
|
|
118
124
|
DropdownItem.displayName = "DropdownItem";
|
|
119
125
|
Dropdown.Item = DropdownItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import * as DropdownMenu from '@radix-ui/react-dropdown-menu';\nimport { ReactNode } from 'react';\nimport { styled } from 'styled-components';\nimport { Arrow, GenericMenuItem, GenericMenuPanel } from '@/components/GenericMenu';\nimport { useInputModality } from '@/hooks/internal';\nimport Popover_Arrow from '@/components/Assets/Icons/Popover-Arrow';\nimport { IconWrapper } from '@/components/IconWrapper';\nimport { Icon } from '@/components/Icon';\nimport type { IconName } from '@/components/Icon';\nimport type { HorizontalDirection } from '@/types';\nimport { useResolvedPortalContainer } from '@/providers/PortalContext';\n\nexport const Dropdown = (props: DropdownMenu.DropdownMenuProps) => (\n <DropdownMenu.Root {...props} />\n);\n\nconst DropdownMenuItem = styled(GenericMenuItem)<{ $type?: 'default' | 'danger' }>`\n position: relative;\n display: flex;\n min-height: 32px;\n`;\n\ninterface SubDropdownProps {\n sub?: true;\n icon?: IconName;\n iconDir?: HorizontalDirection;\n}\n\ninterface MainDropdownProps {\n sub?: never;\n}\n\ntype DropdownSubTriggerProps = DropdownMenu.DropdownMenuSubTriggerProps &\n SubDropdownProps;\ntype DropdownTriggerProps = DropdownMenu.DropdownMenuTriggerProps & MainDropdownProps;\n\nconst Trigger = styled(DropdownMenu.Trigger)`\n cursor: pointer;\n width: fit-content;\n &[disabled] {\n cursor: not-allowed;\n }\n &:focus-visible {\n outline: 2px solid ${({ theme }) => theme.click.global.color.outline.default};\n outline-offset: 2px;\n }\n`;\n\nconst DropdownTrigger = ({\n sub,\n children,\n ...props\n}: DropdownSubTriggerProps | DropdownTriggerProps) => {\n if (sub) {\n const { icon, iconDir, ...menuProps } = props as DropdownSubTriggerProps;\n return (\n <DropdownMenuItem\n as={DropdownMenu.SubTrigger}\n {...menuProps}\n >\n <IconWrapper\n icon={icon}\n iconDir={iconDir}\n >\n {children}\n </IconWrapper>\n <Icon name=\"chevron-right\" />\n </DropdownMenuItem>\n );\n }\n\n return (\n <Trigger\n asChild\n {...(props as DropdownTriggerProps)}\n >\n <div>{children}</div>\n </Trigger>\n );\n};\n\nDropdownTrigger.displayName = 'DropdownTrigger';\nDropdown.Trigger = DropdownTrigger;\n\nexport type ArrowProps = {\n showArrow?: boolean;\n};\n\ninterface StyledDropdownContentProps extends DropdownMenu.DropdownMenuContentProps {\n children?: ReactNode;\n container?: HTMLElement | null;\n responsivePositioning?: boolean;\n}\n\ninterface StyledDropdownSubContentProps extends DropdownMenu.DropdownMenuSubContentProps {\n children?: ReactNode;\n container?: HTMLElement | null;\n responsivePositioning?: boolean;\n}\n\ntype DropdownContentProps = StyledDropdownContentProps & SubDropdownProps & ArrowProps;\ntype DropdownSubContentProps = StyledDropdownSubContentProps &\n MainDropdownProps &\n ArrowProps;\n\nconst DropdownMenuContent = styled(GenericMenuPanel)`\n min-width: ${({ theme }) => theme.click.genericMenu.item.size.minWidth};\n flex-direction: column;\n z-index: 1;\n overflow-y: auto;\n`;\n\nconst DropdownContent = ({\n sub,\n children,\n container,\n showArrow,\n responsivePositioning = true,\n ...props\n}: DropdownContentProps | DropdownSubContentProps) => {\n const ContentElement = sub ? DropdownMenu.SubContent : DropdownMenu.Content;\n const inputModalityProps = useInputModality();\n const portalContainer = useResolvedPortalContainer(container);\n\n return (\n <DropdownMenu.Portal container={portalContainer}>\n <DropdownMenuContent\n {...props}\n $type=\"dropdown-menu\"\n $showArrow={showArrow}\n as={ContentElement}\n sideOffset={4}\n loop\n avoidCollisions={responsivePositioning}\n collisionPadding={responsivePositioning ? 100 : undefined}\n {...inputModalityProps}\n >\n {showArrow && (\n <Arrow\n asChild\n as={DropdownMenu.Arrow}\n width={20}\n height={10}\n >\n <Popover_Arrow />\n </Arrow>\n )}\n {children}\n </DropdownMenuContent>\n </DropdownMenu.Portal>\n );\n};\n\nDropdownContent.displayName = 'DropdownContent';\nDropdown.Content = DropdownContent;\n\nconst DropdownMenuGroup = styled(DropdownMenu.Group)`\n width: 100%;\n border-bottom: 1px solid\n ${({ theme }) => theme.click.genericMenu.item.color.default.stroke.default};\n`;\n\nconst DropdownGroup = (props: DropdownMenu.DropdownMenuGroupProps) => {\n return <DropdownMenuGroup {...props} />;\n};\n\nDropdownGroup.displayName = 'DropdownGroup';\nDropdown.Group = DropdownGroup;\n\nconst DropdownMenuSub = styled(DropdownMenu.Sub)`\n border-bottom: 1px solid\n ${({ theme }) => theme.click.genericMenu.item.color.default.stroke.default};\n`;\n\nconst DropdownSub = ({ ...props }: DropdownMenu.DropdownMenuGroupProps) => {\n return <DropdownMenuSub {...props} />;\n};\n\nDropdownSub.displayName = 'DropdownSub';\nDropdown.Sub = DropdownSub;\n\ninterface DropdownItemProps extends DropdownMenu.DropdownMenuItemProps {\n /** Icon to display in the menu item */\n icon?: IconName;\n /** The direction of the icon relative to the label */\n iconDir?: HorizontalDirection;\n /** The type of the menu item */\n type?: 'default' | 'danger';\n}\n\nexport type { DropdownItemProps };\n\nconst DropdownItem = ({\n icon,\n iconDir,\n type = 'default',\n children,\n ...props\n}: DropdownItemProps) => {\n return (\n <DropdownMenuItem\n as={DropdownMenu.Item}\n $type={type}\n {...props}\n >\n <IconWrapper\n icon={icon}\n iconDir={iconDir}\n >\n {children}\n </IconWrapper>\n </DropdownMenuItem>\n );\n};\n\nDropdownItem.displayName = 'DropdownItem';\nDropdown.Item = DropdownItem;\n\nexport default Dropdown;\n"],"names":["Dropdown","props","jsx","DropdownMenu","DropdownMenuItem","styled","GenericMenuItem","withConfig","componentId","Trigger","theme","click","global","color","outline","default","DropdownTrigger","sub","children","icon","iconDir","menuProps","SubTrigger","IconWrapper","Icon","displayName","DropdownMenuContent","GenericMenuPanel","genericMenu","item","size","minWidth","DropdownContent","container","showArrow","responsivePositioning","ContentElement","SubContent","Content","inputModalityProps","useInputModality","portalContainer","useResolvedPortalContainer","jsxs","undefined","Arrow","Popover_Arrow","DropdownMenuGroup","Group","stroke","DropdownGroup","DropdownMenuSub","Sub","DropdownSub","DropdownItem","type","Item"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import * as DropdownMenu from '@radix-ui/react-dropdown-menu';\nimport {\n ComponentProps,\n ComponentPropsWithRef,\n ElementType,\n ReactNode,\n forwardRef,\n} from 'react';\nimport { styled } from 'styled-components';\nimport { Arrow, GenericMenuItem, GenericMenuPanel } from '@/components/GenericMenu';\nimport { cn } from '@/lib/cva';\nimport { useInputModality } from '@/hooks/internal';\nimport Popover_Arrow from '@/components/Assets/Icons/Popover-Arrow';\nimport { IconWrapper } from '@/components/IconWrapper';\nimport { Icon } from '@/components/Icon';\nimport type { IconName } from '@/components/Icon';\nimport type { HorizontalDirection } from '@/types';\nimport { useResolvedPortalContainer } from '@/providers/PortalContext';\nimport styles from './Dropdown.module.css';\n\nexport const Dropdown = (props: DropdownMenu.DropdownMenuProps) => (\n <DropdownMenu.Root {...props} />\n);\n\ntype DropdownMenuItemComponent = <T extends ElementType = 'div'>(\n props: ComponentProps<typeof GenericMenuItem<T>>\n) => ReactNode;\n\nconst _DropdownMenuItem = <T extends ElementType = 'div'>(\n { className, ...props }: ComponentProps<typeof GenericMenuItem<T>>,\n ref: ComponentPropsWithRef<T>['ref']\n) => (\n <GenericMenuItem\n ref={ref}\n {...(props as ComponentProps<typeof GenericMenuItem>)}\n className={cn(styles['dropdown-menu-item'], className)}\n />\n);\n\nconst DropdownMenuItem: DropdownMenuItemComponent = forwardRef(_DropdownMenuItem);\n\ninterface SubDropdownProps {\n sub?: true;\n icon?: IconName;\n iconDir?: HorizontalDirection;\n}\n\ninterface MainDropdownProps {\n sub?: never;\n}\n\ntype DropdownSubTriggerProps = DropdownMenu.DropdownMenuSubTriggerProps &\n SubDropdownProps;\ntype DropdownTriggerProps = DropdownMenu.DropdownMenuTriggerProps & MainDropdownProps;\n\nconst Trigger = styled(DropdownMenu.Trigger)`\n cursor: pointer;\n width: fit-content;\n &[disabled] {\n cursor: not-allowed;\n }\n &:focus-visible {\n outline: 2px solid ${({ theme }) => theme.click.global.color.outline.default};\n outline-offset: 2px;\n }\n`;\n\nconst DropdownTrigger = ({\n sub,\n children,\n ...props\n}: DropdownSubTriggerProps | DropdownTriggerProps) => {\n if (sub) {\n const { icon, iconDir, ...menuProps } = props as DropdownSubTriggerProps;\n return (\n <DropdownMenuItem\n as={DropdownMenu.SubTrigger}\n {...menuProps}\n >\n <IconWrapper\n icon={icon}\n iconDir={iconDir}\n >\n {children}\n </IconWrapper>\n <Icon name=\"chevron-right\" />\n </DropdownMenuItem>\n );\n }\n\n return (\n <Trigger\n asChild\n {...(props as DropdownTriggerProps)}\n >\n <div>{children}</div>\n </Trigger>\n );\n};\n\nDropdownTrigger.displayName = 'DropdownTrigger';\nDropdown.Trigger = DropdownTrigger;\n\nexport type ArrowProps = {\n showArrow?: boolean;\n};\n\ninterface StyledDropdownContentProps extends DropdownMenu.DropdownMenuContentProps {\n children?: ReactNode;\n container?: HTMLElement | null;\n responsivePositioning?: boolean;\n}\n\ninterface StyledDropdownSubContentProps extends DropdownMenu.DropdownMenuSubContentProps {\n children?: ReactNode;\n container?: HTMLElement | null;\n responsivePositioning?: boolean;\n}\n\ntype DropdownContentProps = StyledDropdownContentProps & SubDropdownProps & ArrowProps;\ntype DropdownSubContentProps = StyledDropdownSubContentProps &\n MainDropdownProps &\n ArrowProps;\n\ntype DropdownMenuContentComponent = <T extends ElementType = 'div'>(\n props: ComponentProps<typeof GenericMenuPanel<T>>\n) => ReactNode;\n\nconst _DropdownMenuContent = <T extends ElementType = 'div'>(\n { className, ...props }: ComponentProps<typeof GenericMenuPanel<T>>,\n ref: ComponentPropsWithRef<T>['ref']\n) => (\n <GenericMenuPanel\n ref={ref}\n {...(props as ComponentProps<typeof GenericMenuPanel>)}\n className={cn(styles['dropdown-menu-content'], className)}\n />\n);\n\nconst DropdownMenuContent: DropdownMenuContentComponent =\n forwardRef(_DropdownMenuContent);\n\nconst DropdownContent = ({\n sub,\n children,\n container,\n showArrow,\n responsivePositioning = true,\n ...props\n}: DropdownContentProps | DropdownSubContentProps) => {\n const ContentElement = sub ? DropdownMenu.SubContent : DropdownMenu.Content;\n const inputModalityProps = useInputModality();\n const portalContainer = useResolvedPortalContainer(container);\n\n return (\n <DropdownMenu.Portal container={portalContainer}>\n <DropdownMenuContent\n {...props}\n type=\"dropdown-menu\"\n showArrow={showArrow}\n as={ContentElement}\n sideOffset={4}\n loop\n avoidCollisions={responsivePositioning}\n collisionPadding={responsivePositioning ? 100 : undefined}\n {...inputModalityProps}\n >\n {showArrow && (\n <Arrow\n asChild\n as={DropdownMenu.Arrow}\n width={20}\n height={10}\n >\n <Popover_Arrow />\n </Arrow>\n )}\n {children}\n </DropdownMenuContent>\n </DropdownMenu.Portal>\n );\n};\n\nDropdownContent.displayName = 'DropdownContent';\nDropdown.Content = DropdownContent;\n\nconst DropdownMenuGroup = styled(DropdownMenu.Group)`\n width: 100%;\n border-bottom: 1px solid\n ${({ theme }) => theme.click.genericMenu.item.color.default.stroke.default};\n`;\n\nconst DropdownGroup = (props: DropdownMenu.DropdownMenuGroupProps) => {\n return <DropdownMenuGroup {...props} />;\n};\n\nDropdownGroup.displayName = 'DropdownGroup';\nDropdown.Group = DropdownGroup;\n\nconst DropdownMenuSub = styled(DropdownMenu.Sub)`\n border-bottom: 1px solid\n ${({ theme }) => theme.click.genericMenu.item.color.default.stroke.default};\n`;\n\nconst DropdownSub = ({ ...props }: DropdownMenu.DropdownMenuGroupProps) => {\n return <DropdownMenuSub {...props} />;\n};\n\nDropdownSub.displayName = 'DropdownSub';\nDropdown.Sub = DropdownSub;\n\ninterface DropdownItemProps extends DropdownMenu.DropdownMenuItemProps {\n /** Icon to display in the menu item */\n icon?: IconName;\n /** The direction of the icon relative to the label */\n iconDir?: HorizontalDirection;\n /** The type of the menu item */\n type?: 'default' | 'danger';\n}\n\nexport type { DropdownItemProps };\n\nconst DropdownItem = ({\n icon,\n iconDir,\n type = 'default',\n children,\n ...props\n}: DropdownItemProps) => {\n return (\n <DropdownMenuItem\n as={DropdownMenu.Item}\n type={type}\n {...props}\n >\n <IconWrapper\n icon={icon}\n iconDir={iconDir}\n >\n {children}\n </IconWrapper>\n </DropdownMenuItem>\n );\n};\n\nDropdownItem.displayName = 'DropdownItem';\nDropdown.Item = DropdownItem;\n\nexport default Dropdown;\n"],"names":["Dropdown","props","jsx","DropdownMenu","_DropdownMenuItem","className","ref","GenericMenuItem","cn","styles","DropdownMenuItem","forwardRef","Trigger","styled","withConfig","componentId","theme","click","global","color","outline","default","DropdownTrigger","sub","children","icon","iconDir","menuProps","SubTrigger","IconWrapper","Icon","displayName","_DropdownMenuContent","GenericMenuPanel","DropdownMenuContent","DropdownContent","container","showArrow","responsivePositioning","ContentElement","SubContent","Content","inputModalityProps","useInputModality","portalContainer","useResolvedPortalContainer","jsxs","undefined","Arrow","Popover_Arrow","DropdownMenuGroup","Group","genericMenu","item","stroke","DropdownGroup","DropdownMenuSub","Sub","DropdownSub","DropdownItem","type","Item"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBO,MAAMA,QAAAA,GAAWA,CAACC,KAAAA,qBACvBC,cAAA,CAACC,wBAAa,IAAA,EAAb,EAAkB,GAAIF,KAAAA,EAAM;AAO/B,MAAMG,oBAAoB,CACxB;AAAA,EAAEC,SAAAA;AAAAA,EAAW,GAAGJ;AAAiD,CAAA,EACjEK,GAAAA,qBAEAJ,cAAA,CAACK,2BAAA,EAAA,EACC,GAAA,EACA,GAAKN,KAAAA,EACL,SAAA,EAAWO,MAAAA,CAAGC,uBAAAA,CAAO,oBAAoB,CAAA,EAAGJ,SAAS,CAAA,EAAE,CAAA;AAI3D,MAAMK,gBAAAA,GAA8CC,iBAAWP,iBAAiB,CAAA;AAgBhF,MAAMQ,OAAAA,GAAUC,uBAAAA,CAAOV,uBAAAA,CAAaS,OAAO,EAACE,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,qGAAA,EAAA,uBAAA,GAOnB,CAAC;AAAA,EAAEC;AAAM,CAAA,KAAMA,KAAAA,CAAMC,KAAAA,CAAMC,MAAAA,CAAOC,KAAAA,CAAMC,QAAQC,OAAO,CAAA;AAKhF,MAAMC,kBAAkBA,CAAC;AAAA,EACvBC,GAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACA,GAAGvB;AAC2C,CAAA,KAAM;AACpD,EAAA,IAAIsB,GAAAA,EAAK;AACP,IAAA,MAAM;AAAA,MAAEE,IAAAA;AAAAA,MAAMC,OAAAA;AAAAA,MAAS,GAAGC;AAAAA,KAAU,GAAI1B,KAAAA;AACxC,IAAA,uCACG,gBAAA,EAAA,EACC,EAAA,EAAIE,uBAAAA,CAAayB,UAAAA,EACjB,GAAID,SAAAA,EAEJ,QAAA,EAAA;AAAA,sBAAAzB,cAAA,CAAC2B,uBAAA,EAAA,EACC,IAAA,EACA,OAAA,EAECL,QAAAA,EACH,CAAA;AAAA,sBACAtB,cAAA,CAAC4B,SAAA,EAAA,EAAK,IAAA,EAAK,eAAA,EAAe;AAAA,KAAA,EAC5B,CAAA;AAAA,EAEJ;AAEA,EAAA,uBACE5B,cAAA,CAAC,WACC,OAAA,EAAO,IAAA,EACP,GAAKD,KAAAA,EAEL,QAAA,kBAAAC,cAAA,CAAC,KAAA,EAAA,EAAKsB,QAAAA,EAAS,CAAA,EACjB,CAAA;AAEJ,CAAA;AAEAF,eAAAA,CAAgBS,WAAAA,GAAc,iBAAA;AAC9B/B,QAAAA,CAASY,OAAAA,GAAUU,eAAAA;AA2BnB,MAAMU,uBAAuB,CAC3B;AAAA,EAAE3B,SAAAA;AAAAA,EAAW,GAAGJ;AAAkD,CAAA,EAClEK,GAAAA,qBAEAJ,cAAA,CAAC+B,4BAAA,EAAA,EACC,GAAA,EACA,GAAKhC,KAAAA,EACL,SAAA,EAAWO,MAAAA,CAAGC,uBAAAA,CAAO,uBAAuB,CAAA,EAAGJ,SAAS,CAAA,EAAE,CAAA;AAI9D,MAAM6B,mBAAAA,GACJvB,iBAAWqB,oBAAoB,CAAA;AAEjC,MAAMG,kBAAkBA,CAAC;AAAA,EACvBZ,GAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACAY,SAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAC,qBAAAA,GAAwB,IAAA;AAAA,EACxB,GAAGrC;AAC2C,CAAA,KAAM;AACpD,EAAA,MAAMsC,cAAAA,GAAiBhB,GAAAA,GAAMpB,uBAAAA,CAAaqC,UAAAA,GAAarC,uBAAAA,CAAasC,OAAAA;AACpE,EAAA,MAAMC,qBAAqBC,iCAAAA,EAAiB;AAC5C,EAAA,MAAMC,eAAAA,GAAkBC,yCAA2BT,SAAS,CAAA;AAE5D,EAAA,uBACElC,cAAA,CAACC,uBAAA,CAAa,MAAA,EAAb,EAAoB,SAAA,EAAWyC,eAAAA,EAC9B,QAAA,kBAAAE,eAAA,CAAC,mBAAA,EAAA,EACC,GAAI7C,KAAAA,EACJ,IAAA,EAAK,eAAA,EACL,SAAA,EACA,IAAIsC,cAAAA,EACJ,UAAA,EAAY,CAAA,EACZ,IAAA,EAAI,IAAA,EACJ,eAAA,EAAiBD,qBAAAA,EACjB,gBAAA,EAAkBA,qBAAAA,GAAwB,GAAA,GAAMS,MAAAA,EAChD,GAAIL,kBAAAA,EAEHL,QAAAA,EAAAA;AAAAA,IAAAA,SAAAA,oBACCnC,cAAA,CAAC8C,iBAAA,EAAA,EACC,OAAA,EAAO,IAAA,EACP,EAAA,EAAI7C,uBAAAA,CAAa6C,KAAAA,EACjB,KAAA,EAAO,EAAA,EACP,MAAA,EAAQ,EAAA,EAER,QAAA,kBAAA9C,cAAA,CAAC+C,wBAAa,CAAA,EAChB,CAAA;AAAA,IAEDzB;AAAAA,GAAAA,EACH,CAAA,EACF,CAAA;AAEJ,CAAA;AAEAW,eAAAA,CAAgBJ,WAAAA,GAAc,iBAAA;AAC9B/B,QAAAA,CAASyC,OAAAA,GAAUN,eAAAA;AAEnB,MAAMe,iBAAAA,GAAoBrC,uBAAAA,CAAOV,uBAAAA,CAAagD,KAAK,EAACrC,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,qCAAA,EAAA,GAAA,GAG9C,CAAC;AAAA,EAAEC;AAAM,CAAA,KAAMA,MAAMC,KAAAA,CAAMmC,WAAAA,CAAYC,KAAKlC,KAAAA,CAAME,OAAAA,CAAQiC,OAAOjC,OAAO,CAAA;AAG9E,MAAMkC,aAAAA,GAAgBA,CAACtD,KAAAA,KAA+C;AACpE,EAAA,uBAAOC,cAAA,CAAC,iBAAA,EAAA,EAAkB,GAAID,KAAAA,EAAM,CAAA;AACtC,CAAA;AAEAsD,aAAAA,CAAcxB,WAAAA,GAAc,eAAA;AAC5B/B,QAAAA,CAASmD,KAAAA,GAAQI,aAAAA;AAEjB,MAAMC,eAAAA,GAAkB3C,uBAAAA,CAAOV,uBAAAA,CAAasD,GAAG,EAAC3C,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,0BAAA,EAAA,GAAA,GAE1C,CAAC;AAAA,EAAEC;AAAM,CAAA,KAAMA,MAAMC,KAAAA,CAAMmC,WAAAA,CAAYC,KAAKlC,KAAAA,CAAME,OAAAA,CAAQiC,OAAOjC,OAAO,CAAA;AAG9E,MAAMqC,cAAcA,CAAC;AAAA,EAAE,GAAGzD;AAA2C,CAAA,KAAM;AACzE,EAAA,uBAAOC,cAAA,CAAC,eAAA,EAAA,EAAgB,GAAID,KAAAA,EAAM,CAAA;AACpC,CAAA;AAEAyD,WAAAA,CAAY3B,WAAAA,GAAc,aAAA;AAC1B/B,QAAAA,CAASyD,GAAAA,GAAMC,WAAAA;AAaf,MAAMC,eAAeA,CAAC;AAAA,EACpBlC,IAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAkC,IAAAA,GAAO,SAAA;AAAA,EACPpC,QAAAA;AAAAA,EACA,GAAGvB;AACc,CAAA,KAAM;AACvB,EAAA,uBACEC,cAAA,CAAC,gBAAA,EAAA,EACC,EAAA,EAAIC,uBAAAA,CAAa0D,IAAAA,EACjB,IAAA,EACA,GAAI5D,KAAAA,EAEJ,QAAA,kBAAAC,cAAA,CAAC2B,uBAAA,EAAA,EACC,IAAA,EACA,OAAA,EAECL,UACH,CAAA,EACF,CAAA;AAEJ,CAAA;AAEAmC,YAAAA,CAAa5B,WAAAA,GAAc,cAAA;AAC3B/B,QAAAA,CAAS6D,IAAAA,GAAOF,YAAAA;;;;;"}
|
|
@@ -188,7 +188,7 @@ const Tab = ({
|
|
|
188
188
|
typeof icon === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { name: icon }) : icon,
|
|
189
189
|
/* @__PURE__ */ jsxRuntime.jsx(TabContentText, { children: text })
|
|
190
190
|
] }),
|
|
191
|
-
/* @__PURE__ */ jsxRuntime.jsx(EmptyButton, { as: IconButton.IconButton, icon: "cross", onClick: onClose, "data-type": "close", "data-testid": testId ? `${testId}-${index}-close` : void 0 }),
|
|
191
|
+
/* @__PURE__ */ jsxRuntime.jsx(EmptyButton, { as: IconButton.IconButton, htmlType: "button", icon: "cross", onClick: onClose, "data-type": "close", "data-testid": testId ? `${testId}-${index}-close` : void 0 }),
|
|
192
192
|
/* @__PURE__ */ jsxRuntime.jsx(Indicator, { $status: status, "data-indicator": status, "data-testid": testId ? `${testId}-${index}-status` : void 0 })
|
|
193
193
|
] });
|
|
194
194
|
};
|