@audius/harmony 0.0.34 → 0.2.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/_virtual/_tslib.js +11 -1
- package/dist/_virtual/_tslib.js.map +1 -1
- package/dist/assets/icons/LogoPhantomPlain.svg.js +78 -0
- package/dist/assets/icons/LogoPhantomPlain.svg.js.map +1 -0
- package/dist/assets/icons/PaperAirplane.svg.js +76 -0
- package/dist/assets/icons/PaperAirplane.svg.js.map +1 -0
- package/dist/assets/icons/Pin.svg.js +76 -0
- package/dist/assets/icons/Pin.svg.js.map +1 -0
- package/dist/assets/icons/QrCode.svg.js +78 -0
- package/dist/assets/icons/QrCode.svg.js.map +1 -0
- package/dist/assets/icons/Send.svg.js +6 -3
- package/dist/assets/icons/Send.svg.js.map +1 -1
- package/dist/assets/icons/TowerBroadcast.svg.js +75 -0
- package/dist/assets/icons/TowerBroadcast.svg.js.map +1 -0
- package/dist/components/artwork/Artwork.d.ts.map +1 -1
- package/dist/components/artwork/Artwork.js +5 -4
- package/dist/components/artwork/Artwork.js.map +1 -1
- package/dist/components/avatar/Avatar.d.ts.map +1 -1
- package/dist/components/avatar/Avatar.js +1 -1
- package/dist/components/avatar/Avatar.js.map +1 -1
- package/dist/components/button/BaseButton/BaseButton.d.ts +3 -2
- package/dist/components/button/BaseButton/BaseButton.d.ts.map +1 -1
- package/dist/components/button/BaseButton/BaseButton.js +2 -2
- package/dist/components/button/BaseButton/BaseButton.js.map +1 -1
- package/dist/components/button/BaseButton/types.d.ts +3 -2
- package/dist/components/button/BaseButton/types.d.ts.map +1 -1
- package/dist/components/button/Button/Button.d.ts +1 -1
- package/dist/components/button/FilterButton/FilterButton.d.ts +1 -1
- package/dist/components/button/FilterButton/FilterButton.d.ts.map +1 -1
- package/dist/components/button/FilterButton/FilterButton.js +92 -74
- package/dist/components/button/FilterButton/FilterButton.js.map +1 -1
- package/dist/components/button/FilterButton/FilterButton.stories.d.ts +1 -0
- package/dist/components/button/FilterButton/FilterButton.stories.d.ts.map +1 -1
- package/dist/components/button/FilterButton/FilterButtonKeyHandler.d.ts +18 -0
- package/dist/components/button/FilterButton/FilterButtonKeyHandler.d.ts.map +1 -0
- package/dist/components/button/FilterButton/FilterButtonOption.d.ts +11 -0
- package/dist/components/button/FilterButton/FilterButtonOption.d.ts.map +1 -0
- package/dist/components/button/FilterButton/FilterButtonOption.js +57 -0
- package/dist/components/button/FilterButton/FilterButtonOption.js.map +1 -0
- package/dist/components/button/FilterButton/FilterButtonOptionsList.d.ts +21 -0
- package/dist/components/button/FilterButton/FilterButtonOptionsList.d.ts.map +1 -0
- package/dist/components/button/FilterButton/FilterButtonOptionsList.js +40 -0
- package/dist/components/button/FilterButton/FilterButtonOptionsList.js.map +1 -0
- package/dist/components/button/FilterButton/types.d.ts +65 -23
- package/dist/components/button/FilterButton/types.d.ts.map +1 -1
- package/dist/components/button/IconButton/IconButton.d.ts +19 -2
- package/dist/components/button/IconButton/IconButton.d.ts.map +1 -1
- package/dist/components/button/IconButton/IconButton.js +5 -3
- package/dist/components/button/IconButton/IconButton.js.map +1 -1
- package/dist/components/button/index.d.ts +3 -2
- package/dist/components/button/index.d.ts.map +1 -1
- package/dist/components/checkbox/Checkbox.d.ts +7 -0
- package/dist/components/checkbox/Checkbox.d.ts.map +1 -0
- package/dist/components/checkbox/Checkbox.js +64 -0
- package/dist/components/checkbox/Checkbox.js.map +1 -0
- package/dist/components/checkbox/Checkbox.stories.d.ts +9 -0
- package/dist/components/checkbox/Checkbox.stories.d.ts.map +1 -0
- package/dist/components/checkbox/Indeterminate.svg.js +114 -0
- package/dist/components/checkbox/Indeterminate.svg.js.map +1 -0
- package/dist/components/checkbox/Select.svg.js +118 -0
- package/dist/components/checkbox/Select.svg.js.map +1 -0
- package/dist/components/checkbox/index.d.ts +3 -0
- package/dist/components/checkbox/index.d.ts.map +1 -0
- package/dist/components/checkbox/types.d.ts +7 -0
- package/dist/components/checkbox/types.d.ts.map +1 -0
- package/dist/components/comments/ArtistPick/ArtistPick.d.ts +3 -0
- package/dist/components/comments/ArtistPick/ArtistPick.d.ts.map +1 -0
- package/dist/components/comments/ArtistPick/ArtistPick.js +20 -0
- package/dist/components/comments/ArtistPick/ArtistPick.js.map +1 -0
- package/dist/components/comments/ArtistPick/ArtistPick.stories.d.ts +7 -0
- package/dist/components/comments/ArtistPick/ArtistPick.stories.d.ts.map +1 -0
- package/dist/components/comments/ArtistPick/index.d.ts +3 -0
- package/dist/components/comments/ArtistPick/index.d.ts.map +1 -0
- package/dist/components/comments/ArtistPick/types.d.ts +5 -0
- package/dist/components/comments/ArtistPick/types.d.ts.map +1 -0
- package/dist/components/comments/CommentText/CommentText.d.ts +3 -0
- package/dist/components/comments/CommentText/CommentText.d.ts.map +1 -0
- package/dist/components/comments/CommentText/CommentText.js +36 -0
- package/dist/components/comments/CommentText/CommentText.js.map +1 -0
- package/dist/components/comments/CommentText/CommentText.stories.d.ts +10 -0
- package/dist/components/comments/CommentText/CommentText.stories.d.ts.map +1 -0
- package/dist/components/comments/CommentText/index.d.ts +3 -0
- package/dist/components/comments/CommentText/index.d.ts.map +1 -0
- package/dist/components/comments/CommentText/types.d.ts +5 -0
- package/dist/components/comments/CommentText/types.d.ts.map +1 -0
- package/dist/components/comments/IconText/IconText.d.ts +3 -0
- package/dist/components/comments/IconText/IconText.d.ts.map +1 -0
- package/dist/components/comments/IconText/IconText.js +19 -0
- package/dist/components/comments/IconText/IconText.js.map +1 -0
- package/dist/components/comments/IconText/IconText.stories.d.ts +7 -0
- package/dist/components/comments/IconText/IconText.stories.d.ts.map +1 -0
- package/dist/components/comments/IconText/index.d.ts +3 -0
- package/dist/components/comments/IconText/index.d.ts.map +1 -0
- package/dist/components/comments/IconText/types.d.ts +14 -0
- package/dist/components/comments/IconText/types.d.ts.map +1 -0
- package/dist/components/comments/Identifier/Identifier.d.ts +3 -0
- package/dist/components/comments/Identifier/Identifier.d.ts.map +1 -0
- package/dist/components/comments/Identifier/Identifier.js +30 -0
- package/dist/components/comments/Identifier/Identifier.js.map +1 -0
- package/dist/components/comments/Identifier/Identifier.stories.d.ts +7 -0
- package/dist/components/comments/Identifier/Identifier.stories.d.ts.map +1 -0
- package/dist/components/comments/Identifier/index.d.ts +3 -0
- package/dist/components/comments/Identifier/index.d.ts.map +1 -0
- package/dist/components/comments/Identifier/types.d.ts +5 -0
- package/dist/components/comments/Identifier/types.d.ts.map +1 -0
- package/dist/components/comments/SendIcon/SendIcon.d.ts +3 -0
- package/dist/components/comments/SendIcon/SendIcon.d.ts.map +1 -0
- package/dist/components/comments/SendIcon/SendIcon.js +36 -0
- package/dist/components/comments/SendIcon/SendIcon.js.map +1 -0
- package/dist/components/comments/SendIcon/SendIcon.stories.d.ts +7 -0
- package/dist/components/comments/SendIcon/SendIcon.stories.d.ts.map +1 -0
- package/dist/components/comments/SendIcon/index.d.ts +3 -0
- package/dist/components/comments/SendIcon/index.d.ts.map +1 -0
- package/dist/components/comments/SendIcon/types.d.ts +5 -0
- package/dist/components/comments/SendIcon/types.d.ts.map +1 -0
- package/dist/components/comments/Timestamp/Timestamp.d.ts +3 -0
- package/dist/components/comments/Timestamp/Timestamp.d.ts.map +1 -0
- package/dist/components/comments/Timestamp/Timestamp.js +13 -0
- package/dist/components/comments/Timestamp/Timestamp.js.map +1 -0
- package/dist/components/comments/Timestamp/Timestamp.stories.d.ts +7 -0
- package/dist/components/comments/Timestamp/Timestamp.stories.d.ts.map +1 -0
- package/dist/components/comments/Timestamp/index.d.ts +4 -0
- package/dist/components/comments/Timestamp/index.d.ts.map +1 -0
- package/dist/components/comments/Timestamp/types.d.ts +11 -0
- package/dist/components/comments/Timestamp/types.d.ts.map +1 -0
- package/dist/components/comments/Timestamp/types.js +10 -0
- package/dist/components/comments/Timestamp/types.js.map +1 -0
- package/dist/components/comments/Timestamp/util.d.ts +2 -0
- package/dist/components/comments/Timestamp/util.d.ts.map +1 -0
- package/dist/components/comments/Timestamp/util.js +26 -0
- package/dist/components/comments/Timestamp/util.js.map +1 -0
- package/dist/components/icon.d.ts +2 -1
- package/dist/components/icon.d.ts.map +1 -1
- package/dist/components/index.d.ts +10 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/input/PasswordInput/PasswordInput.js +2 -1
- package/dist/components/input/PasswordInput/PasswordInput.js.map +1 -1
- package/dist/components/input/SelectablePill/SelectablePill.d.ts.map +1 -1
- package/dist/components/input/SelectablePill/SelectablePill.js +2 -4
- package/dist/components/input/SelectablePill/SelectablePill.js.map +1 -1
- package/dist/components/input/TextInput/TextInput.d.ts +2 -0
- package/dist/components/input/TextInput/TextInput.d.ts.map +1 -1
- package/dist/components/input/TextInput/TextInput.js +10 -6
- package/dist/components/input/TextInput/TextInput.js.map +1 -1
- package/dist/components/input/TextInput/types.d.ts +8 -1
- package/dist/components/input/TextInput/types.d.ts.map +1 -1
- package/dist/components/input/TextInput/types.js.map +1 -1
- package/dist/components/internal/Menu.d.ts +22 -0
- package/dist/components/internal/Menu.d.ts.map +1 -0
- package/dist/components/internal/Menu.js +17 -0
- package/dist/components/internal/Menu.js.map +1 -0
- package/dist/components/internal/MenuItem.d.ts +19 -0
- package/dist/components/internal/MenuItem.d.ts.map +1 -0
- package/dist/components/internal/MenuItem.js +57 -0
- package/dist/components/internal/MenuItem.js.map +1 -0
- package/dist/components/internal/OptionKeyHandler.d.ts +30 -0
- package/dist/components/internal/OptionKeyHandler.d.ts.map +1 -0
- package/dist/components/internal/OptionKeyHandler.js +77 -0
- package/dist/components/internal/OptionKeyHandler.js.map +1 -0
- package/dist/components/layout/Box/Box.js +4 -4
- package/dist/components/layout/Box/Box.js.map +1 -1
- package/dist/components/layout/Box/types.d.ts +6 -6
- package/dist/components/layout/Box/types.d.ts.map +1 -1
- package/dist/components/layout/Flex/Flex.d.ts.map +1 -1
- package/dist/components/layout/Flex/Flex.js +2 -2
- package/dist/components/layout/Flex/Flex.js.map +1 -1
- package/dist/components/layout/Flex/types.d.ts +2 -0
- package/dist/components/layout/Flex/types.d.ts.map +1 -1
- package/dist/components/modal/Modal.js +4 -4
- package/dist/components/modal/Modal.js.map +1 -1
- package/dist/components/modal/ModalContentPages.d.ts +10 -10
- package/dist/components/modal/ModalContentPages.d.ts.map +1 -1
- package/dist/components/modal/ModalContentPages.js +2 -2
- package/dist/components/modal/ModalContentPages.js.map +1 -1
- package/dist/components/modal/ModalHeader.js +2 -1
- package/dist/components/modal/ModalHeader.js.map +1 -1
- package/dist/components/music-badge/MusicBadge.d.ts +25 -0
- package/dist/components/music-badge/MusicBadge.d.ts.map +1 -0
- package/dist/components/music-badge/MusicBadge.js +40 -0
- package/dist/components/music-badge/MusicBadge.js.map +1 -0
- package/dist/components/music-badge/MusicBadge.stories.d.ts +7 -0
- package/dist/components/music-badge/MusicBadge.stories.d.ts.map +1 -0
- package/dist/components/music-badge/index.d.ts +3 -0
- package/dist/components/music-badge/index.d.ts.map +1 -0
- package/dist/components/pill/Pill.d.ts +3 -2
- package/dist/components/pill/Pill.d.ts.map +1 -1
- package/dist/components/popup/Popup.d.ts +6 -1
- package/dist/components/popup/Popup.d.ts.map +1 -1
- package/dist/components/popup/Popup.js +49 -36
- package/dist/components/popup/Popup.js.map +1 -1
- package/dist/components/popup/types.d.ts +4 -0
- package/dist/components/popup/types.d.ts.map +1 -1
- package/dist/components/scrubber/Scrubber.d.ts.map +1 -1
- package/dist/components/scrubber/Scrubber.js +3 -13
- package/dist/components/scrubber/Scrubber.js.map +1 -1
- package/dist/components/scrubber/Slider.js +1 -1
- package/dist/components/scrubber/Slider.js.map +1 -1
- package/dist/components/segmented-control/SegmentedControl.js +1 -3
- package/dist/components/segmented-control/SegmentedControl.js.map +1 -1
- package/dist/components/select/Select/Select.d.ts +21 -0
- package/dist/components/select/Select/Select.d.ts.map +1 -0
- package/dist/components/select/Select/Select.js +115 -0
- package/dist/components/select/Select/Select.js.map +1 -0
- package/dist/components/select/Select/Select.stories.d.ts +8 -0
- package/dist/components/select/Select/Select.stories.d.ts.map +1 -0
- package/dist/components/select/Select/index.d.ts +3 -0
- package/dist/components/select/Select/index.d.ts.map +1 -0
- package/dist/components/select/Select/types.d.ts +46 -0
- package/dist/components/select/Select/types.d.ts.map +1 -0
- package/dist/components/select/index.d.ts +2 -0
- package/dist/components/select/index.d.ts.map +1 -0
- package/dist/components/tag/Tag.d.ts.map +1 -1
- package/dist/components/tag/Tag.js +1 -1
- package/dist/components/tag/Tag.js.map +1 -1
- package/dist/components/text/Text.d.ts.map +1 -1
- package/dist/components/text/Text.js +20 -9
- package/dist/components/text/Text.js.map +1 -1
- package/dist/components/text/constants.d.ts +18 -0
- package/dist/components/text/constants.d.ts.map +1 -1
- package/dist/components/text/constants.js +7 -1
- package/dist/components/text/constants.js.map +1 -1
- package/dist/components/text/types.d.ts +2 -0
- package/dist/components/text/types.d.ts.map +1 -1
- package/dist/components/text-link/TextLink.d.ts.map +1 -1
- package/dist/components/text-link/TextLink.js +1 -1
- package/dist/components/text-link/TextLink.js.map +1 -1
- package/dist/foundations/color/color.d.ts +125 -0
- package/dist/foundations/color/color.d.ts.map +1 -1
- package/dist/foundations/color/color.js +2 -1
- package/dist/foundations/color/color.js.map +1 -1
- package/dist/foundations/color/primitive.d.ts +58 -0
- package/dist/foundations/color/primitive.d.ts.map +1 -1
- package/dist/foundations/color/primitive.js +58 -0
- package/dist/foundations/color/primitive.js.map +1 -1
- package/dist/foundations/color/semantic.d.ts +69 -0
- package/dist/foundations/color/semantic.d.ts.map +1 -1
- package/dist/foundations/color/semantic.js +10 -4
- package/dist/foundations/color/semantic.js.map +1 -1
- package/dist/foundations/theme/theme.d.ts +2 -0
- package/dist/foundations/theme/theme.d.ts.map +1 -1
- package/dist/foundations/theme/theme.js +4 -2
- package/dist/foundations/theme/theme.js.map +1 -1
- package/dist/foundations/theme/types.d.ts +6 -1
- package/dist/foundations/theme/types.d.ts.map +1 -1
- package/dist/foundations/typography/typography.d.ts +1 -0
- package/dist/foundations/typography/typography.d.ts.map +1 -1
- package/dist/foundations/typography/typography.js +2 -0
- package/dist/foundations/typography/typography.js.map +1 -1
- package/dist/harmony.css +1 -1
- package/dist/hooks/useClickOutside.d.ts +1 -1
- package/dist/hooks/useClickOutside.d.ts.map +1 -1
- package/dist/hooks/useClickOutside.js +11 -8
- package/dist/hooks/useClickOutside.js.map +1 -1
- package/dist/hooks/useControlled.d.ts +1 -1
- package/dist/hooks/useControlled.js.map +1 -1
- package/dist/hooks/useHotKeys.d.ts.map +1 -1
- package/dist/hooks/useHotKeys.js +2 -1
- package/dist/hooks/useHotKeys.js.map +1 -1
- package/dist/icons/logos.d.ts +1 -0
- package/dist/icons/logos.d.ts.map +1 -1
- package/dist/icons/logos.js +3 -1
- package/dist/icons/logos.js.map +1 -1
- package/dist/icons/utilityIcons.d.ts +4 -0
- package/dist/icons/utilityIcons.d.ts.map +1 -1
- package/dist/icons/utilityIcons.js +9 -1
- package/dist/icons/utilityIcons.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -5
- package/dist/index.js.map +1 -1
- package/dist/utils/formatTrackTimestamp.d.ts +6 -0
- package/dist/utils/formatTrackTimestamp.d.ts.map +1 -0
- package/dist/utils/formatTrackTimestamp.js +18 -0
- package/dist/utils/formatTrackTimestamp.js.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/package.json +6 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../../../../src/components/input/TextInput/types.ts"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react'\n\nimport type { IconComponent, IconProps } from '../../icon'\n\nexport enum TextInputSize {\n SMALL = 'small',\n DEFAULT = 'default'\n}\n\ntype InternalProps = {\n /**\n * @ignore\n * This prop is for internal use only.\n * Toggles the incorrect error state for the storybook docs\n */\n _incorrectError?: boolean\n /**\n * @ignore\n * This prop is for internal use only.\n * Toggles the hover state for the storybook docs\n */\n _isHovered?: boolean\n /**\n * @ignore\n * This prop is for internal use only.\n * Toggles the focus state for the storybook docs\n */\n _isFocused?: boolean\n /**\n * @ignore\n * This prop is for internal use only.\n * Disabled pointer events for storybook docs\n */\n _disablePointerEvents?: boolean\n}\n\nexport type TextInputProps = Omit<\n ComponentPropsWithoutRef<'input'>,\n // Omitting required purely for storybook docs\n 'size' | 'required'\n> & {\n /**\n * Input sizes. NOTE: small inputs will not show the label\n * @default default\n */\n size?: TextInputSize\n /**\n * Toggles warning state (turns border warning color). NOTE: this is not used any where at the moment\n */\n warning?: boolean\n /**\n * Toggles error state\n */\n error?: boolean\n /**\n * Hides the label. If the label is hidden the placeholder will show by default instead.\n *
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../../src/components/input/TextInput/types.ts"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react'\n\nimport type { IconComponent, IconProps } from '../../icon'\n\nexport enum TextInputSize {\n SMALL = 'small',\n DEFAULT = 'default'\n}\n\ntype InternalProps = {\n /**\n * @ignore\n * This prop is for internal use only.\n * Toggles the incorrect error state for the storybook docs\n */\n _incorrectError?: boolean\n /**\n * @ignore\n * This prop is for internal use only.\n * Toggles the hover state for the storybook docs\n */\n _isHovered?: boolean\n /**\n * @ignore\n * This prop is for internal use only.\n * Toggles the focus state for the storybook docs\n */\n _isFocused?: boolean\n /**\n * @ignore\n * This prop is for internal use only.\n * Disabled pointer events for storybook docs\n */\n _disablePointerEvents?: boolean\n}\n\nexport type TextInputProps = Omit<\n ComponentPropsWithoutRef<'input'>,\n // Omitting required purely for storybook docs\n 'size' | 'required'\n> & {\n /**\n * Input sizes. NOTE: small inputs will not show the label\n * @default default\n */\n size?: TextInputSize\n /**\n * Toggles warning state (turns border warning color). NOTE: this is not used any where at the moment\n */\n warning?: boolean\n /**\n * Toggles error state\n */\n error?: boolean\n /**\n * Hides the label. If the label is hidden the placeholder will show by default instead.\n */\n hideLabel?: boolean\n /**\n * When `true` hides the placeholder. Used in `Select`.\n */\n hidePlaceholder?: boolean\n /**\n * Label Text. Required due to accessibility. If hideLabel is true, the label is set via aria-label\n */\n label: string\n /**\n * ClassName on the div wrapping the whole input container (doesn't include assistive text)\n */\n inputRootClassName?: string\n /**\n * Helper text (or JSX) that shows up below the input\n */\n helperText?: string | ReactNode\n /**\n * Floating text on the lefthand side of the input.\n */\n startAdornmentText?: string\n /**\n * Floating text on the righthand side of the input\n */\n endAdornmentText?: string\n /**\n * Floating icon on the lefthand side of the input. Note: will float to the left of the label & content\n */\n startIcon?: IconComponent\n /**\n * Floating icon on the righthand side of the input\n */\n endIcon?: IconComponent\n /**\n * Override props to supply the start or end Icon\n */\n IconProps?: Partial<IconProps>\n /**\n * @hidden\n * Floating component on the righthand side of the input. Meant for internal use only.\n */\n endAdornment?: ReactNode\n /**\n * Required or not. Will add an * to the label if required\n */\n required?: boolean\n /**\n * 0-1 number representating a percentage threshold to show the max character text. Default is 0.7 (70%)\n * @default 0.7\n */\n showMaxLengthThreshold?: number\n /**\n * 0-1 number representating a percentage threshold to turn the character limit text orange. Default is 0.9 (90%)\n * @default 0.9\n */\n maxLengthWarningThreshold?: number\n /**\n * When `true` elevate the label. Useful for adding custom values. Reference `Select` component\n */\n elevateLabel?: boolean\n} & InternalProps\n"],"names":[],"mappings":"IAIY,cAGX;AAHD,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACrB,CAAC,EAHW,aAAa,KAAb,aAAa,GAGxB,EAAA,CAAA,CAAA;;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ReactNode, Ref } from 'react';
|
|
2
|
+
import { CSSObject } from '@emotion/react';
|
|
3
|
+
import { FlexProps } from "../layout/Flex";
|
|
4
|
+
import { PaperProps } from "../layout/Paper";
|
|
5
|
+
import { PopupProps } from "../popup/types";
|
|
6
|
+
import { WithCSS } from "../../foundations";
|
|
7
|
+
export type MenuProps = Omit<PopupProps, 'children'> & {
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
PaperProps?: WithCSS<Partial<PaperProps>>;
|
|
10
|
+
};
|
|
11
|
+
export type MenuContentProps = {
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
maxHeight?: CSSObject['maxHeight'];
|
|
14
|
+
width?: CSSObject['width'];
|
|
15
|
+
MenuListProps?: WithCSS<Partial<FlexProps>>;
|
|
16
|
+
scrollRef: Ref<HTMLDivElement>;
|
|
17
|
+
'aria-label'?: string;
|
|
18
|
+
'aria-activedescendent'?: string;
|
|
19
|
+
};
|
|
20
|
+
export declare const Menu: (props: MenuProps) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare const MenuContent: (props: MenuContentProps) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
22
|
+
//# sourceMappingURL=Menu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../src/components/internal/Menu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAQ,SAAS,EAAE,uBAA8B;AACxD,OAAO,EAAS,UAAU,EAAE,wBAA+B;AAE3D,OAAO,EAAE,UAAU,EAAE,uBAA8B;AACnD,OAAO,EAAE,OAAO,EAAE,0BAAmB;AAIrC,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG;IACrD,QAAQ,EAAE,SAAS,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,CAAA;IAClC,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;IAC3C,SAAS,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,uBAAuB,CAAC,EAAE,MAAM,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,IAAI,UAAW,SAAS,qDAUpC,CAAA;AAED,eAAO,MAAM,WAAW,UAAW,gBAAgB,qDA4BlD,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { __rest, __assign } from '../../_virtual/_tslib.js';
|
|
2
|
+
import { jsx } from '@emotion/react/jsx-runtime';
|
|
3
|
+
import { Flex } from '../layout/Flex/Flex.js';
|
|
4
|
+
import { Paper } from '../layout/Paper/Paper.js';
|
|
5
|
+
import { Popup } from '../popup/Popup.js';
|
|
6
|
+
|
|
7
|
+
var Menu = function (props) {
|
|
8
|
+
var children = props.children, PaperProps = props.PaperProps, other = __rest(props, ["children", "PaperProps"]);
|
|
9
|
+
return (jsx(Popup, __assign({}, other, { children: jsx(Paper, __assign({ mt: 's', border: 'strong', shadow: 'far' }, PaperProps, { children: children })) })));
|
|
10
|
+
};
|
|
11
|
+
var MenuContent = function (props) {
|
|
12
|
+
var children = props.children, maxHeight = props.maxHeight, width = props.width, MenuListProps = props.MenuListProps, scrollRef = props.scrollRef, ariaLabel = props["aria-label"], ariaActiveDescendant = props["aria-activedescendent"];
|
|
13
|
+
return (jsx(Flex, __assign({ direction: 'column', p: 's', gap: 's', alignItems: 'flex-start', role: 'listbox', css: { maxHeight: maxHeight, width: width, overflowY: 'auto' }, ref: scrollRef, onClick: function (e) { return e.stopPropagation(); }, "aria-label": ariaLabel, "aria-activedescendant": ariaActiveDescendant }, MenuListProps, { children: children })));
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export { Menu, MenuContent };
|
|
17
|
+
//# sourceMappingURL=Menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Menu.js","sources":["../../../src/components/internal/Menu.tsx"],"sourcesContent":["import { ReactNode, Ref } from 'react'\n\nimport { CSSObject } from '@emotion/react'\n\nimport { Flex, FlexProps } from 'components/layout/Flex'\nimport { Paper, PaperProps } from 'components/layout/Paper'\nimport { Popup } from 'components/popup/Popup'\nimport { PopupProps } from 'components/popup/types'\nimport { WithCSS } from 'foundations'\n\n// TODO menu label\n\nexport type MenuProps = Omit<PopupProps, 'children'> & {\n children: ReactNode\n PaperProps?: WithCSS<Partial<PaperProps>>\n}\n\nexport type MenuContentProps = {\n children: ReactNode\n maxHeight?: CSSObject['maxHeight']\n width?: CSSObject['width']\n MenuListProps?: WithCSS<Partial<FlexProps>>\n scrollRef: Ref<HTMLDivElement>\n 'aria-label'?: string\n 'aria-activedescendent'?: string\n}\n\nexport const Menu = (props: MenuProps) => {\n const { children, PaperProps, ...other } = props\n\n return (\n <Popup {...other}>\n <Paper mt='s' border='strong' shadow='far' {...PaperProps}>\n {children}\n </Paper>\n </Popup>\n )\n}\n\nexport const MenuContent = (props: MenuContentProps) => {\n const {\n children,\n maxHeight,\n width,\n MenuListProps,\n scrollRef,\n 'aria-label': ariaLabel,\n 'aria-activedescendent': ariaActiveDescendant\n } = props\n\n return (\n <Flex\n direction='column'\n p='s'\n gap='s'\n alignItems='flex-start'\n role='listbox'\n css={{ maxHeight, width, overflowY: 'auto' }}\n ref={scrollRef}\n onClick={(e) => e.stopPropagation()}\n aria-label={ariaLabel}\n aria-activedescendant={ariaActiveDescendant}\n {...MenuListProps}\n >\n {children}\n </Flex>\n )\n}\n"],"names":["_jsx"],"mappings":";;;;;;AA2BO,IAAM,IAAI,GAAG,UAAC,KAAgB,EAAA;AAC3B,IAAA,IAAA,QAAQ,GAA2B,KAAK,CAAhC,QAAA,EAAE,UAAU,GAAe,KAAK,CAApB,UAAA,EAAK,KAAK,GAAK,MAAA,CAAA,KAAK,EAA1C,CAAA,UAAA,EAAA,YAAA,CAAkC,CAAF,CAAU;IAEhD,QACEA,GAAC,CAAA,KAAK,EAAK,QAAA,CAAA,EAAA,EAAA,KAAK,EACd,EAAA,QAAA,EAAAA,GAAA,CAAC,KAAK,EAAA,QAAA,CAAA,EAAC,EAAE,EAAC,GAAG,EAAC,MAAM,EAAC,QAAQ,EAAC,MAAM,EAAC,KAAK,EAAA,EAAK,UAAU,EAAA,EAAA,QAAA,EACtD,QAAQ,EAAA,CAAA,CACH,EACF,CAAA,CAAA,EACT;AACH,EAAC;AAEM,IAAM,WAAW,GAAG,UAAC,KAAuB,EAAA;AAE/C,IAAA,IAAA,QAAQ,GAON,KAAK,CAAA,QAPC,EACR,SAAS,GAMP,KAAK,CAAA,SANE,EACT,KAAK,GAKH,KAAK,CAAA,KALF,EACL,aAAa,GAIX,KAAK,CAAA,aAJM,EACb,SAAS,GAGP,KAAK,UAHE,EACK,SAAS,GAErB,KAAK,cAFgB,EACE,oBAAoB,GAC3C,KAAK,yBADsC,CACtC;AAET,IAAA,QACEA,GAAA,CAAC,IAAI,EAAA,QAAA,CAAA,EACH,SAAS,EAAC,QAAQ,EAClB,CAAC,EAAC,GAAG,EACL,GAAG,EAAC,GAAG,EACP,UAAU,EAAC,YAAY,EACvB,IAAI,EAAC,SAAS,EACd,GAAG,EAAE,EAAE,SAAS,EAAA,SAAA,EAAE,KAAK,EAAA,KAAA,EAAE,SAAS,EAAE,MAAM,EAAE,EAC5C,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,eAAe,EAAE,CAAA,EAAA,EAAA,YAAA,EACvB,SAAS,EAAA,uBAAA,EACE,oBAAoB,EAAA,EACvC,aAAa,EAAA,EAAA,QAAA,EAEhB,QAAQ,EAAA,CAAA,CACJ,EACR;AACH;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ButtonProps } from "..";
|
|
3
|
+
import { IconComponent } from "../icon";
|
|
4
|
+
export type MenuItemProps<Value extends string> = Omit<ButtonProps, 'variant' | 'onChange'> & {
|
|
5
|
+
variant?: 'option' | 'button';
|
|
6
|
+
label?: string;
|
|
7
|
+
icon?: IconComponent;
|
|
8
|
+
leadingElement?: JSX.Element;
|
|
9
|
+
helperText?: string;
|
|
10
|
+
isActive?: boolean;
|
|
11
|
+
} & ({
|
|
12
|
+
variant: 'option';
|
|
13
|
+
onChange: (option: Value) => void;
|
|
14
|
+
value: Value;
|
|
15
|
+
} | {
|
|
16
|
+
variant: 'button';
|
|
17
|
+
});
|
|
18
|
+
export declare const MenuItem: <Value extends string>(props: MenuItemProps<Value> & import("react").RefAttributes<HTMLButtonElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | null;
|
|
19
|
+
//# sourceMappingURL=MenuItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuItem.d.ts","sourceRoot":"","sources":["../../../src/components/internal/MenuItem.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,WAAW,EAAE,WAAkB;AAExC,OAAO,EAAE,aAAa,EAAE,gBAAuB;AAI/C,MAAM,MAAM,aAAa,CAAC,KAAK,SAAS,MAAM,IAAI,IAAI,CACpD,WAAW,EACX,SAAS,GAAG,UAAU,CACvB,GAAG;IACF,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,aAAa,CAAA;IACpB,cAAc,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,GAAG,CACE;IACE,OAAO,EAAE,QAAQ,CAAA;IACjB,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,IAAI,CAAA;IACjC,KAAK,EAAE,KAAK,CAAA;CACb,GACD;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,CACxB,CAAA;AAEH,eAAO,MAAM,QAAQ,yMAkGnB,CAAA"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { __rest, __assign } from '../../_virtual/_tslib.js';
|
|
2
|
+
import { jsxs, jsx } from '@emotion/react/jsx-runtime';
|
|
3
|
+
import { forwardRef, useCallback } from 'react';
|
|
4
|
+
import { BaseButton } from '../button/BaseButton/BaseButton.js';
|
|
5
|
+
import { Text } from '../text/Text.js';
|
|
6
|
+
import '../../foundations/color/semantic.js';
|
|
7
|
+
import '../../foundations/color/color.js';
|
|
8
|
+
import { useTheme } from '@emotion/react';
|
|
9
|
+
import '../../foundations/theme/theme.js';
|
|
10
|
+
|
|
11
|
+
var MenuItem = forwardRef(function (props, ref) {
|
|
12
|
+
var label = props.label, isActive = props.isActive, onClick = props.onClick, icon = props.icon, leadingElement = props.leadingElement, variant = props.variant, helperText = props.helperText, other = __rest(props, ["label", "isActive", "onClick", "icon", "leadingElement", "variant", "helperText"]);
|
|
13
|
+
var _a = useTheme(), color = _a.color, cornerRadius = _a.cornerRadius, spacing = _a.spacing, typography = _a.typography;
|
|
14
|
+
// Popup Styles
|
|
15
|
+
var optionIconCss = {
|
|
16
|
+
width: spacing.unit4,
|
|
17
|
+
height: spacing.unit4
|
|
18
|
+
};
|
|
19
|
+
var activeOptionCss = {
|
|
20
|
+
transform: 'none',
|
|
21
|
+
backgroundColor: color.secondary.s300,
|
|
22
|
+
color: color.static.white
|
|
23
|
+
};
|
|
24
|
+
var optionCss = {
|
|
25
|
+
height: variant === 'option' ? 36 : 40,
|
|
26
|
+
background: 'transparent',
|
|
27
|
+
border: 'none',
|
|
28
|
+
color: color.text.default,
|
|
29
|
+
fontWeight: typography.weight.medium,
|
|
30
|
+
gap: spacing.s,
|
|
31
|
+
paddingLeft: spacing.m,
|
|
32
|
+
paddingRight: spacing.m,
|
|
33
|
+
paddingTop: spacing.s,
|
|
34
|
+
paddingBottom: spacing.s,
|
|
35
|
+
width: '100%',
|
|
36
|
+
borderRadius: cornerRadius.s,
|
|
37
|
+
justifyContent: 'flex-start',
|
|
38
|
+
'&:hover': activeOptionCss,
|
|
39
|
+
'&:active': {
|
|
40
|
+
transform: 'none'
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
var handleClick = useCallback(function (e) {
|
|
44
|
+
e.stopPropagation();
|
|
45
|
+
onClick === null || onClick === void 0 ? void 0 : onClick(e);
|
|
46
|
+
if (variant === 'option') {
|
|
47
|
+
props.onChange(props.value);
|
|
48
|
+
}
|
|
49
|
+
}, [onClick, props, variant]);
|
|
50
|
+
return (jsxs(BaseButton, __assign({ ref: ref, iconLeft: icon, styles: {
|
|
51
|
+
button: __assign(__assign({}, optionCss), (isActive ? activeOptionCss : {})),
|
|
52
|
+
icon: optionIconCss
|
|
53
|
+
}, onClick: handleClick, role: variant === 'option' ? 'option' : undefined }, other, { onChange: undefined }, { children: [leadingElement !== null && leadingElement !== void 0 ? leadingElement : null, jsx(Text, __assign({ variant: 'body', size: variant === 'option' ? 'l' : 'm', strength: variant === 'button' ? 'strong' : 'default' }, { children: variant === 'option' ? label !== null && label !== void 0 ? label : props.value : label })), helperText ? (jsx(Text, __assign({ variant: 'body', size: variant === 'option' ? 'l' : 'm', strength: variant === 'button' ? 'strong' : 'default', color: isActive ? 'staticWhite' : 'subdued' }, { children: helperText }))) : null] })));
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
export { MenuItem };
|
|
57
|
+
//# sourceMappingURL=MenuItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuItem.js","sources":["../../../src/components/internal/MenuItem.tsx"],"sourcesContent":["import { forwardRef, MouseEventHandler, Ref, useCallback } from 'react'\n\nimport { CSSObject } from '@emotion/react'\n\nimport { ButtonProps } from 'components'\nimport { BaseButton } from 'components/button/BaseButton/BaseButton'\nimport { IconComponent } from 'components/icon'\nimport { Text } from 'components/text/Text'\nimport { useTheme } from 'foundations'\n\nexport type MenuItemProps<Value extends string> = Omit<\n ButtonProps,\n 'variant' | 'onChange'\n> & {\n variant?: 'option' | 'button'\n label?: string\n icon?: IconComponent\n leadingElement?: JSX.Element\n helperText?: string\n isActive?: boolean\n} & (\n | {\n variant: 'option'\n onChange: (option: Value) => void\n value: Value\n }\n | { variant: 'button' }\n )\n\nexport const MenuItem = forwardRef(function <Value extends string>(\n props: MenuItemProps<Value>,\n ref: Ref<HTMLButtonElement>\n) {\n const {\n label,\n isActive,\n onClick,\n icon,\n leadingElement,\n variant,\n helperText,\n ...other\n } = props\n\n const { color, cornerRadius, spacing, typography } = useTheme()\n\n // Popup Styles\n const optionIconCss: CSSObject = {\n width: spacing.unit4,\n height: spacing.unit4\n }\n\n const activeOptionCss: CSSObject = {\n transform: 'none',\n backgroundColor: color.secondary.s300,\n color: color.static.white\n }\n\n const optionCss: CSSObject = {\n height: variant === 'option' ? 36 : 40,\n background: 'transparent',\n border: 'none',\n color: color.text.default,\n fontWeight: typography.weight.medium,\n gap: spacing.s,\n paddingLeft: spacing.m,\n paddingRight: spacing.m,\n paddingTop: spacing.s,\n paddingBottom: spacing.s,\n width: '100%',\n borderRadius: cornerRadius.s,\n justifyContent: 'flex-start',\n\n '&:hover': activeOptionCss,\n '&:active': {\n transform: 'none'\n }\n }\n\n const handleClick: MouseEventHandler<HTMLButtonElement> = useCallback(\n (e) => {\n e.stopPropagation()\n onClick?.(e)\n\n if (variant === 'option') {\n props.onChange(props.value)\n }\n },\n [onClick, props, variant]\n )\n\n return (\n <BaseButton\n ref={ref}\n iconLeft={icon}\n styles={{\n button: {\n ...optionCss,\n ...(isActive ? activeOptionCss : {})\n },\n icon: optionIconCss\n }}\n onClick={handleClick}\n role={variant === 'option' ? 'option' : undefined}\n {...other}\n onChange={undefined}\n >\n {leadingElement ?? null}\n <Text\n variant='body'\n size={variant === 'option' ? 'l' : 'm'}\n strength={variant === 'button' ? 'strong' : 'default'}\n >\n {variant === 'option' ? label ?? props.value : label}\n </Text>\n {helperText ? (\n <Text\n variant='body'\n size={variant === 'option' ? 'l' : 'm'}\n strength={variant === 'button' ? 'strong' : 'default'}\n color={isActive ? 'staticWhite' : 'subdued'}\n >\n {helperText}\n </Text>\n ) : null}\n </BaseButton>\n )\n})\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { RefObject, ReactNode } from 'react';
|
|
2
|
+
import { IconComponent } from "../icon";
|
|
3
|
+
type OptionType<Value extends string> = {
|
|
4
|
+
value: Value;
|
|
5
|
+
/**
|
|
6
|
+
* The label to display. If not provided, uses the value.
|
|
7
|
+
*/
|
|
8
|
+
label?: string;
|
|
9
|
+
helperText?: string;
|
|
10
|
+
icon?: IconComponent;
|
|
11
|
+
/**
|
|
12
|
+
* A leading element to display before the option label. Useful for icons/emojis
|
|
13
|
+
*/
|
|
14
|
+
leadingElement?: JSX.Element;
|
|
15
|
+
/**
|
|
16
|
+
* A leading element to display before the filter button label
|
|
17
|
+
*/
|
|
18
|
+
labelLeadingElement?: JSX.Element;
|
|
19
|
+
};
|
|
20
|
+
type OptionKeyHandlerProps<Value extends string> = {
|
|
21
|
+
children: (activeValue: Value | null) => ReactNode;
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
onChange: (value: Value) => void;
|
|
24
|
+
optionRefs: RefObject<HTMLButtonElement[]>;
|
|
25
|
+
options: OptionType<Value>[];
|
|
26
|
+
scrollRef: RefObject<HTMLDivElement>;
|
|
27
|
+
};
|
|
28
|
+
export declare const OptionKeyHandler: <Value extends string>(props: OptionKeyHandlerProps<Value>) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=OptionKeyHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OptionKeyHandler.d.ts","sourceRoot":"","sources":["../../../src/components/internal/OptionKeyHandler.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,SAAS,EAAa,MAAM,OAAO,CAAA;AAEjE,OAAO,EAAE,aAAa,EAAE,gBAAuB;AAE/C,KAAK,UAAU,CAAC,KAAK,SAAS,MAAM,IAAI;IACtC,KAAK,EAAE,KAAK,CAAA;IACZ;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,aAAa,CAAA;IACpB;;OAEG;IACH,cAAc,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IAC5B;;OAEG;IACH,mBAAmB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CAClC,CAAA;AAED,KAAK,qBAAqB,CAAC,KAAK,SAAS,MAAM,IAAI;IACjD,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,KAAK,SAAS,CAAA;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAChC,UAAU,EAAE,SAAS,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAC1C,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAA;IAC5B,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,CAAA;CACrC,CAAA;AAED,eAAO,MAAM,gBAAgB,iHAmF5B,CAAA"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { jsx, Fragment } from '@emotion/react/jsx-runtime';
|
|
2
|
+
import { useState, useEffect } from 'react';
|
|
3
|
+
|
|
4
|
+
var OptionKeyHandler = function (props) {
|
|
5
|
+
var _a;
|
|
6
|
+
var disabled = props.disabled, options = props.options, onChange = props.onChange, optionRefs = props.optionRefs, scrollRef = props.scrollRef, children = props.children;
|
|
7
|
+
var _b = useState(null), activeIndex = _b[0], setActiveIndex = _b[1];
|
|
8
|
+
var activeValue = activeIndex !== null ? (_a = options[activeIndex]) === null || _a === void 0 ? void 0 : _a.value : null;
|
|
9
|
+
useEffect(function () {
|
|
10
|
+
var adjustScrollPosition = function (newIndex) {
|
|
11
|
+
var _a;
|
|
12
|
+
if (newIndex !== null) {
|
|
13
|
+
if (optionRefs.current) {
|
|
14
|
+
optionRefs.current[newIndex].scrollIntoView({
|
|
15
|
+
behavior: 'smooth',
|
|
16
|
+
block: 'start'
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
(_a = scrollRef.current) === null || _a === void 0 ? void 0 : _a.scrollTo({ top: 0, behavior: 'smooth' });
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
var handleKeyDown = function (event) {
|
|
25
|
+
if (disabled) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
switch (event.key) {
|
|
29
|
+
case 'ArrowUp':
|
|
30
|
+
event.stopPropagation();
|
|
31
|
+
event.preventDefault();
|
|
32
|
+
setActiveIndex(function (prevIndex) {
|
|
33
|
+
var getNewIndex = function () {
|
|
34
|
+
if (prevIndex === null) {
|
|
35
|
+
return options.length - 1;
|
|
36
|
+
}
|
|
37
|
+
return prevIndex > 0 ? prevIndex - 1 : null;
|
|
38
|
+
};
|
|
39
|
+
var newIndex = getNewIndex();
|
|
40
|
+
adjustScrollPosition(newIndex);
|
|
41
|
+
return newIndex;
|
|
42
|
+
});
|
|
43
|
+
break;
|
|
44
|
+
case 'ArrowDown':
|
|
45
|
+
event.stopPropagation();
|
|
46
|
+
event.preventDefault();
|
|
47
|
+
setActiveIndex(function (prevIndex) {
|
|
48
|
+
var getNewIndex = function () {
|
|
49
|
+
if (prevIndex === null) {
|
|
50
|
+
return 0;
|
|
51
|
+
}
|
|
52
|
+
return prevIndex < options.length - 1 ? prevIndex + 1 : null;
|
|
53
|
+
};
|
|
54
|
+
var newIndex = getNewIndex();
|
|
55
|
+
adjustScrollPosition(newIndex);
|
|
56
|
+
return newIndex;
|
|
57
|
+
});
|
|
58
|
+
break;
|
|
59
|
+
case 'Enter':
|
|
60
|
+
event.stopPropagation();
|
|
61
|
+
event.preventDefault();
|
|
62
|
+
if (activeIndex !== null && options[activeIndex]) {
|
|
63
|
+
onChange(options[activeIndex].value);
|
|
64
|
+
}
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
window.addEventListener('keydown', handleKeyDown);
|
|
69
|
+
return function () {
|
|
70
|
+
window.removeEventListener('keydown', handleKeyDown);
|
|
71
|
+
};
|
|
72
|
+
}, [disabled, options, activeIndex, scrollRef, optionRefs, onChange]);
|
|
73
|
+
return jsx(Fragment, { children: children(activeValue) });
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
export { OptionKeyHandler };
|
|
77
|
+
//# sourceMappingURL=OptionKeyHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OptionKeyHandler.js","sources":["../../../src/components/internal/OptionKeyHandler.tsx"],"sourcesContent":["import { RefObject, useState, ReactNode, useEffect } from 'react'\n\nimport { IconComponent } from 'components/icon'\n\ntype OptionType<Value extends string> = {\n value: Value\n /**\n * The label to display. If not provided, uses the value.\n */\n label?: string\n helperText?: string\n icon?: IconComponent\n /**\n * A leading element to display before the option label. Useful for icons/emojis\n */\n leadingElement?: JSX.Element\n /**\n * A leading element to display before the filter button label\n */\n labelLeadingElement?: JSX.Element\n}\n\ntype OptionKeyHandlerProps<Value extends string> = {\n children: (activeValue: Value | null) => ReactNode\n disabled?: boolean\n onChange: (value: Value) => void\n optionRefs: RefObject<HTMLButtonElement[]>\n options: OptionType<Value>[]\n scrollRef: RefObject<HTMLDivElement>\n}\n\nexport const OptionKeyHandler = <Value extends string>(\n props: OptionKeyHandlerProps<Value>\n) => {\n const { disabled, options, onChange, optionRefs, scrollRef, children } = props\n const [activeIndex, setActiveIndex] = useState<number | null>(null)\n const activeValue = activeIndex !== null ? options[activeIndex]?.value : null\n\n useEffect(() => {\n const adjustScrollPosition = (newIndex: number | null) => {\n if (newIndex !== null) {\n if (optionRefs.current) {\n optionRefs.current[newIndex].scrollIntoView({\n behavior: 'smooth',\n block: 'start'\n })\n }\n } else {\n scrollRef.current?.scrollTo({ top: 0, behavior: 'smooth' })\n }\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (disabled) {\n return\n }\n\n switch (event.key) {\n case 'ArrowUp':\n event.stopPropagation()\n event.preventDefault()\n setActiveIndex((prevIndex) => {\n const getNewIndex = () => {\n if (prevIndex === null) {\n return options.length - 1\n }\n\n return prevIndex > 0 ? prevIndex - 1 : null\n }\n\n const newIndex = getNewIndex()\n adjustScrollPosition(newIndex)\n\n return newIndex\n })\n break\n case 'ArrowDown':\n event.stopPropagation()\n event.preventDefault()\n setActiveIndex((prevIndex) => {\n const getNewIndex = () => {\n if (prevIndex === null) {\n return 0\n }\n\n return prevIndex < options.length - 1 ? prevIndex + 1 : null\n }\n\n const newIndex = getNewIndex()\n adjustScrollPosition(newIndex)\n\n return newIndex\n })\n break\n case 'Enter':\n event.stopPropagation()\n event.preventDefault()\n if (activeIndex !== null && options[activeIndex]) {\n onChange(options[activeIndex].value)\n }\n break\n default:\n break\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n\n return () => {\n window.removeEventListener('keydown', handleKeyDown)\n }\n }, [disabled, options, activeIndex, scrollRef, optionRefs, onChange])\n\n return <>{children(activeValue)}</>\n}\n"],"names":["_jsx"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import styled from '@emotion/styled';
|
|
|
2
2
|
|
|
3
3
|
/** Base layout component used as a building block for creating pages and other components. */
|
|
4
4
|
var Box = styled.div(function (_a) {
|
|
5
|
-
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
5
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
|
|
6
6
|
var h = _a.h, w = _a.w, p = _a.p, ph = _a.ph, pv = _a.pv, pt = _a.pt, pl = _a.pl, pr = _a.pr, pb = _a.pb, m = _a.m, mh = _a.mh, mv = _a.mv, mt = _a.mt, ml = _a.ml, mr = _a.mr, mb = _a.mb, backgroundColor = _a.backgroundColor, border = _a.border, borderTop = _a.borderTop, borderRight = _a.borderRight, borderBottom = _a.borderBottom, borderLeft = _a.borderLeft, borderRadius = _a.borderRadius, borderTopRightRadius = _a.borderTopRightRadius, borderBottomRightRadius = _a.borderBottomRightRadius, borderBottomLeftRadius = _a.borderBottomLeftRadius, borderTopLeftRadius = _a.borderTopLeftRadius, shadow = _a.shadow, flex = _a.flex, alignSelf = _a.alignSelf, theme = _a.theme;
|
|
7
7
|
var shadows = theme.shadows, spacing = theme.spacing, color = theme.color, cornerRadius = theme.cornerRadius;
|
|
8
8
|
var padT = (_b = pt !== null && pt !== void 0 ? pt : pv) !== null && _b !== void 0 ? _b : p;
|
|
@@ -24,9 +24,9 @@ var Box = styled.div(function (_a) {
|
|
|
24
24
|
paddingRight: (_p = (padR && spacing[padR])) !== null && _p !== void 0 ? _p : padR,
|
|
25
25
|
paddingBottom: (_q = (padB && spacing[padB])) !== null && _q !== void 0 ? _q : padB,
|
|
26
26
|
marginTop: (_r = (marginT && spacing[marginT])) !== null && _r !== void 0 ? _r : marginT,
|
|
27
|
-
marginLeft: marginL && spacing[marginL],
|
|
28
|
-
marginRight: marginR && spacing[marginR],
|
|
29
|
-
marginBottom: marginB && spacing[marginB],
|
|
27
|
+
marginLeft: (_s = (marginL && spacing[marginL])) !== null && _s !== void 0 ? _s : marginL,
|
|
28
|
+
marginRight: (_t = (marginR && spacing[marginR])) !== null && _t !== void 0 ? _t : marginR,
|
|
29
|
+
marginBottom: (_u = (marginB && spacing[marginB])) !== null && _u !== void 0 ? _u : marginB,
|
|
30
30
|
backgroundColor: backgroundColor && theme.color.background[backgroundColor],
|
|
31
31
|
border: border && "1px solid ".concat(color.border[border]),
|
|
32
32
|
borderTop: borderTop && "1px solid ".concat(color.border[borderTop]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Box.js","sources":["../../../../src/components/layout/Box/Box.tsx"],"sourcesContent":["import styled from '@emotion/styled'\n\nimport type { SpacingOptions } from '../../../foundations/spacing'\n\nimport type { BoxProps } from './types'\n\n/** Base layout component used as a building block for creating pages and other components. */\nexport const Box = styled.div<BoxProps>(\n ({\n h,\n w,\n p,\n ph,\n pv,\n pt,\n pl,\n pr,\n pb,\n m,\n mh,\n mv,\n mt,\n ml,\n mr,\n mb,\n backgroundColor,\n border,\n borderTop,\n borderRight,\n borderBottom,\n borderLeft,\n borderRadius,\n borderTopRightRadius,\n borderBottomRightRadius,\n borderBottomLeftRadius,\n borderTopLeftRadius,\n shadow,\n flex,\n alignSelf,\n theme\n }) => {\n const { shadows, spacing, color, cornerRadius } = theme\n const padT = pt ?? pv ?? p\n const padB = pb ?? pv ?? p\n const padL = pl ?? ph ?? p\n const padR = pr ?? ph ?? p\n\n const marginT = mt ?? mv ?? m\n const marginB = mb ?? mv ?? m\n const marginL = ml ?? mh ?? m\n const marginR = mr ?? mh ?? m\n\n return {\n position: 'relative',\n boxSizing: 'border-box',\n height: spacing[h as SpacingOptions] ?? h,\n width: spacing[w as SpacingOptions] ?? w,\n boxShadow: shadow && shadows[shadow],\n paddingTop: (padT && spacing[padT as SpacingOptions]) ?? padT,\n paddingLeft: (padL && spacing[padL as SpacingOptions]) ?? padL,\n paddingRight: (padR && spacing[padR as SpacingOptions]) ?? padR,\n paddingBottom: (padB && spacing[padB as SpacingOptions]) ?? padB,\n marginTop: (marginT && spacing[marginT as SpacingOptions]) ?? marginT,\n marginLeft: marginL && spacing[marginL],\n marginRight: marginR && spacing[marginR],\n marginBottom: marginB && spacing[marginB],\n backgroundColor:\n backgroundColor && theme.color.background[backgroundColor],\n border: border && `1px solid ${color.border[border]}`,\n borderTop: borderTop && `1px solid ${color.border[borderTop]}`,\n borderRight: borderRight && `1px solid ${color.border[borderRight]}`,\n borderBottom: borderBottom && `1px solid ${color.border[borderBottom]}`,\n borderLeft: borderLeft && `1px solid ${color.border[borderLeft]}`,\n borderRadius: borderRadius && cornerRadius[borderRadius],\n borderTopRightRadius:\n borderTopRightRadius && cornerRadius[borderTopRightRadius],\n borderBottomRightRadius:\n borderBottomRightRadius && cornerRadius[borderBottomRightRadius],\n borderBottomLeftRadius:\n borderBottomLeftRadius && cornerRadius[borderBottomLeftRadius],\n borderTopLeftRadius:\n borderTopLeftRadius && cornerRadius[borderTopLeftRadius],\n flex,\n alignSelf\n }\n }\n)\n"],"names":[],"mappings":";;AAMA;IACa,GAAG,GAAG,MAAM,CAAC,GAAG,CAC3B,UAAC,EAgCA,EAAA;;AA/BC,IAAA,IAAA,CAAC,OAAA,EACD,CAAC,OAAA,EACD,CAAC,OAAA,EACD,EAAE,QAAA,EACF,EAAE,QAAA,EACF,EAAE,QAAA,EACF,EAAE,QAAA,EACF,EAAE,QAAA,EACF,EAAE,QAAA,EACF,CAAC,OAAA,EACD,EAAE,QAAA,EACF,EAAE,QAAA,EACF,EAAE,QAAA,EACF,EAAE,QAAA,EACF,EAAE,QAAA,EACF,EAAE,GAAA,EAAA,CAAA,EAAA,EACF,eAAe,GAAA,EAAA,CAAA,eAAA,EACf,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,oBAAoB,GAAA,EAAA,CAAA,oBAAA,EACpB,uBAAuB,GAAA,EAAA,CAAA,uBAAA,EACvB,sBAAsB,GAAA,EAAA,CAAA,sBAAA,EACtB,mBAAmB,GAAA,EAAA,CAAA,mBAAA,EACnB,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,KAAK,GAAA,EAAA,CAAA,KAAA,CAAA;AAEG,IAAA,IAAA,OAAO,GAAmC,KAAK,QAAxC,EAAE,OAAO,GAA0B,KAAK,CAAA,OAA/B,EAAE,KAAK,GAAmB,KAAK,CAAxB,KAAA,EAAE,YAAY,GAAK,KAAK,aAAV,CAAU;AACvD,IAAA,IAAM,IAAI,GAAG,CAAA,EAAA,GAAA,EAAE,KAAF,IAAA,IAAA,EAAE,KAAF,KAAA,CAAA,GAAA,EAAE,GAAI,EAAE,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,CAAC,CAAA;AAC1B,IAAA,IAAM,IAAI,GAAG,CAAA,EAAA,GAAA,EAAE,KAAF,IAAA,IAAA,EAAE,KAAF,KAAA,CAAA,GAAA,EAAE,GAAI,EAAE,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,CAAC,CAAA;AAC1B,IAAA,IAAM,IAAI,GAAG,CAAA,EAAA,GAAA,EAAE,KAAF,IAAA,IAAA,EAAE,KAAF,KAAA,CAAA,GAAA,EAAE,GAAI,EAAE,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,CAAC,CAAA;AAC1B,IAAA,IAAM,IAAI,GAAG,CAAA,EAAA,GAAA,EAAE,KAAF,IAAA,IAAA,EAAE,KAAF,KAAA,CAAA,GAAA,EAAE,GAAI,EAAE,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,CAAC,CAAA;AAE1B,IAAA,IAAM,OAAO,GAAG,CAAA,EAAA,GAAA,EAAE,KAAF,IAAA,IAAA,EAAE,KAAF,KAAA,CAAA,GAAA,EAAE,GAAI,EAAE,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,CAAC,CAAA;AAC7B,IAAA,IAAM,OAAO,GAAG,CAAA,EAAA,GAAA,EAAE,KAAF,IAAA,IAAA,EAAE,KAAF,KAAA,CAAA,GAAA,EAAE,GAAI,EAAE,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,CAAC,CAAA;AAC7B,IAAA,IAAM,OAAO,GAAG,CAAA,EAAA,GAAA,EAAE,KAAF,IAAA,IAAA,EAAE,KAAF,KAAA,CAAA,GAAA,EAAE,GAAI,EAAE,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,CAAC,CAAA;AAC7B,IAAA,IAAM,OAAO,GAAG,CAAA,EAAA,GAAA,EAAE,KAAF,IAAA,IAAA,EAAE,KAAF,KAAA,CAAA,GAAA,EAAE,GAAI,EAAE,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,CAAC,CAAA;IAE7B,OAAO;AACL,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,SAAS,EAAE,YAAY;AACvB,QAAA,MAAM,EAAE,CAAA,EAAA,GAAA,OAAO,CAAC,CAAmB,CAAC,mCAAI,CAAC;AACzC,QAAA,KAAK,EAAE,CAAA,EAAA,GAAA,OAAO,CAAC,CAAmB,CAAC,mCAAI,CAAC;AACxC,QAAA,SAAS,EAAE,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;QACpC,UAAU,EAAE,CAAA,EAAA,IAAC,IAAI,IAAI,OAAO,CAAC,IAAsB,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI;QAC7D,WAAW,EAAE,CAAA,EAAA,IAAC,IAAI,IAAI,OAAO,CAAC,IAAsB,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI;QAC9D,YAAY,EAAE,CAAA,EAAA,IAAC,IAAI,IAAI,OAAO,CAAC,IAAsB,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI;QAC/D,aAAa,EAAE,CAAA,EAAA,IAAC,IAAI,IAAI,OAAO,CAAC,IAAsB,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI;QAChE,SAAS,EAAE,CAAA,EAAA,IAAC,OAAO,IAAI,OAAO,CAAC,OAAyB,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,OAAO;
|
|
1
|
+
{"version":3,"file":"Box.js","sources":["../../../../src/components/layout/Box/Box.tsx"],"sourcesContent":["import styled from '@emotion/styled'\n\nimport type { SpacingOptions } from '../../../foundations/spacing'\n\nimport type { BoxProps } from './types'\n\n/** Base layout component used as a building block for creating pages and other components. */\nexport const Box = styled.div<BoxProps>(\n ({\n h,\n w,\n p,\n ph,\n pv,\n pt,\n pl,\n pr,\n pb,\n m,\n mh,\n mv,\n mt,\n ml,\n mr,\n mb,\n backgroundColor,\n border,\n borderTop,\n borderRight,\n borderBottom,\n borderLeft,\n borderRadius,\n borderTopRightRadius,\n borderBottomRightRadius,\n borderBottomLeftRadius,\n borderTopLeftRadius,\n shadow,\n flex,\n alignSelf,\n theme\n }) => {\n const { shadows, spacing, color, cornerRadius } = theme\n const padT = pt ?? pv ?? p\n const padB = pb ?? pv ?? p\n const padL = pl ?? ph ?? p\n const padR = pr ?? ph ?? p\n\n const marginT = mt ?? mv ?? m\n const marginB = mb ?? mv ?? m\n const marginL = ml ?? mh ?? m\n const marginR = mr ?? mh ?? m\n\n return {\n position: 'relative',\n boxSizing: 'border-box',\n height: spacing[h as SpacingOptions] ?? h,\n width: spacing[w as SpacingOptions] ?? w,\n boxShadow: shadow && shadows[shadow],\n paddingTop: (padT && spacing[padT as SpacingOptions]) ?? padT,\n paddingLeft: (padL && spacing[padL as SpacingOptions]) ?? padL,\n paddingRight: (padR && spacing[padR as SpacingOptions]) ?? padR,\n paddingBottom: (padB && spacing[padB as SpacingOptions]) ?? padB,\n marginTop: (marginT && spacing[marginT as SpacingOptions]) ?? marginT,\n marginLeft: (marginL && spacing[marginL as SpacingOptions]) ?? marginL,\n marginRight: (marginR && spacing[marginR as SpacingOptions]) ?? marginR,\n marginBottom: (marginB && spacing[marginB as SpacingOptions]) ?? marginB,\n backgroundColor:\n backgroundColor && theme.color.background[backgroundColor],\n border: border && `1px solid ${color.border[border]}`,\n borderTop: borderTop && `1px solid ${color.border[borderTop]}`,\n borderRight: borderRight && `1px solid ${color.border[borderRight]}`,\n borderBottom: borderBottom && `1px solid ${color.border[borderBottom]}`,\n borderLeft: borderLeft && `1px solid ${color.border[borderLeft]}`,\n borderRadius: borderRadius && cornerRadius[borderRadius],\n borderTopRightRadius:\n borderTopRightRadius && cornerRadius[borderTopRightRadius],\n borderBottomRightRadius:\n borderBottomRightRadius && cornerRadius[borderBottomRightRadius],\n borderBottomLeftRadius:\n borderBottomLeftRadius && cornerRadius[borderBottomLeftRadius],\n borderTopLeftRadius:\n borderTopLeftRadius && cornerRadius[borderTopLeftRadius],\n flex,\n alignSelf\n }\n }\n)\n"],"names":[],"mappings":"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"}
|
|
@@ -23,19 +23,19 @@ export type BaseBoxProps = {
|
|
|
23
23
|
/** Padding Bottom */
|
|
24
24
|
pb?: SpacingOptions | CSSProperties['paddingBottom'];
|
|
25
25
|
/** Margin */
|
|
26
|
-
m?: SpacingOptions;
|
|
26
|
+
m?: SpacingOptions | CSSProperties['margin'];
|
|
27
27
|
/** Margin Horizontal */
|
|
28
|
-
mh?: SpacingOptions;
|
|
28
|
+
mh?: SpacingOptions | CSSProperties['marginInline'];
|
|
29
29
|
/** Margin Vertical */
|
|
30
|
-
mv?: SpacingOptions;
|
|
30
|
+
mv?: SpacingOptions | CSSProperties['marginBlock'];
|
|
31
31
|
/** Margin Top */
|
|
32
32
|
mt?: SpacingOptions | CSSProperties['marginTop'];
|
|
33
33
|
/** Margin Left */
|
|
34
|
-
ml?: SpacingOptions;
|
|
34
|
+
ml?: SpacingOptions | CSSProperties['marginLeft'];
|
|
35
35
|
/** Margin Right */
|
|
36
|
-
mr?: SpacingOptions;
|
|
36
|
+
mr?: SpacingOptions | CSSProperties['marginRight'];
|
|
37
37
|
/** Margin Bottom */
|
|
38
|
-
mb?: SpacingOptions;
|
|
38
|
+
mb?: SpacingOptions | CSSProperties['marginBottom'];
|
|
39
39
|
/** Background Color */
|
|
40
40
|
backgroundColor?: BackgroundColors;
|
|
41
41
|
/** Border */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/Box/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAA;AAEpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAGlE,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa;IACb,CAAC,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC5C,YAAY;IACZ,CAAC,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAE3C,cAAc;IACd,CAAC,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;IAC7C,yBAAyB;IACzB,EAAE,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,eAAe,CAAC,CAAA;IACpD,uBAAuB;IACvB,EAAE,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC,CAAA;IACnD,kBAAkB;IAClB,EAAE,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA;IACjD,mBAAmB;IACnB,EAAE,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;IAClD,oBAAoB;IACpB,EAAE,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC,CAAA;IACnD,qBAAqB;IACrB,EAAE,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,eAAe,CAAC,CAAA;IAEpD,aAAa;IACb,CAAC,CAAC,EAAE,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/Box/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Flex.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/Flex/Flex.tsx"],"names":[],"mappings":";AASA,qFAAqF;AACrF,eAAO,MAAM,IAAI;;;;;
|
|
1
|
+
{"version":3,"file":"Flex.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/Flex/Flex.tsx"],"names":[],"mappings":";AASA,qFAAqF;AACrF,eAAO,MAAM,IAAI;;;;;4CA4Bf,CAAA"}
|
|
@@ -7,13 +7,13 @@ var invalidProps = ['alignItems', 'direction', 'wrap'];
|
|
|
7
7
|
var Flex = styled(Box, {
|
|
8
8
|
shouldForwardProp: function (prop) { return isPropValid(prop) && !invalidProps.includes(prop); }
|
|
9
9
|
})(function (props) {
|
|
10
|
-
var theme = props.theme, direction = props.direction, wrap = props.wrap, alignItems = props.alignItems, justifyContent = props.justifyContent, gap = props.gap, rowGap = props.rowGap, columnGap = props.columnGap, inline = props.inline;
|
|
10
|
+
var theme = props.theme, direction = props.direction, wrap = props.wrap, alignItems = props.alignItems, justifyContent = props.justifyContent, gap = props.gap, rowGap = props.rowGap, columnGap = props.columnGap, inline = props.inline, row = props.row, column = props.column;
|
|
11
11
|
var spacing = theme.spacing;
|
|
12
12
|
return {
|
|
13
13
|
display: inline ? 'inline-flex' : 'flex',
|
|
14
14
|
alignItems: alignItems,
|
|
15
15
|
justifyContent: justifyContent,
|
|
16
|
-
flexDirection: direction,
|
|
16
|
+
flexDirection: direction !== null && direction !== void 0 ? direction : (row ? 'row' : column ? 'column' : undefined),
|
|
17
17
|
flexWrap: wrap,
|
|
18
18
|
gap: gap && spacing[gap],
|
|
19
19
|
rowGap: rowGap && spacing[rowGap],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Flex.js","sources":["../../../../src/components/layout/Flex/Flex.tsx"],"sourcesContent":["import isPropValid from '@emotion/is-prop-valid'\nimport styled from '@emotion/styled'\n\nimport { Box } from '../Box'\n\nimport type { FlexProps } from './types'\n\nconst invalidProps = ['alignItems', 'direction', 'wrap']\n\n/** Layout component used to group child elements in one-deminsional arrangements. */\nexport const Flex = styled(Box, {\n shouldForwardProp: (prop) => isPropValid(prop) && !invalidProps.includes(prop)\n})<FlexProps>((props) => {\n const {\n theme,\n direction,\n wrap,\n alignItems,\n justifyContent,\n gap,\n rowGap,\n columnGap,\n inline\n } = props\n const { spacing } = theme\n\n return {\n display: inline ? 'inline-flex' : 'flex',\n alignItems,\n justifyContent,\n flexDirection: direction,\n flexWrap: wrap,\n gap: gap && spacing[gap],\n rowGap: rowGap && spacing[rowGap],\n columnGap: columnGap && spacing[columnGap]\n }\n})\n"],"names":[],"mappings":";;;;AAOA,IAAM,YAAY,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;AAExD;AACa,IAAA,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE;AAC9B,IAAA,iBAAiB,EAAE,UAAC,IAAI,IAAK,OAAA,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAA;CAC/E,CAAC,CAAY,UAAC,KAAK,EAAA;IAEhB,IAAA,KAAK,
|
|
1
|
+
{"version":3,"file":"Flex.js","sources":["../../../../src/components/layout/Flex/Flex.tsx"],"sourcesContent":["import isPropValid from '@emotion/is-prop-valid'\nimport styled from '@emotion/styled'\n\nimport { Box } from '../Box'\n\nimport type { FlexProps } from './types'\n\nconst invalidProps = ['alignItems', 'direction', 'wrap']\n\n/** Layout component used to group child elements in one-deminsional arrangements. */\nexport const Flex = styled(Box, {\n shouldForwardProp: (prop) => isPropValid(prop) && !invalidProps.includes(prop)\n})<FlexProps>((props) => {\n const {\n theme,\n direction,\n wrap,\n alignItems,\n justifyContent,\n gap,\n rowGap,\n columnGap,\n inline,\n row,\n column\n } = props\n const { spacing } = theme\n\n return {\n display: inline ? 'inline-flex' : 'flex',\n alignItems,\n justifyContent,\n flexDirection: direction ?? (row ? 'row' : column ? 'column' : undefined),\n flexWrap: wrap,\n gap: gap && spacing[gap],\n rowGap: rowGap && spacing[rowGap],\n columnGap: columnGap && spacing[columnGap]\n }\n})\n"],"names":[],"mappings":";;;;AAOA,IAAM,YAAY,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;AAExD;AACa,IAAA,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE;AAC9B,IAAA,iBAAiB,EAAE,UAAC,IAAI,IAAK,OAAA,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAA;CAC/E,CAAC,CAAY,UAAC,KAAK,EAAA;IAEhB,IAAA,KAAK,GAWH,KAAK,CAXF,KAAA,EACL,SAAS,GAUP,KAAK,CAVE,SAAA,EACT,IAAI,GASF,KAAK,CATH,IAAA,EACJ,UAAU,GAQR,KAAK,CAAA,UARG,EACV,cAAc,GAOZ,KAAK,CAPO,cAAA,EACd,GAAG,GAMD,KAAK,CANJ,GAAA,EACH,MAAM,GAKJ,KAAK,CAAA,MALD,EACN,SAAS,GAIP,KAAK,CAAA,SAJE,EACT,MAAM,GAGJ,KAAK,CAAA,MAHD,EACN,GAAG,GAED,KAAK,CAFJ,GAAA,EACH,MAAM,GACJ,KAAK,CAAA,MADD,CACC;AACD,IAAA,IAAA,OAAO,GAAK,KAAK,CAAA,OAAV,CAAU;IAEzB,OAAO;QACL,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM;AACxC,QAAA,UAAU,EAAA,UAAA;AACV,QAAA,cAAc,EAAA,cAAA;QACd,aAAa,EAAE,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,KAAA,CAAA,GAAT,SAAS,IAAK,GAAG,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AACzE,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,GAAG,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;AACxB,QAAA,MAAM,EAAE,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;AACjC,QAAA,SAAS,EAAE,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC;KAC3C,CAAA;AACH,CAAC;;;;"}
|
|
@@ -10,6 +10,8 @@ export type BaseFlexProps = {
|
|
|
10
10
|
justifyContent?: CSSProperties['justifyContent'];
|
|
11
11
|
wrap?: CSSProperties['flexWrap'];
|
|
12
12
|
inline?: boolean;
|
|
13
|
+
row?: boolean;
|
|
14
|
+
column?: boolean;
|
|
13
15
|
};
|
|
14
16
|
export type FlexProps = BaseFlexProps & BoxProps;
|
|
15
17
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/Flex/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEtC,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IACxC,SAAS,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAA;IAC1C,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B,cAAc,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAA;IAChD,IAAI,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;IAChC,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,QAAQ,CAAA"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/Flex/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEtC,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IACxC,SAAS,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAA;IAC1C,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B,cAAc,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAA;IAChD,IAAI,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;IAChC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,QAAQ,CAAA"}
|
|
@@ -180,7 +180,7 @@ var Modal = forwardRef(function Modal(_a, ref) {
|
|
|
180
180
|
}
|
|
181
181
|
});
|
|
182
182
|
var modalContentClickedRef = useRef(false);
|
|
183
|
-
var outsideClickRef = useClickOutside(onClose,
|
|
183
|
+
var outsideClickRef = useClickOutside(onClose, isOpen,
|
|
184
184
|
// Check to see if the click outside is not another modal wrapper.
|
|
185
185
|
// If it is, that means we have a nested modal situation and shouldn't
|
|
186
186
|
// dismiss "this" modal. We let the useClickOutside in "that" modal to
|
|
@@ -204,7 +204,7 @@ var Modal = forwardRef(function Modal(_a, ref) {
|
|
|
204
204
|
return isModalWrapper && !isThisModalWrapper;
|
|
205
205
|
}
|
|
206
206
|
return false;
|
|
207
|
-
}
|
|
207
|
+
});
|
|
208
208
|
var handleEscape = useCallback(function () {
|
|
209
209
|
if (isOpen)
|
|
210
210
|
onClose();
|
|
@@ -248,10 +248,10 @@ var Modal = forwardRef(function Modal(_a, ref) {
|
|
|
248
248
|
var handleModalContentClicked = function () {
|
|
249
249
|
modalContentClickedRef.current = true;
|
|
250
250
|
};
|
|
251
|
-
return (jsx(Fragment, { children: modalRoot && isOpen
|
|
251
|
+
return (jsx(Fragment, { children: modalRoot && (process.env.NODE_ENV === 'test' ? isOpenProp : isOpen)
|
|
252
252
|
? ReactDOM.createPortal(jsx(Fragment, { children: transition.map(function (_a) {
|
|
253
253
|
var item = _a.item, props = _a.props, key = _a.key;
|
|
254
|
-
return item && (jsx(animated.div, __assign({ className: wrapperClassNames, style: __assign(__assign({}, wrapperStyle), { opacity: props.opacity, height: height, minHeight: height }), ref: ref }, { children: jsx(animated.div, __assign({ ref: dismissOnClickOutside ? outsideClickRef : null, className: bodyClassNames, style: __assign(__assign(__assign({}, props), bodyOffset), bodyStyle), role: 'dialog', "aria-labelledby": titleId, "aria-describedby": subtitleId,
|
|
254
|
+
return item && (jsx(animated.div, __assign({ className: wrapperClassNames, style: __assign(__assign({}, wrapperStyle), { opacity: props.opacity, height: height, minHeight: height }), ref: ref }, { children: jsx(animated.div, __assign({ ref: dismissOnClickOutside ? outsideClickRef : null, className: bodyClassNames, style: __assign(__assign(__assign({}, props), bodyOffset), bodyStyle), role: 'dialog', "aria-labelledby": titleId, "aria-describedby": subtitleId, onMouseDown: handleModalContentClicked }, { children: jsxs(Fragment, { children: [showTitleHeader && (jsxs("div", __assign({ className: headerContainerClassNames }, { children: [showDismissButton && (jsx("div", __assign({ className: styles.dismissButton, onClick: onClose }, { children: jsx(IconClose, { color: 'subdued', size: 's' }) }))), jsx("div", __assign({ id: titleId, className: cn(styles.header, titleClassName) }, { children: title })), jsx("div", __assign({ id: subtitleId, className: cn(styles.subtitle, subtitleClassName) }, { children: subtitle }))] }))), jsx(ModalContext.Provider, __assign({ value: modalContextValue }, { children: children }))] }) })) }), key));
|
|
255
255
|
}) }), modalRoot)
|
|
256
256
|
: null }));
|
|
257
257
|
});
|