@redsift/design-system 11.9.4 → 12.0.0-muiv5
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/CONTRIBUTING.md +1 -5
- package/_internal/Alert2.js +9 -4
- package/_internal/Alert2.js.map +1 -1
- package/_internal/AppContent.js +9 -4
- package/_internal/AppContent.js.map +1 -1
- package/_internal/Badge2.js +9 -4
- package/_internal/Badge2.js.map +1 -1
- package/_internal/Breadcrumbs2.js +9 -4
- package/_internal/Breadcrumbs2.js.map +1 -1
- package/_internal/Button2.js +9 -4
- package/_internal/Button2.js.map +1 -1
- package/_internal/ButtonGroup.js +15 -6
- package/_internal/ButtonGroup.js.map +1 -1
- package/_internal/ButtonLink.js +1 -1
- package/_internal/Card2.js +9 -4
- package/_internal/Card2.js.map +1 -1
- package/_internal/CardActions.js +16 -12
- package/_internal/CardActions.js.map +1 -1
- package/_internal/CardBody.js +9 -4
- package/_internal/CardBody.js.map +1 -1
- package/_internal/CardHeader.js +13 -4
- package/_internal/CardHeader.js.map +1 -1
- package/_internal/Checkbox2.js +9 -4
- package/_internal/Checkbox2.js.map +1 -1
- package/_internal/CheckboxGroup.js +9 -4
- package/_internal/CheckboxGroup.js.map +1 -1
- package/_internal/DetailedCard.js +24 -12
- package/_internal/DetailedCard.js.map +1 -1
- package/_internal/Flexbox2.js +21 -16
- package/_internal/Flexbox2.js.map +1 -1
- package/_internal/Grid2.js +21 -16
- package/_internal/Grid2.js.map +1 -1
- package/_internal/GridItem.js +9 -4
- package/_internal/GridItem.js.map +1 -1
- package/_internal/Heading2.js +9 -4
- package/_internal/Heading2.js.map +1 -1
- package/_internal/Icon2.js +10 -5
- package/_internal/Icon2.js.map +1 -1
- package/_internal/IconButton.js +9 -4
- package/_internal/IconButton.js.map +1 -1
- package/_internal/IconButtonLink.js +1 -1
- package/_internal/Item2.js +16 -7
- package/_internal/Item2.js.map +1 -1
- package/_internal/Link2.js +9 -4
- package/_internal/Link2.js.map +1 -1
- package/_internal/LinkButton.js +2 -1
- package/_internal/LinkButton.js.map +1 -1
- package/_internal/Listbox2.js +14 -8
- package/_internal/Listbox2.js.map +1 -1
- package/_internal/Number2.js +10 -5
- package/_internal/Number2.js.map +1 -1
- package/_internal/NumberField.js +11 -6
- package/_internal/NumberField.js.map +1 -1
- package/_internal/Pill2.js +9 -4
- package/_internal/Pill2.js.map +1 -1
- package/_internal/ProgressBar.js +20 -11
- package/_internal/ProgressBar.js.map +1 -1
- package/_internal/Radio2.js +9 -4
- package/_internal/Radio2.js.map +1 -1
- package/_internal/RadioGroup.js +9 -4
- package/_internal/RadioGroup.js.map +1 -1
- package/_internal/Shield2.js +12 -7
- package/_internal/Shield2.js.map +1 -1
- package/_internal/SideNavigationMenu.js +1 -1
- package/_internal/Skeleton2.js +9 -4
- package/_internal/Skeleton2.js.map +1 -1
- package/_internal/SkeletonCircle.js +1 -1
- package/_internal/SkeletonText.js +1 -1
- package/_internal/Spinner2.js +9 -4
- package/_internal/Spinner2.js.map +1 -1
- package/_internal/Switch2.js +9 -4
- package/_internal/Switch2.js.map +1 -1
- package/_internal/SwitchGroup.js +9 -4
- package/_internal/SwitchGroup.js.map +1 -1
- package/_internal/Text2.js +13 -6
- package/_internal/Text2.js.map +1 -1
- package/_internal/TextArea.js +18 -12
- package/_internal/TextArea.js.map +1 -1
- package/_internal/TextField.js +12 -6
- package/_internal/TextField.js.map +1 -1
- package/_internal/_rollupPluginBabelHelpers.js +1 -1
- package/_internal/button.js +1 -1
- package/_internal/colors.js +1 -1
- package/_internal/icon-button.js +1 -1
- package/_internal/link.js +1 -1
- package/_internal/shared.js +1 -1
- package/_internal/styles.js +309 -217
- package/_internal/styles.js.map +1 -1
- package/_internal/styles2.js +202 -14
- package/_internal/styles2.js.map +1 -1
- package/_internal/styles3.js +30 -128
- package/_internal/styles3.js.map +1 -1
- package/_internal/styles4.js +129 -234
- package/_internal/styles4.js.map +1 -1
- package/_internal/styles5.js +227 -118
- package/_internal/styles5.js.map +1 -1
- package/_internal/styles6.js +128 -69
- package/_internal/styles6.js.map +1 -1
- package/_internal/styles7.js +84 -0
- package/_internal/styles7.js.map +1 -0
- package/_internal/text.js +1 -1
- package/_internal/types2.js.map +1 -1
- package/_internal/useFocusOnList.js +1 -1
- package/_internal/useFocusRing.js +1 -1
- package/_internal/useListboxItem.js.map +1 -1
- package/_internal/useLocalizedStringFormatter.js +1 -1
- package/_internal/useMessageFormatter.js +1 -1
- package/_internal/useNumberFormatter.js +1 -1
- package/index.d.ts +227 -136
- package/index.js +8 -164
- package/index.js.map +1 -1
- package/package.json +5 -6
package/_internal/Shield2.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shield2.js","sources":["../../src/components/shield/types.ts","../../src/components/shield/styles.ts","../../src/components/shield/Shield.tsx"],"sourcesContent":["import { ComponentProps } from 'react';\nimport { NotificationsColorPalette, ProductColorPalette, StylingProps, Theme, ValueOf } from '../../types';\n\n/**\n * Component variant.\n */\nexport const ShieldVariant = {\n success: 'success',\n successLocked: 'successLocked',\n successUnlocked: 'successUnlocked',\n fail: 'fail',\n failLocked: 'failLocked',\n failUnlocked: 'failUnlocked',\n warning: 'warning',\n warningLocked: 'warningLocked',\n warningUnlocked: 'warningUnlocked',\n ignored: 'ignored',\n noData: 'noData',\n question: 'question',\n email: 'email',\n} as const;\nexport type ShieldVariant = ValueOf<typeof ShieldVariant>;\n\n/**\n * Component props.\n */\nexport interface ShieldProps extends ComponentProps<'div'>, StylingProps {\n /** Indicates whether the element is exposed to an accessibility API. */\n 'aria-hidden'?: boolean | 'false' | 'true';\n /** A screen reader only label for the Icon. */\n 'aria-label'?: string;\n /** Additional properties to forward to the SVG tag. */\n svgProps?: ComponentProps<'svg'>;\n /** Whether the shield has an outline or not. */\n isOutlined?: boolean;\n /** Whether the shield has its colors reversed or not. */\n isReversed?: boolean;\n /** Theme. */\n theme?: Theme;\n /** Shield variant. */\n variant?: ShieldVariant;\n}\n\nexport type StyledShieldProps = Omit<ShieldProps, 'color'> & {\n $color?: NotificationsColorPalette | ProductColorPalette | (string & {});\n $isOutlined: ShieldProps['isOutlined'];\n $isReversed: ShieldProps['isReversed'];\n $theme: ShieldProps['theme'];\n $variant: ShieldProps['variant'];\n};\n","import styled, { css } from 'styled-components';\nimport { baseStyling } from '../shared';\nimport { StyledShieldProps } from './types';\n\nexport const StyledShield = styled.div<StyledShieldProps>`\n height: 24px;\n width: 20px;\n ${baseStyling}\n\n box-sizing: content-box;\n\n ${({ $color, $isOutlined, $isReversed, $theme }) => {\n if ($isReversed && $isOutlined) {\n return css`\n & .shield {\n fill: var(--redsift-color-notifications-${$color}-primary);\n stroke: var(--redsift-color-${$theme}-components-page-background);\n stroke-width: 2;\n }\n & .icon {\n fill-rule: evenodd;\n clip-rule: evenodd;\n fill: var(--redsift-color-${$theme}-components-page-background);\n }\n `;\n } else if ($isOutlined) {\n return css`\n & .shield {\n fill: var(--redsift-color-${$theme}-components-page-background);\n stroke: var(--redsift-color-notifications-${$color}-primary);\n stroke-width: 2;\n }\n & .icon {\n fill-rule: evenodd;\n clip-rule: evenodd;\n fill: var(--redsift-color-notifications-${$color}-primary);\n }\n `;\n } else if ($isReversed) {\n return css`\n & .shield {\n fill: var(--redsift-color-${$theme}-components-page-background);\n }\n & .icon {\n fill-rule: evenodd;\n clip-rule: evenodd;\n fill: var(--redsift-color-notifications-${$color}-primary);\n }\n `;\n } else {\n return css`\n & .shield {\n fill: var(--redsift-color-notifications-${$color}-primary);\n }\n & .icon {\n fill-rule: evenodd;\n clip-rule: evenodd;\n fill: var(--redsift-color-${$theme}-components-page-background);\n }\n `;\n }\n }}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { NotificationsColorPalette, Comp } from '../../types';\n\nimport { ShieldProps, ShieldVariant } from './types';\nimport { StyledShield } from './styles';\nimport { useTheme } from '../theme';\n\nconst COMPONENT_NAME = 'Shield';\nconst CLASSNAME = 'redsift-shield';\n\nconst getVariant = (variant: ShieldVariant) => {\n switch (variant) {\n case ShieldVariant.email:\n return {\n color: NotificationsColorPalette.info,\n icon: 'M14.7,6.3H5.3c-0.6,0-1.2,0.5-1.2,1.2l0,7c0,0.6,0.5,1.2,1.2,1.2h9.3c0.6,0,1.2-0.5,1.2-1.2v-7 C15.8,6.9,15.3,6.3,14.7,6.3z M14.7,14.5H5.3V8.7l4.7,2.9l4.7-2.9V14.5z M10,10.4L5.3,7.5h9.3L10,10.4z',\n };\n case ShieldVariant.fail:\n return {\n color: NotificationsColorPalette.error,\n icon: 'M9,15V5h2v10H9z M9,19v-2h2v2H9z',\n };\n case ShieldVariant.failLocked:\n return {\n color: NotificationsColorPalette.error,\n icon: 'M13.5,9.7h-0.6V8.5c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M10,14.9c-0.6,0-1.2-0.5-1.2-1.2 s0.5-1.2,1.2-1.2c0.6,0,1.2,0.5,1.2,1.2S10.6,14.9,10,14.9z M11.8,9.7H8.2V8.5c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8V9.7z',\n };\n case ShieldVariant.failUnlocked:\n return {\n color: NotificationsColorPalette.error,\n icon: 'M10,14.9c0.6,0,1.2-0.5,1.2-1.2s-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2S9.4,14.9,10,14.9z M13.5,9.7h-0.6V8.5 c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5h1.1c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M13.5,16.7h-7v-5.8h7V16.7z',\n };\n case ShieldVariant.ignored:\n return {\n color: NotificationsColorPalette['no-data'],\n icon: 'M10,6.2c-3.2,0-5.8,2.6-5.8,5.8c0,3.2,2.6,5.8,5.8,5.8s5.8-2.6,5.8-5.8C15.8,8.8,13.2,6.2,10,6.2z M5.3,12 c0-2.6,2.1-4.7,4.7-4.7c1.1,0,2.1,0.4,2.9,1l-6.5,6.5C5.7,14.1,5.3,13.1,5.3,12z M10,16.7c-1.1,0-2.1-0.4-2.9-1l6.5-6.5 c0.6,0.8,1,1.8,1,2.9C14.7,14.6,12.6,16.7,10,16.7z',\n };\n case ShieldVariant.noData:\n return {\n color: NotificationsColorPalette['no-data'],\n icon: 'M16,13H4v-2h12V13z',\n };\n case ShieldVariant.question:\n return {\n color: NotificationsColorPalette.question,\n icon: 'M9,17h2v-2H9V17z M10,5C7.8,5,6,6.8,6,9h2c0-1.1,0.9-2,2-2s2,0.9,2,2c0,2-3,1.8-3,5h2c0-2.2,3-2.5,3-5 C14,6.8,12.2,5,10,5z',\n };\n case ShieldVariant.success:\n return {\n color: NotificationsColorPalette.success,\n icon: 'M8,16.6l8.5-8.5l-1.4-1.4L8,13.7l-2.8-2.8l-1.4,1.4L8,16.6z',\n };\n case ShieldVariant.successLocked:\n return {\n color: NotificationsColorPalette.success,\n icon: 'M13.5,9.7h-0.6V8.5c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M10,14.9c-0.6,0-1.2-0.5-1.2-1.2 s0.5-1.2,1.2-1.2c0.6,0,1.2,0.5,1.2,1.2S10.6,14.9,10,14.9z M11.8,9.7H8.2V8.5c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8V9.7z',\n };\n case ShieldVariant.successUnlocked:\n return {\n color: NotificationsColorPalette.success,\n icon: 'M10,14.9c0.6,0,1.2-0.5,1.2-1.2s-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2S9.4,14.9,10,14.9z M13.5,9.7h-0.6V8.5 c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5h1.1c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M13.5,16.7h-7v-5.8h7V16.7z',\n };\n case ShieldVariant.warning:\n return {\n color: NotificationsColorPalette.warning,\n icon: 'M10,5c0.7,0,1.4,0.4,1.7,1l4,7c0.4,0.6,0.4,1.4,0,2c-0.4,0.6-1,1-1.7,1H6c-0.7,0-1.4-0.4-1.7-1 c-0.4-0.6-0.4-1.4,0-2l4-7C8.6,5.4,9.3,5,10,5z M10,7l-4,7h8L10,7z',\n };\n case ShieldVariant.warningLocked:\n return {\n color: NotificationsColorPalette.warning,\n icon: 'M13.5,9.7h-0.6V8.5c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M10,14.9c-0.6,0-1.2-0.5-1.2-1.2 s0.5-1.2,1.2-1.2c0.6,0,1.2,0.5,1.2,1.2S10.6,14.9,10,14.9z M11.8,9.7H8.2V8.5c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8V9.7z',\n };\n case ShieldVariant.warningUnlocked:\n return {\n color: NotificationsColorPalette.warning,\n icon: 'M10,14.9c0.6,0,1.2-0.5,1.2-1.2s-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2S9.4,14.9,10,14.9z M13.5,9.7h-0.6V8.5 c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5h1.1c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M13.5,16.7h-7v-5.8h7V16.7z',\n };\n }\n};\n\n/**\n * The Shield component.\n */\nexport const Shield: Comp<ShieldProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n 'aria-hidden': ariaHidden,\n 'aria-label': ariaLabel,\n className,\n svgProps,\n isOutlined,\n isReversed,\n theme: propsTheme,\n variant = ShieldVariant.success,\n ...forwardedProps\n } = props;\n\n const theme = useTheme(propsTheme);\n\n const { color, icon } = getVariant(variant!);\n\n return (\n <StyledShield\n {...forwardedProps}\n aria-hidden={ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true}\n aria-label={ariaLabel}\n className={classNames(Shield.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n $color={color}\n $isOutlined={isOutlined}\n $isReversed={isReversed}\n $theme={theme}\n $variant={variant}\n >\n <svg\n aria-hidden={ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true}\n aria-label={ariaLabel}\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n role=\"img\"\n style={{ verticalAlign: '-0.125em' }}\n viewBox=\"0 0 20 24\"\n width=\"20\"\n height=\"24\"\n {...svgProps}\n >\n <path\n d={\n isOutlined\n ? 'M1,10.9V5l9-3.9L19,5v5.9c0,5.5-3.9,10.7-9,12.1C4.9,21.6,1,16.4,1,10.9z'\n : 'M10,0L0,4.4v6.5C0,17,4.3,22.6,10,24c5.7-1.4,10-7,10-13.1V4.4L10,0z'\n }\n className=\"shield\"\n />\n <path d={icon} className=\"icon\" />\n </svg>\n </StyledShield>\n );\n});\nShield.className = CLASSNAME;\nShield.displayName = COMPONENT_NAME;\n"],"names":["ShieldVariant","success","successLocked","successUnlocked","fail","failLocked","failUnlocked","warning","warningLocked","warningUnlocked","ignored","noData","question","email","StyledShield","styled","div","baseStyling","_ref","$color","$isOutlined","$isReversed","$theme","css","COMPONENT_NAME","CLASSNAME","getVariant","variant","color","NotificationsColorPalette","info","icon","error","Shield","forwardRef","props","ref","ariaHidden","ariaLabel","className","svgProps","isOutlined","isReversed","theme","propsTheme","forwardedProps","_objectWithoutProperties","_excluded","useTheme","React","createElement","_extends","undefined","classNames","$variant","focusable","preserveAspectRatio","role","style","verticalAlign","viewBox","width","height","d","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Shield2.js","sources":["../../src/components/shield/types.ts","../../src/components/shield/styles.ts","../../src/components/shield/Shield.tsx"],"sourcesContent":["import { ComponentProps } from 'react';\nimport {\n NotificationsColorPalette,\n ProductColorPalette,\n StylingProps,\n StylingTransientProps,\n Theme,\n ValueOf,\n} from '../../types';\n\n/**\n * Component variant.\n */\nexport const ShieldVariant = {\n success: 'success',\n successLocked: 'successLocked',\n successUnlocked: 'successUnlocked',\n fail: 'fail',\n failLocked: 'failLocked',\n failUnlocked: 'failUnlocked',\n warning: 'warning',\n warningLocked: 'warningLocked',\n warningUnlocked: 'warningUnlocked',\n ignored: 'ignored',\n noData: 'noData',\n question: 'question',\n email: 'email',\n} as const;\nexport type ShieldVariant = ValueOf<typeof ShieldVariant>;\n\n/**\n * Component props.\n */\nexport interface ShieldProps extends ComponentProps<'div'>, StylingProps {\n /** Indicates whether the element is exposed to an accessibility API. */\n 'aria-hidden'?: boolean | 'false' | 'true';\n /** A screen reader only label for the Icon. */\n 'aria-label'?: string;\n /** Additional properties to forward to the SVG tag. */\n svgProps?: ComponentProps<'svg'>;\n /** Whether the shield has an outline or not. */\n isOutlined?: boolean;\n /** Whether the shield has its colors reversed or not. */\n isReversed?: boolean;\n /** Theme. */\n theme?: Theme;\n /** Shield variant. */\n variant?: ShieldVariant;\n}\n\nexport interface StyledShieldProps extends ComponentProps<'div'>, StylingTransientProps {\n $color?: NotificationsColorPalette | ProductColorPalette | (string & {});\n $isOutlined: ShieldProps['isOutlined'];\n $isReversed: ShieldProps['isReversed'];\n $theme: ShieldProps['theme'];\n $variant: ShieldProps['variant'];\n}\n","import styled, { css } from 'styled-components';\nimport { baseStyling } from '../shared';\nimport { StyledShieldProps } from './types';\n\nexport const StyledShield = styled.div<StyledShieldProps>`\n height: 24px;\n width: 20px;\n ${baseStyling}\n\n box-sizing: content-box;\n\n ${({ $color, $isOutlined, $isReversed, $theme }) => {\n if ($isReversed && $isOutlined) {\n return css`\n & .shield {\n fill: var(--redsift-color-notifications-${$color}-primary);\n stroke: var(--redsift-color-${$theme}-components-page-background);\n stroke-width: 2;\n }\n & .icon {\n fill-rule: evenodd;\n clip-rule: evenodd;\n fill: var(--redsift-color-${$theme}-components-page-background);\n }\n `;\n } else if ($isOutlined) {\n return css`\n & .shield {\n fill: var(--redsift-color-${$theme}-components-page-background);\n stroke: var(--redsift-color-notifications-${$color}-primary);\n stroke-width: 2;\n }\n & .icon {\n fill-rule: evenodd;\n clip-rule: evenodd;\n fill: var(--redsift-color-notifications-${$color}-primary);\n }\n `;\n } else if ($isReversed) {\n return css`\n & .shield {\n fill: var(--redsift-color-${$theme}-components-page-background);\n }\n & .icon {\n fill-rule: evenodd;\n clip-rule: evenodd;\n fill: var(--redsift-color-notifications-${$color}-primary);\n }\n `;\n } else {\n return css`\n & .shield {\n fill: var(--redsift-color-notifications-${$color}-primary);\n }\n & .icon {\n fill-rule: evenodd;\n clip-rule: evenodd;\n fill: var(--redsift-color-${$theme}-components-page-background);\n }\n `;\n }\n }}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { NotificationsColorPalette, Comp, getStylingTransientProps } from '../../types';\n\nimport { ShieldProps, ShieldVariant } from './types';\nimport { StyledShield } from './styles';\nimport { useTheme } from '../theme';\n\nconst COMPONENT_NAME = 'Shield';\nconst CLASSNAME = 'redsift-shield';\n\nconst getVariant = (variant: ShieldVariant) => {\n switch (variant) {\n case ShieldVariant.email:\n return {\n color: NotificationsColorPalette.info,\n icon: 'M14.7,6.3H5.3c-0.6,0-1.2,0.5-1.2,1.2l0,7c0,0.6,0.5,1.2,1.2,1.2h9.3c0.6,0,1.2-0.5,1.2-1.2v-7 C15.8,6.9,15.3,6.3,14.7,6.3z M14.7,14.5H5.3V8.7l4.7,2.9l4.7-2.9V14.5z M10,10.4L5.3,7.5h9.3L10,10.4z',\n };\n case ShieldVariant.fail:\n return {\n color: NotificationsColorPalette.error,\n icon: 'M9,15V5h2v10H9z M9,19v-2h2v2H9z',\n };\n case ShieldVariant.failLocked:\n return {\n color: NotificationsColorPalette.error,\n icon: 'M13.5,9.7h-0.6V8.5c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M10,14.9c-0.6,0-1.2-0.5-1.2-1.2 s0.5-1.2,1.2-1.2c0.6,0,1.2,0.5,1.2,1.2S10.6,14.9,10,14.9z M11.8,9.7H8.2V8.5c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8V9.7z',\n };\n case ShieldVariant.failUnlocked:\n return {\n color: NotificationsColorPalette.error,\n icon: 'M10,14.9c0.6,0,1.2-0.5,1.2-1.2s-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2S9.4,14.9,10,14.9z M13.5,9.7h-0.6V8.5 c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5h1.1c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M13.5,16.7h-7v-5.8h7V16.7z',\n };\n case ShieldVariant.ignored:\n return {\n color: NotificationsColorPalette['no-data'],\n icon: 'M10,6.2c-3.2,0-5.8,2.6-5.8,5.8c0,3.2,2.6,5.8,5.8,5.8s5.8-2.6,5.8-5.8C15.8,8.8,13.2,6.2,10,6.2z M5.3,12 c0-2.6,2.1-4.7,4.7-4.7c1.1,0,2.1,0.4,2.9,1l-6.5,6.5C5.7,14.1,5.3,13.1,5.3,12z M10,16.7c-1.1,0-2.1-0.4-2.9-1l6.5-6.5 c0.6,0.8,1,1.8,1,2.9C14.7,14.6,12.6,16.7,10,16.7z',\n };\n case ShieldVariant.noData:\n return {\n color: NotificationsColorPalette['no-data'],\n icon: 'M16,13H4v-2h12V13z',\n };\n case ShieldVariant.question:\n return {\n color: NotificationsColorPalette.question,\n icon: 'M9,17h2v-2H9V17z M10,5C7.8,5,6,6.8,6,9h2c0-1.1,0.9-2,2-2s2,0.9,2,2c0,2-3,1.8-3,5h2c0-2.2,3-2.5,3-5 C14,6.8,12.2,5,10,5z',\n };\n case ShieldVariant.success:\n return {\n color: NotificationsColorPalette.success,\n icon: 'M8,16.6l8.5-8.5l-1.4-1.4L8,13.7l-2.8-2.8l-1.4,1.4L8,16.6z',\n };\n case ShieldVariant.successLocked:\n return {\n color: NotificationsColorPalette.success,\n icon: 'M13.5,9.7h-0.6V8.5c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M10,14.9c-0.6,0-1.2-0.5-1.2-1.2 s0.5-1.2,1.2-1.2c0.6,0,1.2,0.5,1.2,1.2S10.6,14.9,10,14.9z M11.8,9.7H8.2V8.5c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8V9.7z',\n };\n case ShieldVariant.successUnlocked:\n return {\n color: NotificationsColorPalette.success,\n icon: 'M10,14.9c0.6,0,1.2-0.5,1.2-1.2s-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2S9.4,14.9,10,14.9z M13.5,9.7h-0.6V8.5 c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5h1.1c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M13.5,16.7h-7v-5.8h7V16.7z',\n };\n case ShieldVariant.warning:\n return {\n color: NotificationsColorPalette.warning,\n icon: 'M10,5c0.7,0,1.4,0.4,1.7,1l4,7c0.4,0.6,0.4,1.4,0,2c-0.4,0.6-1,1-1.7,1H6c-0.7,0-1.4-0.4-1.7-1 c-0.4-0.6-0.4-1.4,0-2l4-7C8.6,5.4,9.3,5,10,5z M10,7l-4,7h8L10,7z',\n };\n case ShieldVariant.warningLocked:\n return {\n color: NotificationsColorPalette.warning,\n icon: 'M13.5,9.7h-0.6V8.5c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M10,14.9c-0.6,0-1.2-0.5-1.2-1.2 s0.5-1.2,1.2-1.2c0.6,0,1.2,0.5,1.2,1.2S10.6,14.9,10,14.9z M11.8,9.7H8.2V8.5c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8V9.7z',\n };\n case ShieldVariant.warningUnlocked:\n return {\n color: NotificationsColorPalette.warning,\n icon: 'M10,14.9c0.6,0,1.2-0.5,1.2-1.2s-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2S9.4,14.9,10,14.9z M13.5,9.7h-0.6V8.5 c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5h1.1c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M13.5,16.7h-7v-5.8h7V16.7z',\n };\n }\n};\n\n/**\n * The Shield component.\n */\nexport const Shield: Comp<ShieldProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { transientProps, otherProps } = getStylingTransientProps(props);\n\n const {\n 'aria-hidden': ariaHidden,\n 'aria-label': ariaLabel,\n className,\n svgProps,\n isOutlined,\n isReversed,\n theme: propsTheme,\n variant: propsVariant = ShieldVariant.question,\n ...forwardedProps\n } = otherProps;\n\n const theme = useTheme(propsTheme);\n\n const { color, icon } = getVariant(propsVariant!);\n\n return (\n <StyledShield\n {...forwardedProps}\n {...transientProps}\n aria-hidden={ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true}\n aria-label={ariaLabel}\n className={classNames(Shield.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n $color={color}\n $isOutlined={isOutlined}\n $isReversed={isReversed}\n $theme={theme}\n $variant={propsVariant}\n >\n <svg\n aria-hidden={ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true}\n aria-label={ariaLabel}\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n role=\"img\"\n style={{ verticalAlign: '-0.125em' }}\n viewBox=\"0 0 20 24\"\n width=\"20\"\n height=\"24\"\n {...svgProps}\n >\n <path\n d={\n isOutlined\n ? 'M1,10.9V5l9-3.9L19,5v5.9c0,5.5-3.9,10.7-9,12.1C4.9,21.6,1,16.4,1,10.9z'\n : 'M10,0L0,4.4v6.5C0,17,4.3,22.6,10,24c5.7-1.4,10-7,10-13.1V4.4L10,0z'\n }\n className=\"shield\"\n />\n <path d={icon} className=\"icon\" />\n </svg>\n </StyledShield>\n );\n});\nShield.className = CLASSNAME;\nShield.displayName = COMPONENT_NAME;\n"],"names":["ShieldVariant","success","successLocked","successUnlocked","fail","failLocked","failUnlocked","warning","warningLocked","warningUnlocked","ignored","noData","question","email","StyledShield","styled","div","baseStyling","_ref","$color","$isOutlined","$isReversed","$theme","css","COMPONENT_NAME","CLASSNAME","getVariant","variant","color","NotificationsColorPalette","info","icon","error","Shield","forwardRef","props","ref","transientProps","otherProps","getStylingTransientProps","ariaHidden","ariaLabel","className","svgProps","isOutlined","isReversed","theme","propsTheme","propsVariant","forwardedProps","_objectWithoutProperties","_excluded","useTheme","React","createElement","_extends","undefined","classNames","$variant","focusable","preserveAspectRatio","role","style","verticalAlign","viewBox","width","height","d","displayName"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { a as _objectSpread2, b as _objectWithoutProperties, c as _extends } from './_rollupPluginBabelHelpers.js';
|
|
2
2
|
import React__default, { forwardRef, useRef, useContext, useState, useEffect, useReducer, useCallback, useMemo } from 'react';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import { mdiChevronDown } from '@redsift/icons';
|
package/_internal/Skeleton2.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { b as _objectWithoutProperties, c as _extends } from './_rollupPluginBabelHelpers.js';
|
|
2
2
|
import React__default, { forwardRef } from 'react';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
|
-
import { S as StyledSkeleton } from './
|
|
4
|
+
import { S as StyledSkeleton } from './styles7.js';
|
|
5
5
|
import { S as SkeletonCircle } from './SkeletonCircle.js';
|
|
6
6
|
import { S as SkeletonText } from './SkeletonText.js';
|
|
7
|
+
import { i as getContainerStylingTransientProps } from './styles.js';
|
|
7
8
|
import { u as useTheme } from './useTheme.js';
|
|
8
9
|
|
|
9
10
|
const _excluded = ["children", "className", "isLoaded", "theme"];
|
|
@@ -14,18 +15,22 @@ const CLASSNAME = 'redsift-skeleton';
|
|
|
14
15
|
* The Skeleton component.
|
|
15
16
|
*/
|
|
16
17
|
const BaseSkeleton = /*#__PURE__*/forwardRef((props, ref) => {
|
|
18
|
+
const {
|
|
19
|
+
transientProps,
|
|
20
|
+
otherProps
|
|
21
|
+
} = getContainerStylingTransientProps(props);
|
|
17
22
|
const {
|
|
18
23
|
children,
|
|
19
24
|
className,
|
|
20
25
|
isLoaded,
|
|
21
26
|
theme: propsTheme
|
|
22
|
-
} =
|
|
23
|
-
forwardedProps = _objectWithoutProperties(
|
|
27
|
+
} = otherProps,
|
|
28
|
+
forwardedProps = _objectWithoutProperties(otherProps, _excluded);
|
|
24
29
|
const theme = useTheme(propsTheme);
|
|
25
30
|
if (isLoaded) {
|
|
26
31
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, children);
|
|
27
32
|
}
|
|
28
|
-
return /*#__PURE__*/React__default.createElement(StyledSkeleton, _extends({}, forwardedProps, {
|
|
33
|
+
return /*#__PURE__*/React__default.createElement(StyledSkeleton, _extends({}, forwardedProps, transientProps, {
|
|
29
34
|
$theme: theme,
|
|
30
35
|
className: classNames(BaseSkeleton.className, className),
|
|
31
36
|
ref: ref
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Skeleton2.js","sources":["../../src/components/skeleton/Skeleton.tsx"],"sourcesContent":["import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\n\nimport { Comp } from '../../types';\nimport { StyledSkeleton } from './styles';\nimport { SkeletonProps } from './types';\nimport { SkeletonCircle } from '../skeleton-circle';\nimport { SkeletonText } from '../skeleton-text';\nimport { useTheme } from '../theme';\n\nconst COMPONENT_NAME = 'Skeleton';\nconst CLASSNAME = 'redsift-skeleton';\n\n/**\n * The Skeleton component.\n */\nexport const BaseSkeleton: Comp<SkeletonProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, isLoaded, theme: propsTheme, ...forwardedProps } =
|
|
1
|
+
{"version":3,"file":"Skeleton2.js","sources":["../../src/components/skeleton/Skeleton.tsx"],"sourcesContent":["import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\n\nimport { Comp, getContainerStylingTransientProps } from '../../types';\nimport { StyledSkeleton } from './styles';\nimport { SkeletonProps } from './types';\nimport { SkeletonCircle } from '../skeleton-circle';\nimport { SkeletonText } from '../skeleton-text';\nimport { useTheme } from '../theme';\n\nconst COMPONENT_NAME = 'Skeleton';\nconst CLASSNAME = 'redsift-skeleton';\n\n/**\n * The Skeleton component.\n */\nexport const BaseSkeleton: Comp<SkeletonProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { transientProps, otherProps } = getContainerStylingTransientProps(props);\n const { children, className, isLoaded, theme: propsTheme, ...forwardedProps } = otherProps;\n\n const theme = useTheme(propsTheme);\n\n if (isLoaded) {\n return <>{children}</>;\n }\n\n return (\n <StyledSkeleton\n {...forwardedProps}\n {...transientProps}\n $theme={theme}\n className={classNames(BaseSkeleton.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n >\n {typeof children === 'string' ? <span>{children}</span> : children}\n </StyledSkeleton>\n );\n});\nBaseSkeleton.className = CLASSNAME;\nBaseSkeleton.displayName = COMPONENT_NAME;\n\nexport const Skeleton = Object.assign(BaseSkeleton, {\n Circle: SkeletonCircle,\n Text: SkeletonText,\n});\n"],"names":["COMPONENT_NAME","CLASSNAME","BaseSkeleton","forwardRef","props","ref","transientProps","otherProps","getContainerStylingTransientProps","children","className","isLoaded","theme","propsTheme","forwardedProps","_objectWithoutProperties","_excluded","useTheme","React","createElement","Fragment","StyledSkeleton","_extends","$theme","classNames","displayName","Skeleton","Object","assign","Circle","SkeletonCircle","Text","SkeletonText"],"mappings":";;;;;;;;;;AAUA,MAAMA,cAAc,GAAG,UAAU,CAAA;AACjC,MAAMC,SAAS,GAAG,kBAAkB,CAAA;;AAEpC;AACA;AACA;AACO,MAAMC,YAAiD,gBAAGC,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;EAC1F,MAAM;IAAEC,cAAc;AAAEC,IAAAA,UAAAA;AAAW,GAAC,GAAGC,iCAAiC,CAACJ,KAAK,CAAC,CAAA;EAC/E,MAAM;MAAEK,QAAQ;MAAEC,SAAS;MAAEC,QAAQ;AAAEC,MAAAA,KAAK,EAAEC,UAAAA;AAA8B,KAAC,GAAGN,UAAU;AAA7BO,IAAAA,cAAc,GAAAC,wBAAA,CAAKR,UAAU,EAAAS,SAAA,CAAA,CAAA;AAE1F,EAAA,MAAMJ,KAAK,GAAGK,QAAQ,CAACJ,UAAU,CAAC,CAAA;AAElC,EAAA,IAAIF,QAAQ,EAAE;IACZ,oBAAOO,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAE,QAAA,EAAGX,IAAAA,EAAAA,QAAW,CAAC,CAAA;AACxB,GAAA;EAEA,oBACES,cAAA,CAAAC,aAAA,CAACE,cAAc,EAAAC,QAAA,CAAA,EAAA,EACTR,cAAc,EACdR,cAAc,EAAA;AAClBiB,IAAAA,MAAM,EAAEX,KAAM;IACdF,SAAS,EAAEc,UAAU,CAACtB,YAAY,CAACQ,SAAS,EAAEA,SAAS,CAAE;AACzDL,IAAAA,GAAG,EAAEA,GAAAA;AAAiC,GAAA,CAAA,EAErC,OAAOI,QAAQ,KAAK,QAAQ,gBAAGS,cAAA,CAAAC,aAAA,CAAOV,MAAAA,EAAAA,IAAAA,EAAAA,QAAe,CAAC,GAAGA,QAC5C,CAAC,CAAA;AAErB,CAAC,EAAC;AACFP,YAAY,CAACQ,SAAS,GAAGT,SAAS,CAAA;AAClCC,YAAY,CAACuB,WAAW,GAAGzB,cAAc,CAAA;AAElC,MAAM0B,QAAQ,GAAGC,MAAM,CAACC,MAAM,CAAC1B,YAAY,EAAE;AAClD2B,EAAAA,MAAM,EAAEC,cAAc;AACtBC,EAAAA,IAAI,EAAEC,YAAAA;AACR,CAAC;;;;"}
|
|
@@ -2,7 +2,7 @@ import { b as _objectWithoutProperties, c as _extends } from './_rollupPluginBab
|
|
|
2
2
|
import React__default, { forwardRef } from 'react';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import styled, { css } from 'styled-components';
|
|
5
|
-
import { S as StyledSkeleton } from './
|
|
5
|
+
import { S as StyledSkeleton } from './styles7.js';
|
|
6
6
|
import { u as useTheme } from './useTheme.js';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -2,7 +2,7 @@ import { b as _objectWithoutProperties, c as _extends } from './_rollupPluginBab
|
|
|
2
2
|
import React__default, { forwardRef } from 'react';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import styled, { css } from 'styled-components';
|
|
5
|
-
import { S as StyledSkeleton } from './
|
|
5
|
+
import { S as StyledSkeleton } from './styles7.js';
|
|
6
6
|
import { u as useTheme } from './useTheme.js';
|
|
7
7
|
|
|
8
8
|
/**
|
package/_internal/Spinner2.js
CHANGED
|
@@ -2,8 +2,9 @@ import { b as _objectWithoutProperties, c as _extends } from './_rollupPluginBab
|
|
|
2
2
|
import React__default, { forwardRef } from 'react';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import styled from 'styled-components';
|
|
5
|
-
import { i as baseStyling } from './
|
|
5
|
+
import { i as baseStyling } from './styles5.js';
|
|
6
6
|
import { u as useLocalizedStringFormatter } from './useLocalizedStringFormatter.js';
|
|
7
|
+
import { f as getStylingTransientProps } from './styles.js';
|
|
7
8
|
import { u as useTheme } from './useTheme.js';
|
|
8
9
|
|
|
9
10
|
var loading$1 = "Loading...";
|
|
@@ -84,6 +85,10 @@ const sizeToDimension = size => {
|
|
|
84
85
|
* The Spinner component.
|
|
85
86
|
*/
|
|
86
87
|
const Spinner = /*#__PURE__*/forwardRef((props, ref) => {
|
|
88
|
+
const {
|
|
89
|
+
transientProps,
|
|
90
|
+
otherProps
|
|
91
|
+
} = getStylingTransientProps(props);
|
|
87
92
|
const {
|
|
88
93
|
'aria-hidden': ariaHidden,
|
|
89
94
|
'aria-label': ariaLabel,
|
|
@@ -92,8 +97,8 @@ const Spinner = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
92
97
|
isColored = true,
|
|
93
98
|
size = SpinnerSize.medium,
|
|
94
99
|
theme: propsTheme
|
|
95
|
-
} =
|
|
96
|
-
forwardedProps = _objectWithoutProperties(
|
|
100
|
+
} = otherProps,
|
|
101
|
+
forwardedProps = _objectWithoutProperties(otherProps, _excluded);
|
|
97
102
|
const theme = useTheme(propsTheme);
|
|
98
103
|
const color = propsColor !== null && propsColor !== void 0 ? propsColor : isColored ? 'primary' : 'grey-l3';
|
|
99
104
|
const {
|
|
@@ -103,7 +108,7 @@ const Spinner = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
103
108
|
const stringFormatter = useLocalizedStringFormatter(intlMessages);
|
|
104
109
|
return /*#__PURE__*/React__default.createElement(StyledSpinner, _extends({
|
|
105
110
|
alt: stringFormatter.format('loading')
|
|
106
|
-
}, forwardedProps, {
|
|
111
|
+
}, forwardedProps, transientProps, {
|
|
107
112
|
"aria-hidden": ariaLabel ? ariaHidden ? ariaHidden : undefined : true,
|
|
108
113
|
"aria-label": ariaLabel,
|
|
109
114
|
className: classNames(Spinner.className, className),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner2.js","sources":["../../src/components/spinner/intl/index.ts","../../src/components/spinner/types.ts","../../src/components/spinner/styles.ts","../../src/components/spinner/Spinner.tsx"],"sourcesContent":["import enUS from './en-US.json';\nimport frFR from './fr-FR.json';\n\nexport default {\n 'en-US': enUS,\n 'fr-FR': frFR,\n};\n","import { ComponentProps } from 'react';\nimport { LayoutProps, PositioningProps, SpacingProps, Theme, ValueOf } from '../../types';\n\n/**\n * Component size.\n */\nexport const SpinnerSize = {\n xsmall: 'xsmall',\n small: 'small',\n medium: 'medium',\n large: 'large',\n} as const;\nexport type SpinnerSize = ValueOf<typeof SpinnerSize>;\n\n/**\n * Component props.\n */\nexport interface SpinnerProps\n extends Omit<ComponentProps<'img'>, 'color'>,\n LayoutProps,\n SpacingProps,\n PositioningProps {\n /** Indicates whether the element is exposed to an accessibility API. */\n 'aria-hidden'?: boolean | 'false' | 'true';\n /** A screen reader only label for the Spinner. */\n 'aria-label'?: string;\n /** Color variant. */\n color?: 'primary' | 'grey-l1' | 'grey-l2' | 'grey-l3';\n /** @deprecated: Whether the spinner is colored or not. */\n isColored?: boolean;\n /** Spinner size. */\n size?: SpinnerSize;\n /** Theme. */\n theme?: Theme;\n}\n\nexport
|
|
1
|
+
{"version":3,"file":"Spinner2.js","sources":["../../src/components/spinner/intl/index.ts","../../src/components/spinner/types.ts","../../src/components/spinner/styles.ts","../../src/components/spinner/Spinner.tsx"],"sourcesContent":["import enUS from './en-US.json';\nimport frFR from './fr-FR.json';\n\nexport default {\n 'en-US': enUS,\n 'fr-FR': frFR,\n};\n","import { ComponentProps } from 'react';\nimport { LayoutProps, PositioningProps, SpacingProps, StylingTransientProps, Theme, ValueOf } from '../../types';\n\n/**\n * Component size.\n */\nexport const SpinnerSize = {\n xsmall: 'xsmall',\n small: 'small',\n medium: 'medium',\n large: 'large',\n} as const;\nexport type SpinnerSize = ValueOf<typeof SpinnerSize>;\n\n/**\n * Component props.\n */\nexport interface SpinnerProps\n extends Omit<ComponentProps<'img'>, 'color'>,\n LayoutProps,\n SpacingProps,\n PositioningProps {\n /** Indicates whether the element is exposed to an accessibility API. */\n 'aria-hidden'?: boolean | 'false' | 'true';\n /** A screen reader only label for the Spinner. */\n 'aria-label'?: string;\n /** Color variant. */\n color?: 'primary' | 'grey-l1' | 'grey-l2' | 'grey-l3';\n /** @deprecated: Whether the spinner is colored or not. */\n isColored?: boolean;\n /** Spinner size. */\n size?: SpinnerSize;\n /** Theme. */\n theme?: Theme;\n}\n\nexport interface StyledSpinnerProps extends ComponentProps<'img'>, StylingTransientProps {\n $size?: SpinnerProps['size'];\n $theme?: SpinnerProps['theme'];\n}\n","import styled from 'styled-components';\nimport { baseStyling } from '../shared';\nimport { StyledSpinnerProps } from './types';\n\nexport const StyledSpinner = styled.img<StyledSpinnerProps>`\n ${baseStyling}\n\n display: inline;\n line-height: 0px;\n vertical-align: -0.125em;\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { Comp, getStylingTransientProps } from '../../types';\n\nimport { useLocalizedStringFormatter } from '../../react-aria/react-aria/i18n';\nimport intlMessages from './intl';\n\nimport { SpinnerProps, SpinnerSize } from './types';\nimport { StyledSpinner } from './styles';\n\nimport spinnerPrimaryN from './images/spinner-primary-n.svg';\nimport spinnerGreyL1 from './images/spinner-grey-l1.svg';\nimport spinnerGreyL2 from './images/spinner-grey-l2.svg';\nimport spinnerGreyL3 from './images/spinner-grey-l3.svg';\nimport { useTheme } from '../theme';\n\nconst COMPONENT_NAME = 'Spinner';\nconst CLASSNAME = 'redsift-shield';\n\nconst sizeToDimension = (size: SpinnerSize): { width: number; height: number } => {\n switch (size) {\n case SpinnerSize.xsmall:\n return { width: 15, height: 15 };\n case SpinnerSize.small:\n return { width: 24, height: 24 };\n case SpinnerSize.large:\n return { width: 56, height: 56 };\n case SpinnerSize.medium:\n default:\n return { width: 40, height: 40 };\n }\n};\n\n/**\n * The Spinner component.\n */\nexport const Spinner: Comp<SpinnerProps, HTMLImageElement> = forwardRef((props, ref) => {\n const { transientProps, otherProps } = getStylingTransientProps(props);\n\n const {\n 'aria-hidden': ariaHidden,\n 'aria-label': ariaLabel,\n className,\n color: propsColor,\n isColored = true,\n size = SpinnerSize.medium,\n theme: propsTheme,\n ...forwardedProps\n } = otherProps;\n\n const theme = useTheme(propsTheme);\n\n const color = propsColor ?? (isColored ? 'primary' : 'grey-l3');\n\n const { width, height } = sizeToDimension(size!);\n\n const stringFormatter = useLocalizedStringFormatter(intlMessages);\n\n return (\n <StyledSpinner\n alt={stringFormatter.format('loading')}\n {...forwardedProps}\n {...transientProps}\n aria-hidden={ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true}\n aria-label={ariaLabel}\n className={classNames(Spinner.className, className)}\n height={height}\n ref={ref as RefObject<HTMLImageElement>}\n src={\n color === 'primary'\n ? spinnerPrimaryN\n : color === 'grey-l1'\n ? spinnerGreyL1\n : color === 'grey-l2'\n ? spinnerGreyL2\n : spinnerGreyL3\n }\n width={width}\n $size={size}\n $theme={theme}\n />\n );\n});\nSpinner.className = CLASSNAME;\nSpinner.displayName = COMPONENT_NAME;\n"],"names":["enUS","frFR","SpinnerSize","xsmall","small","medium","large","StyledSpinner","styled","img","baseStyling","COMPONENT_NAME","CLASSNAME","sizeToDimension","size","width","height","Spinner","forwardRef","props","ref","transientProps","otherProps","getStylingTransientProps","ariaHidden","ariaLabel","className","color","propsColor","isColored","theme","propsTheme","forwardedProps","_objectWithoutProperties","_excluded","useTheme","stringFormatter","useLocalizedStringFormatter","intlMessages","React","createElement","_extends","alt","format","undefined","classNames","src","spinnerPrimaryN","spinnerGreyL1","spinnerGreyL2","spinnerGreyL3","$size","$theme","displayName"],"mappings":"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"}
|
package/_internal/Switch2.js
CHANGED
|
@@ -4,8 +4,9 @@ import classNames from 'classnames';
|
|
|
4
4
|
import { S as SwitchGroupContext } from './context5.js';
|
|
5
5
|
import { w as warnIfNoAccessibleLabelFound } from './warnIfNoAccessibleLabelFound.js';
|
|
6
6
|
import styled, { css } from 'styled-components';
|
|
7
|
-
import { i as baseStyling } from './
|
|
7
|
+
import { i as baseStyling } from './styles5.js';
|
|
8
8
|
import { u as useFocusRing } from './useFocusRing.js';
|
|
9
|
+
import { f as getStylingTransientProps } from './styles.js';
|
|
9
10
|
import { u as useTheme } from './useTheme.js';
|
|
10
11
|
|
|
11
12
|
/**
|
|
@@ -202,6 +203,10 @@ const CLASSNAME = 'redsift-switch';
|
|
|
202
203
|
const Switch = /*#__PURE__*/forwardRef((props, ref) => {
|
|
203
204
|
var _isDisabled, _isReadOnly, _ref;
|
|
204
205
|
const groupState = useContext(SwitchGroupContext);
|
|
206
|
+
const {
|
|
207
|
+
transientProps,
|
|
208
|
+
otherProps
|
|
209
|
+
} = getStylingTransientProps(props);
|
|
205
210
|
let {
|
|
206
211
|
'aria-label': ariaLabel,
|
|
207
212
|
'aria-labelledby': ariaLabelledby,
|
|
@@ -221,8 +226,8 @@ const Switch = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
221
226
|
onChange,
|
|
222
227
|
theme: propsTheme,
|
|
223
228
|
value
|
|
224
|
-
} =
|
|
225
|
-
forwardedProps = _objectWithoutProperties(
|
|
229
|
+
} = otherProps,
|
|
230
|
+
forwardedProps = _objectWithoutProperties(otherProps, _excluded);
|
|
226
231
|
const theme = useTheme(propsTheme);
|
|
227
232
|
const {
|
|
228
233
|
isFocusVisible,
|
|
@@ -272,7 +277,7 @@ const Switch = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
272
277
|
onChange === null || onChange === void 0 ? void 0 : onChange(!isSelected, value, name, event, groupState);
|
|
273
278
|
}
|
|
274
279
|
}, [onChange, groupState, isSelected, propsIsSelected]);
|
|
275
|
-
return /*#__PURE__*/React__default.createElement(StyledSwitch, _extends({}, forwardedProps, {
|
|
280
|
+
return /*#__PURE__*/React__default.createElement(StyledSwitch, _extends({}, forwardedProps, transientProps, {
|
|
276
281
|
$isColored: isColored,
|
|
277
282
|
$isDisabled: isDisabled,
|
|
278
283
|
$isFocusVisible: isFocusVisible,
|
package/_internal/Switch2.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch2.js","sources":["../../src/components/switch/styles.ts","../../src/components/switch/Switch.tsx"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { baseStyling } from '../shared';\nimport { StyledSwitchProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledSwitch = styled.label<StyledSwitchProps>`\n height: fit-content;\n position: relative;\n width: fit-content;\n ${baseStyling}\n\n align-items: center;\n background: none;\n border: none;\n display: inline-flex;\n margin: 4px;\n\n input {\n height: 100%;\n margin: 0;\n opacity: 0;\n overflow: visible;\n padding: 0;\n position: absolute;\n width: 100%;\n }\n\n span.label {\n ${({ $isDisabled, $isInvalid, $theme }) =>\n $isDisabled\n ? css`\n color: var(--redsift-color-${$theme}-components-switch-text-disabled);\n `\n : $isInvalid\n ? css`\n color: var(--redsift-color-${$theme}-components-switch-text-invalid);\n `\n : css`\n color: var(--redsift-color-${$theme}-components-switch-text-default);\n `}\n\n font-family: var(--redsift-typography-body-font-family);\n font-size: var(--redsift-typography-body-font-size);\n font-weight: var(--redsift-typography-body-font-weight);\n line-height: var(--redsift-typography-body-line-height);\n padding-inline-start: 12px;\n padding-inline-end: 24px;\n }\n\n .redsift-switch__slide {\n height: 20px;\n position: relative;\n min-width: 40px;\n }\n\n .redsift-switch-slide__inner {\n ${({ $isColored, $isDisabled, $isInvalid, $isSelected, $theme }) =>\n $isDisabled\n ? css`\n background-color: var(\n --redsift-color-${$theme}-components-switch-background-disabled${$isSelected ? '-active' : ''}\n );\n `\n : $isInvalid\n ? css`\n background-color: var(\n --redsift-color-${$theme}-components-switch-background-invalid${$isSelected ? '-active' : ''}\n );\n `\n : css`\n background-color: ${$isColored\n ? `var(--redsift-color-${$theme}-components-switch-background-default${$isSelected ? '-active' : ''})`\n : `var(--redsift-color-${$theme}-components-switch-background-uncolored${$isSelected ? '-active' : ''})`};\n `}\n border-radius: 20px;\n height: 24px;\n position: absolute;\n top: calc(50% - 24px / 2);\n width: 46px;\n z-index: 2;\n }\n\n .redsift-switch-slide__knob-wrapper {\n border-radius: 50%;\n height: 20px;\n margin-inline-start: ${({ $isSelected }) => (!$isSelected ? '2px' : '24px')};\n position: absolute;\n top: -6px;\n width: 20px;\n }\n\n .redsift-switch-slide-knob-wrapper__elevation {\n ${({ $isDisabled, $isInvalid, $theme }) =>\n $isDisabled\n ? css`\n background-color: var(--redsift-color-${$theme}-components-switch-dot-disabled-hover);\n `\n : $isInvalid\n ? css`\n background-color: var(--redsift-color-${$theme}-components-switch-dot-invalid-hover);\n `\n : css`\n background-color: var(--redsift-color-${$theme}-components-switch-dot-default-hover);\n `}\n\n border-radius: 50%;\n height: 32px;\n margin-inline-start: ${({ $isSelected }) => (!$isSelected ? '-6px' : '-6px')};\n opacity: 0;\n position: absolute;\n width: 32px;\n z-index: 3;\n }\n\n .redsift-switch-slide-knob-wrapper__knob {\n ${({ $isDisabled, $isInvalid, $theme }) =>\n $isDisabled\n ? css`\n background-color: var(--redsift-color-${$theme}-components-switch-dot-disabled);\n `\n : $isInvalid\n ? css`\n background-color: var(--redsift-color-${$theme}-components-switch-dot-invalid);\n `\n : css`\n background-color: var(--redsift-color-${$theme}-components-switch-dot-default);\n `}\n border-radius: 50%;\n box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px rgba(0, 0, 0, 0.14), 0px 1px 3px rgba(0, 0, 0, 0.12);\n height: 20px;\n position: absolute;\n top: 6px;\n width: 20px;\n z-index: 4;\n }\n\n &:hover,\n &:focus-visible {\n outline: none;\n cursor: pointer;\n\n ${({ $isDisabled }) =>\n !$isDisabled\n ? css`\n .redsift-switch-slide-knob-wrapper__elevation {\n opacity: 0.5;\n }\n `\n : ''}\n }\n\n ${({ $isDisabled, $isFocusVisible }) =>\n $isFocusVisible && !$isDisabled\n ? css`\n .redsift-switch-slide-knob-wrapper__elevation {\n opacity: 0.5;\n }\n `\n : ''}\n`;\n","import React, {\n ComponentProps,\n forwardRef,\n MutableRefObject,\n useCallback,\n useContext,\n useEffect,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport { useFocusRing } from '../../react-aria/react-aria/focus';\nimport { Comp } from '../../types';\nimport { SwitchGroupContext } from '../switch-group/context';\nimport { warnIfNoAccessibleLabelFound } from '../../utils/warnIfNoAccessibleLabelFound';\nimport { SwitchProps } from './types';\nimport { StyledSwitch } from './styles';\nimport { useTheme } from '../theme';\n\nconst COMPONENT_NAME = 'Switch';\nconst CLASSNAME = 'redsift-switch';\n\n/**\n * The Switch component.\n * Works both inside a SwitchGroup or as standalone.\n * Can be used as controlled or uncontrolled.\n */\nexport const Switch: Comp<SwitchProps, HTMLLabelElement> = forwardRef((props, ref) => {\n const groupState = useContext(SwitchGroupContext);\n\n let {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n autoFocus,\n children,\n className,\n defaultSelected,\n inputProps,\n inputRef,\n isColored = true,\n isDisabled,\n isInvalid,\n isReadOnly,\n isRequired,\n isSelected: propsIsSelected,\n name,\n onChange,\n theme: propsTheme,\n value,\n ...forwardedProps\n } = props;\n\n const theme = useTheme(propsTheme);\n\n const { isFocusVisible, focusProps } = useFocusRing({ autoFocus });\n isDisabled = isDisabled ?? groupState?.isDisabled;\n isReadOnly = isReadOnly ?? groupState?.isReadOnly;\n\n const [isSelected, setSelected] = useState(\n Boolean(propsIsSelected ?? defaultSelected ?? groupState?.value.includes(value as string))\n );\n const isControlled = propsIsSelected !== null && propsIsSelected !== undefined;\n\n useEffect(() => {\n setSelected(Boolean(propsIsSelected ?? defaultSelected));\n }, [propsIsSelected, defaultSelected]);\n\n useEffect(() => {\n if (groupState) {\n setSelected(groupState.value.includes(value as string));\n }\n }, [groupState?.value]);\n\n warnIfNoAccessibleLabelFound(props as ComponentProps<'label'>, [children], 'Switch');\n\n if (groupState) {\n if (propsIsSelected != null) {\n console.warn(\n 'isSelected is unsupported on individual <Switch> elements within a <SwitchGroup> unless the <Switch> is controlled. Please apply this prop to the group instead.'\n );\n }\n if (defaultSelected != null) {\n console.warn(\n 'defaultSelected is unsupported on individual <Switch> elements within a <SwitchGroup> unless the <Switch> is controlled. Please apply this prop to the group instead.'\n );\n }\n if (props.value == null) {\n console.warn(\n 'A <Switch> element within a <SwitchGroup> requires a `value` property unless the <Switch> is controlled.'\n );\n }\n }\n\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n if (isDisabled || isReadOnly) {\n return;\n }\n\n if (groupState) {\n if (!groupState.value.includes(value as string)) {\n groupState.addValue(value as string);\n } else {\n groupState.removeValue(value as string);\n }\n }\n\n if (isControlled) {\n onChange?.(!propsIsSelected, value, name, event, groupState!);\n } else {\n setSelected(!isSelected);\n onChange?.(!isSelected, value, name, event, groupState!);\n }\n },\n [onChange, groupState, isSelected, propsIsSelected]\n );\n\n return (\n <StyledSwitch\n {...forwardedProps}\n $isColored={isColored}\n $isDisabled={isDisabled}\n $isFocusVisible={isFocusVisible}\n $isInvalid={isInvalid || (isRequired && !(isSelected || (isControlled && propsIsSelected)))}\n $isRequired={isRequired}\n $isSelected={isSelected || (isControlled && propsIsSelected)}\n $theme={theme}\n className={classNames(Switch.className, className)}\n ref={ref as MutableRefObject<HTMLLabelElement>}\n >\n <div className={`${Switch.className}__slide`}>\n <div className={`${Switch.className}-slide__inner`} />\n <div className={`${Switch.className}-slide__knob-wrapper`}>\n <div className={`${Switch.className}-slide-knob-wrapper__elevation`} />\n <div className={`${Switch.className}-slide-knob-wrapper__knob`} />\n </div>\n </div>\n {children ? <span className=\"label\">{children}</span> : null}\n <input\n {...inputProps}\n {...focusProps}\n aria-checked={isSelected || (isControlled && propsIsSelected) ? 'true' : 'false'}\n aria-disabled={isDisabled}\n aria-invalid={isInvalid || (isRequired && !(isSelected || (isControlled && propsIsSelected)))}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-readonly={isReadOnly}\n aria-required={isRequired}\n autoFocus={autoFocus}\n checked={isSelected || (isControlled && propsIsSelected) ? true : false}\n disabled={isDisabled}\n name={name}\n onChange={handleChange}\n ref={inputRef as MutableRefObject<HTMLInputElement>}\n role=\"switch\"\n type=\"checkbox\"\n value={value}\n />\n </StyledSwitch>\n );\n});\nSwitch.className = CLASSNAME;\nSwitch.displayName = COMPONENT_NAME;\n"],"names":["StyledSwitch","styled","label","baseStyling","_ref","$isDisabled","$isInvalid","$theme","css","_ref2","$isColored","$isSelected","_ref3","_ref4","_ref5","_ref6","_ref7","_ref8","$isFocusVisible","COMPONENT_NAME","CLASSNAME","Switch","forwardRef","props","ref","_isDisabled","_isReadOnly","groupState","useContext","SwitchGroupContext","ariaLabel","ariaLabelledby","autoFocus","children","className","defaultSelected","inputProps","inputRef","isColored","isDisabled","isInvalid","isReadOnly","isRequired","isSelected","propsIsSelected","name","onChange","theme","propsTheme","value","forwardedProps","_objectWithoutProperties","_excluded","useTheme","isFocusVisible","focusProps","useFocusRing","setSelected","useState","Boolean","includes","isControlled","undefined","useEffect","warnIfNoAccessibleLabelFound","console","warn","handleChange","useCallback","event","addValue","removeValue","React","createElement","_extends","$isRequired","classNames","checked","disabled","role","type","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Switch2.js","sources":["../../src/components/switch/styles.ts","../../src/components/switch/Switch.tsx"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { baseStyling } from '../shared';\nimport { StyledSwitchProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledSwitch = styled.label<StyledSwitchProps>`\n height: fit-content;\n position: relative;\n width: fit-content;\n ${baseStyling}\n\n align-items: center;\n background: none;\n border: none;\n display: inline-flex;\n margin: 4px;\n\n input {\n height: 100%;\n margin: 0;\n opacity: 0;\n overflow: visible;\n padding: 0;\n position: absolute;\n width: 100%;\n }\n\n span.label {\n ${({ $isDisabled, $isInvalid, $theme }) =>\n $isDisabled\n ? css`\n color: var(--redsift-color-${$theme}-components-switch-text-disabled);\n `\n : $isInvalid\n ? css`\n color: var(--redsift-color-${$theme}-components-switch-text-invalid);\n `\n : css`\n color: var(--redsift-color-${$theme}-components-switch-text-default);\n `}\n\n font-family: var(--redsift-typography-body-font-family);\n font-size: var(--redsift-typography-body-font-size);\n font-weight: var(--redsift-typography-body-font-weight);\n line-height: var(--redsift-typography-body-line-height);\n padding-inline-start: 12px;\n padding-inline-end: 24px;\n }\n\n .redsift-switch__slide {\n height: 20px;\n position: relative;\n min-width: 40px;\n }\n\n .redsift-switch-slide__inner {\n ${({ $isColored, $isDisabled, $isInvalid, $isSelected, $theme }) =>\n $isDisabled\n ? css`\n background-color: var(\n --redsift-color-${$theme}-components-switch-background-disabled${$isSelected ? '-active' : ''}\n );\n `\n : $isInvalid\n ? css`\n background-color: var(\n --redsift-color-${$theme}-components-switch-background-invalid${$isSelected ? '-active' : ''}\n );\n `\n : css`\n background-color: ${$isColored\n ? `var(--redsift-color-${$theme}-components-switch-background-default${$isSelected ? '-active' : ''})`\n : `var(--redsift-color-${$theme}-components-switch-background-uncolored${$isSelected ? '-active' : ''})`};\n `}\n border-radius: 20px;\n height: 24px;\n position: absolute;\n top: calc(50% - 24px / 2);\n width: 46px;\n z-index: 2;\n }\n\n .redsift-switch-slide__knob-wrapper {\n border-radius: 50%;\n height: 20px;\n margin-inline-start: ${({ $isSelected }) => (!$isSelected ? '2px' : '24px')};\n position: absolute;\n top: -6px;\n width: 20px;\n }\n\n .redsift-switch-slide-knob-wrapper__elevation {\n ${({ $isDisabled, $isInvalid, $theme }) =>\n $isDisabled\n ? css`\n background-color: var(--redsift-color-${$theme}-components-switch-dot-disabled-hover);\n `\n : $isInvalid\n ? css`\n background-color: var(--redsift-color-${$theme}-components-switch-dot-invalid-hover);\n `\n : css`\n background-color: var(--redsift-color-${$theme}-components-switch-dot-default-hover);\n `}\n\n border-radius: 50%;\n height: 32px;\n margin-inline-start: ${({ $isSelected }) => (!$isSelected ? '-6px' : '-6px')};\n opacity: 0;\n position: absolute;\n width: 32px;\n z-index: 3;\n }\n\n .redsift-switch-slide-knob-wrapper__knob {\n ${({ $isDisabled, $isInvalid, $theme }) =>\n $isDisabled\n ? css`\n background-color: var(--redsift-color-${$theme}-components-switch-dot-disabled);\n `\n : $isInvalid\n ? css`\n background-color: var(--redsift-color-${$theme}-components-switch-dot-invalid);\n `\n : css`\n background-color: var(--redsift-color-${$theme}-components-switch-dot-default);\n `}\n border-radius: 50%;\n box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px rgba(0, 0, 0, 0.14), 0px 1px 3px rgba(0, 0, 0, 0.12);\n height: 20px;\n position: absolute;\n top: 6px;\n width: 20px;\n z-index: 4;\n }\n\n &:hover,\n &:focus-visible {\n outline: none;\n cursor: pointer;\n\n ${({ $isDisabled }) =>\n !$isDisabled\n ? css`\n .redsift-switch-slide-knob-wrapper__elevation {\n opacity: 0.5;\n }\n `\n : ''}\n }\n\n ${({ $isDisabled, $isFocusVisible }) =>\n $isFocusVisible && !$isDisabled\n ? css`\n .redsift-switch-slide-knob-wrapper__elevation {\n opacity: 0.5;\n }\n `\n : ''}\n`;\n","import React, {\n ComponentProps,\n forwardRef,\n MutableRefObject,\n useCallback,\n useContext,\n useEffect,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport { useFocusRing } from '../../react-aria/react-aria/focus';\nimport { Comp, getStylingTransientProps } from '../../types';\nimport { SwitchGroupContext } from '../switch-group/context';\nimport { warnIfNoAccessibleLabelFound } from '../../utils/warnIfNoAccessibleLabelFound';\nimport { SwitchProps } from './types';\nimport { StyledSwitch } from './styles';\nimport { useTheme } from '../theme';\n\nconst COMPONENT_NAME = 'Switch';\nconst CLASSNAME = 'redsift-switch';\n\n/**\n * The Switch component.\n * Works both inside a SwitchGroup or as standalone.\n * Can be used as controlled or uncontrolled.\n */\nexport const Switch: Comp<SwitchProps, HTMLLabelElement> = forwardRef((props, ref) => {\n const groupState = useContext(SwitchGroupContext);\n\n const { transientProps, otherProps } = getStylingTransientProps(props);\n\n let {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n autoFocus,\n children,\n className,\n defaultSelected,\n inputProps,\n inputRef,\n isColored = true,\n isDisabled,\n isInvalid,\n isReadOnly,\n isRequired,\n isSelected: propsIsSelected,\n name,\n onChange,\n theme: propsTheme,\n value,\n ...forwardedProps\n } = otherProps;\n\n const theme = useTheme(propsTheme);\n\n const { isFocusVisible, focusProps } = useFocusRing({ autoFocus });\n isDisabled = isDisabled ?? groupState?.isDisabled;\n isReadOnly = isReadOnly ?? groupState?.isReadOnly;\n\n const [isSelected, setSelected] = useState(\n Boolean(propsIsSelected ?? defaultSelected ?? groupState?.value.includes(value as string))\n );\n const isControlled = propsIsSelected !== null && propsIsSelected !== undefined;\n\n useEffect(() => {\n setSelected(Boolean(propsIsSelected ?? defaultSelected));\n }, [propsIsSelected, defaultSelected]);\n\n useEffect(() => {\n if (groupState) {\n setSelected(groupState.value.includes(value as string));\n }\n }, [groupState?.value]);\n\n warnIfNoAccessibleLabelFound(props as ComponentProps<'label'>, [children], 'Switch');\n\n if (groupState) {\n if (propsIsSelected != null) {\n console.warn(\n 'isSelected is unsupported on individual <Switch> elements within a <SwitchGroup> unless the <Switch> is controlled. Please apply this prop to the group instead.'\n );\n }\n if (defaultSelected != null) {\n console.warn(\n 'defaultSelected is unsupported on individual <Switch> elements within a <SwitchGroup> unless the <Switch> is controlled. Please apply this prop to the group instead.'\n );\n }\n if (props.value == null) {\n console.warn(\n 'A <Switch> element within a <SwitchGroup> requires a `value` property unless the <Switch> is controlled.'\n );\n }\n }\n\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n if (isDisabled || isReadOnly) {\n return;\n }\n\n if (groupState) {\n if (!groupState.value.includes(value as string)) {\n groupState.addValue(value as string);\n } else {\n groupState.removeValue(value as string);\n }\n }\n\n if (isControlled) {\n onChange?.(!propsIsSelected, value, name, event, groupState!);\n } else {\n setSelected(!isSelected);\n onChange?.(!isSelected, value, name, event, groupState!);\n }\n },\n [onChange, groupState, isSelected, propsIsSelected]\n );\n\n return (\n <StyledSwitch\n {...forwardedProps}\n {...transientProps}\n $isColored={isColored}\n $isDisabled={isDisabled}\n $isFocusVisible={isFocusVisible}\n $isInvalid={isInvalid || (isRequired && !(isSelected || (isControlled && propsIsSelected)))}\n $isRequired={isRequired}\n $isSelected={isSelected || (isControlled && propsIsSelected)}\n $theme={theme}\n className={classNames(Switch.className, className)}\n ref={ref as MutableRefObject<HTMLLabelElement>}\n >\n <div className={`${Switch.className}__slide`}>\n <div className={`${Switch.className}-slide__inner`} />\n <div className={`${Switch.className}-slide__knob-wrapper`}>\n <div className={`${Switch.className}-slide-knob-wrapper__elevation`} />\n <div className={`${Switch.className}-slide-knob-wrapper__knob`} />\n </div>\n </div>\n {children ? <span className=\"label\">{children}</span> : null}\n <input\n {...inputProps}\n {...focusProps}\n aria-checked={isSelected || (isControlled && propsIsSelected) ? 'true' : 'false'}\n aria-disabled={isDisabled}\n aria-invalid={isInvalid || (isRequired && !(isSelected || (isControlled && propsIsSelected)))}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-readonly={isReadOnly}\n aria-required={isRequired}\n autoFocus={autoFocus}\n checked={isSelected || (isControlled && propsIsSelected) ? true : false}\n disabled={isDisabled}\n name={name}\n onChange={handleChange}\n ref={inputRef as MutableRefObject<HTMLInputElement>}\n role=\"switch\"\n type=\"checkbox\"\n value={value}\n />\n </StyledSwitch>\n );\n});\nSwitch.className = CLASSNAME;\nSwitch.displayName = COMPONENT_NAME;\n"],"names":["StyledSwitch","styled","label","baseStyling","_ref","$isDisabled","$isInvalid","$theme","css","_ref2","$isColored","$isSelected","_ref3","_ref4","_ref5","_ref6","_ref7","_ref8","$isFocusVisible","COMPONENT_NAME","CLASSNAME","Switch","forwardRef","props","ref","_isDisabled","_isReadOnly","groupState","useContext","SwitchGroupContext","transientProps","otherProps","getStylingTransientProps","ariaLabel","ariaLabelledby","autoFocus","children","className","defaultSelected","inputProps","inputRef","isColored","isDisabled","isInvalid","isReadOnly","isRequired","isSelected","propsIsSelected","name","onChange","theme","propsTheme","value","forwardedProps","_objectWithoutProperties","_excluded","useTheme","isFocusVisible","focusProps","useFocusRing","setSelected","useState","Boolean","includes","isControlled","undefined","useEffect","warnIfNoAccessibleLabelFound","console","warn","handleChange","useCallback","event","addValue","removeValue","React","createElement","_extends","$isRequired","classNames","checked","disabled","role","type","displayName"],"mappings":";;;;;;;;;;;AAIA;AACA;AACA;AACO,MAAMA,YAAY,GAAGC,MAAM,CAACC,KAAyB,CAAA;AAC5D;AACA;AACA;AACA,EAAA,EAAIC,WAAY,CAAA;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAA,EAAMC,IAAA,IAAA;EAAA,IAAC;IAAEC,WAAW;IAAEC,UAAU;AAAEC,IAAAA,MAAAA;AAAO,GAAC,GAAAH,IAAA,CAAA;EAAA,OACpCC,WAAW,GACPG,GAAI,CAAA;AACd,uCAAA,EAAyCD,MAAO,CAAA;AAChD,UAAW,CAAA,GACDD,UAAU,GACVE,GAAI,CAAA;AACd,uCAAA,EAAyCD,MAAO,CAAA;AAChD,UAAA,CAAW,GACDC,GAAI,CAAA;AACd,uCAAA,EAAyCD,MAAO,CAAA;AAChD,UAAW,CAAA,CAAA;AAAA,CAAC,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAA,EAAME,KAAA,IAAA;EAAA,IAAC;IAAEC,UAAU;IAAEL,WAAW;IAAEC,UAAU;IAAEK,WAAW;AAAEJ,IAAAA,MAAAA;AAAO,GAAC,GAAAE,KAAA,CAAA;EAAA,OAC7DJ,WAAW,GACPG,GAAI,CAAA;AACd;AACA,8BAAA,EAAgCD,MAAO,CAAwCI,sCAAAA,EAAAA,WAAW,GAAG,SAAS,GAAG,EAAG,CAAA;AAC5G;AACA,UAAW,CAAA,GACDL,UAAU,GACVE,GAAI,CAAA;AACd;AACA,8BAAA,EAAgCD,MAAO,CAAuCI,qCAAAA,EAAAA,WAAW,GAAG,SAAS,GAAG,EAAG,CAAA;AAC3G;AACA,UAAA,CAAW,GACDH,GAAI,CAAA;AACd,8BAAgCE,EAAAA,UAAU,GACzB,CAAsBH,oBAAAA,EAAAA,MAAO,wCAAuCI,WAAW,GAAG,SAAS,GAAG,EAAG,GAAE,GACnG,CAAA,oBAAA,EAAsBJ,MAAO,CAAyCI,uCAAAA,EAAAA,WAAW,GAAG,SAAS,GAAG,EAAG,CAAG,CAAA,CAAA,CAAA;AACvH,UAAW,CAAA,CAAA;AAAA,CAAC,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAA,EAA2BC,KAAA,IAAA;EAAA,IAAC;AAAED,IAAAA,WAAAA;AAAY,GAAC,GAAAC,KAAA,CAAA;AAAA,EAAA,OAAM,CAACD,WAAW,GAAG,KAAK,GAAG,MAAM,CAAA;AAAA,CAAE,CAAA;AAChF;AACA;AACA;AACA;AACA;AACA;AACA,IAAA,EAAME,KAAA,IAAA;EAAA,IAAC;IAAER,WAAW;IAAEC,UAAU;AAAEC,IAAAA,MAAAA;AAAO,GAAC,GAAAM,KAAA,CAAA;EAAA,OACpCR,WAAW,GACPG,GAAI,CAAA;AACd,kDAAA,EAAoDD,MAAO,CAAA;AAC3D,UAAW,CAAA,GACDD,UAAU,GACVE,GAAI,CAAA;AACd,kDAAA,EAAoDD,MAAO,CAAA;AAC3D,UAAA,CAAW,GACDC,GAAI,CAAA;AACd,kDAAA,EAAoDD,MAAO,CAAA;AAC3D,UAAW,CAAA,CAAA;AAAA,CAAC,CAAA;AACZ;AACA;AACA;AACA,yBAAA,EAA2BO,KAAA,IAAA;EAAA,IAAC;AAAEH,IAAAA,WAAAA;AAAY,GAAC,GAAAG,KAAA,CAAA;AAAA,EAAA,OAAM,CAACH,WAAW,GAAG,MAAM,GAAG,MAAM,CAAA;AAAA,CAAE,CAAA;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAA,EAAMI,KAAA,IAAA;EAAA,IAAC;IAAEV,WAAW;IAAEC,UAAU;AAAEC,IAAAA,MAAAA;AAAO,GAAC,GAAAQ,KAAA,CAAA;EAAA,OACpCV,WAAW,GACPG,GAAI,CAAA;AACd,kDAAA,EAAoDD,MAAO,CAAA;AAC3D,UAAW,CAAA,GACDD,UAAU,GACVE,GAAI,CAAA;AACd,kDAAA,EAAoDD,MAAO,CAAA;AAC3D,UAAA,CAAW,GACDC,GAAI,CAAA;AACd,kDAAA,EAAoDD,MAAO,CAAA;AAC3D,UAAW,CAAA,CAAA;AAAA,CAAC,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAA,EAAMS,KAAA,IAAA;EAAA,IAAC;AAAEX,IAAAA,WAAAA;AAAY,GAAC,GAAAW,KAAA,CAAA;EAAA,OAChB,CAACX,WAAW,GACRG,GAAI,CAAA;AACd;AACA;AACA;AACA,UAAA,CAAW,GACD,EAAE,CAAA;AAAA,CAAC,CAAA;AACb;AACA;AACA,EAAA,EAAIS,KAAA,IAAA;EAAA,IAAC;IAAEZ,WAAW;AAAEa,IAAAA,eAAAA;AAAgB,GAAC,GAAAD,KAAA,CAAA;AAAA,EAAA,OACjCC,eAAe,IAAI,CAACb,WAAW,GAC3BG,GAAI,CAAA;AACZ;AACA;AACA;AACA,QAAA,CAAS,GACD,EAAE,CAAA;AAAA,CAAC,CAAA;AACX,CAAC;;;AC/ID,MAAMW,cAAc,GAAG,QAAQ,CAAA;AAC/B,MAAMC,SAAS,GAAG,gBAAgB,CAAA;;AAElC;AACA;AACA;AACA;AACA;AACO,MAAMC,MAA2C,gBAAGC,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;AAAA,EAAA,IAAAC,WAAA,EAAAC,WAAA,EAAAtB,IAAA,CAAA;AACpF,EAAA,MAAMuB,UAAU,GAAGC,UAAU,CAACC,kBAAkB,CAAC,CAAA;EAEjD,MAAM;IAAEC,cAAc;AAAEC,IAAAA,UAAAA;AAAW,GAAC,GAAGC,wBAAwB,CAACT,KAAK,CAAC,CAAA;EAEtE,IAAI;AACF,MAAA,YAAY,EAAEU,SAAS;AACvB,MAAA,iBAAiB,EAAEC,cAAc;MACjCC,SAAS;MACTC,QAAQ;MACRC,SAAS;MACTC,eAAe;MACfC,UAAU;MACVC,QAAQ;AACRC,MAAAA,SAAS,GAAG,IAAI;MAChBC,UAAU;MACVC,SAAS;MACTC,UAAU;MACVC,UAAU;AACVC,MAAAA,UAAU,EAAEC,eAAe;MAC3BC,IAAI;MACJC,QAAQ;AACRC,MAAAA,KAAK,EAAEC,UAAU;AACjBC,MAAAA,KAAAA;AAEF,KAAC,GAAGrB,UAAU;AADTsB,IAAAA,cAAc,GAAAC,wBAAA,CACfvB,UAAU,EAAAwB,SAAA,CAAA,CAAA;AAEd,EAAA,MAAML,KAAK,GAAGM,QAAQ,CAACL,UAAU,CAAC,CAAA;EAElC,MAAM;IAAEM,cAAc;AAAEC,IAAAA,UAAAA;GAAY,GAAGC,YAAY,CAAC;AAAExB,IAAAA,SAAAA;AAAU,GAAC,CAAC,CAAA;AAClEO,EAAAA,UAAU,GAAAjB,CAAAA,WAAA,GAAGiB,UAAU,cAAAjB,WAAA,KAAA,KAAA,CAAA,GAAAA,WAAA,GAAIE,UAAU,KAAVA,IAAAA,IAAAA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEe,UAAU,CAAA;AACjDE,EAAAA,UAAU,GAAAlB,CAAAA,WAAA,GAAGkB,UAAU,cAAAlB,WAAA,KAAA,KAAA,CAAA,GAAAA,WAAA,GAAIC,UAAU,KAAVA,IAAAA,IAAAA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEiB,UAAU,CAAA;AAEjD,EAAA,MAAM,CAACE,UAAU,EAAEc,WAAW,CAAC,GAAGC,QAAQ,CACxCC,OAAO,CAAA,CAAA1D,IAAA,GAAC2C,eAAe,KAAfA,IAAAA,IAAAA,eAAe,cAAfA,eAAe,GAAIT,eAAe,MAAA,IAAA,IAAAlC,IAAA,KAAAA,KAAAA,CAAAA,GAAAA,IAAA,GAAIuB,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAEyB,KAAK,CAACW,QAAQ,CAACX,KAAe,CAAC,CAC3F,CAAC,CAAA;EACD,MAAMY,YAAY,GAAGjB,eAAe,KAAK,IAAI,IAAIA,eAAe,KAAKkB,SAAS,CAAA;AAE9EC,EAAAA,SAAS,CAAC,MAAM;IACdN,WAAW,CAACE,OAAO,CAACf,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,KAAA,CAAA,GAAfA,eAAe,GAAIT,eAAe,CAAC,CAAC,CAAA;AAC1D,GAAC,EAAE,CAACS,eAAe,EAAET,eAAe,CAAC,CAAC,CAAA;AAEtC4B,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAIvC,UAAU,EAAE;MACdiC,WAAW,CAACjC,UAAU,CAACyB,KAAK,CAACW,QAAQ,CAACX,KAAe,CAAC,CAAC,CAAA;AACzD,KAAA;GACD,EAAE,CAACzB,UAAU,KAAVA,IAAAA,IAAAA,UAAU,uBAAVA,UAAU,CAAEyB,KAAK,CAAC,CAAC,CAAA;EAEvBe,4BAA4B,CAAC5C,KAAK,EAA6B,CAACa,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAA;AAEpF,EAAA,IAAIT,UAAU,EAAE;IACd,IAAIoB,eAAe,IAAI,IAAI,EAAE;AAC3BqB,MAAAA,OAAO,CAACC,IAAI,CACV,kKACF,CAAC,CAAA;AACH,KAAA;IACA,IAAI/B,eAAe,IAAI,IAAI,EAAE;AAC3B8B,MAAAA,OAAO,CAACC,IAAI,CACV,uKACF,CAAC,CAAA;AACH,KAAA;AACA,IAAA,IAAI9C,KAAK,CAAC6B,KAAK,IAAI,IAAI,EAAE;AACvBgB,MAAAA,OAAO,CAACC,IAAI,CACV,0GACF,CAAC,CAAA;AACH,KAAA;AACF,GAAA;AAEA,EAAA,MAAMC,YAAY,GAAGC,WAAW,CAC7BC,KAA0C,IAAK;IAC9C,IAAI9B,UAAU,IAAIE,UAAU,EAAE;AAC5B,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,IAAIjB,UAAU,EAAE;MACd,IAAI,CAACA,UAAU,CAACyB,KAAK,CAACW,QAAQ,CAACX,KAAe,CAAC,EAAE;AAC/CzB,QAAAA,UAAU,CAAC8C,QAAQ,CAACrB,KAAe,CAAC,CAAA;AACtC,OAAC,MAAM;AACLzB,QAAAA,UAAU,CAAC+C,WAAW,CAACtB,KAAe,CAAC,CAAA;AACzC,OAAA;AACF,KAAA;AAEA,IAAA,IAAIY,YAAY,EAAE;AAChBf,MAAAA,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAG,CAACF,eAAe,EAAEK,KAAK,EAAEJ,IAAI,EAAEwB,KAAK,EAAE7C,UAAW,CAAC,CAAA;AAC/D,KAAC,MAAM;MACLiC,WAAW,CAAC,CAACd,UAAU,CAAC,CAAA;AACxBG,MAAAA,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAG,CAACH,UAAU,EAAEM,KAAK,EAAEJ,IAAI,EAAEwB,KAAK,EAAE7C,UAAW,CAAC,CAAA;AAC1D,KAAA;GACD,EACD,CAACsB,QAAQ,EAAEtB,UAAU,EAAEmB,UAAU,EAAEC,eAAe,CACpD,CAAC,CAAA;EAED,oBACE4B,cAAA,CAAAC,aAAA,CAAC5E,YAAY,EAAA6E,QAAA,CAAA,EAAA,EACPxB,cAAc,EACdvB,cAAc,EAAA;AAClBpB,IAAAA,UAAU,EAAE+B,SAAU;AACtBpC,IAAAA,WAAW,EAAEqC,UAAW;AACxBxB,IAAAA,eAAe,EAAEuC,cAAe;IAChCnD,UAAU,EAAEqC,SAAS,IAAKE,UAAU,IAAI,EAAEC,UAAU,IAAKkB,YAAY,IAAIjB,eAAgB,CAAG;AAC5F+B,IAAAA,WAAW,EAAEjC,UAAW;AACxBlC,IAAAA,WAAW,EAAEmC,UAAU,IAAKkB,YAAY,IAAIjB,eAAiB;AAC7DxC,IAAAA,MAAM,EAAE2C,KAAM;IACdb,SAAS,EAAE0C,UAAU,CAAC1D,MAAM,CAACgB,SAAS,EAAEA,SAAS,CAAE;AACnDb,IAAAA,GAAG,EAAEA,GAAAA;GAELmD,CAAAA,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKvC,IAAAA,SAAS,EAAG,CAAA,EAAEhB,MAAM,CAACgB,SAAU,CAAA,OAAA,CAAA;GAClCsC,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKvC,IAAAA,SAAS,EAAG,CAAA,EAAEhB,MAAM,CAACgB,SAAU,CAAA,aAAA,CAAA;AAAe,GAAE,CAAC,eACtDsC,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKvC,IAAAA,SAAS,EAAG,CAAA,EAAEhB,MAAM,CAACgB,SAAU,CAAA,oBAAA,CAAA;GAClCsC,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKvC,IAAAA,SAAS,EAAG,CAAA,EAAEhB,MAAM,CAACgB,SAAU,CAAA,8BAAA,CAAA;AAAgC,GAAE,CAAC,eACvEsC,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKvC,IAAAA,SAAS,EAAG,CAAA,EAAEhB,MAAM,CAACgB,SAAU,CAAA,yBAAA,CAAA;GAA6B,CAC9D,CACF,CAAC,EACLD,QAAQ,gBAAGuC,cAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMvC,IAAAA,SAAS,EAAC,OAAA;AAAO,GAAA,EAAED,QAAe,CAAC,GAAG,IAAI,eAC5DuC,cAAA,CAAAC,aAAA,CAAAC,OAAAA,EAAAA,QAAA,CACMtC,EAAAA,EAAAA,UAAU,EACVmB,UAAU,EAAA;IACd,cAAcZ,EAAAA,UAAU,IAAKkB,YAAY,IAAIjB,eAAgB,GAAG,MAAM,GAAG,OAAQ;AACjF,IAAA,eAAA,EAAeL,UAAW;IAC1B,cAAcC,EAAAA,SAAS,IAAKE,UAAU,IAAI,EAAEC,UAAU,IAAKkB,YAAY,IAAIjB,eAAgB,CAAG;AAC9F,IAAA,YAAA,EAAYd,SAAU;AACtB,IAAA,iBAAA,EAAiBC,cAAe;AAChC,IAAA,eAAA,EAAeU,UAAW;AAC1B,IAAA,eAAA,EAAeC,UAAW;AAC1BV,IAAAA,SAAS,EAAEA,SAAU;IACrB6C,OAAO,EAAElC,UAAU,IAAKkB,YAAY,IAAIjB,eAAgB,GAAG,IAAI,GAAG,KAAM;AACxEkC,IAAAA,QAAQ,EAAEvC,UAAW;AACrBM,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,QAAQ,EAAEqB,YAAa;AACvB9C,IAAAA,GAAG,EAAEgB,QAA+C;AACpD0C,IAAAA,IAAI,EAAC,QAAQ;AACbC,IAAAA,IAAI,EAAC,UAAU;AACf/B,IAAAA,KAAK,EAAEA,KAAAA;AAAM,GAAA,CACd,CACW,CAAC,CAAA;AAEnB,CAAC,EAAC;AACF/B,MAAM,CAACgB,SAAS,GAAGjB,SAAS,CAAA;AAC5BC,MAAM,CAAC+D,WAAW,GAAGjE,cAAc;;;;"}
|
package/_internal/SwitchGroup.js
CHANGED
|
@@ -3,7 +3,8 @@ import React__default, { forwardRef, useState, useEffect } from 'react';
|
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import { S as SwitchGroupContext } from './context5.js';
|
|
5
5
|
import styled, { css } from 'styled-components';
|
|
6
|
-
import { i as baseStyling } from './
|
|
6
|
+
import { i as baseStyling } from './styles5.js';
|
|
7
|
+
import { f as getStylingTransientProps } from './styles.js';
|
|
7
8
|
import { C as ColorPalette } from './colors.js';
|
|
8
9
|
import { u as useTheme, a as ThemeProvider } from './useTheme.js';
|
|
9
10
|
|
|
@@ -104,6 +105,10 @@ const CLASSNAME = 'redsift-switch-group';
|
|
|
104
105
|
* Can be used as controlled or uncontrolled.
|
|
105
106
|
*/
|
|
106
107
|
const SwitchGroup = /*#__PURE__*/forwardRef((props, ref) => {
|
|
108
|
+
const {
|
|
109
|
+
transientProps,
|
|
110
|
+
otherProps
|
|
111
|
+
} = getStylingTransientProps(props);
|
|
107
112
|
const {
|
|
108
113
|
children,
|
|
109
114
|
className,
|
|
@@ -119,8 +124,8 @@ const SwitchGroup = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
119
124
|
orientation = SwitchGroupOrientation.vertical,
|
|
120
125
|
theme: propsTheme,
|
|
121
126
|
value
|
|
122
|
-
} =
|
|
123
|
-
forwardedProps = _objectWithoutProperties(
|
|
127
|
+
} = otherProps,
|
|
128
|
+
forwardedProps = _objectWithoutProperties(otherProps, _excluded);
|
|
124
129
|
const theme = useTheme(propsTheme);
|
|
125
130
|
const [selectedValues, setValue] = useState(value || defaultValues || []);
|
|
126
131
|
useEffect(() => {
|
|
@@ -161,7 +166,7 @@ const SwitchGroup = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
161
166
|
}
|
|
162
167
|
}, /*#__PURE__*/React__default.createElement(StyledSwitchGroup, _extends({
|
|
163
168
|
color: color
|
|
164
|
-
}, forwardedProps, {
|
|
169
|
+
}, forwardedProps, transientProps, {
|
|
165
170
|
$isDisabled: isDisabled,
|
|
166
171
|
$isInvalid: isInvalid || isRequired && selectedValues.length === 0,
|
|
167
172
|
$isReadOnly: isReadOnly,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SwitchGroup.js","sources":["../../src/components/switch-group/types.ts","../../src/components/switch-group/styles.ts","../../src/components/switch-group/SwitchGroup.tsx"],"sourcesContent":["import { ComponentProps } from 'react';\nimport { ValueOf, StylingProps, Theme } from '../../types';\n\n/**\n * Context props.\n */\nexport type SwitchGroupState = {\n /** Adds a value to the set of selected values. */\n addValue(value: string): void;\n /** Whether the switch group is disabled or not. */\n readonly isDisabled: boolean;\n /** Whether the switch group is read only or not. */\n readonly isReadOnly: boolean;\n /** Removes a value from the set of selected values. */\n removeValue(value: string): void;\n /** Sets the selected values. */\n setValue(value: string[]): void;\n /** Current selected values. */\n readonly value: readonly string[];\n};\n\n/**\n * Component orientation.\n */\nexport const SwitchGroupOrientation = {\n horizontal: 'horizontal',\n vertical: 'vertical',\n} as const;\nexport type SwitchGroupOrientation = ValueOf<typeof SwitchGroupOrientation>;\n\n/**\n * Component props.\n */\nexport interface SwitchGroupProps extends Omit<ComponentProps<'div'>, 'onChange'>, StylingProps {\n /**\n * Default selected values.\n * Used for uncontrolled version.\n */\n defaultValues?: string[];\n /** Description of the switch group. */\n description?: string;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Whether the component is invalid or not. */\n isInvalid?: boolean;\n /** Whether the component is read only or not. */\n isReadOnly?: boolean;\n /** Whether the component is required or not. */\n isRequired?: boolean;\n /** Label of the switch group. */\n label?: string;\n /** Method to handle component change. */\n onChange?(values: string[]): void;\n /** Method to handle component change. */\n orientation?: SwitchGroupOrientation;\n /** Theme. */\n theme?: Theme;\n /**\n * Currently selected values.\n * Used for controlled version.\n */\n value?: string[];\n}\n\nexport type StyledSwitchGroupProps = Omit<\n SwitchGroupProps,\n 'isDisabled' | 'isInvalid' | 'isReadOnly' | 'orientation' | 'isRequired'\n> & {\n $isDisabled: SwitchGroupProps['isDisabled'];\n $isInvalid: SwitchGroupProps['isInvalid'];\n $isReadOnly: SwitchGroupProps['isReadOnly'];\n $orientation: SwitchGroupProps['orientation'];\n $theme: SwitchGroupProps['theme'];\n};\n","import styled, { css } from 'styled-components';\nimport { baseStyling } from '../shared';\nimport { SwitchGroupOrientation, StyledSwitchGroupProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledSwitchGroup = styled.div<StyledSwitchGroupProps>`\n ${baseStyling}\n\n display: flex;\n flex-direction: column;\n\n ${({ $orientation }) =>\n $orientation === SwitchGroupOrientation.vertical\n ? `\n div.redsift-switch-group-switches {\n display: flex;\n flex-direction: column;\n }\n `\n : `\n div.redsift-switch-group-switches {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n }\n `}\n\n span.redsift-switch-group-label {\n font-family: var(--redsift-typography-body-font-family);\n font-weight: var(--redsift-typography-body-font-weight);\n font-size: var(--redsift-typography-body-font-size);\n line-height: var(--redsift-typography-body-line-height);\n\n ${({ $isDisabled, $isInvalid, $theme }) =>\n $isDisabled\n ? css`\n color: var(--redsift-color-${$theme}-components-checkbox-text-disabled);\n `\n : $isInvalid\n ? css`\n color: var(--redsift-color-${$theme}-components-checkbox-text-invalid);\n `\n : css`\n color: var(--redsift-color-${$theme}-components-checkbox-text-default);\n `}\n }\n\n span.redsift-switch-group-description {\n font-family: var(--redsift-typography-helper-font-family);\n font-weight: var(--redsift-typography-helper-font-weight);\n font-size: var(--redsift-typography-helper-font-size);\n line-height: var(--redsift-typography-helper-line-height);\n\n ${({ $isDisabled, $isInvalid, $theme }) =>\n $isDisabled\n ? css`\n color: var(--redsift-color-${$theme}-components-checkbox-text-disabled);\n `\n : $isInvalid\n ? css`\n color: var(--redsift-color-${$theme}-components-checkbox-text-invalid);\n `\n : css`\n color: var(--redsift-color-${$theme}-components-checkbox-text-default);\n `}\n }\n`;\n","import React, { forwardRef, RefObject, useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport { Comp, ColorPalette } from '../../types';\nimport { SwitchGroupOrientation, SwitchGroupProps } from './types';\nimport { SwitchGroupContext } from './context';\nimport { StyledSwitchGroup } from './styles';\nimport { ThemeProvider, useTheme } from '../theme';\n\nconst COMPONENT_NAME = 'SwitchGroup';\nconst CLASSNAME = 'redsift-switch-group';\n\n/**\n * The SwitchGroup component.\n * Can be used as controlled or uncontrolled.\n */\nexport const SwitchGroup: Comp<SwitchGroupProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n children,\n className,\n color = ColorPalette.primary,\n defaultValues,\n description,\n isDisabled,\n isInvalid,\n isReadOnly,\n isRequired,\n label,\n onChange,\n orientation = SwitchGroupOrientation.vertical,\n theme: propsTheme,\n value,\n ...forwardedProps\n } = props;\n\n const theme = useTheme(propsTheme);\n\n const [selectedValues, setValue] = useState<string[]>(value || defaultValues || []);\n useEffect(() => {\n if (value) {\n state.setValue(value);\n }\n }, [value]);\n\n const state = {\n value: selectedValues,\n isDisabled: isDisabled || false,\n isReadOnly: isReadOnly || false,\n setValue(values: string[]) {\n if (isReadOnly || isDisabled) {\n return;\n }\n\n setValue(values);\n },\n addValue(value: string) {\n if (!selectedValues.includes(value)) {\n setValue(selectedValues.concat(value));\n if (onChange) {\n onChange(selectedValues.concat(value));\n }\n }\n },\n removeValue(value: string) {\n if (selectedValues.includes(value)) {\n setValue(selectedValues.filter((existingValue) => existingValue !== value));\n if (onChange) {\n onChange(selectedValues.filter((existingValue) => existingValue !== value));\n }\n }\n },\n };\n\n return (\n <ThemeProvider value={{ theme }}>\n <StyledSwitchGroup\n color={color}\n {...forwardedProps}\n $isDisabled={isDisabled}\n $isInvalid={isInvalid || (isRequired && selectedValues.length === 0)}\n $isReadOnly={isReadOnly}\n $orientation={orientation}\n $theme={theme}\n aria-disabled={isDisabled}\n className={classNames(SwitchGroup.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n role=\"group\"\n >\n <span className={`${SwitchGroup.className}-label`}>\n {label}\n {isRequired ? ' *' : null}\n </span>\n <div className={`${SwitchGroup.className}-switches`}>\n <SwitchGroupContext.Provider value={state}>{children}</SwitchGroupContext.Provider>\n </div>\n <span className={`${SwitchGroup.className}-description`}>{description}</span>\n </StyledSwitchGroup>\n </ThemeProvider>\n );\n});\nSwitchGroup.className = CLASSNAME;\nSwitchGroup.displayName = COMPONENT_NAME;\n"],"names":["SwitchGroupOrientation","horizontal","vertical","StyledSwitchGroup","styled","div","baseStyling","_ref","$orientation","_ref2","$isDisabled","$isInvalid","$theme","css","_ref3","COMPONENT_NAME","CLASSNAME","SwitchGroup","forwardRef","props","ref","children","className","color","ColorPalette","primary","defaultValues","description","isDisabled","isInvalid","isReadOnly","isRequired","label","onChange","orientation","theme","propsTheme","value","forwardedProps","_objectWithoutProperties","_excluded","useTheme","selectedValues","setValue","useState","useEffect","state","values","addValue","includes","concat","removeValue","filter","existingValue","React","createElement","ThemeProvider","_extends","length","$isReadOnly","classNames","role","SwitchGroupContext","Provider","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SwitchGroup.js","sources":["../../src/components/switch-group/types.ts","../../src/components/switch-group/styles.ts","../../src/components/switch-group/SwitchGroup.tsx"],"sourcesContent":["import { ComponentProps } from 'react';\nimport { ValueOf, StylingProps, StylingTransientProps, Theme } from '../../types';\n\n/**\n * Context props.\n */\nexport type SwitchGroupState = {\n /** Adds a value to the set of selected values. */\n addValue(value: string): void;\n /** Whether the switch group is disabled or not. */\n readonly isDisabled: boolean;\n /** Whether the switch group is read only or not. */\n readonly isReadOnly: boolean;\n /** Removes a value from the set of selected values. */\n removeValue(value: string): void;\n /** Sets the selected values. */\n setValue(value: string[]): void;\n /** Current selected values. */\n readonly value: readonly string[];\n};\n\n/**\n * Component orientation.\n */\nexport const SwitchGroupOrientation = {\n horizontal: 'horizontal',\n vertical: 'vertical',\n} as const;\nexport type SwitchGroupOrientation = ValueOf<typeof SwitchGroupOrientation>;\n\n/**\n * Component props.\n */\nexport interface SwitchGroupProps extends Omit<ComponentProps<'div'>, 'onChange'>, StylingProps {\n /**\n * Default selected values.\n * Used for uncontrolled version.\n */\n defaultValues?: string[];\n /** Description of the switch group. */\n description?: string;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Whether the component is invalid or not. */\n isInvalid?: boolean;\n /** Whether the component is read only or not. */\n isReadOnly?: boolean;\n /** Whether the component is required or not. */\n isRequired?: boolean;\n /** Label of the switch group. */\n label?: string;\n /** Method to handle component change. */\n onChange?(values: string[]): void;\n /** Method to handle component change. */\n orientation?: SwitchGroupOrientation;\n /** Theme. */\n theme?: Theme;\n /**\n * Currently selected values.\n * Used for controlled version.\n */\n value?: string[];\n}\n\nexport interface StyledSwitchGroupProps extends ComponentProps<'div'>, StylingTransientProps {\n $isDisabled: SwitchGroupProps['isDisabled'];\n $isInvalid: SwitchGroupProps['isInvalid'];\n $isReadOnly: SwitchGroupProps['isReadOnly'];\n $orientation: SwitchGroupProps['orientation'];\n $theme: SwitchGroupProps['theme'];\n}\n","import styled, { css } from 'styled-components';\nimport { baseStyling } from '../shared';\nimport { SwitchGroupOrientation, StyledSwitchGroupProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledSwitchGroup = styled.div<StyledSwitchGroupProps>`\n ${baseStyling}\n\n display: flex;\n flex-direction: column;\n\n ${({ $orientation }) =>\n $orientation === SwitchGroupOrientation.vertical\n ? `\n div.redsift-switch-group-switches {\n display: flex;\n flex-direction: column;\n }\n `\n : `\n div.redsift-switch-group-switches {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n }\n `}\n\n span.redsift-switch-group-label {\n font-family: var(--redsift-typography-body-font-family);\n font-weight: var(--redsift-typography-body-font-weight);\n font-size: var(--redsift-typography-body-font-size);\n line-height: var(--redsift-typography-body-line-height);\n\n ${({ $isDisabled, $isInvalid, $theme }) =>\n $isDisabled\n ? css`\n color: var(--redsift-color-${$theme}-components-checkbox-text-disabled);\n `\n : $isInvalid\n ? css`\n color: var(--redsift-color-${$theme}-components-checkbox-text-invalid);\n `\n : css`\n color: var(--redsift-color-${$theme}-components-checkbox-text-default);\n `}\n }\n\n span.redsift-switch-group-description {\n font-family: var(--redsift-typography-helper-font-family);\n font-weight: var(--redsift-typography-helper-font-weight);\n font-size: var(--redsift-typography-helper-font-size);\n line-height: var(--redsift-typography-helper-line-height);\n\n ${({ $isDisabled, $isInvalid, $theme }) =>\n $isDisabled\n ? css`\n color: var(--redsift-color-${$theme}-components-checkbox-text-disabled);\n `\n : $isInvalid\n ? css`\n color: var(--redsift-color-${$theme}-components-checkbox-text-invalid);\n `\n : css`\n color: var(--redsift-color-${$theme}-components-checkbox-text-default);\n `}\n }\n`;\n","import React, { forwardRef, RefObject, useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport { Comp, ColorPalette, getStylingTransientProps } from '../../types';\nimport { SwitchGroupOrientation, SwitchGroupProps } from './types';\nimport { SwitchGroupContext } from './context';\nimport { StyledSwitchGroup } from './styles';\nimport { ThemeProvider, useTheme } from '../theme';\n\nconst COMPONENT_NAME = 'SwitchGroup';\nconst CLASSNAME = 'redsift-switch-group';\n\n/**\n * The SwitchGroup component.\n * Can be used as controlled or uncontrolled.\n */\nexport const SwitchGroup: Comp<SwitchGroupProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { transientProps, otherProps } = getStylingTransientProps(props);\n\n const {\n children,\n className,\n color = ColorPalette.primary,\n defaultValues,\n description,\n isDisabled,\n isInvalid,\n isReadOnly,\n isRequired,\n label,\n onChange,\n orientation = SwitchGroupOrientation.vertical,\n theme: propsTheme,\n value,\n ...forwardedProps\n } = otherProps;\n\n const theme = useTheme(propsTheme);\n\n const [selectedValues, setValue] = useState<string[]>(value || defaultValues || []);\n useEffect(() => {\n if (value) {\n state.setValue(value);\n }\n }, [value]);\n\n const state = {\n value: selectedValues,\n isDisabled: isDisabled || false,\n isReadOnly: isReadOnly || false,\n setValue(values: string[]) {\n if (isReadOnly || isDisabled) {\n return;\n }\n\n setValue(values);\n },\n addValue(value: string) {\n if (!selectedValues.includes(value)) {\n setValue(selectedValues.concat(value));\n if (onChange) {\n onChange(selectedValues.concat(value));\n }\n }\n },\n removeValue(value: string) {\n if (selectedValues.includes(value)) {\n setValue(selectedValues.filter((existingValue) => existingValue !== value));\n if (onChange) {\n onChange(selectedValues.filter((existingValue) => existingValue !== value));\n }\n }\n },\n };\n\n return (\n <ThemeProvider value={{ theme }}>\n <StyledSwitchGroup\n color={color}\n {...forwardedProps}\n {...transientProps}\n $isDisabled={isDisabled}\n $isInvalid={isInvalid || (isRequired && selectedValues.length === 0)}\n $isReadOnly={isReadOnly}\n $orientation={orientation}\n $theme={theme}\n aria-disabled={isDisabled}\n className={classNames(SwitchGroup.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n role=\"group\"\n >\n <span className={`${SwitchGroup.className}-label`}>\n {label}\n {isRequired ? ' *' : null}\n </span>\n <div className={`${SwitchGroup.className}-switches`}>\n <SwitchGroupContext.Provider value={state}>{children}</SwitchGroupContext.Provider>\n </div>\n <span className={`${SwitchGroup.className}-description`}>{description}</span>\n </StyledSwitchGroup>\n </ThemeProvider>\n );\n});\nSwitchGroup.className = CLASSNAME;\nSwitchGroup.displayName = COMPONENT_NAME;\n"],"names":["SwitchGroupOrientation","horizontal","vertical","StyledSwitchGroup","styled","div","baseStyling","_ref","$orientation","_ref2","$isDisabled","$isInvalid","$theme","css","_ref3","COMPONENT_NAME","CLASSNAME","SwitchGroup","forwardRef","props","ref","transientProps","otherProps","getStylingTransientProps","children","className","color","ColorPalette","primary","defaultValues","description","isDisabled","isInvalid","isReadOnly","isRequired","label","onChange","orientation","theme","propsTheme","value","forwardedProps","_objectWithoutProperties","_excluded","useTheme","selectedValues","setValue","useState","useEffect","state","values","addValue","includes","concat","removeValue","filter","existingValue","React","createElement","ThemeProvider","_extends","length","$isReadOnly","classNames","role","SwitchGroupContext","Provider","displayName"],"mappings":"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"}
|
package/_internal/Text2.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { b as _objectWithoutProperties, c as _extends } from './_rollupPluginBabelHelpers.js';
|
|
2
2
|
import React__default, { forwardRef } from 'react';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
|
-
import { S as StyledText } from './
|
|
4
|
+
import { S as StyledText } from './styles6.js';
|
|
5
5
|
import { F as FontFamily } from './fonts.js';
|
|
6
|
+
import { f as getStylingTransientProps } from './styles.js';
|
|
6
7
|
import { u as useTheme } from './useTheme.js';
|
|
7
8
|
|
|
8
|
-
const _excluded = ["as", "children", "className", "color", "fontFamily", "fontSize", "fontWeight", "lineHeight", "noWrap", "theme", "variant"];
|
|
9
|
+
const _excluded = ["as", "children", "className", "color", "fontFamily", "fontSize", "fontWeight", "lineHeight", "noWrap", "theme", "variant", "wordBreak"];
|
|
9
10
|
const COMPONENT_NAME = 'Text';
|
|
10
11
|
const CLASSNAME = 'redsift-text';
|
|
11
12
|
|
|
@@ -13,6 +14,10 @@ const CLASSNAME = 'redsift-text';
|
|
|
13
14
|
* The Text component.
|
|
14
15
|
*/
|
|
15
16
|
const Text = /*#__PURE__*/forwardRef((props, ref) => {
|
|
17
|
+
const {
|
|
18
|
+
transientProps,
|
|
19
|
+
otherProps
|
|
20
|
+
} = getStylingTransientProps(props);
|
|
16
21
|
const {
|
|
17
22
|
as,
|
|
18
23
|
children,
|
|
@@ -24,13 +29,14 @@ const Text = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
24
29
|
lineHeight,
|
|
25
30
|
noWrap,
|
|
26
31
|
theme: propsTheme,
|
|
27
|
-
variant
|
|
28
|
-
|
|
29
|
-
|
|
32
|
+
variant,
|
|
33
|
+
wordBreak
|
|
34
|
+
} = otherProps,
|
|
35
|
+
forwardedProps = _objectWithoutProperties(otherProps, _excluded);
|
|
30
36
|
const theme = useTheme(propsTheme);
|
|
31
37
|
return /*#__PURE__*/React__default.createElement(StyledText, _extends({
|
|
32
38
|
as: as
|
|
33
|
-
}, forwardedProps, {
|
|
39
|
+
}, forwardedProps, transientProps, {
|
|
34
40
|
className: classNames(Text.className, className),
|
|
35
41
|
ref: ref,
|
|
36
42
|
$as: as,
|
|
@@ -40,6 +46,7 @@ const Text = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
40
46
|
$fontWeight: fontWeight,
|
|
41
47
|
$lineHeight: lineHeight,
|
|
42
48
|
$noWrap: noWrap,
|
|
49
|
+
$wordBreak: wordBreak,
|
|
43
50
|
$theme: theme,
|
|
44
51
|
$variant: variant
|
|
45
52
|
}), children);
|
package/_internal/Text2.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text2.js","sources":["../../src/components/text/Text.tsx"],"sourcesContent":["import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { Comp, FontFamily } from '../../types';\nimport { StyledText } from './styles';\nimport { TextProps } from './types';\nimport { useTheme } from '../theme';\n\nconst COMPONENT_NAME = 'Text';\nconst CLASSNAME = 'redsift-text';\n\n/**\n * The Text component.\n */\nexport const Text: Comp<TextProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n as,\n children,\n className,\n color,\n fontFamily = FontFamily.poppins,\n fontSize,\n fontWeight,\n lineHeight,\n noWrap,\n theme: propsTheme,\n variant,\n ...forwardedProps\n } =
|
|
1
|
+
{"version":3,"file":"Text2.js","sources":["../../src/components/text/Text.tsx"],"sourcesContent":["import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { Comp, FontFamily, getStylingTransientProps } from '../../types';\nimport { StyledText } from './styles';\nimport { TextProps } from './types';\nimport { useTheme } from '../theme';\n\nconst COMPONENT_NAME = 'Text';\nconst CLASSNAME = 'redsift-text';\n\n/**\n * The Text component.\n */\nexport const Text: Comp<TextProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { transientProps, otherProps } = getStylingTransientProps(props);\n\n const {\n as,\n children,\n className,\n color,\n fontFamily = FontFamily.poppins,\n fontSize,\n fontWeight,\n lineHeight,\n noWrap,\n theme: propsTheme,\n variant,\n wordBreak,\n ...forwardedProps\n } = otherProps;\n\n const theme = useTheme(propsTheme);\n\n return (\n <StyledText\n as={as}\n {...forwardedProps}\n {...transientProps}\n className={classNames(Text.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n $as={as}\n $color={color}\n $fontFamily={fontFamily}\n $fontSize={fontSize}\n $fontWeight={fontWeight}\n $lineHeight={lineHeight}\n $noWrap={noWrap}\n $wordBreak={wordBreak}\n $theme={theme}\n $variant={variant}\n >\n {children}\n </StyledText>\n );\n});\nText.className = CLASSNAME;\nText.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","Text","forwardRef","props","ref","transientProps","otherProps","getStylingTransientProps","as","children","className","color","fontFamily","FontFamily","poppins","fontSize","fontWeight","lineHeight","noWrap","theme","propsTheme","variant","wordBreak","forwardedProps","_objectWithoutProperties","_excluded","useTheme","React","createElement","StyledText","_extends","classNames","$as","$color","$fontFamily","$fontSize","$fontWeight","$lineHeight","$noWrap","$wordBreak","$theme","$variant","displayName"],"mappings":";;;;;;;;;AAOA,MAAMA,cAAc,GAAG,MAAM,CAAA;AAC7B,MAAMC,SAAS,GAAG,cAAc,CAAA;;AAEhC;AACA;AACA;AACO,MAAMC,IAAqC,gBAAGC,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;EAC9E,MAAM;IAAEC,cAAc;AAAEC,IAAAA,UAAAA;AAAW,GAAC,GAAGC,wBAAwB,CAACJ,KAAK,CAAC,CAAA;EAEtE,MAAM;MACJK,EAAE;MACFC,QAAQ;MACRC,SAAS;MACTC,KAAK;MACLC,UAAU,GAAGC,UAAU,CAACC,OAAO;MAC/BC,QAAQ;MACRC,UAAU;MACVC,UAAU;MACVC,MAAM;AACNC,MAAAA,KAAK,EAAEC,UAAU;MACjBC,OAAO;AACPC,MAAAA,SAAAA;AAEF,KAAC,GAAGhB,UAAU;AADTiB,IAAAA,cAAc,GAAAC,wBAAA,CACflB,UAAU,EAAAmB,SAAA,CAAA,CAAA;AAEd,EAAA,MAAMN,KAAK,GAAGO,QAAQ,CAACN,UAAU,CAAC,CAAA;AAElC,EAAA,oBACEO,cAAA,CAAAC,aAAA,CAACC,UAAU,EAAAC,QAAA,CAAA;AACTtB,IAAAA,EAAE,EAAEA,EAAAA;GACAe,EAAAA,cAAc,EACdlB,cAAc,EAAA;IAClBK,SAAS,EAAEqB,UAAU,CAAC9B,IAAI,CAACS,SAAS,EAAEA,SAAS,CAAE;AACjDN,IAAAA,GAAG,EAAEA,GAAiC;AACtC4B,IAAAA,GAAG,EAAExB,EAAG;AACRyB,IAAAA,MAAM,EAAEtB,KAAM;AACduB,IAAAA,WAAW,EAAEtB,UAAW;AACxBuB,IAAAA,SAAS,EAAEpB,QAAS;AACpBqB,IAAAA,WAAW,EAAEpB,UAAW;AACxBqB,IAAAA,WAAW,EAAEpB,UAAW;AACxBqB,IAAAA,OAAO,EAAEpB,MAAO;AAChBqB,IAAAA,UAAU,EAAEjB,SAAU;AACtBkB,IAAAA,MAAM,EAAErB,KAAM;AACdsB,IAAAA,QAAQ,EAAEpB,OAAAA;AAAQ,GAAA,CAAA,EAEjBZ,QACS,CAAC,CAAA;AAEjB,CAAC,EAAC;AACFR,IAAI,CAACS,SAAS,GAAGV,SAAS,CAAA;AAC1BC,IAAI,CAACyC,WAAW,GAAG3C,cAAc;;;;"}
|